Skip to main content

Protect your models from out of scope domains. Focus on what matters.

Project description

Domain Matcher

Domain Matcher is a library that aims at matching a pre-defined domain to your input data. Input without domain are deemed not important and thus can be safely filtered out.

Domain Matching performs very cheap OoD detection using topic modeling and keyword extraction.

pip install domain-matcher

Usage

from datasets import load_dataset
from domain_matcher.core import DomainMatcher, DMConfig

# Custom version of `clinc-oos` where non-banking classes are assigned to oos.
ds = load_dataset("GlowstickAI/banking-clinc-oos", "plus")
config = DMConfig(text_column='text', label_column='intent', oos_class='oos')
dmatcher = DomainMatcher(config)
# Fit DM on your train data see our blog to see what's happening!
dmatcher.fit(ds['train'])

# Predict: You can predict on a string, List[str] or Dataset
dmatcher.transform("Can you cancel my credit card?")['in_domain']
# >>> True
dmatcher.transform("Can you cancel my reservation at Giorgi's?")['in_domain']
# >>> False

Troubleshooting

For troubleshooting, please see our wiki or submit an issue if you can't find what you're looking for.

Development

  • Install Pyenv
    • curl https://pyenv.run | bash
    • pyenv install 3.9.13 && pyenv global 3.9.13
  • Install Poetry
  • poetry install
  • Add precommits
    • poetry run pre-commit install

Tooling

  • make format: format the code with Ruff
  • make test: run unit tests and mypy.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

domain_matcher-0.1.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

domain_matcher-0.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file domain_matcher-0.1.0.tar.gz.

File metadata

  • Download URL: domain_matcher-0.1.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.13 Linux/6.2.6-76060206-generic

File hashes

Hashes for domain_matcher-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d69b3ad6a9509fdfa39306b62c52f3e3be4a23859bd3bc69c738f570b449e603
MD5 d85636998cbf32a22d2cd8f01bcfbdf6
BLAKE2b-256 c9c0dd60a6b0b8d68bcfa00c60542ce54c4b67122c0bffd997c6bc836b233c11

See more details on using hashes here.

File details

Details for the file domain_matcher-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: domain_matcher-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.13 Linux/6.2.6-76060206-generic

File hashes

Hashes for domain_matcher-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32f5de070477ee750d30b5279a6fc7605e8ec10336147a210d85ba47d78492fe
MD5 93d61fe9efeb869bccff550d1030ea1b
BLAKE2b-256 7dfc87e26de639e18f22dba3a0a8c6f88e1df967de0b1f0ece512ef03e1e8d0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page