From a546a3e8782b40be5a0878f71b024537b7a2db64 Mon Sep 17 00:00:00 2001 From: BLKSerene Date: Mon, 24 Jun 2024 06:06:45 +0800 Subject: [PATCH] Dependencies: Upgrade Stanza to 1.8.2; Utils: 1. Add Stanza's Armenian (Classical) sentence tokenizer, word tokenizer, part-of-speech tagger, lemmatizer, and dependency parser 2. Add Stanza's English (Old) sentence tokenizer, word tokenizer, part-of-speech tagger, lemmatizer, and dependency parser --- ACKS.md | 2 +- CHANGELOG.md | 4 +- doc/trs/zho_cn/ACKS.md | 2 +- doc/trs/zho_tw/ACKS.md | 2 +- requirements/requirements_tests.txt | 2 +- tests/tests_nlp/test_lemmatization.py | 4 +- tests/tests_nlp/test_sentence_tokenization.py | 20 +++++++--- tests/tests_nlp/test_syl_tokenization.py | 7 ++-- tests/tests_nlp/test_word_tokenization.py | 12 +++--- tests/tests_nlp/tests_spacy/test_spacy_cat.py | 10 ++--- tests/tests_nlp/tests_stanza/test_stanza.py | 7 ++-- .../tests_nlp/tests_stanza/test_stanza_ang.py | 33 +++++++++++++++ .../tests_nlp/tests_stanza/test_stanza_ara.py | 12 +++--- .../tests_nlp/tests_stanza/test_stanza_cat.py | 12 +++--- .../tests_nlp/tests_stanza/test_stanza_eng.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_heb.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_hin.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_ita.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_jpn.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_kaz.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_lzh.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_mlt.py | 10 ++--- .../tests_nlp/tests_stanza/test_stanza_rus.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_spa.py | 2 +- .../tests_nlp/tests_stanza/test_stanza_urd.py | 12 +++--- .../tests_nlp/tests_stanza/test_stanza_xcl.py | 35 ++++++++++++++++ .../tests_stanza/test_stanza_zho_cn.py | 2 +- .../tests_stanza/test_stanza_zho_tw.py | 2 +- tests/tests_settings/test_settings_global.py | 6 ++- tests/wl_test_lang_examples.py | 14 ++++--- utils/wl_generate_acks.py | 2 +- utils/wl_trs_translate.py | 2 + wordless/wl_settings/wl_settings_default.py | 18 ++++++++- wordless/wl_settings/wl_settings_global.py | 34 ++++++++++++++++ .../wl_tagsets/wl_tagset_hye_universal.py | 14 +++---- .../wl_tagsets/wl_tagset_xcl_universal.py | 40 +++++++++++++++++++ wordless/wl_utils/wl_conversion.py | 6 +-- 37 files changed, 261 insertions(+), 83 deletions(-) create mode 100644 tests/tests_nlp/tests_stanza/test_stanza_ang.py create mode 100644 tests/tests_nlp/tests_stanza/test_stanza_xcl.py create mode 100644 wordless/wl_tagsets/wl_tagset_xcl_universal.py diff --git a/ACKS.md b/ACKS.md index 58ceb8d35..88824923b 100644 --- a/ACKS.md +++ b/ACKS.md @@ -49,7 +49,7 @@ As Wordless stands on the shoulders of giants, I hereby extend my sincere gratit 25|[simplemma](https://github.com/adbar/simplemma)|1.0.0|Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) 26|[spaCy](https://spacy.io/)|3.7.5|Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 27|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg)|0.0.33|Ruixuan Luo (罗睿轩), Jingjing Xu (许晶晶),
Xuancheng Ren (任宣丞), Yi Zhang (张艺),
Zhiyuan Zhang (张之远), Bingzhen Wei (位冰镇),
Xu Sun (孙栩)
Adriane Boyd, Ines Montani|[MIT](https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE) -28|[Stanza](https://github.com/stanfordnlp/stanza)|1.7.0|Peng Qi (齐鹏), Yuhao Zhang (张宇浩),
Yuhui Zhang (张钰晖), Jason Bolton,
Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) +28|[Stanza](https://github.com/stanfordnlp/stanza)|1.8.2|Peng Qi (齐鹏), Yuhao Zhang (张宇浩),
Yuhui Zhang (张钰晖), Jason Bolton,
Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 29|[SudachiPy](https://github.com/WorksApplications/sudachi.rs)|0.6.8|Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) 30|[Underthesea](https://undertheseanlp.com/)|6.8.4|Vu Anh|[GPL-3.0-or-later](https://github.com/undertheseanlp/underthesea/blob/main/LICENSE) 31|[VADER](https://github.com/cjhutto/vaderSentiment)|3.3.2|C.J. Hutto|[MIT](https://github.com/cjhutto/vaderSentiment/blob/master/LICENSE.txt) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1668bd394..079e4472d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ - Utils: Add Pyphen's Basque syllable tokenizer - Utils: Add PyThaiNLP's Han-solo - Utils: Add spaCy's Faroese and Norwegian (Nynorsk) word tokenizers +- Utils: Add Stanza's Armenian (Classical) sentence tokenizer, word tokenizer, part-of-speech tagger, lemmatizer, and dependency parser +- Utils: Add Stanza's English (Old) sentence tokenizer, word tokenizer, part-of-speech tagger, lemmatizer, and dependency parser - Utils: Add Stanza's Sindhi part-of-speech tagger - Utils: Add VADER's sentiment analyzers - Work Area: Add Colligation Extractor - Filter results - Node/Colligation length @@ -77,7 +79,7 @@ - Dependencies: Upgrade simplemma to 1.0.0 - Dependencies: Upgrade spaCy to 3.7.5 - Dependencies: Upgrade spacy-pkuseg to 0.0.33 -- Dependencies: Upgrade Stanza to 1.7.0 +- Dependencies: Upgrade Stanza to 1.8.2 - Dependencies: Upgrade SudachiPy to 0.6.8 - Dependencies: Upgrade Underthesea to 6.8.4 - Dependencies: Upgrade wordcloud to 1.9.3 diff --git a/doc/trs/zho_cn/ACKS.md b/doc/trs/zho_cn/ACKS.md index a59134aab..3cee5fa79 100644 --- a/doc/trs/zho_cn/ACKS.md +++ b/doc/trs/zho_cn/ACKS.md @@ -49,7 +49,7 @@ 25|[simplemma](https://github.com/adbar/simplemma)|1.0.0|Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) 26|[spaCy](https://spacy.io/)|3.7.5|Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 27|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg)|0.0.33|罗睿轩, 许晶晶, 任宣丞, 张艺, 张之远, 位冰镇, 孙栩
Adriane Boyd, Ines Montani|[MIT](https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE) -28|[Stanza](https://github.com/stanfordnlp/stanza)|1.7.0|齐鹏, 张宇浩, 张钰晖,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) +28|[Stanza](https://github.com/stanfordnlp/stanza)|1.8.2|齐鹏, 张宇浩, 张钰晖,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 29|[SudachiPy](https://github.com/WorksApplications/sudachi.rs)|0.6.8|Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) 30|[Underthesea](https://undertheseanlp.com/)|6.8.4|Vu Anh|[GPL-3.0-or-later](https://github.com/undertheseanlp/underthesea/blob/main/LICENSE) 31|[VADER](https://github.com/cjhutto/vaderSentiment)|3.3.2|C.J. Hutto|[MIT](https://github.com/cjhutto/vaderSentiment/blob/master/LICENSE.txt) diff --git a/doc/trs/zho_tw/ACKS.md b/doc/trs/zho_tw/ACKS.md index 947957a7d..f8d9a3123 100644 --- a/doc/trs/zho_tw/ACKS.md +++ b/doc/trs/zho_tw/ACKS.md @@ -49,7 +49,7 @@ 25|[simplemma](https://github.com/adbar/simplemma)|1.0.0|Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) 26|[spaCy](https://spacy.io/)|3.7.5|Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 27|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg)|0.0.33|罗睿轩, 许晶晶, 任宣丞, 张艺, 张之远, 位冰镇, 孙栩
Adriane Boyd, Ines Montani|[MIT](https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE) -28|[Stanza](https://github.com/stanfordnlp/stanza)|1.7.0|齐鹏, 张宇浩, 张钰晖,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) +28|[Stanza](https://github.com/stanfordnlp/stanza)|1.8.2|齐鹏, 张宇浩, 张钰晖,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 29|[SudachiPy](https://github.com/WorksApplications/sudachi.rs)|0.6.8|Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) 30|[Underthesea](https://undertheseanlp.com/)|6.8.4|Vu Anh|[GPL-3.0-or-later](https://github.com/undertheseanlp/underthesea/blob/main/LICENSE) 31|[VADER](https://github.com/cjhutto/vaderSentiment)|3.3.2|C.J. Hutto|[MIT](https://github.com/cjhutto/vaderSentiment/blob/master/LICENSE.txt) diff --git a/requirements/requirements_tests.txt b/requirements/requirements_tests.txt index a148bf507..1aab941be 100644 --- a/requirements/requirements_tests.txt +++ b/requirements/requirements_tests.txt @@ -28,7 +28,7 @@ pyphen == 0.15.0 pythainlp == 5.0.4 sacremoses == 0.1.1 simplemma == 1.0.0 -stanza == 1.7.0 +stanza == 1.8.2 underthesea == 6.8.4 vaderSentiment == 3.3.2 diff --git a/tests/tests_nlp/test_lemmatization.py b/tests/tests_nlp/test_lemmatization.py index 6bbeb4ad2..c04f227dc 100644 --- a/tests/tests_nlp/test_lemmatization.py +++ b/tests/tests_nlp/test_lemmatization.py @@ -74,7 +74,7 @@ def test_lemmatize(lang, lemmatizer): case 'bul': results = ['бъ̀лгарският', 'езѝк', 'съм', 'индоевропейски', 'език', 'от', 'група', 'на', 'южнославянскит', 'език', ',', 'като', 'образувам', 'негова', 'източен', 'подгрупа', '.'] case 'cat': - results = ['ell', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'el', 'illa', 'balear', ',', 'a', 'Andorra', ',', 'a', 'el', 'ciutat', 'de', "l'Alguer", 'i', 'tradicional', 'a', 'Catalunya', 'del', 'nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'al', 'pair', 'valencià', 'i', 'tradicional', 'al', 'Carxe', ')', 'ser', 'un', 'llengua', 'romànic', 'parlar', 'a', 'Catalunya', ',', 'ell', 'pair', 'valencià', '(', 'treure', "d'algunes", 'comarca', 'i', 'localitat', 'de', "l'interior", ')', ',', 'el', 'illa', 'balear', '(', 'on', 'també', 'rebre', 'ell', 'nòmer', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segon', "l'illa", ')', ',', 'Andorra', ',', 'el', 'franjar', 'de', 'pondre', '(', 'a', "l'Aragó", ')', ',', 'el', 'ciutat', 'de', "l'Alguer", '(', 'a', "l'illa", 'de', 'Sardenya', ')', ',', 'el', 'Catalunya', 'del', 'nord', ',', '[', '8', ']', 'ell', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitar', 'per', 'poblador', 'valencià', ')', ',', '[', '9', ']', '[', '10', ']', 'i', 'en', 'comunitat', 'arreu', 'del', 'món', '(', 'entrar', 'el', 'qual', 'destacar', 'el', 'de', "l'Argentina", ',', 'amb', '200.000', 'parlant', ')', '.', '[', '11', ']'] + results = ['ell', 'català', 'tenir', 'cinc', 'gran', 'dialecte', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonès', ')', 'que', 'juntament', 'amb', "l'alguerès", ',', 'ell', 'dividir', 'fi', 'a', 'vint-i-un', 'varietat', 'i', "s'agrupen", 'en', 'dosar', 'gran', 'bloc', ':', 'ell', 'català', 'occidental', 'i', 'ell', 'català', 'oriental', '.'] case 'hrv': results = ['hrvatski', 'jezik', '(', 'ISO', '639-3', ':', 'hrv', ')', 'skupni', 'ju', 'naziv', 'за', 'nacionalni', 'standardni', 'jezik', 'Hrvat', ',', 'ti', 'за', 'skup', 'narječje', 'i', 'govora', 'kojima', 'govoriti', 'ili', 'biti', 'nekada', 'govoriti', 'Hrvat', '.'] case 'ces': @@ -240,7 +240,7 @@ def test_lemmatize(lang, lemmatizer): case _: tests_lang_util_skipped = True case 'urd': - results = ['اُردُو[8', ']', 'برصغیر', 'کم', 'معیاری', 'زبان', 'میں', 'سے', 'ایک', 'ہونا', '۔'] + results = ['1837ء', 'میں', '،', 'اردو', 'برطانوی', 'ایسٹ', 'انڈیا', 'کمپنی', 'کم', 'سرکاری', 'زبان', 'بننا', 'جانا', '،', 'کمپنی', 'کم', 'دور', 'میں', 'پورا', 'شمالی', 'ہندوستان', 'میں', 'فارسی', 'کم', 'جگہ', 'لینا', 'جانا', '۔'] case 'cym': results = ['yn', 'cyfrifiad', 'yr', 'tu', '(', '2011', ')', ',', 'darganfod', 'bodio', '19', '%', '(', '562,000', ')', 'prpers', 'preswylwr', 'cymru', '(', 'tair', 'blwydd', 'a', 'trosodd', ')', 'bod', 'gallu', 'siarad', 'cymraeg', '.'] case _: diff --git a/tests/tests_nlp/test_sentence_tokenization.py b/tests/tests_nlp/test_sentence_tokenization.py index 903cc49c2..453d477f5 100644 --- a/tests/tests_nlp/test_sentence_tokenization.py +++ b/tests/tests_nlp/test_sentence_tokenization.py @@ -69,12 +69,16 @@ def test_sentence_tokenize(lang, sentence_tokenizer): tests_lang_util_skipped = False match lang: + case 'xcl': + assert sentences == ['Զգոյշ լերուք ողորմութեան ձերում՝ մի առնել առաջի մարդկան՝ որպէս թե ի ցոյց ինչ նոցա,', 'գուցէ եւ վարձս ոչ ընդունիցիք ի հաւրէ ձերմէ որ յերկինսն է:', 'Այղ յորժամ առնիցես ողորմութիւն,', 'մի հարկաներ փող առաջի քո.', 'որպէս կեղծաւորքն առնեն ի ժողովուրդս եւ ի հրապարակս.', 'որպէս զի փառաւորեսցին ի մարդկանէ:'] case 'ces': assert sentences == ['Čeština neboli český jazyk je západoslovanský jazyk, nejbližší slovenštině, poté lužické srbštině a polštině.', 'Patří mezi slovanské jazyky, do rodiny jazyků indoevropských.', 'Čeština se vyvinula ze západních nářečí praslovanštiny na konci 10. století.', 'Je částečně ovlivněná latinou a němčinou.', 'Česky psaná literatura se objevuje od 14. století.', 'První písemné památky jsou však již z 12. století.'] case 'dan': assert sentences == ['Dansk er et østnordisk sprog indenfor den germanske gren af den indoeuropæiske sprogfamilie.', 'Det danske sprog tales af ca. seks millioner mennesker, hovedsageligt i Danmark, men også i Sydslesvig, på Færøerne og Grønland.', '[1] Dansk er tæt beslægtet med norsk, svensk og islandsk, og sproghistorisk har dansk været stærkt påvirket af plattysk.'] case 'nld': assert sentences == ['Het Nederlands is een West-Germaanse taal, de meest gebruikte taal in Nederland en België, de officiële taal van Suriname en een van de drie officiële talen van België.', 'Binnen het Koninkrijk der Nederlanden is het Nederlands ook een officiële taal van Aruba, Curaçao en Sint-Maarten.', 'Het Nederlands is na Engels en Duits de meest gesproken Germaanse taal.'] + case 'ang': + assert sentences == ['Seo ænglisce spræc (Englisc gereord) is Westgermanisc spræc,', 'þe fram Englalande aras.', 'Heo is sibb þæm Ealdfresiscan and þære Ealdseaxiscan spræcum.', 'Hit is gastleas spræc,', 'and ne hæfþ nane gebyrdlice sprecan todæg,', 'ac sume menn leorniaþ hit on Betweoxnette and writaþ on him,', 'swa swa her on þissum Wicipædian.'] case 'eng_gb' | 'eng_us' | 'other': assert sentences == ['English is a West Germanic language in the Indo-European language family.', 'Originating in early medieval England,[3][4][5] today English is both the most spoken language in the world[6] and the third most spoken native language, after Mandarin Chinese and Spanish.', '[7] English is the most widely learned second language and is either the official language or one of the official languages in 59 sovereign states.', 'There are more people who have learned English as a second language than there are native speakers.', 'As of 2005, it was estimated that there were over two billion speakers of English.', '[8]'] case 'est': @@ -94,7 +98,7 @@ def test_sentence_tokenize(lang, sentence_tokenizer): case 'lao': assert sentences == ['ພາສາລາວ (Lao: ລາວ, [láːw] ຫຼື ພາສາລາວ, [pʰáːsǎːláːw]) ເປັນພາສາຕະກູນໄທ-ກະໄດຂອງຄົນລາວ ໂດຍມີຄົນເວົ້າໃນປະເທດລາວ ເຊິ່ງເປັນພາສາລັດຖະການຂອງສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ ຂອງປະຊາກອນປະມານ 7 ລ້ານຄົນ ແລະໃນພື້ນທີ່ພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດໄທທີ່ມີຄົນເວົ້າປະມານ 23 ລ້ານຄົນ ທາງລັດຖະບານປະເທດໄທມີການສະໜັບສະໜຸນໃຫ້ເອີ້ນພາສາລາວຖິ່ນໄທວ່າ ພາສາລາວຖິ່ນອີສານ ນອກຈາກນີ້, ຢູ່ທາງພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດກຳປູເຈຍກໍມີຄົນເວົ້າພາສາລາວຄືກັນ.', 'ພາສາລາວເປັນແມ່ຂອງຄົນເຊື້ອຊາດລາວທັງຢູ່ພາຍໃນແລະຕ່າງປະເທດ ທັງເປັນພາສາກາງຂອງພົນລະເມືອງໃນປະເທດລາວທີ່ມີພາສາອື່ນອີກຫຼາຍພາສາ ເຊິ່ງບາງພາສາບໍ່ມີຄວາມກ່ຽວຂ້ອງກັບພາສານີ້[3] .'] case 'mal': - assert sentences == ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', 'മലയാള ഭാഷ കൈരളി,മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്\u200c മലയാളം.', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല, നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല, കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ, സിംഗപ്പൂർ, മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.', 'യു.എ.ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.', '[അവലംബം ആവശ്യമാണ്]'] + assert sentences == ['ദ്രാവിഡഭാഷാ കുടുംബത്തിൽ ഉൾപ്പെടുന്ന മലയാളത്തിന് ഇതര ഭാരതീയ ഭാഷകളായ സംസ്കൃതം, തമിഴ് എന്നീ ഉദാത്തഭാഷകളുമായി പ്രകടമായ ബന്ധമുണ്ട്[8].', 'പൂക്കാട്ടിയൂർ ലിഖിതങ്ങൾ 8 ക്രി.മു മുതൽ 3000 ക്രി.മു അടുത്ത് വരെയും പഴക്കം ചെന്നതാണ്.'] case 'nob': assert sentences == ['Bokmål er en av to offisielle målformer av norsk skriftspråk, hvorav den andre er nynorsk.', 'I skrift har 87,3% bokmål som hovedmål i skolen.', '[1] Etter skriftreformene av riksmål i 1987 og bokmål i 1981 og 2005 er det lite som skiller bokmål og riksmål i alminnelig bruk.'] case 'nno': @@ -163,7 +167,9 @@ def test_sentence_seg_tokenize(lang): case 'afr': assert sentence_segs == ["Afrikaans is tipologies beskou 'n Indo-Europese,", 'Wes-Germaanse,', 'Nederfrankiese taal,', '[2] wat aan die suidpunt van Afrika onder invloed van verskeie ander tale en taalgroepe ontstaan het.', "Afrikaans is op 8 Mei 1925 as 'n amptelike taal van Suid-Afrika erken en is tans die derde jongste Germaanse taal wat amptelike status geniet,", 'naas Faroëes wat in 1948 grondwetlik erken is en Luxemburgs wat hierdie status in 1984 verkry het.'] case 'ara': - assert sentence_segs == ['ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا،', 'وإحدى أكثر اللغات انتشاراً في العالم،', 'يتحدثها أكثر من 467 مليون نسمة.', '(1) ويتوزع متحدثوها في الوطن العربي،', 'بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا وإثيوبيا وجنوب السودان وإيران.', 'وبذلك فهي تحتل المركز الرابع أو الخامس من حيث اللغات الأكثر انتشارًا في العالم،', 'وهي تحتل المركز الثالث تبعًا لعدد الدول التي تعترف بها كلغة رسمية؛', 'إذ تعترف بها 27 دولة كلغة رسمية،', 'واللغة الرابعة من حيث عدد المستخدمين على الإنترنت.', 'اللغةُ العربيةُ ذات أهمية قصوى لدى المسلمين،', 'فهي عندَهم لغةٌ مقدسة إذ أنها لغة القرآن،', 'وهي لغةُ الصلاة وأساسيةٌ في القيام بالعديد من العبادات والشعائرِ الإسلامية.', 'العربيةُ هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي،', 'كما كُتبَت بها كثير من أهمِّ الأعمال الدينية والفكرية اليهودية في العصور الوسطى.', 'ارتفعتْ مكانةُ اللغةِ العربية إثْرَ انتشارِ الإسلام بين الدول إذ أصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون.', 'وللغة العربية تأثير مباشر وغير مباشر على كثير من اللغات الأخرى في العالم الإسلامي،', 'كالتركية والفارسية والأمازيغية والكردية والأردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية والصومالية،', 'وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية؛', 'ودخلت الكثير من مصطلحاتها في اللغة الإنجليزية واللغات الأخرى،', 'مثل أدميرال والتعريفة والكحول والجبر وأسماء النجوم.', 'كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.'] + assert sentence_segs == ['تحتوي اللغة العربية 28 حرفاً مكتوباً.', 'ويرى بعضُ اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية،', 'ليصبحَ عدد الحروف 29.', 'تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية على عكس كثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.'] + case 'xcl': + assert sentence_segs == ['Զգոյշ լերուք ողորմութեան ձերում՝ մի առնել առաջի մարդկան՝ որպէս թե ի ցոյց ինչ նոցա,', 'գուցէ եւ վարձս ոչ ընդունիցիք ի հաւրէ ձերմէ որ յերկինսն է:', 'Այղ յորժամ առնիցես ողորմութիւն,', 'մի հարկաներ փող առաջի քո.', 'որպէս կեղծաւորքն առնեն ի ժողովուրդս եւ ի հրապարակս.', 'որպէս զի փառաւորեսցին ի մարդկանէ:'] case 'hye': assert sentence_segs == ['Հայոց լեզվով ստեղծվել է մեծ գրականություն։', 'Գրաբարով է ավանդված հայ հին պատմագրությունը,', 'գիտափիլիսոփայական,', 'մաթեմատիկական,', 'բժշկագիտական,', 'աստվածաբանական-դավանաբանական գրականությունը։', 'Միջին գրական հայերենով են մեզ հասել միջնադարյան հայ քնարերգության գլուխգործոցները,', 'բժշկագիտական,', 'իրավագիտական նշանակալի աշխատություններ։', 'Գրական նոր հայերենի արևելահայերեն ու արևմտահայերեն գրական տարբերակներով ստեղծվել է գեղարվեստական,', 'հրապարակախոսական ու գիտական բազմատիպ ու բազմաբնույթ հարուստ գրականություն։'] case 'hyw': @@ -179,7 +185,7 @@ def test_sentence_seg_tokenize(lang): case 'bxr': assert sentence_segs == ['Буряад хэлэн (буряад-монгол хэлэн) Алтайн хэлэнэй изагуурай буряад арад түмэнһөө хэрэглэгдэжэ бай монгол хэлэнэй бүлэгэй xэлэн-аялгуу юм.', 'Бүгэдэ Найрамдаха Буряад Улас,', 'Эрхүү можо,', 'Забайкалиин хизаар,', 'Усть-Ордын болон Агын тойрогууд,', 'мүн Монгол Уласай хойто аймагууд,', 'Хитадай зүүн-хойто орондо ажаһуудаг буряадууд хэлэлсэдэг.', 'Орос гүрэндэ (1989 оной тоололгоор) 376 мянга оршом хүн буряадаар дуугардаг.', 'Буряадай 86,', '6%-нь буряад хэлые,', '13,', '3%-нь ород хэлые эхэ (түрэлхи) хэлэн гэһэн байна.', 'Баруун (эхирэд,', 'булагад),', 'дундада (алайр,', 'түнхэн),', 'зүүн (хори),', 'урда (сонгоол,', 'сартуул) гэхэ мэтэ аялгуутай.'] case 'cat': - assert sentence_segs == ['El català (denominació oficial a Catalunya,', 'a les Illes Balears,', 'a Andorra,', "a la ciutat de l'Alguer i tradicional a Catalunya del Nord) o valencià (denominació oficial al País Valencià i tradicional al Carxe) és una llengua romànica parlada a Catalunya,", "el País Valencià (tret d'algunes comarques i localitats de l'interior),", 'les Illes Balears (on també rep el nom de mallorquí,', 'menorquí,', "eivissenc o formenterer segons l'illa),", 'Andorra,', "la Franja de Ponent (a l'Aragó),", "la ciutat de l'Alguer (a l'illa de Sardenya),", 'la Catalunya del Nord,', '[8] el Carxe (un petit territori de Múrcia habitat per pobladors valencians),', "[9][10] i en comunitats arreu del món (entre les quals destaca la de l'Argentina,", 'amb 200.', '000 parlants).', '[11] Té deu milions de parlants,', 'dels quals quasi la meitat ho són de llengua materna;', 'el seu domini lingüístic,', 'amb una superfície de 68.', '730 km² i 13.', '529.', "127 d'habitants (2009),", '[12] inclou 1.', '687 termes municipals.', 'Com a llengua materna,', 'és parlada per quatre milions de persones (29% de la població del territori lingüístic),', 'de les quals 2.', '263.', '000 a Catalunya,', '[13] 1.', '521.', '000 al País Valencià[14] i 417.', '000 a les Illes Balears.', '[15] Com les altres llengües romàniques,', "el català prové del llatí vulgar que parlaven els romans que s'establiren a Hispània durant l'edat antiga."] + assert sentence_segs == ['El català té cinc grans dialectes (valencià,', 'nord-occidental,', 'central,', "balear i rossellonès) que juntament amb l'alguerès,", "es divideixen fins a vint-i-una varietats i s'agrupen en dos grans blocs:", 'el català occidental i el català oriental.', 'Les propostes normatives permeten reduir les diferències entre aquests dialectes en el català estàndard des del punt de vista gramatical,', 'fonètic i de lèxic.'] case 'lzh': assert sentence_segs == ['先民言語,', '傳乎口耳,', '至結繩以記,', '事日贅,', '是結繩之不足,', '求諸繪圖,', '繪圖猶逾,', '而創字製文,', '金石竹帛載之,', '自劉漢而書諸紙。', '唐宋降,', '文士崇古非今,', '尚先秦古文,', '規法矩繩,', '典模乃定。', '由是,', '口述耳聞者雖變於百歲千載,', '手書目觀者猶通,', '前後貫延三代。', '唯文言非創於一舉而得,', '所式所尊,', '莫衷一是,', '時比燕越。'] case 'zho_cn': @@ -198,6 +204,8 @@ def test_sentence_seg_tokenize(lang): assert sentence_segs == ['Dansk er et østnordisk sprog indenfor den germanske gren af den indoeuropæiske sprogfamilie.', 'Det danske sprog tales af ca.', 'seks millioner mennesker,', 'hovedsageligt i Danmark,', 'men også i Sydslesvig,', 'på Færøerne og Grønland.', '[1] Dansk er tæt beslægtet med norsk,', 'svensk og islandsk,', 'og sproghistorisk har dansk været stærkt påvirket af plattysk.'] case 'nld': assert sentence_segs == ['Het Nederlands is een West-Germaanse taal,', 'de meest gebruikte taal in Nederland en België,', 'de officiële taal van Suriname en een van de drie officiële talen van België.', 'Binnen het Koninkrijk der Nederlanden is het Nederlands ook een officiële taal van Aruba,', 'Curaçao en Sint-Maarten.', 'Het Nederlands is na Engels en Duits de meest gesproken Germaanse taal.'] + case 'ang': + assert sentence_segs == ['Seo ænglisce spræc (Englisc gereord) is Westgermanisc spræc,', 'þe fram Englalande aras.', 'Heo is sibb þæm Ealdfresiscan and þære Ealdseaxiscan spræcum.', 'Hit is gastleas spræc,', 'and ne hæfþ nane gebyrdlice sprecan todæg,', 'ac sume menn leorniaþ hit on Betweoxnette and writaþ on him,', 'swa swa her on þissum Wicipædian.'] case 'eng_gb' | 'eng_us' | 'other': assert sentence_segs == ['English is a West Germanic language in the Indo-European language family.', 'Originating in early medieval England,', '[3][4][5] today English is both the most spoken language in the world[6] and the third most spoken native language,', 'after Mandarin Chinese and Spanish.', '[7] English is the most widely learned second language and is either the official language or one of the official languages in 59 sovereign states.', 'There are more people who have learned English as a second language than there are native speakers.', 'As of 2005,', 'it was estimated that there were over two billion speakers of English.', '[8]'] case 'myv': @@ -263,9 +271,9 @@ def test_sentence_seg_tokenize(lang): case 'mkd': assert sentence_segs == ['Македонски јазик — јужнословенски јазик,', 'дел од групата на словенски јазици од јазичното семејство на индоевропски јазици.', 'Македонскиот е службен и национален јазик во Македонија,', 'а воедно е и официјално признат како регионален службен јазик во Горица и Пустец во Албанија каде што живее бројно македонско население,', 'но и во Србија како официјален во општините Јабука и Пландиште,', 'Романија и Косово.', 'Македонски се зборува и во Австралија,', 'Бугарија,', 'Грција,', 'Канада,', 'САД,', 'Црна Гора,', 'Турција,', 'во некои земји−членки на Европската Унија и останатата македонска дијаспора.', 'Вкупниот број на македонски говорници е тешко да се утврди поради несоодветни пописи,', 'но бројката се движи од околу 2,', '5 до 3 милиони луѓе.'] case 'mal': - assert sentence_segs == ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', 'മലയാള ഭാഷ കൈരളി,', 'മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.', 'കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്\u200c മലയാളം.', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല,', 'നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല,', 'കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ,', 'സിംഗപ്പൂർ,', 'മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.', 'ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.', 'യു.', 'എ.', 'ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.', '[അവലംബം ആവശ്യമാണ്]'] + assert sentence_segs == ['ദ്രാവിഡഭാഷാ കുടുംബത്തിൽ ഉൾപ്പെടുന്ന മലയാളത്തിന് ഇതര ഭാരതീയ ഭാഷകളായ സംസ്കൃതം,', 'തമിഴ് എന്നീ ഉദാത്തഭാഷകളുമായി പ്രകടമായ ബന്ധമുണ്ട്[8].', 'പൂക്കാട്ടിയൂർ ലിഖിതങ്ങൾ 8 ക്രി.', 'മു മുതൽ 3000 ക്രി.', 'മു അടുത്ത് വരെയും പഴക്കം ചെന്നതാണ്.'] case 'mlt': - assert sentence_segs == ["Il-Malti huwa l-ilsien nazzjonali tar-Repubblika ta' Malta.", 'Huwa l-ilsien uffiċjali flimkien mal-Ingliż;', "kif ukoll wieħed mill-ilsna uffiċjali u l-uniku wieħed ta' oriġini Għarbija (Semitiku) tal-Unjoni Ewropea.", 'Dan l-ilsien għandu sisien u għerq semitiku,', "ta' djalett Għarbi li ġej mit-Tramuntana tal-Afrika,", 'għalħekk qatt ma kellu rabta mill-qrib mal-Għarbi Klassiku.', 'Iżda tul iż-żminijiet,', "minħabba proċess tal-Latinizzazzjoni ta' Malta,", 'bdew deħlin bosta elementi lingwistiċi mill-Isqalli,', "djalett ta' art li wkoll għaddiet minn żmien ta' ħakma Għarbija.", 'Wara l-Isqalli beda dieħel ukoll it-Taljan,', "fuq kollox fiż-żmien tad-daħla tal-Kavallieri tal-Ordni ta' San Ġwann sa meta l-Ingliż ħa post it-Taljan bħala l-ilsien uffiċjali fil-Kostituzzjoni Kolonjali tal-1934.", "Il-Malti huwa l-ilsien waħdieni ta' għajn semitika li jinkiteb b'ittri Latini.", 'Studju tal-2016 juri li,', 'fil-lingwaġġ bażiku ta’ kuljum,', 'il-Maltin kapaċi jifhmu madwar terz ta’ dak li jingħad lilhom bl-Għarbi Tuneżin li huwa Għarbi tal-Maghrebi relatat mal-Għarbi Sqalli,', 'filwaqt li dawk li jitkellmu bl-Għarbi Tuneżin (Tuneżin) huma kapaċi jifhmu madwar 40% ta’ dak li jingħad lilhom bil-Malti.', '[1]'] + assert sentence_segs == ['L-oriġini tal-ilsien Malti huma attribwiti għall-wasla,', 'kmieni fis-seklu 11,', 'ta’ settlers minn Sqallija ġirien,', 'fejn kien mitkellem is-sikolu-Għarbi,', 'li biddel il-konkwista tal-gżira mill-Kalifat Fatimid fl-aħħar tas-seklu 9[18].', 'Din it-talba ġiet ikkorroborata minn studji ġenetiċi,', 'li juru li l-Maltin kontemporanji jaqsmu antenati komuni ma’ Sqallin u Calabrians,', 'bi ftit input ġenetiku mill-Afrika ta’ Fuq u l-Levant.'] case 'glv': assert sentence_segs == ['She Gaelg (graït:', '/gɪlg/) çhengey Ghaelagh Vannin.', 'Haink y Ghaelg woish Shenn-Yernish,', "as t'ee cosoylagh rish Yernish as Gaelg ny h-Albey."] case 'mar': @@ -323,7 +331,7 @@ def test_sentence_seg_tokenize(lang): case 'ukr': assert sentence_segs == ['Украї́нська мо́ва (МФА:', '[ukrɑ̽ˈjɪnʲsʲkɑ̽ ˈmɔwɑ̽],', 'історичні назви — ру́ська[10][11][12][* 1]) — національна мова українців.', "Належить до східнослов'янської групи слов'янських мов,", "що входять до індоєвропейської мовної сім'ї,", 'поряд з романськими,', 'германськими,', 'кельтськими,', 'грецькою,', 'албанською,', "вірменською та найближче спорідненими зі слов'янськими балтійськими мовами[13][14][* 2].", 'Є державною мовою в Україні[13][15].'] case 'urd': - assert sentence_segs == ['اُردُو[8] برصغیر کی معیاری زبانوں میں سے ایک ہے۔', 'یہ پاکستان کی قومی اور رابطہ عامہ کی زبان ہے،', 'جبکہ بھارت کی چھ ریاستوں کی دفتری زبان کا درجہ رکھتی ہے۔', 'آئین ہند کے مطابق اسے 22 دفتری شناخت شدہ زبانوں میں شامل کیا جا چکا ہے۔', '2001ء کی مردم شماری کے مطابق اردو کو بطور مادری زبان بھارت میں 5.', '01% فیصد لوگ بولتے ہیں اور اس لحاظ سے ہی بھارت کی چھٹی بڑی زبان ہے جبکہ پاکستان میں اسے بطور مادری زبان 7.', '59% فیصد لوگ استعمال کرتے ہیں،', 'یہ پاکستان کی پانچویں بڑی زبان ہے۔', 'اردو تاریخی طور پر ہندوستان کی مسلم آبادی سے جڑی ہے۔', '[9] زبانِ اردو کو پہچان و ترقی اس وقت ملی جب برطانوی دور میں انگریز حکمرانوں نے اسے فارسی کی بجائے انگریزی کے ساتھ شمالی ہندوستان کے علاقوں اور جموں و کشمیر میں اسے 1846ء اور پنجاب میں 1849ء میں بطور دفتری زبان نافذ کیا۔', 'اس کے علاوہ خلیجی،', 'یورپی،', 'ایشیائی اور امریکی علاقوں میں اردو بولنے والوں کی ایک بڑی تعداد آباد ہے جو بنیادی طور پر جنوبی ایشیاء سے کوچ کرنے والے اہلِ اردو ہیں۔', '1999ء کے اعداد و شمار کے مطابق اردو زبان کے مجموعی متکلمین کی تعداد دس کروڑ ساٹھ لاکھ کے لگ بھگ تھی۔', 'اس لحاظ سے یہ دنیا کی نویں بڑی زبان ہے۔', 'اردو زبان کو کئی ہندوستانی ریاستوں میں سرکاری حیثیت بھی حاصل ہے۔', 'نیپال میں،', 'اردو ایک رجسٹرڈ علاقائی بولی ہے [12] اور جنوبی افریقہ میں یہ آئین میں ایک محفوظ زبان ہے۔', 'یہ افغانستان اور بنگلہ دیش میں اقلیتی زبان کے طور پر بھی بولی جاتی ہے،', 'جس کی کوئی سرکاری حیثیت نہیں ہے۔'] + assert sentence_segs == ['1837ء میں،', 'اردو برطانوی ایسٹ انڈیا کمپنی کی سرکاری زبان بن گئی،', 'کمپنی کے دور میں پورے شمالی ہندوستان میں فارسی کی جگہ لی گئی۔', 'فارسی اس وقت تک مختلف ہند-اسلامی سلطنتوں کی درباری زبان کے طور پر کام کرتی تھی۔', '[11] یورپی نوآبادیاتی دور میں مذہبی،', 'سماجی اور سیاسی عوامل پیدا ہوئے جنھوں نے اردو اور ہندی کے درمیان فرق کیا،', 'جس کی وجہ سے ہندی-اردو تنازعہ شروع ہوا ۔'] case 'uig': assert sentence_segs == ['ئۇيغۇر تىلى ئۇيغۇر جۇڭگو شىنجاڭ ئۇيغۇر ئاپتونوم رايونىنىڭ ئېيتقان بىر تۈركىي تىلى.', 'ئۇ ئۇزاق ئەسىرلىك تەرەققىيات داۋامىدا قەدىمكى تۈركىي تىللار دەۋرى،', 'ئورخۇن ئۇيغۇر تىلى دەۋرى،', 'ئىدىقۇت-خاقانىيە ئۇيغۇر تىلى دەۋرى،', 'چاغاتاي ئۇيغۇر تىلى دەۋرىنى بېسىپ ئۆتكەن.', 'بۇ جەرياندا ئۇيغۇر تىلى ئورخۇن-يېنسەي يېزىقى،', 'قەدىمكى ئۇيغۇر يېزىقى،', 'بىراخما يېزىقى،', 'مانى يېزىقى،', '،', 'ئەرەب يېزىقى قاتارلىق يېزىقلار بىلەن خاتىرىلەنگەن (بەئزى يېزىقلار ئومۇميۈزلۈك،', 'بەزى يېزىقلار قىسمەن قوللىنىلغان)،', 'شۇنداقلا سانسىكرىتچە،', 'ساكچە،', 'تۇخارچە،', 'سوغدچە،', 'ئەرەبچە،', 'پارسچە،', 'موڭغۇلچە،', 'خىتايچە قاتارلىق نۇرغۇرن تىللار بىلەن ئۇچرىشىپ ھەم ئۆزئارا تەسىر كۆرسىتىپ،', 'ئۈزلۈكسىز مۇكەممەللەشكەن ۋە ھازىرقى زامان ئۇيغۇر تىلى دەۋرىگە كىرگەن.'] case 'vie': diff --git a/tests/tests_nlp/test_syl_tokenization.py b/tests/tests_nlp/test_syl_tokenization.py index 090fa86af..00dc3f315 100644 --- a/tests/tests_nlp/test_syl_tokenization.py +++ b/tests/tests_nlp/test_syl_tokenization.py @@ -32,11 +32,12 @@ @pytest.mark.parametrize('lang, syl_tokenizer', test_syl_tokenizers) def test_syl_tokenize(lang, syl_tokenizer): tests_lang_util_skipped = False + test_sentence = getattr(wl_test_lang_examples, f'SENTENCE_{lang.upper()}') # Untokenized tokens_untokenized = wl_syl_tokenization.wl_syl_tokenize( main, - inputs = getattr(wl_test_lang_examples, f'SENTENCE_{lang.upper()}'), + inputs = test_sentence, lang = lang, syl_tokenizer = syl_tokenizer ) @@ -45,7 +46,7 @@ def test_syl_tokenize(lang, syl_tokenizer): # Tokenized tokens = wl_word_tokenization.wl_word_tokenize_flat( main, - text = getattr(wl_test_lang_examples, f'SENTENCE_{lang.upper()}'), + text = test_sentence, lang = lang ) tokens_tokenized = wl_syl_tokenization.wl_syl_tokenize( @@ -118,7 +119,7 @@ def test_syl_tokenize(lang, syl_tokenizer): case 'bul': assert syls_tokens == [('Бъ', '̀л', 'гар', 'с', 'ки', 'ят'), ('ез', 'ѝк'), ('е',), ('ин', 'до', 'ев', 'ро', 'пейс', 'ки'), ('език',), ('от',), ('гру', 'па', 'та'), ('на',), ('юж', 'нос', 'ла', 'вян', 'с', 'ки', 'те'), ('ези', 'ци'), (',',), ('ка', 'то'), ('об', 'ра', 'зу', 'ва'), ('не', 'го', 'ва', 'та'), ('из', 'точ', 'на'), ('под', 'г', 'ру', 'па'), ('.',)] case 'cat': - assert syls_tokens == [('El',), ('ca', 'ta', 'là'), ('(',), ('de', 'no', 'mi', 'na', 'ció'), ('ofi', 'ci', 'al'), ('a',), ('Ca', 'ta', 'lu', 'nya'), (',',), ('a',), ('les',), ('Illes',), ('Ba', 'le', 'ars'), (',',), ('a',), ('An', 'dor', 'ra'), (',',), ('a',), ('la',), ('ciu', 'tat'), ('de',), ("l'", 'Al', 'guer'), ('i',), ('tra', 'di', 'ci', 'o', 'nal'), ('a',), ('Ca', 'ta', 'lu', 'nya'), ('del',), ('Nord',), (')',), ('o',), ('va', 'len', 'cià'), ('(',), ('de', 'no', 'mi', 'na', 'ció'), ('ofi', 'ci', 'al'), ('al',), ('Pa', 'ís'), ('Va', 'len', 'cià'), ('i',), ('tra', 'di', 'ci', 'o', 'nal'), ('al',), ('Car', 'xe'), (')',), ('és',), ('una',), ('llen', 'gua'), ('ro', 'mà', 'ni', 'ca'), ('par', 'la', 'da'), ('a',), ('Ca', 'ta', 'lu', 'nya'), (',',), ('el',), ('Pa', 'ís'), ('Va', 'len', 'cià'), ('(',), ('tret',), ("d'", 'al', 'gu', 'nes'), ('co', 'mar', 'ques'), ('i',), ('lo', 'ca', 'li', 'tats'), ('de',), ("l'", 'in', 'te', 'ri', 'or'), (')',), (',',), ('les',), ('Illes',), ('Ba', 'le', 'ars'), ('(',), ('on',), ('tam', 'bé'), ('rep',), ('el',), ('nom',), ('de',), ('ma', 'llor', 'quí'), (',',), ('me', 'nor', 'quí'), (',',), ('ei', 'vis', 'senc'), ('o',), ('for', 'men', 'te', 'rer'), ('se', 'gons'), ("l'", 'i', 'lla'), (')',), (',',), ('An', 'dor', 'ra'), (',',), ('la',), ('Fran', 'ja'), ('de',), ('Po', 'nent'), ('(',), ('a',), ("l'", 'A', 'ra', 'gó'), (')',), (',',), ('la',), ('ciu', 'tat'), ('de',), ("l'", 'Al', 'guer'), ('(',), ('a',), ("l'", 'i', 'lla'), ('de',), ('Sar', 'de', 'nya'), (')',), (',',), ('la',), ('Ca', 'ta', 'lu', 'nya'), ('del',), ('Nord',), (',',), ('[',), ('8',), (']',), ('el',), ('Car', 'xe'), ('(',), ('un',), ('pe', 'tit'), ('ter', 'ri', 'to', 'ri'), ('de',), ('Múr', 'cia'), ('ha', 'bi', 'tat'), ('per',), ('po', 'bla', 'dors'), ('va', 'len', 'ci', 'ans'), (')',), (',',), ('[',), ('9',), (']',), ('[',), ('10',), (']',), ('i',), ('en',), ('co', 'mu', 'ni', 'tats'), ('ar', 'reu'), ('del',), ('món',), ('(',), ('en', 'tre'), ('les',), ('quals',), ('des', 'ta', 'ca'), ('la',), ('de',), ("l'", 'Ar', 'gen', 'ti', 'na'), (',',), ('amb',), ('200.000',), ('par', 'lants'), (')',), ('.',), ('[',), ('11',), (']',)] + assert syls_tokens == [('El',), ('ca', 'ta', 'là'), ('té',), ('cinc',), ('grans',), ('di', 'a', 'lec', 'tes'), ('(',), ('va', 'len', 'cià'), (',',), ('nord', 'oc', 'ci', 'den', 'tal'), (',',), ('cen', 'tral'), (',',), ('ba', 'le', 'ar'), ('i',), ('ros', 'se', 'llo', 'nès'), (')',), ('que',), ('jun', 'ta', 'ment'), ('amb',), ("l'", 'al', 'gue', 'rès'), (',',), ('es',), ('di', 'vi', 'dei', 'xen'), ('fins',), ('a',), ('vint', 'i', 'u', 'na'), ('va', 'ri', 'e', 'tats'), ('i',), ("s'", 'a', 'gru', 'pen'), ('en',), ('dos',), ('grans',), ('blocs',), (':',), ('el',), ('ca', 'ta', 'là'), ('oc', 'ci', 'den', 'tal'), ('i',), ('el',), ('ca', 'ta', 'là'), ('ori', 'en', 'tal'), ('.',)] case 'hrv': assert syls_tokens == [('Hr', 'vat', 'ski'), ('je', 'zik'), ('(',), ('ISO',), ('639', '3'), (':',), ('hrv',), (')',), ('skup', 'ni'), ('je',), ('na', 'ziv'), ('za',), ('na', 'ci', 'onal', 'ni'), ('stan', 'dard', 'ni'), ('je', 'zik'), ('Hr', 'va', 'ta'), (',',), ('te',), ('za',), ('skup',), ('na', 'rje', 'čja'), ('i',), ('go', 'vo', 'ra'), ('ko', 'ji', 'ma'), ('go', 'vo', 're'), ('ili',), ('su',), ('ne', 'ka', 'da'), ('go', 'vo', 'ri', 'li'), ('Hr', 'va', 'ti'), ('.',)] case 'ces': diff --git a/tests/tests_nlp/test_word_tokenization.py b/tests/tests_nlp/test_word_tokenization.py index 43eb6b7ab..3dcaa1e93 100644 --- a/tests/tests_nlp/test_word_tokenization.py +++ b/tests/tests_nlp/test_word_tokenization.py @@ -78,7 +78,7 @@ def test_word_tokenize(lang, word_tokenizer): # The count of tokens should be more than the length of tokens split by space, except Vietnamese if lang == 'vie' and word_tokenizer == 'underthesea_vie': assert len(tokens) < len(sentence.split()) - elif lang != 'mal': + elif lang not in ['ara', 'mal']: assert len(tokens) > len(sentence.split()) tests_lang_util_skipped = False @@ -91,7 +91,7 @@ def test_word_tokenize(lang, word_tokenizer): case 'amh': assert tokens == ['አማርኛ[1', ']', '፡', 'የኢትዮጵያ', '፡', 'መደበኛ', '፡', 'ቋንቋ', '፡', 'ነው', '።'] case 'ara': - assert tokens == ['ٱللُّغَةُ', 'ٱلْعَرَبِيَّة', 'هي', 'أكثر', 'اللغات', 'السامية', 'تحدثًا', '،', 'وإحدى', 'أكثر', 'اللغات', 'انتشاراً', 'في', 'العالم', '،', 'يتحدثها', 'أكثر', 'من', '467', 'مليون', 'نسمة.(1', ')'] + assert tokens == ['تحتوي', 'اللغة', 'العربية', '28', 'حرفاً', 'مكتوباً.'] case 'hye': assert tokens == ['Հայոց', 'լեզվով', 'ստեղծվել', 'է', 'մեծ', 'գրականություն։', 'Գրաբարով', 'է', 'ավանդված', 'հայ', 'հին', 'պատմագրությունը', ',', 'գիտափիլիսոփայական', ',', 'մաթեմատիկական', ',', 'բժշկագիտական', ',', 'աստվածաբանական-դավանաբանական', 'գրականությունը։'] case 'asm': @@ -111,7 +111,7 @@ def test_word_tokenize(lang, word_tokenizer): case 'bul': assert tokens == ['Бъ̀лгарският', 'езѝк', 'е', 'индоевропейски', 'език', 'от', 'групата', 'на', 'южнославянските', 'езици', ',', 'като', 'образува', 'неговата', 'източна', 'подгрупа', '.'] case 'cat': - assert tokens == ['El', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'les', 'Illes', 'Balears', ',', 'a', 'Andorra', ',', 'a', 'la', 'ciutat', 'de', 'l', "'", 'Alguer', 'i', 'tradicional', 'a', 'Catalunya', 'del', 'Nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'al', 'País', 'Valencià', 'i', 'tradicional', 'al', 'Carxe', ')', 'és', 'una', 'llengua', 'romànica', 'parlada', 'a', 'Catalunya', ',', 'el', 'País', 'Valencià', '(', 'tret', 'd', "'", 'algunes', 'comarques', 'i', 'localitats', 'de', 'l', "'", 'interior', ')', ',', 'les', 'Illes', 'Balears', '(', 'on', 'també', 'rep', 'el', 'nom', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segons', 'l', "'", 'illa', ')', ',', 'Andorra', ',', 'la', 'Franja', 'de', 'Ponent', '(', 'a', 'l', "'", 'Aragó', ')', ',', 'la', 'ciutat', 'de', 'l', "'", 'Alguer', '(', 'a', 'l', "'", 'illa', 'de', 'Sardenya', ')', ',', 'la', 'Catalunya', 'del', 'Nord', ',', '[', '8', ']', 'el', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitat', 'per', 'pobladors', 'valencians', ')', ',', '[', '9', ']', '[', '10', ']', 'i', 'en', 'comunitats', 'arreu', 'del', 'món', '(', 'entre', 'les', 'quals', 'destaca', 'la', 'de', 'l', "'", 'Argentina', ',', 'amb', '200.000', 'parlants', ')', '.', '[', '11', ']'] + assert tokens == ['El', 'català', 'té', 'cinc', 'grans', 'dialectes', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonès', ')', 'que', 'juntament', 'amb', 'l', "'", 'alguerès', ',', 'es', 'divideixen', 'fins', 'a', 'vint-i-una', 'varietats', 'i', 's', "'", 'agrupen', 'en', 'dos', 'grans', 'blocs', ':', 'el', 'català', 'occidental', 'i', 'el', 'català', 'oriental', '.'] case 'zho_cn': match word_tokenizer: case 'pkuseg_zho': @@ -230,9 +230,9 @@ def test_word_tokenize(lang, word_tokenizer): case 'mal': match word_tokenizer: case 'sacremoses_moses': - assert tokens == ['ഇന്ത്യയിൽ', 'കേരള', 'സംസ്ഥാനത്തിലും', 'കേന്ദ്രഭരണപ്രദേശങ്ങളായ', 'ലക്ഷദ്വീപിലും', 'പോണ്ടിച്ചേരിയുടെ', 'ഭാഗമായ', 'മാഹിയിലും', 'തമിഴ്നാട്ടിലെ', 'കന്യാകുമാരി', 'ജില്ലയിലും', 'നീലഗിരി', 'ജില്ലയിലെ', 'ഗൂഡല്ലൂർ', 'താലൂക്കിലും', 'സംസാരിക്കപ്പെടുന്ന', 'ഭാഷയാണ്', 'മലയാളം', '.'] + assert tokens == ['ദ്രാവിഡഭാഷാ', 'കുടുംബത്തിൽ', 'ഉൾപ്പെടുന്ന', 'മലയാളത്തിന്', 'ഇതര', 'ഭാരതീയ', 'ഭാഷകളായ', 'സംസ്കൃതം', ',', 'തമിഴ്', 'എന്നീ', 'ഉദാത്തഭാഷകളുമായി', 'പ്രകടമായ', 'ബന്ധമുണ്ട്', '[', '8', ']', '.'] case 'spacy_mal': - assert tokens == ['ഇന്ത്യയിൽ', 'കേരള', 'സംസ്ഥാനത്തിലും', 'കേന്ദ്രഭരണപ്രദേശങ്ങളായ', 'ലക്ഷദ്വീപിലും', 'പോണ്ടിച്ചേരിയുടെ', 'ഭാഗമായ', 'മാഹിയിലും', 'തമിഴ്നാട്ടിലെ', 'കന്യാകുമാരി', 'ജില്ലയിലും', 'നീലഗിരി', 'ജില്ലയിലെ', 'ഗൂഡല്ലൂർ', 'താലൂക്കിലും', 'സംസാരിക്കപ്പെടുന്ന', 'ഭാഷയാണ്', 'മലയാളം.'] + assert tokens == ['ദ്രാവിഡഭാഷാ', 'കുടുംബത്തിൽ', 'ഉൾപ്പെടുന്ന', 'മലയാളത്തിന്', 'ഇതര', 'ഭാരതീയ', 'ഭാഷകളായ', 'സംസ്കൃതം', ',', 'തമിഴ്', 'എന്നീ', 'ഉദാത്തഭാഷകളുമായി', 'പ്രകടമായ', 'ബന്ധമുണ്ട്[8', ']', '.'] case _: tests_lang_util_skipped = True case 'mar': @@ -324,7 +324,7 @@ def test_word_tokenize(lang, word_tokenizer): case 'ukr': assert tokens == ['Украї́нська', 'мо́ва', '(', 'МФА', ':', '[', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'ˈmɔwɑ̽', ']', ',', 'історичні', 'назви', '—', 'ру́ська', ',', 'руси́нська[10][11][12', ']', '[', '*', '1', ']', ')', '—', 'національна', 'мова', 'українців', '.'] case 'urd': - assert tokens == ['اُردُو[8', ']', 'برصغیر', 'کی', 'معیاری', 'زبانوں', 'میں', 'سے', 'ایک', 'ہے', '۔'] + assert tokens == ['1837ء', 'میں', '،', 'اردو', 'برطانوی', 'ایسٹ', 'انڈیا', 'کمپنی', 'کی', 'سرکاری', 'زبان', 'بن', 'گئی', '،', 'کمپنی', 'کے', 'دور', 'میں', 'پورے', 'شمالی', 'ہندوستان', 'میں', 'فارسی', 'کی', 'جگہ', 'لی', 'گئی', '۔'] case 'vie': match word_tokenizer: case 'nltk_tok_tok': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_cat.py b/tests/tests_nlp/tests_spacy/test_spacy_cat.py index 24d36f1dd..06c2e66f9 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_cat.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_cat.py @@ -19,16 +19,16 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_cat(): - results_pos_tag = [('El', 'DET'), ('català', 'NOUN'), ('(', 'PUNCT'), ('denominació', 'NOUN'), ('oficial', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('les', 'DET'), ('Illes', 'PROPN'), ('Balears', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('Andorra', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('la', 'DET'), ('ciutat', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('Alguer', 'PROPN'), ('i', 'CCONJ'), ('tradicional', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), ('d', 'ADP'), ('el', 'DET'), ('Nord', 'PROPN'), (')', 'PUNCT'), ('o', 'CCONJ'), ('valencià', 'NOUN'), ('(', 'PUNCT'), ('denominació', 'NOUN'), ('oficial', 'ADJ'), ('a', 'ADP'), ('l', 'DET'), ('País', 'PROPN'), ('Valencià', 'PROPN'), ('i', 'CCONJ'), ('tradicional', 'ADJ'), ('a', 'ADP'), ('l', 'DET'), ('Carxe', 'PROPN'), (')', 'PUNCT'), ('és', 'AUX'), ('una', 'DET'), ('llengua', 'NOUN'), ('romànica', 'ADJ'), ('parlada', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), (',', 'PUNCT'), ('el', 'DET'), ('País', 'PROPN'), ('Valencià', 'PROPN'), ('(', 'PUNCT'), ('tret', 'NOUN'), ("d'", 'ADP'), ('algunes', 'DET'), ('comarques', 'NOUN'), ('i', 'CCONJ'), ('localitats', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('interior', 'NOUN'), (')', 'PUNCT'), (',', 'PUNCT'), ('les', 'DET'), ('Illes', 'PROPN'), ('Balears', 'PROPN'), ('(', 'PUNCT'), ('on', 'PRON'), ('també', 'ADV'), ('rep', 'VERB'), ('el', 'DET'), ('nom', 'NOUN'), ('de', 'ADP'), ('mallorquí', 'NOUN'), (',', 'PUNCT'), ('menorquí', 'NOUN'), (',', 'PUNCT'), ('eivissenc', 'NOUN'), ('o', 'CCONJ'), ('formenterer', 'NOUN'), ('segons', 'ADP'), ("l'", 'DET'), ('illa', 'NOUN'), (')', 'PUNCT'), (',', 'PUNCT'), ('Andorra', 'PROPN'), (',', 'PUNCT'), ('la', 'DET'), ('Franja', 'PROPN'), ('de', 'ADP'), ('Ponent', 'PROPN'), ('(', 'PUNCT'), ('a', 'ADP'), ("l'", 'DET'), ('Aragó', 'PROPN'), (')', 'PUNCT'), (',', 'PUNCT'), ('la', 'DET'), ('ciutat', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('Alguer', 'PROPN'), ('(', 'PUNCT'), ('a', 'ADP'), ("l'", 'DET'), ('illa', 'NOUN'), ('de', 'ADP'), ('Sardenya', 'PROPN'), (')', 'PUNCT'), (',', 'PUNCT'), ('la', 'DET'), ('Catalunya', 'PROPN'), ('d', 'ADP'), ('el', 'DET'), ('Nord,[8', 'PROPN'), (']', 'PUNCT'), ('el', 'DET'), ('Carxe', 'PROPN'), ('(', 'PUNCT'), ('un', 'DET'), ('petit', 'ADJ'), ('territori', 'NOUN'), ('de', 'ADP'), ('Múrcia', 'PROPN'), ('habitat', 'ADJ'), ('per', 'ADP'), ('pobladors', 'NOUN'), ('valencians),[9][10', 'NUM'), (']', 'PUNCT'), ('i', 'CCONJ'), ('en', 'ADP'), ('comunitats', 'NOUN'), ('arreu', 'ADV'), ('d', 'ADP'), ('el', 'DET'), ('món', 'NOUN'), ('(', 'PUNCT'), ('entre', 'ADP'), ('les', 'DET'), ('quals', 'PRON'), ('destaca', 'VERB'), ('la', 'DET'), ('de', 'ADP'), ("l'", 'DET'), ('Argentina', 'PROPN'), (',', 'PUNCT'), ('amb', 'ADP'), ('200.000', 'NUM'), ('parlants).[11', 'NUM'), (']', 'PUNCT')] + results_pos_tag = [('El', 'DET'), ('català', 'NOUN'), ('té', 'VERB'), ('cinc', 'NUM'), ('grans', 'ADJ'), ('dialectes', 'NOUN'), ('(', 'PUNCT'), ('valencià', 'PROPN'), (',', 'PUNCT'), ('nord-occidental', 'ADJ'), (',', 'PUNCT'), ('central', 'ADJ'), (',', 'PUNCT'), ('balear', 'ADJ'), ('i', 'CCONJ'), ('rossellonès', 'NOUN'), (')', 'PUNCT'), ('que', 'PRON'), ('juntament', 'ADV'), ('amb', 'ADP'), ("l'", 'DET'), ('alguerès', 'NOUN'), (',', 'PUNCT'), ('es', 'PRON'), ('divideixen', 'VERB'), ('fins', 'ADV'), ('a', 'ADP'), ('vint-i-una', 'NUM'), ('varietats', 'NOUN'), ('i', 'CCONJ'), ("s'", 'PRON'), ('agrupen', 'VERB'), ('en', 'ADP'), ('dos', 'NUM'), ('grans', 'ADJ'), ('blocs', 'NOUN'), (':', 'PUNCT'), ('el', 'DET'), ('català', 'NOUN'), ('occidental', 'ADJ'), ('i', 'CCONJ'), ('el', 'DET'), ('català', 'NOUN'), ('oriental', 'ADJ'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'cat', - results_sentence_tokenize_trf = ["El català (denominació oficial a Catalunya, a les Illes Balears, a Andorra, a la ciutat de l'Alguer i tradicional a Catalunya del Nord) o valencià (denominació oficial al País Valencià i tradicional al Carxe) és una llengua romànica parlada a Catalunya, el País Valencià (tret d'algunes comarques i localitats de l'interior), les Illes Balears (on també rep el nom de mallorquí, menorquí, eivissenc o formenterer segons l'illa), Andorra, la Franja de Ponent (a l'Aragó), la ciutat de l'Alguer (a l'illa de Sardenya), la Catalunya del Nord,[8] el Carxe (un petit territori de Múrcia habitat per pobladors valencians),[9][10] i en comunitats arreu del món (entre les quals destaca la de l'Argentina, amb 200.000 parlants).[11] Té deu milions de parlants, dels quals quasi la meitat ho són de llengua materna; el seu domini lingüístic, amb una superfície de 68.730 km² i 13.529.127 d'habitants (2009),[12] inclou 1.687 termes municipals.", "Com a llengua materna, és parlada per quatre milions de persones (29% de la població del territori lingüístic), de les quals 2.263.000 a Catalunya,[13] 1.521.000 al País Valencià[14] i 417.000 a les Illes Balears.[15] Com les altres llengües romàniques, el català prové del llatí vulgar que parlaven els romans que s'establiren a Hispània durant l'edat antiga."], - results_word_tokenize = ['El', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'les', 'Illes', 'Balears', ',', 'a', 'Andorra', ',', 'a', 'la', 'ciutat', 'de', "l'", 'Alguer', 'i', 'tradicional', 'a', 'Catalunya', 'd', 'el', 'Nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'a', 'l', 'País', 'Valencià', 'i', 'tradicional', 'a', 'l', 'Carxe', ')', 'és', 'una', 'llengua', 'romànica', 'parlada', 'a', 'Catalunya', ',', 'el', 'País', 'Valencià', '(', 'tret', "d'", 'algunes', 'comarques', 'i', 'localitats', 'de', "l'", 'interior', ')', ',', 'les', 'Illes', 'Balears', '(', 'on', 'també', 'rep', 'el', 'nom', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segons', "l'", 'illa', ')', ',', 'Andorra', ',', 'la', 'Franja', 'de', 'Ponent', '(', 'a', "l'", 'Aragó', ')', ',', 'la', 'ciutat', 'de', "l'", 'Alguer', '(', 'a', "l'", 'illa', 'de', 'Sardenya', ')', ',', 'la', 'Catalunya', 'd', 'el', 'Nord,[8', ']', 'el', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitat', 'per', 'pobladors', 'valencians),[9][10', ']', 'i', 'en', 'comunitats', 'arreu', 'd', 'el', 'món', '(', 'entre', 'les', 'quals', 'destaca', 'la', 'de', "l'", 'Argentina', ',', 'amb', '200.000', 'parlants).[11', ']'], + results_sentence_tokenize_trf = ["El català té cinc grans dialectes (valencià, nord-occidental, central, balear i rossellonès) que juntament amb l'alguerès, es divideixen fins a vint-i-una varietats i s'agrupen en dos grans blocs: el català occidental i el català oriental.", 'Les propostes normatives permeten reduir les diferències entre aquests dialectes en el català estàndard des del punt de vista gramatical, fonètic i de lèxic.'], + results_word_tokenize = ['El', 'català', 'té', 'cinc', 'grans', 'dialectes', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonès', ')', 'que', 'juntament', 'amb', "l'", 'alguerès', ',', 'es', 'divideixen', 'fins', 'a', 'vint-i-una', 'varietats', 'i', "s'", 'agrupen', 'en', 'dos', 'grans', 'blocs', ':', 'el', 'català', 'occidental', 'i', 'el', 'català', 'oriental', '.'], results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, - results_lemmatize = ['el', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'el', 'Illes', 'Balears', ',', 'a', 'Andorra', ',', 'a', 'el', 'ciutat', 'de', 'el', 'Alguer', 'i', 'tradicional', 'a', 'Catalunya', 'de', 'el', 'Nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'a', 'el', 'País', 'Valencià', 'i', 'tradicional', 'a', 'el', 'Carxe', ')', 'ser', 'un', 'llengua', 'romànic', 'parlat', 'a', 'Catalunya', ',', 'el', 'País', 'Valencià', '(', 'tret', 'de', 'algun', 'comarca', 'i', 'localitat', 'de', 'el', 'interior', ')', ',', 'el', 'Illes', 'Balears', '(', 'on', 'també', 'rebre', 'el', 'nom', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segons', 'el', 'illa', ')', ',', 'Andorra', ',', 'el', 'Franja', 'de', 'Ponent', '(', 'a', 'el', 'Aragó', ')', ',', 'el', 'ciutat', 'de', 'el', 'Alguer', '(', 'a', 'el', 'illa', 'de', 'Sardenya', ')', ',', 'el', 'Catalunya', 'de', 'el', 'Nord,[8', ']', 'el', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitat', 'per', 'poblador', 'valencians),[9][10', ']', 'i', 'en', 'comunitat', 'arreu', 'de', 'el', 'món', '(', 'entre', 'el', 'qual', 'destacar', 'el', 'de', 'el', 'Argentina', ',', 'amb', '200.000', 'parlants).[11', ']'], - results_dependency_parse = [('El', 'català', 'det', 1), ('català', 'llengua', 'nsubj', 46), ('(', 'denominació', 'punct', 1), ('denominació', 'català', 'appos', -2), ('oficial', 'denominació', 'amod', -1), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'denominació', 'nmod', -3), (',', 'Illes', 'punct', 3), ('a', 'Illes', 'case', 2), ('les', 'Illes', 'det', 1), ('Illes', 'Catalunya', 'conj', -4), ('Balears', 'Illes', 'flat', -1), (',', 'Andorra', 'punct', 2), ('a', 'Andorra', 'case', 1), ('Andorra', 'Catalunya', 'conj', -8), (',', 'ciutat', 'punct', 3), ('a', 'ciutat', 'case', 2), ('la', 'ciutat', 'det', 1), ('ciutat', 'denominació', 'conj', -15), ('de', 'Alguer', 'case', 2), ("l'", 'Alguer', 'det', 1), ('Alguer', 'ciutat', 'nmod', -3), ('i', 'tradicional', 'cc', 1), ('tradicional', 'denominació', 'conj', -20), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'tradicional', 'nmod', -2), ('d', 'Nord', 'case', 2), ('el', 'Nord', 'det', 1), ('Nord', 'Catalunya', 'flat', -3), (')', 'denominació', 'punct', -26), ('o', 'valencià', 'cc', 1), ('valencià', 'català', 'conj', -30), ('(', 'denominació', 'punct', 1), ('denominació', 'valencià', 'appos', -2), ('oficial', 'denominació', 'amod', -1), ('a', 'País', 'case', 2), ('l', 'País', 'det', 1), ('País', 'oficial', 'nmod', -3), ('Valencià', 'País', 'flat', -1), ('i', 'tradicional', 'cc', 1), ('tradicional', 'oficial', 'conj', -6), ('a', 'Carxe', 'case', 2), ('l', 'Carxe', 'det', 1), ('Carxe', 'tradicional', 'nmod', -3), (')', 'denominació', 'punct', -11), ('és', 'llengua', 'cop', 2), ('una', 'llengua', 'det', 1), ('llengua', 'llengua', 'ROOT', 0), ('romànica', 'llengua', 'amod', -1), ('parlada', 'llengua', 'amod', -2), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'parlada', 'obl', -2), (',', 'País', 'punct', 2), ('el', 'País', 'det', 1), ('País', 'Catalunya', 'flat', -3), ('Valencià', 'País', 'flat', -1), ('(', 'comarques', 'punct', 4), ('tret', 'comarques', 'case', 3), ("d'", 'tret', 'fixed', -1), ('algunes', 'comarques', 'det', 1), ('comarques', 'Catalunya', 'nmod', -9), ('i', 'localitats', 'cc', 1), ('localitats', 'comarques', 'conj', -2), ('de', 'interior', 'case', 2), ("l'", 'interior', 'det', 1), ('interior', 'comarques', 'nmod', -5), (')', 'comarques', 'punct', -6), (',', 'Illes', 'punct', 2), ('les', 'Illes', 'det', 1), ('Illes', 'Catalunya', 'flat', -18), ('Balears', 'Illes', 'flat', -1), ('(', 'rep', 'punct', 3), ('on', 'rep', 'obl', 2), ('també', 'rep', 'advmod', 1), ('rep', 'Illes', 'acl', -5), ('el', 'nom', 'det', 1), ('nom', 'rep', 'obj', -2), ('de', 'mallorquí', 'case', 1), ('mallorquí', 'nom', 'nmod', -2), (',', 'menorquí', 'punct', 1), ('menorquí', 'mallorquí', 'conj', -2), (',', 'eivissenc', 'punct', 1), ('eivissenc', 'mallorquí', 'conj', -4), ('o', 'formenterer', 'cc', 1), ('formenterer', 'mallorquí', 'conj', -6), ('segons', 'illa', 'case', 2), ("l'", 'illa', 'det', 1), ('illa', 'rep', 'obl', -13), (')', 'rep', 'punct', -14), (',', 'Andorra', 'punct', 1), ('Andorra', 'Catalunya', 'flat', -39), (',', 'Franja', 'punct', 2), ('la', 'Franja', 'det', 1), ('Franja', 'Catalunya', 'flat', -42), ('de', 'Ponent', 'case', 1), ('Ponent', 'Franja', 'flat', -2), ('(', 'Aragó', 'punct', 3), ('a', 'Aragó', 'case', 2), ("l'", 'Aragó', 'det', 1), ('Aragó', 'Franja', 'nmod', -6), (')', 'Aragó', 'punct', -1), (',', 'ciutat', 'punct', 2), ('la', 'ciutat', 'det', 1), ('ciutat', 'Catalunya', 'appos', -52), ('de', 'Alguer', 'case', 2), ("l'", 'Alguer', 'det', 1), ('Alguer', 'ciutat', 'nmod', -3), ('(', 'illa', 'punct', 3), ('a', 'illa', 'case', 2), ("l'", 'illa', 'det', 1), ('illa', 'ciutat', 'nmod', -7), ('de', 'Sardenya', 'case', 1), ('Sardenya', 'illa', 'nmod', -2), (')', 'illa', 'punct', -3), (',', 'Catalunya', 'punct', 2), ('la', 'Catalunya', 'det', 1), ('Catalunya', 'Catalunya', 'flat', -65), ('d', 'Nord,[8', 'case', 2), ('el', 'Nord,[8', 'det', 1), ('Nord,[8', 'Catalunya', 'flat', -3), (']', 'Catalunya', 'punct', -4), ('el', 'Carxe', 'det', 1), ('Carxe', 'Catalunya', 'flat', -71), ('(', 'territori', 'punct', 3), ('un', 'territori', 'det', 2), ('petit', 'territori', 'amod', 1), ('territori', 'Carxe', 'appos', -4), ('de', 'Múrcia', 'case', 1), ('Múrcia', 'territori', 'nmod', -2), ('habitat', 'territori', 'amod', -3), ('per', 'pobladors', 'case', 1), ('pobladors', 'habitat', 'obj', -2), ('valencians),[9][10', 'Carxe', 'nummod', -10), (']', 'valencians),[9][10', 'punct', -1), ('i', 'comunitats', 'cc', 2), ('en', 'comunitats', 'case', 1), ('comunitats', 'Catalunya', 'conj', -85), ('arreu', 'comunitats', 'advmod', -1), ('d', 'món', 'case', 2), ('el', 'món', 'det', 1), ('món', 'arreu', 'obl', -3), ('(', 'destaca', 'punct', 4), ('entre', 'quals', 'case', 2), ('les', 'quals', 'det', 1), ('quals', 'destaca', 'obl', 1), ('destaca', 'comunitats', 'acl', -9), ('la', 'destaca', 'det', -1), ('de', 'la', 'case', -1), ("l'", 'Argentina', 'det', 1), ('Argentina', 'la', 'nsubj', -3), (',', 'parlants).[11', 'punct', 3), ('amb', 'parlants).[11', 'case', 2), ('200.000', 'parlants).[11', 'nummod', 1), ('parlants).[11', 'destaca', 'nmod', -8), (']', 'destaca', 'punct', -9)] + results_lemmatize = ['el', 'català', 'tenir', 'cinc', 'gran', 'dialecte', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonè', ')', 'que', 'juntament', 'amb', 'el', 'alguerès', ',', 'se', 'dividir', 'fins', 'a', 'vint-i-un', 'varietat', 'i', 'se', 'agrupar', 'en', 'dos', 'gran', 'bloc', ':', 'el', 'català', 'occidental', 'i', 'el', 'català', 'oriental', '.'], + results_dependency_parse = [('El', 'català', 'det', 1), ('català', 'té', 'nsubj', 1), ('té', 'té', 'ROOT', 0), ('cinc', 'dialectes', 'nummod', 2), ('grans', 'dialectes', 'amod', 1), ('dialectes', 'té', 'obj', -3), ('(', 'valencià', 'punct', 1), ('valencià', 'dialectes', 'appos', -2), (',', 'nord-occidental', 'punct', 1), ('nord-occidental', 'valencià', 'conj', -2), (',', 'central', 'punct', 1), ('central', 'valencià', 'conj', -4), (',', 'balear', 'punct', 1), ('balear', 'valencià', 'conj', -6), ('i', 'rossellonès', 'cc', 1), ('rossellonès', 'valencià', 'conj', -8), (')', 'valencià', 'punct', -9), ('que', 'divideixen', 'nsubj', 7), ('juntament', 'alguerès', 'case', 3), ('amb', 'juntament', 'fixed', -1), ("l'", 'alguerès', 'det', 1), ('alguerès', 'que', 'nmod', -4), (',', 'que', 'punct', -5), ('es', 'divideixen', 'obj', 1), ('divideixen', 'dialectes', 'acl', -19), ('fins', 'vint-i-una', 'advmod', 2), ('a', 'fins', 'fixed', -1), ('vint-i-una', 'varietats', 'nummod', 1), ('varietats', 'divideixen', 'obj', -4), ('i', 'agrupen', 'cc', 2), ("s'", 'agrupen', 'obj', 1), ('agrupen', 'divideixen', 'conj', -7), ('en', 'blocs', 'case', 3), ('dos', 'blocs', 'nummod', 2), ('grans', 'blocs', 'amod', 1), ('blocs', 'agrupen', 'obj', -4), (':', 'català', 'punct', 2), ('el', 'català', 'det', 1), ('català', 'blocs', 'appos', -3), ('occidental', 'català', 'amod', -1), ('i', 'català', 'cc', 2), ('el', 'català', 'det', 1), ('català', 'català', 'conj', -4), ('oriental', 'català', 'amod', -1), ('.', 'té', 'punct', -42)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza.py b/tests/tests_nlp/tests_stanza/test_stanza.py index a3b55b279..8d3540f2b 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza.py +++ b/tests/tests_nlp/tests_stanza/test_stanza.py @@ -92,7 +92,7 @@ def wl_test_sentence_tokenize(lang, results): print(f'{sentences}\n') # The count of sentences should be more than 1 - if lang in ['fro', 'kaz', 'pcm', 'qpm']: + if lang in ['ara', 'fro', 'kaz', 'pcm', 'qpm']: assert len(sentences) == 1 else: assert len(sentences) > 1 @@ -135,8 +135,9 @@ def wl_test_lemmatize(lang, test_sentence, tokens, results): test_lemmatization.wl_test_lemmatize_models( lang, lemmatizer, test_sentence, tokens, results, lang_exceptions = [ - 'bul', 'chu', 'cop', 'est', 'got', 'grc', 'ell', 'hin', 'isl', 'lij', - 'lit', 'glv', 'pcm', 'pol', 'orv', 'sme', 'san', 'tur', 'cym' + 'xcl', 'bul', 'chu', 'cop', 'ang', 'est', 'got', 'grc', 'ell', 'hin', + 'isl', 'lij', 'lit', 'glv', 'pcm', 'pol', 'orv', 'sme', 'san', 'tur', + 'cym' ] ) diff --git a/tests/tests_nlp/tests_stanza/test_stanza_ang.py b/tests/tests_nlp/tests_stanza/test_stanza_ang.py new file mode 100644 index 000000000..b1e853ac8 --- /dev/null +++ b/tests/tests_nlp/tests_stanza/test_stanza_ang.py @@ -0,0 +1,33 @@ +# ---------------------------------------------------------------------- +# Wordless: Tests - NLP - Stanza - English (Old) +# Copyright (C) 2018-2024 Ye Lei (叶磊) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ---------------------------------------------------------------------- + +from tests.tests_nlp.tests_stanza import test_stanza + +def test_stanza_ang(): + test_stanza.wl_test_stanza( + lang = 'ang', + results_sentence_tokenize = ['Seo ænglisce spræc (Englisc gereord) is Westgermanisc spræc, þe fram Englalande aras.', 'Heo is sibb þæm Ealdfresiscan and þære Ealdseaxiscan spræcum.', 'Hit is gastleas spræc, and ne hæfþ nane gebyrdlice sprecan todæg, ac sume menn leorniaþ hit on Betweoxnette and writaþ on him, swa swa her on þissum Wicipædian.'], + results_word_tokenize = ['Seo', 'ænglisce', 'spræc', '(', 'Englisc', 'gereord', ')', 'is', 'Westgermanisc', 'spræc', ',', 'þe', 'fram', 'Englalande', 'aras', '.'], + results_pos_tag = [('Seo', 'demonstrative-article'), ('ænglisce', 'adjective'), ('spræc', 'main-verb'), ('(', 'punctuation'), ('Englisc', 'adjective'), ('gereord', 'common noun'), (')', 'punctuation'), ('is', 'auxiliary-verb'), ('Westgermanisc', 'proper noun'), ('spræc', 'main-verb'), (',', 'punctuation'), ('þe', 'pronoun'), ('fram', 'adposition'), ('Englalande', 'proper noun'), ('aras', 'main-verb'), ('.', 'punctuation')], + results_pos_tag_universal = [('Seo', 'DET'), ('ænglisce', 'ADJ'), ('spræc', 'VERB'), ('(', 'PUNCT'), ('Englisc', 'ADJ'), ('gereord', 'NOUN'), (')', 'PUNCT'), ('is', 'AUX'), ('Westgermanisc', 'PROPN'), ('spræc', 'VERB'), (',', 'PUNCT'), ('þe', 'PRON'), ('fram', 'ADP'), ('Englalande', 'PROPN'), ('aras', 'VERB'), ('.', 'PUNCT')], + results_lemmatize = ['se-sēo-ðæt (DEM)', 'ǣnglisc', 'sprecan(ge)', '(', 'Englisc', 'reord(ge) ‘voice; language, speech’', ')', 'bēon/wesan/sēon ‘to be’', 'Westgermanisc', 'sprecan(ge)', ',', 'þe', 'fram ‘from, by; since’ (PREP)', 'Englaland', 'ārīsan ‘to arise; to rise; to spring from; to ascend’', '.'], + results_dependency_parse = [('Seo', 'ænglisce', 'det', 1), ('ænglisce', 'spræc', 'nsubj', 1), ('spræc', 'spræc', 'root', 0), ('(', 'gereord', 'punct', 2), ('Englisc', 'gereord', 'amod', 1), ('gereord', 'spræc', 'nsubj', -3), (')', 'spræc', 'punct', 3), ('is', 'spræc', 'cop', 2), ('Westgermanisc', 'spræc', 'nsubj', 1), ('spræc', 'spræc', 'parataxis', -7), (',', 'aras', 'punct', 4), ('þe', 'aras', 'nsubj', 3), ('fram', 'Englalande', 'case', 1), ('Englalande', 'aras', 'obl:lmod', 1), ('aras', 'Westgermanisc', 'acl:relcl', -6), ('.', 'aras', 'punct', -1)] + ) + +if __name__ == '__main__': + test_stanza_ang() diff --git a/tests/tests_nlp/tests_stanza/test_stanza_ara.py b/tests/tests_nlp/tests_stanza/test_stanza_ara.py index 2c51c3440..70d7ede5a 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_ara.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_ara.py @@ -21,12 +21,12 @@ def test_stanza_ara(): test_stanza.wl_test_stanza( lang = 'ara', - results_sentence_tokenize = ['ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة.(1) ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا وإثيوبيا وجنوب السودان وإيران. وبذلك فهي تحتل المركز الرابع أو الخامس من حيث اللغات الأكثر انتشارًا في العالم، وهي تحتل المركز الثالث تبعًا لعدد الدول التي تعترف بها كلغة رسمية؛ إذ تعترف بها 27 دولة كلغة رسمية، واللغة الرابعة من حيث عدد المستخدمين على الإنترنت. اللغةُ العربيةُ ذات أهمية قصوى لدى المسلمين، فهي عندَهم لغةٌ مقدسة إذ أنها لغة القرآن، وهي لغةُ الصلاة وأساسيةٌ في القيام بالعديد من العبادات والشعائرِ الإسلامية. العربيةُ هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كُتبَت بها كثير من أهمِّ الأعمال الدينية والفكرية اليهودية في العصور الوسطى. ارتفعتْ مكانةُ اللغةِ العربية إثْرَ انتشارِ الإسلام بين الدول إذ أصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون. وللغة العربية تأثير مباشر وغير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية والصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية؛ ودخلت الكثير من مصطلحاتها في اللغة الإنجليزية واللغات الأخرى، مثل أدميرال والتعريفة والكحول والجبر وأسماء النجوم.', 'كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.'], - results_word_tokenize = ['ٱللُّغَة', 'ُ', 'ٱلْعَرَبِيَّة', 'هي', 'أكثر', 'اللغات', 'السامية', 'تحدثًا', '،', 'وإحدى', 'أكثر', 'اللغات', 'انتشاراً', 'في', 'العالم', '،', 'يتحدثها', 'أكثر', 'من', '467', 'مليون', 'نسمة', '.', '(', '1', ')'], - results_pos_tag = [('ٱللُّغَة', 'U---------'), ('ُ', 'U---------'), ('ٱلْعَرَبِيَّة', 'U---------'), ('هي', 'SP---3FS1-'), ('أكثر', 'A-----MS1R'), ('اللغات', 'N------P2D'), ('السامية', 'N------S2D'), ('تحدثًا', 'N------S4I'), ('،', 'G---------'), ('و', 'C---------'), ('إحدى', 'N------S1R'), ('أكثر', 'A-----MS2R'), ('اللغات', 'N------P2D'), ('انتشاراً', 'N------S4I'), ('في', 'P---------'), ('العالم', 'N------S2D'), ('،', 'G---------'), ('يتحدث', 'VIIA-3MS--'), ('ها', 'SP---3FS4-'), ('أكثر', 'A-----MS1I'), ('من', 'P---------'), ('467', 'Q---------'), ('مليون', 'QM-----S4R'), ('نسمة', 'N------S2I'), ('.', 'G---------'), ('(', 'G---------'), ('1', 'Q---------'), (')', 'G---------')], - results_pos_tag_universal = [('ٱللُّغَة', 'X'), ('ُ', 'X'), ('ٱلْعَرَبِيَّة', 'X'), ('هي', 'PRON'), ('أكثر', 'ADJ'), ('اللغات', 'NOUN'), ('السامية', 'NOUN'), ('تحدثًا', 'NOUN'), ('،', 'PUNCT'), ('و', 'CCONJ'), ('إحدى', 'NOUN'), ('أكثر', 'ADJ'), ('اللغات', 'NOUN'), ('انتشاراً', 'NOUN'), ('في', 'ADP'), ('العالم', 'NOUN'), ('،', 'PUNCT'), ('يتحدث', 'VERB'), ('ها', 'PRON'), ('أكثر', 'ADJ'), ('من', 'ADP'), ('467', 'NUM'), ('مليون', 'NUM'), ('نسمة', 'NOUN'), ('.', 'PUNCT'), ('(', 'PUNCT'), ('1', 'NUM'), (')', 'PUNCT')], - results_lemmatize = ['ٱللُّغَة', 'ُ', 'ٱلْعَرَبِيَّة', 'هُوَ', 'أَكثَر', 'لُغَة', 'سَامِيَّة', 'تَحَدُّث', '،', 'وَ', 'إِحدَى', 'أَكثَر', 'لُغَة', 'اِنتِشَار', 'فِي', 'عَالَم', '،', 'تَحَدَّث', 'هُوَ', 'أَكثَر', 'مِن', '467', 'مِليُون', 'نَسَمَة', '.', '(', '1', ')'], - results_dependency_parse = [('ٱللُّغَة', 'أكثر', 'nsubj', 4), ('ُ', 'ٱللُّغَة', 'nmod', -1), ('ٱلْعَرَبِيَّة', 'ُ', 'nmod', -1), ('هي', 'أكثر', 'obl', 1), ('أكثر', 'أكثر', 'root', 0), ('اللغات', 'أكثر', 'nmod', -1), ('السامية', 'اللغات', 'nmod', -1), ('تحدثًا', 'أكثر', 'obl', -3), ('،', 'تحدثًا', 'punct', -1), ('و', 'يتحدث', 'cc', 8), ('إحدى', 'أكثر', 'conj', -6), ('أكثر', 'إحدى', 'amod', -1), ('اللغات', 'أكثر', 'nmod', -1), ('انتشاراً', 'اللغات', 'nmod', -1), ('في', 'العالم', 'case', 1), ('العالم', 'انتشاراً', 'nmod', -2), ('،', 'العالم', 'punct', -1), ('يتحدث', 'أكثر', 'conj', -13), ('ها', 'يتحدث', 'obj', -1), ('أكثر', 'يتحدث', 'nsubj', -2), ('من', '467', 'case', 1), ('467', 'أكثر', 'nummod', -2), ('مليون', '467', 'nummod', -1), ('نسمة', 'مليون', 'nmod', -1), ('.', 'أكثر', 'punct', -20), ('(', '1', 'punct', 1), ('1', 'أكثر', 'dep', -22), (')', '1', 'punct', -1)] + results_sentence_tokenize = ['تحتوي اللغة العربية 28 حرفاً مكتوباً. ويرى بعضُ اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبحَ عدد الحروف 29. تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية على عكس كثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.'], + results_word_tokenize = ['تحتوي', 'اللغة', 'العربية', '28', 'حرفاً', 'مكتوباً', '.'], + results_pos_tag = [('تحتوي', 'VIIA-3FS--'), ('اللغة', 'N------S1D'), ('العربية', 'A-----FS1D'), ('28', 'Q---------'), ('حرفاً', 'N------S4I'), ('مكتوباً', 'A-----MS4I'), ('.', 'G---------')], + results_pos_tag_universal = [('تحتوي', 'VERB'), ('اللغة', 'NOUN'), ('العربية', 'ADJ'), ('28', 'NUM'), ('حرفاً', 'NOUN'), ('مكتوباً', 'ADJ'), ('.', 'PUNCT')], + results_lemmatize = ['اِحتَوَى', 'لُغَة', 'عَرَبِيّ', '28', 'حَرف', 'مُكتَوِب', '.'], + results_dependency_parse = [('تحتوي', 'تحتوي', 'root', 0), ('اللغة', 'تحتوي', 'nsubj', -1), ('العربية', 'اللغة', 'amod', -1), ('28', 'تحتوي', 'obj', -3), ('حرفاً', '28', 'nmod', -1), ('مكتوباً', 'حرفاً', 'amod', -1), ('.', 'تحتوي', 'punct', -6)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_cat.py b/tests/tests_nlp/tests_stanza/test_stanza_cat.py index 33efc2dcf..c97a5fd53 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_cat.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_cat.py @@ -21,12 +21,12 @@ def test_stanza_cat(): test_stanza.wl_test_stanza( lang = 'cat', - results_sentence_tokenize = ["El català (denominació oficial a Catalunya, a les Illes Balears, a Andorra, a la ciutat de l'Alguer i tradicional a Catalunya del Nord) o valencià (denominació oficial al País Valencià i tradicional al Carxe) és una llengua romànica parlada a Catalunya, el País Valencià (tret d'algunes comarques i localitats de l'interior), les Illes Balears (on també rep el nom de mallorquí, menorquí, eivissenc o formenterer segons l'illa), Andorra, la Franja de Ponent (a l'Aragó), la ciutat de l'Alguer (a l'illa de Sardenya), la Catalunya del Nord,[8] el Carxe (un petit territori de Múrcia habitat per pobladors valencians),[9][10] i en comunitats arreu del món (entre les quals destaca la de l'Argentina, amb 200.000 parlants).", '[11]', "Té deu milions de parlants, dels quals quasi la meitat ho són de llengua materna; el seu domini lingüístic, amb una superfície de 68.730 km² i 13.529.127 d'habitants (2009),[12] inclou 1.687 termes municipals.", 'Com a llengua materna, és parlada per quatre milions de persones (29% de la població del territori lingüístic), de les quals 2.263.000 a Catalunya,[13] 1.521.000 al País Valencià[14] i 417.000 a les Illes Balears.', '[15]', "Com les altres llengües romàniques, el català prové del llatí vulgar que parlaven els romans que s'establiren a Hispània durant l'edat antiga."], - results_word_tokenize = ['El', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'les', 'Illes', 'Balears', ',', 'a', 'Andorra', ',', 'a', 'la', 'ciutat', 'de', "l'", 'Alguer', 'i', 'tradicional', 'a', 'Catalunya', 'del', 'Nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'al', 'País', 'Valencià', 'i', 'tradicional', 'al', 'Carxe', ')', 'és', 'una', 'llengua', 'romànica', 'parlada', 'a', 'Catalunya', ',', 'el', 'País', 'Valencià', '(', 'tret', "d'", 'algunes', 'comarques', 'i', 'localitats', 'de', "l'", 'interior', ')', ',', 'les', 'Illes', 'Balears', '(', 'on', 'també', 'rep', 'el', 'nom', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segons', "l'", 'illa', ')', ',', 'Andorra', ',', 'la', 'Franja', 'de', 'Ponent', '(', 'a', "l'", 'Aragó', ')', ',', 'la', 'ciutat', 'de', "l'", 'Alguer', '(', 'a', "l'", 'illa', 'de', 'Sardenya', ')', ',', 'la', 'Catalunya', 'del', 'Nord,', '[8', ']', 'el', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitat', 'per', 'pobladors', 'valencians', ')', ',', '[9][10', ']', 'i', 'en', 'comunitats', 'arreu', 'del', 'món', '(', 'entre', 'les', 'quals', 'destaca', 'la', 'de', "l'", 'Argentina', ',', 'amb', '200.000', 'parlants', ')', '.', '[11', ']'], - results_pos_tag = [('El', 'da0ms0'), ('català', 'ncms000'), ('(', 'fpa'), ('denominació', 'ncfs000'), ('oficial', 'aq0cs0'), ('a', 'sps00'), ('Catalunya', 'np0000l'), (',', 'fc'), ('a', 'sps00'), ('les', 'da0fp0'), ('Illes', 'np0000l'), ('Balears', 'PROPN'), (',', 'fc'), ('a', 'sps00'), ('Andorra', 'np0000l'), (',', 'fc'), ('a', 'sps00'), ('la', 'da0fs0'), ('ciutat', 'ncfs000'), ('de', 'sps00'), ("l'", 'da0cs0'), ('Alguer', 'np0000l'), ('i', 'cc'), ('tradicional', 'aq0cs0'), ('a', 'sps00'), ('Catalunya', 'np0000l'), ('de', 'ADP'), ('el', 'DET'), ('Nord', 'PROPN'), (')', 'fpt'), ('o', 'cc'), ('valencià', 'aq0ms0'), ('(', 'fpa'), ('denominació', 'ncfs000'), ('oficial', 'aq0cs0'), ('a', 'spcms'), ('el', 'DET'), ('País', 'np0000l'), ('Valencià', 'PROPN'), ('i', 'cc'), ('tradicional', 'aq0cs0'), ('a', 'spcms'), ('el', 'DET'), ('Carxe', 'np0000l'), (')', 'fpt'), ('és', 'vsip3s0'), ('una', 'di0fs0'), ('llengua', 'ncfs000'), ('romànica', 'aq0fs0'), ('parlada', 'aq0fsp'), ('a', 'sps00'), ('Catalunya', 'np0000l'), (',', 'fc'), ('el', 'da0ms0'), ('País', 'np0000l'), ('Valencià', 'PROPN'), ('(', 'fpa'), ('tret', 'sps0000'), ("d'", 'ADP'), ('algunes', 'di0fp0'), ('comarques', 'ncfp000'), ('i', 'cc'), ('localitats', 'ncfp000'), ('de', 'sps00'), ("l'", 'da0cs0'), ('interior', 'ncms000'), (')', 'fpt'), (',', 'fc'), ('les', 'da0fp0'), ('Illes', 'np0000l'), ('Balears', 'PROPN'), ('(', 'fpa'), ('on', 'pr000000'), ('també', 'rg'), ('rep', 'vmip3s0'), ('el', 'da0ms0'), ('nom', 'ncms000'), ('de', 'sps00'), ('mallorquí', 'ncms000'), (',', 'fc'), ('menorquí', 'aq0ms0'), (',', 'fc'), ('eivissenc', 'aq0ms0'), ('o', 'cc'), ('formenterer', 'ncms000'), ('segons', 'sps00'), ("l'", 'da0cs0'), ('illa', 'ncfs000'), (')', 'fpt'), (',', 'fc'), ('Andorra', 'np0000l'), (',', 'fc'), ('la', 'da0fs0'), ('Franja', 'np0000l'), ('de', 'ADP'), ('Ponent', 'PROPN'), ('(', 'fpa'), ('a', 'sps00'), ("l'", 'da0cs0'), ('Aragó', 'np0000l'), (')', 'fpt'), (',', 'fc'), ('la', 'da0fs0'), ('ciutat', 'ncfs000'), ('de', 'sps00'), ("l'", 'da0cs0'), ('Alguer', 'np0000l'), ('(', 'fpa'), ('a', 'sps00'), ("l'", 'da0cs0'), ('illa', 'ncfs000'), ('de', 'sps00'), ('Sardenya', 'np0000l'), (')', 'fpt'), (',', 'fc'), ('la', 'da0fs0'), ('Catalunya', 'np0000l'), ('de', 'spcms'), ('el', 'DET'), ('Nord,', 'np0000l'), ('[8', 'NUM'), (']', 'fpt'), ('el', 'da0ms0'), ('Carxe', 'np0000l'), ('(', 'fpa'), ('un', 'di0ms0'), ('petit', 'aq0ms0'), ('territori', 'ncms000'), ('de', 'sps00'), ('Múrcia', 'np0000l'), ('habitat', 'aq0msp'), ('per', 'sps00'), ('pobladors', 'ncmp000'), ('valencians', 'aq0mp0'), (')', 'fpt'), (',', 'fc'), ('[9][10', 'NUM'), (']', 'fpt'), ('i', 'cc'), ('en', 'sps00'), ('comunitats', 'ncfp000'), ('arreu', 'rg'), ('de', 'spcms'), ('el', 'DET'), ('món', 'ncms000'), ('(', 'fpa'), ('entre', 'sps00'), ('les', 'da0fp0'), ('quals', 'pr0cp000'), ('destaca', 'vmip3s0'), ('la', 'da0fs0'), ('de', 'sps00'), ("l'", 'da0cs0'), ('Argentina', 'np0000l'), (',', 'fc'), ('amb', 'sps00'), ('200.000', 'NUM'), ('parlants', 'nccp000'), (')', 'fpt'), ('.', 'fp'), ('[11', 'NUM'), (']', 'fpt')], - results_pos_tag_universal = [('El', 'DET'), ('català', 'NOUN'), ('(', 'PUNCT'), ('denominació', 'NOUN'), ('oficial', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('les', 'DET'), ('Illes', 'PROPN'), ('Balears', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('Andorra', 'PROPN'), (',', 'PUNCT'), ('a', 'ADP'), ('la', 'DET'), ('ciutat', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('Alguer', 'PROPN'), ('i', 'CCONJ'), ('tradicional', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), ('de', 'ADP'), ('el', 'DET'), ('Nord', 'PROPN'), (')', 'PUNCT'), ('o', 'CCONJ'), ('valencià', 'ADJ'), ('(', 'PUNCT'), ('denominació', 'NOUN'), ('oficial', 'ADJ'), ('a', 'ADP'), ('el', 'DET'), ('País', 'PROPN'), ('Valencià', 'PROPN'), ('i', 'CCONJ'), ('tradicional', 'ADJ'), ('a', 'ADP'), ('el', 'DET'), ('Carxe', 'PROPN'), (')', 'PUNCT'), ('és', 'AUX'), ('una', 'DET'), ('llengua', 'NOUN'), ('romànica', 'ADJ'), ('parlada', 'ADJ'), ('a', 'ADP'), ('Catalunya', 'PROPN'), (',', 'PUNCT'), ('el', 'DET'), ('País', 'PROPN'), ('Valencià', 'PROPN'), ('(', 'PUNCT'), ('tret', 'NOUN'), ("d'", 'ADP'), ('algunes', 'DET'), ('comarques', 'NOUN'), ('i', 'CCONJ'), ('localitats', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('interior', 'NOUN'), (')', 'PUNCT'), (',', 'PUNCT'), ('les', 'DET'), ('Illes', 'PROPN'), ('Balears', 'PROPN'), ('(', 'PUNCT'), ('on', 'PRON'), ('també', 'ADV'), ('rep', 'VERB'), ('el', 'DET'), ('nom', 'NOUN'), ('de', 'ADP'), ('mallorquí', 'NOUN'), (',', 'PUNCT'), ('menorquí', 'ADJ'), (',', 'PUNCT'), ('eivissenc', 'ADJ'), ('o', 'CCONJ'), ('formenterer', 'NOUN'), ('segons', 'ADP'), ("l'", 'DET'), ('illa', 'NOUN'), (')', 'PUNCT'), (',', 'PUNCT'), ('Andorra', 'PROPN'), (',', 'PUNCT'), ('la', 'DET'), ('Franja', 'PROPN'), ('de', 'ADP'), ('Ponent', 'PROPN'), ('(', 'PUNCT'), ('a', 'ADP'), ("l'", 'DET'), ('Aragó', 'PROPN'), (')', 'PUNCT'), (',', 'PUNCT'), ('la', 'DET'), ('ciutat', 'NOUN'), ('de', 'ADP'), ("l'", 'DET'), ('Alguer', 'PROPN'), ('(', 'PUNCT'), ('a', 'ADP'), ("l'", 'DET'), ('illa', 'NOUN'), ('de', 'ADP'), ('Sardenya', 'PROPN'), (')', 'PUNCT'), (',', 'PUNCT'), ('la', 'DET'), ('Catalunya', 'PROPN'), ('de', 'ADP'), ('el', 'DET'), ('Nord,', 'PROPN'), ('[8', 'NUM'), (']', 'PUNCT'), ('el', 'DET'), ('Carxe', 'PROPN'), ('(', 'PUNCT'), ('un', 'DET'), ('petit', 'ADJ'), ('territori', 'NOUN'), ('de', 'ADP'), ('Múrcia', 'PROPN'), ('habitat', 'ADJ'), ('per', 'ADP'), ('pobladors', 'NOUN'), ('valencians', 'ADJ'), (')', 'PUNCT'), (',', 'PUNCT'), ('[9][10', 'NUM'), (']', 'PUNCT'), ('i', 'CCONJ'), ('en', 'ADP'), ('comunitats', 'NOUN'), ('arreu', 'ADV'), ('de', 'ADP'), ('el', 'DET'), ('món', 'NOUN'), ('(', 'PUNCT'), ('entre', 'ADP'), ('les', 'DET'), ('quals', 'PRON'), ('destaca', 'VERB'), ('la', 'DET'), ('de', 'ADP'), ("l'", 'DET'), ('Argentina', 'PROPN'), (',', 'PUNCT'), ('amb', 'ADP'), ('200.000', 'NUM'), ('parlants', 'NOUN'), (')', 'PUNCT'), ('.', 'PUNCT'), ('[11', 'NUM'), (']', 'PUNCT')], - results_lemmatize = ['el', 'català', '(', 'denominació', 'oficial', 'a', 'Catalunya', ',', 'a', 'el', 'Illes', 'Balears', ',', 'a', 'Andorra', ',', 'a', 'el', 'ciutat', 'de', 'el', 'Alguer', 'i', 'tradicional', 'a', 'Catalunya', 'de', 'el', 'Nord', ')', 'o', 'valencià', '(', 'denominació', 'oficial', 'a', 'el', 'País', 'Valencià', 'i', 'tradicional', 'a', 'el', 'Carxe', ')', 'ser', 'un', 'llengua', 'romànic', 'parlat', 'a', 'Catalunya', ',', 'el', 'País', 'Valencià', '(', 'tret', 'de', 'algun', 'comarca', 'i', 'localitat', 'de', 'el', 'interior', ')', ',', 'el', 'Illes', 'Balears', '(', 'on', 'també', 'rebre', 'el', 'nom', 'de', 'mallorquí', ',', 'menorquí', ',', 'eivissenc', 'o', 'formenterer', 'segons', 'el', 'illa', ')', ',', 'Andorra', ',', 'el', 'Franja', 'de', 'Ponent', '(', 'a', 'el', 'Aragó', ')', ',', 'el', 'ciutat', 'de', 'el', 'Alguer', '(', 'a', 'el', 'illa', 'de', 'Sardenya', ')', ',', 'el', 'Catalunya', 'de', 'el', 'Nord,', '[8', ']', 'el', 'Carxe', '(', 'un', 'petit', 'territori', 'de', 'Múrcia', 'habitat', 'per', 'poblador', 'valencià', ')', ',', '[9][10', ']', 'i', 'en', 'comunitat', 'arreu', 'de', 'el', 'món', '(', 'entre', 'el', 'qual', 'destacar', 'el', 'de', 'el', 'Argentina', ',', 'amb', '200000', 'parlant', ')', '.', '[11', ']'], - results_dependency_parse = [('El', 'català', 'det', 1), ('català', 'llengua', 'nsubj', 46), ('(', 'denominació', 'punct', 1), ('denominació', 'català', 'appos', -2), ('oficial', 'denominació', 'amod', -1), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'denominació', 'nmod', -3), (',', 'Illes', 'punct', 3), ('a', 'Illes', 'case', 2), ('les', 'Illes', 'det', 1), ('Illes', 'català', 'nmod', -9), ('Balears', 'Illes', 'flat', -1), (',', 'Illes', 'punct', -2), ('a', 'Andorra', 'case', 1), ('Andorra', 'català', 'nmod', -13), (',', 'ciutat', 'punct', 3), ('a', 'ciutat', 'case', 2), ('la', 'ciutat', 'det', 1), ('ciutat', 'català', 'nmod', -17), ('de', 'Alguer', 'case', 2), ("l'", 'Alguer', 'det', 1), ('Alguer', 'ciutat', 'nmod', -3), ('i', 'tradicional', 'cc', 1), ('tradicional', 'Alguer', 'conj', -2), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'ciutat', 'nmod', -7), ('de', 'Nord', 'case', 2), ('el', 'Nord', 'det', 1), ('Nord', 'Catalunya', 'flat', -3), (')', 'denominació', 'punct', 4), ('o', 'valencià', 'cc', 1), ('valencià', 'Alguer', 'conj', -10), ('(', 'denominació', 'punct', 1), ('denominació', 'català', 'appos', -32), ('oficial', 'denominació', 'amod', -1), ('a', 'País', 'case', 2), ('el', 'País', 'det', 1), ('País', 'denominació', 'nmod', -4), ('Valencià', 'País', 'flat', -1), ('i', 'tradicional', 'cc', 1), ('tradicional', 'denominació', 'conj', -7), ('a', 'Carxe', 'case', 2), ('el', 'Carxe', 'det', 1), ('Carxe', 'tradicional', 'nmod', -3), (')', 'denominació', 'punct', -11), ('és', 'llengua', 'cop', 2), ('una', 'llengua', 'det', 1), ('llengua', 'llengua', 'root', 0), ('romànica', 'llengua', 'amod', -1), ('parlada', 'llengua', 'amod', -2), ('a', 'Catalunya', 'case', 1), ('Catalunya', 'parlada', 'obl', -2), (',', 'País', 'punct', 2), ('el', 'País', 'det', 1), ('País', 'Catalunya', 'flat', -3), ('Valencià', 'País', 'flat', -1), ('(', 'comarques', 'punct', 4), ('tret', 'comarques', 'case', 3), ("d'", 'tret', 'fixed', -1), ('algunes', 'comarques', 'det', 1), ('comarques', 'Catalunya', 'nmod', -9), ('i', 'localitats', 'cc', 1), ('localitats', 'comarques', 'conj', -2), ('de', 'interior', 'case', 2), ("l'", 'interior', 'det', 1), ('interior', 'comarques', 'nmod', -5), (')', 'comarques', 'punct', -6), (',', 'Illes', 'punct', 2), ('les', 'Illes', 'det', 1), ('Illes', 'Catalunya', 'flat', -18), ('Balears', 'Illes', 'flat', -1), ('(', 'rep', 'punct', 3), ('on', 'rep', 'obl', 2), ('també', 'rep', 'advmod', 1), ('rep', 'Illes', 'acl', -5), ('el', 'nom', 'det', 1), ('nom', 'rep', 'obj', -2), ('de', 'mallorquí', 'case', 1), ('mallorquí', 'nom', 'nmod', -2), (',', 'menorquí', 'punct', 1), ('menorquí', 'mallorquí', 'conj', -2), (',', 'eivissenc', 'punct', 1), ('eivissenc', 'mallorquí', 'conj', -4), ('o', 'formenterer', 'cc', 1), ('formenterer', 'mallorquí', 'conj', -6), ('segons', 'illa', 'case', 2), ("l'", 'illa', 'det', 1), ('illa', 'rep', 'obl', -13), (')', 'rep', 'punct', -14), (',', 'Andorra', 'punct', 1), ('Andorra', 'Catalunya', 'flat', -39), (',', 'Franja', 'punct', 2), ('la', 'Franja', 'det', 1), ('Franja', 'Andorra', 'flat', -3), ('de', 'Ponent', 'case', 1), ('Ponent', 'Franja', 'flat', -2), ('(', 'Aragó', 'punct', 3), ('a', 'Aragó', 'case', 2), ("l'", 'Aragó', 'det', 1), ('Aragó', 'Franja', 'nmod', -6), (')', 'Aragó', 'punct', -1), (',', 'ciutat', 'punct', 2), ('la', 'ciutat', 'det', 1), ('ciutat', 'català', 'appos', -102), ('de', 'Alguer', 'case', 2), ("l'", 'Alguer', 'det', 1), ('Alguer', 'ciutat', 'nmod', -3), ('(', 'illa', 'punct', 3), ('a', 'illa', 'case', 2), ("l'", 'illa', 'det', 1), ('illa', 'ciutat', 'nmod', -7), ('de', 'Sardenya', 'case', 1), ('Sardenya', 'illa', 'nmod', -2), (')', 'illa', 'punct', -3), (',', 'Catalunya', 'punct', 2), ('la', 'Catalunya', 'det', 1), ('Catalunya', 'català', 'appos', -115), ('de', 'Nord,', 'case', 2), ('el', 'Nord,', 'det', 1), ('Nord,', 'Catalunya', 'nmod', -3), ('[8', 'Nord,', 'nummod', -1), (']', 'Catalunya', 'punct', -5), ('el', 'Carxe', 'det', 1), ('Carxe', 'català', 'appos', -122), ('(', 'territori', 'punct', 3), ('un', 'territori', 'det', 2), ('petit', 'territori', 'amod', 1), ('territori', 'Carxe', 'appos', -4), ('de', 'Múrcia', 'case', 1), ('Múrcia', 'territori', 'nmod', -2), ('habitat', 'territori', 'amod', -3), ('per', 'pobladors', 'case', 1), ('pobladors', 'habitat', 'obl:agent', -2), ('valencians', 'pobladors', 'amod', -1), (')', 'territori', 'punct', -7), (',', '[9][10', 'punct', 1), ('[9][10', 'denominació', 'appos', -133), (']', 'territori', 'punct', -10), ('i', 'comunitats', 'cc', 2), ('en', 'comunitats', 'case', 1), ('comunitats', 'llengua', 'conj', -93), ('arreu', 'comunitats', 'advmod', -1), ('de', 'món', 'case', 2), ('el', 'món', 'det', 1), ('món', 'arreu', 'obl', -3), ('(', 'destaca', 'punct', 4), ('entre', 'quals', 'case', 2), ('les', 'quals', 'det', 1), ('quals', 'destaca', 'obl', 1), ('destaca', 'món', 'acl', -5), ('la', 'destaca', 'det', -1), ('de', 'la', 'case', -1), ("l'", 'Argentina', 'det', 1), ('Argentina', 'la', 'nmod', -3), (',', 'parlants', 'punct', 3), ('amb', 'parlants', 'case', 2), ('200.000', 'parlants', 'nummod', 1), ('parlants', 'destaca', 'obl', -8), (')', 'destaca', 'punct', -9), ('.', 'llengua', 'punct', -112), ('[11', '[11', 'root', 0), (']', '[11', 'punct', -1)] + results_sentence_tokenize = ["El català té cinc grans dialectes (valencià, nord-occidental, central, balear i rossellonès) que juntament amb l'alguerès, es divideixen fins a vint-i-una varietats i s'agrupen en dos grans blocs: el català occidental i el català oriental.", 'Les propostes normatives permeten reduir les diferències entre aquests dialectes en el català estàndard des del punt de vista gramatical, fonètic i de lèxic.'], + results_word_tokenize = ['El', 'català', 'té', 'cinc', 'grans', 'dialectes', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonès', ')', 'que', 'juntament', 'amb', "l'", 'alguerès', ',', 'es', 'divideixen', 'fins', 'a', 'vint-i-una', 'varietats', 'i', "s'", 'agrupen', 'en', 'dos', 'grans', 'blocs', ':', 'el', 'català', 'occidental', 'i', 'el', 'català', 'oriental', '.'], + results_pos_tag = [('El', 'da0ms0'), ('català', 'ncms000'), ('té', 'vmip3s0'), ('cinc', 'dn0cp0'), ('grans', 'aq0cp0'), ('dialectes', 'ncmp000'), ('(', 'fpa'), ('valencià', 'ncms000'), (',', 'fc'), ('nord-occidental', 'aq0cs0'), (',', 'fc'), ('central', 'aq0cs0'), (',', 'fc'), ('balear', 'aq0cs0'), ('i', 'cc'), ('rossellonès', 'aq0ms0'), (')', 'fpt'), ('que', 'pr0cn000'), ('juntament', 'sps00'), ('amb', 'ADP'), ("l'", 'da0cs0'), ('alguerès', 'ncms000'), (',', 'fc'), ('es', 'p0000000'), ('divideixen', 'vmip3p0'), ('fins', 'sps00'), ('a', 'sps00'), ('vint-i-una', 'dn0fp0'), ('varietats', 'ncfp000'), ('i', 'cc'), ("s'", 'p0000000'), ('agrupen', 'vmip3p0'), ('en', 'sps00'), ('dos', 'dn0mp0'), ('grans', 'aq0cp0'), ('blocs', 'ncmp000'), (':', 'fd'), ('el', 'da0ms0'), ('català', 'ncms000'), ('occidental', 'aq0cs0'), ('i', 'cc'), ('el', 'da0ms0'), ('català', 'ncms000'), ('oriental', 'aq0cs0'), ('.', 'fp')], + results_pos_tag_universal = [('El', 'DET'), ('català', 'NOUN'), ('té', 'VERB'), ('cinc', 'NUM'), ('grans', 'ADJ'), ('dialectes', 'NOUN'), ('(', 'PUNCT'), ('valencià', 'NOUN'), (',', 'PUNCT'), ('nord-occidental', 'ADJ'), (',', 'PUNCT'), ('central', 'ADJ'), (',', 'PUNCT'), ('balear', 'ADJ'), ('i', 'CCONJ'), ('rossellonès', 'ADJ'), (')', 'PUNCT'), ('que', 'PRON'), ('juntament', 'ADV'), ('amb', 'ADP'), ("l'", 'DET'), ('alguerès', 'NOUN'), (',', 'PUNCT'), ('es', 'PRON'), ('divideixen', 'VERB'), ('fins', 'ADP'), ('a', 'ADP'), ('vint-i-una', 'NUM'), ('varietats', 'NOUN'), ('i', 'CCONJ'), ("s'", 'PRON'), ('agrupen', 'VERB'), ('en', 'ADP'), ('dos', 'NUM'), ('grans', 'ADJ'), ('blocs', 'NOUN'), (':', 'PUNCT'), ('el', 'DET'), ('català', 'NOUN'), ('occidental', 'ADJ'), ('i', 'CCONJ'), ('el', 'DET'), ('català', 'NOUN'), ('oriental', 'ADJ'), ('.', 'PUNCT')], + results_lemmatize = ['el', 'català', 'tenir', 'cinc', 'gran', 'dialecte', '(', 'valencià', ',', 'nord-occidental', ',', 'central', ',', 'balear', 'i', 'rossellonès', ')', 'que', 'juntament', 'amb', 'el', 'alguerès', ',', 'ell', 'dividir', 'fins', 'a', 'vint-i-ú', 'varietat', 'i', 'ell', 'agrupar', 'en', 'dos', 'gran', 'bloc', ':', 'el', 'català', 'occidental', 'i', 'el', 'català', 'oriental', '.'], + results_dependency_parse = [('El', 'català', 'det', 1), ('català', 'té', 'nsubj', 1), ('té', 'té', 'root', 0), ('cinc', 'dialectes', 'nummod', 2), ('grans', 'dialectes', 'amod', 1), ('dialectes', 'té', 'obj', -3), ('(', 'valencià', 'punct', 1), ('valencià', 'dialectes', 'appos', -2), (',', 'nord-occidental', 'punct', 1), ('nord-occidental', 'valencià', 'conj', -2), (',', 'central', 'punct', 1), ('central', 'valencià', 'conj', -4), (',', 'balear', 'punct', 1), ('balear', 'valencià', 'conj', -6), ('i', 'rossellonès', 'cc', 1), ('rossellonès', 'valencià', 'conj', -8), (')', 'valencià', 'punct', -9), ('que', 'divideixen', 'nsubj', 7), ('juntament', 'alguerès', 'case', 3), ('amb', 'juntament', 'fixed', -1), ("l'", 'alguerès', 'det', 1), ('alguerès', 'divideixen', 'obl', 3), (',', 'alguerès', 'punct', -1), ('es', 'divideixen', 'obj', 1), ('divideixen', 'dialectes', 'acl', -19), ('fins', 'varietats', 'case', 3), ('a', 'varietats', 'case', 2), ('vint-i-una', 'varietats', 'nummod', 1), ('varietats', 'divideixen', 'obl:arg', -4), ('i', 'agrupen', 'cc', 2), ("s'", 'agrupen', 'obj', 1), ('agrupen', 'divideixen', 'conj', -7), ('en', 'blocs', 'case', 3), ('dos', 'blocs', 'nummod', 2), ('grans', 'blocs', 'amod', 1), ('blocs', 'agrupen', 'obl', -4), (':', 'català', 'punct', 2), ('el', 'català', 'det', 1), ('català', 'blocs', 'appos', -3), ('occidental', 'català', 'amod', -1), ('i', 'català', 'cc', 2), ('el', 'català', 'det', 1), ('català', 'català', 'conj', -4), ('oriental', 'català', 'amod', -1), ('.', 'té', 'punct', -42)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_eng.py b/tests/tests_nlp/tests_stanza/test_stanza_eng.py index d0b4c3365..f90963bf8 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_eng.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_eng.py @@ -29,7 +29,7 @@ def test_stanza_eng(): results_pos_tag = [('English', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('West', 'JJ'), ('Germanic', 'JJ'), ('language', 'NN'), ('in', 'IN'), ('the', 'DT'), ('Indo', 'JJ'), ('-', 'HYPH'), ('European', 'JJ'), ('language', 'NN'), ('family', 'NN'), ('.', '.')], results_pos_tag_universal = [('English', 'PROPN'), ('is', 'AUX'), ('a', 'DET'), ('West', 'ADJ'), ('Germanic', 'ADJ'), ('language', 'NOUN'), ('in', 'ADP'), ('the', 'DET'), ('Indo', 'ADJ'), ('-', 'PUNCT'), ('European', 'ADJ'), ('language', 'NOUN'), ('family', 'NOUN'), ('.', 'PUNCT')], results_lemmatize = ['English', 'be', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', '.'], - results_dependency_parse = [('English', 'language', 'nsubj', 5), ('is', 'language', 'cop', 4), ('a', 'language', 'det', 3), ('West', 'Germanic', 'amod', 1), ('Germanic', 'language', 'amod', 1), ('language', 'language', 'root', 0), ('in', 'family', 'case', 6), ('the', 'family', 'det', 5), ('Indo', 'European', 'compound', 2), ('-', 'Indo', 'punct', -1), ('European', 'family', 'amod', 2), ('language', 'family', 'compound', 1), ('family', 'language', 'nmod', -7), ('.', 'language', 'punct', -8)], + results_dependency_parse = [('English', 'language', 'nsubj', 5), ('is', 'language', 'cop', 4), ('a', 'language', 'det', 3), ('West', 'Germanic', 'amod', 1), ('Germanic', 'language', 'amod', 1), ('language', 'language', 'root', 0), ('in', 'family', 'case', 6), ('the', 'family', 'det', 5), ('Indo', 'European', 'compound', 2), ('-', 'European', 'punct', 1), ('European', 'family', 'amod', 2), ('language', 'family', 'compound', 1), ('family', 'language', 'nmod', -7), ('.', 'language', 'punct', -8)], results_sentiment_analayze = [0] ) diff --git a/tests/tests_nlp/tests_stanza/test_stanza_heb.py b/tests/tests_nlp/tests_stanza/test_stanza_heb.py index 025c7727c..ddf279e13 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_heb.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_heb.py @@ -28,7 +28,7 @@ def test_stanza_heb(): results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, results_lemmatize = ['עִבְרִית', 'הוא', 'שפה', 'שמי', ',', 'מ', 'משפחה', 'ה', 'שפה', 'ה', 'אפרו', '-', 'אסיאתי', ',', 'ה', 'ידוע', 'כש', 'פתם', 'של', 'ה', 'יהודי', 'ו', 'של', 'ה', 'שומרוני', '.'], - results_dependency_parse = [('עִבְרִית', 'שפה', 'advmod', 2), ('היא', 'שפה', 'cop', 1), ('שפה', 'שפה', 'root', 0), ('שמית', 'שפה', 'amod', -1), (',', 'משפחת', 'punct', 2), ('מ', 'משפחת', 'case', 1), ('משפחת', 'שפה', 'nmod', -4), ('ה', 'שפות', 'det', 1), ('שפות', 'משפחת', 'compound', -2), ('ה', 'אסיאתיות', 'det', 3), ('אפרו', 'אסיאתיות', 'compound:affix', 2), ('-', 'אפרו', 'punct', -1), ('אסיאתיות', 'שפות', 'amod', -4), (',', 'ידועה', 'punct', 2), ('ה', 'ידועה', 'mark', 1), ('ידועה', 'שפה', 'acl:relcl', -13), ('כש', 'פתם', 'mark', 1), ('פתם', 'ידועה', 'advcl', -2), ('של', 'יהודים', 'case', 2), ('ה', 'יהודים', 'det', 1), ('יהודים', 'פתם', 'nmod:poss', -3), ('ו', 'שומרונים', 'cc', 3), ('של', 'שומרונים', 'case', 2), ('ה', 'שומרונים', 'det', 1), ('שומרונים', 'יהודים', 'conj', -4), ('.', 'שפה', 'punct', -23)] + results_dependency_parse = [('עִבְרִית', 'שפה', 'advmod', 2), ('היא', 'שפה', 'nsubj', 1), ('שפה', 'שפה', 'root', 0), ('שמית', 'שפה', 'amod', -1), (',', 'משפחת', 'punct', 2), ('מ', 'משפחת', 'case', 1), ('משפחת', 'שפה', 'nmod', -4), ('ה', 'שפות', 'det', 1), ('שפות', 'משפחת', 'compound', -2), ('ה', 'אסיאתיות', 'det', 3), ('אפרו', 'שפות', 'amod', -2), ('-', 'אסיאתיות', 'punct', 1), ('אסיאתיות', 'אפרו', 'dep', -2), (',', 'ידועה', 'punct', 2), ('ה', 'ידועה', 'mark', 1), ('ידועה', 'שפות', 'acl:relcl', -7), ('כש', 'פתם', 'mark', 1), ('פתם', 'ידועה', 'advcl', -2), ('של', 'יהודים', 'case', 2), ('ה', 'יהודים', 'det', 1), ('יהודים', 'פתם', 'nmod:poss', -3), ('ו', 'שומרונים', 'cc', 3), ('של', 'שומרונים', 'case', 2), ('ה', 'שומרונים', 'det', 1), ('שומרונים', 'יהודים', 'conj', -4), ('.', 'שפה', 'punct', -23)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_hin.py b/tests/tests_nlp/tests_stanza/test_stanza_hin.py index 434a16c06..a1394f4b7 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_hin.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_hin.py @@ -26,7 +26,7 @@ def test_stanza_hin(): results_pos_tag = [('हिन्दी', 'NN'), ('जिसके', 'PRP'), ('मानकीकृत', 'JJ'), ('रूप', 'NN'), ('को', 'PSP'), ('मानक', 'JJ'), ('हिन्दी', 'NN'), ('कहा', 'VM'), ('जाता', 'VAUX'), ('है', 'VAUX'), (',', 'SYM'), ('विश्व', 'NN'), ('की', 'PSP'), ('एक', 'QC'), ('प्रमुख', 'JJ'), ('भाषा', 'NN'), ('है', 'VM'), ('और', 'CC'), ('भारत', 'NNP'), ('की', 'PSP'), ('एक', 'QC'), ('राजभाषा', 'NN'), ('है', 'VM'), ('।', 'SYM')], results_pos_tag_universal = [('हिन्दी', 'NOUN'), ('जिसके', 'PRON'), ('मानकीकृत', 'ADJ'), ('रूप', 'NOUN'), ('को', 'ADP'), ('मानक', 'ADJ'), ('हिन्दी', 'NOUN'), ('कहा', 'VERB'), ('जाता', 'AUX'), ('है', 'AUX'), (',', 'PUNCT'), ('विश्व', 'NOUN'), ('की', 'ADP'), ('एक', 'NUM'), ('प्रमुख', 'ADJ'), ('भाषा', 'NOUN'), ('है', 'AUX'), ('और', 'CCONJ'), ('भारत', 'PROPN'), ('की', 'ADP'), ('एक', 'NUM'), ('राजभाषा', 'NOUN'), ('है', 'AUX'), ('।', 'PUNCT')], results_lemmatize = ['हिन्दी', 'जो', 'मानकीकृत', 'रूप', 'को', 'मानक', 'हिन्दी', 'कह', 'जा', 'है', ',', 'विश्व', 'का', 'एक', 'प्रमुख', 'भाषा', 'है', 'और', 'भारत', 'का', 'एक', 'राजभाषा', 'है', '।'], - results_dependency_parse = [('हिन्दी', 'कहा', 'obj', 7), ('जिसके', 'रूप', 'nmod', 2), ('मानकीकृत', 'रूप', 'amod', 1), ('रूप', 'कहा', 'obj', 4), ('को', 'रूप', 'case', -1), ('मानक', 'हिन्दी', 'amod', 1), ('हिन्दी', 'कहा', 'acl', 1), ('कहा', 'भाषा', 'acl:relcl', 8), ('जाता', 'कहा', 'aux:pass', -1), ('है', 'कहा', 'aux:pass', -2), (',', 'कहा', 'punct', -3), ('विश्व', 'भाषा', 'nmod', 4), ('की', 'विश्व', 'case', -1), ('एक', 'भाषा', 'nummod', 2), ('प्रमुख', 'भाषा', 'amod', 1), ('भाषा', 'भाषा', 'root', 0), ('है', 'भाषा', 'cop', -1), ('और', 'राजभाषा', 'cc', 4), ('भारत', 'राजभाषा', 'nmod', 3), ('की', 'भारत', 'case', -1), ('एक', 'राजभाषा', 'nummod', 1), ('राजभाषा', 'भाषा', 'conj', -6), ('है', 'राजभाषा', 'cop', -1), ('।', 'भाषा', 'punct', -8)] + results_dependency_parse = [('हिन्दी', 'भाषा', 'nsubj', 15), ('जिसके', 'रूप', 'nmod', 2), ('मानकीकृत', 'रूप', 'amod', 1), ('रूप', 'कहा', 'obj', 4), ('को', 'रूप', 'case', -1), ('मानक', 'हिन्दी', 'amod', 1), ('हिन्दी', 'कहा', 'acl', 1), ('कहा', 'हिन्दी', 'acl:relcl', -7), ('जाता', 'कहा', 'aux:pass', -1), ('है', 'कहा', 'aux:pass', -2), (',', 'कहा', 'punct', -3), ('विश्व', 'भाषा', 'nmod', 4), ('की', 'विश्व', 'case', -1), ('एक', 'भाषा', 'nummod', 2), ('प्रमुख', 'भाषा', 'amod', 1), ('भाषा', 'भाषा', 'root', 0), ('है', 'भाषा', 'cop', -1), ('और', 'राजभाषा', 'cc', 4), ('भारत', 'राजभाषा', 'nmod', 3), ('की', 'भारत', 'case', -1), ('एक', 'राजभाषा', 'nummod', 1), ('राजभाषा', 'भाषा', 'conj', -6), ('है', 'राजभाषा', 'cop', -1), ('।', 'भाषा', 'punct', -8)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_ita.py b/tests/tests_nlp/tests_stanza/test_stanza_ita.py index 3efaf872a..d5f895e10 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_ita.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_ita.py @@ -26,7 +26,7 @@ def test_stanza_ita(): results_pos_tag = [("L'", 'RD'), ('italiano', 'S'), ('(', 'FB'), ('[', 'FB'), ('itaˈljaːno', 'S'), (']', 'FB'), ('[', 'FB'), ('Nota', 'S'), ('1', 'N'), (']', 'FB'), ('ascolta', 'V'), ('ⓘ', 'SYM'), (')', 'FB'), ('è', 'VA'), ('una', 'RI'), ('lingua', 'S'), ('romanza', 'A'), ('parlata', 'V'), ('principalmente', 'B'), ('in', 'E'), ('Italia', 'SP'), ('.', 'FS')], results_pos_tag_universal = [("L'", 'DET'), ('italiano', 'NOUN'), ('(', 'PUNCT'), ('[', 'PUNCT'), ('itaˈljaːno', 'NOUN'), (']', 'PUNCT'), ('[', 'PUNCT'), ('Nota', 'NOUN'), ('1', 'NUM'), (']', 'PUNCT'), ('ascolta', 'VERB'), ('ⓘ', 'SYM'), (')', 'PUNCT'), ('è', 'AUX'), ('una', 'DET'), ('lingua', 'NOUN'), ('romanza', 'ADJ'), ('parlata', 'VERB'), ('principalmente', 'ADV'), ('in', 'ADP'), ('Italia', 'PROPN'), ('.', 'PUNCT')], results_lemmatize = ['il', 'italiano', '(', '[', 'itaˈljaːno', ']', '[', 'nota', '1', ']', 'ascoltare', 'ⓘ', ')', 'essere', 'uno', 'lingua', 'romanzo', 'parlato', 'principalmente', 'in', 'Italia', '.'], - results_dependency_parse = [("L'", 'italiano', 'det', 1), ('italiano', 'lingua', 'nsubj', 14), ('(', 'itaˈljaːno', 'punct', 2), ('[', 'itaˈljaːno', 'punct', 1), ('itaˈljaːno', 'italiano', 'appos', -3), (']', 'itaˈljaːno', 'punct', -1), ('[', 'Nota', 'punct', 1), ('Nota', 'italiano', 'appos', -6), ('1', 'Nota', 'nummod', -1), (']', 'Nota', 'punct', -2), ('ascolta', 'lingua', 'parataxis', 5), ('ⓘ', 'ascolta', 'discourse', -1), (')', 'Nota', 'punct', -5), ('è', 'lingua', 'cop', 2), ('una', 'lingua', 'det', 1), ('lingua', 'lingua', 'root', 0), ('romanza', 'lingua', 'amod', -1), ('parlata', 'lingua', 'amod', -2), ('principalmente', 'parlata', 'advmod', -1), ('in', 'Italia', 'case', 1), ('Italia', 'parlata', 'obl', -3), ('.', 'lingua', 'punct', -6)] + results_dependency_parse = [("L'", 'italiano', 'det', 1), ('italiano', 'lingua', 'nsubj', 14), ('(', 'itaˈljaːno', 'punct', 2), ('[', 'itaˈljaːno', 'punct', 1), ('itaˈljaːno', 'italiano', 'appos', -3), (']', 'itaˈljaːno', 'punct', -1), ('[', 'Nota', 'punct', 1), ('Nota', 'italiano', 'appos', -6), ('1', 'Nota', 'nummod', -1), (']', 'Nota', 'punct', -2), ('ascolta', 'italiano', 'parataxis', -9), ('ⓘ', 'ascolta', 'discourse', -1), (')', 'Nota', 'punct', -5), ('è', 'lingua', 'cop', 2), ('una', 'lingua', 'det', 1), ('lingua', 'lingua', 'root', 0), ('romanza', 'lingua', 'amod', -1), ('parlata', 'lingua', 'amod', -2), ('principalmente', 'parlata', 'advmod', -1), ('in', 'Italia', 'case', 1), ('Italia', 'parlata', 'obl', -3), ('.', 'lingua', 'punct', -6)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_jpn.py b/tests/tests_nlp/tests_stanza/test_stanza_jpn.py index b4fe9493d..950f3164a 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_jpn.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_jpn.py @@ -26,7 +26,7 @@ def test_stanza_jpn(): results_pos_tag = [('日本', '名詞-固有名詞-地名-国'), ('語', '名詞-普通名詞-一般'), ('(', '名詞-普通名詞-一般'), ('に', '助詞-格助詞'), ('ほん', '名詞-普通名詞-一般'), ('ご', '接頭辞'), ('、', '補助記号-読点'), ('にっぽん', '名詞-普通名詞-一般'), ('ご', '接頭辞'), ('[', '補助記号-括弧開'), ('注釈', '名詞-普通名詞-一般'), ('2', '名詞-数詞'), (']', '補助記号-括弧閉'), (')', '補助記号-括弧閉'), ('は', '助詞-係助詞'), ('、', '補助記号-読点'), ('日本', '名詞-固有名詞-地名-国'), ('国内', '名詞-普通名詞-一般'), ('や', '助詞-副助詞'), ('、', '補助記号-読点'), ('かつて', '副詞'), ('の', '助詞-格助詞'), ('日本', '名詞-固有名詞-地名-国'), ('領', '接尾辞-名詞的-一般'), ('だっ', '助動詞-助動詞-ダ'), ('た', '助動詞-助動詞-タ'), ('国', '名詞-普通名詞-一般'), ('、', '補助記号-読点'), ('そして', '接続詞'), ('国外', '名詞-普通名詞-一般'), ('移民', '名詞-普通名詞-サ変可能'), ('や', '助詞-副助詞'), ('移住', '名詞-普通名詞-サ変可能'), ('者', '接尾辞-名詞的-一般'), ('を', '助詞-格助詞'), ('含む', '動詞-一般-五段-マ行'), ('日本', '名詞-固有名詞-地名-国'), ('人', '接尾辞-名詞的-一般'), ('同士', '接尾辞-名詞的-一般'), ('の', '助詞-格助詞'), ('間', '名詞-普通名詞-副詞可能'), ('で', '助詞-格助詞'), ('使用', '名詞-普通名詞-サ変可能'), ('さ', '動詞-非自立可能-サ行変格'), ('れ', '助動詞-助動詞-レル'), ('て', '助詞-接続助詞'), ('いる', '動詞-非自立可能-上一段-ア行'), ('言語', '名詞-普通名詞-一般'), ('。', '補助記号-句点')], results_pos_tag_universal = [('日本', 'PROPN'), ('語', 'NOUN'), ('(', 'NOUN'), ('に', 'ADP'), ('ほん', 'NOUN'), ('ご', 'NOUN'), ('、', 'PUNCT'), ('にっぽん', 'NOUN'), ('ご', 'NOUN'), ('[', 'PUNCT'), ('注釈', 'NOUN'), ('2', 'NUM'), (']', 'PUNCT'), (')', 'PUNCT'), ('は', 'ADP'), ('、', 'PUNCT'), ('日本', 'PROPN'), ('国内', 'NOUN'), ('や', 'ADP'), ('、', 'PUNCT'), ('かつて', 'ADV'), ('の', 'ADP'), ('日本', 'PROPN'), ('領', 'NOUN'), ('だっ', 'AUX'), ('た', 'AUX'), ('国', 'NOUN'), ('、', 'PUNCT'), ('そして', 'CCONJ'), ('国外', 'NOUN'), ('移民', 'NOUN'), ('や', 'ADP'), ('移住', 'NOUN'), ('者', 'NOUN'), ('を', 'ADP'), ('含む', 'VERB'), ('日本', 'PROPN'), ('人', 'NOUN'), ('同士', 'NOUN'), ('の', 'ADP'), ('間', 'NOUN'), ('で', 'ADP'), ('使用', 'VERB'), ('さ', 'AUX'), ('れ', 'AUX'), ('て', 'SCONJ'), ('いる', 'VERB'), ('言語', 'NOUN'), ('。', 'PUNCT')], results_lemmatize = ['日本', '語', '(', 'に', '法', '御', '、', '町秤', '御', '[', '注釈', '2', ']', '」', 'は', '、', '日本', '国内', 'や', '、', '嘗て', 'の', '日本', '領', 'だ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', '為る', 'れる', 'て', '居る', '言語', '。'], - results_dependency_parse = [('日本', '(', 'compound', 2), ('語', '(', 'compound', 1), ('(', '2', 'obl', 9), ('に', '(', 'case', -1), ('ほん', '2', 'compound', 7), ('ご', '2', 'compound', 6), ('、', 'ご', 'punct', -1), ('にっぽん', '2', 'compound', 4), ('ご', '2', 'compound', 3), ('[', '2', 'punct', 2), ('注釈', '2', 'compound', 1), ('2', '言語', 'nsubj', 36), (']', '2', 'punct', -1), (')', '2', 'punct', -2), ('は', '2', 'case', -3), ('、', '2', 'punct', -4), ('日本', '国内', 'compound', 1), ('国内', '国', 'nmod', 9), ('や', '国内', 'case', -1), ('、', '国内', 'punct', -2), ('かつて', '領', 'advmod', 3), ('の', 'かつて', 'case', -1), ('日本', '領', 'compound', 1), ('領', '国', 'acl', 3), ('だっ', '領', 'cop', -1), ('た', '領', 'aux', -2), ('国', '同士', 'nmod', 12), ('、', '国', 'punct', -1), ('そして', '使用', 'cc', 14), ('国外', '移民', 'compound', 1), ('移民', '者', 'nmod', 3), ('や', '移民', 'case', -1), ('移住', '者', 'compound', 1), ('者', '含む', 'obj', 2), ('を', '者', 'case', -1), ('含む', '同士', 'acl', 3), ('日本', '同士', 'compound', 2), ('人', '同士', 'compound', 1), ('同士', '間', 'nmod', 2), ('の', '同士', 'case', -1), ('間', '使用', 'obl', 2), ('で', '間', 'case', -1), ('使用', '言語', 'acl', 5), ('さ', '使用', 'aux', -1), ('れ', '使用', 'aux', -2), ('て', '使用', 'mark', -3), ('いる', 'て', 'fixed', -1), ('言語', '言語', 'root', 0), ('。', '言語', 'punct', -1)] + results_dependency_parse = [('日本', '(', 'compound', 2), ('語', '(', 'compound', 1), ('(', '2', 'obl', 9), ('に', '(', 'case', -1), ('ほん', 'ご', 'compound', 1), ('ご', '2', 'compound', 6), ('、', 'ご', 'punct', -1), ('にっぽん', '2', 'compound', 4), ('ご', '2', 'compound', 3), ('[', '2', 'punct', 2), ('注釈', '2', 'compound', 1), ('2', '言語', 'nsubj', 36), (']', '2', 'punct', -1), (')', '2', 'punct', -2), ('は', '2', 'case', -3), ('、', '2', 'punct', -4), ('日本', '国内', 'compound', 1), ('国内', '国', 'nmod', 9), ('や', '国内', 'case', -1), ('、', '国内', 'punct', -2), ('かつて', '領', 'advmod', 3), ('の', 'かつて', 'case', -1), ('日本', '領', 'compound', 1), ('領', '国', 'acl', 3), ('だっ', '領', 'cop', -1), ('た', '領', 'aux', -2), ('国', '同士', 'nmod', 12), ('、', '国', 'punct', -1), ('そして', '使用', 'cc', 14), ('国外', '移民', 'compound', 1), ('移民', '者', 'nmod', 3), ('や', '移民', 'case', -1), ('移住', '者', 'compound', 1), ('者', '含む', 'obj', 2), ('を', '者', 'case', -1), ('含む', '同士', 'acl', 3), ('日本', '同士', 'compound', 2), ('人', '同士', 'compound', 1), ('同士', '間', 'nmod', 2), ('の', '同士', 'case', -1), ('間', '使用', 'obl', 2), ('で', '間', 'case', -1), ('使用', '言語', 'acl', 5), ('さ', '使用', 'aux', -1), ('れ', '使用', 'aux', -2), ('て', '使用', 'mark', -3), ('いる', 'て', 'fixed', -1), ('言語', '言語', 'root', 0), ('。', '言語', 'punct', -1)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_kaz.py b/tests/tests_nlp/tests_stanza/test_stanza_kaz.py index f5386f53c..cc646b623 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_kaz.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_kaz.py @@ -26,7 +26,7 @@ def test_stanza_kaz(): results_pos_tag = [('Қазақ', 'n'), ('тілі', 'n'), ('(', 'lpar'), ('төте', 'n'), (':', 'sent'), ('قازاق', 'num'), ('ٴتىلى\u200e', 'rpar'), (',', 'cm'), ('латын', 'n'), (':', 'sent'), ('qazaq', 'num'), ('tili', 'rpar'), (')', 'rpar'), ('—', 'guio'), ('Қазақстан', 'np'), ('Республикасының', 'n'), ('мемлекеттік', 'adj'), ('тілі', 'n'), (',', 'cm'), ('сонымен', 'prn'), ('қатар', 'post'), ('Ресей', 'np'), (',', 'cm'), ('Өзбекстан', 'np'), (',', 'cm'), ('Қытай', 'np'), (',', 'cm'), ('Моңғолия', 'np'), ('жəне', 'cnjcoo'), ('т.б.', 'abbr')], results_pos_tag_universal = [('Қазақ', 'NOUN'), ('тілі', 'NOUN'), ('(', 'PUNCT'), ('төте', 'NOUN'), (':', 'PUNCT'), ('قازاق', 'NUM'), ('ٴتىلى\u200e', 'PUNCT'), (',', 'PUNCT'), ('латын', 'NOUN'), (':', 'PUNCT'), ('qazaq', 'NUM'), ('tili', 'PUNCT'), (')', 'PUNCT'), ('—', 'PUNCT'), ('Қазақстан', 'PROPN'), ('Республикасының', 'NOUN'), ('мемлекеттік', 'ADJ'), ('тілі', 'NOUN'), (',', 'PUNCT'), ('сонымен', 'PRON'), ('қатар', 'ADP'), ('Ресей', 'PROPN'), (',', 'PUNCT'), ('Өзбекстан', 'PROPN'), (',', 'PUNCT'), ('Қытай', 'PROPN'), (',', 'PUNCT'), ('Моңғолия', 'PROPN'), ('жəне', 'CCONJ'), ('т.б.', 'NOUN')], results_lemmatize = ['қазақ', 'тіл', '(', 'төте', ':', 'قازاق', 'ٴتىلى\u200e', ',', 'латын', ':', 'qazaq', 'tili', ')', '—', 'Қазақстан', 'республика', 'мемлекеттік', 'тіл', ',', 'сол', 'қатар', 'Ресей', ',', 'Өзбекстан', ',', 'Қытай', ',', 'Моңғолия', 'жəне', 'т.б.'], - results_dependency_parse = [('Қазақ', 'тілі', 'nmod:poss', 1), ('тілі', 'т.б.', 'nsubj', 28), ('(', 'төте', 'punct', 1), ('төте', 'тілі', 'appos', -2), (':', 'قازاق', 'punct', 1), ('قازاق', 'төте', 'conj', -2), ('ٴتىلى\u200e', 'قازاق', 'punct', -1), (',', 'латын', 'punct', 1), ('латын', 'төте', 'conj', -5), (':', 'qazaq', 'punct', 1), ('qazaq', 'латын', 'appos', -2), ('tili', 'qazaq', 'flat:name', -1), (')', 'төте', 'punct', -9), ('—', 'тілі', 'punct', 4), ('Қазақстан', 'Республикасының', 'nmod:poss', 1), ('Республикасының', 'тілі', 'nmod:poss', 2), ('мемлекеттік', 'тілі', 'amod', 1), ('тілі', 'тілі', 'appos', -16), (',', 'тілі', 'punct', -1), ('сонымен', 'Ресей', 'orphan', 2), ('қатар', 'сонымен', 'case', -1), ('Ресей', 'Ресей', 'root', 0), (',', 'Өзбекстан', 'punct', 1), ('Өзбекстан', 'Ресей', 'conj', -2), (',', 'Қытай', 'punct', 1), ('Қытай', 'төте', 'conj', -22), (',', 'Моңғолия', 'punct', 1), ('Моңғолия', 'төте', 'conj', -24), ('жəне', 'т.б.', 'cc', 1), ('т.б.', 'Ресей', 'conj', -8)] + results_dependency_parse = [('Қазақ', 'тілі', 'nmod:poss', 1), ('тілі', 'т.б.', 'nsubj', 28), ('(', 'төте', 'punct', 1), ('төте', 'тілі', 'appos', -2), (':', 'قازاق', 'punct', 1), ('قازاق', 'төте', 'conj', -2), ('ٴتىلى\u200e', 'قازاق', 'flat:name', -1), (',', 'латын', 'punct', 1), ('латын', 'ٴتىلى\u200e', 'conj', -2), (':', 'qazaq', 'punct', 1), ('qazaq', 'латын', 'compound', -2), ('tili', 'qazaq', 'punct', -1), (')', 'tili', 'punct', -1), ('—', 'тілі', 'punct', 4), ('Қазақстан', 'Республикасының', 'nmod:poss', 1), ('Республикасының', 'тілі', 'nmod:poss', 2), ('мемлекеттік', 'тілі', 'amod', 1), ('тілі', 'тілі', 'appos', -16), (',', 'Ресей', 'punct', 3), ('сонымен', 'Ресей', 'orphan', 2), ('қатар', 'сонымен', 'case', -1), ('Ресей', 'тілі', 'conj', -20), (',', 'Өзбекстан', 'punct', 1), ('Өзбекстан', 'Ресей', 'conj', -2), (',', 'Қытай', 'punct', 1), ('Қытай', 'Ресей', 'conj', -4), (',', 'Моңғолия', 'punct', 1), ('Моңғолия', 'Ресей', 'conj', -6), ('жəне', 'т.б.', 'cc', 1), ('т.б.', 'т.б.', 'root', 0)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_lzh.py b/tests/tests_nlp/tests_stanza/test_stanza_lzh.py index e9a0b0fa4..ce26e2e5d 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_lzh.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_lzh.py @@ -26,7 +26,7 @@ def test_stanza_lzh(): results_pos_tag = [('先', 'n,名詞,固定物,関係'), ('民', 'n,名詞,人,人'), ('言', 'v,動詞,行為,伝達'), ('語', 'n,名詞,可搬,伝達'), (',', 'v,副詞,否定,無界'), ('傳', 'v,動詞,行為,伝達'), ('乎', 'v,前置詞,基盤,*'), ('口', 'n,名詞,不可譲,身体'), ('耳', 'p,助詞,句末,*'), (',', 'n,名詞,制度,儀礼'), ('至', 'v,動詞,行為,移動'), ('結', 'v,動詞,行為,動作'), ('繩', 'n,名詞,可搬,道具'), ('以', 'v,動詞,行為,動作'), ('記', 'v,動詞,行為,動作'), (',', 'n,名詞,制度,儀礼'), ('事', 'n,名詞,可搬,成果物'), ('日', 'n,名詞,時,*'), ('贅', 'v,動詞,描写,形質'), (',', 'v,動詞,描写,形質'), ('是', 'n,代名詞,指示,*'), ('結', 'v,動詞,行為,動作'), ('繩', 'n,名詞,可搬,道具'), ('之', 'p,助詞,接続,属格'), ('不', 'v,副詞,否定,無界'), ('足', 'v,助動詞,可能,*'), (',', 'v,動詞,行為,動作'), ('求', 'v,動詞,行為,動作'), ('諸', 'n,名詞,数量,*'), ('繪', 'n,名詞,可搬,伝達'), ('圖', 'n,名詞,可搬,伝達'), (',', 'n,名詞,可搬,道具'), ('繪', 'v,動詞,行為,動作'), ('圖', 'n,名詞,可搬,伝達'), ('猶', 'v,副詞,頻度,重複'), ('逾', 'v,動詞,行為,移動'), (',', 'n,名詞,可搬,成果物'), ('而', 'p,助詞,接続,並列'), ('創', 'v,動詞,行為,設置'), ('字', 'n,名詞,不可譲,属性'), ('製', 'v,動詞,行為,動作'), ('文', 'n,名詞,可搬,伝達'), (',', 'n,名詞,可搬,道具'), ('金', 'n,名詞,可搬,道具'), ('石', 'n,名詞,可搬,道具'), ('竹', 'n,名詞,固定物,樹木'), ('帛', 'n,名詞,可搬,道具'), ('載', 'n,名詞,人,名'), ('之', 'p,助詞,接続,属格'), (',', 'n,名詞,可搬,成果物'), ('自', 'v,前置詞,経由,*'), ('劉', 'n,名詞,人,姓氏'), ('漢', 'n,名詞,人,名'), ('而', 'p,助詞,接続,並列'), ('書', 'v,動詞,行為,動作'), ('諸', 'n,代名詞,人称,他'), ('紙', 'n,名詞,可搬,道具'), ('。', 'p,助詞,句末,*')], results_pos_tag_universal = [('先', 'NOUN'), ('民', 'NOUN'), ('言', 'VERB'), ('語', 'NOUN'), (',', 'ADV'), ('傳', 'VERB'), ('乎', 'ADP'), ('口', 'NOUN'), ('耳', 'PART'), (',', 'NOUN'), ('至', 'VERB'), ('結', 'VERB'), ('繩', 'NOUN'), ('以', 'ADV'), ('記', 'VERB'), (',', 'NOUN'), ('事', 'NOUN'), ('日', 'NOUN'), ('贅', 'VERB'), (',', 'VERB'), ('是', 'PRON'), ('結', 'VERB'), ('繩', 'NOUN'), ('之', 'SCONJ'), ('不', 'ADV'), ('足', 'AUX'), (',', 'VERB'), ('求', 'VERB'), ('諸', 'NOUN'), ('繪', 'NOUN'), ('圖', 'NOUN'), (',', 'NOUN'), ('繪', 'VERB'), ('圖', 'NOUN'), ('猶', 'ADV'), ('逾', 'VERB'), (',', 'NOUN'), ('而', 'CCONJ'), ('創', 'VERB'), ('字', 'NOUN'), ('製', 'VERB'), ('文', 'NOUN'), (',', 'NOUN'), ('金', 'NOUN'), ('石', 'NOUN'), ('竹', 'NOUN'), ('帛', 'NOUN'), ('載', 'PROPN'), ('之', 'SCONJ'), (',', 'NOUN'), ('自', 'ADP'), ('劉', 'PROPN'), ('漢', 'PROPN'), ('而', 'CCONJ'), ('書', 'VERB'), ('諸', 'PRON'), ('紙', 'NOUN'), ('。', 'PART')], results_lemmatize = ['先', '民', '言', '語', ',', '傳', '乎', '口', '耳', ',', '至', '結', '繩', '以', '記', ',', '事', '日', '贅', ',', '是', '結', '繩', '之', '不', '足', ',', '求', '諸', '繪', '圖', ',', '繪', '圖', '猶', '逾', ',', '而', '創', '字', '製', '文', ',', '金', '石', '竹', '帛', '載', '之', ',', '自', '劉', '漢', '而', '書', '諸', '紙', '。'], - results_dependency_parse = [('先', '民', 'nmod', 1), ('民', '言', 'nmod', 1), ('言', '傳', 'nsubj', 3), ('語', '言', 'conj', -1), (',', '傳', 'advmod', 1), ('傳', '傳', 'root', 0), ('乎', '口', 'case', 1), ('口', '傳', 'obl', -2), ('耳', '傳', 'discourse:sp', -3), (',', '至', 'nsubj', 1), ('至', '至', 'root', 0), ('結', '繩', 'amod', 1), ('繩', '至', 'obj', -2), ('以', '記', 'advmod', 1), ('記', '至', 'parataxis', -4), (',', '事', 'nmod', 1), ('事', '記', 'obj', -2), ('日', '贅', 'obl:tmod', 1), ('贅', '至', 'parataxis', -8), (',', '贅', 'compound:redup', -1), ('是', '結', 'nsubj', 1), ('結', '結', 'root', 0), ('繩', ',', 'nsubj', 4), ('之', '繩', 'case', -1), ('不', '足', 'advmod', 1), ('足', ',', 'aux', 1), (',', '結', 'ccomp', -5), ('求', '求', 'root', 0), ('諸', '繪', 'nmod', 1), ('繪', '圖', 'nmod', 1), ('圖', '求', 'obj', -3), (',', '圖', 'conj', -1), ('繪', '圖', 'amod', 1), ('圖', '圖', 'conj', -3), ('猶', '逾', 'advmod', 1), ('逾', '逾', 'root', 0), (',', '逾', 'obj', -1), ('而', '創', 'cc', 1), ('創', '逾', 'conj', -3), ('字', '創', 'obj', -1), ('製', '逾', 'conj', -5), ('文', '製', 'obj', -1), (',', '文', 'flat', -1), ('金', '文', 'conj', -2), ('石', '金', 'flat', -1), ('竹', '帛', 'nmod', 1), ('帛', '逾', 'conj', -11), ('載', '帛', 'flat', -1), ('之', '帛', 'case', -2), (',', '創', 'obj', -11), ('自', '劉', 'case', 1), ('劉', '書', 'obl', 3), ('漢', '劉', 'flat', -1), ('而', '書', 'cc', 1), ('書', '逾', 'conj', -19), ('諸', '書', 'iobj', -1), ('紙', '書', 'obj', -2), ('。', '書', 'discourse:sp', -3)] + results_dependency_parse = [('先', '民', 'nmod', 1), ('民', '言', 'nmod', 1), ('言', '傳', 'nsubj', 3), ('語', '言', 'conj', -1), (',', '傳', 'advmod', 1), ('傳', '傳', 'root', 0), ('乎', '口', 'case', 1), ('口', '傳', 'obl', -2), ('耳', '傳', 'discourse:sp', -3), (',', '至', 'nsubj', 1), ('至', '至', 'root', 0), ('結', '至', 'ccomp', -1), ('繩', '結', 'obj', -1), ('以', '記', 'advmod', 1), ('記', '至', 'parataxis', -4), (',', '事', 'nmod', 1), ('事', '記', 'obj', -2), ('日', '贅', 'obl:tmod', 1), ('贅', '記', 'ccomp', -4), (',', '贅', 'flat:vv', -1), ('是', '結', 'nsubj', 1), ('結', '結', 'root', 0), ('繩', ',', 'nsubj', 4), ('之', '繩', 'case', -1), ('不', '足', 'advmod', 1), ('足', ',', 'aux', 1), (',', '結', 'ccomp', -5), ('求', '求', 'root', 0), ('諸', '繪', 'nmod', 1), ('繪', '圖', 'nmod', 1), ('圖', '求', 'obj', -3), (',', '圖', 'nmod', 2), ('繪', '圖', 'amod', 1), ('圖', '求', 'obj', -6), ('猶', '逾', 'advmod', 1), ('逾', '逾', 'root', 0), (',', '逾', 'obj', -1), ('而', '創', 'cc', 1), ('創', '逾', 'conj', -3), ('字', '創', 'obj', -1), ('製', '逾', 'conj', -5), ('文', '製', 'obj', -1), (',', '文', 'conj', -1), ('金', '文', 'conj', -2), ('石', '金', 'flat', -1), ('竹', '金', 'nmod', -2), ('帛', '竹', 'nmod', -1), ('載', '帛', 'nmod', -1), ('之', '載', 'case', -1), (',', '創', 'obj', -11), ('自', '劉', 'case', 1), ('劉', ',', 'conj', -2), ('漢', '劉', 'flat', -1), ('而', '書', 'cc', 1), ('書', '劉', 'conj', -3), ('諸', '紙', 'nmod', 1), ('紙', '書', 'obj', -2), ('。', '書', 'discourse:sp', -3)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_mlt.py b/tests/tests_nlp/tests_stanza/test_stanza_mlt.py index 12098e530..0d8b511a5 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_mlt.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_mlt.py @@ -21,11 +21,11 @@ def test_stanza_mlt(): test_stanza.wl_test_stanza( lang = 'mlt', - results_sentence_tokenize = ["Il-Malti huwa l-ilsien nazzjonali tar-Repubblika ta' Malta.", "Huwa l-ilsien uffiċjali flimkien mal-Ingliż; kif ukoll wieħed mill-ilsna uffiċjali u l-uniku wieħed ta' oriġini Għarbija (Semitiku) tal-Unjoni Ewropea.", "Dan l-ilsien għandu sisien u għerq semitiku, ta' djalett Għarbi li ġej mit-Tramuntana tal-Afrika, għalħekk qatt ma kellu rabta mill-qrib mal-Għarbi Klassiku.", "Iżda tul iż-żminijiet, minħabba proċess tal-Latinizzazzjoni ta' Malta, bdew deħlin bosta elementi lingwistiċi mill-Isqalli, djalett ta' art li wkoll għaddiet minn żmien ta' ħakma Għarbija.", "Wara l-Isqalli beda dieħel ukoll it-Taljan, fuq kollox fiż-żmien tad-daħla tal-Kavallieri tal-Ordni ta' San Ġwann sa meta l-Ingliż ħa post it-Taljan bħala l-ilsien uffiċjali fil-Kostituzzjoni Kolonjali tal-1934.", "Il-Malti huwa l-ilsien waħdieni ta' għajn semitika li jinkiteb b'ittri Latini.", 'Studju tal-2016 juri li, fil-lingwaġġ bażiku ta’ kuljum, il-Maltin kapaċi jifhmu madwar terz ta’ dak li jingħad lilhom bl-Għarbi Tuneżin li huwa Għarbi tal-Maghrebi relatat mal-Għarbi Sqalli, filwaqt li dawk li jitkellmu bl-Għarbi Tuneżin (Tuneżin) huma kapaċi jifhmu madwar 40% ta’ dak li jingħad lilhom bil-Malti.', '[1]'], - results_word_tokenize = ['Il-', 'Malti', 'huwa', 'l-', 'ilsien', 'nazzjonali', 'tar-', 'Repubblika', "ta'", 'Malta', '.'], - results_pos_tag = [('Il-', 'DEF'), ('Malti', 'NOUN'), ('huwa', 'PRON_PERS'), ('l-', 'DEF'), ('ilsien', 'NOUN'), ('nazzjonali', 'ADJ'), ('tar-', 'GEN_DEF'), ('Repubblika', 'NOUN'), ("ta'", 'GEN'), ('Malta', 'NOUN_PROP'), ('.', 'X_PUN')], - results_pos_tag_universal = [('Il-', 'DET'), ('Malti', 'NOUN'), ('huwa', 'PRON'), ('l-', 'DET'), ('ilsien', 'NOUN'), ('nazzjonali', 'ADJ'), ('tar-', 'ADP'), ('Repubblika', 'NOUN'), ("ta'", 'ADP'), ('Malta', 'PROPN'), ('.', 'PUNCT')], - results_dependency_parse = [('Il-', 'Malti', 'det', 1), ('Malti', 'ilsien', 'nsubj', 3), ('huwa', 'ilsien', 'cop', 2), ('l-', 'ilsien', 'det', 1), ('ilsien', 'ilsien', 'root', 0), ('nazzjonali', 'ilsien', 'amod', -1), ('tar-', 'Repubblika', 'case:det', 1), ('Repubblika', 'ilsien', 'nmod:poss', -3), ("ta'", 'Malta', 'case', 1), ('Malta', 'Repubblika', 'nmod:poss', -2), ('.', 'ilsien', 'punct', -6)] + results_sentence_tokenize = ['L-oriġini tal-ilsien Malti huma attribwiti għall-wasla, kmieni fis-seklu 11, ta’ settlers minn Sqallija ġirien, fejn kien mitkellem is-sikolu-Għarbi, li biddel il-konkwista tal-gżira mill-Kalifat Fatimid fl-aħħar tas-seklu 9[18].', 'Din it-talba ġiet ikkorroborata minn studji ġenetiċi, li juru li l-Maltin kontemporanji jaqsmu antenati komuni ma’ Sqallin u Calabrians, bi ftit input ġenetiku mill-Afrika ta’ Fuq u l-Levant.'], + results_word_tokenize = ['L-', 'oriġini', 'tal-', 'ilsien', 'Malti', 'huma', 'attribwiti', 'għall-', 'wasla', ',', 'kmieni', 'fis-', 'seklu', '11', ',', 'ta’', 'settlers', 'minn', 'Sqallija', 'ġirien', ',', 'fejn', 'kien', 'mitkellem', 'is-', 'sikolu', '-Għarbi', ',', 'li', 'biddel', 'il-', 'konkwista', 'tal-', 'gżira', 'mill-', 'Kalifat', 'Fatimid', 'fl-', 'aħħar', 'tas-', 'seklu', '9[18', ']', '.'], + results_pos_tag = [('L-', 'DEF'), ('oriġini', 'NOUN'), ('tal-', 'GEN_DEF'), ('ilsien', 'NOUN'), ('Malti', 'ADJ'), ('huma', 'PRON_PERS'), ('attribwiti', 'NOUN'), ('għall-', 'PREP_DEF'), ('wasla', 'NOUN'), (',', 'X_PUN'), ('kmieni', 'ADV'), ('fis-', 'PREP_DEF'), ('seklu', 'NOUN'), ('11', 'X_DIG'), (',', 'X_PUN'), ('ta’', 'GEN'), ('settlers', 'NOUN'), ('minn', 'PREP'), ('Sqallija', 'NOUN'), ('ġirien', 'ADJ'), (',', 'X_PUN'), ('fejn', 'PRON_INT'), ('kien', 'KIEN'), ('mitkellem', 'PART_PASS'), ('is-', 'DEF'), ('sikolu', 'NOUN'), ('-Għarbi', 'ADJ'), (',', 'X_PUN'), ('li', 'COMP'), ('biddel', 'VERB'), ('il-', 'DEF'), ('konkwista', 'NOUN'), ('tal-', 'GEN_DEF'), ('gżira', 'NOUN'), ('mill-', 'PREP_DEF'), ('Kalifat', 'NOUN'), ('Fatimid', 'ADJ'), ('fl-', 'PREP_DEF'), ('aħħar', 'NOUN'), ('tas-', 'GEN_DEF'), ('seklu', 'NOUN'), ('9[18', 'X_DIG'), (']', 'X_PUN'), ('.', 'X_PUN')], + results_pos_tag_universal = [('L-', 'DET'), ('oriġini', 'NOUN'), ('tal-', 'ADP'), ('ilsien', 'NOUN'), ('Malti', 'ADJ'), ('huma', 'PRON'), ('attribwiti', 'NOUN'), ('għall-', 'ADP'), ('wasla', 'NOUN'), (',', 'PUNCT'), ('kmieni', 'ADV'), ('fis-', 'ADP'), ('seklu', 'NOUN'), ('11', 'NUM'), (',', 'PUNCT'), ('ta’', 'ADP'), ('settlers', 'NOUN'), ('minn', 'ADP'), ('Sqallija', 'NOUN'), ('ġirien', 'ADJ'), (',', 'PUNCT'), ('fejn', 'ADV'), ('kien', 'AUX'), ('mitkellem', 'VERB'), ('is-', 'DET'), ('sikolu', 'NOUN'), ('-Għarbi', 'ADJ'), (',', 'PUNCT'), ('li', 'SCONJ'), ('biddel', 'VERB'), ('il-', 'DET'), ('konkwista', 'NOUN'), ('tal-', 'ADP'), ('gżira', 'NOUN'), ('mill-', 'ADP'), ('Kalifat', 'NOUN'), ('Fatimid', 'ADJ'), ('fl-', 'ADP'), ('aħħar', 'NOUN'), ('tas-', 'ADP'), ('seklu', 'NOUN'), ('9[18', 'NUM'), (']', 'PUNCT'), ('.', 'PUNCT')], + results_dependency_parse = [('L-', 'oriġini', 'det', 1), ('oriġini', 'attribwiti', 'nsubj', 5), ('tal-', 'ilsien', 'case:det', 1), ('ilsien', 'oriġini', 'nmod:poss', -2), ('Malti', 'ilsien', 'amod', -1), ('huma', 'attribwiti', 'cop', 1), ('attribwiti', 'attribwiti', 'root', 0), ('għall-', 'wasla', 'case:det', 1), ('wasla', 'attribwiti', 'obl', -2), (',', 'attribwiti', 'punct', -3), ('kmieni', 'attribwiti', 'advmod', -4), ('fis-', 'seklu', 'case:det', 1), ('seklu', 'attribwiti', 'nmod', -6), ('11', 'aħħar', 'nmod', 25), (',', 'settlers', 'punct', 2), ('ta’', 'settlers', 'case', 1), ('settlers', 'wasla', 'nmod:poss', -8), ('minn', 'Sqallija', 'case', 1), ('Sqallija', 'settlers', 'nmod', -2), ('ġirien', 'Sqallija', 'amod', -1), (',', 'mitkellem', 'punct', 3), ('fejn', 'mitkellem', 'advmod', 2), ('kien', 'mitkellem', 'cop', 1), ('mitkellem', 'attribwiti', 'acl', -17), ('is-', 'sikolu', 'det', 1), ('sikolu', 'mitkellem', 'nsubj:pass', -2), ('-Għarbi', 'sikolu', 'amod', -1), (',', 'mitkellem', 'punct', -4), ('li', 'biddel', 'mark', 1), ('biddel', 'sikolu', 'acl', -4), ('il-', 'konkwista', 'det', 1), ('konkwista', 'biddel', 'obj', -2), ('tal-', 'gżira', 'case:det', 1), ('gżira', 'konkwista', 'nmod:poss', -2), ('mill-', 'Kalifat', 'case:det', 1), ('Kalifat', 'gżira', 'nmod', -2), ('Fatimid', 'Kalifat', 'amod', -1), ('fl-', 'aħħar', 'case:det', 1), ('aħħar', 'biddel', 'obl', -9), ('tas-', 'seklu', 'case:det', 1), ('seklu', 'aħħar', 'nmod:poss', -2), ('9[18', 'aħħar', 'nummod', -3), (']', 'biddel', 'punct', -13), ('.', 'attribwiti', 'punct', -37)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_rus.py b/tests/tests_nlp/tests_stanza/test_stanza_rus.py index 2ebc98b9d..d7b2d7f91 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_rus.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_rus.py @@ -28,7 +28,7 @@ def test_stanza_rus(): results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, results_lemmatize = ['ру́сский', 'язы́к', '(', 'МФА', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'ⓘ', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковой', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'], - results_dependency_parse = [('Ру́сский', 'язы́к', 'amod', 1), ('язы́к', 'язы́к', 'root', 0), ('(', 'МФА', 'punct', 1), ('МФА', 'язы́к', 'parataxis', -2), (':', 'ˈruskʲɪi̯', 'punct', 2), ('[', 'ˈruskʲɪi̯', 'punct', 1), ('ˈruskʲɪi̯', 'МФА', 'flat:foreign', -3), ('jɪˈzɨk', 'ˈruskʲɪi̯', 'flat:foreign', -1), (']', 'ˈruskʲɪi̯', 'punct', -2), ('ⓘ', 'ˈruskʲɪi̯', 'punct', -3), (')', 'МФА', 'punct', -7), ('[', '~', 'punct', 1), ('~', 'язы́к', 'appos', -11), ('3', '~', 'nummod:entity', -1), (']', '~', 'punct', -2), ('[', '⇨', 'punct', 1), ('⇨', 'язы́к', 'flat:foreign', -15), (']', '⇨', 'punct', -1), ('—', 'язык', 'punct', 1), ('язык', 'язы́к', 'nsubj', -18), ('восточнославянской', 'группы', 'amod', 1), ('группы', 'язык', 'nmod', -2), ('славянской', 'ветви', 'amod', 1), ('ветви', 'группы', 'nmod', -2), ('индоевропейской', 'семьи', 'amod', 2), ('языковой', 'семьи', 'amod', 1), ('семьи', 'ветви', 'nmod', -3), (',', 'язык', 'punct', 2), ('национальный', 'язык', 'amod', 1), ('язык', 'язык', 'conj', -10), ('русского', 'народа', 'amod', 1), ('народа', 'язык', 'nmod', -2), ('.', 'язы́к', 'punct', -31)] + results_dependency_parse = [('Ру́сский', 'язы́к', 'amod', 1), ('язы́к', 'язы́к', 'root', 0), ('(', 'МФА', 'punct', 1), ('МФА', 'язы́к', 'parataxis', -2), (':', 'ˈruskʲɪi̯', 'punct', 2), ('[', 'ˈruskʲɪi̯', 'punct', 1), ('ˈruskʲɪi̯', 'МФА', 'parataxis', -3), ('jɪˈzɨk', 'ˈruskʲɪi̯', 'flat:foreign', -1), (']', 'ˈruskʲɪi̯', 'punct', -2), ('ⓘ', 'ˈruskʲɪi̯', 'punct', -3), (')', 'ˈruskʲɪi̯', 'punct', -4), ('[', '~', 'punct', 1), ('~', 'язы́к', 'appos', -11), ('3', '~', 'nummod:entity', -1), (']', '~', 'punct', -2), ('[', '⇨', 'punct', 1), ('⇨', 'язы́к', 'flat:foreign', -15), (']', '⇨', 'punct', -1), ('—', 'язык', 'punct', 1), ('язык', 'язы́к', 'nsubj', -18), ('восточнославянской', 'группы', 'amod', 1), ('группы', 'язык', 'nmod', -2), ('славянской', 'ветви', 'amod', 1), ('ветви', 'группы', 'nmod', -2), ('индоевропейской', 'семьи', 'amod', 2), ('языковой', 'семьи', 'amod', 1), ('семьи', 'ветви', 'nmod', -3), (',', 'язык', 'punct', 2), ('национальный', 'язык', 'amod', 1), ('язык', 'язык', 'conj', -10), ('русского', 'народа', 'amod', 1), ('народа', 'язык', 'nmod', -2), ('.', 'язы́к', 'punct', -31)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_spa.py b/tests/tests_nlp/tests_stanza/test_stanza_spa.py index 2d1b6cfe3..b105cfe38 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_spa.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_spa.py @@ -26,7 +26,7 @@ def test_stanza_spa(): results_pos_tag = [('El', 'da0ms0'), ('español', 'ncms000'), ('o', 'cc'), ('castellano', 'ncms000'), ('es', 'vsip3s0'), ('una', 'di0fs0'), ('lengua', 'ncfs000'), ('romance', 'aq0cs0'), ('procedente', 'aq0cs0'), ('de', 'spcms'), ('el', 'DET'), ('latín', 'ncms000'), ('hablado', 'aq0msp'), (',', 'fc'), ('perteneciente', 'aq0cs0'), ('a', 'sps00'), ('la', 'da0fs0'), ('familia', 'ncfs000'), ('de', 'sps00'), ('lenguas', 'ncfp000'), ('indoeuropeas', 'aq0fp0'), ('.', 'fp')], results_pos_tag_universal = [('El', 'DET'), ('español', 'NOUN'), ('o', 'CCONJ'), ('castellano', 'NOUN'), ('es', 'AUX'), ('una', 'DET'), ('lengua', 'NOUN'), ('romance', 'ADJ'), ('procedente', 'ADJ'), ('de', 'ADP'), ('el', 'DET'), ('latín', 'NOUN'), ('hablado', 'ADJ'), (',', 'PUNCT'), ('perteneciente', 'ADJ'), ('a', 'ADP'), ('la', 'DET'), ('familia', 'NOUN'), ('de', 'ADP'), ('lenguas', 'NOUN'), ('indoeuropeas', 'ADJ'), ('.', 'PUNCT')], results_lemmatize = ['el', 'español', 'o', 'castellano', 'ser', 'uno', 'lengua', 'romance', 'procedente', 'de', 'el', 'latín', 'hablar', ',', 'perteneciente', 'a', 'el', 'familia', 'de', 'lengua', 'indoeuropeo', '.'], - results_dependency_parse = [('El', 'español', 'det', 1), ('español', 'lengua', 'nsubj', 5), ('o', 'castellano', 'cc', 1), ('castellano', 'español', 'conj', -2), ('es', 'lengua', 'cop', 2), ('una', 'lengua', 'det', 1), ('lengua', 'lengua', 'root', 0), ('romance', 'lengua', 'amod', -1), ('procedente', 'lengua', 'amod', -2), ('de', 'latín', 'case', 2), ('el', 'latín', 'det', 1), ('latín', 'procedente', 'nmod', -3), ('hablado', 'latín', 'amod', -1), (',', 'perteneciente', 'punct', 1), ('perteneciente', 'latín', 'amod', -3), ('a', 'familia', 'case', 2), ('la', 'familia', 'det', 1), ('familia', 'perteneciente', 'nmod', -3), ('de', 'lenguas', 'case', 1), ('lenguas', 'familia', 'nmod', -2), ('indoeuropeas', 'lenguas', 'amod', -1), ('.', 'lengua', 'punct', -15)], + results_dependency_parse = [('El', 'español', 'det', 1), ('español', 'lengua', 'nsubj', 5), ('o', 'castellano', 'cc', 1), ('castellano', 'español', 'conj', -2), ('es', 'lengua', 'cop', 2), ('una', 'lengua', 'det', 1), ('lengua', 'lengua', 'root', 0), ('romance', 'lengua', 'amod', -1), ('procedente', 'lengua', 'amod', -2), ('de', 'latín', 'case', 2), ('el', 'latín', 'det', 1), ('latín', 'procedente', 'nmod', -3), ('hablado', 'latín', 'amod', -1), (',', 'perteneciente', 'punct', 1), ('perteneciente', 'latín', 'amod', -3), ('a', 'familia', 'case', 2), ('la', 'familia', 'det', 1), ('familia', 'perteneciente', 'obl:arg', -3), ('de', 'lenguas', 'case', 1), ('lenguas', 'familia', 'nmod', -2), ('indoeuropeas', 'lenguas', 'amod', -1), ('.', 'lengua', 'punct', -15)], results_sentiment_analayze = [-1] ) diff --git a/tests/tests_nlp/tests_stanza/test_stanza_urd.py b/tests/tests_nlp/tests_stanza/test_stanza_urd.py index e622e4ce0..fc9bc5c88 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_urd.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_urd.py @@ -21,12 +21,12 @@ def test_stanza_urd(): test_stanza.wl_test_stanza( lang = 'urd', - results_sentence_tokenize = ['اُردُو[8] برصغیر کی معیاری زبانوں میں سے ایک ہے۔', 'یہ پاکستان کی قومی اور رابطہ عامہ کی زبان ہے، جبکہ بھارت کی چھ ریاستوں کی دفتری زبان کا درجہ رکھتی ہے۔', 'آئین ہند کے مطابق اسے 22 دفتری شناخت شدہ زبانوں میں شامل کیا جا چکا ہے۔', '2001ء کی مردم شماری کے مطابق اردو کو بطور مادری زبان بھارت میں 5.01% فیصد لوگ بولتے ہیں اور اس لحاظ سے ہی بھارت کی چھٹی بڑی زبان ہے جبکہ پاکستان میں اسے بطور مادری زبان 7.59% فیصد لوگ استعمال کرتے ہیں، یہ پاکستان کی پانچویں بڑی زبان ہے۔', 'اردو تاریخی طور پر ہندوستان کی مسلم آبادی سے جڑی ہے۔', '[9] زبانِ اردو کو پہچان و ترقی اس وقت ملی جب برطانوی دور میں انگریز حکمرانوں نے اسے فارسی کی بجائے انگریزی کے ساتھ شمالی ہندوستان کے علاقوں اور جموں و کشمیر میں اسے 1846ء اور پنجاب میں 1849ء میں بطور دفتری زبان نافذ کیا۔', 'اس کے علاوہ خلیجی، یورپی، ایشیائی اور امریکی علاقوں میں اردو بولنے والوں کی ایک بڑی تعداد آباد ہے جو بنیادی طور پر جنوبی ایشیاء سے کوچ کرنے والے اہلِ اردو ہیں۔', '1999ء کے اعداد و شمار کے مطابق اردو زبان کے مجموعی متکلمین کی تعداد دس کروڑ ساٹھ لاکھ کے لگ بھگ تھی۔', 'اس لحاظ سے یہ دنیا کی نویں بڑی زبان ہے۔', 'اردو زبان کو کئی ہندوستانی ریاستوں میں سرکاری حیثیت بھی حاصل ہے۔', 'نیپال میں، اردو ایک رجسٹرڈ علاقائی بولی ہے [12] اور جنوبی افریقہ میں یہ آئین میں ایک محفوظ زبان ہے۔', 'یہ افغانستان اور بنگلہ دیش میں اقلیتی زبان کے طور پر بھی بولی جاتی ہے، جس کی کوئی سرکاری حیثیت نہیں ہے۔'], - results_word_tokenize = ['اُردُو', '[', '8', ']', 'برصغیر', 'کی', 'معیاری', 'زبانوں', 'میں', 'سے', 'ایک', 'ہے', '۔'], - results_pos_tag = [('اُردُو', 'NNP'), ('[', 'SYM'), ('8', 'QC'), (']', 'SYM'), ('برصغیر', 'NN'), ('کی', 'PSP'), ('معیاری', 'JJ'), ('زبانوں', 'NN'), ('میں', 'PSP'), ('سے', 'PSP'), ('ایک', 'QC'), ('ہے', 'VM'), ('۔', 'SYM')], - results_pos_tag_universal = [('اُردُو', 'PROPN'), ('[', 'PUNCT'), ('8', 'NUM'), (']', 'PUNCT'), ('برصغیر', 'NOUN'), ('کی', 'ADP'), ('معیاری', 'ADJ'), ('زبانوں', 'NOUN'), ('میں', 'ADP'), ('سے', 'ADP'), ('ایک', 'NUM'), ('ہے', 'AUX'), ('۔', 'PUNCT')], - results_lemmatize = ['اُردُو', '(', '8', ')', 'برصغیر', 'کا', 'معیاری', 'زبان', 'میں', 'سے', 'ایک', 'ہے', '۔'], - results_dependency_parse = [('اُردُو', 'ایک', 'nsubj', 10), ('[', '8', 'punct', 1), ('8', 'اُردُو', 'nummod', -2), (']', '8', 'punct', -1), ('برصغیر', 'زبانوں', 'nmod', 3), ('کی', 'برصغیر', 'case', -1), ('معیاری', 'زبانوں', 'amod', 1), ('زبانوں', 'ایک', 'obl', 3), ('میں', 'زبانوں', 'case', -1), ('سے', 'زبانوں', 'case', -2), ('ایک', 'ایک', 'root', 0), ('ہے', 'ایک', 'cop', -1), ('۔', 'ایک', 'punct', -2)] + results_sentence_tokenize = ['1837ء میں، اردو برطانوی ایسٹ انڈیا کمپنی کی سرکاری زبان بن گئی، کمپنی کے دور میں پورے شمالی ہندوستان میں فارسی کی جگہ لی گئی۔', 'فارسی اس وقت تک مختلف ہند-اسلامی سلطنتوں کی درباری زبان کے طور پر کام کرتی تھی۔', '[11] یورپی نوآبادیاتی دور میں مذہبی، سماجی اور سیاسی عوامل پیدا ہوئے جنھوں نے اردو اور ہندی کے درمیان فرق کیا، جس کی وجہ سے ہندی-اردو تنازعہ شروع ہوا ۔'], + results_word_tokenize = ['1837ء', 'میں', '،', 'اردو', 'برطانوی', 'ایسٹ', 'انڈیا', 'کمپنی', 'کی', 'سرکاری', 'زبان', 'بن', 'گئی', '،', 'کمپنی', 'کے', 'دور', 'میں', 'پورے', 'شمالی', 'ہندوستان', 'میں', 'فارسی', 'کی', 'جگہ', 'لی', 'گئی', '۔'], + results_pos_tag = [('1837ء', 'NNP'), ('میں', 'PSP'), ('،', 'SYM'), ('اردو', 'NNP'), ('برطانوی', 'NNPC'), ('ایسٹ', 'NNPC'), ('انڈیا', 'NNPC'), ('کمپنی', 'NNP'), ('کی', 'PSP'), ('سرکاری', 'JJ'), ('زبان', 'NN'), ('بن', 'VM'), ('گئی', 'VAUX'), ('،', 'SYM'), ('کمپنی', 'NN'), ('کے', 'PSP'), ('دور', 'NN'), ('میں', 'PSP'), ('پورے', 'JJ'), ('شمالی', 'JJ'), ('ہندوستان', 'NNP'), ('میں', 'PSP'), ('فارسی', 'NN'), ('کی', 'PSP'), ('جگہ', 'NN'), ('لی', 'VM'), ('گئی', 'VAUX'), ('۔', 'SYM')], + results_pos_tag_universal = [('1837ء', 'PROPN'), ('میں', 'ADP'), ('،', 'PUNCT'), ('اردو', 'PROPN'), ('برطانوی', 'PROPN'), ('ایسٹ', 'PROPN'), ('انڈیا', 'PROPN'), ('کمپنی', 'PROPN'), ('کی', 'ADP'), ('سرکاری', 'ADJ'), ('زبان', 'NOUN'), ('بن', 'VERB'), ('گئی', 'AUX'), ('،', 'PUNCT'), ('کمپنی', 'NOUN'), ('کے', 'ADP'), ('دور', 'NOUN'), ('میں', 'ADP'), ('پورے', 'ADJ'), ('شمالی', 'ADJ'), ('ہندوستان', 'PROPN'), ('میں', 'ADP'), ('فارسی', 'NOUN'), ('کی', 'ADP'), ('جگہ', 'NOUN'), ('لی', 'VERB'), ('گئی', 'AUX'), ('۔', 'PUNCT')], + results_lemmatize = ['1837ء', 'میں', '،', 'اردو', 'برطانوی', 'ایسٹ', 'انڈیا', 'کمپنی', 'کا', 'سرکاری', 'زبان', 'بن', 'جا', '،', 'کمپنی', 'کا', 'دور', 'میں', 'پورا', 'شمالی', 'ہندوستان', 'میں', 'فارسی', 'کا', 'جگہ', 'لے', 'جا', '۔'], + results_dependency_parse = [('1837ء', 'بن', 'obl', 11), ('میں', '1837ء', 'case', -1), ('،', '1837ء', 'punct', -2), ('اردو', 'کمپنی', 'nmod', 4), ('برطانوی', 'کمپنی', 'compound', 3), ('ایسٹ', 'کمپنی', 'compound', 2), ('انڈیا', 'کمپنی', 'compound', 1), ('کمپنی', 'زبان', 'nmod', 3), ('کی', 'کمپنی', 'case', -1), ('سرکاری', 'زبان', 'amod', 1), ('زبان', 'بن', 'xcomp', 1), ('بن', 'کمپنی', 'acl:relcl', 3), ('گئی', 'بن', 'aux', -1), ('،', 'بن', 'punct', -2), ('کمپنی', 'دور', 'nmod', 2), ('کے', 'کمپنی', 'case', -1), ('دور', 'لی', 'obl', 9), ('میں', 'دور', 'case', -1), ('پورے', 'ہندوستان', 'amod', 2), ('شمالی', 'ہندوستان', 'amod', 1), ('ہندوستان', 'لی', 'obl', 5), ('میں', 'ہندوستان', 'case', -1), ('فارسی', 'جگہ', 'nmod', 2), ('کی', 'فارسی', 'case', -1), ('جگہ', 'لی', 'obl', 1), ('لی', 'لی', 'root', 0), ('گئی', 'لی', 'aux', -1), ('۔', 'لی', 'punct', -2)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_stanza/test_stanza_xcl.py b/tests/tests_nlp/tests_stanza/test_stanza_xcl.py new file mode 100644 index 000000000..894363972 --- /dev/null +++ b/tests/tests_nlp/tests_stanza/test_stanza_xcl.py @@ -0,0 +1,35 @@ +# ---------------------------------------------------------------------- +# Wordless: Tests - NLP - Stanza - Armenian (Classical) +# Copyright (C) 2018-2024 Ye Lei (叶磊) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ---------------------------------------------------------------------- + +from tests.tests_nlp.tests_stanza import test_stanza + +results_pos_tag = [('Զգոյշ', 'ADJ'), ('լերուք', 'AUX'), ('ողորմութեան', 'NOUN'), ('ձերում', 'DET'), ('՝', 'PUNCT'), ('մի', 'PART'), ('առնել', 'VERB'), ('առաջի', 'ADP'), ('մարդկան', 'NOUN'), ('՝', 'PUNCT'), ('որպէս', 'ADV'), ('թե', 'SCONJ'), ('ի', 'ADP'), ('ցոյց', 'NOUN'), ('ինչ', 'PRON'), ('նոցա', 'PRON'), (',', 'PUNCT'), ('գուցէ', 'PART'), ('եւ', 'CCONJ'), ('վարձս', 'NOUN'), ('ոչ', 'PART'), ('ընդունիցիք', 'VERB'), ('ի', 'ADP'), ('հաւրէ', 'NOUN'), ('ձերմէ', 'DET'), ('որ', 'PRON'), ('յ', 'ADP'), ('երկինս', 'NOUN'), ('ն', 'DET'), ('է', 'AUX'), (':', 'PUNCT')] + +def test_stanza_xcl(): + test_stanza.wl_test_stanza( + lang = 'xcl', + results_sentence_tokenize = ['Զգոյշ լերուք ողորմութեան ձերում՝ մի առնել առաջի մարդկան՝ որպէս թե ի ցոյց ինչ նոցա, գուցէ եւ վարձս ոչ ընդունիցիք ի հաւրէ ձերմէ որ յերկինսն է:', 'Այղ յորժամ առնիցես ողորմութիւն, մի հարկաներ փող առաջի քո. որպէս կեղծաւորքն առնեն ի ժողովուրդս եւ ի հրապարակս. որպէս զի փառաւորեսցին ի մարդկանէ:'], + results_word_tokenize = ['Զգոյշ', 'լերուք', 'ողորմութեան', 'ձերում', '՝', 'մի', 'առնել', 'առաջի', 'մարդկան', '՝', 'որպէս', 'թե', 'ի', 'ցոյց', 'ինչ', 'նոցա', ',', 'գուցէ', 'եւ', 'վարձս', 'ոչ', 'ընդունիցիք', 'ի', 'հաւրէ', 'ձերմէ', 'որ', 'յ', 'երկինս', 'ն', 'է', ':'], + results_pos_tag = results_pos_tag, + results_pos_tag_universal = results_pos_tag, + results_lemmatize = ['զգոյշ', 'լինիմ', 'ողորմութիւն', 'ձեր', '՝', 'մի', 'առնեմ', 'առաջի', 'մարդիկ', '՝', 'որպէս', 'թե', 'ի', 'ցոյց', 'ինչ', 'նա', ',', 'գուցէ', 'եւ', 'վարձ', 'ոչ', 'ընդունիմ', 'ի', 'հայր', 'ձեր', 'որ', 'ի', 'երկին', 'ն', 'եմ', ':'], + results_dependency_parse = [('Զգոյշ', 'Զգոյշ', 'root', 0), ('լերուք', 'Զգոյշ', 'cop', -1), ('ողորմութեան', 'Զգոյշ', 'iobj', -2), ('ձերում', 'ողորմութեան', 'det', -1), ('՝', 'առնել', 'punct', 2), ('մի', 'առնել', 'advmod', 1), ('առնել', 'Զգոյշ', 'xcomp', -6), ('առաջի', 'մարդկան', 'case', 1), ('մարդկան', 'առնել', 'obl', -2), ('՝', 'ցոյց', 'punct', 4), ('որպէս', 'ցոյց', 'mark', 3), ('թե', 'ցոյց', 'mark', 2), ('ի', 'ցոյց', 'case', 1), ('ցոյց', 'ընդունիցիք', 'advcl', 8), ('ինչ', 'ցոյց', 'det', -1), ('նոցա', 'ցոյց', 'nmod', -2), (',', 'ընդունիցիք', 'punct', 5), ('գուցէ', 'ընդունիցիք', 'discourse', 4), ('եւ', 'վարձս', 'cc', 1), ('վարձս', 'ընդունիցիք', 'obj', 2), ('ոչ', 'ընդունիցիք', 'advmod', 1), ('ընդունիցիք', 'առնել', 'advcl', -15), ('ի', 'հաւրէ', 'case', 1), ('հաւրէ', 'ընդունիցիք', 'obl', -2), ('ձերմէ', 'հաւրէ', 'det', -1), ('որ', 'երկինս', 'nsubj', 2), ('յ', 'երկինս', 'case', 1), ('երկինս', 'հաւրէ', 'acl', -4), ('ն', 'երկինս', 'det', -1), ('է', 'երկինս', 'cop', -2), (':', 'Զգոյշ', 'punct', -30)] + ) + +if __name__ == '__main__': + test_stanza_xcl() diff --git a/tests/tests_nlp/tests_stanza/test_stanza_zho_cn.py b/tests/tests_nlp/tests_stanza/test_stanza_zho_cn.py index a8fad13a3..8de0c1acb 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_zho_cn.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_zho_cn.py @@ -26,7 +26,7 @@ def test_stanza_zho_cn(): results_pos_tag = [('汉', 'NNP'), ('语', 'SFN'), ('又', 'RB'), ('称', 'VV'), ('中', 'NNP'), ('文', 'SFN'), ('、', 'EC'), ('华', 'NNP'), ('语', 'SFN'), ('[', '('), ('6', 'CD'), (']', ')'), ('、', 'EC'), ('唐', 'NNP'), ('话', 'SFN'), ('[', '('), ('7', 'CD'), (']', ')'), (',', ','), ('概', 'RB'), ('指', 'VV'), ('由', 'VV'), ('上古', 'NN'), ('汉', 'NNP'), ('语', 'SFN'), ('(', '('), ('先', 'NNP'), ('秦', 'NNP'), ('雅言', 'NNP'), (')', ')'), ('发展', 'VV'), ('而', 'RB'), ('来', 'VV'), ('、', 'EC'), ('书面', 'NN'), ('使用', 'VV'), ('汉', 'NNP'), ('字', 'SFN'), ('的', 'DEC'), ('分析', 'VV'), ('语', 'SFN'), (',', ','), ('为', 'VC'), ('汉', 'NNP'), ('藏', 'NNP'), ('语', 'SFN'), ('系', 'SFN'), ('最大', 'JJ'), ('的', 'DEC'), ('一', 'CD'), ('支', 'NNB'), ('语族', 'NN'), ('。', '.')], results_pos_tag_universal = [('汉', 'PROPN'), ('语', 'PART'), ('又', 'ADV'), ('称', 'VERB'), ('中', 'PROPN'), ('文', 'PART'), ('、', 'PUNCT'), ('华', 'PROPN'), ('语', 'PART'), ('[', 'PUNCT'), ('6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐', 'PROPN'), ('话', 'PART'), ('[', 'PUNCT'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概', 'ADV'), ('指', 'VERB'), ('由', 'VERB'), ('上古', 'NOUN'), ('汉', 'PROPN'), ('语', 'PART'), ('(', 'PUNCT'), ('先', 'PROPN'), ('秦', 'PROPN'), ('雅言', 'PROPN'), (')', 'PUNCT'), ('发展', 'VERB'), ('而', 'ADV'), ('来', 'VERB'), ('、', 'PUNCT'), ('书面', 'NOUN'), ('使用', 'VERB'), ('汉', 'PROPN'), ('字', 'PART'), ('的', 'PART'), ('分析', 'VERB'), ('语', 'PART'), (',', 'PUNCT'), ('为', 'AUX'), ('汉', 'PROPN'), ('藏', 'PROPN'), ('语', 'PART'), ('系', 'PART'), ('最大', 'ADJ'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NOUN'), ('语族', 'NOUN'), ('。', 'PUNCT')], results_lemmatize = ['汉', '语', '又', '称', '中', '文', '、', '华', '语', '[', '6', ']', '、', '唐', '话', '[', '7', ']', ',', '概', '指', '由', '上古', '汉', '语', '(', '先', '秦', '雅言', ')', '发展', '而', '来', '、', '书面', '使用', '汉', '字', '的', '分析', '语', ',', '为', '汉', '藏', '语', '系', '最大', '的', '一', '支', '语族', '。'], - results_dependency_parse = [('汉', '语', 'compound', 1), ('语', '语族', 'nsubj', 50), ('又', '称', 'mark', 1), ('称', '语族', 'acl', 48), ('中', '文', 'compound', 1), ('文', '称', 'obj', -2), ('、', '语', 'punct', 2), ('华', '语', 'compound', 1), ('语', '文', 'conj', -3), ('[', ']', 'punct', 2), ('6', ']', 'nummod', 1), (']', '文', 'conj', -6), ('、', '话', 'punct', 2), ('唐', '话', 'compound', 1), ('话', '文', 'conj', -9), ('[', '7', 'punct', 1), ('7', '话', 'nummod', -2), (']', '7', 'punct', -1), (',', '称', 'punct', -15), ('概', '指', 'advmod', 1), ('指', '语族', 'acl', 31), ('由', '指', 'xcomp', -1), ('上古', '语', 'nmod', 2), ('汉', '语', 'compound', 1), ('语', '发展', 'nsubj', 6), ('(', '先', 'punct', 1), ('先', '语', 'appos', -2), ('秦', '先', 'flat:name', -1), ('雅言', '先', 'flat:name', -2), (')', '先', 'punct', -3), ('发展', '由', 'ccomp', -9), ('而', '来', 'mark', 1), ('来', '由', 'ccomp', -11), ('、', '使用', 'punct', 2), ('书面', '使用', 'nsubj', 1), ('使用', '来', 'conj', -3), ('汉', '字', 'compound', 1), ('字', '使用', 'obj', -2), ('的', '来', 'mark:rel', -6), ('分析', '语', 'compound', 1), ('语', '指', 'obj', -20), (',', '指', 'punct', -21), ('为', '语族', 'cop', 9), ('汉', '系', 'nmod', 3), ('藏', '语', 'compound', 1), ('语', '系', 'compound', 1), ('系', '最大', 'nsubj', 1), ('最大', '语族', 'acl:relcl', 4), ('的', '最大', 'mark:rel', -1), ('一', '支', 'nummod', 1), ('支', '语族', 'clf', 1), ('语族', '语族', 'root', 0), ('。', '语族', 'punct', -1)], + results_dependency_parse = [('汉', '语', 'compound', 1), ('语', '语族', 'nsubj', 50), ('又', '称', 'mark', 1), ('称', '语族', 'acl', 48), ('中', '文', 'compound', 1), ('文', '称', 'obj', -2), ('、', '语', 'punct', 2), ('华', '语', 'compound', 1), ('语', '文', 'conj', -3), ('[', ']', 'punct', 2), ('6', ']', 'nummod', 1), (']', '文', 'conj', -6), ('、', '话', 'punct', 2), ('唐', '话', 'compound', 1), ('话', '文', 'conj', -9), ('[', '7', 'punct', 1), ('7', '话', 'nummod', -2), (']', '7', 'punct', -1), (',', '称', 'punct', -15), ('概', '指', 'advmod', 1), ('指', '语族', 'acl', 31), ('由', '指', 'xcomp', -1), ('上古', '语', 'nmod', 2), ('汉', '语', 'compound', 1), ('语', '发展', 'nsubj', 6), ('(', '先', 'punct', 1), ('先', '语', 'appos', -2), ('秦', '先', 'flat:name', -1), ('雅言', '先', 'appos', -2), (')', '先', 'punct', -3), ('发展', '由', 'ccomp', -9), ('而', '来', 'mark', 1), ('来', '由', 'ccomp', -11), ('、', '使用', 'punct', 2), ('书面', '使用', 'nsubj', 1), ('使用', '来', 'conj', -3), ('汉', '字', 'compound', 1), ('字', '使用', 'obj', -2), ('的', '来', 'mark:rel', -6), ('分析', '语', 'compound', 1), ('语', '指', 'obj', -20), (',', '指', 'punct', -21), ('为', '语族', 'cop', 9), ('汉', '系', 'nmod', 3), ('藏', '语', 'compound', 1), ('语', '系', 'compound', 1), ('系', '最大', 'nsubj', 1), ('最大', '语族', 'acl:relcl', 4), ('的', '最大', 'mark:rel', -1), ('一', '支', 'nummod', 1), ('支', '语族', 'clf', 1), ('语族', '语族', 'root', 0), ('。', '语族', 'punct', -1)], results_sentiment_analayze = [0] ) diff --git a/tests/tests_nlp/tests_stanza/test_stanza_zho_tw.py b/tests/tests_nlp/tests_stanza/test_stanza_zho_tw.py index 31072475d..80b4141a8 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_zho_tw.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_zho_tw.py @@ -26,7 +26,7 @@ def test_stanza_zho_tw(): results_pos_tag = [('漢', 'NNP'), ('語', 'SFN'), ('又', 'RB'), ('稱', 'VV'), ('中', 'NNP'), ('文', 'SFN'), ('、', 'EC'), ('華', 'NNP'), ('語', 'SFN'), ('[', 'HYPH'), ('6', 'CD'), (']', 'HYPH'), ('、', 'EC'), ('唐', 'NNP'), ('話', 'SFN'), ('[', "''"), ('7', 'CD'), (']', ')'), (',', ','), ('概指', 'NN'), ('由', 'VV'), ('上古', 'NNP'), ('漢', 'NNP'), ('語', 'SFN'), ('(', '('), ('先', 'PFA'), ('秦', 'NNP'), ('雅言', 'NNP'), (')', ')'), ('發展', 'VV'), ('而', 'RB'), ('來', 'VV'), ('、', 'EC'), ('書面', 'NN'), ('使用', 'VV'), ('漢字', 'NN'), ('的', 'DEC'), ('分析', 'VV'), ('語', 'SFN'), (',', ','), ('為', 'VC'), ('漢', 'NNP'), ('藏', 'NNP'), ('語', 'SFN'), ('系', 'SFN'), ('最大', 'JJ'), ('的', 'DEC'), ('一', 'CD'), ('支', 'NNB'), ('語族', 'NN'), ('。', '.')], results_pos_tag_universal = [('漢', 'PROPN'), ('語', 'PART'), ('又', 'ADV'), ('稱', 'VERB'), ('中', 'PROPN'), ('文', 'PART'), ('、', 'PUNCT'), ('華', 'PROPN'), ('語', 'PART'), ('[', 'PUNCT'), ('6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐', 'PROPN'), ('話', 'PART'), ('[', 'PUNCT'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概指', 'NOUN'), ('由', 'VERB'), ('上古', 'PROPN'), ('漢', 'PROPN'), ('語', 'PART'), ('(', 'PUNCT'), ('先', 'PART'), ('秦', 'PROPN'), ('雅言', 'PROPN'), (')', 'PUNCT'), ('發展', 'VERB'), ('而', 'ADV'), ('來', 'VERB'), ('、', 'PUNCT'), ('書面', 'NOUN'), ('使用', 'VERB'), ('漢字', 'NOUN'), ('的', 'PART'), ('分析', 'VERB'), ('語', 'PART'), (',', 'PUNCT'), ('為', 'AUX'), ('漢', 'PROPN'), ('藏', 'PROPN'), ('語', 'PART'), ('系', 'PART'), ('最大', 'ADJ'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NOUN'), ('語族', 'NOUN'), ('。', 'PUNCT')], results_lemmatize = ['漢', '語', '又', '稱', '中', '文', '、', '華', '語', '[', '6', ']', '、', '唐', '話', '[', '7', ']', ',', '概指', '由', '上古', '漢', '語', '(', '先', '秦', '雅言', ')', '發展', '而', '來', '、', '書面', '使用', '漢字', '的', '分析', '語', ',', '為', '漢', '藏', '語', '系', '最大', '的', '一', '支', '語族', '。'], - results_dependency_parse = [('漢', '語', 'compound', 1), ('語', '稱', 'nsubj', 2), ('又', '稱', 'mark', 1), ('稱', '稱', 'root', 0), ('中', '文', 'compound', 1), ('文', '稱', 'obj', -2), ('、', '語', 'punct', 2), ('華', '語', 'compound', 1), ('語', '文', 'conj', -3), ('[', '語', 'punct', -1), ('6', '文', 'conj', -5), (']', '話', 'punct', 3), ('、', '唐', 'punct', 1), ('唐', '話', 'compound', 1), ('話', '文', 'conj', -9), ('[', '話', 'punct', -1), ('7', '話', 'nummod', -2), (']', '話', 'punct', -3), (',', '由', 'punct', 2), ('概指', '語族', 'nsubj', 30), ('由', '語族', 'acl', 29), ('上古', '語', 'nmod', 2), ('漢', '語', 'compound', 1), ('語', '發展', 'nsubj', 6), ('(', '雅言', 'punct', 3), ('先', '雅言', 'case', 2), ('秦', '雅言', 'nmod', 1), ('雅言', '語', 'appos', -4), (')', '雅言', 'punct', -1), ('發展', '由', 'ccomp', -9), ('而', '來', 'mark', 1), ('來', '語', 'acl:relcl', 7), ('、', '書面', 'punct', 1), ('書面', '使用', 'nsubj', 1), ('使用', '來', 'conj', -3), ('漢字', '使用', 'obj', -1), ('的', '來', 'mark:rel', -5), ('分析', '語', 'compound', 1), ('語', '語族', 'acl', 11), (',', '語', 'punct', -1), ('為', '語族', 'cop', 9), ('漢', '系', 'nmod', 3), ('藏', '語', 'compound', 1), ('語', '系', 'compound', 1), ('系', '最大', 'nsubj', 1), ('最大', '語族', 'amod', 4), ('的', '最大', 'mark:rel', -1), ('一', '支', 'nummod', 1), ('支', '語族', 'clf', 1), ('語族', '稱', 'ccomp', -46), ('。', '稱', 'punct', -47)] + results_dependency_parse = [('漢', '語', 'compound', 1), ('語', '稱', 'nsubj', 2), ('又', '稱', 'mark', 1), ('稱', '稱', 'root', 0), ('中', '文', 'compound', 1), ('文', '稱', 'obj', -2), ('、', '語', 'punct', 2), ('華', '語', 'compound', 1), ('語', '文', 'conj', -3), ('[', '語', 'punct', -1), ('6', '文', 'conj', -5), (']', '話', 'punct', 3), ('、', '唐', 'punct', 1), ('唐', '6', 'conj', -3), ('話', '文', 'conj', -9), ('[', '話', 'punct', -1), ('7', '話', 'nummod', -2), (']', '話', 'punct', -3), (',', '由', 'punct', 2), ('概指', '由', 'nsubj', 1), ('由', '語族', 'acl', 29), ('上古', '語', 'nmod', 2), ('漢', '語', 'compound', 1), ('語', '發展', 'nsubj', 6), ('(', '雅言', 'punct', 3), ('先', '雅言', 'case', 2), ('秦', '雅言', 'nmod', 1), ('雅言', '語', 'appos', -4), (')', '雅言', 'punct', -1), ('發展', '來', 'advcl', 2), ('而', '來', 'mark', 1), ('來', '語', 'acl:relcl', 7), ('、', '書面', 'punct', 1), ('書面', '使用', 'nsubj', 1), ('使用', '來', 'conj', -3), ('漢字', '使用', 'obj', -1), ('的', '來', 'mark:rel', -5), ('分析', '語', 'compound', 1), ('語', '語族', 'acl', 11), (',', '語', 'punct', -1), ('為', '語族', 'cop', 9), ('漢', '系', 'nmod', 3), ('藏', '語', 'compound', 1), ('語', '系', 'compound', 1), ('系', '最大', 'nsubj', 1), ('最大', '語族', 'amod', 4), ('的', '最大', 'mark:rel', -1), ('一', '支', 'nummod', 1), ('支', '語族', 'clf', 1), ('語族', '稱', 'ccomp', -46), ('。', '稱', 'punct', -47)] ) if __name__ == '__main__': diff --git a/tests/tests_settings/test_settings_global.py b/tests/tests_settings/test_settings_global.py index ab7666b91..456b35167 100644 --- a/tests/tests_settings/test_settings_global.py +++ b/tests/tests_settings/test_settings_global.py @@ -266,8 +266,12 @@ def check_settings_global(self): for line in f: if line.startswith('stanza'): ver_stanza = line.split('==')[1].strip() + # Replace minor version number with 0 + ver_stanza = re.sub(r'\.[0-9]$', '.0', ver_stanza) - r = requests.get(f'https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_{ver_stanza}.json', timeout = 5) + break + + r = requests.get(f'https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_{ver_stanza}.json', timeout = 10) for lang, lang_resources in r.json().items(): if lang != 'multilingual' and 'default_processors' in lang_resources: diff --git a/tests/wl_test_lang_examples.py b/tests/wl_test_lang_examples.py index a60861db5..a9e8cff42 100644 --- a/tests/wl_test_lang_examples.py +++ b/tests/wl_test_lang_examples.py @@ -219,14 +219,15 @@ # Texts TEXT_AFR = ["Afrikaans is tipologies beskou 'n Indo-Europese, Wes-Germaanse, Nederfrankiese taal,[2] wat aan die suidpunt van Afrika onder invloed van verskeie ander tale en taalgroepe ontstaan het.", ' ', "Afrikaans is op 8 Mei 1925 as 'n amptelike taal van Suid-Afrika erken en is tans die derde jongste Germaanse taal wat amptelike status geniet, naas Faroëes wat in 1948 grondwetlik erken is en Luxemburgs wat hierdie status in 1984 verkry het."] -TEXT_ARA = ['ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة.(1)', ' ', 'ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا وإثيوبيا وجنوب السودان وإيران.', ' ', 'وبذلك فهي تحتل المركز الرابع أو الخامس من حيث اللغات الأكثر انتشارًا في العالم، وهي تحتل المركز الثالث تبعًا لعدد الدول التي تعترف بها كلغة رسمية؛ إذ تعترف بها 27 دولة كلغة رسمية، واللغة الرابعة من حيث عدد المستخدمين على الإنترنت.', ' ', 'اللغةُ العربيةُ ذات أهمية قصوى لدى المسلمين، فهي عندَهم لغةٌ مقدسة إذ أنها لغة القرآن، وهي لغةُ الصلاة وأساسيةٌ في القيام بالعديد من العبادات والشعائرِ الإسلامية.', ' ', 'العربيةُ هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كُتبَت بها كثير من أهمِّ الأعمال الدينية والفكرية اليهودية في العصور الوسطى.', ' ', 'ارتفعتْ مكانةُ اللغةِ العربية إثْرَ انتشارِ الإسلام بين الدول إذ أصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون.', ' ', 'وللغة العربية تأثير مباشر وغير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية والصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية؛ ودخلت الكثير من مصطلحاتها في اللغة الإنجليزية واللغات الأخرى، مثل أدميرال والتعريفة والكحول والجبر وأسماء النجوم.', ' ', 'كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.'] +TEXT_ARA = ['تحتوي اللغة العربية 28 حرفاً مكتوباً.', ' ', 'ويرى بعضُ اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبحَ عدد الحروف 29.', ' ', 'تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية على عكس كثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.'] +TEXT_XCL = ['Զգոյշ լերուք ողորմութեան ձերում՝ մի առնել առաջի մարդկան՝ որպէս թե ի ցոյց ինչ նոցա, գուցէ եւ վարձս ոչ ընդունիցիք ի հաւրէ ձերմէ որ յերկինսն է:', ' ', 'Այղ յորժամ առնիցես ողորմութիւն, մի հարկաներ փող առաջի քո. որպէս կեղծաւորքն առնեն ի ժողովուրդս եւ ի հրապարակս. որպէս զի փառաւորեսցին ի մարդկանէ:'] TEXT_HYE = TEXT_HYW = ['Հայոց լեզվով ստեղծվել է մեծ գրականություն։ Գրաբարով է ավանդված հայ հին պատմագրությունը, գիտափիլիսոփայական, մաթեմատիկական, բժշկագիտական, աստվածաբանական-դավանաբանական գրականությունը։', ' ', 'Միջին գրական հայերենով են մեզ հասել միջնադարյան հայ քնարերգության գլուխգործոցները, բժշկագիտական, իրավագիտական նշանակալի աշխատություններ։', ' ', 'Գրական նոր հայերենի արևելահայերեն ու արևմտահայերեն գրական տարբերակներով ստեղծվել է գեղարվեստական, հրապարակախոսական ու գիտական բազմատիպ ու բազմաբնույթ հարուստ գրականություն։'] TEXT_EUS = ['Euskara Euskal Herriko hizkuntza da.[8]', ' ', 'Hizkuntza bakartua da, ez baitzaio ahaidetasunik aurkitu.', ' ', 'Morfologiari dagokionez, hizkuntza eranskari eta ergatiboa da.', ' ', 'Euskaraz mintzo direnei euskaldun deritze.', ' ', 'Gaur egun, Euskal Herrian bertan ere hizkuntza gutxitua da, lurralde horretan gaztelania eta frantsesa nagusitu baitira.'] TEXT_BEL = ["Белару́ская мо́ва — нацыянальная мова беларусаў, уваходзіць у індаеўрапейскую моўную сям'ю, славянскую групу, усходнеславянскую падгрупу.", ' ', 'Пашырана ў асноўным у Беларусі.', ' ', 'Распаўсюджана таксама і ў іншых краінах, галоўным чынам у Польшчы, Украіне, Расіі, Літве, Латвіі[2].', ' ', 'Беларуская мова мае шмат агульных граматычных і лексічных уласцівасцей з іншымі ўсходнеславянскімі мовамі.'] TEXT_BUL = ['Бъ̀лгарският езѝк е индоевропейски език от групата на южнославянските езици, като образува неговата източна подгрупа.', ' ', 'Той е официалният език на Република България и един от 24-те официални езика на Европейския съюз.', ' ', 'Българският език е плурицентричен език – има няколко книжовни норми.', ' ', 'Наред с използваната в България основна норма, съществуват още македонска норма, която също използва кирилица, и банатска норма, която използва латиница.'] TEXT_MYA = ['မြန်မာဘာသာစကား (အင်္ဂလိပ်: Myanmar Language)သည် မြန်မာနိုင်ငံ၏ ရုံးသုံး ဘာသာစကားဖြစ်သည်။', ' ', 'ဗမာလူမျိုးနှင့် ဗမာနွယ်ဝင်(ဓနု၊ အင်းသား၊ တောင်ရိုးနှင့် ယော)တို့၏ ဇာတိစကားဖြစ်သည်။', ' ', 'ဗမာလူမျိုးတို့သည် တိဘက်-ဗမာနွယ် ဘာသာစကားများ (Tibeto-Burman Languages) ပြောဆိုသည့် လူမျိုးနွယ်စုကြီးမှ အကြီးဆုံးသော လူမျိုးဖြစ်သည်။', ' ', 'လူဦးရေ ၃၈သန်းကျော်ခန့်သည် မြန်မာဘာသာစကားကို မိခင်ဘာသာစကား အနေဖြင့် သုံး၍ မြန်မာတိုင်းရင်သားများသည် ဒုတိယဘာသာစကား အနေဖြင့် သုံးသည်။'] TEXT_BXR = ['Буряад хэлэн (буряад-монгол хэлэн) Алтайн хэлэнэй изагуурай буряад арад түмэнһөө хэрэглэгдэжэ бай монгол хэлэнэй бүлэгэй xэлэн-аялгуу юм.', ' ', 'Бүгэдэ Найрамдаха Буряад Улас, Эрхүү можо, Забайкалиин хизаар, Усть-Ордын болон Агын тойрогууд, мүн Монгол Уласай хойто аймагууд, Хитадай зүүн-хойто орондо ажаһуудаг буряадууд хэлэлсэдэг.', ' ', 'Орос гүрэндэ (1989 оной тоололгоор) 376 мянга оршом хүн буряадаар дуугардаг.', ' ', 'Буряадай 86,6%-нь буряад хэлые, 13,3%-нь ород хэлые эхэ (түрэлхи) хэлэн гэһэн байна.', ' ', 'Баруун (эхирэд, булагад), дундада (алайр, түнхэн), зүүн (хори), урда (сонгоол, сартуул) гэхэ мэтэ аялгуутай.'] -TEXT_CAT = ["El català (denominació oficial a Catalunya, a les Illes Balears, a Andorra, a la ciutat de l'Alguer i tradicional a Catalunya del Nord) o valencià (denominació oficial al País Valencià i tradicional al Carxe) és una llengua romànica parlada a Catalunya, el País Valencià (tret d'algunes comarques i localitats de l'interior), les Illes Balears (on també rep el nom de mallorquí, menorquí, eivissenc o formenterer segons l'illa), Andorra, la Franja de Ponent (a l'Aragó), la ciutat de l'Alguer (a l'illa de Sardenya), la Catalunya del Nord,[8] el Carxe (un petit territori de Múrcia habitat per pobladors valencians),[9][10] i en comunitats arreu del món (entre les quals destaca la de l'Argentina, amb 200.000 parlants).[11]", ' ', "Té deu milions de parlants, dels quals quasi la meitat ho són de llengua materna; el seu domini lingüístic, amb una superfície de 68.730 km² i 13.529.127 d'habitants (2009),[12] inclou 1.687 termes municipals.", ' ', 'Com a llengua materna, és parlada per quatre milions de persones (29% de la població del territori lingüístic), de les quals 2.263.000 a Catalunya,[13] 1.521.000 al País Valencià[14] i 417.000 a les Illes Balears.[15]', ' ', "Com les altres llengües romàniques, el català prové del llatí vulgar que parlaven els romans que s'establiren a Hispània durant l'edat antiga."] +TEXT_CAT = ["El català té cinc grans dialectes (valencià, nord-occidental, central, balear i rossellonès) que juntament amb l'alguerès, es divideixen fins a vint-i-una varietats i s'agrupen en dos grans blocs: el català occidental i el català oriental.", ' ', 'Les propostes normatives permeten reduir les diferències entre aquests dialectes en el català estàndard des del punt de vista gramatical, fonètic i de lèxic.'] TEXT_LZH = ['先民言語,傳乎口耳,至結繩以記,事日贅,是結繩之不足,求諸繪圖,繪圖猶逾,而創字製文,金石竹帛載之,自劉漢而書諸紙。', '唐宋降,文士崇古非今,尚先秦古文,規法矩繩,典模乃定。', '由是,口述耳聞者雖變於百歲千載,手書目觀者猶通,前後貫延三代。', '唯文言非創於一舉而得,所式所尊,莫衷一是,時比燕越。'] TEXT_ZHO_CN = ['汉语又称中文、华语[6]、唐话[7],概指由上古汉语(先秦雅言)发展而来、书面使用汉字的分析语,为汉藏语系最大的一支语族。', '如把整个汉语族视为单一语言,则汉语为世界使用人数最多的语言,目前全世界有五分之一人口将汉语做为母语或第二语言。'] TEXT_ZHO_TW = ['漢語又稱中文、華語[6]、唐話[7],概指由上古漢語(先秦雅言)發展而來、書面使用漢字的分析語,為漢藏語系最大的一支語族。', '如把整個漢語族視為單一語言,則漢語為世界使用人數最多的語言,目前全世界有五分之一人口將漢語做為母語或第二語言。'] @@ -236,6 +237,7 @@ TEXT_CES = ['Čeština neboli český jazyk je západoslovanský jazyk, nejbližší slovenštině, poté lužické srbštině a polštině.', ' ', 'Patří mezi slovanské jazyky, do rodiny jazyků indoevropských.', ' ', 'Čeština se vyvinula ze západních nářečí praslovanštiny na konci 10. století.', ' ', 'Je částečně ovlivněná latinou a němčinou.', ' ', 'Česky psaná literatura se objevuje od 14. století.', ' ', 'První písemné památky jsou však již z 12. století.'] TEXT_DAN = ['Dansk er et østnordisk sprog indenfor den germanske gren af den indoeuropæiske sprogfamilie.', ' ', 'Det danske sprog tales af ca. seks millioner mennesker, hovedsageligt i Danmark, men også i Sydslesvig, på Færøerne og Grønland.[1]', ' ', 'Dansk er tæt beslægtet med norsk, svensk og islandsk, og sproghistorisk har dansk været stærkt påvirket af plattysk.'] TEXT_NLD = ['Het Nederlands is een West-Germaanse taal, de meest gebruikte taal in Nederland en België, de officiële taal van Suriname en een van de drie officiële talen van België.', ' ', 'Binnen het Koninkrijk der Nederlanden is het Nederlands ook een officiële taal van Aruba, Curaçao en Sint-Maarten.', ' ', 'Het Nederlands is na Engels en Duits de meest gesproken Germaanse taal.'] +TEXT_ANG = ['Seo ænglisce spræc (Englisc gereord) is Westgermanisc spræc, þe fram Englalande aras.', ' ', 'Heo is sibb þæm Ealdfresiscan and þære Ealdseaxiscan spræcum.', ' ', 'Hit is gastleas spræc, and ne hæfþ nane gebyrdlice sprecan todæg, ac sume menn leorniaþ hit on Betweoxnette and writaþ on him, swa swa her on þissum Wicipædian.'] TEXT_ENG_GB = TEXT_ENG_US = ['English is a West Germanic language in the Indo-European language family.', ' ', 'Originating in early medieval England,[3][4][5] today English is both the most spoken language in the world[6] and the third most spoken native language, after Mandarin Chinese and Spanish.[7]', ' ', 'English is the most widely learned second language and is either the official language or one of the official languages in 59 sovereign states.', ' ', 'There are more people who have learned English as a second language than there are native speakers.', ' ', 'As of 2005, it was estimated that there were over two billion speakers of English.[8]'] TEXT_MYV = ['Э́рзянь кель — совавтови суоминь-равонь тарадонтень суоми-угрань келень семиянь группанть пельксэнтень, уралонь келень семиянтень.', ' ', 'Эрзянь кельсэ кортыть эрзянь ломанть.'] TEXT_EST = ['Eesti keelel on kaks suuremat murderühma (põhjaeesti ja lõunaeesti), mõnes käsitluses eristatakse ka kirderanniku murdeid eraldi murderühmana.', ' ', 'Liikumisvõimaluste laienemine ning põhjaeesti keskmurde alusel loodud normitud eesti kirjakeele kasutus on põhjustanud murdeerinevuste taandumise.'] @@ -268,8 +270,8 @@ TEXT_LIJ = ["O baxin d'influensa di dialetti lìguri o l'é de çirca 2 milioìn de personn-e anche se, specialmente inti ùrtimi çinquant'anni, pe coscì de variante locali se son pèrse e de âtre son a reizego tutt'òua, anche pe córpa da mancansa de 'n pâ de generaçioin inta continoasion da parlâ.", ' ', "Coscî, ancheu, a popolaçion ch'a conosce a léngoa a l'é ben ben infeiô e ancón meno son quelli che a pàrlan e a scrîvan."] TEXT_LIT = ['Lietuvių kalba – iš baltų prokalbės kilusi lietuvių tautos kalba, kuri Lietuvoje yra valstybinė, o Europos Sąjungoje – viena iš oficialiųjų kalbų.', ' ', 'Lietuviškai kalba apie tris milijonus žmonių (dauguma jų gyvena Lietuvoje).', ' ', 'Drauge su latvių, mirusiomis prūsų, jotvingių ir kitomis baltų kalbomis priklauso indoeuropiečių kalbų šeimos baltų kalbų grupei.'] TEXT_MKD = ['Македонски јазик — јужнословенски јазик, дел од групата на словенски јазици од јазичното семејство на индоевропски јазици.', ' ', 'Македонскиот е службен и национален јазик во Македонија, а воедно е и официјално признат како регионален службен јазик во Горица и Пустец во Албанија каде што живее бројно македонско население, но и во Србија како официјален во општините Јабука и Пландиште, Романија и Косово.', ' ', 'Македонски се зборува и во Австралија, Бугарија, Грција, Канада, САД, Црна Гора, Турција, во некои земји−членки на Европската Унија и останатата македонска дијаспора.', ' ', 'Вкупниот број на македонски говорници е тешко да се утврди поради несоодветни пописи, но бројката се движи од околу 2,5 до 3 милиони луѓе.'] -TEXT_MAL = ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', ' ', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', ' ', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', ' ', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', ' ', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', ' ', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', ' ', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', ' ', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', ' ', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', ' ', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', ' ', 'മലയാള ഭാഷ കൈരളി,മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.', 'കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്‌ മലയാളം.', ' ', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല, നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല, കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ, സിംഗപ്പൂർ, മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.', 'ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', ' ', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', ' ', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.', ' ', 'യു.എ.ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.[അവലംബം ആവശ്യമാണ്]'] -TEXT_MLT = ["Il-Malti huwa l-ilsien nazzjonali tar-Repubblika ta' Malta.", ' ', "Huwa l-ilsien uffiċjali flimkien mal-Ingliż; kif ukoll wieħed mill-ilsna uffiċjali u l-uniku wieħed ta' oriġini Għarbija (Semitiku) tal-Unjoni Ewropea.", ' ', "Dan l-ilsien għandu sisien u għerq semitiku, ta' djalett Għarbi li ġej mit-Tramuntana tal-Afrika, għalħekk qatt ma kellu rabta mill-qrib mal-Għarbi Klassiku.", ' ', "Iżda tul iż-żminijiet, minħabba proċess tal-Latinizzazzjoni ta' Malta, bdew deħlin bosta elementi lingwistiċi mill-Isqalli, djalett ta' art li wkoll għaddiet minn żmien ta' ħakma Għarbija.", ' ', "Wara l-Isqalli beda dieħel ukoll it-Taljan, fuq kollox fiż-żmien tad-daħla tal-Kavallieri tal-Ordni ta' San Ġwann sa meta l-Ingliż ħa post it-Taljan bħala l-ilsien uffiċjali fil-Kostituzzjoni Kolonjali tal-1934.", ' ', "Il-Malti huwa l-ilsien waħdieni ta' għajn semitika li jinkiteb b'ittri Latini.", ' ', 'Studju tal-2016 juri li, fil-lingwaġġ bażiku ta’ kuljum, il-Maltin kapaċi jifhmu madwar terz ta’ dak li jingħad lilhom bl-Għarbi Tuneżin li huwa Għarbi tal-Maghrebi relatat mal-Għarbi Sqalli, filwaqt li dawk li jitkellmu bl-Għarbi Tuneżin (Tuneżin) huma kapaċi jifhmu madwar 40% ta’ dak li jingħad lilhom bil-Malti.[1]'] +TEXT_MAL = ['ദ്രാവിഡഭാഷാ കുടുംബത്തിൽ ഉൾപ്പെടുന്ന മലയാളത്തിന് ഇതര ഭാരതീയ ഭാഷകളായ സംസ്കൃതം, തമിഴ് എന്നീ ഉദാത്തഭാഷകളുമായി പ്രകടമായ ബന്ധമുണ്ട്[8].', ' ', 'പൂക്കാട്ടിയൂർ ലിഖിതങ്ങൾ 8 ക്രി.മു മുതൽ 3000 ക്രി.മു അടുത്ത് വരെയും പഴക്കം ചെന്നതാണ്.'] +TEXT_MLT = ['L-oriġini tal-ilsien Malti huma attribwiti għall-wasla, kmieni fis-seklu 11, ta’ settlers minn Sqallija ġirien, fejn kien mitkellem is-sikolu-Għarbi, li biddel il-konkwista tal-gżira mill-Kalifat Fatimid fl-aħħar tas-seklu 9[18].', ' ', 'Din it-talba ġiet ikkorroborata minn studji ġenetiċi, li juru li l-Maltin kontemporanji jaqsmu antenati komuni ma’ Sqallin u Calabrians, bi ftit input ġenetiku mill-Afrika ta’ Fuq u l-Levant.'] TEXT_GLV = ['She Gaelg (graït: /gɪlg/) çhengey Ghaelagh Vannin.', ' ', "Haink y Ghaelg woish Shenn-Yernish, as t'ee cosoylagh rish Yernish as Gaelg ny h-Albey."] TEXT_MAR = ['मराठी भाषा ही इंडो-युरोपीय भाषाकुळातील एक भाषा आहे.', ' ', 'मराठी ही भारताच्या २२ अधिकृत भाषांपैकी एक आहे.', ' ', 'मराठी महाराष्ट्र राज्याची अधिकृत तर गोवा राज्याची सहअधिकृत भाषा आहे.', ' ', '२०११ च्या जनगणनेनुसार, भारतात मराठी भाषकांची एकूण लोकसंख्या सुमारे १४ कोटी आहे.', ' ', 'मराठी मातृभाषा असणाऱ्या लोकांच्या संख्येनुसार मराठी ही जगातील दहावी व भारतातील तिसरी भाषा आहे.', ' ', 'मराठी भाषा भारताच्या प्राचीन भाषांपैकी एक असून महाराष्ट्री प्राकृतचे आधुनिक रूप आहे.', ' ', 'मराठीचे वय सुमारे २४०० वर्ष आहे.', ' ', 'महाराष्ट्र हे मराठी भाषिकांचे राज्य म्हणून मराठी भाषेला वेगळे महत्त्व प्राप्त झालेले आहे.', ' ', 'आजतागायत मराठी भाषेतून अनेक श्रेष्ठ साहित्यकृती निर्माण झालेल्या आहेत आणि त्यात सातत्यपूर्ण रीतीने भर पडत आहे.', ' ', 'गोवा, गुजरात सारख्या राज्यातही मराठी भाषा काही प्रमाणात बोलली जाते.', ' ', 'गोव्यात मराठीला समृद्ध असा इतिहास आहे.[१]'] TEXT_PCM = ['Naijá na pijin, a langwej for oda langwej.', ' ', 'Naijá for Inglish an wey Afrikan langwej.'] @@ -300,7 +302,7 @@ TEXT_BOD = ['བོད་ཀྱི་སྐད་ཡིག་ནི་བོད་ཡུལ་དང་ཉེ་འཁོར་གྱི་ས་ཁུལ་བལ་ཡུལ། འབྲུག་དང་འབྲས་ལྗོངས།', ' ', 'ལ་དྭགས་ནས་ལྷོ་མོན་རོང་སོགས་སུ་བེད་སྤྱོད་བྱེད་པའི་སྐད་ཡིག་དེ། ད་ཆར་ཡོངས་གྲགས་སུ་བོད་ཀྱི་ཡུལ་གྲུ་སྟོད་སྨད་བར་གསུམ་ལ་ལྟོས་ཏེ་ནང་གསེས་རིགས་གསུམ་དུ་ཕྱེ་བ་སྟེ།', ' ', 'སྟོད་དབུས་གཙང་གི་སྐད་དང་། བར་ཁམས་པའི་སྐད་དང་། སྨད་ཨ་མདོའི་སྐད་རྣམས་སོ།', ' ', 'བོད་སྐད་ནི་ཧོར་སོག་ལ་སོགས་པ་གྲངས་ཉུང་མི་རིགས་གཞན་པ་ཁག་ཅིག་གིས་བེད་སྤྱོད་གཏོང་བཞིན་ཡོད་པར་མ་ཟད། བལ་ཡུལ་དང་། འབྲས་ལྗོངས། འབྲུག་ཡུལ་།', ' ', 'རྒྱ་གར་ཤར་དང་བྱང་རྒྱུད་མངའ་སྡེ་ཁག་གཅིག་བཅས་ཀྱི་རྒྱལ་ཁབ་རྣམས་སུའང་བེད་སྤྱོད་གཏོང་བཞིན་ཡོད།'] TEXT_TUR = ["Türkçe ya da Türk dili, Güneydoğu Avrupa ve Batı Asya'da konuşulan, Türk dilleri dil ailesine ait sondan eklemeli bir dil.[12]", ' ', 'Türk dilleri ailesinin Oğuz dilleri grubundan bir Batı Oğuz dili olan Osmanlı Türkçesinin devamını oluşturur.', ' ', "Dil, başta Türkiye olmak üzere Balkanlar, Ege Adaları, Kıbrıs ve Orta Doğu'yu kapsayan eski Osmanlı İmparatorluğu coğrafyasında konuşulur.[12]", ' ', "Ethnologue'a göre Türkçe, yaklaşık 83 milyon konuşuru ile dünyada en çok konuşulan 16. dildir.[13]", ' ', "Türkçe Türkiye, Kıbrıs Cumhuriyeti ve Kuzey Kıbrıs'ta ulusal resmî dil statüsüne sahiptir.[12]"] TEXT_UKR = ['Украї́нська мо́ва (МФА: [ukrɑ̽ˈjɪnʲsʲkɑ̽ ˈmɔwɑ̽], історичні назви — ру́ська[10][11][12][* 1]) — національна мова українців.', ' ', "Належить до східнослов'янської групи слов'янських мов, що входять до індоєвропейської мовної сім'ї, поряд з романськими, германськими, кельтськими, грецькою, албанською, вірменською та найближче спорідненими зі слов'янськими балтійськими мовами[13][14][* 2].", ' ', 'Є державною мовою в Україні[13][15].'] -TEXT_URD = ['اُردُو[8] برصغیر کی معیاری زبانوں میں سے ایک ہے۔', ' ', 'یہ پاکستان کی قومی اور رابطہ عامہ کی زبان ہے، جبکہ بھارت کی چھ ریاستوں کی دفتری زبان کا درجہ رکھتی ہے۔', ' ', 'آئین ہند کے مطابق اسے 22 دفتری شناخت شدہ زبانوں میں شامل کیا جا چکا ہے۔', ' ', '2001ء کی مردم شماری کے مطابق اردو کو بطور مادری زبان بھارت میں 5.01% فیصد لوگ بولتے ہیں اور اس لحاظ سے ہی بھارت کی چھٹی بڑی زبان ہے جبکہ پاکستان میں اسے بطور مادری زبان 7.59% فیصد لوگ استعمال کرتے ہیں، یہ پاکستان کی پانچویں بڑی زبان ہے۔', ' ', 'اردو تاریخی طور پر ہندوستان کی مسلم آبادی سے جڑی ہے۔ [9]', ' ', 'زبانِ اردو کو پہچان و ترقی اس وقت ملی جب برطانوی دور میں انگریز حکمرانوں نے اسے فارسی کی بجائے انگریزی کے ساتھ شمالی ہندوستان کے علاقوں اور جموں و کشمیر میں اسے 1846ء اور پنجاب میں 1849ء میں بطور دفتری زبان نافذ کیا۔', ' ', 'اس کے علاوہ خلیجی، یورپی، ایشیائی اور امریکی علاقوں میں اردو بولنے والوں کی ایک بڑی تعداد آباد ہے جو بنیادی طور پر جنوبی ایشیاء سے کوچ کرنے والے اہلِ اردو ہیں۔', ' ', '1999ء کے اعداد و شمار کے مطابق اردو زبان کے مجموعی متکلمین کی تعداد دس کروڑ ساٹھ لاکھ کے لگ بھگ تھی۔', ' ', 'اس لحاظ سے یہ دنیا کی نویں بڑی زبان ہے۔', ' ', 'اردو زبان کو کئی ہندوستانی ریاستوں میں سرکاری حیثیت بھی حاصل ہے۔', ' ', 'نیپال میں، اردو ایک رجسٹرڈ علاقائی بولی ہے [12] اور جنوبی افریقہ میں یہ آئین میں ایک محفوظ زبان ہے۔', ' ', 'یہ افغانستان اور بنگلہ دیش میں اقلیتی زبان کے طور پر بھی بولی جاتی ہے، جس کی کوئی سرکاری حیثیت نہیں ہے۔'] +TEXT_URD = ['1837ء میں، اردو برطانوی ایسٹ انڈیا کمپنی کی سرکاری زبان بن گئی، کمپنی کے دور میں پورے شمالی ہندوستان میں فارسی کی جگہ لی گئی۔', ' ', 'فارسی اس وقت تک مختلف ہند-اسلامی سلطنتوں کی درباری زبان کے طور پر کام کرتی تھی۔', ' ', '[11] یورپی نوآبادیاتی دور میں مذہبی، سماجی اور سیاسی عوامل پیدا ہوئے جنھوں نے اردو اور ہندی کے درمیان فرق کیا، جس کی وجہ سے ہندی-اردو تنازعہ شروع ہوا ۔'] TEXT_UIG = ['ئۇيغۇر تىلى ئۇيغۇر جۇڭگو شىنجاڭ ئۇيغۇر ئاپتونوم رايونىنىڭ ئېيتقان بىر تۈركىي تىلى.', ' ', 'ئۇ ئۇزاق ئەسىرلىك تەرەققىيات داۋامىدا قەدىمكى تۈركىي تىللار دەۋرى، ئورخۇن ئۇيغۇر تىلى دەۋرى، ئىدىقۇت-خاقانىيە ئۇيغۇر تىلى دەۋرى، چاغاتاي ئۇيغۇر تىلى دەۋرىنى بېسىپ ئۆتكەن.', ' ', 'بۇ جەرياندا ئۇيغۇر تىلى ئورخۇن-يېنسەي يېزىقى، قەدىمكى ئۇيغۇر يېزىقى، بىراخما يېزىقى، مانى يېزىقى، ، ئەرەب يېزىقى قاتارلىق يېزىقلار بىلەن خاتىرىلەنگەن (بەئزى يېزىقلار ئومۇميۈزلۈك، بەزى يېزىقلار قىسمەن قوللىنىلغان)، شۇنداقلا سانسىكرىتچە، ساكچە، تۇخارچە، سوغدچە، ئەرەبچە، پارسچە، موڭغۇلچە، خىتايچە قاتارلىق نۇرغۇرن تىللار بىلەن ئۇچرىشىپ ھەم ئۆزئارا تەسىر كۆرسىتىپ، ئۈزلۈكسىز مۇكەممەللەشكەن ۋە ھازىرقى زامان ئۇيغۇر تىلى دەۋرىگە كىرگەن.'] TEXT_VIE = ['Tiếng Việt, cũng gọi là tiếng Việt Nam[9] hay Việt ngữ là ngôn ngữ của người Việt và là ngôn ngữ chính thức tại Việt Nam.', ' ', 'Đây là tiếng mẹ đẻ của khoảng 85% dân cư Việt Nam cùng với hơn 4 triệu người Việt kiều.', ' ', 'Tiếng Việt còn là ngôn ngữ thứ hai của các dân tộc thiểu số tại Việt Nam và là ngôn ngữ dân tộc thiểu số được công nhận tại Cộng hòa Séc.'] TEXT_CYM = ['Yng Nghyfrifiad y DU (2011), darganfuwyd bod 19% (562,000) o breswylwyr Cymru (tair blwydd a throsodd) yn gallu siarad Cymraeg.', ' ', "O'r ffigwr hwn, darganfuwyd bod 77% (431,000) yn gallu siarad, darllen, ac ysgrifennu'r iaith; dywedodd 73% o breswylwyr Cymru (2.2 miliwn) fod dim sgiliau yn y Gymraeg ganddynt.[8]", ' ', "Gellir cymharu hwn â Chyfrifiad 2001, a ddarganfu fod 20.8% o'r boblogaeth yn gallu siarad Cymraeg, gyda 57% (315,000) o'r ffigwr hon yn dweud eu bod yn rhugl yn yr iaith.[9]"] @@ -312,6 +314,7 @@ SENTENCE_SQI = 'Gjuha shqipe (ose thjesht shqipja) është gjuhë dhe degë e veçantë e familjes indo-evropiane që flitet nga rreth 7-10 milionë njerëz në botë,[1] kryesisht në Shqipëri, Kosovë dhe Maqedoninë e Veriut, por edhe në zona të tjera të Evropës Juglindore ku ka një popullsi shqiptare, duke përfshirë Malin e Zi dhe Luginën e Preshevës.' SENTENCE_AMH = 'አማርኛ[1] ፡ የኢትዮጵያ ፡ መደበኛ ፡ ቋንቋ ፡ ነው ።' SENTENCE_ARA = TEXT_ARA[0] +SENTENCE_XCL = TEXT_XCL[0] SENTENCE_HYE = SENTENCE_HYW = TEXT_HYE[0] SENTENCE_ASM = 'অসমীয়া ভাষা হৈছে সকলোতকৈ পূৰ্বীয় ভাৰতীয়-আৰ্য ভাষা।' SENTENCE_AST = "L'asturianu ye una llingua romance propia d'Asturies,[1] perteneciente al subgrupu asturllionés." @@ -333,6 +336,7 @@ SENTENCE_DAN = TEXT_DAN[0] SENTENCE_NLD = TEXT_NLD[0] SENTENCE_ENM = 'Forrþrihht anan se time comm þatt ure Drihhtin wollde ben borenn i þiss middellærd forr all mannkinne nede he chæs himm sone kinnessmenn all swillke summ he wollde and whær he wollde borenn ben he chæs all att hiss wille.' +SENTENCE_ANG = TEXT_ANG[0] SENTENCE_ENG_GB = SENTENCE_ENG_US = TEXT_ENG_US[0] SENTENCE_MYV = TEXT_MYV[0] SENTENCE_EPO = 'Esperanto, origine la Lingvo Internacia,[4] estas la plej disvastiĝinta internacia planlingvo.[5]' diff --git a/utils/wl_generate_acks.py b/utils/wl_generate_acks.py index a2426dc56..10e879c1c 100644 --- a/utils/wl_generate_acks.py +++ b/utils/wl_generate_acks.py @@ -146,7 +146,7 @@ 'MIT', 'https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE' ], [ 'Stanza', 'https://github.com/stanfordnlp/stanza', - '1.7.0', 'Peng Qi (齐鹏), Yuhao Zhang (张宇浩),
Yuhui Zhang (张钰晖), Jason Bolton,
Tim Dozat, John Bauer', + '1.8.2', 'Peng Qi (齐鹏), Yuhao Zhang (张宇浩),
Yuhui Zhang (张钰晖), Jason Bolton,
Tim Dozat, John Bauer', 'Apache-2.0', 'https://github.com/stanfordnlp/stanza/blob/main/LICENSE' ], [ 'SudachiPy', 'https://github.com/WorksApplications/sudachi.rs', diff --git a/utils/wl_trs_translate.py b/utils/wl_trs_translate.py index 8d0f01eb3..3142889c3 100644 --- a/utils/wl_trs_translate.py +++ b/utils/wl_trs_translate.py @@ -33,6 +33,7 @@ 'Albanian': ['阿尔巴尼亚语'], 'Amharic': ['阿姆哈拉语'], 'Arabic': ['阿拉伯语'], + 'Armenian (Classical)': ['亚美尼亚语(古)'], 'Armenian (Eastern)': ['亚美尼亚语(东)'], 'Armenian (Western)': ['亚美尼亚语(西)'], 'Assamese': ['阿萨姆语'], @@ -59,6 +60,7 @@ 'Danish': ['丹麦语'], 'Dutch': ['荷兰语'], 'English (Middle)': ['英语(中古)'], + 'English (Old)': ['英语(古)'], 'English (United Kingdom)': ['英语(英国)'], 'English (United States)': ['英语(美国)'], 'Erzya': ['埃尔齐亚语'], diff --git a/wordless/wl_settings/wl_settings_default.py b/wordless/wl_settings/wl_settings_default.py index 340102729..18641ef8e 100644 --- a/wordless/wl_settings/wl_settings_default.py +++ b/wordless/wl_settings/wl_settings_default.py @@ -50,7 +50,8 @@ wl_tagset_tha_orchid, wl_tagset_bod_botok, wl_tagset_ukr_universal, - wl_tagset_vie_underthesea + wl_tagset_vie_underthesea, + wl_tagset_xcl_universal ) from wordless.wl_utils import wl_misc, wl_paths @@ -1294,6 +1295,7 @@ def init_settings_default(main): 'sentence_tokenizer_settings': { 'afr': 'stanza_afr', 'ara': 'stanza_ara', + 'xcl': 'stanza_xcl', 'hye': 'stanza_hye', 'hyw': 'stanza_hyw', 'eus': 'stanza_eus', @@ -1311,6 +1313,7 @@ def init_settings_default(main): 'ces': 'stanza_ces', 'dan': 'spacy_dependency_parser_dan', 'nld': 'spacy_dependency_parser_nld', + 'ang': 'stanza_ang', 'eng_gb': 'spacy_dependency_parser_eng', 'eng_us': 'spacy_dependency_parser_eng', 'myv': 'stanza_myv', @@ -1400,6 +1403,7 @@ def init_settings_default(main): 'sqi': 'spacy_sqi', 'amh': 'spacy_amh', 'ara': 'stanza_ara', + 'xcl': 'stanza_xcl', 'hye': 'stanza_hye', 'hyw': 'stanza_hyw', 'asm': 'sacremoses_moses', @@ -1420,6 +1424,7 @@ def init_settings_default(main): 'ces': 'stanza_ces', 'dan': 'spacy_dan', 'nld': 'spacy_nld', + 'ang': 'stanza_ang', 'eng_gb': 'spacy_eng', 'eng_us': 'spacy_eng', 'myv': 'stanza_myv', @@ -1583,6 +1588,7 @@ def init_settings_default(main): 'pos_taggers': { 'afr': 'stanza_afr', 'ara': 'stanza_ara', + 'xcl': 'stanza_xcl', 'hye': 'stanza_hye', 'hyw': 'stanza_hyw', 'eus': 'stanza_eus', @@ -1599,6 +1605,7 @@ def init_settings_default(main): 'ces': 'stanza_ces', 'dan': 'spacy_dan', 'nld': 'spacy_nld', + 'ang': 'stanza_ang', 'eng_gb': 'spacy_eng', 'eng_us': 'spacy_eng', 'myv': 'stanza_myv', @@ -1688,8 +1695,11 @@ def init_settings_default(main): }, 'mapping_settings': { + 'xcl': { + 'stanza_xcl': copy.deepcopy(wl_tagset_xcl_universal.tagset_mapping) + }, 'hye': { - 'stanza_hye': copy.deepcopy(wl_tagset_hye_universal.tagset_mapping) + 'stanza_hye': copy.deepcopy(wl_tagset_hye_universal.tagset_mapping) }, 'hyw': { 'stanza_hyw': copy.deepcopy(wl_tagset_hye_universal.tagset_mapping) @@ -1846,6 +1856,7 @@ def init_settings_default(main): 'afr': 'stanza_afr', 'sqi': 'simplemma_sqi', 'ara': 'stanza_ara', + 'xcl': 'stanza_xcl', 'hye': 'stanza_hye', 'hyw': 'stanza_hyw', 'ast': 'simplemma_ast', @@ -1865,6 +1876,7 @@ def init_settings_default(main): 'dan': 'spacy_dan', 'nld': 'spacy_nld', 'enm': 'simplemma_enm', + 'ang': 'stanza_ang', 'eng_gb': 'spacy_eng', 'eng_us': 'spacy_eng', 'myv': 'stanza_myv', @@ -2000,6 +2012,7 @@ def init_settings_default(main): 'dependency_parser_settings': { 'afr': 'stanza_afr', 'ara': 'stanza_ara', + 'xcl': 'stanza_xcl', 'hye': 'stanza_hye', 'hyw': 'stanza_hyw', 'eus': 'stanza_eus', @@ -2016,6 +2029,7 @@ def init_settings_default(main): 'ces': 'stanza_ces', 'dan': 'spacy_dan', 'nld': 'spacy_nld', + 'ang': 'stanza_ang', 'eng_gb': 'spacy_eng', 'eng_us': 'spacy_eng', 'myv': 'stanza_myv', diff --git a/wordless/wl_settings/wl_settings_global.py b/wordless/wl_settings/wl_settings_global.py index 3bccd1dea..32400b7b6 100644 --- a/wordless/wl_settings/wl_settings_global.py +++ b/wordless/wl_settings/wl_settings_global.py @@ -35,6 +35,7 @@ _tr('wl_settings_global', 'Albanian'): ['sqi', 'sq'], _tr('wl_settings_global', 'Amharic'): ['amh', 'am'], _tr('wl_settings_global', 'Arabic'): ['ara', 'ar'], + _tr('wl_settings_global', 'Armenian (Classical)'): ['xcl', 'xcl'], _tr('wl_settings_global', 'Armenian (Eastern)'): ['hye', 'hy'], _tr('wl_settings_global', 'Armenian (Western)'): ['hyw', 'hyw'], _tr('wl_settings_global', 'Assamese'): ['asm', 'as'], @@ -57,6 +58,7 @@ _tr('wl_settings_global', 'Danish'): ['dan', 'da'], _tr('wl_settings_global', 'Dutch'): ['nld', 'nl'], _tr('wl_settings_global', 'English (Middle)'): ['enm', 'enm'], + _tr('wl_settings_global', 'English (Old)'): ['ang', 'ang'], _tr('wl_settings_global', 'English (United Kingdom)'): ['eng_gb', 'en_gb'], _tr('wl_settings_global', 'English (United States)'): ['eng_us', 'en_us'], _tr('wl_settings_global', 'Erzya'): ['myv', 'myv'], @@ -451,6 +453,7 @@ _tr('wl_settings_global', 'Stanza - Afrikaans sentence tokenizer'): 'stanza_afr', _tr('wl_settings_global', 'Stanza - Arabic sentence tokenizer'): 'stanza_ara', + _tr('wl_settings_global', 'Stanza - Armenian (Classical) sentence tokenizer'): 'stanza_xcl', _tr('wl_settings_global', 'Stanza - Armenian (Eastern) sentence tokenizer'): 'stanza_hye', _tr('wl_settings_global', 'Stanza - Armenian (Western) sentence tokenizer'): 'stanza_hyw', _tr('wl_settings_global', 'Stanza - Basque sentence tokenizer'): 'stanza_eus', @@ -469,6 +472,7 @@ _tr('wl_settings_global', 'Stanza - Danish sentence tokenizer'): 'stanza_dan', _tr('wl_settings_global', 'Stanza - Dutch sentence tokenizer'): 'stanza_nld', _tr('wl_settings_global', 'Stanza - English sentence tokenizer'): 'stanza_eng', + _tr('wl_settings_global', 'Stanza - English (Old) sentence tokenizer'): 'stanza_ang', _tr('wl_settings_global', 'Stanza - Erzya sentence tokenizer'): 'stanza_myv', _tr('wl_settings_global', 'Stanza - Estonian sentence tokenizer'): 'stanza_est', _tr('wl_settings_global', 'Stanza - Faroese sentence tokenizer'): 'stanza_fao', @@ -631,6 +635,7 @@ _tr('wl_settings_global', 'Stanza - Afrikaans word tokenizer'): 'stanza_afr', _tr('wl_settings_global', 'Stanza - Arabic word tokenizer'): 'stanza_ara', + _tr('wl_settings_global', 'Stanza - Armenian (Classical) word tokenizer'): 'stanza_xcl', _tr('wl_settings_global', 'Stanza - Armenian (Eastern) word tokenizer'): 'stanza_hye', _tr('wl_settings_global', 'Stanza - Armenian (Western) word tokenizer'): 'stanza_hyw', _tr('wl_settings_global', 'Stanza - Basque word tokenizer'): 'stanza_eus', @@ -649,6 +654,7 @@ _tr('wl_settings_global', 'Stanza - Danish word tokenizer'): 'stanza_dan', _tr('wl_settings_global', 'Stanza - Dutch word tokenizer'): 'stanza_nld', _tr('wl_settings_global', 'Stanza - English word tokenizer'): 'stanza_eng', + _tr('wl_settings_global', 'Stanza - English (Old) word tokenizer'): 'stanza_ang', _tr('wl_settings_global', 'Stanza - Erzya word tokenizer'): 'stanza_myv', _tr('wl_settings_global', 'Stanza - Estonian word tokenizer'): 'stanza_est', _tr('wl_settings_global', 'Stanza - Faroese word tokenizer'): 'stanza_fao', @@ -818,6 +824,7 @@ _tr('wl_settings_global', 'Stanza - Afrikaans part-of-speech tagger'): 'stanza_afr', _tr('wl_settings_global', 'Stanza - Arabic part-of-speech tagger'): 'stanza_ara', + _tr('wl_settings_global', 'Stanza - Armenian (Classical) part-of-speech tagger'): 'stanza_xcl', _tr('wl_settings_global', 'Stanza - Armenian (Eastern) part-of-speech tagger'): 'stanza_hye', _tr('wl_settings_global', 'Stanza - Armenian (Western) part-of-speech tagger'): 'stanza_hyw', _tr('wl_settings_global', 'Stanza - Basque part-of-speech tagger'): 'stanza_eus', @@ -835,6 +842,7 @@ _tr('wl_settings_global', 'Stanza - Danish part-of-speech tagger'): 'stanza_dan', _tr('wl_settings_global', 'Stanza - Dutch part-of-speech tagger'): 'stanza_nld', _tr('wl_settings_global', 'Stanza - English part-of-speech tagger'): 'stanza_eng', + _tr('wl_settings_global', 'Stanza - English (Old) part-of-speech tagger'): 'stanza_ang', _tr('wl_settings_global', 'Stanza - Erzya part-of-speech tagger'): 'stanza_myv', _tr('wl_settings_global', 'Stanza - Estonian part-of-speech tagger'): 'stanza_est', _tr('wl_settings_global', 'Stanza - Faroese part-of-speech tagger'): 'stanza_fao', @@ -993,6 +1001,7 @@ _tr('wl_settings_global', 'Stanza - Afrikaans lemmatizer'): 'stanza_afr', _tr('wl_settings_global', 'Stanza - Arabic lemmatizer'): 'stanza_ara', + _tr('wl_settings_global', 'Stanza - Armenian (Classical) lemmatizer'): 'stanza_xcl', _tr('wl_settings_global', 'Stanza - Armenian (Eastern) lemmatizer'): 'stanza_hye', _tr('wl_settings_global', 'Stanza - Armenian (Western) lemmatizer'): 'stanza_hyw', _tr('wl_settings_global', 'Stanza - Basque lemmatizer'): 'stanza_eus', @@ -1010,6 +1019,7 @@ _tr('wl_settings_global', 'Stanza - Danish lemmatizer'): 'stanza_dan', _tr('wl_settings_global', 'Stanza - Dutch lemmatizer'): 'stanza_nld', _tr('wl_settings_global', 'Stanza - English lemmatizer'): 'stanza_eng', + _tr('wl_settings_global', 'Stanza - English (Old) lemmatizer'): 'stanza_ang', _tr('wl_settings_global', 'Stanza - Erzya lemmatizer'): 'stanza_myv', _tr('wl_settings_global', 'Stanza - Estonian lemmatizer'): 'stanza_est', _tr('wl_settings_global', 'Stanza - Finnish lemmatizer'): 'stanza_fin', @@ -1135,6 +1145,7 @@ _tr('wl_settings_global', 'Stanza - Afrikaans dependency parser'): 'stanza_afr', _tr('wl_settings_global', 'Stanza - Arabic dependency parser'): 'stanza_ara', + _tr('wl_settings_global', 'Stanza - Armenian (Classical) dependency parser'): 'stanza_xcl', _tr('wl_settings_global', 'Stanza - Armenian (Eastern) dependency parser'): 'stanza_hye', _tr('wl_settings_global', 'Stanza - Armenian (Western) dependency parser'): 'stanza_hyw', _tr('wl_settings_global', 'Stanza - Basque dependency parser'): 'stanza_eus', @@ -1152,6 +1163,7 @@ _tr('wl_settings_global', 'Stanza - Danish dependency parser'): 'stanza_dan', _tr('wl_settings_global', 'Stanza - Dutch dependency parser'): 'stanza_nld', _tr('wl_settings_global', 'Stanza - English dependency parser'): 'stanza_eng', + _tr('wl_settings_global', 'Stanza - English (Old) dependency parser'): 'stanza_ang', _tr('wl_settings_global', 'Stanza - Erzya dependency parser'): 'stanza_myv', _tr('wl_settings_global', 'Stanza - Estonian dependency parser'): 'stanza_est', _tr('wl_settings_global', 'Stanza - Faroese dependency parser'): 'stanza_fao', @@ -1329,6 +1341,10 @@ 'stanza_ara' ], + 'xcl': [ + 'spacy_sentencizer', + 'stanza_xcl' + ], 'hye': [ 'spacy_sentencizer', 'stanza_hye' @@ -1422,6 +1438,10 @@ 'stanza_nld' ], + 'ang': [ + 'spacy_sentencizer', + 'stanza_ang' + ], 'eng_gb': [ 'nltk_punkt_eng', 'spacy_dependency_parser_eng', @@ -1845,6 +1865,10 @@ 'stanza_ara' ], + 'xcl': [ + 'nltk_nist', 'nltk_nltk', 'nltk_regex', 'nltk_twitter', + 'stanza_xcl' + ], 'hye': [ 'nltk_nist', 'nltk_nltk', 'nltk_regex', 'nltk_twitter', 'spacy_hye', @@ -1952,6 +1976,10 @@ 'stanza_nld' ], + 'ang': [ + 'nltk_nist', 'nltk_nltk', 'nltk_regex', 'nltk_twitter', + 'stanza_ang' + ], 'eng_gb': [ 'nltk_nist', 'nltk_nltk', 'nltk_penn_treebank', 'nltk_regex', 'nltk_tok_tok', 'nltk_twitter', 'sacremoses_moses', @@ -2539,6 +2567,7 @@ 'pos_taggers': { 'afr': ['stanza_afr'], 'ara': ['stanza_ara'], + 'xcl': ['stanza_xcl'], 'hye': ['stanza_hye'], 'hyw': ['stanza_hyw'], 'eus': ['stanza_eus'], @@ -2581,6 +2610,7 @@ 'stanza_nld' ], + 'ang': ['stanza_ang'], 'eng_gb': [ 'nltk_perceptron_eng', 'spacy_eng', @@ -2778,6 +2808,7 @@ 'sqi': ['simplemma_sqi'], 'ara': ['stanza_ara'], + 'xcl': ['stanza_xcl'], 'hye': [ 'simplemma_hye', 'stanza_hye' @@ -2833,6 +2864,7 @@ ], 'enm': ['simplemma_enm'], + 'ang': ['stanza_ang'], 'eng_gb': [ 'nltk_wordnet', 'simplemma_eng', @@ -3165,6 +3197,7 @@ 'dependency_parsers': { 'afr': ['stanza_afr'], 'ara': ['stanza_ara'], + 'xcl': ['stanza_xcl'], 'hye': ['stanza_hye'], 'hyw': ['stanza_hyw'], 'eus': ['stanza_eus'], @@ -3207,6 +3240,7 @@ 'stanza_nld' ], + 'ang': ['stanza_ang'], 'eng_gb': [ 'spacy_eng', 'stanza_eng' diff --git a/wordless/wl_tagsets/wl_tagset_hye_universal.py b/wordless/wl_tagsets/wl_tagset_hye_universal.py index 06b6fc5c4..59ef1c343 100644 --- a/wordless/wl_tagsets/wl_tagset_hye_universal.py +++ b/wordless/wl_tagsets/wl_tagset_hye_universal.py @@ -19,22 +19,22 @@ # Universal POS Tags: https://universaldependencies.org/hy/pos/ tagset_mapping = [ ['ADJ', 'ADJ', 'Adjective', 'մեծ, հին, կանաչ, անընկալելի\nառաջին, երկրորդ, երրորդ\nPossessive adjectives: հայոց, վրաց, պարսից, վանա'], - ['ADP', 'ADP', 'Adposition', 'Prepositions, postpostions: ի, առ, ըստ, համար, հանդերձ, պես\nLocalizers/postpositions։ մոտ, վրա, մեջ, տակ, առաջ, առջև, դիմաց\nCase-marking words: հետո'], + ['ADP', 'ADP', 'Adposition', 'Prepositions, postpostions: ի, առ , ըստ, համար, հանդերձ, պես\nLocalizers/postpositions։ մոտ, վրա, մեջ, տակ, առաջ, առջև, դիմաց\nCase-marking words: հետո'], ['ADV', 'ADV', 'Adverb', 'շատ, լավ, հստակորեն, վաղը, վեր, վար\nInterrogative adverbs: որտեղ, ուր, երբ, ինչպես, ինչու, ինչքան, ինչչափ\nDemonstrative adverbs: այստեղ, այնտեղ, այսպես, այնպես, այսքան, այնչափ\nIndefinite adverbs: երբևիցե, երբևէ'], - ['AUX', 'AUX', 'Auxiliary', 'Present tense. Finite present form of եմ is combined with imperfective and resultative participles of the lexical verb. The auxiliary expresses aspect, person, number, mood and tense, participles expresse aspect and voice: (վազում) եմ, (կանգնած) են. Note that a limited set of verbs can form present morphologically, without the auxiliary.\nImperfect tense. Finite imperfect form of էի is combined with imperfective, perfect and resultative participles of the lexical verb. The auxiliary expresses aspect, person, number, mood and tense, participles expresse aspect and voice: (վազում) էի, (վազել) էիր, (կանգնած) էին.\nDurative/habitual aspect. The finite form of լինել (լինեմ) (in various tenses and moods or in the infinitive լինել) is combined with processual, resultative and future participles of the lexical verb. The auxiliary expresses aspect, person, number, mood, tense and aspect, participles expresse aspect and voice: (գնալու) լինեմ, (գնացած) լինեմ, (գնալիս) լինեմ, (գնալու) լինել, (գնացած) լինել, (գնալիս) լինել.\nCausative voice. The finite form of տալ (in various tenses and moods) is combined with infinitve of the content verb. The auxiliary expresses aspect, person, number, tense and mood. The auxiliary will have Voice=Cau. There will be also voice information at the infinitive: (հասկանալ) տալ, հասկացնել (morphological causative), հասկացնել տալ.\nNecessitative mood. The mood particle պիտի and the impersonal predicative պետք է are combined with subjunctive finite form of lexical verb. The auxiliary expresses mood. պիտի պետք է (գնա), պիտի պետք է (գնար).'], + ['AUX', 'AUX', 'Auxiliary', 'Present tense. Finite present form of եմ is combined with imperfective and resultative participles of the lexical verb. The auxiliary expresses aspect, person, number, mood and tense, participles expresse aspect and voice: (վազում) եմ, (կանգնած) են. Note that a limited set of verbs can form present morphologically, without the auxiliary.\nImperfect tense. Finite imperfect form of էի is combined with imperfective, perfect and resultative participles of the lexical verb. The auxiliary expresses aspect, person, number, mood and tense, participles expresse aspect and voice: (վազում) էի, (վազել) էիր, (կանգնած) էին.\nDurative/habitual aspect. The finite form of լինել (լինեմ) (in various tenses and moods or in the infinitive լինել) is combined with processual, resultative and future participles of the lexical verb. The auxiliary expresses aspect, person, number, mood, tense and aspect, participles expresse aspect and voice: (գնալու) լինեմ, (գնացած) լինեմ, (գնալիս) լինեմ, (գնալու) լինել, (գնացած) լինել, (գնալիս) լինել.\nCausative voice. The finite form of տալ (in various tenses and moods) is combined with infinitve of the content verb. The auxiliary expresses aspect, person, number, tense and mood. The auxiliary will have Voice=Cau. There will be also voice information at the infinitive: (հասկանալ) տալ, հասկացնել (morphological causative), հասկացնել տալ.\nNecessitative mood. The mood particle պիտի and the impersonal predicative պետք է are combined with subjunctive finite form of lexical verb. The auxiliary expresses mood. պիտի / պետք է (գնա), պիտի / պետք է (գնար).'], ['CONJ', 'CONJ', 'Coordinating/subordinating conjunction', 'See CCONJ and SCONJ'], ['CCONJ', 'CCONJ', 'Coordinating conjunction', 'և, կամ, բայց'], ['SCONJ', 'SCONJ', 'Subordinating conjunction', 'որ, թե, թեև, թեպետ, եթե, քան, ուստի'], - ['DET', 'DET', 'Determiner', 'Indefinite article: մի\nPossessive determiners: իմ, քո, նրա, մեր, ձեր, նրանց, իրենց\nReflexive possessive determiners: իր, իրենց\nDemonstrative determiners: Այս (մեքենան ես երեկ տեսել եմ։)\nInterrogative determiners: Ո՞ր (մեքենան ես հավանում։)\nRelative determiners: (Հետաքրքիր է՝) որ (մեքենան ես հավանում։)\nRelative possessive determiners: ում, որի\nIndefinite determiners: ոմն, ինչ-որ, ինչ-ինչ, մի քանի, ուրիշ, այլ, որոշ, որևէ, որևիցե, այսինչ, այնինչ, մի\nEmphatic determiners։ (Նախագահն) ինքը (եկավ դա տեսնելու։), ինքները\nTotal determiners: ամեն, ամեն մի, բոլոր, յուրաքանչյուր, ողջ, ամբողջ, համայն, ամենյան\nNegative determiner: (Հիմա) ոչ մի (մեքենա չունենք։)'], + ['DET', 'DET', 'Determiner', 'Indefinite article: մի\nPossessive determiners: իմ, քո, նրա, մեր, ձեր, նրանց, իրենց\nReflexive possessive determiners: իր, իրենց\nDemonstrative determiners: Այս (մեքենան ես երեկ տեսել եմ։)\nInterrogative determiners: Ո՞ր (մեքենան ես հավանում։)\nRelative determiners: (Հետաքրքիր է՝) որ (մեքենան ես հավանում։)\nRelative possessive determiners: ում, որի\nIndefinite determiners: ոմն, ինչ-որ, ինչ-ինչ, մի քանի, ուրիշ, այլ, որոշ, որևէ, որևիցե, այսինչ, այնինչ, մի\nEmphatic determiners։ (Նախագահն) ինքը (եկավ դա տեսնելու։), ինքները\nTotal determiners: ամեն, ամեն մի, բոլոր, յուրաքանչյուր, ողջ, ամբողջ, համայն, ամենյան;\nNegative determiner: (Հիմա) ոչ մի (մեքենա չունենք։)'], ['INTJ', 'INTJ', 'Interjection', 'ա՜հ, օհո՜, դե՛, դե՛հ'], ['NOUN', 'NOUN', 'Noun', 'աղջիկ, կատու, ծառ, օդ, գեղեցկություն, լող, վազք, վազելը'], - ['PROPN', 'PROPN', 'Proper noun', 'Դոնի Ռոստով, Մայնի Ֆրանկֆուրտ\nԼյուդվիգ (վան) Բեթհովեն, Միգել (դը) Սերվանտես\n(Վերին) Սասնաշեն\nՄԱԿ, ԵԱՀԿ Մինսկի (խումբ).'], + ['PROPN', 'PROPN', 'Proper noun', 'Դոնի Ռոստով, Մայնի Ֆրանկֆուրտ\nԼյուդվիգ (վան) Բեթհովեն, Միգել (դը) Սերվանտես\n(Վերին) Սասնաշեն\nՄԱԿ, ԵԱՀԿ Մինսկի (խումբ)'], ['NUM', 'NUM', 'Numeral', '0, 1, 2, 3, 4, 5, 2014, 1000000, 3.14159265359\nI, II, III, IV, V, MMXIV\nմեկ, երկու, երեք, չորս, հինգ, յոթանասուն\nԱ, Ժ, Է, ԺԱ, Ն, Ռ\nDenominators of fractions constitute a separate class of cardinal numerals: կես, քառորդ'], ['PART', 'PART', 'Particle', 'Affirmativ particle: անպատճառ, իհարկե, հարկավ\nConcession particle: ինչևէ, այնուամենայնիվ\nDemonstration particle: ահա, ահավասիկ\nDubitation particle: ասես, գուցե, կարծես, հավանաբար\nEmphatic particle: ախար, մանավանդ, հատկապես\nLimitation particle: գեթ, լոկ, միայն\nNegation particle: ոչ, չէ, բնավ, ամենևին\nWish particle: երանի, երնեկ\nVolition particle: ապա, դե, թող\nMood particle: (չ)պիտի, (չ)պետք է'], - ['PRON', 'PRON', 'Pronoun', 'Personal pronouns: ես, դու, նա, մենք, դուք, նրանք\nPossessive pronouns (which usually stand alone as a nominal): իմը, քոնը, նրանը, մերը, ձերը, նրանցը\nDemonstrative pronouns: սա, դա, նա\nReflexive pronouns: իր, իրեն, իրենց\nReciprocal pronouns: մեկմեկու (մեկմեկի), միմյանց, իրար\nInterrogative pronouns: ո՞վ, Ի՞նչ (ես կարծում։)\nRelative pronouns: ով, (Արա,) ինչ (ուզում ես։)\nIndefinite pronouns: մի քանիսը, մեկը, մեկնումեկը, ոմանք, ուրիշը\nEmphatic pronouns։ ինքը, իրենք\nTotal pronouns: ամենը, ամենքը, ամեն մեկը, ամեն ոք, ամեն ինչ, բոլորը, յուրաքանչյուրը, յուրաքանչյուր ոք, ողջը, ամբողջը\nNegative pronouns: ոչ ոք, ոչինչ, ոչ մեկը'], - ['VERB', 'VERB', 'Verb', 'գրել, գրել(ը)\nգրեցի, գրեցիր, գրեց, գրեցինք, գրեցիք, գրեցին\nունեմ, ունես, ունի, ունենք, ունեք, ունեն\nImperative in different numbers: գրի՛, գրե՛ք, կարդա՛, կարդացե՛ք\nգրեմ, գրես, գրի, գրենք, գրեք, գրեն\nգնայի, գնայիր, գնար, գնայինք, գնայիք, գնային\nկգնամ, կգնաս, կգնա, կգնանք, կգնաք, կգնան\nկգրեի, կգրեիր, կգրեր, կգրեինք, կգրեիք, կգրեին\nչեմ գրի, չեմ գնա\nParticiples: գրած, կարդացած, գրելիս, կարդալիս, գրում, կարդում, գրելու, կարդալու, գրել, կարդացել, գրի, կարդա\nConverb: գրելիս, կարդալիս\nVerbal adjectives: գրող, կարդացող, գրելիք, կարդալիք'], + ['PRON', 'PRON', 'Pronoun', 'Personal pronouns: ես, դու, նա, մենք, դուք, նրանք\nPossessive pronouns (which usually stand alone as a nominal): իմը, քոնը, նրանը, մերը, ձերը, նրանցը\nDemonstrative pronouns: սա, դա, նա\nReflexive pronouns: իր, իրեն, իրենց\nReciprocal pronouns: մեկմեկու (մեկմեկի), միմյանց, իրար\nInterrogative pronouns: ո՞վ, Ի՞նչ (ես կարծում։)\nRelative pronouns: ով; (Արա,) ինչ (ուզում ես։)\nIndefinite pronouns: մի քանիսը, մեկը, մեկնումեկը, ոմանք, ուրիշը\nEmphatic pronouns։ ինքը, իրենք\nTotal pronouns: ամենը, ամենքը, ամեն մեկը, ամեն ոք, ամեն ինչ, բոլորը, յուրաքանչյուրը, յուրաքանչյուր ոք, ողջը, ամբողջը\nNegative pronouns: ոչ ոք, ոչինչ, ոչ մեկը'], + ['VERB', 'VERB', 'Verb', 'գրել, գրել(ը)\nգրեցի, գրեցիր, գրեց, գրեցինք, գրեցիք, գրեցին\nունեմ, ունես, ունի, ունենք, ունեք, ունեն\nImperative in different numbers: գրի՛, գրե՛ք, կարդա՛, կարդացե՛ք\nգրեմ, գրես, գրի, գրենք, գրեք, գրեն\nգնայի, գնայիր, գնար, գնայինք, գնայիք, գնային\nկգնամ, կգնաս, կգնա, կգնանք, կգնաք, կգնան\nկգրեի, կգրեիր, կգրեր, կգրեինք, կգրեիք, կգրեին\n(չեմ) գրի, (չեմ) գնա\nParticiples: գրած, կարդացած, գրելիս, կարդալիս, գրում, կարդում, գրելու, կարդալու, գրել, կարդացել, գրի, կարդա\nConverb: գրելիս, կարդալիս\nVerbal adjectives: գրող, կարդացող, գրելիք, կարդալիք'], - ['PUNCT', 'PUNCT', 'Punctuation', 'Period: ։\nComma: ,\nParentheses: ()\nQuotation mark: «»\nExclamation mark: ՜\nQuestion mark։ ՞\nEmphasis mark, Acute accent: ՛'], + ['PUNCT', 'PUNCT', 'Punctuation', 'Period: ։\nComma: ,\nParentheses: ()\nQuotation mark: «»\nExclamation mark: ՜\nQuestion mark։ ՞\nEmphasis mark, acute accent: ՛'], ['SYM', 'SYM', 'Symbol', '$, %, §, ©\n+, −, ×, ÷, =, <, >\n:), ♥‿♥, 😝\njohn.doe@universal.org, http://universaldependencies.org/, 1-800-COMPANY'], ['X', 'X', 'Other', '(Եվ ապա նա պարզապես) xfgh pdl jklw։'] ] diff --git a/wordless/wl_tagsets/wl_tagset_xcl_universal.py b/wordless/wl_tagsets/wl_tagset_xcl_universal.py new file mode 100644 index 000000000..e12705497 --- /dev/null +++ b/wordless/wl_tagsets/wl_tagset_xcl_universal.py @@ -0,0 +1,40 @@ +# ---------------------------------------------------------------------- +# Wordless: Tagsets - Universal POS tags - Armenian (Classical) +# Copyright (C) 2018-2024 Ye Lei (叶磊) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ---------------------------------------------------------------------- + +# Universal POS Tags: https://universaldependencies.org/hy/pos/ +tagset_mapping = [ + ['ADJ', 'ADJ', 'Adjective', 'ուրախ, լսելի, առաջին, երկրորդ, չորրորդ\nComparative degrees: չար քան զ(առաջինն), (ապա թե ոչ մինչդեռ) հեռագոյն (իցէ), (զի՞նչ իցէ) մեծագոյն քան զ(իմաստութիւն)'], + ['ADP', 'ADP', 'Adposition', 'Prepositions: առ, առ ի\nPostpostions: հանդերձ\nCircumpositions։ ի (լեռնէ) անտի'], + ['ADV', 'ADV', 'Adverb', 'արտաքոյ, կարի, ի ծածուկ'], + ['AUX', 'AUX', 'Auxiliary', 'Copula: եին արդարք\nNegated copula: չիք ոք բարի\nPeriphrastic tenses: զայն նշան տուեալ էր նոցա\nPeriphrastic causative: ետ տանել զնա առ Հէրովդէս'], + ['CONJ', 'CONJ', 'Coordinating/subordinating conjunction', 'See CCONJ and SCONJ'], + ['CCONJ', 'CCONJ', 'Coordinating conjunction', 'եւ\nկամ\nբայց'], + ['SCONJ', 'SCONJ', 'Subordinating conjunction', 'Complementizers: (եւ իմացան) թե (տեսիլ ետես ի տաճարին)\nNon-adverbial markers that introduce an adverbial clause: (եւ) իբրեւ (ոչ գտին. դարձան անդրէն յԵրուսաղեմ խնդրել զնա)\nNon-pronominal relativizers: (Եւ երեւեցաւ նմա հրեշտակ Տեառն) զի (կայր ընդ աջմէ սեղանոյ խնկոցն:)'], + ['DET', 'DET', 'Determiner', 'Demonstrative/possessive particles: =ս, =դ, =ն\nPronominal adjectives, including indefinite pronominal adjectives: իմ, ոմն\nQuantifiers: մի, ամենայն, բազում'], + ['INTJ', 'INTJ', 'Interjection', 'Emotive interjections: ով, վահ\nDemonstrative interjections: ահա\nFeedback interjections: այո՛'], + ['NOUN', 'NOUN', 'Noun', 'աղջիկ, ծառ, աւդ'], + ['PROPN', 'PROPN', 'Proper noun', 'Յիսուս, Երուսաղեմ'], + ['NUM', 'NUM', 'Numeral', 'մի, Ա'], + ['PART', 'PART', 'Particle', 'Emphatic particle: իսկ\nNegation particle: ոչ (and its proclitic variant չ=), մի\nMood particle: գուցէ, եթե (and its variant թե)'], + ['PRON', 'PRON', 'Pronoun', 'Personal pronouns (PronType=Prs): ես, դու. The third person pronoun նա coincides with the demonstrative նա.\nEmphatic pronoun (PronType=Emp): ինքն\nReflexive pronouns ([PronType=Prs Reflex=Yes]()): իւր. The emphatic pronoun ինքն and the word անձն can also be used as reflexive pronouns, especially in the nominative and accusative, which իւր does not have.\nDemonstrative pronouns (PronType=Dem): սա, դա, նա; այս, այդ, այն; սոյն, դոյն, նոյն\nReciprocal pronouns (PronType=Rcp): միմեանք, իրեարք\nInterrogative pronouns (PronType=Int): ո՞վ, ո՞, զի՞, զի՞նչ. The interrogative pronominal adjective (determiner) ո՞ր, traditionally counted as a pronoun, is tagged (DET).\nIndefinite pronouns (PronType=Ind): there are two animate indefinite pronouns, ոմն and ոք, an inanimate indefinite pronoun, ինչ, and a much less frequent իմն. Like in the case of parallel pairs of adverbs (երբեմն and երբեք, ուրեմն, ուրեք, as well as unpaired ուստեք), the difference in the use of the two animate indefinite pronouns can be described in terms of polarity. The negative polarity words, ending in -ք, are typically used in negative, interrogative, conditional, and relative clauses. By contrast the pronouns in -մն are typically used in affirmative main clauses and point to a specific referent. The contrast is grasped with the Definite=Ind tag for the pronouns in -ք and Definite=Spec tag for the ones in -մն.\nRelative pronoun (PronType=Rel): որ. When the relative pronoun substitutes a noun in the relative clause and is tagged (PRON), when it functions as a pronominal adjective, it is tagged (DET).\nCollective pronouns (PronType=Tot): ամենեքեան, եւթնեքեան'], + ['VERB', 'VERB', 'Verb', 'Finate verb: գրեմ\nInfinitive: գրել\nConverb: գալոց\nParticiple: մտեալ\nVerbal noun: գրել'], + + ['PUNCT', 'PUNCT', 'Punctuation', 'Period: ։\nComma: ,\nExclamation mark: ՜\nQuestion mark։ ՞\nEmphasis mark: ՛'], + ['SYM', 'SYM', 'Symbol', '$, %, §, ©\n+, −, ×, ÷, =, <, >\n:), ♥‿♥, 😝'], + ['X', 'X', 'Other', '(Եւ զինն ժամաւն գոչեաց Յիսուս ի ձայն մեծ եւ ասէ՝) էղի, էղի, ղամա սաբաքթանի՝ (այսինքն է Աստուած իմ, Աստուած իմ, ընդէ՞ր թողեր զիս:)'] +] diff --git a/wordless/wl_utils/wl_conversion.py b/wordless/wl_utils/wl_conversion.py index 0969a832b..10712587a 100644 --- a/wordless/wl_utils/wl_conversion.py +++ b/wordless/wl_utils/wl_conversion.py @@ -39,7 +39,7 @@ def to_lang_text(main, lang_code): if lang_code_639_3 == lang_code: return lang_text - raise Exception('Failed to convert the language code to text!') + raise Exception(f'Failed to convert language code {lang_code} to text!') def to_lang_texts(main, lang_codes): return (to_lang_text(main, lang_code) for lang_code in lang_codes) @@ -56,7 +56,7 @@ def to_iso_639_3(main, lang_code): if lang_code_639_1.startswith(f'{lang_code}_'): return lang_code_639_3 - raise Exception('Failed to convert the ISO 639-1 language code to ISO 639-3 code!') + raise Exception(f'Failed to convert ISO 639-1 code "{lang_code}" to ISO 639-3 code!') def to_iso_639_1(main, lang_code, no_suffix = False): lang_code = normalize_lang_code(lang_code) @@ -93,7 +93,7 @@ def to_encoding_text(main, encoding_code): if encoding_code == code: return text - raise Exception('Failed to convert the encoding code to text!') + raise Exception(f'Failed to convert encoding code {encoding_code} to text!') # Yes/No def to_yes_no_code(yes_no_text):