mirror of
https://github.com/explosion/spaCy.git
synced 2024-09-22 20:09:18 +03:00
d33953037e
* Create aryaprabhudesai.md (#2681) * Update _install.jade (#2688) Typo fix: "models" -> "model" * Add FAC to spacy.explain (resolves #2706) * Remove docstrings for deprecated arguments (see #2703) * When calling getoption() in conftest.py, pass a default option (#2709) * When calling getoption() in conftest.py, pass a default option This is necessary to allow testing an installed spacy by running: pytest --pyargs spacy * Add contributor agreement * update bengali token rules for hyphen and digits (#2731) * Less norm computations in token similarity (#2730) * Less norm computations in token similarity * Contributor agreement * Remove ')' for clarity (#2737) Sorry, don't mean to be nitpicky, I just noticed this when going through the CLI and thought it was a quick fix. That said, if this was intention than please let me know. * added contributor agreement for mbkupfer (#2738) * Basic support for Telugu language (#2751) * Lex _attrs for polish language (#2750) * Signed spaCy contributor agreement * Added polish version of english lex_attrs * Introduces a bulk merge function, in order to solve issue #653 (#2696) * Fix comment * Introduce bulk merge to increase performance on many span merges * Sign contributor agreement * Implement pull request suggestions * Describe converters more explicitly (see #2643) * Add multi-threading note to Language.pipe (resolves #2582) [ci skip] * Fix formatting * Fix dependency scheme docs (closes #2705) [ci skip] * Don't set stop word in example (closes #2657) [ci skip] * Add words to portuguese language _num_words (#2759) * Add words to portuguese language _num_words * Add words to portuguese language _num_words * Update Indonesian model (#2752) * adding e-KTP in tokenizer exceptions list * add exception token * removing lines with containing space as it won't matter since we use .split() method in the end, added new tokens in exception * add tokenizer exceptions list * combining base_norms with norm_exceptions * adding norm_exception * fix double key in lemmatizer * remove unused import on punctuation.py * reformat stop_words to reduce number of lines, improve readibility * updating tokenizer exception * implement is_currency for lang/id * adding orth_first_upper in tokenizer_exceptions * update the norm_exception list * remove bunch of abbreviations * adding contributors file * Fixed spaCy+Keras example (#2763) * bug fixes in keras example * created contributor agreement * Adding French hyphenated first name (#2786) * Fix typo (closes #2784) * Fix typo (#2795) [ci skip] Fixed typo on line 6 "regcognizer --> recognizer" * Adding basic support for Sinhala language. (#2788) * adding Sinhala language package, stop words, examples and lex_attrs. * Adding contributor agreement * Updating contributor agreement * Also include lowercase norm exceptions * Fix error (#2802) * Fix error ValueError: cannot resize an array that references or is referenced by another array in this way. Use the resize function * added spaCy Contributor Agreement * Add charlax's contributor agreement (#2805) * agreement of contributor, may I introduce a tiny pl languge contribution (#2799) * Contributors agreement * Contributors agreement * Contributors agreement * Add jupyter=True to displacy.render in documentation (#2806) * Revert "Also include lowercase norm exceptions" This reverts commit70f4e8adf3
. * Remove deprecated encoding argument to msgpack * Set up dependency tree pattern matching skeleton (#2732) * Fix bug when too many entity types. Fixes #2800 * Fix Python 2 test failure * Require older msgpack-numpy * Restore encoding arg on msgpack-numpy * Try to fix version pin for msgpack-numpy * Update Portuguese Language (#2790) * Add words to portuguese language _num_words * Add words to portuguese language _num_words * Portuguese - Add/remove stopwords, fix tokenizer, add currency symbols * Extended punctuation and norm_exceptions in the Portuguese language * Correct error in spacy universe docs concerning spacy-lookup (#2814) * Update Keras Example for (Parikh et al, 2016) implementation (#2803) * bug fixes in keras example * created contributor agreement * baseline for Parikh model * initial version of parikh 2016 implemented * tested asymmetric models * fixed grevious error in normalization * use standard SNLI test file * begin to rework parikh example * initial version of running example * start to document the new version * start to document the new version * Update Decompositional Attention.ipynb * fixed calls to similarity * updated the README * import sys package duh * simplified indexing on mapping word to IDs * stupid python indent error * added code from https://github.com/tensorflow/tensorflow/issues/3388 for tf bug workaround * Fix typo (closes #2815) [ci skip] * Update regex version dependency * Set version to 2.0.13.dev3 * Skip seemingly problematic test * Remove problematic test * Try previous version of regex * Revert "Remove problematic test" This reverts commitbdebbef455
. * Unskip test * Try older version of regex * 💫 Update training examples and use minibatching (#2830) <!--- Provide a general summary of your changes in the title. --> ## Description Update the training examples in `/examples/training` to show usage of spaCy's `minibatch` and `compounding` helpers ([see here](https://spacy.io/usage/training#tips-batch-size) for details). The lack of batching in the examples has caused some confusion in the past, especially for beginners who would copy-paste the examples, update them with large training sets and experienced slow and unsatisfying results. ### Types of change enhancements ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [x] I have submitted the spaCy Contributor Agreement. - [x] I ran the tests, and all new and existing tests passed. - [x] My changes don't require a change to the documentation, or if they do, I've added all required information. * Visual C++ link updated (#2842) (closes #2841) [ci skip] * New landing page * Add contribution agreement * Correcting lang/ru/examples.py (#2845) * Correct some grammatical inaccuracies in lang\ru\examples.py; filled Contributor Agreement * Correct some grammatical inaccuracies in lang\ru\examples.py * Move contributor agreement to separate file * Set version to 2.0.13.dev4 * Add Persian(Farsi) language support (#2797) * Also include lowercase norm exceptions * Remove in favour of https://github.com/explosion/spaCy/graphs/contributors * Rule-based French Lemmatizer (#2818) <!--- Provide a general summary of your changes in the title. --> ## Description <!--- Use this section to describe your changes. If your changes required testing, include information about the testing environment and the tests you ran. If your test fixes a bug reported in an issue, don't forget to include the issue number. If your PR is still a work in progress, that's totally fine – just include a note to let us know. --> Add a rule-based French Lemmatizer following the english one and the excellent PR for [greek language optimizations](https://github.com/explosion/spaCy/pull/2558) to adapt the Lemmatizer class. ### Types of change <!-- What type of change does your PR cover? Is it a bug fix, an enhancement or new feature, or a change to the documentation? --> - Lemma dictionary used can be found [here](http://infolingu.univ-mlv.fr/DonneesLinguistiques/Dictionnaires/telechargement.html), I used the XML version. - Add several files containing exhaustive list of words for each part of speech - Add some lemma rules - Add POS that are not checked in the standard Lemmatizer, i.e PRON, DET, ADV and AUX - Modify the Lemmatizer class to check in lookup table as a last resort if POS not mentionned - Modify the lemmatize function to check in lookup table as a last resort - Init files are updated so the model can support all the functionalities mentioned above - Add words to tokenizer_exceptions_list.py in respect to regex used in tokenizer_exceptions.py ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [X] I have submitted the spaCy Contributor Agreement. - [X] I ran the tests, and all new and existing tests passed. - [X] My changes don't require a change to the documentation, or if they do, I've added all required information. * Set version to 2.0.13 * Fix formatting and consistency * Update docs for new version [ci skip] * Increment version [ci skip] * Add info on wheels [ci skip] * Adding "This is a sentence" example to Sinhala (#2846) * Add wheels badge * Update badge [ci skip] * Update README.rst [ci skip] * Update murmurhash pin * Increment version to 2.0.14.dev0 * Update GPU docs for v2.0.14 * Add wheel to setup_requires * Import prefer_gpu and require_gpu functions from Thinc * Add tests for prefer_gpu() and require_gpu() * Update requirements and setup.py * Workaround bug in thinc require_gpu * Set version to v2.0.14 * Update push-tag script * Unhack prefer_gpu * Require thinc 6.10.6 * Update prefer_gpu and require_gpu docs [ci skip] * Fix specifiers for GPU * Set version to 2.0.14.dev1 * Set version to 2.0.14 * Update Thinc version pin * Increment version * Fix msgpack-numpy version pin * Increment version * Update version to 2.0.16 * Update version [ci skip] * Redundant ')' in the Stop words' example (#2856) <!--- Provide a general summary of your changes in the title. --> ## Description <!--- Use this section to describe your changes. If your changes required testing, include information about the testing environment and the tests you ran. If your test fixes a bug reported in an issue, don't forget to include the issue number. If your PR is still a work in progress, that's totally fine – just include a note to let us know. --> ### Types of change <!-- What type of change does your PR cover? Is it a bug fix, an enhancement or new feature, or a change to the documentation? --> ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [ ] I have submitted the spaCy Contributor Agreement. - [ ] I ran the tests, and all new and existing tests passed. - [ ] My changes don't require a change to the documentation, or if they do, I've added all required information. * Documentation improvement regarding joblib and SO (#2867) Some documentation improvements ## Description 1. Fixed the dead URL to joblib 2. Fixed Stack Overflow brand name (with space) ### Types of change Documentation ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [x] I have submitted the spaCy Contributor Agreement. - [x] I ran the tests, and all new and existing tests passed. - [x] My changes don't require a change to the documentation, or if they do, I've added all required information. * raise error when setting overlapping entities as doc.ents (#2880) * Fix out-of-bounds access in NER training The helper method state.B(1) gets the index of the first token of the buffer, or -1 if no such token exists. Normally this is safe because we pass this to functions like state.safe_get(), which returns an empty token. Here we used it directly as an array index, which is not okay! This error may have been the cause of out-of-bounds access errors during training. Similar errors may still be around, so much be hunted down. Hunting this one down took a long time...I printed out values across training runs and diffed, looking for points of divergence between runs, when no randomness should be allowed. * Change PyThaiNLP Url (#2876) * Fix missing comma * Add example showing a fix-up rule for space entities * Set version to 2.0.17.dev0 * Update regex version * Revert "Update regex version" This reverts commit62358dd867
. * Try setting older regex version, to align with conda * Set version to 2.0.17 * Add spacy-js to universe [ci-skip] * Add spacy-raspberry to universe (closes #2889) * Add script to validate universe json [ci skip] * Removed space in docs + added contributor indo (#2909) * - removed unneeded space in documentation * - added contributor info * Allow input text of length up to max_length, inclusive (#2922) * Include universe spec for spacy-wordnet component (#2919) * feat: include universe spec for spacy-wordnet component * chore: include spaCy contributor agreement * Minor formatting changes [ci skip] * Fix image [ci skip] Twitter URL doesn't work on live site * Check if the word is in one of the regular lists specific to each POS (#2886) * 💫 Create random IDs for SVGs to prevent ID clashes (#2927) Resolves #2924. ## Description Fixes problem where multiple visualizations in Jupyter notebooks would have clashing arc IDs, resulting in weirdly positioned arc labels. Generating a random ID prefix so even identical parses won't receive the same IDs for consistency (even if effect of ID clash isn't noticable here.) ### Types of change bug fix ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [x] I have submitted the spaCy Contributor Agreement. - [x] I ran the tests, and all new and existing tests passed. - [x] My changes don't require a change to the documentation, or if they do, I've added all required information. * Fix typo [ci skip] * fixes symbolic link on py3 and windows (#2949) * fixes symbolic link on py3 and windows during setup of spacy using command python -m spacy link en_core_web_sm en closes #2948 * Update spacy/compat.py Co-Authored-By: cicorias <cicorias@users.noreply.github.com> * Fix formatting * Update universe [ci skip] * Catalan Language Support (#2940) * Catalan language Support * Ddding Catalan to documentation * Sort languages alphabetically [ci skip] * Update tests for pytest 4.x (#2965) <!--- Provide a general summary of your changes in the title. --> ## Description - [x] Replace marks in params for pytest 4.0 compat ([see here](https://docs.pytest.org/en/latest/deprecations.html#marks-in-pytest-mark-parametrize)) - [x] Un-xfail passing tests (some fixes in a recent update resolved a bunch of issues, but tests were apparently never updated here) ### Types of change <!-- What type of change does your PR cover? Is it a bug fix, an enhancement or new feature, or a change to the documentation? --> ## Checklist <!--- Before you submit the PR, go over this checklist and make sure you can tick off all the boxes. [] -> [x] --> - [x] I have submitted the spaCy Contributor Agreement. - [x] I ran the tests, and all new and existing tests passed. - [x] My changes don't require a change to the documentation, or if they do, I've added all required information. * Fix regex pin to harmonize with conda (#2964) * Update README.rst * Fix bug where Vocab.prune_vector did not use 'batch_size' (#2977) Fixes #2976 * Fix typo * Fix typo * Remove duplicate file * Require thinc 7.0.0.dev2 Fixes bug in gpu_ops that would use cupy instead of numpy on CPU * Add missing import * Fix error IDs * Fix tests
648 lines
14 KiB
Python
648 lines
14 KiB
Python
# coding: utf8
|
||
from __future__ import unicode_literals
|
||
|
||
|
||
verb_roots = """
|
||
#هست
|
||
آخت#آهنج
|
||
آراست#آرا
|
||
آراماند#آرامان
|
||
آرامید#آرام
|
||
آرمید#آرام
|
||
آزرد#آزار
|
||
آزمود#آزما
|
||
آسود#آسا
|
||
آشامید#آشام
|
||
آشفت#آشوب
|
||
آشوبید#آشوب
|
||
آغازید#آغاز
|
||
آغشت#آمیز
|
||
آفرید#آفرین
|
||
آلود#آلا
|
||
آمد#آ
|
||
آمرزید#آمرز
|
||
آموخت#آموز
|
||
آموزاند#آموزان
|
||
آمیخت#آمیز
|
||
آورد#آر
|
||
آورد#آور
|
||
آویخت#آویز
|
||
آکند#آکن
|
||
آگاهانید#آگاهان
|
||
ارزید#ارز
|
||
افتاد#افت
|
||
افراخت#افراز
|
||
افراشت#افراز
|
||
افروخت#افروز
|
||
افروزید#افروز
|
||
افزود#افزا
|
||
افسرد#افسر
|
||
افشاند#افشان
|
||
افکند#افکن
|
||
افگند#افگن
|
||
انباشت#انبار
|
||
انجامید#انجام
|
||
انداخت#انداز
|
||
اندوخت#اندوز
|
||
اندود#اندا
|
||
اندیشید#اندیش
|
||
انگاشت#انگار
|
||
انگیخت#انگیز
|
||
انگیزاند#انگیزان
|
||
ایستاد#ایست
|
||
ایستاند#ایستان
|
||
باخت#باز
|
||
باراند#باران
|
||
بارگذاشت#بارگذار
|
||
بارید#بار
|
||
باز#بازخواه
|
||
بازآفرید#بازآفرین
|
||
بازآمد#بازآ
|
||
بازآموخت#بازآموز
|
||
بازآورد#بازآور
|
||
بازایستاد#بازایست
|
||
بازتابید#بازتاب
|
||
بازجست#بازجو
|
||
بازخواند#بازخوان
|
||
بازخوراند#بازخوران
|
||
بازداد#بازده
|
||
بازداشت#بازدار
|
||
بازرساند#بازرسان
|
||
بازرسانید#بازرسان
|
||
باززد#باززن
|
||
بازستاند#بازستان
|
||
بازشمارد#بازشمار
|
||
بازشمرد#بازشمار
|
||
بازشمرد#بازشمر
|
||
بازشناخت#بازشناس
|
||
بازشناساند#بازشناسان
|
||
بازفرستاد#بازفرست
|
||
بازماند#بازمان
|
||
بازنشست#بازنشین
|
||
بازنمایاند#بازنمایان
|
||
بازنهاد#بازنه
|
||
بازنگریست#بازنگر
|
||
بازپرسید#بازپرس
|
||
بازگذارد#بازگذار
|
||
بازگذاشت#بازگذار
|
||
بازگرداند#بازگردان
|
||
بازگردانید#بازگردان
|
||
بازگردید#بازگرد
|
||
بازگرفت#بازگیر
|
||
بازگشت#بازگرد
|
||
بازگشود#بازگشا
|
||
بازگفت#بازگو
|
||
بازیافت#بازیاب
|
||
بافت#باف
|
||
بالید#بال
|
||
باوراند#باوران
|
||
بایست#باید
|
||
بخشود#بخش
|
||
بخشود#بخشا
|
||
بخشید#بخش
|
||
بر#برخواه
|
||
برآشفت#برآشوب
|
||
برآمد#برآ
|
||
برآورد#برآور
|
||
برازید#براز
|
||
برافتاد#برافت
|
||
برافراخت#برافراز
|
||
برافراشت#برافراز
|
||
برافروخت#برافروز
|
||
برافشاند#برافشان
|
||
برافکند#برافکن
|
||
براند#بران
|
||
برانداخت#برانداز
|
||
برانگیخت#برانگیز
|
||
بربست#بربند
|
||
برتاباند#برتابان
|
||
برتابید#برتاب
|
||
برتافت#برتاب
|
||
برتنید#برتن
|
||
برجهید#برجه
|
||
برخاست#برخیز
|
||
برخورد#برخور
|
||
برد#بر
|
||
برداشت#بردار
|
||
بردمید#بردم
|
||
برزد#برزن
|
||
برشد#برشو
|
||
برشمارد#برشمار
|
||
برشمرد#برشمار
|
||
برشمرد#برشمر
|
||
برنشاند#برنشان
|
||
برنشانید#برنشان
|
||
برنشست#برنشین
|
||
برنهاد#برنه
|
||
برچید#برچین
|
||
برکرد#برکن
|
||
برکشید#برکش
|
||
برکند#برکن
|
||
برگذشت#برگذر
|
||
برگرداند#برگردان
|
||
برگردانید#برگردان
|
||
برگردید#برگرد
|
||
برگرفت#برگیر
|
||
برگزید#برگزین
|
||
برگشت#برگرد
|
||
برگشود#برگشا
|
||
برگمارد#برگمار
|
||
برگمارید#برگمار
|
||
برگماشت#برگمار
|
||
برید#بر
|
||
بست#بند
|
||
بلعید#بلع
|
||
بود#باش
|
||
بوسید#بوس
|
||
بویید#بو
|
||
بیخت#بیز
|
||
بیخت#بوز
|
||
تاباند#تابان
|
||
تابید#تاب
|
||
تاخت#تاز
|
||
تاراند#تاران
|
||
تازاند#تازان
|
||
تازید#تاز
|
||
تافت#تاب
|
||
ترادیسید#ترادیس
|
||
تراشاند#تراشان
|
||
تراشید#تراش
|
||
تراوید#تراو
|
||
ترساند#ترسان
|
||
ترسید#ترس
|
||
ترشاند#ترشان
|
||
ترشید#ترش
|
||
ترکاند#ترکان
|
||
ترکید#ترک
|
||
تفتید#تفت
|
||
تمرگید#تمرگ
|
||
تنید#تن
|
||
توانست#توان
|
||
توفید#توف
|
||
تپاند#تپان
|
||
تپید#تپ
|
||
تکاند#تکان
|
||
تکانید#تکان
|
||
جست#جه
|
||
جست#جو
|
||
جنباند#جنبان
|
||
جنبید#جنب
|
||
جنگید#جنگ
|
||
جهاند#جهان
|
||
جهید#جه
|
||
جوشاند#جوشان
|
||
جوشانید#جوشان
|
||
جوشید#جوش
|
||
جويد#جو
|
||
جوید#جو
|
||
خاراند#خاران
|
||
خارید#خار
|
||
خاست#خیز
|
||
خایید#خا
|
||
خراشاند#خراشان
|
||
خراشید#خراش
|
||
خرامید#خرام
|
||
خروشید#خروش
|
||
خرید#خر
|
||
خزید#خز
|
||
خسبید#خسب
|
||
خشکاند#خشکان
|
||
خشکید#خشک
|
||
خفت#خواب
|
||
خلید#خل
|
||
خماند#خمان
|
||
خمید#خم
|
||
خنداند#خندان
|
||
خندانید#خندان
|
||
خندید#خند
|
||
خواباند#خوابان
|
||
خوابانید#خوابان
|
||
خوابید#خواب
|
||
خواست#خواه
|
||
خواست#خیز
|
||
خواند#خوان
|
||
خوراند#خوران
|
||
خورد#خور
|
||
خیزاند#خیزان
|
||
خیساند#خیسان
|
||
داد#ده
|
||
داشت#دار
|
||
دانست#دان
|
||
در#درخواه
|
||
درآمد#درآ
|
||
درآمیخت#درآمیز
|
||
درآورد#درآور
|
||
درآویخت#درآویز
|
||
درافتاد#درافت
|
||
درافکند#درافکن
|
||
درانداخت#درانداز
|
||
درانید#دران
|
||
دربرد#دربر
|
||
دربرگرفت#دربرگیر
|
||
درخشاند#درخشان
|
||
درخشانید#درخشان
|
||
درخشید#درخش
|
||
درداد#درده
|
||
دررفت#دررو
|
||
درماند#درمان
|
||
درنمود#درنما
|
||
درنوردید#درنورد
|
||
درود#درو
|
||
دروید#درو
|
||
درکرد#درکن
|
||
درکشید#درکش
|
||
درگذشت#درگذر
|
||
درگرفت#درگیر
|
||
دریافت#دریاب
|
||
درید#در
|
||
دزدید#دزد
|
||
دمید#دم
|
||
دواند#دوان
|
||
دوخت#دوز
|
||
دوشید#دوش
|
||
دوید#دو
|
||
دید#بین
|
||
راند#ران
|
||
ربود#ربا
|
||
ربود#روب
|
||
رخشید#رخش
|
||
رساند#رسان
|
||
رسانید#رسان
|
||
رست#ره
|
||
رست#رو
|
||
رسید#رس
|
||
رشت#ریس
|
||
رفت#رو
|
||
رفت#روب
|
||
رقصاند#رقصان
|
||
رقصید#رقص
|
||
رماند#رمان
|
||
رمانید#رمان
|
||
رمید#رم
|
||
رنجاند#رنجان
|
||
رنجانید#رنجان
|
||
رنجید#رنج
|
||
رندید#رند
|
||
رهاند#رهان
|
||
رهانید#رهان
|
||
رهید#ره
|
||
روبید#روب
|
||
روفت#روب
|
||
رویاند#رویان
|
||
رویانید#رویان
|
||
رویید#رو
|
||
رویید#روی
|
||
ریخت#ریز
|
||
رید#رین
|
||
ریدن#رین
|
||
ریسید#ریس
|
||
زاد#زا
|
||
زارید#زار
|
||
زایاند#زایان
|
||
زایید#زا
|
||
زد#زن
|
||
زدود#زدا
|
||
زیست#زی
|
||
ساباند#سابان
|
||
سابید#ساب
|
||
ساخت#ساز
|
||
سایید#سا
|
||
ستاد#ستان
|
||
ستاند#ستان
|
||
سترد#ستر
|
||
ستود#ستا
|
||
ستیزید#ستیز
|
||
سراند#سران
|
||
سرایید#سرا
|
||
سرشت#سرش
|
||
سرود#سرا
|
||
سرکشید#سرکش
|
||
سرگرفت#سرگیر
|
||
سرید#سر
|
||
سزید#سز
|
||
سفت#سنب
|
||
سنجید#سنج
|
||
سوخت#سوز
|
||
سود#سا
|
||
سوزاند#سوزان
|
||
سپارد#سپار
|
||
سپرد#سپار
|
||
سپرد#سپر
|
||
سپوخت#سپوز
|
||
سگالید#سگال
|
||
شاشید#شاش
|
||
شایست#
|
||
شایست#شاید
|
||
شتاباند#شتابان
|
||
شتابید#شتاب
|
||
شتافت#شتاب
|
||
شد#شو
|
||
شست#شو
|
||
شست#شوی
|
||
شلید#شل
|
||
شمار#شمر
|
||
شمارد#شمار
|
||
شمرد#شمار
|
||
شمرد#شمر
|
||
شناخت#شناس
|
||
شناساند#شناسان
|
||
شنفت#شنو
|
||
شنید#شنو
|
||
شوتید#شوت
|
||
شوراند#شوران
|
||
شورید#شور
|
||
شکافت#شکاف
|
||
شکاند#شکان
|
||
شکاند#شکن
|
||
شکست#شکن
|
||
شکفت#شکف
|
||
طلبید#طلب
|
||
طپید#طپ
|
||
غراند#غران
|
||
غرید#غر
|
||
غلتاند#غلتان
|
||
غلتانید#غلتان
|
||
غلتید#غلت
|
||
غلطاند#غلطان
|
||
غلطانید#غلطان
|
||
غلطید#غلط
|
||
فرا#فراخواه
|
||
فراخواند#فراخوان
|
||
فراداشت#فرادار
|
||
فرارسید#فرارس
|
||
فرانمود#فرانما
|
||
فراگرفت#فراگیر
|
||
فرستاد#فرست
|
||
فرسود#فرسا
|
||
فرمود#فرما
|
||
فرهیخت#فرهیز
|
||
فرو#فروخواه
|
||
فروآمد#فروآ
|
||
فروآورد#فروآور
|
||
فروافتاد#فروافت
|
||
فروافکند#فروافکن
|
||
فروبرد#فروبر
|
||
فروبست#فروبند
|
||
فروخت#فروش
|
||
فروخفت#فروخواب
|
||
فروخورد#فروخور
|
||
فروداد#فروده
|
||
فرودوخت#فرودوز
|
||
فرورفت#فرورو
|
||
فروریخت#فروریز
|
||
فروشکست#فروشکن
|
||
فروفرستاد#فروفرست
|
||
فروماند#فرومان
|
||
فرونشاند#فرونشان
|
||
فرونشانید#فرونشان
|
||
فرونشست#فرونشین
|
||
فرونمود#فرونما
|
||
فرونهاد#فرونه
|
||
فروپاشاند#فروپاشان
|
||
فروپاشید#فروپاش
|
||
فروچکید#فروچک
|
||
فروکرد#فروکن
|
||
فروکشید#فروکش
|
||
فروکوبید#فروکوب
|
||
فروکوفت#فروکوب
|
||
فروگذارد#فروگذار
|
||
فروگذاشت#فروگذار
|
||
فروگرفت#فروگیر
|
||
فریفت#فریب
|
||
فشاند#فشان
|
||
فشرد#فشار
|
||
فشرد#فشر
|
||
فلسفید#فلسف
|
||
فهماند#فهمان
|
||
فهمید#فهم
|
||
قاپید#قاپ
|
||
قبولاند#قبول
|
||
قبولاند#قبولان
|
||
لاسید#لاس
|
||
لرزاند#لرزان
|
||
لرزید#لرز
|
||
لغزاند#لغزان
|
||
لغزید#لغز
|
||
لمباند#لمبان
|
||
لمید#لم
|
||
لنگید#لنگ
|
||
لولید#لول
|
||
لیسید#لیس
|
||
ماسید#ماس
|
||
مالاند#مالان
|
||
مالید#مال
|
||
ماند#مان
|
||
مانست#مان
|
||
مرد#میر
|
||
مویید#مو
|
||
مکید#مک
|
||
نازید#ناز
|
||
نالاند#نالان
|
||
نالید#نال
|
||
نامید#نام
|
||
نشاند#نشان
|
||
نشست#نشین
|
||
نمایاند#نما
|
||
نمایاند#نمایان
|
||
نمود#نما
|
||
نهاد#نه
|
||
نهفت#نهنب
|
||
نواخت#نواز
|
||
نوازید#نواز
|
||
نوردید#نورد
|
||
نوشاند#نوشان
|
||
نوشانید#نوشان
|
||
نوشت#نویس
|
||
نوشید#نوش
|
||
نکوهید#نکوه
|
||
نگاشت#نگار
|
||
نگرید#
|
||
نگریست#نگر
|
||
هراساند#هراسان
|
||
هراسانید#هراسان
|
||
هراسید#هراس
|
||
هشت#هل
|
||
وا#واخواه
|
||
واداشت#وادار
|
||
وارفت#وارو
|
||
وارهاند#وارهان
|
||
واماند#وامان
|
||
وانهاد#وانه
|
||
واکرد#واکن
|
||
واگذارد#واگذار
|
||
واگذاشت#واگذار
|
||
ور#ورخواه
|
||
ورآمد#ورآ
|
||
ورافتاد#ورافت
|
||
وررفت#وررو
|
||
ورزید#ورز
|
||
وزاند#وزان
|
||
وزید#وز
|
||
ویراست#ویرا
|
||
پاشاند#پاشان
|
||
پاشید#پاش
|
||
پالود#پالا
|
||
پایید#پا
|
||
پخت#پز
|
||
پذیراند#پذیران
|
||
پذیرفت#پذیر
|
||
پراند#پران
|
||
پراکند#پراکن
|
||
پرداخت#پرداز
|
||
پرستید#پرست
|
||
پرسید#پرس
|
||
پرهیخت#پرهیز
|
||
پرهیزید#پرهیز
|
||
پروراند#پروران
|
||
پرورد#پرور
|
||
پرید#پر
|
||
پسندید#پسند
|
||
پلاساند#پلاسان
|
||
پلاسید#پلاس
|
||
پلکید#پلک
|
||
پناهاند#پناهان
|
||
پناهید#پناه
|
||
پنداشت#پندار
|
||
پوساند#پوسان
|
||
پوسید#پوس
|
||
پوشاند#پوشان
|
||
پوشید#پوش
|
||
پویید#پو
|
||
پژمرد#پژمر
|
||
پژوهید#پژوه
|
||
پکید#پک
|
||
پیراست#پیرا
|
||
پیمود#پیما
|
||
پیوست#پیوند
|
||
پیچاند#پیچان
|
||
پیچانید#پیچان
|
||
پیچید#پیچ
|
||
چاپید#چاپ
|
||
چایید#چا
|
||
چراند#چران
|
||
چرانید#چران
|
||
چرباند#چربان
|
||
چربید#چرب
|
||
چرخاند#چرخان
|
||
چرخانید#چرخان
|
||
چرخید#چرخ
|
||
چروکید#چروک
|
||
چرید#چر
|
||
چزاند#چزان
|
||
چسباند#چسبان
|
||
چسبید#چسب
|
||
چسید#چس
|
||
چشاند#چشان
|
||
چشید#چش
|
||
چلاند#چلان
|
||
چلانید#چلان
|
||
چپاند#چپان
|
||
چپید#چپ
|
||
چکاند#چکان
|
||
چکید#چک
|
||
چید#چین
|
||
کاست#کاه
|
||
کاشت#کار
|
||
کاوید#کاو
|
||
کرد#کن
|
||
کشاند#کشان
|
||
کشانید#کشان
|
||
کشت#کار
|
||
کشت#کش
|
||
کشید#کش
|
||
کند#کن
|
||
کوباند#کوبان
|
||
کوبید#کوب
|
||
کوشید#کوش
|
||
کوفت#کوب
|
||
کوچانید#کوچان
|
||
کوچید#کوچ
|
||
گایید#گا
|
||
گداخت#گداز
|
||
گذارد#گذار
|
||
گذاشت#گذار
|
||
گذراند#گذران
|
||
گذشت#گذر
|
||
گرازید#گراز
|
||
گرانید#گران
|
||
گرایید#گرا
|
||
گرداند#گردان
|
||
گردانید#گردان
|
||
گردید#گرد
|
||
گرفت#گیر
|
||
گروید#گرو
|
||
گریاند#گریان
|
||
گریخت#گریز
|
||
گریزاند#گریزان
|
||
گریست#گر
|
||
گریست#گری
|
||
گزارد#گزار
|
||
گزاشت#گزار
|
||
گزید#گزین
|
||
گسارد#گسار
|
||
گستراند#گستران
|
||
گسترانید#گستران
|
||
گسترد#گستر
|
||
گسست#گسل
|
||
گسلاند#گسل
|
||
گسیخت#گسل
|
||
گشاد#گشا
|
||
گشت#گرد
|
||
گشود#گشا
|
||
گفت#گو
|
||
گمارد#گمار
|
||
گماشت#گمار
|
||
گنجاند#گنجان
|
||
گنجانید#گنجان
|
||
گنجید#گنج
|
||
گنداند#گندان
|
||
گندید#گند
|
||
گوارید#گوار
|
||
گوزید#گوز
|
||
گیراند#گیران
|
||
یازید#یاز
|
||
یافت#یاب
|
||
یونید#یون
|
||
""".strip().split()
|
||
|
||
## Below code is a modified version of HAZM package's verb conjugator,
|
||
# with soem extra verbs(Anything in hazm and not in here? compare needed!)
|
||
|
||
VERBS_EXC = {}
|
||
with_nots = lambda items: items + ['ن' + item for item in items]
|
||
simple_ends = ['م', 'ی', '', 'یم', 'ید', 'ند']
|
||
narrative_ends = ['هام', 'های', 'ه', 'هایم', 'هاید', 'هاند']
|
||
present_ends = ['م', 'ی', 'د', 'یم', 'ید', 'ند']
|
||
|
||
# special case of '#هست':
|
||
VERBS_EXC.update({conj: 'هست' for conj in ['هست' + end for end in simple_ends]})
|
||
VERBS_EXC.update({conj: 'هست' for conj in ['نیست' + end for end in simple_ends]})
|
||
|
||
for verb_root in verb_roots:
|
||
conjugations = []
|
||
if '#' not in verb_root:
|
||
continue
|
||
past, present = verb_root.split('#')
|
||
|
||
if past:
|
||
past_simples = [past + end for end in simple_ends]
|
||
past_imperfects = ['می' + item for item in past_simples]
|
||
past_narratives = [past + end for end in narrative_ends]
|
||
conjugations = with_nots(past_simples + past_imperfects + past_narratives)
|
||
if present:
|
||
imperatives = ['ب' + present, 'ن' + present]
|
||
if present.endswith('ا') or present in ('آ', 'گو'):
|
||
present = present + 'ی'
|
||
present_simples = [present + end for end in present_ends]
|
||
present_imperfects = ['می' + present + end for end in present_ends]
|
||
present_subjunctives = ['ب' + present + end for end in present_ends]
|
||
conjugations += with_nots(present_simples + present_imperfects) + \
|
||
present_subjunctives + imperatives
|
||
|
||
if past.startswith('آ'):
|
||
conjugations = set(map(lambda item: item.replace('بآ', 'بیا').replace('نآ', 'نیا'),\
|
||
conjugations))
|
||
|
||
VERBS_EXC.update({conj: (past,) if past else present for conj in conjugations})
|
||
|