Sentence Similarity
sentence-transformers
Safetensors
bert
feature-extraction
compliance
nist-800-53
hipaa
cybersecurity
text-embeddings-inference
Instructions to use stetteh/regmap-embedder with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use stetteh/regmap-embedder with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("stetteh/regmap-embedder") sentences = [ "That is a happy person", "That is a happy dog", "That is a very happy person", "Today is a sunny day" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| base_model: sentence-transformers/all-MiniLM-L6-v2 | |
| library_name: sentence-transformers | |
| pipeline_tag: sentence-similarity | |
| tags: | |
| - sentence-transformers | |
| - sentence-similarity | |
| - feature-extraction | |
| - compliance | |
| - nist-800-53 | |
| - hipaa | |
| - cybersecurity | |
| # RegMap — NIST SP 800-53 → HIPAA Security Rule mapping model | |
| **RegMap** is a fine-tuned sentence-embedding model that maps a **NIST SP 800-53** security control | |
| to the most relevant **HIPAA Security Rule** provisions. Given a control description, it retrieves | |
| the HIPAA citations whose meaning is closest — helping compliance teams cross-walk a NIST-based | |
| control set onto HIPAA without manual, line-by-line mapping. | |
| - **Base model:** `sentence-transformers/all-MiniLM-L6-v2` (6-layer MiniLM, 384-dim embeddings) | |
| - **Fine-tuning:** `MultipleNegativesRankingLoss` on curated NIST↔HIPAA control/provision pairs | |
| - **Task:** semantic retrieval (embed a control, cosine-rank against the HIPAA corpus, return top-k) | |
| ## Where to get it | |
| - **Hugging Face:** `stetteh/regmap-embedder` — `SentenceTransformer("stetteh/regmap-embedder")` | |
| - **Docker (serving API):** `docker run -p 8080:8080 ghcr.io/samuelgtetteh/regmap-embedder:0.1` | |
| then `POST /map {"control": "..."}` → top-k HIPAA provisions | |
| - **GitHub Release:** `v0.1-regmap` — a self-contained archive (model + corpus + wrapper) | |
| ## Intended use — an *assistive* retriever, not an authoritative classifier | |
| RegMap returns the **top-k most similar HIPAA provisions** for a human to review and confirm. It is | |
| designed to accelerate an expert's mapping work, not to make a final compliance determination on its | |
| own. Always have a qualified person verify the suggested citations. | |
| ## How to use | |
| ### Quick start (bundled wrapper — includes the HIPAA corpus) | |
| ```bash | |
| pip install -r requirements.txt | |
| python example.py | |
| # or: | |
| python regmap_map.py "Enforce multi-factor authentication for remote access." | |
| ``` | |
| ```python | |
| from regmap_map import map_control | |
| for r in map_control("Employ integrity verification tools to detect unauthorized changes.", top_k=5): | |
| print(f"{r['score']:.3f} {r['hipaa_citation']}") | |
| ``` | |
| ### Use the raw embedder (sentence-transformers) | |
| ```python | |
| from sentence_transformers import SentenceTransformer, util | |
| m = SentenceTransformer("path/to/regmap-embedder") | |
| q = m.encode("The organization enforces multi-factor authentication for remote access.", | |
| convert_to_tensor=True, normalize_embeddings=True) | |
| # encode your HIPAA provision texts and cosine-rank against q | |
| ``` | |
| ## Evaluation | |
| Measured on a held-out set of positive NIST↔HIPAA pairs (small, domain-specific dataset): | |
| | Metric | Value | | |
| |---|---| | |
| | Recall@1 | 0.265 | | |
| | Recall@3 | 0.559 | | |
| | Recall@5 | 0.735 | | |
| | MRR | 0.463 | | |
| | Positive pairs | 222 | | |
| Read this as: the correct HIPAA provision is in the **top-5 about 74%** of the time — appropriate | |
| for a top-k assistive tool where a human confirms the result. Top-1 accuracy is modest (~26%), so it | |
| should **not** be used as a single-answer classifier. | |
| ## Training data | |
| Curated NIST SP 800-53 control texts paired with HIPAA Security Rule provisions (`hipaa_citation` + | |
| `hipaa_text`). The bundled `hipaa_corpus.csv` is the HIPAA provision corpus used for retrieval. | |
| ## Limitations | |
| - Small, HIPAA-specific training set → best treated as an assistive top-k retriever. | |
| - Covers the HIPAA Security Rule provisions in the bundled corpus; other frameworks (PCI, GDPR) | |
| are out of scope for this release. | |
| - Semantic similarity ≠ legal equivalence; a suggested citation still needs expert confirmation. | |
| ## License | |
| Apache-2.0 (inherited from the base model `all-MiniLM-L6-v2`). See `LICENSE`. | |
| ## Citation | |
| Tetteh, S. G. *RegMap: Semantic mapping of NIST SP 800-53 controls to HIPAA Security Rule | |
| provisions.* Jarvis College of Computing and Digital Media, DePaul University. | |
| If you use this model, please cite the RegMap work above. | |