Skip to main content

word predictor

Project description

wordpredict

This is a library that predicts words for ambiguous input.

Installation

pip install wordpredict

How to use

code

import pandas as pd
from wordpredict import WordPredict


corpus = pd.read_csv(
    "./unigram_freq.csv",
    header=0,
    keep_default_na=False,
).values
wp = WordPredict(corpus[:, 0], corpus[:, 1])

print("start user input")

input = ["e", "f", "g", "h"]
print(wp.update(input))
input = ["e", "f", "g", "h"]
print(wp.update(input))
input = ["i", "j", "k", "l"]
print(wp.update(input))

print("reset user input")
wp.reset()

input = ["e", "f", "g", "h"]
print(wp.update(input))
input = ["m", "n", "o", "p"]
print(wp.update(input))

output

start user input
['for', 'e', 'from', 'he', 'has', 'have']
['he', 'get', 'here', 'her', 'help', 'few']
['help', 'held', 'felt', 'hell', 'hello', 'helps']
reset user input
['for', 'e', 'from', 'he', 'has', 'have']
['for', 'home', 'go', 'how', 'good', 'end']

corpus

e.g., https://www.kaggle.com/datasets/rtatman/english-word-frequency

execution time

%%timeit

import pandas as pd
from wordpredict import WordPredict


corpus = pd.read_csv(
    "./unigram_freq.csv",
    header=0,
    keep_default_na=False,
).values
wp = WordPredict(corpus[:, 0], corpus[:, 1])

1.42 s ± 83.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%%timeit

input = ["e", "f", "g", "h"]
wp.update(input)
input = ["e", "f", "g", "h"]
wp.update(input)
input = ["i", "j", "k", "l"]
wp.update(input)

8.34 ms ± 315 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

note

autocomple was implemented with reference to https://doi.org/10.1145/3173574.3173755

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

wordpredict-0.2.0.tar.gz (2.4 kB view details)

Uploaded Source

Built Distribution

wordpredict-0.2.0-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file wordpredict-0.2.0.tar.gz.

File metadata

  • Download URL: wordpredict-0.2.0.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for wordpredict-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ee3eb2780959c6af2801d2cda47aa72b67129e11380cebb555bf9947dede3f27
MD5 26c82c8941418653f2130ec4c34a3e8b
BLAKE2b-256 1ae659d354badc3b8b6e53bbf945cc04a6c21da5dcce3f20d969c295e74786cb

See more details on using hashes here.

File details

Details for the file wordpredict-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: wordpredict-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for wordpredict-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b10d726ba99ec913c21321d69d5dda1ac734842c7bd3e1977748df43493e9f5
MD5 17b0b73e2333db0662475f25d37518ae
BLAKE2b-256 f7db4b37415b693835d417d5fb5dec83afd3ce1a249c8f4f558787790e0c441a

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