Skip to main content

Early intent detection using n-gram language models

Project description

Intent suggestions

Early user intent detection using n-gram models

The idea behind intent suggestions is similar to autofill when we use words that were typed to make predictions. But instead of predicting the next word, we try to detect the user's intent.

The proposed approach uses n recursively initialised models. Each next model uses a smaller n. I.e. a model initialised with n=3 will include three models (with n=3, n=2 and n=1) This recursive approach allows to also take into account frequency counts from smaller n-grams in case there is no match for the parent model.

Usage

from model import IntentSuggester

model = IntentSuggester()

items = ["one two three four", "five six seven eight"]
labels = ["intent_1", "intent_2"]

model.fit(items, labels)

print(model.predict("zero two three four"))

Output:

{'intent_1': 0.9902, 'intent_2': 0.0098}

Notation

According to the common notation, an n-gram language model uses n-1 words to predict the next word. Given that we are trying to predict a user's intent rather the next word, we'll use a slightly different notation. n in our case will represent the number of words used to predict intent probabilities. So a 3-gram (or trigram) model will use three words to make predictions.

References

The approach was insipred by this work

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

intent_suggestions-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

intent_suggestions-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: intent_suggestions-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for intent_suggestions-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e538cc08b4d835ab9366485dccdbfeac6b6c40bde21fb44c8a1ed38649f68bb
MD5 da76389edaa9549d382bebe2398a4e47
BLAKE2b-256 e15711f79fb1c0be967ab303e63906971b469b76a3f6734c47b2d7939d068ec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for intent_suggestions-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccacc173aaeaeb10470a85029976442ece2cf37f0fdfda317cd546d282b2ff54
MD5 fab6169407cd037e251970835c92d210
BLAKE2b-256 f845d519f317fd1588f639236c0cfd8b46809a941ec771e858bd9beb71647ae9

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