pythainlp 5.0.0.dev1__tar.gz → 5.0.0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pythainlp-5.0.0.dev1/pythainlp.egg-info → pythainlp-5.0.0.dev2}/PKG-INFO +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/README.md +14 -9
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/__init__.py +2 -2
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/__main__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ancient/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ancient/aksonhan.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/lm/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/lm/fasttext.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/lm/phayathaibert.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/lm/wangchanberta.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/word2vec/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/word2vec/bpemb_wv.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/word2vec/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/word2vec/ltw2v.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/word2vec/thai2fit.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/augment/wordnet.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/benchmarks/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/benchmarks/word_tokenization.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/chat/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/chat/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/classify/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/classify/param_free.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/benchmark.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/data.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/soundex.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/tag.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cli/tokenize.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/cls/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/coref/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/coref/_fastcoref.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/coref/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/coref/han_coref.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/common.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/conceptnet.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/icu.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/oscar.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/th_en_translit.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/tnc.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/ttc.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/util.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/volubilis.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/wikipedia.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/corpus/wordnet.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/el/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/el/_multiel.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/el/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/generate/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/generate/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/generate/thai2fit.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/generate/wangchanglm.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/khavee/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/khavee/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/khavee/example.py +1 -1
- pythainlp-5.0.0.dev2/pythainlp/morpheme/__init__.py +13 -0
- {pythainlp-5.0.0.dev1/pythainlp/util → pythainlp-5.0.0.dev2/pythainlp/morpheme}/thaiwordcheck.py +3 -2
- pythainlp-5.0.0.dev2/pythainlp/morpheme/word_formation.py +56 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/phayathaibert/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/phayathaibert/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/lk82.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/metasound.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/prayut_and_somchaip.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/sound.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/soundex/udom83.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/phunspell.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/symspellpy.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/tltk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/wanchanberta_thai_grammarly.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/summarize/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/summarize/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/summarize/freq.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/summarize/keybert.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/summarize/mt5.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/_tag_perceptron.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/blackboard.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/chunk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/crfchunk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/locations.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/named_entity.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/orchid.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/perceptron.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/pos_tag.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/thai_nner.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/thainer.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/tltk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/unigram.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tag/wangchanberta_onnx.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/_utils.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/attacut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/crfcls.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/crfcut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/deepcut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/etcc.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/han_solo.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/longest.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/multi_cut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/nercut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/newmm.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/nlpo3.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/oskut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/pyicu.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/sefr_cut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/ssg.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/tcc.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/tcc_p.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/thaisumcut.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/tltk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tokenize/wtsplit.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tools/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tools/misspell.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/tools/path.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/en_th.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/th_fr.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/zh_th.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/ipa.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/iso_11940.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/lookup.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/pyicu.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/royin.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/spoonerism.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/thai2rom.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/thai2rom_onnx.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/thaig2p.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/tltk.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/w2p.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/transliterate/wunsen.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ulmfit/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ulmfit/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ulmfit/preprocess.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/ulmfit/tokenizer.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/abbreviation.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/collate.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/date.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/digitconv.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/emojiconv.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/encoding.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/keyboard.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/keywords.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/morse.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/normalize.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/numtoword.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/phoneme.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/pronounce.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/remove_trailing_repeat_consonants.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/spell_words.py +2 -2
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/strftime.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/syllable.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/thai.py +1 -1
- pythainlp-5.0.0.dev2/pythainlp/util/thaiwordcheck.py +15 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/time.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/trie.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/util/wordtonum.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/wangchanberta/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/wangchanberta/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/word_vector/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/word_vector/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/wsd/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/wsd/core.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2/pythainlp.egg-info}/PKG-INFO +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/SOURCES.txt +4 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/setup.cfg +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/setup.py +2 -2
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/__init__.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_ancient.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_augment.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_benchmarks.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_classify.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_cli.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_coref.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_corpus.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_el.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_generate.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_khavee.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_misspell.py +1 -1
- pythainlp-5.0.0.dev2/tests/test_morpheme.py +37 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_parse.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_soundex.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_spell.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_summarize.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_tag.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_tokenize.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_tools.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_util.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_wsd.py +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/CONTRIBUTING.md +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/LICENSE +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/MANIFEST.in +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/README_TH.md +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pyproject.toml +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/esupar_engine.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/spacy_thai_engine.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/transformers_ud.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/parse/ud_goeswith.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/spell/pn.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/small100.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp/translate/tokenization_small100.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/dependency_links.txt +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/entry_points.txt +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/not-zip-safe +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/requires.txt +1 -1
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/pythainlp.egg-info/top_level.txt +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/data/eval-details-input.json +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/data/eval-input.yml +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/data/input.txt +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/data/sentences.yml +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/data/test.txt +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_translate.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_transliterate.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_ulmfit.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_wangchanberta.py +0 -0
- {pythainlp-5.0.0.dev1 → pythainlp-5.0.0.dev2}/tests/test_word_vector.py +0 -0
|
@@ -29,7 +29,7 @@ PyThaiNLP เป็นไลบารีภาษาไพทอนสำหร
|
|
|
29
29
|
|
|
30
30
|
## Getting Started
|
|
31
31
|
|
|
32
|
-
- PyThaiNLP 2 requires Python 3.
|
|
32
|
+
- PyThaiNLP 2 requires Python 3.7+. Python 2.7 users can use PyThaiNLP 1.6. See [2.0 change log](https://github.com/PyThaiNLP/pythainlp/issues/118) | [Upgrading from 1.7](https://pythainlp.github.io/docs/2.0/notes/pythainlp-1_7-2_0.html) | [Upgrading ThaiNER from 1.7](https://github.com/PyThaiNLP/pythainlp/wiki/Upgrade-ThaiNER-from-PyThaiNLP-1.7-to-PyThaiNLP-2.0)
|
|
33
33
|
- [PyThaiNLP Get Started notebook](https://pythainlp.github.io/tutorials/notebooks/pythainlp_get_started.html) | [API document](https://pythainlp.github.io/docs) | [Tutorials](https://pythainlp.github.io/tutorials)
|
|
34
34
|
- [Official website](https://pythainlp.github.io/) | [PyPI](https://pypi.org/project/pythainlp/) | [Facebook page](https://www.facebook.com/pythainlp/)
|
|
35
35
|
- [Who uses PyThaiNLP?](https://github.com/PyThaiNLP/pythainlp/blob/dev/INTHEWILD.md)
|
|
@@ -148,13 +148,18 @@ or by BibTeX entry:
|
|
|
148
148
|
|
|
149
149
|
``` bib
|
|
150
150
|
@misc{pythainlp,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
title = "{P}y{T}hai{NLP}: {T}hai Natural Language Processing in {P}ython",
|
|
152
|
+
author = "Phatthiyaphaibun, Wannaphong and
|
|
153
|
+
Chaovavanich, Korakot and
|
|
154
|
+
Polpanumas, Charin and
|
|
155
|
+
Suriyawongkul, Arthit and
|
|
156
|
+
Lowphansirikul, Lalita and
|
|
157
|
+
Chormai, Pattarawat",
|
|
158
|
+
month = jun,
|
|
159
|
+
year = "2016",
|
|
160
|
+
doi = {10.5281/zenodo.3519354},
|
|
161
|
+
publisher = {Zenodo},
|
|
162
|
+
url = {http://doi.org/10.5281/zenodo.3519354}
|
|
158
163
|
}
|
|
159
164
|
```
|
|
160
165
|
|
|
@@ -166,7 +171,7 @@ and its BibTeX entry:
|
|
|
166
171
|
|
|
167
172
|
```bib
|
|
168
173
|
@inproceedings{phatthiyaphaibun-etal-2023-pythainlp,
|
|
169
|
-
title = "{P}y{T}hai{NLP}: {T}hai Natural Language Processing in
|
|
174
|
+
title = "{P}y{T}hai{NLP}: {T}hai Natural Language Processing in {P}ython",
|
|
170
175
|
author = "Phatthiyaphaibun, Wannaphong and
|
|
171
176
|
Chaovavanich, Korakot and
|
|
172
177
|
Polpanumas, Charin and
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
__version__ = "5.0.
|
|
4
|
+
__version__ = "5.0.0dev2"
|
|
5
5
|
|
|
6
6
|
thai_consonants = "กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ" # 44 chars
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
from pythainlp.util import Trie
|
|
5
5
|
from pythainlp import thai_consonants, thai_tonemarks
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
from typing import List, Tuple
|
|
5
5
|
from pythainlp.augment.word2vec.core import Word2VecAug
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
from typing import List, Tuple
|
|
5
5
|
from pythainlp.augment.word2vec.core import Word2VecAug
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
from typing import List, Tuple
|
|
5
5
|
from pythainlp.augment.word2vec.core import Word2VecAug
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
"""
|
|
5
5
|
Thank https://dev.to/ton_ami/text-data-augmentation-synonym-replacement-4h8l
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
"""
|
|
5
5
|
Provides an optional word list from International Components for Unicode (ICU) dictionary.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
"""
|
|
5
5
|
Thai unigram word frequency from OSCAR Corpus (words tokenized using ICU)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
PyThaiNLP morpheme
|
|
7
|
+
"""
|
|
8
|
+
__all__ = [
|
|
9
|
+
"nighit",
|
|
10
|
+
"is_native_thai"
|
|
11
|
+
]
|
|
12
|
+
from pythainlp.morpheme.word_formation import nighit
|
|
13
|
+
from pythainlp.morpheme.thaiwordcheck import is_native_thai
|
{pythainlp-5.0.0.dev1/pythainlp/util → pythainlp-5.0.0.dev2/pythainlp/morpheme}/thaiwordcheck.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# SPDX-FileCopyrightText: Copyright 2016-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
"""
|
|
5
5
|
Check if a word is a "native Thai word"
|
|
@@ -8,7 +8,8 @@ Adapted from
|
|
|
8
8
|
https://github.com/wannaphong/open-thai-nlp-document/blob/master/check_thai_word.md
|
|
9
9
|
|
|
10
10
|
References
|
|
11
|
-
- ทีมงานทรูปลูกปัญญา 2015. ลักษณะของคำไทยแท้
|
|
11
|
+
- ทีมงานทรูปลูกปัญญา 2015. ลักษณะของคำไทยแท้ \
|
|
12
|
+
http://www.trueplookpanya.com/learning/detail/30589-043067
|
|
12
13
|
- วารุณี บำรุงรส 2010. คำไทยแท้ https://www.gotoknow.org/posts/377619
|
|
13
14
|
"""
|
|
14
15
|
import re
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright 2016-2024 PyThaiNLP Project
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
from pythainlp import thai_consonants
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def nighit(w1: str, w2: str) -> str:
|
|
8
|
+
"""
|
|
9
|
+
Nighit (นิคหิต or ํ ) is the niggahita in Thai language for create new \
|
|
10
|
+
words from Pali language in Thai.
|
|
11
|
+
The function use simple method to create new Thai word from two words \
|
|
12
|
+
that the root is from Pali language.
|
|
13
|
+
|
|
14
|
+
Read more: https://www.trueplookpanya.com/learning/detail/1180
|
|
15
|
+
|
|
16
|
+
:param str w1: A Thai word that has a nighit.
|
|
17
|
+
:param str w2: A Thai word.
|
|
18
|
+
:return: Thai word.
|
|
19
|
+
:rtype: str
|
|
20
|
+
:Example:
|
|
21
|
+
::
|
|
22
|
+
from pythainlp.morpheme import nighit
|
|
23
|
+
|
|
24
|
+
assert nighit("สํ","คีต")=="สังคีต"
|
|
25
|
+
assert nighit("สํ","จร")=="สัญจร"
|
|
26
|
+
assert nighit("สํ","ฐาน")=="สัณฐาน"
|
|
27
|
+
assert nighit("สํ","นิษฐาน")=="สันนิษฐาน"
|
|
28
|
+
assert nighit("สํ","ปทา")=="สัมปทา"
|
|
29
|
+
assert nighit("สํ","โยค")=="สังโยค"
|
|
30
|
+
"""
|
|
31
|
+
if not str(w1).endswith('ํ') and len(w1) != 2:
|
|
32
|
+
raise NotImplementedError(f"The function doesn't support {w1}.")
|
|
33
|
+
list_w1 = list(w1)
|
|
34
|
+
list_w2 = list(w2)
|
|
35
|
+
newword = list()
|
|
36
|
+
newword.append(list_w1[0])
|
|
37
|
+
newword.append("ั")
|
|
38
|
+
consonant_start = [i for i in list_w2 if i in set(thai_consonants)][0]
|
|
39
|
+
if consonant_start in ["ก", "ช", "ค", "ข", "ง"]:
|
|
40
|
+
newword.append("ง")
|
|
41
|
+
elif consonant_start in ["จ", "ฉ", "ช", "ฌ"]:
|
|
42
|
+
newword.append("ญ")
|
|
43
|
+
elif consonant_start in ["ฎ", "ฐ", "ฑ", "ณ"]:
|
|
44
|
+
newword.append("ณ")
|
|
45
|
+
elif consonant_start in ["ด", "ถ", "ท", "ธ", "น"]:
|
|
46
|
+
newword.append("น")
|
|
47
|
+
elif consonant_start in ["ป", "ผ", "พ", "ภ"]:
|
|
48
|
+
newword.append("ม")
|
|
49
|
+
elif consonant_start in ["ย", "ร", "ล", "ฬ", "ว", "ศ", "ษ", "ส", "ห"]:
|
|
50
|
+
newword.append("ง")
|
|
51
|
+
else:
|
|
52
|
+
raise NotImplementedError(f"""
|
|
53
|
+
The function doesn't support {w1} and {w2}.
|
|
54
|
+
""")
|
|
55
|
+
newword.extend(list_w2)
|
|
56
|
+
return ''.join(newword)
|