From f6e5a718413d4f6076e1a7748e3cfc629e229f24 Mon Sep 17 00:00:00 2001 From: BLKSerene Date: Mon, 2 Oct 2023 22:14:35 +0800 Subject: [PATCH] Dependencies: Upgrade spaCy to 3.7.1; Utils: Fix downloading of Stanza models --- ACKNOWLEDGMENTS.md | 2 +- ACKNOWLEDGMENTS_zho_cn.md | 2 +- ACKNOWLEDGMENTS_zho_tw.md | 2 +- CHANGELOG.md | 7 ++++ requirements/requirements_dev.txt | 5 +-- requirements/requirements_tests.txt | 2 +- .../test_file_area_file_types.py | 10 +++--- tests/tests_nlp/test_lemmatization.py | 14 ++++---- tests/tests_nlp/test_matching.py | 14 ++++---- tests/tests_nlp/test_pos_tagging.py | 16 +++++----- tests/tests_nlp/test_sentence_tokenization.py | 30 ++++++++--------- tests/tests_nlp/test_syl_tokenization.py | 14 ++++---- tests/tests_nlp/test_word_detokenization.py | 2 +- tests/tests_nlp/test_word_tokenization.py | 26 ++++++--------- tests/tests_nlp/tests_spacy/test_spacy.py | 3 +- tests/tests_nlp/tests_spacy/test_spacy_cat.py | 6 ++-- tests/tests_nlp/tests_spacy/test_spacy_dan.py | 4 +-- tests/tests_nlp/tests_spacy/test_spacy_eng.py | 18 ++++++----- tests/tests_nlp/tests_spacy/test_spacy_fra.py | 4 +-- tests/tests_nlp/tests_spacy/test_spacy_ita.py | 12 +++---- tests/tests_nlp/tests_spacy/test_spacy_jpn.py | 12 +++---- tests/tests_nlp/tests_spacy/test_spacy_kor.py | 12 +++---- tests/tests_nlp/tests_spacy/test_spacy_nob.py | 12 +++---- tests/tests_nlp/tests_spacy/test_spacy_rus.py | 10 +++--- tests/tests_nlp/tests_spacy/test_spacy_slv.py | 11 +++---- tests/tests_nlp/tests_spacy/test_spacy_spa.py | 5 ++- tests/tests_nlp/tests_spacy/test_spacy_ukr.py | 5 ++- tests/tests_nlp/tests_spacy/test_spacy_zho.py | 16 ++++------ .../tests_nlp/tests_stanza/test_stanza_eng.py | 19 ++++++----- tests/wl_test_lang_examples.py | 24 +++++++------- utils/wl_packaging.spec | 14 ++++---- utils/wl_trs_utils.py | 1 - wordless/wl_main.py | 32 +++++++++---------- wordless/wl_nlp/wl_nlp_utils.py | 28 ++++++++-------- wordless/wl_nlp/wl_pos_tagging.py | 8 +---- 35 files changed, 198 insertions(+), 204 deletions(-) diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md index 8089d10d0..55df8b74b 100644 --- a/ACKNOWLEDGMENTS.md +++ b/ACKNOWLEDGMENTS.md @@ -49,7 +49,7 @@ As Wordless stands on the shoulders of giants, I hereby extend my sincere gratit 24|[Sacremoses](https://github.com/alvations/sacremoses) |0.0.53|Liling Tan|[MIT](https://github.com/alvations/sacremoses/blob/master/LICENSE) 25|[SciPy](https://scipy.org/scipylib/) |1.11.3|SciPy Developers|[BSD-3-Clause](https://github.com/scipy/scipy/blob/main/LICENSE.txt) 26|[simplemma](https://github.com/adbar/simplemma) |0.9.1 |Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) -27|[spaCy](https://spacy.io/) |3.6.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) +27|[spaCy](https://spacy.io/) |3.7.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 28|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg) |0.0.32|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) 29|[Stanza](https://github.com/stanfordnlp/stanza) |1.5.1 |Peng Qi (齐鹏), Yuhao Zhang (张宇浩),
Yuhui Zhang (张钰晖), Jason Bolton,
Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 30|[SudachiPy](https://github.com/WorksApplications/sudachi.rs) |0.6.7 |Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) diff --git a/ACKNOWLEDGMENTS_zho_cn.md b/ACKNOWLEDGMENTS_zho_cn.md index d95b74a36..e1400c466 100644 --- a/ACKNOWLEDGMENTS_zho_cn.md +++ b/ACKNOWLEDGMENTS_zho_cn.md @@ -49,7 +49,7 @@ 24|[Sacremoses](https://github.com/alvations/sacremoses) |0.0.53|Liling Tan|[MIT](https://github.com/alvations/sacremoses/blob/master/LICENSE) 25|[SciPy](https://scipy.org/scipylib/) |1.11.3|SciPy 开发人员|[BSD-3-Clause](https://github.com/scipy/scipy/blob/main/LICENSE.txt) 26|[simplemma](https://github.com/adbar/simplemma) |0.9.1 |Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) -27|[spaCy](https://spacy.io/) |3.6.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) +27|[spaCy](https://spacy.io/) |3.7.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 28|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg) |0.0.32|罗睿轩, 许晶晶, 任宣丞, 张艺, 张之远, 位冰镇, 孙栩
Adriane Boyd, Ines Montani|[MIT](https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE) 29|[Stanza](https://github.com/stanfordnlp/stanza) |1.5.1 |齐鹏, 张宇浩, 张钰晖,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 30|[SudachiPy](https://github.com/WorksApplications/sudachi.rs) |0.6.7 |Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) diff --git a/ACKNOWLEDGMENTS_zho_tw.md b/ACKNOWLEDGMENTS_zho_tw.md index 6ca459ae1..74bf21a05 100644 --- a/ACKNOWLEDGMENTS_zho_tw.md +++ b/ACKNOWLEDGMENTS_zho_tw.md @@ -49,7 +49,7 @@ 24|[Sacremoses](https://github.com/alvations/sacremoses) |0.0.53|Liling Tan|[MIT](https://github.com/alvations/sacremoses/blob/master/LICENSE) 25|[SciPy](https://scipy.org/scipylib/) |1.11.3|SciPy 開發人員|[BSD-3-Clause](https://github.com/scipy/scipy/blob/main/LICENSE.txt) 26|[simplemma](https://github.com/adbar/simplemma) |0.9.1 |Adrien Barbaresi|[MIT](https://github.com/adbar/simplemma/blob/main/LICENSE) -27|[spaCy](https://spacy.io/) |3.6.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) +27|[spaCy](https://spacy.io/) |3.7.1 |Matthew Honnibal, Ines Montani, Sofie Van Landeghem,
Adriane Boyd, Paul O'Leary McCann|[MIT](https://github.com/explosion/spaCy/blob/master/LICENSE) 28|[spacy-pkuseg](https://github.com/explosion/spacy-pkuseg) |0.0.32|羅睿軒, 許晶晶, 任宣丞, 張藝, 張之遠, 位冰鎮, 孫栩
Adriane Boyd, Ines Montani|[MIT](https://github.com/explosion/spacy-pkuseg/blob/master/LICENSE) 29|[Stanza](https://github.com/stanfordnlp/stanza) |1.5.1 |齊鵬, 張宇浩, 張鈺暉,
Jason Bolton, Tim Dozat, John Bauer|[Apache-2.0](https://github.com/stanfordnlp/stanza/blob/main/LICENSE) 30|[SudachiPy](https://github.com/WorksApplications/sudachi.rs) |0.6.7 |Works Applications Co., Ltd.|[Apache-2.0](https://github.com/WorksApplications/sudachi.rs/blob/develop/LICENSE) diff --git a/CHANGELOG.md b/CHANGELOG.md index db320cb6c..a38c95b62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,13 @@

📄 Changelog

+## [3.4.1](https://github.com/BLKSerene/Wordless/releases/tag/3.4.1) - ??/??/2023 +### 📌 Bugfixes +- Utils: Fix downloading of Stanza models + +### ⏫ Dependency Changes +- Dependencies: Upgrade spaCy to 3.7.1 + ## [3.4.0](https://github.com/BLKSerene/Wordless/releases/tag/3.4.0) - 09/30/2023 ### 🎉 New Features - Settings: Add Settings - Measures - Lexical Diversity diff --git a/requirements/requirements_dev.txt b/requirements/requirements_dev.txt index 4505fb333..dfb417f48 100644 --- a/requirements/requirements_dev.txt +++ b/requirements/requirements_dev.txt @@ -38,7 +38,8 @@ pymorphy3-dicts-ru pymorphy3-dicts-uk ## spaCy -spacy[lookups,transformers] +spacy +spacy-lookups-data spacy-pkuseg ## SudachiPy @@ -69,4 +70,4 @@ wordcloud torch # spaCy models -en_core_web_trf-3.6.1-py3-none-any.whl +en_core_web_trf-3.7.2-py3-none-any.whl diff --git a/requirements/requirements_tests.txt b/requirements/requirements_tests.txt index f87e1fd17..b65c4a8b4 100644 --- a/requirements/requirements_tests.txt +++ b/requirements/requirements_tests.txt @@ -42,7 +42,7 @@ pymorphy3-dicts-ru == 2.4.417150.4580142 pymorphy3-dicts-uk == 2.4.1.1.1663094765 ## spaCy -spacy == 3.6.1 +spacy == 3.7.1 spacy-lookups-data == 1.0.5 spacy-pkuseg == 0.0.32 diff --git a/tests/tests_file_area/test_file_area_file_types.py b/tests/tests_file_area/test_file_area_file_types.py index 803304477..e01e91324 100644 --- a/tests/tests_file_area/test_file_area_file_types.py +++ b/tests/tests_file_area/test_file_area_file_types.py @@ -157,19 +157,19 @@ def update_gui_file_types(err_msg, new_files): # CSV files if file_name == 'csv.txt': - assert file_text.tokens_multilevel == [[], [], [[['3', '-', '2', '3', '-', '3']]], [], [], [[['6', '-', '2', '6', '-', '3']]], [], []] + assert file_text.tokens_multilevel == [[], [], [[['3', '-', '2']], [['3', '-', '3']]], [], [], [[['6', '-', '2']], [['6', '-', '3']]], [], []] # Excel workbooks elif file_name == 'xlsx.txt': - assert file_text.tokens_multilevel == [[], [[['B2', '&', 'C2', 'D2']]], [[['B3', '&', 'B4', 'C3', 'D3']]], [[['C4', 'D4']]], [[['B5', 'C5', 'D5']]], [], [], [[['B2', '&', 'C2', 'D2']]], [[['B3', '&', 'B4', 'C3', 'D3']]], [[['C4', 'D4']]], [[['B5', 'C5', 'D5']]]] + assert file_text.tokens_multilevel == [[], [[['B2', '&', 'C2']], [['D2']]], [[['B3', '&', 'B4']], [['C3']], [['D3']]], [[['C4']], [['D4']]], [[['B5']], [['C5']], [['D5']]], [], [], [[['B2', '&', 'C2']], [['D2']]], [[['B3', '&', 'B4']], [['C3']], [['D3']]], [[['C4']], [['D4']]], [[['B5']], [['C5']], [['D5']]]] # HTML pages elif file_name == 'html.txt': assert file_text.tokens_multilevel == [[], [], [[['This', 'is', 'a', 'title']]], [], [], [[['Hello', 'world', '!']]], [], []] # PDF files elif file_name == 'pdf.txt': - assert file_text.tokens_multilevel == [[[['Lorem', 'ipsum', 'dolor', 'sit', 'amet', ','], ['consetetur', 'sadipscing', 'elitr', ','], ['sed', 'diam', 'nonumy', 'eirmod']]], [[['tempor', 'invidunt', 'ut', 'labore', 'et', 'dolore', 'magna', 'aliquyam', 'erat', ','], ['sed', 'diam', 'voluptua', '.']], [['At', 'vero']]], [[['eos', 'et', 'accusam', 'et', 'justo', 'duo', 'dolores', 'et', 'ea', 'rebum', '.']], [['Stet', 'clita', 'kasd', 'gubergren', ','], ['no', 'sea', 'taki-']]], [[['mata', 'sanctus', 'est', 'Lorem', 'ipsum', 'dolor', 'sit', 'amet', '.']], [['Lorem', 'ipsum', 'dolor', 'sit', 'amet', ','], ['consetetur']]], [[['sadipscing', 'elitr', ','], ['sed', 'diam', 'nonumy', 'eirmod', 'tempor', 'invidunt', 'ut', 'labore', 'et', 'dolore', 'magna']]], [[['aliquyam', 'erat', ','], ['sed', 'diam', 'voluptua', '.']], [['At', 'vero', 'eos', 'et', 'accusam', 'et', 'justo', 'duo', 'dolores', 'et', 'ea']]], [[['rebum', '.']], [['Stet', 'clita', 'kasd', 'gubergren', ','], ['no', 'sea', 'takimata', 'sanctus', 'est', 'Lorem', 'ipsum', 'dolor', 'sit']]], [[['amet', '.']]], [[['1']]]] + assert file_text.tokens_multilevel == [[[['Lorem', 'ipsum', 'dolor', 'sit', 'amet', ','], ['consetetur', 'sadipscing', 'elitr', ','], ['sed', 'diam', 'nonumy', 'eirmod']]], [[['tempor', 'invidunt', 'ut', 'labore', 'et', 'dolore', 'magna', 'aliquyam', 'erat', ','], ['sed', 'diam', 'voluptua', '.']], [['At', 'vero']]], [[['eos', 'et', 'accusam', 'et', 'justo', 'duo', 'dolores', 'et', 'ea', 'rebum', '.']], [['Stet', 'clita', 'kasd', 'gubergren', ','], ['no', 'sea', 'taki-']]], [[['mata', 'sanctus', 'est', 'Lorem', 'ipsum', 'dolor', 'sit', 'amet', '.']], [['Lorem', 'ipsum', 'dolor', 'sit', 'amet', ','], ['consetetur']]], [[['sadipscing', 'elitr', ','], ['sed', 'diam', 'nonumy', 'eirmod', 'tempor', 'invidunt', 'ut', 'labore', 'et', 'dolore', 'magna']]], [[['aliquyam', 'erat', ','], ['sed', 'diam', 'voluptua', '.']], [['At', 'vero', 'eos', 'et', 'accusam', 'et', 'justo', 'duo', 'dolores', 'et', 'ea']]], [[['rebum', '.'], ['Stet', 'clita', 'kasd', 'gubergren', ','], ['no', 'sea', 'takimata', 'sanctus', 'est', 'Lorem', 'ipsum', 'dolor', 'sit']]], [[['amet', '.']]], [[['1']]]] # Word documents elif file_name == 'docx.txt': - assert file_text.tokens_multilevel == [[], [], [[['Heading']]], [], [], [[['This', 'is', 'the', 'first', 'sentence', '.']], [['This', 'is', 'the', 'second', 'sentence', '.']]], [], [], [[['This', 'is', 'the', 'third', 'sentence', '.']]], [], [[['2', '-', '2', '&', '2', '-', '3', '2', '-', '4']]], [[['3', '-', '2', '&', '4', '-', '2', '3', '-', '3', '3', '-', '4']]], [[['4', '-', '3', '4', '-', '4']]], [[['5', '-', '2', '5', '-', '3', '5', '-', '4', '5', '-', '4', '-', '1', '5', '-', '4', '-', '2', '5', '-', '4', '-', '3', '5', '-', '4', '-', '4']]], [], [], []] + assert file_text.tokens_multilevel == [[], [], [[['Heading']]], [], [], [[['This', 'is', 'the', 'first', 'sentence', '.']], [['This', 'is', 'the', 'second', 'sentence', '.']]], [], [], [[['This', 'is', 'the', 'third', 'sentence', '.']]], [], [[['2', '-', '2', '&', '2', '-', '3', '2', '-', '4']]], [[['3', '-', '2', '&', '4', '-', '2']], [['3', '-', '3']], [['3', '-', '4']]], [[['4', '-', '3']], [['4', '-', '4']]], [[['5', '-', '2', '5', '-', '3', '5', '-', '4', '5', '-', '4', '-', '1', '5', '-', '4', '-', '2', '5', '-', '4', '-', '3', '5', '-', '4', '-', '4']]], [], [], []] # XML files elif file_name == 'xml.xml': assert file_text.tokens_multilevel == [[[['FACTSHEET', 'WHAT', 'IS', 'AIDS', '?']]], [[['AIDS', '(', 'Acquired', 'Immune', 'Deficiency', 'Syndrome', ')', 'is', 'a', 'condition', 'caused', 'by', 'a', 'virus', 'called', 'HIV', '(', 'Human', 'Immuno', 'Deficiency', 'Virus', ')', '.']], [['This', 'virus', 'affects', 'the', 'body', "'s", 'defence', 'system', 'so', 'that', 'it', 'can', 'not', 'fight', 'infection', '.']]]] @@ -178,7 +178,7 @@ def update_gui_file_types(err_msg, new_files): assert file_text.tokens_multilevel == [[], [], [[['FACTSHEET', 'WHAT', 'IS', 'AIDS', '?']]], [[['AIDS', '(', 'Acquired', 'Immune', 'Deficiency', 'Syndrome)is', 'a', 'condition', 'caused', 'by', 'a', 'virus', 'called', 'HIV', '(', 'Human', 'Immuno', 'Deficiency', 'Virus', ')', '.']]], [[['This', 'virus', 'affects', 'the', 'body', "'s", 'defence', 'system', 'so', 'that', 'it', 'can', 'not', 'fight', 'infection', '.']]]] # Untokenized & Untagged elif file_name == 'xml (4).xml': - assert file_text.tokens_multilevel == [[[['<', 'bncDoc', 'xml', ':'], ['id="A00">', '[', 'ACET', 'factsheets', '&', 'amp', ';'], ['newsletters', ']', '.'], ['Sample', 'containing', 'about', '6688', 'words', 'of', 'miscellanea', '(', 'domain', ':'], ['social', 'science', ')', '<', '/title>', 'Data', 'capture', 'and', 'transcription', '<', '/resp>', 'Oxford', 'University', 'Press', '<', '/name', '>']], [['<', '/respStmt>', 'BNC', 'XML', 'Edition', ','], ['December', '2006', '6688', 'tokens', ';'], ['6708', 'w', '-', 'units', ';'], ['423', 's', '-', 'units']], [['<']], [['/extent>', 'Distributed', 'under', 'licence', 'by', 'Oxford', 'University', 'Computing', 'Services', 'on', 'behalf', 'of', 'the', 'BNC', 'Consortium.']], [['This', 'material', 'is', 'protected', 'by', 'international', 'copyright', 'laws', 'and', 'may', 'not', 'be', 'copied', 'or', 'redistributed', 'in', 'any', 'way', '.']], [['Consult', 'the', 'BNC', 'Web', 'Site', 'at', 'http://www.natcorp.ox.ac.uk', 'for', 'full', 'licencing', 'and', 'distribution', 'conditions.A00', 'AidFct', '<', '/idno>', '[', 'ACET', 'factsheets', '&', 'amp', ';'], ['newsletters', ']', '.']], [['<', '/title', '>']], [['<']], [['imprint']], [['n="AIDSCA1">']], [['Aids', 'Care', 'Education', '&', 'amp', ';'], ['Training', '<', '/publisher', '>']], [['<', 'pubPlace', '>', 'London', '<', '/pubPlace', '>']], [['<', 'date', 'value="1991', '-', '09', '"', '>', '1991', '-', '09', '<', '/date', '>']], [['<']], [['/imprint']], [['>']], [['<', '/bibl>1991', '-', '09', '<', '/creation>W', 'nonAc', ':'], ['medicine', 'Health', '<', '/term>', 'Sex', '<', '/term>Tag', 'usage', 'updated', 'for', 'BNC', '-', 'XMLLast', 'check', 'for', 'BNC', 'World', 'first', 'releaseRedo', 'tagusage', 'tablesCheck', 'all', 'tagcountsResequenced', 's', '-', 'units', 'and', 'added', 'headersAdded', 'date', 'infoUpdated', 'all', 'catrefsManually', 'updated', 'tagcounts', ','], ['titlestmt', ','], ['and', 'title', 'in', 'sourcePOS', 'codes', 'revised', 'for', 'BNC-2', ';'], ['header', 'updatedInitial', 'accession', 'to', 'corpus']]], [[['<', 'wtext', 'type="NONAC">']]], [[['<', 's', 'n="1">FACTSHEET']], [['<', '/w>WHAT', '<', '/w>IS', '<']], [['/w>AIDS?']]], [[['<', 's', 'n="2">AIDS', '<', '/w>(Acquired', '<', '/w>Immune', '<', '/w>Deficiency', '<', '/w>Syndrome)is', '<', '/w>a', '<', '/w>condition', '<', '/w>caused', '<', '/w>by', '<', '/w>a', '<', '/w>virus', '<', '/w>called', '<', '/w>HIV', '<', '/w>(Human', '<', '/w>Immuno', '<', '/w>Deficiency', '<', '/w>Virus).']]], [[['<', 's', 'n="3">This', '<', '/w>virus', '<', '/w>affects', '<', '/w>the', '<', '/w>body', "'s", '<']], [['/w>defence', '<', '/w>system', '<', '/w>so', '<', '/w>that', '<', '/w>it', '<', '/w>cannot', '<', '/w>fight', '<', '/w>infection.']]]] + assert file_text.tokens_multilevel == [[[['<', 'bncDoc', 'xml', ':'], ['id="A00">', '[', 'ACET', 'factsheets', '&', 'amp', ';'], ['newsletters', ']', '.'], ['Sample', 'containing', 'about', '6688', 'words', 'of', 'miscellanea', '(', 'domain', ':'], ['social', 'science', ')', '<', '/title>', 'Data', 'capture', 'and', 'transcription', '<', '/resp>', 'Oxford', 'University', 'Press', '<', '/name', '>', '<', '/respStmt>', 'BNC', 'XML', 'Edition', ','], ['December', '2006', '6688', 'tokens', ';'], ['6708', 'w', '-', 'units', ';'], ['423', 's', '-', 'units', '<', '/extent>', 'Distributed', 'under', 'licence', 'by', 'Oxford', 'University', 'Computing', 'Services', 'on', 'behalf', 'of', 'the', 'BNC', 'Consortium.', 'This', 'material', 'is', 'protected', 'by', 'international', 'copyright', 'laws', 'and', 'may', 'not', 'be', 'copied', 'or', 'redistributed', 'in', 'any', 'way', '.']], [['Consult', 'the', 'BNC', 'Web', 'Site', 'at', 'http://www.natcorp.ox.ac.uk', 'for', 'full', 'licencing', 'and', 'distribution', 'conditions.A00', 'AidFct', '<', '/idno>', '[', 'ACET', 'factsheets', '&', 'amp', ';'], ['newsletters', ']', '.']], [['<', '/title', '>', '<', 'imprint', 'n="AIDSCA1">', 'Aids', 'Care', 'Education', '&', 'amp', ';'], ['Training']], [['<', '/publisher', '>', '<', 'pubPlace', '>', 'London', '<', '/pubPlace', '>', '<', 'date', 'value="1991', '-', '09', '"', '>', '1991', '-', '09', '<']], [['/date', '>', '<', '/imprint', '>', '<', '/bibl>1991', '-', '09', '<', '/creation>W', 'nonAc', ':'], ['medicine', 'Health', '<', '/term>', 'Sex', '<', '/term>Tag', 'usage', 'updated', 'for', 'BNC', '-', 'XMLLast', 'check', 'for', 'BNC', 'World', 'first', 'releaseRedo', 'tagusage', 'tablesCheck', 'all', 'tagcountsResequenced', 's', '-', 'units', 'and', 'added', 'headersAdded', 'date', 'infoUpdated', 'all', 'catrefsManually', 'updated', 'tagcounts', ','], ['titlestmt', ','], ['and', 'title', 'in', 'sourcePOS', 'codes', 'revised', 'for', 'BNC-2', ';'], ['header', 'updatedInitial', 'accession', 'to', 'corpus']]], [[['<', 'wtext', 'type="NONAC">']]], [[['<', 's', 'n="1">FACTSHEET', '<', '/w>WHAT', '<', '/w>IS', '<', '/w>AIDS?']]], [[['<', 's', 'n="2">AIDS', '<', '/w>(Acquired', '<', '/w>Immune']], [['<', '/w>Deficiency', '<', '/w>Syndrome)is', '<', '/w>a', '<', '/w>condition', '<', '/w>caused', '<', '/w>by', '<', '/w>a', '<', '/w>virus', '<', '/w>called', '<', '/w>HIV', '<', '/w>(Human', '<', '/w>Immuno', '<', '/w>Deficiency', '<', '/w>Virus).']]], [[['<', 's', 'n="3">This', '<', '/w>virus', '<', '/w>affects', '<', '/w>the', '<', '/w>body', "'s", '<', '/w>defence', '<', '/w>system', '<', '/w>so', '<', '/w>that', '<']], [['/w>it', '<', '/w>cannot', '<', '/w>fight', '<', '/w>infection.']]]] # Tokenized & Untagged elif file_name == 'xml (5).xml': assert file_text.tokens_multilevel == [[[['', '[ACET', 'factsheets', '&'], ['newsletters].']], [['Sample', 'containing', 'about', '6688', 'words', 'of', 'miscellanea', '(domain:'], ['social', 'science)', '', 'Data', 'capture', 'and', 'transcription', '', 'Oxford', 'University', 'Press', '', 'BNC', 'XML', 'Edition,'], ['December', '2006', '6688', 'tokens;'], ['6708', 'w-units;'], ['423', 's-units', 'Distributed', 'under', 'licence', 'by', 'Oxford', 'University', 'Computing', 'Services', 'on', 'behalf', 'of', 'the', 'BNC', 'Consortium.']], [['', 'This', 'material', 'is', 'protected', 'by', 'international', 'copyright', 'laws', 'and', 'may', 'not', 'be', 'copied', 'or', 'redistributed', 'in', 'any', 'way.']], [['Consult', 'the', 'BNC', 'Web', 'Site', 'at', 'http:'], ['//www.']], [['natcorp.']], [['ox.']], [['ac.']], [['uk', 'for', 'full', 'licencing', 'and', 'distribution', 'conditions.']], [['A00', 'AidFct', '', '[ACET', 'factsheets', '&'], ['newsletters].']], [['', '', 'Aids', 'Care', 'Education', '&'], ['Training', '', '', 'London', '', '', '1991-09', '', '', '1991-09', 'W', 'nonAc:'], ['medicine', 'Health', '', 'Sex', 'Tag', 'usage', 'updated', 'for', 'BNC-XMLLast', 'check', 'for', 'BNC', 'World', 'first', 'releaseRedo', 'tagusage', 'tablesCheck', 'all', 'tagcountsResequenced', 's-units', 'and', 'added', 'headersAdded', 'date', 'infoUpdated', 'all', 'catrefsManually', 'updated', 'tagcounts,'], ['titlestmt,'], ['and', 'title', 'in', 'sourcePOS', 'codes', 'revised', 'for', 'BNC-2;'], ['header', 'updatedInitial', 'accession', 'to', 'corpus']]], [[['']]], [[['FACTSHEET', 'WHAT', 'IS', 'AIDS?']], [['

']]], [[['AIDS', '(Acquired', 'Immune', 'Deficiency', 'Syndrome)is', 'a', 'condition', 'caused', 'by', 'a', 'virus', 'called', 'HIV', '(Human', 'Immuno', 'Deficiency', 'Virus).']], [['']]], [[['This', 'virus', 'affects', 'the', 'body\'s', 'defence', 'system', 'so', 'that', 'it', 'cannot', 'fight', 'infection.']], [['

']]]] diff --git a/tests/tests_nlp/test_lemmatization.py b/tests/tests_nlp/test_lemmatization.py index 980e2a280..5b2db07f7 100644 --- a/tests/tests_nlp/test_lemmatization.py +++ b/tests/tests_nlp/test_lemmatization.py @@ -141,9 +141,9 @@ def test_lemmatize(lang, lemmatizer): assert lemmas == ['Forrþrihht', 'anan', 'see', 'timen', 'comm', 'þatt', 'eure', 'Drihhtin', 'wollde', 'been', 'borenn', 'in', 'þiss', 'middellærd', 'forr', 'all', 'mannkinne', 'neden', 'hem', 'chæs', 'him', 'sonne', 'kinnessmenn', 'all', 'swillke', 'summ', 'hem', 'wollde', 'and', 'whær', 'hem', 'wollde', 'borenn', 'been', 'hem', 'chæs', 'all', 'att', 'his', 'willen', '.'] elif lang.startswith('eng_'): if lemmatizer == 'nltk_wordnet': - assert lemmas == ['English', 'be', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', 'that', 'originate', 'in', 'early', 'medieval', 'England.', '[', '3', ']', '[', '4', ']', '[', '5', ']'] + assert lemmas == ['English', 'be', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', '.'] elif lemmatizer == 'simplemma_eng': - assert lemmas == ['English', 'be', 'a', 'west', 'germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', 'that', 'originate', 'in', 'early', 'medieval', 'England.', '[', '3', ']', '[', '4', ']', '[', '5', ']'] + assert lemmas == ['English', 'be', 'a', 'west', 'germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', '.'] else: tests_lang_util_skipped = True elif lang == 'est': @@ -188,9 +188,9 @@ def test_lemmatize(lang, lemmatizer): else: tests_lang_util_skipped = True elif lang == 'ita': - assert lemmas == ["L'italiano", '(', '[', 'itaˈljaːno', ']', '[', 'nota', '1', ']', 'ascoltare', '[', '?', '·info', ']', ')', 'essere', 'uno', 'lingua', 'romanza', 'parlato', 'principalmente', 'in', 'Italia', '.'] + assert lemmas == ["L'italiano", '(', '[', 'itaˈljaːno', ']', '[', 'nota', '1', ']', 'ascoltaⓘ', ')', 'essere', 'uno', 'lingua', 'romanza', 'parlato', 'principalmente', 'in', 'Italia', '.'] elif lang == 'jpn': - assert lemmas == ['日本語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', '、', '英語', ':', 'Japanese', 'language', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住者', 'を', '含む', '日本人', '同士', 'の', '間', 'で', '使用', 'する', 'れる', 'て', 'いる', '言語', '。'] + assert lemmas == ['日本語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住者', 'を', '含む', '日本人', '同士', 'の', '間', 'で', '使用', 'する', 'れる', 'て', 'いる', '言語', '。'] elif lang == 'kor': assert lemmas == ['한국어', '(', '韓國語', ')', '는', '대한민+국과', '조선민주주의인민공화국+의', '공용어이다', '.'] elif lang == 'lat': @@ -213,7 +213,7 @@ def test_lemmatize(lang, lemmatizer): elif lang == 'glv': assert lemmas == ['She', 'Gaelg', '(', 'graït', ':', '/gɪlg/', ')', 'çhengey', 'Gaelagh', 'Mannin', '.'] elif lang == 'nob': - assert lemmas == ['bokmål', 'være', 'enn', 'varietet', 'av', 'norsk', 'skriftspråk', '.'] + assert lemmas == ['bokmål', 'være', 'enn', 'av', 'to', 'offisiell', 'målform', 'av', 'norsk', 'skriftspråk', ',', 'hvorav', 'den', 'annen', 'være', 'nynorsk', '.'] elif lang == 'nno': assert lemmas == ['nynorsk', ',', 'føra', '1929', 'offisiell', 'kall', 'landsmål', ',', 'vera', 'sidan', 'jamstillingsvedtaket', 'av', '12', '.', 'mai', '1885', 'ein', 'av', 'den', 'to', 'offisiell', 'målformene', 'av', 'norsk', ';', 'den', 'annan', 'forme', 'vera', 'bokmål', '.'] elif lang == 'fas': @@ -231,9 +231,9 @@ def test_lemmatize(lang, lemmatizer): assert lemmas == ['limbă', 'român', 'fi', 'el', 'limbă', 'indo-european', 'din', 'grup', 'italic', 'și', 'din', 'subgrupul', 'oriental', 'al', 'limbă', 'romanice', '.'] elif lang == 'rus': if lemmatizer == 'simplemma_rus': - assert lemmas == ['Ру́сский', 'язы́к', '(', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'информация', 'о', 'файл', 'слушать', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковый', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'] + assert lemmas == ['Ру́сский', 'язы́к', '(', 'МФА', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'ⓘ', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковый', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'] elif lemmatizer == 'pymorphy3_morphological_analyzer': - assert lemmas == ['ру́сский', 'язы́к', '(', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'информация', 'о', 'файл', 'слушать', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковой', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'] + assert lemmas == ['ру́сский', 'язы́к', '(', 'мфа', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'ⓘ', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковой', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'] else: tests_lang_util_skipped = True elif lang == 'sme': diff --git a/tests/tests_nlp/test_matching.py b/tests/tests_nlp/test_matching.py index 096db9b7e..3712eb2cc 100644 --- a/tests/tests_nlp/test_matching.py +++ b/tests/tests_nlp/test_matching.py @@ -222,7 +222,7 @@ def test_match_tokens(): assert wl_matching.match_tokens( main, search_terms = ['take'], - tokens = ['take', 'takes', 'taked', 'taken', 'taking', 'test'], + tokens = ['take', 'takes', 'took', 'taken', 'taking', 'test'], lang = 'eng_us', tagged = False, settings = init_search_settings(match_whole_words = True) @@ -230,21 +230,21 @@ def test_match_tokens(): assert wl_matching.match_tokens( main, - search_terms = ['taked'], - tokens = ['take', 'takes', 'taked', 'taken', 'taking', 'test'], + search_terms = ['takes'], + tokens = ['take', 'takes', 'took', 'taken', 'taking', 'test'], lang = 'eng_us', tagged = False, settings = init_search_settings(match_inflected_forms = True) - ) == set(['take', 'takes', 'taked', 'taken', 'taking']) + ) == set(['take', 'takes', 'taken']) assert wl_matching.match_tokens( main, - search_terms = ['take[dn]'], - tokens = ['take', 'takes', 'taked', 'taken', 'taking', 'test'], + search_terms = ['take[sn]'], + tokens = ['take', 'takes', 'took', 'taken', 'taking', 'test'], lang = 'eng_us', tagged = False, settings = init_search_settings(use_regex = True) - ) == set(['taked', 'taken']) + ) == set(['takes', 'taken']) assert wl_matching.match_tokens( main, diff --git a/tests/tests_nlp/test_pos_tagging.py b/tests/tests_nlp/test_pos_tagging.py index 4883f10cc..dd06ffe1d 100644 --- a/tests/tests_nlp/test_pos_tagging.py +++ b/tests/tests_nlp/test_pos_tagging.py @@ -123,11 +123,11 @@ def test_pos_tag(lang, pos_tagger): assert tokens_tagged == [('漢語', 'nz'), ('又', 'd'), ('稱', 'v'), ('中文', 'nz'), ('、', 'x'), ('華語', 'nz'), ('[', 'x'), ('6', 'x'), (']', 'x'), ('、', 'x'), ('唐', 'nr'), ('話', 'n'), ('[', 'x'), ('7', 'x'), (']', 'x'), (',', 'x'), ('概指', 'n'), ('由', 'p'), ('上古', 'ns'), ('漢語', 'nz'), ('(', 'x'), ('先秦', 't'), ('雅言', 'nr'), (')', 'x'), ('發展', 'vn'), ('而', 'c'), ('來', 'v'), ('、', 'x'), ('書面', 'n'), ('使用', 'v'), ('漢字', 'nz'), ('的', 'uj'), ('分析', 'vn'), ('語', 'x'), (',', 'x'), ('為', 'p'), ('漢藏語', 'nz'), ('系', 'n'), ('最大', 'a'), ('的', 'uj'), ('一支', 'm'), ('語族', 'n'), ('。', 'x')] assert tokens_tagged_universal == [('漢語', 'PROPN'), ('又', 'ADV'), ('稱', 'VERB'), ('中文', 'PROPN'), ('、', 'PUNCT/SYM'), ('華語', 'PROPN'), ('[', 'PUNCT/SYM'), ('6', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), ('、', 'PUNCT/SYM'), ('唐', 'PRONP'), ('話', 'NOUN'), ('[', 'PUNCT/SYM'), ('7', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), (',', 'PUNCT/SYM'), ('概指', 'NOUN'), ('由', 'ADP'), ('上古', 'PROPN'), ('漢語', 'PROPN'), ('(', 'PUNCT/SYM'), ('先秦', 'NOUN'), ('雅言', 'PRONP'), (')', 'PUNCT/SYM'), ('發展', 'VERB'), ('而', 'CONJ'), ('來', 'VERB'), ('、', 'PUNCT/SYM'), ('書面', 'NOUN'), ('使用', 'VERB'), ('漢字', 'PROPN'), ('的', 'PART'), ('分析', 'VERB'), ('語', 'PUNCT/SYM'), (',', 'PUNCT/SYM'), ('為', 'ADP'), ('漢藏語', 'PROPN'), ('系', 'NOUN'), ('最大', 'ADJ'), ('的', 'PART'), ('一支', 'NUM'), ('語族', 'NOUN'), ('。', 'PUNCT/SYM')] elif lang.startswith('eng_'): - assert tokens_tagged == [('English', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('West', 'NNP'), ('Germanic', 'NNP'), ('language', 'NN'), ('in', 'IN'), ('the', 'DT'), ('Indo-European', 'JJ'), ('language', 'NN'), ('family', 'NN'), ('that', 'WDT'), ('originated', 'VBD'), ('in', 'IN'), ('early', 'JJ'), ('medieval', 'NN'), ('England.', 'NNP'), ('[', 'VBZ'), ('3', 'CD'), (']', 'NN'), ('[', 'VBD'), ('4', 'CD'), (']', 'NNP'), ('[', 'VBD'), ('5', 'CD'), (']', 'NN')] - assert tokens_tagged_universal == [('English', 'PROPN'), ('is', 'VERB'), ('a', 'DET'), ('West', 'PROPN'), ('Germanic', 'PROPN'), ('language', 'NOUN'), ('in', 'ADP/SCONJ'), ('the', 'DET'), ('Indo-European', 'ADJ'), ('language', 'NOUN'), ('family', 'NOUN'), ('that', 'DET'), ('originated', 'VERB'), ('in', 'ADP/SCONJ'), ('early', 'ADJ'), ('medieval', 'NOUN'), ('England.', 'PROPN'), ('[', 'VERB'), ('3', 'NUM'), (']', 'NOUN'), ('[', 'VERB'), ('4', 'NUM'), (']', 'PROPN'), ('[', 'VERB'), ('5', 'NUM'), (']', 'NOUN')] + assert tokens_tagged == [('English', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('West', 'NNP'), ('Germanic', 'NNP'), ('language', 'NN'), ('in', 'IN'), ('the', 'DT'), ('Indo-European', 'JJ'), ('language', 'NN'), ('family', 'NN'), ('.', '.')] + assert tokens_tagged_universal == [('English', 'PROPN'), ('is', 'VERB'), ('a', 'DET'), ('West', 'PROPN'), ('Germanic', 'PROPN'), ('language', 'NOUN'), ('in', 'ADP/SCONJ'), ('the', 'DET'), ('Indo-European', 'ADJ'), ('language', 'NOUN'), ('family', 'NOUN'), ('.', 'PUNCT')] elif lang == 'jpn': - assert tokens_tagged == [('日本語', '名詞-普通名詞-一般'), ('(', '補助記号-括弧開'), ('にほん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('、', '補助記号-読点'), ('にっぽん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('[', '補助記号-括弧開'), ('注釈', '名詞-普通名詞-サ変可能'), ('2', '名詞-数詞'), (']', '補助記号-括弧閉'), ('、', '補助記号-読点'), ('英語', '名詞-普通名詞-一般'), (':', '補助記号-一般'), ('Japanese', '名詞-普通名詞-一般'), ('language', '名詞-普通名詞-一般'), (')', '補助記号-括弧閉'), ('は', '助詞-係助詞'), ('、', '補助記号-読点'), ('日本', '名詞-固有名詞-地名-国'), ('国', '接尾辞-名詞的-一般'), ('内', '接尾辞-名詞的-一般'), ('や', '助詞-副助詞'), ('、', '補助記号-読点'), ('かつて', '副詞'), ('の', '助詞-格助詞'), ('日本', '名詞-固有名詞-地名-国'), ('領', '接尾辞-名詞的-一般'), ('だっ', '助動詞'), ('た', '助動詞'), ('国', '名詞-普通名詞-一般'), ('、', '補助記号-読点'), ('そして', '接続詞'), ('国外', '名詞-普通名詞-一般'), ('移民', '名詞-普通名詞-サ変可能'), ('や', '助詞-副助詞'), ('移住者', '名詞-普通名詞-一般'), ('を', '助詞-格助詞'), ('含む', '動詞-一般'), ('日本人', '名詞-普通名詞-一般'), ('同士', '接尾辞-名詞的-一般'), ('の', '助詞-格助詞'), ('間', '名詞-普通名詞-副詞可能'), ('で', '助詞-格助詞'), ('使用', '名詞-普通名詞-サ変可能'), ('さ', '動詞-非自立可能'), ('れ', '助動詞'), ('て', '助詞-接続助詞'), ('いる', '動詞-非自立可能'), ('言語', '名詞-普通名詞-一般'), ('。', '補助記号-句点')] - assert tokens_tagged_universal == [('日本語', 'NOUN'), ('(', 'PUNCT'), ('にほん', 'PROPN'), ('ご', 'NOUN'), ('、', 'PUNCT'), ('にっぽん', 'PROPN'), ('ご', 'NOUN'), ('[', 'PUNCT'), ('注釈', 'NOUN'), ('2', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('英語', 'NOUN'), (':', 'SYM'), ('Japanese', 'NOUN'), ('language', 'NOUN'), (')', 'PUNCT'), ('は', 'ADP'), ('、', 'PUNCT'), ('日本', 'PROPN'), ('国', 'NOUN'), ('内', 'NOUN'), ('や', 'ADP'), ('、', 'PUNCT'), ('かつて', 'ADV'), ('の', 'ADP'), ('日本', 'PROPN'), ('領', 'NOUN'), ('だっ', 'AUX'), ('た', 'AUX'), ('国', 'NOUN'), ('、', 'PUNCT'), ('そして', 'CCONJ'), ('国外', 'NOUN'), ('移民', 'NOUN'), ('や', 'ADP'), ('移住者', 'NOUN'), ('を', 'ADP'), ('含む', 'VERB'), ('日本人', 'NOUN'), ('同士', 'NOUN'), ('の', 'ADP'), ('間', 'NOUN'), ('で', 'ADP'), ('使用', 'NOUN'), ('さ', 'AUX'), ('れ', 'AUX'), ('て', 'SCONJ'), ('いる', 'AUX'), ('言語', 'NOUN'), ('。', 'PUNCT')] + assert tokens_tagged == [('日本語', '名詞-普通名詞-一般'), ('(', '補助記号-括弧開'), ('にほん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('、', '補助記号-読点'), ('にっぽん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('[', '補助記号-括弧開'), ('注釈', '名詞-普通名詞-サ変可能'), ('2', '名詞-数詞'), (']', '補助記号-括弧閉'), (')', '補助記号-括弧閉'), ('は', '助詞-係助詞'), ('、', '補助記号-読点'), ('日本', '名詞-固有名詞-地名-国'), ('国', '接尾辞-名詞的-一般'), ('内', '接尾辞-名詞的-一般'), ('や', '助詞-副助詞'), ('、', '補助記号-読点'), ('かつて', '副詞'), ('の', '助詞-格助詞'), ('日本', '名詞-固有名詞-地名-国'), ('領', '接尾辞-名詞的-一般'), ('だっ', '助動詞'), ('た', '助動詞'), ('国', '名詞-普通名詞-一般'), ('、', '補助記号-読点'), ('そして', '接続詞'), ('国外', '名詞-普通名詞-一般'), ('移民', '名詞-普通名詞-サ変可能'), ('や', '助詞-副助詞'), ('移住者', '名詞-普通名詞-一般'), ('を', '助詞-格助詞'), ('含む', '動詞-一般'), ('日本人', '名詞-普通名詞-一般'), ('同士', '接尾辞-名詞的-一般'), ('の', '助詞-格助詞'), ('間', '名詞-普通名詞-副詞可能'), ('で', '助詞-格助詞'), ('使用', '名詞-普通名詞-サ変可能'), ('さ', '動詞-非自立可能'), ('れ', '助動詞'), ('て', '助詞-接続助詞'), ('いる', '動詞-非自立可能'), ('言語', '名詞-普通名詞-一般'), ('。', '補助記号-句点')] + assert tokens_tagged_universal == [('日本語', 'NOUN'), ('(', 'PUNCT'), ('にほん', 'PROPN'), ('ご', 'NOUN'), ('、', 'PUNCT'), ('にっぽん', 'PROPN'), ('ご', 'NOUN'), ('[', 'PUNCT'), ('注釈', 'NOUN'), ('2', 'NUM'), (']', 'PUNCT'), (')', 'PUNCT'), ('は', 'ADP'), ('、', 'PUNCT'), ('日本', 'PROPN'), ('国', 'NOUN'), ('内', 'NOUN'), ('や', 'ADP'), ('、', 'PUNCT'), ('かつて', 'ADV'), ('の', 'ADP'), ('日本', 'PROPN'), ('領', 'NOUN'), ('だっ', 'AUX'), ('た', 'AUX'), ('国', 'NOUN'), ('、', 'PUNCT'), ('そして', 'CCONJ'), ('国外', 'NOUN'), ('移民', 'NOUN'), ('や', 'ADP'), ('移住者', 'NOUN'), ('を', 'ADP'), ('含む', 'VERB'), ('日本人', 'NOUN'), ('同士', 'NOUN'), ('の', 'ADP'), ('間', 'NOUN'), ('で', 'ADP'), ('使用', 'NOUN'), ('さ', 'AUX'), ('れ', 'AUX'), ('て', 'SCONJ'), ('いる', 'AUX'), ('言語', 'NOUN'), ('。', 'PUNCT')] elif lang == 'khm': assert tokens_tagged == [('ភាសា', 'n'), ('ខ្មែរ', 'n'), ('គឺជា', 'v'), ('ភាសា', 'n'), ('កំណើត', 'n'), ('របស់', 'o'), ('ជនជាតិ', 'n'), ('ខ្មែរ', 'n'), ('និង', 'o'), ('ជា', 'v'), ('ភាសា', 'n'), ('ផ្លូវការ', 'n'), ('របស់', 'o'), ('ប្រទេស', 'n'), ('កម្ពុជា', 'n'), ('។', '.')] assert tokens_tagged_universal == [('ភាសា', 'NOUN'), ('ខ្មែរ', 'NOUN'), ('គឺជា', 'VERB'), ('ភាសា', 'NOUN'), ('កំណើត', 'NOUN'), ('របស់', 'PART'), ('ជនជាតិ', 'NOUN'), ('ខ្មែរ', 'NOUN'), ('និង', 'PART'), ('ជា', 'VERB'), ('ភាសា', 'NOUN'), ('ផ្លូវការ', 'NOUN'), ('របស់', 'PART'), ('ប្រទេស', 'NOUN'), ('កម្ពុជា', 'NOUN'), ('។', 'PUNCT')] @@ -144,11 +144,11 @@ def test_pos_tag(lang, pos_tagger): assert tokens_tagged_universal == [('ພາສາລາວ', 'PROPN'), ('(', 'PUNCT'), ('Lao', 'PROPN'), (':', 'PUNCT'), ('ລາວ', 'PRON'), (',', 'PUNCT'), ('[', 'CONJ'), ('l', 'NOUN'), ('áː', 'NOUN'), ('w', 'NOUN'), (']', 'PUNCT'), ('ຫຼື', 'CONJ'), ('ພາສາລາວ', 'PROPN'), (',', 'PUNCT'), ('[', 'PUNCT'), ('p', 'PROPN'), ('ʰáː', 'PROPN'), ('s', 'PROPN'), ('ǎː', 'PROPN'), ('l', 'PROPN'), ('áː', 'PROPN'), ('w', 'PROPN'), ('])', 'PROPN'), ('ເປັນ', 'VERB'), ('ພາສາ', 'NOUN'), ('ຕະກູນ', 'PROPN'), ('ໄທ', 'PROPN'), ('-', 'PUNCT'), ('ກະໄດ', 'NOUN'), ('ຂອງ', 'ADP'), ('ຄົນ', 'NOUN'), ('ລາວ', 'PRON'), ('ໂດຍ', 'ADP'), ('ມີ', 'VERB'), ('ຄົນ', 'NOUN'), ('ເວົ້າ', 'VERB'), ('ໃນປະເທດລາວ', 'NOUN'), ('ເຊິ່ງ', 'PRON'), ('ເປັນ', 'VERB'), ('ພາສາ', 'NOUN'), ('ລັດຖະການ', 'NOUN'), ('ຂອງ', 'ADP'), ('ສາທາລະນະລັດ', 'NOUN'), ('ປະຊາທິປະໄຕ', 'NOUN'), ('ປະຊາຊົນ', 'NOUN'), ('ລາວ', 'PRON'), ('ຂອງ', 'ADP'), ('ປະຊາກອນ', 'NOUN'), ('ປະມານ', 'DET'), ('7', 'VERB'), ('ລ້ານ', 'VERB'), ('ຄົນ', 'NOUN'), ('ແລະ', 'CONJ'), ('ໃນ', 'ADP'), ('ພື້ນທີ່', 'NOUN'), ('ພາກ', 'NOUN'), ('ຕາເວັນອອກສຽງ', 'VERB'), ('ເໜືອ', 'PROPN'), ('ຂອງ', 'ADP'), ('ປະເທດໄທ', 'PROPN'), ('ທີ່ມີ', 'VERB'), ('ຄົນ', 'NOUN'), ('ເວົ້າ', 'VERB'), ('ປະມານ', 'DET'), ('23', 'VERB'), ('ລ້ານ', 'PART'), ('ຄົນ', 'NOUN'), ('ທາງ', 'ADP'), ('ລັດຖະບານ', 'NOUN'), ('ປະເທດໄທ', 'PROPN'), ('ມີການສະໜັບສະໜຸນ', 'VERB'), ('ໃຫ້', 'AUX'), ('ເອີ້ນ', 'VERB'), ('ພາສາລາວ', 'NOUN'), ('ຖິ່ນ', 'NOUN'), ('ໄທ', 'PROPN'), ('ວ່າ', 'CONJ'), ('ພາສາລາວ', 'PROPN'), ('ຖິ່ນ', 'PROPN'), ('ອີສານ', 'NOUN'), ('ນອກຈາກ', 'ADP'), ('ນີ້', 'PRON'), (',', 'PUNCT'), ('ຢູ່', 'ADV'), ('ທາງ', 'ADP'), ('ພາກ', 'NOUN'), ('ຕາເວັນອອກສຽງ', 'NOUN'), ('ເໜືອ', 'NOUN'), ('ຂອງ', 'ADP'), ('ປະເທດກຳປູເຈຍ', 'NOUN'), ('ກໍ', 'DET'), ('ມີ', 'VERB'), ('ຄົນ', 'NOUN'), ('ເວົ້າ', 'VERB'), ('ພາສາລາວ', 'NOUN'), ('ຄືກັນ', 'ADJ'), ('.', 'PUNCT')] elif lang == 'rus': if pos_tagger == 'nltk_perceptron_rus': - assert tokens_tagged == [('Ру́сский', 'A=m'), ('язы́к', 'S'), ('(', 'NONLEX'), ('[', 'NONLEX'), ('ˈruskʲɪi̯', 'NONLEX'), ('jɪˈzɨk', 'NONLEX'), (']', 'NONLEX'), ('Информация', 'S'), ('о', 'PR'), ('файле', 'S'), ('слушать', 'V'), (')', 'NONLEX'), ('[', 'NONLEX'), ('~', 'NONLEX'), ('3', 'NUM=ciph'), (']', 'NONLEX'), ('[', 'NONLEX'), ('⇨', 'NONLEX'), (']', 'NONLEX'), ('—', 'NONLEX'), ('язык', 'S'), ('восточнославянской', 'A=f'), ('группы', 'S'), ('славянской', 'A=f'), ('ветви', 'S'), ('индоевропейской', 'A=f'), ('языковой', 'A=f'), ('семьи', 'S'), (',', 'NONLEX'), ('национальный', 'A=m'), ('язык', 'S'), ('русского', 'A=m'), ('народа', 'S'), ('.', 'NONLEX')] - assert tokens_tagged_universal == [('Ру́сский', 'ADJ'), ('язы́к', 'NOUN'), ('(', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('ˈruskʲɪi̯', 'PUNCT/SYM'), ('jɪˈzɨk', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), ('Информация', 'NOUN'), ('о', 'ADP'), ('файле', 'NOUN'), ('слушать', 'VERB'), (')', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('~', 'PUNCT/SYM'), ('3', 'NUM'), (']', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('⇨', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), ('—', 'PUNCT/SYM'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT/SYM'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT/SYM')] + assert tokens_tagged == [('Ру́сский', 'A=m'), ('язы́к', 'S'), ('(', 'NONLEX'), ('МФА', 'S'), (':', 'NONLEX'), ('[', 'NONLEX'), ('ˈruskʲɪi̯', 'NONLEX'), ('jɪˈzɨk', 'NONLEX'), (']', 'NONLEX'), ('ⓘ', 'NONLEX'), (')', 'NONLEX'), ('[', 'NONLEX'), ('~', 'NONLEX'), ('3', 'NUM=ciph'), (']', 'NONLEX'), ('[', 'NONLEX'), ('⇨', 'NONLEX'), (']', 'NONLEX'), ('—', 'NONLEX'), ('язык', 'S'), ('восточнославянской', 'A=f'), ('группы', 'S'), ('славянской', 'A=f'), ('ветви', 'S'), ('индоевропейской', 'A=f'), ('языковой', 'A=f'), ('семьи', 'S'), (',', 'NONLEX'), ('национальный', 'A=m'), ('язык', 'S'), ('русского', 'A=m'), ('народа', 'S'), ('.', 'NONLEX')] + assert tokens_tagged_universal == [('Ру́сский', 'ADJ'), ('язы́к', 'NOUN'), ('(', 'PUNCT/SYM'), ('МФА', 'NOUN'), (':', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('ˈruskʲɪi̯', 'PUNCT/SYM'), ('jɪˈzɨk', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), ('ⓘ', 'PUNCT/SYM'), (')', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('~', 'PUNCT/SYM'), ('3', 'NUM'), (']', 'PUNCT/SYM'), ('[', 'PUNCT/SYM'), ('⇨', 'PUNCT/SYM'), (']', 'PUNCT/SYM'), ('—', 'PUNCT/SYM'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT/SYM'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT/SYM')] elif pos_tagger == 'pymorphy3_morphological_analyzer': - assert tokens_tagged == [('Ру́сский', 'NOUN'), ('язы́к', 'NOUN'), ('(', 'PNCT'), ('[', 'PNCT'), ('ˈruskʲɪi̯', 'UNKN'), ('jɪˈzɨk', 'UNKN'), (']', 'PNCT'), ('Информация', 'NOUN'), ('о', 'PREP'), ('файле', 'NOUN'), ('слушать', 'INFN'), (')', 'PNCT'), ('[', 'PNCT'), ('~', 'UNKN'), ('3', 'NUMB'), (']', 'PNCT'), ('[', 'PNCT'), ('⇨', 'UNKN'), (']', 'PNCT'), ('—', 'PNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJF'), ('группы', 'NOUN'), ('славянской', 'ADJF'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJF'), ('языковой', 'ADJF'), ('семьи', 'NOUN'), (',', 'PNCT'), ('национальный', 'ADJF'), ('язык', 'NOUN'), ('русского', 'ADJF'), ('народа', 'NOUN'), ('.', 'PNCT')] - assert tokens_tagged_universal == [('Ру́сский', 'NOUN'), ('язы́к', 'NOUN'), ('(', 'PUNCT'), ('[', 'PUNCT'), ('ˈruskʲɪi̯', 'SYM/X'), ('jɪˈzɨk', 'SYM/X'), (']', 'PUNCT'), ('Информация', 'NOUN'), ('о', 'ADP'), ('файле', 'NOUN'), ('слушать', 'VERB'), (')', 'PUNCT'), ('[', 'PUNCT'), ('~', 'SYM/X'), ('3', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('⇨', 'SYM/X'), (']', 'PUNCT'), ('—', 'PUNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT')] + assert tokens_tagged == [('Ру́сский', 'NOUN'), ('язы́к', 'NOUN'), ('(', 'PNCT'), ('МФА', 'UNKN'), (':', 'PNCT'), ('[', 'PNCT'), ('ˈruskʲɪi̯', 'UNKN'), ('jɪˈzɨk', 'UNKN'), (']', 'PNCT'), ('ⓘ', 'UNKN'), (')', 'PNCT'), ('[', 'PNCT'), ('~', 'UNKN'), ('3', 'NUMB'), (']', 'PNCT'), ('[', 'PNCT'), ('⇨', 'UNKN'), (']', 'PNCT'), ('—', 'PNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJF'), ('группы', 'NOUN'), ('славянской', 'ADJF'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJF'), ('языковой', 'ADJF'), ('семьи', 'NOUN'), (',', 'PNCT'), ('национальный', 'ADJF'), ('язык', 'NOUN'), ('русского', 'ADJF'), ('народа', 'NOUN'), ('.', 'PNCT')] + assert tokens_tagged_universal == [('Ру́сский', 'NOUN'), ('язы́к', 'NOUN'), ('(', 'PUNCT'), ('МФА', 'SYM/X'), (':', 'PUNCT'), ('[', 'PUNCT'), ('ˈruskʲɪi̯', 'SYM/X'), ('jɪˈzɨk', 'SYM/X'), (']', 'PUNCT'), ('ⓘ', 'SYM/X'), (')', 'PUNCT'), ('[', 'PUNCT'), ('~', 'SYM/X'), ('3', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('⇨', 'SYM/X'), (']', 'PUNCT'), ('—', 'PUNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT')] else: tests_lang_util_skipped = True elif lang == 'tha': diff --git a/tests/tests_nlp/test_sentence_tokenization.py b/tests/tests_nlp/test_sentence_tokenization.py index 09989d512..863c4e7d7 100644 --- a/tests/tests_nlp/test_sentence_tokenization.py +++ b/tests/tests_nlp/test_sentence_tokenization.py @@ -72,11 +72,11 @@ def test_sentence_tokenize(lang, sentence_tokenizer): if lang == '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í.'] elif lang == '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 (i Flensborg ca. 20 %), 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.'] + 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.'] elif lang == '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.'] elif lang.startswith('eng_') or lang == 'other': - assert sentences == ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.', '[3][4][5] It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.', '[7] Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'] + 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]'] elif lang == 'est': assert sentences == ['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.'] elif lang == 'fin': @@ -88,15 +88,15 @@ def test_sentence_tokenize(lang, sentence_tokenizer): elif lang == 'ell': assert sentences == ['Η ελληνική γλώσσα ανήκει στην ινδοευρωπαϊκή οικογένεια[9] και αποτελεί το μοναδικό μέλος του ελληνικού κλάδου, ενώ είναι η επίσημη γλώσσα της Ελλάδας και της Κύπρου.', 'Ανήκει επίσης στο βαλκανικό γλωσσικό δεσμό.', 'Στην ελληνική γλώσσα, έχουμε γραπτά κείμενα ήδη από τον 15ο αιώνα π.Χ.. Σαν Παγκόσμια Ημέρα Ελληνικής Γλώσσας, κάθε έτος, έχει καθιερωθεί η 9η Φεβρουαρίου.', 'Έχει την μακροβιότερη καταγεγραμμένη ιστορία από οποιαδήποτε άλλη ζωντανή ινδοευρωπαϊκή γλώσσα με τουλάχιστον 3.400 χρόνια γραπτής ιστορίας.', '[10] Γράφεται με το ελληνικό αλφάβητο, το οποίο χρησιμοποιείται αδιάκοπα (αρχικά με τοπικές παραλλαγές, μετέπειτα υπό μια, ενιαία μορφή) εδώ και περίπου 2.600 χρόνια.', '[11][12] Προηγουμένως η ελληνική γλώσσα γραφόταν με τη Γραμμική Β και το κυπριακό συλλαβάριο.', '[13] Το ελληνικό αλφάβητο προέρχεται από το φοινικικό αλφάβητο, με κάποιες προσαρμογές.', 'Στο ελληνικό αλφάβητο βασίζεται το λατινικό, το κυριλλικό, το αρμενικό, το κοπτικό, το γοτθικό και πολλά άλλα αλφάβητα.'] elif lang == 'ita': - assert sentences == ["L'italiano ([itaˈljaːno][Nota 1] ascolta[?·info]) è una lingua romanza parlata principalmente in Italia.", "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.", '[2][3][4][Nota 2]'] + assert sentences == ["L'italiano ([itaˈljaːno][Nota 1] ascoltaⓘ) è una lingua romanza parlata principalmente in Italia.", "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.", '[2][3][4][Nota 2]'] elif lang == 'khm': assert sentences == ['ភាសាខ្មែរ គឺជាភាសាកំណើតរបស់ជនជាតិខ្មែរនិងជាភាសាផ្លូវការរបស់ប្រទេសកម្ពុជា។', 'ភាសាសំស្ក្រឹតនិងភាសាបាលីបាន\u200bជួយបង្កើតខេមរភាសា ព្រោះភាសាខ្មែរបានខ្ចីពាក្យច្រើនពីភាសាទាំងពីរនេះ។', '\u200bមានអក្សរក្រមវែងជាងគេនៅលើពិភពលោក ។', '\u200b វាជាភាសាមួយដ៏ចំណាស់\u200b ដែលប្រហែលជាមានដើមកំណើតតាំងតែពី\u200b២០០០ឆ្នាំមុនមកម៉្លេះ។'] elif lang == 'lao': assert sentences == ['ພາສາລາວ (Lao: ລາວ, [láːw] ຫຼື ພາສາລາວ, [pʰáːsǎːláːw]) ເປັນພາສາຕະກູນໄທ-ກະໄດຂອງຄົນລາວ ໂດຍມີຄົນເວົ້າໃນປະເທດລາວ ເຊິ່ງເປັນພາສາລັດຖະການຂອງສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ ຂອງປະຊາກອນປະມານ 7 ລ້ານຄົນ ແລະໃນພື້ນທີ່ພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດໄທທີ່ມີຄົນເວົ້າປະມານ 23 ລ້ານຄົນ ທາງລັດຖະບານປະເທດໄທມີການສະໜັບສະໜຸນໃຫ້ເອີ້ນພາສາລາວຖິ່ນໄທວ່າ ພາສາລາວຖິ່ນອີສານ ນອກຈາກນີ້, ຢູ່ທາງພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດກຳປູເຈຍກໍມີຄົນເວົ້າພາສາລາວຄືກັນ.', 'ພາສາລາວເປັນແມ່ຂອງຄົນເຊື້ອຊາດລາວທັງຢູ່ພາຍໃນແລະຕ່າງປະເທດ ທັງເປັນພາສາກາງຂອງພົນລະເມືອງໃນປະເທດລາວທີ່ມີພາສາອື່ນອີກຫຼາຍພາສາ ເຊິ່ງບາງພາສາບໍ່ມີຄວາມກ່ຽວຂ້ອງກັບພາສານີ້[3] .'] elif lang == 'mal': - assert sentences == ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', 'മലയാള ഭാഷ കൈരളി,മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്\u200c മലയാളം.', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല, നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല, കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ, സിംഗപ്പൂർ, മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.യു.എ.ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.', '[അവലംബം ആവശ്യമാണ്]'] + assert sentences == ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', 'മലയാള ഭാഷ കൈരളി,മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്\u200c മലയാളം.', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല, നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല, കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ, സിംഗപ്പൂർ, മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.', 'യു.എ.ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.', '[അവലംബം ആവശ്യമാണ്]'] elif lang == 'nob': - assert sentences == ['Bokmål er en varietet av norsk skriftspråk.', '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.'] + 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.'] elif lang == 'nno': assert sentences == ['Nynorsk, før 1929 offisielt kalla landsmål, er sidan jamstillingsvedtaket av 12. mai 1885 ei av dei to offisielle målformene av norsk; den andre forma er bokmål.', 'Nynorsk vert i dag nytta av om lag 10–15% av innbyggjarane i Noreg.', '[1][2] Skriftspråket er basert på nynorsk talemål, det vil seie dei moderne norske dialektane til skilnad frå gamalnorsk og mellomnorsk.', 'Når ein seier at nokon snakkar nynorsk, meiner ein helst at dei snakkar nynorsk normaltalemål.', 'Dei færraste dialekttalande nordmenn seier at dei snakkar nynorsk, men det er ikkje uvanleg i kjerneområda til nynorsken.', 'Dette tilhøvet mellom tale og skrift ligg bak målrørsla sitt slagord sidan 1970-talet: «Snakk dialekt – skriv nynorsk!» Nynorske dialektar vart snakka over heile landet, men det er berre på Vestlandet utanom dei største byene og i dei austlandske fjellbygdene at skriftspråket står sterkt.', 'Det vil seie at dei fleste dialekttalarane har bokmål som det primære skriftspråket sitt.'] elif lang == 'pol': @@ -104,11 +104,11 @@ def test_sentence_tokenize(lang, sentence_tokenizer): elif lang.startswith('por_'): assert sentences == ['A língua portuguesa, também designada português, é uma língua indo-europeia românica flexiva ocidental originada no galego-português falado no Reino da Galiza e no norte de Portugal.', 'Com a criação do Reino de Portugal em 1139 e a expansão para o sul na sequência da Reconquista, deu-se a difusão da língua pelas terras conquistadas e mais tarde, com as descobertas portuguesas, para o Brasil, África e outras partes do mundo.', '[8] O português foi usado, naquela época, não somente nas cidades conquistadas pelos portugueses, mas também por muitos governantes locais nos seus contatos com outros estrangeiros poderosos.', 'Especialmente nessa altura a língua portuguesa também influenciou várias línguas.', '[9]'] elif lang == 'rus': - assert sentences == ['Ру́сский язы́к ([ˈruskʲɪi̯ jɪˈzɨk] Информация о файле слушать)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] + assert sentences == ['Ру́сский язы́к (МФА: [ˈruskʲɪi̯ jɪˈzɨk]ⓘ)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] elif lang == 'slv': - assert sentences == ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije 1848.', 'Do takrat smo uporabljali bohoričico.'] + assert sentences == ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po hrvaškem jezikoslovcu Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije 1848.', 'Do takrat smo uporabljali bohoričico.'] elif lang == 'spa': - assert sentences == ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b32\u200b33\u200b en algunas áreas rurales e indígenas de América,34\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.35\u200b36\u200b37\u200b38\u200b39\u200b40\u200b'] + assert sentences == ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b33\u200b34\u200b en algunas áreas rurales e indígenas de América,35\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.36\u200b37\u200b38\u200b39\u200b40\u200b41\u200b'] elif lang == 'swe': assert sentences == ['Svenska (svenska\u2009(info)) är ett östnordiskt språk som talas av ungefär tio miljoner personer främst i Sverige där språket har en dominant ställning som huvudspråk, men även som det ena nationalspråket i Finland och som enda officiella språk på Åland.', 'I övriga Finland talas det som modersmål framförallt i de finlandssvenska kustområdena i Österbotten, Åboland och Nyland.', 'En liten minoritet svenskspråkiga finns även i Estland.', 'Svenska är nära besläktat och i hög grad ömsesidigt begripligt med danska och norska.', 'De andra nordiska språken, isländska och färöiska, är mindre ömsesidigt begripliga med svenska.', 'Liksom de övriga nordiska språken härstammar svenskan från en gren av fornnordiska, vilket var det språk som talades av de germanska folken i Skandinavien.'] elif lang == 'tha': @@ -158,11 +158,11 @@ def test_sentence_seg_tokenize(lang): if lang == 'ces': assert sentence_segs == ['Č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í.'] elif lang == 'dan': - 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 (i Flensborg ca.', '20 %),', '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.'] + 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.'] elif lang == '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.'] elif lang.startswith('eng_') or lang == 'other': - assert sentence_segs == ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.', '[3][4][5] It is the most spoken language in the world[6] and the third most spoken native language in the world,', 'after Standard Chinese and Spanish.', '[7] Today,', 'English is the primary language of the Anglosphere,', 'which is usually defined as the United States,', 'the United Kingdom,', 'Canada,', 'Australia,', 'and New Zealand.', 'English is also the primary language of the Republic of Ireland,', 'although it is not typically included within the Anglosphere.'] + 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]'] elif lang == 'est': assert sentence_segs == ['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.'] elif lang == 'fin': @@ -174,7 +174,7 @@ def test_sentence_seg_tokenize(lang): elif lang == 'ell': assert sentence_segs == ['Η ελληνική γλώσσα ανήκει στην ινδοευρωπαϊκή οικογένεια[9] και αποτελεί το μοναδικό μέλος του ελληνικού κλάδου,', 'ενώ είναι η επίσημη γλώσσα της Ελλάδας και της Κύπρου.', 'Ανήκει επίσης στο βαλκανικό γλωσσικό δεσμό.', 'Στην ελληνική γλώσσα,', 'έχουμε γραπτά κείμενα ήδη από τον 15ο αιώνα π.', 'Χ..', 'Σαν Παγκόσμια Ημέρα Ελληνικής Γλώσσας,', 'κάθε έτος,', 'έχει καθιερωθεί η 9η Φεβρουαρίου.', 'Έχει την μακροβιότερη καταγεγραμμένη ιστορία από οποιαδήποτε άλλη ζωντανή ινδοευρωπαϊκή γλώσσα με τουλάχιστον 3.', '400 χρόνια γραπτής ιστορίας.', '[10] Γράφεται με το ελληνικό αλφάβητο,', 'το οποίο χρησιμοποιείται αδιάκοπα (αρχικά με τοπικές παραλλαγές,', 'μετέπειτα υπό μια,', 'ενιαία μορφή) εδώ και περίπου 2.', '600 χρόνια.', '[11][12] Προηγουμένως η ελληνική γλώσσα γραφόταν με τη Γραμμική Β και το κυπριακό συλλαβάριο.', '[13] Το ελληνικό αλφάβητο προέρχεται από το φοινικικό αλφάβητο,', 'με κάποιες προσαρμογές.', 'Στο ελληνικό αλφάβητο βασίζεται το λατινικό,', 'το κυριλλικό,', 'το αρμενικό,', 'το κοπτικό,', 'το γοτθικό και πολλά άλλα αλφάβητα.'] elif lang == 'ita': - assert sentence_segs == ["L'italiano ([itaˈljaːno][Nota 1] ascolta[?", '·info]) è una lingua romanza parlata principalmente in Italia.', 'Per ragioni storiche e geografiche,', "l'italiano è la lingua romanza meno divergente dal latino.", '[2][3][4][Nota 2]'] + assert sentence_segs == ["L'italiano ([itaˈljaːno][Nota 1] ascoltaⓘ) è una lingua romanza parlata principalmente in Italia.", 'Per ragioni storiche e geografiche,', "l'italiano è la lingua romanza meno divergente dal latino.", '[2][3][4][Nota 2]'] elif lang == 'khm': assert sentence_segs == ['ភាសាខ្មែរ គឺជាភាសាកំណើតរបស់ជនជាតិខ្មែរនិងជាភាសាផ្លូវការរបស់ប្រទេសកម្ពុជា។', 'ភាសាសំស្ក្រឹតនិងភាសាបាលីបាន\u200bជួយបង្កើតខេមរភាសា ព្រោះភាសាខ្មែរបានខ្ចីពាក្យច្រើនពីភាសាទាំងពីរនេះ។', '\u200bមានអក្សរក្រមវែងជាងគេនៅលើពិភពលោក ។', '\u200b វាជាភាសាមួយដ៏ចំណាស់\u200b ដែលប្រហែលជាមានដើមកំណើតតាំងតែពី\u200b២០០០ឆ្នាំមុនមកម៉្លេះ។'] elif lang == 'lao': @@ -182,7 +182,7 @@ def test_sentence_seg_tokenize(lang): elif lang == 'mal': assert sentence_segs == ['ഇന്ത്യയിൽ കേരള സംസ്ഥാനത്തിലും കേന്ദ്രഭരണപ്രദേശങ്ങളായ ലക്ഷദ്വീപിലും പോണ്ടിച്ചേരിയുടെ ഭാഗമായ മാഹിയിലും തമിഴ്നാട്ടിലെ കന്യാകുമാരി ജില്ലയിലും നീലഗിരി ജില്ലയിലെ ഗൂഡല്ലൂർ താലൂക്കിലും സംസാരിക്കപ്പെടുന്ന ഭാഷയാണ് മലയാളം.', 'ഇതു ദ്രാവിഡ ഭാഷാ കുടുംബത്തിൽപ്പെടുന്നു.', 'ഇന്ത്യയിൽ ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കുന്ന അഞ്ചാമത്തെ ഭാഷയാണ് മലയാളം[5].', '2013 മെയ് 23-നു ചേർന്ന കേന്ദ്രമന്ത്രിസഭായോഗമാണ് മലയാളത്തെ ശ്രേഷ്ഠഭാഷയായി അംഗീകരിച്ചത്.', 'ക്ലാസിക്കൽ ലാംഗ്വേജ് എന്ന പദവിയാണ് ലൽകിയത്.', 'അതിനു മലയാളത്തിൽ നൽകിയ വിവർത്തനം ആണ് ശ്രേഷ്ഠഭാഷ എന്നത്.', 'വാസ്തവത്തിൽ ഇത് അത്രശരിയായ വിവർത്തനമോ ശരിയായ പ്രയോഗമോ അല്ല.', 'ശ്രേഷ്ഠം മോശം എന്ന നിലയിൽ ഭാഷകളെ വിലയിരുത്തുന്നത് ശാസ്ത്രീയമായ കാര്യമല്ല.', 'ഭാഷകളിൽ ശ്രേഷ്ഠമെന്നും അല്ലാത്തത് എന്നുമുള്ള വിഭജനം ഇല്ല.', 'ഇന്ത്യൻ ഭരണഘടനയിലെ എട്ടാം ഷെഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഇന്ത്യയിലെ ഇരുപത്തിരണ്ട് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നാണ് മലയാളം[6].', 'മലയാള ഭാഷ കൈരളി,', 'മലനാട് ഭാഷ എന്നും അറിയപ്പെടുന്നു.', 'കേരള സംസ്ഥാനത്തിലെ ഭരണഭാഷയും കൂടിയാണ്\u200c മലയാളം.', 'കേരളത്തിനും ലക്ഷദ്വീപിനും പുറമേ തമിഴ്നാട്ടിലെ ചില ഭാഗങ്ങളിലും കന്യാകുമാരി ജില്ല,', 'നീലഗിരി ജില്ല കർണാടകയുടെ ദക്ഷിണ കന്നഡ ജില്ല,', 'കൊടഗ് ഭാഗങ്ങളിലും ഗൾഫ് രാജ്യങ്ങൾ,', 'സിംഗപ്പൂർ,', 'മലേഷ്യ എന്നിവിടങ്ങളിലെ കേരളീയ പൈതൃകമുള്ള അനേകം ജനങ്ങളും മലയാളം ഉപയോഗിച്ചുപോരുന്നു.', 'ദേശീയ ഭാഷയായി ഉൾപ്പെടുത്തിയത് മറ്റ് 21 ഭാഷകളുടേതുപോലെ തനതായ വ്യക്തിത്വം ഉള്ളതിനാലാണ്.', 'മലയാള ഭാഷയുടെ ഉല്പത്തിയും പ്രാചീനതയും സംബന്ധിച്ച കാര്യങ്ങൾ ഇന്നും അവ്യക്തമാണ്.', 'പഴയ തമിഴിനും മുൻപത്തെ മൂലദ്രാവിഡമാണ് മലയാളത്തിന്റെ ആദ്യ രൂപം എന്നു കരുതുന്നു.', 'യു.', 'എ.', 'ഇ-യിലെ നാല് ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നു മലയാളമാണ്.', '[അവലംബം ആവശ്യമാണ്]'] elif lang == 'nob': - assert sentence_segs == ['Bokmål er en varietet av norsk skriftspråk.', '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.'] + assert sentence_segs == ['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.'] elif lang == 'nno': assert sentence_segs == ['Nynorsk,', 'før 1929 offisielt kalla landsmål,', 'er sidan jamstillingsvedtaket av 12.', 'mai 1885 ei av dei to offisielle målformene av norsk;', 'den andre forma er bokmål.', 'Nynorsk vert i dag nytta av om lag 10–15% av innbyggjarane i Noreg.', '[1][2] Skriftspråket er basert på nynorsk talemål,', 'det vil seie dei moderne norske dialektane til skilnad frå gamalnorsk og mellomnorsk.', 'Når ein seier at nokon snakkar nynorsk,', 'meiner ein helst at dei snakkar nynorsk normaltalemål.', 'Dei færraste dialekttalande nordmenn seier at dei snakkar nynorsk,', 'men det er ikkje uvanleg i kjerneområda til nynorsken.', 'Dette tilhøvet mellom tale og skrift ligg bak målrørsla sitt slagord sidan 1970-talet:', '«Snakk dialekt – skriv nynorsk!', '» Nynorske dialektar vart snakka over heile landet,', 'men det er berre på Vestlandet utanom dei største byene og i dei austlandske fjellbygdene at skriftspråket står sterkt.', 'Det vil seie at dei fleste dialekttalarane har bokmål som det primære skriftspråket sitt.'] elif lang == 'pol': @@ -190,11 +190,11 @@ def test_sentence_seg_tokenize(lang): elif lang.startswith('por_'): assert sentence_segs == ['A língua portuguesa,', 'também designada português,', 'é uma língua indo-europeia românica flexiva ocidental originada no galego-português falado no Reino da Galiza e no norte de Portugal.', 'Com a criação do Reino de Portugal em 1139 e a expansão para o sul na sequência da Reconquista,', 'deu-se a difusão da língua pelas terras conquistadas e mais tarde,', 'com as descobertas portuguesas,', 'para o Brasil,', 'África e outras partes do mundo.', '[8] O português foi usado,', 'naquela época,', 'não somente nas cidades conquistadas pelos portugueses,', 'mas também por muitos governantes locais nos seus contatos com outros estrangeiros poderosos.', 'Especialmente nessa altura a língua portuguesa também influenciou várias línguas.', '[9]'] elif lang == 'rus': - assert sentence_segs == ['Ру́сский язы́к ([ˈruskʲɪi̯ jɪˈzɨk] Информация о файле слушать)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи,', 'национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] + assert sentence_segs == ['Ру́сский язы́к (МФА:', '[ˈruskʲɪi̯ jɪˈzɨk]ⓘ)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи,', 'национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] elif lang == 'slv': - assert sentence_segs == ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore,', 'ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,', '5 (dva in pol) milijona govorcev po svetu,', 'od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov,', 'ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica,', 'pisava imenovana po Ljudevitu Gaju,', 'ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije 1848.', 'Do takrat smo uporabljali bohoričico.'] + assert sentence_segs == ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore,', 'ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,', '5 (dva in pol) milijona govorcev po svetu,', 'od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov,', 'ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica,', 'pisava imenovana po hrvaškem jezikoslovcu Ljudevitu Gaju,', 'ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije 1848.', 'Do takrat smo uporabljali bohoričico.'] elif lang == 'spa': - assert sentence_segs == ['El español o castellano es una lengua romance procedente del latín hablado,', 'perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla,', 'reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b32\u200b33\u200b en algunas áreas rurales e indígenas de América,', '34\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.', '35\u200b36\u200b37\u200b38\u200b39\u200b40\u200b'] + assert sentence_segs == ['El español o castellano es una lengua romance procedente del latín hablado,', 'perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla,', 'reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b33\u200b34\u200b en algunas áreas rurales e indígenas de América,', '35\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.', '36\u200b37\u200b38\u200b39\u200b40\u200b41\u200b'] elif lang == 'swe': assert sentence_segs == ['Svenska (svenska\u2009(info)) är ett östnordiskt språk som talas av ungefär tio miljoner personer främst i Sverige där språket har en dominant ställning som huvudspråk,', 'men även som det ena nationalspråket i Finland och som enda officiella språk på Åland.', 'I övriga Finland talas det som modersmål framförallt i de finlandssvenska kustområdena i Österbotten,', 'Åboland och Nyland.', 'En liten minoritet svenskspråkiga finns även i Estland.', 'Svenska är nära besläktat och i hög grad ömsesidigt begripligt med danska och norska.', 'De andra nordiska språken,', 'isländska och färöiska,', 'är mindre ömsesidigt begripliga med svenska.', 'Liksom de övriga nordiska språken härstammar svenskan från en gren av fornnordiska,', 'vilket var det språk som talades av de germanska folken i Skandinavien.'] elif lang == 'tha': diff --git a/tests/tests_nlp/test_syl_tokenization.py b/tests/tests_nlp/test_syl_tokenization.py index 7d0ad676c..55020db11 100644 --- a/tests/tests_nlp/test_syl_tokenization.py +++ b/tests/tests_nlp/test_syl_tokenization.py @@ -116,13 +116,13 @@ def test_syl_tokenize(lang, syl_tokenizer): assert syls == [['Het'], ['Ne', 'der', 'lands'], ['is'], ['een'], ['Wes', 't', 'Ger', 'maan', 'se'], ['taal'], [','], ['de'], ['meest'], ['ge', 'bruik', 'te'], ['taal'], ['in'], ['Ne', 'der', 'land'], ['en'], ['Bel', 'gië'], [','], ['de'], ['of', 'fi', 'ci', 'ë', 'le'], ['taal'], ['van'], ['Su', 'ri', 'na', 'me'], ['en'], ['een'], ['van'], ['de'], ['drie'], ['of', 'fi', 'ci', 'ë', 'le'], ['ta', 'len'], ['van'], ['Bel', 'gië'], ['.']] elif lang.startswith('eng_'): if syl_tokenizer == 'nltk_legality': - assert syls == [['En', 'glish'], ['is'], ['a'], ['West'], ['Ger', 'ma', 'nic'], ['lan', 'gu', 'a', 'ge'], ['in'], ['the'], ['In', 'do-', 'E', 'u', 'rop', 'ean'], ['lan', 'gu', 'a', 'ge'], ['fa', 'mi', 'ly'], ['that'], ['o', 'ri', 'gi', 'na', 'ted'], ['in'], ['e', 'ar', 'ly'], ['me', 'di', 'e', 'val'], ['En', 'gland.'], ['['], ['3'], [']'], ['['], ['4'], [']'], ['['], ['5'], [']']] + assert syls == [['En', 'glish'], ['is'], ['a'], ['West'], ['Ger', 'ma', 'nic'], ['lan', 'gu', 'a', 'ge'], ['in'], ['the'], ['In', 'do-', 'E', 'u', 'rop', 'ean'], ['lan', 'gu', 'a', 'ge'], ['fa', 'mi', 'ly'], ['.']] elif syl_tokenizer == 'nltk_sonority_sequencing': - assert syls == [['English'], ['is'], ['a'], ['West'], ['Ger', 'ma', 'nic'], ['lan', 'gua', 'ge'], ['in'], ['the'], ['Indo', '-', 'Eu', 'ro', 'pean'], ['lan', 'gua', 'ge'], ['fa', 'mi', 'ly'], ['that'], ['o', 'ri', 'gi', 'na', 'ted'], ['in'], ['ear', 'ly'], ['me', 'die', 'val'], ['England.'], ['['], ['3'], [']'], ['['], ['4'], [']'], ['['], ['5'], [']']] + assert syls == [['English'], ['is'], ['a'], ['West'], ['Ger', 'ma', 'nic'], ['lan', 'gua', 'ge'], ['in'], ['the'], ['Indo', '-', 'Eu', 'ro', 'pean'], ['lan', 'gua', 'ge'], ['fa', 'mi', 'ly'], ['.']] elif syl_tokenizer == 'pyphen_eng_gb': - assert syls == [['Eng', 'lish'], ['is'], ['a'], ['West'], ['Ger', 'man', 'ic'], ['lan', 'guage'], ['in'], ['the'], ['In', 'do', 'European'], ['lan', 'guage'], ['fam', 'ily'], ['that'], ['ori', 'gin', 'ated'], ['in'], ['early'], ['me', 'di', 'ev', 'al'], ['Eng', 'land.'], ['['], ['3'], [']'], ['['], ['4'], [']'], ['['], ['5'], [']']] + assert syls == [['Eng', 'lish'], ['is'], ['a'], ['West'], ['Ger', 'man', 'ic'], ['lan', 'guage'], ['in'], ['the'], ['In', 'do', 'European'], ['lan', 'guage'], ['fam', 'ily'], ['.']] elif syl_tokenizer == 'pyphen_eng_us': - assert syls == [['Eng', 'lish'], ['is'], ['a'], ['West'], ['Ger', 'man', 'ic'], ['lan', 'guage'], ['in'], ['the'], ['In', 'do', 'Eu', 'ro', 'pean'], ['lan', 'guage'], ['fam', 'i', 'ly'], ['that'], ['orig', 'i', 'nat', 'ed'], ['in'], ['ear', 'ly'], ['me', 'dieval'], ['Eng', 'land.'], ['['], ['3'], [']'], ['['], ['4'], [']'], ['['], ['5'], [']']] + assert syls == [['Eng', 'lish'], ['is'], ['a'], ['West'], ['Ger', 'man', 'ic'], ['lan', 'guage'], ['in'], ['the'], ['In', 'do', 'Eu', 'ro', 'pean'], ['lan', 'guage'], ['fam', 'i', 'ly'], ['.']] else: tests_lang_util_skipped = True elif lang == 'epo': @@ -144,7 +144,7 @@ def test_syl_tokenize(lang, syl_tokenizer): elif lang == 'ind': assert syls == [['Ba', 'ha', 'sa'], ['In', 'do', 'ne', 'sia'], ['ada', 'lah'], ['ba', 'ha', 'sa'], ['na', 'si', 'o', 'nal'], ['dan'], ['res', 'mi'], ['di'], ['se', 'lu', 'r', 'uh'], ['wi', 'la', 'yah'], ['In', 'do', 'ne', 'sia'], ['.']] elif lang == 'ita': - assert syls == [["L'i", 'ta', 'lia', 'no'], ['('], ['['], ['itaˈ', 'l', 'jaː', 'no'], [']'], ['['], ['No', 'ta'], ['1'], [']'], ['ascol', 'ta'], ['['], ['?'], ['·in', 'fo'], [']'], [')'], ['è'], ['una'], ['lin', 'gua'], ['ro', 'man', 'za'], ['par', 'la', 'ta'], ['prin', 'ci', 'pal', 'men', 'te'], ['in'], ['Ita', 'lia'], ['.']] + assert syls == [["L'i", 'ta', 'lia', 'no'], ['('], ['['], ['itaˈ', 'l', 'jaː', 'no'], [']'], ['['], ['No', 'ta'], ['1'], [']'], ['ascol', 'taⓘ'], [')'], ['è'], ['una'], ['lin', 'gua'], ['ro', 'man', 'za'], ['par', 'la', 'ta'], ['prin', 'ci', 'pal', 'men', 'te'], ['in'], ['Ita', 'lia'], ['.']] elif lang == 'lit': assert syls == [['Lie', 'tu', 'vių'], ['kal', 'ba'], ['–'], ['iš'], ['bal', 'tų'], ['pro', 'kal', 'bės'], ['ki', 'lu', 'si'], ['lie', 'tu', 'vių'], ['tau', 'tos'], ['kal', 'ba'], [','], ['ku', 'ri'], ['Lie', 'tu', 'vo', 'je'], ['yra'], ['vals', 'ty', 'bi', 'nė'], [','], ['o'], ['Eu', 'ro', 'pos'], ['Są', 'jun', 'go', 'je'], ['–'], ['vie', 'na'], ['iš'], ['ofi', 'cia', 'lių', 'jų'], ['kal', 'bų'], ['.']] elif lang == 'lav': @@ -152,7 +152,7 @@ def test_syl_tokenize(lang, syl_tokenizer): elif lang == 'mon': assert syls == [['Мон', 'гол'], ['хэл'], ['нь'], ['Мон', 'гол'], ['ул', 'сын'], ['ал', 'бан'], ['ёс', 'ны'], ['хэл'], ['юм'], ['.']] elif lang == 'nob': - assert syls == [['Bok', 'mål'], ['er'], ['en'], ['va', 'rie', 'tet'], ['av'], ['norsk'], ['skrift', 'språk'], ['.']] + assert syls == [['Bok', 'mål'], ['er'], ['en'], ['av'], ['to'], ['of', 'fi', 'si', 'el', 'le'], ['mål', 'for', 'mer'], ['av'], ['norsk'], ['skrift', 'språk'], [','], ['hvor', 'av'], ['den'], ['and', 're'], ['er'], ['ny', 'norsk'], ['.']] elif lang == 'nno': assert syls == [['Ny', 'norsk'], [','], ['før'], ['1929'], ['of', 'fi', 'si', 'elt'], ['kal', 'la'], ['lands', 'mål'], [','], ['er'], ['si', 'dan'], ['jam', 'stil', 'lings', 'ved', 'ta', 'ket'], ['av'], ['12'], ['.'], ['mai'], ['1885'], ['ei'], ['av'], ['dei'], ['to'], ['of', 'fi', 'si', 'el', 'le'], ['mål', 'for', 'me', 'ne'], ['av'], ['norsk'], [';'], ['den'], ['and', 're'], ['for', 'ma'], ['er'], ['bok', 'mål'], ['.']] elif lang == 'pol': @@ -162,7 +162,7 @@ def test_syl_tokenize(lang, syl_tokenizer): elif lang == 'ron': assert syls == [['Lim', 'ba'], ['ro', 'mâ', 'nă'], ['es', 'te'], ['o'], ['lim', 'bă'], ['in', 'do', 'e', 'u', 'ro', 'pe', 'a', 'nă'], ['din'], ['gru', 'pul'], ['ita', 'lic'], ['și'], ['din'], ['sub', 'gru', 'pul'], ['orien', 'tal'], ['al'], ['lim', 'bi', 'lor'], ['ro', 'ma', 'ni', 'ce'], ['.']] elif lang == 'rus': - assert syls == [['Ру́с', 'ский'], ['язы́к'], ['('], ['['], ['ˈruskʲɪi̯'], ['jɪˈzɨk'], [']'], ['Ин', 'фор', 'ма', 'ция'], ['о'], ['фай', 'ле'], ['слу', 'шать'], [')'], ['['], ['~'], ['3'], [']'], ['['], ['⇨'], [']'], ['—'], ['язык'], ['вос', 'точ', 'но', 'сла', 'вян', 'ской'], ['груп', 'пы'], ['сла', 'вян', 'ской'], ['вет', 'ви'], ['ин', 'до', 'ев', 'ро', 'пей', 'ской'], ['язы', 'ко', 'вой'], ['се', 'мьи'], [','], ['на', 'ци', 'о', 'наль', 'ный'], ['язык'], ['рус', 'ско', 'го'], ['на', 'ро', 'да'], ['.']] + assert syls == [['Ру́с', 'ский'], ['язы́к'], ['('], ['МФА'], [':'], ['['], ['ˈruskʲɪi̯'], ['jɪˈzɨk'], [']'], ['ⓘ'], [')'], ['['], ['~'], ['3'], [']'], ['['], ['⇨'], [']'], ['—'], ['язык'], ['вос', 'точ', 'но', 'сла', 'вян', 'ской'], ['груп', 'пы'], ['сла', 'вян', 'ской'], ['вет', 'ви'], ['ин', 'до', 'ев', 'ро', 'пей', 'ской'], ['язы', 'ко', 'вой'], ['се', 'мьи'], [','], ['на', 'ци', 'о', 'наль', 'ный'], ['язык'], ['рус', 'ско', 'го'], ['на', 'ро', 'да'], ['.']] elif lang == 'srp_cyrl': assert syls == [['Срп', 'ски'], ['је', 'зик'], ['је'], ['зва', 'ни', 'чан'], ['у'], ['Ср', 'би', 'ји'], [','], ['Бо', 'сни'], ['и'], ['Хер', 'це', 'го', 'ви', 'ни'], ['и'], ['Цр', 'ној'], ['Го', 'ри'], ['и'], ['го', 'во', 'ри'], ['га'], ['око'], ['12'], ['ми', 'ли', 'о', 'на'], ['љу', 'ди.'], ['['], ['13'], [']']] elif lang == 'srp_latn': diff --git a/tests/tests_nlp/test_word_detokenization.py b/tests/tests_nlp/test_word_detokenization.py index 4cbb584a8..09361b0aa 100644 --- a/tests/tests_nlp/test_word_detokenization.py +++ b/tests/tests_nlp/test_word_detokenization.py @@ -66,7 +66,7 @@ def test_word_detokenize(lang): if lang.startswith('zho_'): assert text == '英国全称是United Kingdom of Great Britain,由四个部分组成:England、Scotland、Wales和Northern Ireland' elif lang in ['eng_us', 'other']: - assert text == 'English is a West Germanic language in the Indo-European language family that originated in early medieval England. [3] [4] [5]' + assert text == 'English is a West Germanic language in the Indo-European language family.' elif lang == 'jpn': assert text == '''The meaning of "天気がいいから、散歩しましょう。"is: The weather is good so let 's take a walk.''' elif lang == 'tha': diff --git a/tests/tests_nlp/test_word_tokenization.py b/tests/tests_nlp/test_word_tokenization.py index fb94dcfb2..e36c8bd76 100644 --- a/tests/tests_nlp/test_word_tokenization.py +++ b/tests/tests_nlp/test_word_tokenization.py @@ -139,16 +139,10 @@ def test_word_tokenize(lang, word_tokenizer): elif lang == 'nld': assert tokens == ['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ë', '.'] elif lang.startswith('eng_') or lang == 'other': - if word_tokenizer == 'nltk_nist': - assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England', '.', '[3]', '[', '4]', '[', '5]'] - elif word_tokenizer in ['nltk_nltk', 'nltk_penn_treebank']: - assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England.', '[', '3', ']', '[', '4', ']', '[', '5', ']'] - elif word_tokenizer == 'nltk_regex': - assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England', '.[', '3', '][', '4', '][', '5', ']'] - elif word_tokenizer == 'nltk_tok_tok': - assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England.[', '3', ']', '[', '4', ']', '[', '5', ']'] - elif word_tokenizer in ['nltk_twitter', 'sacremoses_moses']: - assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England', '.', '[', '3', ']', '[', '4', ']', '[', '5', ']'] + if word_tokenizer in ['nltk_nist', 'nltk_regex']: + assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', '.'] + elif word_tokenizer in ['nltk_nltk', 'nltk_penn_treebank', 'nltk_tok_tok', 'nltk_twitter', 'sacremoses_moses']: + assert tokens == ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo-European', 'language', 'family', '.'] else: tests_lang_util_skipped = True elif lang == 'est': @@ -190,17 +184,17 @@ def test_word_tokenize(lang, word_tokenizer): elif lang == 'gle': assert tokens == ['Is', 'ceann', 'de', 'na', 'teangacha', 'Ceilteacha', 'í', 'an', 'Ghaeilge', '(', 'nó', 'Gaeilge', 'na', 'hÉireann', 'mar', 'a', 'thugtar', 'uirthi', 'corruair', ')', ',', 'agus', 'ceann', 'de', 'na', 'trí', 'cinn', 'de', 'theangacha', 'Ceilteacha', 'ar', 'a', 'dtugtar', 'na', 'teangacha', 'Gaelacha', '(', 'Gaeilge', ',', 'Gaeilge', 'Mhanann', 'agus', 'Gaeilge', 'na', 'hAlban', ')', 'go', 'háirithe', '.'] elif lang == 'ita': - assert tokens == ["L'", 'italiano', '(', '[', 'itaˈljaːno', ']', '[', 'Nota', '1', ']', 'ascolta', '[', '?', '·', 'info', ']', ')', 'è', 'una', 'lingua', 'romanza', 'parlata', 'principalmente', 'in', 'Italia', '.'] + assert tokens == ["L'", 'italiano', '(', '[', 'itaˈljaːno', ']', '[', 'Nota', '1', ']', 'ascoltaⓘ', ')', 'è', 'una', 'lingua', 'romanza', 'parlata', 'principalmente', 'in', 'Italia', '.'] elif lang == 'jpn': if word_tokenizer == 'sudachipy_jpn_split_mode_a': - assert tokens == ['日本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', '、', '英語', ':', 'Japanese', 'language', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'] + assert tokens == ['日本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'] elif word_tokenizer in [ 'sudachipy_jpn_split_mode_b', 'sudachipy_jpn_split_mode_c' ]: - assert tokens == ['日本語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', '、', '英語', ':', 'Japanese', 'language', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住者', 'を', '含む', '日本人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'] + assert tokens == ['日本語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住者', 'を', '含む', '日本人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'] elif word_tokenizer == 'wordless_jpn_kanji': - assert tokens == ['日', '本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注', '釈', '2', ']', '、', '英', '語', ':', 'Japanese', 'language', ')', 'は', '、', '日', '本', '国', '内', 'や', '、', 'かつて', 'の', '日', '本', '領', 'だっ', 'た', '国', '、', 'そして', '国', '外', '移', '民', 'や', '移', '住', '者', 'を', '含', 'む', '日', '本', '人', '同', '士', 'の', '間', 'で', '使', '用', 'さ', 'れ', 'て', 'いる', '言', '語', '。'] + assert tokens == ['日', '本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注', '釈', '2', ']', ')', 'は', '、', '日', '本', '国', '内', 'や', '、', 'かつて', 'の', '日', '本', '領', 'だっ', 'た', '国', '、', 'そして', '国', '外', '移', '民', 'や', '移', '住', '者', 'を', '含', 'む', '日', '本', '人', '同', '士', 'の', '間', 'で', '使', '用', 'さ', 'れ', 'て', 'いる', '言', '語', '。'] else: tests_lang_util_skipped = True elif lang == 'kan': @@ -267,9 +261,9 @@ def test_word_tokenize(lang, word_tokenizer): assert tokens == ['Limba', 'română', 'este', 'o', 'limbă', 'indo-europeană', 'din', 'grupul', 'italic', 'și', 'din', 'subgrupul', 'oriental', 'al', 'limbilor', 'romanice', '.'] elif lang == 'rus': if word_tokenizer == 'nltk_tok_tok': - assert tokens == ['Ру́сский', 'язы́к', '(', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'Информация', 'о', 'файле', 'слушать', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'] + assert tokens == ['Ру́сский', 'язы́к', '(', 'МФА', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'ⓘ', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'] elif word_tokenizer == 'sacremoses_moses': - assert tokens == ['Ру', '́', 'сский', 'язы', '́', 'к', '(', '[', 'ˈruskʲɪi', '̯', 'jɪˈzɨk', ']', 'Информация', 'о', 'файле', 'слушать', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'] + assert tokens == ['Ру', '́', 'сский', 'язы', '́', 'к', '(', 'МФА', ':', '[', 'ˈruskʲɪi', '̯', 'jɪˈzɨk', ']', 'ⓘ', ')', '[', '~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'] else: tests_lang_util_skipped = True elif lang == 'san': diff --git a/tests/tests_nlp/tests_spacy/test_spacy.py b/tests/tests_nlp/tests_spacy/test_spacy.py index 2dab252c9..128df1afb 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy.py +++ b/tests/tests_nlp/tests_spacy/test_spacy.py @@ -64,7 +64,8 @@ def wl_test_sentence_tokenize(lang, results_trf, results_lg): print(f'{sentences_trf}\n') # The count of sentences should be more than 1 - assert len(sentences_trf) > 1 + if lang not in ['zho_cn']: + assert len(sentences_trf) > 1 assert sentences_trf == results_trf diff --git a/tests/tests_nlp/tests_spacy/test_spacy_cat.py b/tests/tests_nlp/tests_spacy/test_spacy_cat.py index 051b8121d..dba2b2c0d 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', 'DET'), ('el', 'DET'), ('Nord', 'PROPN'), (')', 'PUNCT'), ('o', 'CCONJ'), ('valencià', 'NOUN'), ('(', 'PUNCT'), ('denominació', 'NOUN'), ('oficial', 'ADJ'), ('a', 'DET'), ('l', 'DET'), ('País', 'PROPN'), ('Valencià', 'PROPN'), ('i', 'CCONJ'), ('tradicional', 'ADJ'), ('a', 'DET'), ('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', 'DET'), ('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', 'NOUN'), (']', 'PUNCT'), ('i', 'CCONJ'), ('en', 'ADP'), ('comunitats', 'NOUN'), ('arreu', 'ADV'), ('d', 'DET'), ('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', 'NOUN'), (']', 'PUNCT')] + 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')] 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_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_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', 'denominació', 'conj', -7), ('Balears', 'Illes', 'flat', -1), (',', 'Andorra', 'punct', 2), ('a', 'Andorra', 'case', 1), ('Andorra', 'denominació', 'conj', -11), (',', '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', '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', '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', 'nmod', -3), (']', 'Carxe', 'punct', 2), ('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', 'punct', -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', 'aux', -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', 'la', 'nmod', -7), (']', 'destaca', 'punct', -9)] + 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)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_dan.py b/tests/tests_nlp/tests_spacy/test_spacy_dan.py index fe7094311..4677ec992 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_dan.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_dan.py @@ -19,11 +19,11 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_dan(): - results_pos_tag = [('Dansk', 'ADJ'), ('er', 'AUX'), ('et', 'DET'), ('østnordisk', 'ADJ'), ('sprog', 'NOUN'), ('indenfor', 'ADP'), ('den', 'DET'), ('germanske', 'ADJ'), ('gren', 'NOUN'), ('af', 'ADP'), ('den', 'DET'), ('indoeuropæiske', 'ADJ'), ('sprogfamilie', 'NOUN'), ('.', 'PUNCT')] + results_pos_tag = [('Dansk', 'NOUN'), ('er', 'AUX'), ('et', 'DET'), ('østnordisk', 'ADJ'), ('sprog', 'NOUN'), ('indenfor', 'ADP'), ('den', 'DET'), ('germanske', 'ADJ'), ('gren', 'NOUN'), ('af', 'ADP'), ('den', 'DET'), ('indoeuropæiske', 'ADJ'), ('sprogfamilie', 'NOUN'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'dan', - results_sentence_tokenize_trf = ['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 (i Flensborg ca. 20 %), 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.'], + results_sentence_tokenize_trf = ['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.'], results_word_tokenize = ['Dansk', 'er', 'et', 'østnordisk', 'sprog', 'indenfor', 'den', 'germanske', 'gren', 'af', 'den', 'indoeuropæiske', 'sprogfamilie', '.'], results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, diff --git a/tests/tests_nlp/tests_spacy/test_spacy_eng.py b/tests/tests_nlp/tests_spacy/test_spacy_eng.py index 1164ea001..92e5cc278 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_eng.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_eng.py @@ -18,22 +18,24 @@ from tests.tests_nlp.tests_spacy import test_spacy +results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', '.'] + def test_spacy_eng(): test_spacy.wl_test_spacy( lang = 'eng_us', - results_sentence_tokenize_trf = ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.[3][4][5]', 'It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.[7]', 'Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'], - results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England.[3][4][5', ']'], - results_pos_tag = [('English', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('West', 'JJ'), ('Germanic', 'JJ'), ('language', 'NN'), ('in', 'IN'), ('the', 'DT'), ('Indo', 'JJ'), ('-', 'JJ'), ('European', 'JJ'), ('language', 'NN'), ('family', 'NN'), ('that', 'WDT'), ('originated', 'VBD'), ('in', 'IN'), ('early', 'JJ'), ('medieval', 'JJ'), ('England.[3][4][5', 'CD'), (']', '-RRB-')], - results_pos_tag_universal = [('English', 'PROPN'), ('is', 'AUX'), ('a', 'DET'), ('West', 'ADJ'), ('Germanic', 'ADJ'), ('language', 'NOUN'), ('in', 'ADP'), ('the', 'DET'), ('Indo', 'ADJ'), ('-', 'ADJ'), ('European', 'ADJ'), ('language', 'NOUN'), ('family', 'NOUN'), ('that', 'PRON'), ('originated', 'VERB'), ('in', 'ADP'), ('early', 'ADJ'), ('medieval', 'ADJ'), ('England.[3][4][5', 'NUM'), (']', 'PUNCT')], - results_lemmatize = ['English', 'be', 'a', 'west', 'germanic', 'language', 'in', 'the', 'indo', '-', 'european', 'language', 'family', 'that', 'originate', 'in', 'early', 'medieval', 'england.[3][4][5', ']'], - results_dependency_parse = [('English', 'is', 'nsubj', 1), ('is', 'is', 'ROOT', 0), ('a', 'language', 'det', 3), ('West', 'Germanic', 'amod', 1), ('Germanic', 'language', 'amod', 1), ('language', 'is', 'attr', -4), ('in', 'language', 'prep', -1), ('the', 'family', 'det', 5), ('Indo', 'family', 'amod', 4), ('-', 'family', 'amod', 3), ('European', 'family', 'amod', 2), ('language', 'family', 'compound', 1), ('family', 'in', 'pobj', -6), ('that', 'originated', 'nsubj', 1), ('originated', 'family', 'relcl', -2), ('in', 'originated', 'prep', -1), ('early', 'medieval', 'amod', 1), ('medieval', 'England.[3][4][5', 'amod', 1), ('England.[3][4][5', 'in', 'pobj', -3), (']', 'is', 'punct', -18)] + results_sentence_tokenize_trf = ['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]'], + results_word_tokenize = results_word_tokenize, + results_pos_tag = [('English', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('West', 'JJ'), ('Germanic', 'JJ'), ('language', 'NN'), ('in', 'IN'), ('the', 'DT'), ('Indo', 'JJ'), ('-', 'JJ'), ('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'), ('-', 'ADJ'), ('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', 'is', 'nsubj', 1), ('is', 'is', 'ROOT', 0), ('a', 'language', 'det', 3), ('West', 'Germanic', 'amod', 1), ('Germanic', 'language', 'amod', 1), ('language', 'is', 'attr', -4), ('in', 'is', 'prep', -5), ('the', 'family', 'det', 5), ('Indo', 'language', 'amod', 3), ('-', 'language', 'amod', 2), ('European', 'language', 'amod', 1), ('language', 'family', 'compound', 1), ('family', 'in', 'pobj', -6), ('.', 'is', 'punct', -12)] ) def test_spacy_other(): test_spacy.wl_test_spacy( lang = 'other', - results_sentence_tokenize_trf = ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.[3][4][5] It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.[7] Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'], - results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England.[3][4][5', ']'] + results_sentence_tokenize_trf = ['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]'], + results_word_tokenize = results_word_tokenize ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_fra.py b/tests/tests_nlp/tests_spacy/test_spacy_fra.py index 202610d0c..59a395743 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_fra.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_fra.py @@ -19,7 +19,7 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_fra(): - results_pos_tag = [('Le', 'DET'), ('français', 'PROPN'), ('est', 'AUX'), ('une', 'DET'), ('langue', 'NOUN'), ('indo-européenne', 'ADJ'), ('de', 'ADP'), ('la', 'DET'), ('famille', 'NOUN'), ('des', 'ADP'), ('langues', 'NOUN'), ('romanes', 'ADJ'), ('dont', 'PRON'), ('les', 'DET'), ('locuteurs', 'NOUN'), ('sont', 'AUX'), ('appelés', 'VERB'), ('francophones', 'ADJ'), ('.', 'PUNCT')] + results_pos_tag = [('Le', 'DET'), ('français', 'NOUN'), ('est', 'AUX'), ('une', 'DET'), ('langue', 'NOUN'), ('indo-européenne', 'ADJ'), ('de', 'ADP'), ('la', 'DET'), ('famille', 'NOUN'), ('des', 'ADP'), ('langues', 'NOUN'), ('romanes', 'ADJ'), ('dont', 'PRON'), ('les', 'DET'), ('locuteurs', 'NOUN'), ('sont', 'AUX'), ('appelés', 'VERB'), ('francophones', 'ADJ'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'fra', @@ -28,7 +28,7 @@ def test_spacy_fra(): results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, results_lemmatize = ['le', 'français', 'être', 'un', 'langue', 'indo-européen', 'de', 'le', 'famille', 'de', 'langue', 'roman', 'dont', 'le', 'locuteur', 'être', 'appeler', 'francophone', '.'], - results_dependency_parse = [('Le', 'français', 'det', 1), ('français', 'langue', 'nsubj', 3), ('est', 'langue', 'cop', 2), ('une', 'langue', 'det', 1), ('langue', 'langue', 'ROOT', 0), ('indo-européenne', 'langue', 'amod', -1), ('de', 'famille', 'case', 2), ('la', 'famille', 'det', 1), ('famille', 'langue', 'nmod', -4), ('des', 'langues', 'case', 1), ('langues', 'famille', 'nmod', -2), ('romanes', 'langues', 'amod', -1), ('dont', 'appelés', 'iobj', 4), ('les', 'locuteurs', 'det', 1), ('locuteurs', 'appelés', 'nsubj:pass', 2), ('sont', 'appelés', 'aux:pass', 1), ('appelés', 'langues', 'acl:relcl', -6), ('francophones', 'appelés', 'xcomp', -1), ('.', 'langue', 'punct', -14)] + results_dependency_parse = [('Le', 'français', 'det', 1), ('français', 'langue', 'nsubj', 3), ('est', 'langue', 'cop', 2), ('une', 'langue', 'det', 1), ('langue', 'langue', 'ROOT', 0), ('indo-européenne', 'langue', 'amod', -1), ('de', 'famille', 'case', 2), ('la', 'famille', 'det', 1), ('famille', 'langue', 'nmod', -4), ('des', 'langues', 'case', 1), ('langues', 'famille', 'nmod', -2), ('romanes', 'langues', 'amod', -1), ('dont', 'locuteurs', 'nmod', 2), ('les', 'locuteurs', 'det', 1), ('locuteurs', 'appelés', 'nsubj:pass', 2), ('sont', 'appelés', 'aux:pass', 1), ('appelés', 'langue', 'acl:relcl', -12), ('francophones', 'appelés', 'xcomp', -1), ('.', 'langue', 'punct', -14)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_ita.py b/tests/tests_nlp/tests_spacy/test_spacy_ita.py index 5c430f7b8..f229f4fb2 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_ita.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_ita.py @@ -19,17 +19,17 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_ita(): - results_sentence_tokenize = ["L'italiano ([itaˈljaːno][Nota 1] ascolta[?·info]) è una lingua romanza parlata principalmente in Italia.", "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.[2][3][4][Nota 2]"] + results_sentence_tokenize = ["L'italiano ([itaˈljaːno][Nota 1] ascoltaⓘ) è una lingua romanza parlata principalmente in Italia.", "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.[2][3][4][Nota 2]"] test_spacy.wl_test_spacy( lang = 'ita', results_sentence_tokenize_trf = results_sentence_tokenize, results_sentence_tokenize_lg = results_sentence_tokenize, - results_word_tokenize = ["L'", 'italiano', '(', '[', 'itaˈljaːno][Nota', '1', ']', 'ascolta[?·info', ']', ')', 'è', 'una', 'lingua', 'romanza', 'parlata', 'principalmente', 'in', 'Italia', '.'], - results_pos_tag = [("L'", 'RD'), ('italiano', 'S'), ('(', 'FB'), ('[', 'FB'), ('itaˈljaːno][Nota', 'A'), ('1', 'N'), (']', 'FB'), ('ascolta[?·info', 'SP'), (']', 'FB'), (')', 'FB'), ('è', 'V'), ('una', 'RI'), ('lingua', 'S'), ('romanza', 'S'), ('parlata', 'A'), ('principalmente', 'B'), ('in', 'E'), ('Italia', 'SP'), ('.', 'FS')], - results_pos_tag_universal = [("L'", 'DET'), ('italiano', 'NOUN'), ('(', 'PUNCT'), ('[', 'PUNCT'), ('itaˈljaːno][Nota', 'ADJ'), ('1', 'NUM'), (']', 'PUNCT'), ('ascolta[?·info', 'PROPN'), (']', 'PUNCT'), (')', 'PUNCT'), ('è', 'AUX'), ('una', 'DET'), ('lingua', 'NOUN'), ('romanza', 'NOUN'), ('parlata', 'ADJ'), ('principalmente', 'ADV'), ('in', 'ADP'), ('Italia', 'PROPN'), ('.', 'PUNCT')], - results_lemmatize = ['il', 'italiano', '(', '[', 'itaˈljaːno][Nota', '1', ']', 'ascolta[?·info', ']', ')', 'essere', 'uno', 'lingua', 'romanza', 'parlato', 'principalmente', 'in', 'Italia', '.'], - results_dependency_parse = [("L'", 'italiano', 'det', 1), ('italiano', 'lingua', 'nsubj', 11), ('(', 'ascolta[?·info', 'punct', 5), ('[', 'itaˈljaːno][Nota', 'punct', 1), ('itaˈljaːno][Nota', 'ascolta[?·info', 'amod', 3), ('1', 'itaˈljaːno][Nota', 'nummod', -1), (']', '1', 'punct', -1), ('ascolta[?·info', 'italiano', 'nmod', -6), (']', 'ascolta[?·info', 'punct', -1), (')', 'ascolta[?·info', 'punct', -2), ('è', 'lingua', 'cop', 2), ('una', 'lingua', 'det', 1), ('lingua', 'lingua', 'ROOT', 0), ('romanza', 'lingua', 'compound', -1), ('parlata', 'lingua', 'amod', -2), ('principalmente', 'parlata', 'advmod', -1), ('in', 'Italia', 'case', 1), ('Italia', 'parlata', 'obl', -3), ('.', 'lingua', 'punct', -6)] + results_word_tokenize = ["L'", 'italiano', '(', '[', 'itaˈljaːno][Nota', '1', ']', 'ascolta', 'ⓘ', ')', 'è', 'una', 'lingua', 'romanza', 'parlata', 'principalmente', 'in', 'Italia', '.'], + results_pos_tag = [("L'", 'RD'), ('italiano', 'S'), ('(', 'FB'), ('[', 'FB'), ('itaˈljaːno][Nota', 'A'), ('1', 'N'), (']', 'FB'), ('ascolta', 'V'), ('ⓘ', 'X'), (')', 'FB'), ('è', 'V'), ('una', 'RI'), ('lingua', 'S'), ('romanza', 'S'), ('parlata', 'A'), ('principalmente', 'B'), ('in', 'E'), ('Italia', 'SP'), ('.', 'FS')], + results_pos_tag_universal = [("L'", 'DET'), ('italiano', 'NOUN'), ('(', 'PUNCT'), ('[', 'PUNCT'), ('itaˈljaːno][Nota', 'ADJ'), ('1', 'NUM'), (']', 'PUNCT'), ('ascolta', 'VERB'), ('ⓘ', 'SYM'), (')', 'PUNCT'), ('è', 'AUX'), ('una', 'DET'), ('lingua', 'NOUN'), ('romanza', 'NOUN'), ('parlata', 'ADJ'), ('principalmente', 'ADV'), ('in', 'ADP'), ('Italia', 'PROPN'), ('.', 'PUNCT')], + results_lemmatize = ['il', 'italiano', '(', '[', 'itaˈljaːno][Nota', '1', ']', 'ascoltare', 'ⓘ', ')', 'essere', 'uno', 'lingua', 'romanza', 'parlato', 'principalmente', 'in', 'Italia', '.'], + results_dependency_parse = [("L'", 'italiano', 'det', 1), ('italiano', 'lingua', 'nsubj', 11), ('(', 'ascolta', 'punct', 5), ('[', 'itaˈljaːno][Nota', 'punct', 1), ('itaˈljaːno][Nota', 'ascolta', 'amod', 3), ('1', 'itaˈljaːno][Nota', 'nummod', -1), (']', 'itaˈljaːno][Nota', 'punct', -2), ('ascolta', 'italiano', 'advcl', -6), ('ⓘ', 'ascolta', 'punct', -1), (')', 'ascolta', 'punct', -2), ('è', 'lingua', 'cop', 2), ('una', 'lingua', 'det', 1), ('lingua', 'lingua', 'ROOT', 0), ('romanza', 'lingua', 'compound', -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_spacy/test_spacy_jpn.py b/tests/tests_nlp/tests_spacy/test_spacy_jpn.py index 1abae08a7..3c7a2285c 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_jpn.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_jpn.py @@ -21,12 +21,12 @@ def test_spacy_jpn(): test_spacy.wl_test_spacy( lang = 'jpn', - results_sentence_tokenize_trf = ['日本語(にほんご、にっぽんご[注釈 2]、英語:', 'Japanese language)は、日本国内や、かつての日本領だった国、そして国外移民や移住者を含む日本人同士の間で使用されている言語。', '日本は法令によって公用語を規定していないが、法令その他の公用文は全て日本語で記述され、各種法令[注釈 3]において日本語を用いることが規定され、学校教育においては「国語」の教科として学習を行うなど、事実上日本国内において唯一の公用語となっている。'], - results_word_tokenize = ['日本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', '、', '英語', ':', 'Japanese', 'language', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'], - results_pos_tag = [('日本', '名詞-固有名詞-地名-国'), ('語', '名詞-普通名詞-一般'), ('(', '補助記号-括弧開'), ('にほん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('、', '補助記号-読点'), ('にっぽん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('[', '補助記号-括弧開'), ('注釈', '名詞-普通名詞-サ変可能'), ('2', '名詞-数詞'), (']', '補助記号-括弧閉'), ('、', '補助記号-読点'), ('英語', '名詞-普通名詞-一般'), (':', '補助記号-一般'), ('Japanese', '名詞-普通名詞-一般'), ('language', '名詞-普通名詞-一般'), (')', '補助記号-括弧閉'), ('は', '助詞-係助詞'), ('、', '補助記号-読点'), ('日本', '名詞-固有名詞-地名-国'), ('国', '接尾辞-名詞的-一般'), ('内', '接尾辞-名詞的-一般'), ('や', '助詞-副助詞'), ('、', '補助記号-読点'), ('かつて', '副詞'), ('の', '助詞-格助詞'), ('日本', '名詞-固有名詞-地名-国'), ('領', '接尾辞-名詞的-一般'), ('だっ', '助動詞'), ('た', '助動詞'), ('国', '名詞-普通名詞-一般'), ('、', '補助記号-読点'), ('そして', '接続詞'), ('国外', '名詞-普通名詞-一般'), ('移民', '名詞-普通名詞-サ変可能'), ('や', '助詞-副助詞'), ('移住', '名詞-普通名詞-サ変可能'), ('者', '接尾辞-名詞的-一般'), ('を', '助詞-格助詞'), ('含む', '動詞-一般'), ('日本', '名詞-固有名詞-地名-国'), ('人', '接尾辞-名詞的-一般'), ('同士', '接尾辞-名詞的-一般'), ('の', '助詞-格助詞'), ('間', '名詞-普通名詞-副詞可能'), ('で', '助詞-格助詞'), ('使用', '名詞-普通名詞-サ変可能'), ('さ', '動詞-非自立可能'), ('れ', '助動詞'), ('て', '助詞-接続助詞'), ('いる', '動詞-非自立可能'), ('言語', '名詞-普通名詞-一般'), ('。', '補助記号-句点')], - results_pos_tag_universal = [('日本', 'PROPN'), ('語', 'NOUN'), ('(', 'PUNCT'), ('にほん', 'PROPN'), ('ご', 'NOUN'), ('、', 'PUNCT'), ('にっぽん', 'PROPN'), ('ご', 'NOUN'), ('[', 'PUNCT'), ('注釈', 'NOUN'), ('2', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('英語', 'NOUN'), (':', 'SYM'), ('Japanese', 'PROPN'), ('language', 'NOUN'), (')', 'PUNCT'), ('は', 'ADP'), ('、', 'PUNCT'), ('日本', 'PROPN'), ('国', 'NOUN'), ('内', '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', ']', '、', '英語', ':', 'Japanese', 'language', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', 'する', 'れる', 'て', 'いる', '言語', '。'], - results_dependency_parse = [('日本', '語', 'compound', 1), ('語', '語', 'ROOT', 0), ('(', '語', 'punct', -1), ('にほん', '語', 'compound', -2), ('ご', '語', 'compound', -3), ('、', 'ご', 'punct', -1), ('にっぽん', 'ご', 'compound', 1), ('ご', '語', 'case', -6), ('[', 'ご', 'punct', -1), ('注釈', 'ご', 'compound', -2), ('2', '語', 'dep', -9), (']', '語', 'punct', -10), ('、', '語', 'punct', -11), ('英語', '語', 'case', -12), (':', '英語', 'dep', -1), ('Japanese', 'language', 'compound', 1), ('language', '言語', 'nsubj', 36), (')', 'language', 'punct', -1), ('は', 'language', 'case', -2), ('、', 'language', 'punct', -3), ('日本', '国', 'compound', 1), ('国', '内', 'nmod', 1), ('内', '国', 'nmod', 9), ('や', '内', 'case', -1), ('、', '内', 'punct', -2), ('かつて', '領', 'advmod', 3), ('の', 'かつて', 'case', -1), ('日本', '領', 'compound', 1), ('領', '国', 'acl', 3), ('だっ', '領', 'cop', -1), ('た', '領', 'aux', -2), ('国', '同士', 'nmod', 12), ('、', '国', 'punct', -1), ('そして', '同士', 'cc', 10), ('国外', '移民', '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_sentence_tokenize_trf = ['日本語(にほんご、にっぽんご[注釈 2])は、日本国内や、かつての日本領だった国、そして国外移民や移住者を含む日本人同士の間で使用されている言語。', '日本は法令によって公用語を規定していないが、法令その他の公用文は全て日本語で記述され、各種法令[注釈 3]において日本語を用いることが規定され、学校教育においては「国語」の教科として学習を行うなど、事実上日本国内において唯一の公用語となっている。'], + results_word_tokenize = ['日本', '語', '(', 'にほん', 'ご', '、', 'にっぽん', 'ご', '[', '注釈', '2', ']', ')', 'は', '、', '日本', '国', '内', 'や', '、', 'かつて', 'の', '日本', '領', 'だっ', 'た', '国', '、', 'そして', '国外', '移民', 'や', '移住', '者', 'を', '含む', '日本', '人', '同士', 'の', '間', 'で', '使用', 'さ', 'れ', 'て', 'いる', '言語', '。'], + results_pos_tag = [('日本', '名詞-固有名詞-地名-国'), ('語', '名詞-普通名詞-一般'), ('(', '補助記号-括弧開'), ('にほん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('、', '補助記号-読点'), ('にっぽん', '名詞-固有名詞-地名-国'), ('ご', '接尾辞-名詞的-一般'), ('[', '補助記号-括弧開'), ('注釈', '名詞-普通名詞-サ変可能'), ('2', '名詞-数詞'), (']', '補助記号-括弧閉'), (')', '補助記号-括弧閉'), ('は', '助詞-係助詞'), ('、', '補助記号-読点'), ('日本', '名詞-固有名詞-地名-国'), ('国', '接尾辞-名詞的-一般'), ('内', '接尾辞-名詞的-一般'), ('や', '助詞-副助詞'), ('、', '補助記号-読点'), ('かつて', '副詞'), ('の', '助詞-格助詞'), ('日本', '名詞-固有名詞-地名-国'), ('領', '接尾辞-名詞的-一般'), ('だっ', '助動詞'), ('た', '助動詞'), ('国', '名詞-普通名詞-一般'), ('、', '補助記号-読点'), ('そして', '接続詞'), ('国外', '名詞-普通名詞-一般'), ('移民', '名詞-普通名詞-サ変可能'), ('や', '助詞-副助詞'), ('移住', '名詞-普通名詞-サ変可能'), ('者', '接尾辞-名詞的-一般'), ('を', '助詞-格助詞'), ('含む', '動詞-一般'), ('日本', '名詞-固有名詞-地名-国'), ('人', '接尾辞-名詞的-一般'), ('同士', '接尾辞-名詞的-一般'), ('の', '助詞-格助詞'), ('間', '名詞-普通名詞-副詞可能'), ('で', '助詞-格助詞'), ('使用', '名詞-普通名詞-サ変可能'), ('さ', '動詞-非自立可能'), ('れ', '助動詞'), ('て', '助詞-接続助詞'), ('いる', '動詞-非自立可能'), ('言語', '名詞-普通名詞-一般'), ('。', '補助記号-句点')], + results_pos_tag_universal = [('日本', 'PROPN'), ('語', 'NOUN'), ('(', 'PUNCT'), ('にほん', 'PROPN'), ('ご', 'NOUN'), ('、', 'PUNCT'), ('にっぽん', 'PROPN'), ('ご', 'NOUN'), ('[', 'PUNCT'), ('注釈', 'NOUN'), ('2', 'NUM'), (']', 'PUNCT'), (')', 'PUNCT'), ('は', 'ADP'), ('、', 'PUNCT'), ('日本', 'PROPN'), ('国', 'NOUN'), ('内', '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', 1), ('語', '言語', 'nsubj', 46), ('(', '語', 'punct', -1), ('にほん', '語', 'compound', -2), ('ご', '語', 'compound', -3), ('、', '語', 'punct', -4), ('にっぽん', '語', 'compound', -5), ('ご', '語', 'compound', -6), ('[', 'ご', 'punct', -1), ('注釈', '語', 'compound', -8), ('2', '語', 'compound', -9), (']', '語', 'punct', -10), (')', '語', 'punct', -11), ('は', '語', 'case', -12), ('、', '語', 'punct', -13), ('日本', '国', 'compound', 1), ('国', '内', 'nmod', 1), ('内', '国', 'nmod', 9), ('や', '内', 'case', -1), ('、', '内', 'punct', -2), ('かつて', '領', 'advmod', 3), ('の', 'かつて', 'case', -1), ('日本', '領', 'compound', 1), ('領', '国', 'acl', 3), ('だっ', '領', 'cop', -1), ('た', '領', 'aux', -2), ('国', '同士', 'nmod', 12), ('、', '国', 'punct', -1), ('そして', '移民', 'cc', 2), ('国外', '移民', '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_spacy/test_spacy_kor.py b/tests/tests_nlp/tests_spacy/test_spacy_kor.py index 1400b2bb0..5c37e562f 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_kor.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_kor.py @@ -19,17 +19,17 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_kor(): - results_sentence_tokenize = ['한국어(韓國語)는 대한민국과 조선민주주의인민공화국의 공용어이다.', '조선말, 한국말, 조선어로도 불린다.'] + results_sentence_tokenize = ['세계 여러 지역에 한민족 인구가 거주하게 되면서 전 세계 각지에서 한국어가 사용 되고 있다.', '2016년 1월 초 기준으로 한국어 사용 인구는 약 8,000만 명으로 추산된다.[1]'] test_spacy.wl_test_spacy( lang = 'kor', results_sentence_tokenize_trf = results_sentence_tokenize, results_sentence_tokenize_lg = results_sentence_tokenize, - results_word_tokenize = ['한국어', '(', '韓國語', ')', '는', '대한민국과', '조선민주주의인민공화국의', '공용어이다', '.'], - results_pos_tag = [('한국어', 'nq'), ('(', 'sl'), ('韓國語', 'nq'), (')', 'sr'), ('는', 'jxt'), ('대한민국과', 'nq+ncn+jcj'), ('조선민주주의인민공화국의', 'nq+ncn+jcm'), ('공용어이다', 'ncn+jp+ef'), ('.', 'sf')], - results_pos_tag_universal = [('한국어', 'PROPN'), ('(', 'PUNCT'), ('韓國語', 'PROPN'), (')', 'PUNCT'), ('는', 'ADP'), ('대한민국과', 'CCONJ'), ('조선민주주의인민공화국의', 'PROPN'), ('공용어이다', 'VERB'), ('.', 'PUNCT')], - results_lemmatize = ['한국어', '(', '韓國語', ')', '는', '대한+민국+과', '조선민주주의인민+공화국+의', '공용어+이+다', '.'], - results_dependency_parse = [('한국어', '공용어이다', 'dislocated', 7), ('(', '韓國語', 'punct', 1), ('韓國語', '한국어', 'appos', -2), (')', '韓國語', 'punct', -1), ('는', '한국어', 'case', -4), ('대한민국과', '공용어이다', 'nmod', 2), ('조선민주주의인민공화국의', '대한민국과', 'conj', -1), ('공용어이다', '공용어이다', 'ROOT', 0), ('.', '공용어이다', 'punct', -1)] + results_word_tokenize = ['세계', '여러', '지역에', '한민족', '인구가', '거주하게', '되면서', '전', '세계', '각지에서', '한국어가', '사용', '되고', '있다', '.'], + results_pos_tag = [('세계', 'ncn'), ('여러', 'mma'), ('지역에', 'ncn+jca'), ('한민족', 'ncn'), ('인구가', 'ncn+jcs'), ('거주하게', 'ncpa+xsv+ecx'), ('되면서', 'px+ecc'), ('전', 'mma'), ('세계', 'ncn'), ('각지에서', 'ncn+jca'), ('한국어가', 'ncn+jcs'), ('사용', 'ncpa'), ('되고', 'pvg+ecx'), ('있다', 'px+ef'), ('.', 'sf')], + results_pos_tag_universal = [('세계', 'NOUN'), ('여러', 'ADJ'), ('지역에', 'ADV'), ('한민족', 'NOUN'), ('인구가', 'NOUN'), ('거주하게', 'VERB'), ('되면서', 'CCONJ'), ('전', 'ADJ'), ('세계', 'NOUN'), ('각지에서', 'ADV'), ('한국어가', 'NOUN'), ('사용', 'NOUN'), ('되고', 'VERB'), ('있다', 'AUX'), ('.', 'PUNCT')], + results_lemmatize = ['세계', '여러', '지역+에', '한민족', '인구+가', '거주+하+게', '되+면서', '전', '세계', '각지+에서', '한국어+가', '사용', '되+고', '있+다', '.'], + results_dependency_parse = [('세계', '지역에', 'compound', 2), ('여러', '지역에', 'amod', 1), ('지역에', '거주하게', 'obl', 3), ('한민족', '인구가', 'compound', 1), ('인구가', '거주하게', 'nsubj', 1), ('거주하게', '거주하게', 'ROOT', 0), ('되면서', '거주하게', 'aux', -1), ('전', '세계', 'amod', 1), ('세계', '각지에서', 'compound', 1), ('각지에서', '되고', 'advcl', 3), ('한국어가', '사용', 'nsubj', 1), ('사용', '되고', 'dep', 1), ('되고', '거주하게', 'conj', -7), ('있다', '되고', 'aux', -1), ('.', '있다', 'punct', -1)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_nob.py b/tests/tests_nlp/tests_spacy/test_spacy_nob.py index 91d67c1f0..5133ea627 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_nob.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_nob.py @@ -19,17 +19,17 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_nob(): - results_pos_tag = [('Bokmål', 'PROPN'), ('er', 'AUX'), ('en', 'DET'), ('varietet', 'NOUN'), ('av', 'ADP'), ('norsk', 'ADJ'), ('skriftspråk', 'NOUN'), ('.', 'PUNCT')] + results_pos_tag = [('Bokmål', 'PROPN'), ('er', 'AUX'), ('en', 'DET'), ('av', 'ADP'), ('to', 'NUM'), ('offisielle', 'ADJ'), ('målformer', 'NOUN'), ('av', 'ADP'), ('norsk', 'ADJ'), ('skriftspråk', 'NOUN'), (',', 'PUNCT'), ('hvorav', 'ADV'), ('den', 'DET'), ('andre', 'DET'), ('er', 'AUX'), ('nynorsk', 'NOUN'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'nob', - results_sentence_tokenize_trf = ['Bokmål er en varietet av norsk skriftspråk.', '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.'], - results_sentence_tokenize_lg = ['Bokmål er en varietet av norsk skriftspråk.', '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.'], - results_word_tokenize = ['Bokmål', 'er', 'en', 'varietet', 'av', 'norsk', 'skriftspråk', '.'], + results_sentence_tokenize_trf = ['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.'], + results_sentence_tokenize_lg = ['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.'], + results_word_tokenize = ['Bokmål', 'er', 'en', 'av', 'to', 'offisielle', 'målformer', 'av', 'norsk', 'skriftspråk', ',', 'hvorav', 'den', 'andre', 'er', 'nynorsk', '.'], results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, - results_lemmatize = ['bokmål', 'være', 'en', 'varietet', 'av', 'norsk', 'skriftspråk', '$.'], - results_dependency_parse = [('Bokmål', 'varietet', 'nsubj', 3), ('er', 'varietet', 'cop', 2), ('en', 'varietet', 'det', 1), ('varietet', 'varietet', 'ROOT', 0), ('av', 'skriftspråk', 'case', 2), ('norsk', 'skriftspråk', 'amod', 1), ('skriftspråk', 'varietet', 'nmod', -3), ('.', 'varietet', 'punct', -4)] + results_lemmatize = ['bokmål', 'være', 'en', 'av', 'to', 'offisiell', 'målform', 'av', 'norsk', 'skriftspråk', '$,', 'hvorav', 'den', 'annen', 'være', 'nynorsk', '$.'], + results_dependency_parse = [('Bokmål', 'en', 'nsubj', 2), ('er', 'en', 'cop', 1), ('en', 'en', 'ROOT', 0), ('av', 'målformer', 'case', 3), ('to', 'målformer', 'nummod', 2), ('offisielle', 'målformer', 'amod', 1), ('målformer', 'en', 'nmod', -4), ('av', 'skriftspråk', 'case', 2), ('norsk', 'skriftspråk', 'amod', 1), ('skriftspråk', 'målformer', 'nmod', -3), (',', 'nynorsk', 'punct', 5), ('hvorav', 'nynorsk', 'advmod', 4), ('den', 'andre', 'det', 1), ('andre', 'nynorsk', 'nsubj', 2), ('er', 'nynorsk', 'cop', 1), ('nynorsk', 'en', 'amod', -13), ('.', 'en', 'punct', -14)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_rus.py b/tests/tests_nlp/tests_spacy/test_spacy_rus.py index 5116b2ed5..fcd6af7f5 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_rus.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_rus.py @@ -19,18 +19,18 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_rus(): - results_sentence_tokenize = ['Ру́сский язы́к ([ˈruskʲɪi̯ jɪˈzɨk] Информация о файле слушать)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] - results_pos_tag = [('Ру́сский', 'ADJ'), ('язы́к', 'PROPN'), ('(', 'PUNCT'), ('[', 'PUNCT'), ('ˈruskʲɪi̯', 'X'), ('jɪˈzɨk', 'X'), (']', 'PUNCT'), ('Информация', 'NOUN'), ('о', 'ADP'), ('файле', 'NOUN'), ('слушать)[~', 'PROPN'), ('3', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('⇨', 'PROPN'), (']', 'PUNCT'), ('—', 'PUNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT')] + results_sentence_tokenize = ['Ру́сский язы́к (МФА: [ˈruskʲɪi̯ jɪˈzɨk]ⓘ)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] + results_pos_tag = [('Ру́сский', 'ADJ'), ('язы́к', 'PROPN'), ('(', 'PUNCT'), ('МФА', 'PROPN'), (':', 'PUNCT'), ('[', 'PUNCT'), ('ˈruskʲɪi̯', 'PUNCT'), ('jɪˈzɨk]', 'PROPN'), ('ⓘ', 'PUNCT'), (')[~', 'PUNCT'), ('3', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('⇨', 'PROPN'), (']', 'PUNCT'), ('—', 'PUNCT'), ('язык', 'NOUN'), ('восточнославянской', 'ADJ'), ('группы', 'NOUN'), ('славянской', 'ADJ'), ('ветви', 'NOUN'), ('индоевропейской', 'ADJ'), ('языковой', 'ADJ'), ('семьи', 'NOUN'), (',', 'PUNCT'), ('национальный', 'ADJ'), ('язык', 'NOUN'), ('русского', 'ADJ'), ('народа', 'NOUN'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'rus', results_sentence_tokenize_trf = results_sentence_tokenize, results_sentence_tokenize_lg = results_sentence_tokenize, - results_word_tokenize = ['Ру́сский', 'язы́к', '(', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk', ']', 'Информация', 'о', 'файле', 'слушать)[~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'], + results_word_tokenize = ['Ру́сский', 'язы́к', '(', 'МФА', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk]', 'ⓘ', ')[~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянской', 'группы', 'славянской', 'ветви', 'индоевропейской', 'языковой', 'семьи', ',', 'национальный', 'язык', 'русского', 'народа', '.'], 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), ('язы́к', 'язык', 'nsubj', 16), ('(', 'ˈruskʲɪi̯', 'punct', 2), ('[', 'ˈruskʲɪi̯', 'punct', 1), ('ˈruskʲɪi̯', 'язы́к', 'parataxis', -3), ('jɪˈzɨk', 'ˈruskʲɪi̯', 'flat:foreign', -1), (']', 'ˈruskʲɪi̯', 'punct', -2), ('Информация', 'язы́к', 'appos', -6), ('о', 'файле', 'case', 1), ('файле', 'Информация', 'nmod', -2), ('слушать)[~', 'файле', 'nmod', -1), ('3', 'слушать)[~', 'appos', -1), (']', 'Информация', 'punct', -5), ('[', '⇨', 'punct', 1), ('⇨', 'Информация', 'appos', -7), (']', '⇨', 'punct', -1), ('—', 'язык', 'punct', 1), ('язык', 'язык', 'ROOT', 0), ('восточнославянской', 'группы', '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', -13)] + results_lemmatize = ['ру́сский', 'язы́к', '(', 'мфа', ':', '[', 'ˈruskʲɪi̯', 'jɪˈzɨk]', 'ⓘ', ')[~', '3', ']', '[', '⇨', ']', '—', 'язык', 'восточнославянский', 'группа', 'славянский', 'ветвь', 'индоевропейский', 'языковой', 'семья', ',', 'национальный', 'язык', 'русский', 'народ', '.'], + results_dependency_parse = [('Ру́сский', 'язы́к', 'amod', 1), ('язы́к', 'язы́к', 'ROOT', 0), ('(', 'МФА', 'punct', 1), ('МФА', 'язы́к', 'appos', -2), (':', 'МФА', 'punct', -1), ('[', 'ˈruskʲɪi̯', 'punct', 1), ('ˈruskʲɪi̯', 'МФА', 'parataxis', -3), ('jɪˈzɨk]', 'МФА', 'appos', -4), ('ⓘ', 'МФА', 'punct', -5), (')[~', 'МФА', 'punct', -6), ('3', 'МФА', 'appos', -7), (']', 'МФА', 'punct', -8), ('[', '⇨', 'punct', 1), ('⇨', 'МФА', 'appos', -10), (']', '⇨', 'punct', -1), ('—', 'язык', 'punct', 1), ('язык', 'МФА', 'appos', -13), ('восточнославянской', 'группы', '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', -28)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_slv.py b/tests/tests_nlp/tests_spacy/test_spacy_slv.py index 06d874647..8f906a0f4 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_slv.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_slv.py @@ -21,13 +21,12 @@ def test_spacy_slv(): test_spacy.wl_test_spacy( lang = 'slv', - results_sentence_tokenize_trf = ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije', '1848.', 'Do takrat smo uporabljali bohoričico.'], - results_sentence_tokenize_lg = [], + results_sentence_tokenize_trf = ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', 'Glede na število govorcev ima razmeroma veliko narečij.', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po hrvaškem jezikoslovcu Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', 'Slovenska gajica se imenuje slovenica.', 'Pišemo jo od marčne revolucije', '1848.', 'Do takrat smo uporabljali bohoričico.'], results_word_tokenize = ['Slovenščina', '[', 'sloˈʋenʃtʃina', ']', 'je', 'združeni', 'naziv', 'za', 'uradni', 'knjižni', 'jezik', 'Slovencev', 'in', 'skupno', 'ime', 'za', 'narečja', 'in', 'govore', ',', 'ki', 'jih', 'govorijo', 'ali', 'so', 'jih', 'nekoč', 'govorili', 'Slovenci', '.'], - results_pos_tag = [('Slovenščina', 'Ncfsn'), ('[', 'Z'), ('sloˈʋenʃtʃina', 'Xf'), (']', 'Z'), ('je', 'Va-r3s-n'), ('združeni', 'Appmsny'), ('naziv', 'Ncmsn'), ('za', 'Sa'), ('uradni', 'Agpmsay'), ('knjižni', 'Agpmsay'), ('jezik', 'Ncmsan'), ('Slovencev', 'Npmpg'), ('in', 'Cc'), ('skupno', 'Agpnsn'), ('ime', 'Ncnsn'), ('za', 'Sa'), ('narečja', 'Ncnpa'), ('in', 'Cc'), ('govore', 'Ncmpa'), (',', 'Z'), ('ki', 'Cs'), ('jih', 'Pp3mpa--y'), ('govorijo', 'Vmpr3p'), ('ali', 'Cc'), ('so', 'Va-r3p-n'), ('jih', 'Pp3mpa--y'), ('nekoč', 'Rgp'), ('govorili', 'Vmpp-pm'), ('Slovenci', 'Npmpn'), ('.', 'Z')], - results_pos_tag_universal = [('Slovenščina', 'NOUN'), ('[', 'PUNCT'), ('sloˈʋenʃtʃina', 'X'), (']', 'PUNCT'), ('je', 'AUX'), ('združeni', 'ADJ'), ('naziv', 'NOUN'), ('za', 'ADP'), ('uradni', 'ADJ'), ('knjižni', 'ADJ'), ('jezik', 'NOUN'), ('Slovencev', 'PROPN'), ('in', 'CCONJ'), ('skupno', 'ADJ'), ('ime', 'NOUN'), ('za', 'ADP'), ('narečja', 'NOUN'), ('in', 'CCONJ'), ('govore', 'NOUN'), (',', 'PUNCT'), ('ki', 'SCONJ'), ('jih', 'PRON'), ('govorijo', 'VERB'), ('ali', 'CCONJ'), ('so', 'AUX'), ('jih', 'PRON'), ('nekoč', 'ADV'), ('govorili', 'VERB'), ('Slovenci', 'PROPN'), ('.', 'PUNCT')], - results_lemmatize = ['slovenščina', '[', 'sloˈʋenʃtʃina', ']', 'biti', 'združen', 'naziv', 'za', 'uraden', 'knjižen', 'jezik', 'Slovenec', 'in', 'skupen', 'ime', 'za', 'narečje', 'in', 'govor', ',', 'ki', 'on', 'govoriti', 'ali', 'biti', 'on', 'nekoč', 'govoriti', 'Slovenec', '.'], - results_dependency_parse = [('Slovenščina', 'naziv', 'nsubj', 6), ('[', 'sloˈʋenʃtʃina', 'punct', 1), ('sloˈʋenʃtʃina', 'Slovenščina', 'appos', -2), (']', 'sloˈʋenʃtʃina', 'punct', -1), ('je', 'naziv', 'cop', 2), ('združeni', 'naziv', 'amod', 1), ('naziv', 'naziv', 'ROOT', 0), ('za', 'jezik', 'case', 3), ('uradni', 'jezik', 'amod', 2), ('knjižni', 'jezik', 'amod', 1), ('jezik', 'naziv', 'nmod', -4), ('Slovencev', 'jezik', 'nmod', -1), ('in', 'ime', 'cc', 2), ('skupno', 'ime', 'amod', 1), ('ime', 'naziv', 'conj', -8), ('za', 'narečja', 'case', 1), ('narečja', 'ime', 'nmod', -2), ('in', 'govore', 'cc', 1), ('govore', 'narečja', 'conj', -2), (',', 'govorijo', 'punct', 3), ('ki', 'govorijo', 'mark', 2), ('jih', 'govorijo', 'obj', 1), ('govorijo', 'govore', 'acl', -4), ('ali', 'govorili', 'cc', 4), ('so', 'govorili', 'aux', 3), ('jih', 'govorili', 'obj', 2), ('nekoč', 'govorili', 'advmod', 1), ('govorili', 'govorijo', 'conj', -5), ('Slovenci', 'govorili', 'nsubj', -1), ('.', 'naziv', 'punct', -23)] + results_pos_tag = [('Slovenščina', 'Npfsn'), ('[', 'Z'), ('sloˈʋenʃtʃina', 'Xf'), (']', 'Z'), ('je', 'Va-r3s-n'), ('združeni', 'Appmsny'), ('naziv', 'Ncmsn'), ('za', 'Sa'), ('uradni', 'Agpmsay'), ('knjižni', 'Agpmsay'), ('jezik', 'Ncmsan'), ('Slovencev', 'Npmpg'), ('in', 'Cc'), ('skupno', 'Agpnsn'), ('ime', 'Ncnsn'), ('za', 'Sa'), ('narečja', 'Ncnpa'), ('in', 'Cc'), ('govore', 'Ncmpa'), (',', 'Z'), ('ki', 'Cs'), ('jih', 'Pp3mpa--y'), ('govorijo', 'Vmpr3p'), ('ali', 'Cc'), ('so', 'Va-r3p-n'), ('jih', 'Pp3mpa--y'), ('nekoč', 'Rgp'), ('govorili', 'Vmpp-pm'), ('Slovenci', 'Npmpn'), ('.', 'Z')], + results_pos_tag_universal = [('Slovenščina', 'PROPN'), ('[', 'PUNCT'), ('sloˈʋenʃtʃina', 'X'), (']', 'PUNCT'), ('je', 'AUX'), ('združeni', 'ADJ'), ('naziv', 'NOUN'), ('za', 'ADP'), ('uradni', 'ADJ'), ('knjižni', 'ADJ'), ('jezik', 'NOUN'), ('Slovencev', 'PROPN'), ('in', 'CCONJ'), ('skupno', 'ADJ'), ('ime', 'NOUN'), ('za', 'ADP'), ('narečja', 'NOUN'), ('in', 'CCONJ'), ('govore', 'NOUN'), (',', 'PUNCT'), ('ki', 'SCONJ'), ('jih', 'PRON'), ('govorijo', 'VERB'), ('ali', 'CCONJ'), ('so', 'AUX'), ('jih', 'PRON'), ('nekoč', 'ADV'), ('govorili', 'VERB'), ('Slovenci', 'PROPN'), ('.', 'PUNCT')], + results_lemmatize = ['Slovenščina', '[', 'sloˈʋenʃtʃina', ']', 'biti', 'združen', 'naziv', 'za', 'uraden', 'knjižen', 'jezik', 'Slovenec', 'in', 'skupen', 'ime', 'za', 'narečje', 'in', 'govor', ',', 'ki', 'on', 'govoriti', 'ali', 'biti', 'on', 'nekoč', 'govoriti', 'Slovenec', '.'], + results_dependency_parse = [('Slovenščina', 'naziv', 'nsubj', 6), ('[', 'sloˈʋenʃtʃina', 'punct', 1), ('sloˈʋenʃtʃina', 'Slovenščina', 'appos', -2), (']', 'sloˈʋenʃtʃina', 'punct', -1), ('je', 'naziv', 'cop', 2), ('združeni', 'naziv', 'amod', 1), ('naziv', 'naziv', 'ROOT', 0), ('za', 'jezik', 'case', 3), ('uradni', 'jezik', 'amod', 2), ('knjižni', 'jezik', 'amod', 1), ('jezik', 'naziv', 'nmod', -4), ('Slovencev', 'jezik', 'nmod', -1), ('in', 'ime', 'cc', 2), ('skupno', 'ime', 'amod', 1), ('ime', 'jezik', 'conj', -4), ('za', 'narečja', 'case', 1), ('narečja', 'ime', 'nmod', -2), ('in', 'govore', 'cc', 1), ('govore', 'narečja', 'conj', -2), (',', 'govorijo', 'punct', 3), ('ki', 'govorijo', 'mark', 2), ('jih', 'govorijo', 'obj', 1), ('govorijo', 'govore', 'acl', -4), ('ali', 'govorili', 'cc', 4), ('so', 'govorili', 'aux', 3), ('jih', 'govorili', 'obj', 2), ('nekoč', 'govorili', 'advmod', 1), ('govorili', 'govorijo', 'conj', -5), ('Slovenci', 'govorili', 'nsubj', -1), ('.', 'naziv', 'punct', -23)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_spa.py b/tests/tests_nlp/tests_spacy/test_spacy_spa.py index d27d82df7..1a3374af0 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_spa.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_spa.py @@ -23,13 +23,12 @@ def test_spacy_spa(): test_spacy.wl_test_spacy( lang = 'spa', - results_sentence_tokenize_trf = ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b32\u200b33\u200b en algunas áreas rurales e indígenas de América,34\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.35\u200b36\u200b37\u200b38\u200b39\u200b40\u200b'], - results_sentence_tokenize_lg = [], + results_sentence_tokenize_trf = ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', 'Se conoce también informalmente como castillan.', '1\u200b33\u200b34\u200b en algunas áreas rurales e indígenas de América,35\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.36\u200b37\u200b38\u200b39\u200b40\u200b41\u200b'], results_word_tokenize = ['El', 'español', 'o', 'castellano', 'es', 'una', 'lengua', 'romance', 'procedente', 'del', 'latín', 'hablado', ',', 'perteneciente', 'a', 'la', 'familia', 'de', 'lenguas', 'indoeuropeas', '.'], results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, results_lemmatize = ['el', 'español', 'o', 'castellano', 'ser', 'uno', 'lengua', 'romance', 'procedente', 'del', 'latín', 'hablado', ',', 'perteneciente', 'a', 'el', 'familia', 'de', 'lengua', 'indoeuropea', '.'], - 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), ('del', 'latín', 'case', 1), ('latín', 'procedente', 'nmod', -2), ('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', -14)] + 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), ('del', 'latín', 'case', 1), ('latín', 'procedente', 'nmod', -2), ('hablado', 'latín', 'amod', -1), (',', 'perteneciente', 'punct', 1), ('perteneciente', 'lengua', 'amod', -7), ('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', -14)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_ukr.py b/tests/tests_nlp/tests_spacy/test_spacy_ukr.py index dd0c75f93..817d3df31 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_ukr.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_ukr.py @@ -19,17 +19,16 @@ from tests.tests_nlp.tests_spacy import test_spacy def test_spacy_ukr(): - results_pos_tag = [('Украї́нська', 'ADJ'), ('мо́ва', 'NOUN'), ('(', 'PUNCT'), ('МФА', 'NOUN'), (':', 'PUNCT'), ('[', 'PUNCT'), ('ukrɑ̽ˈjɪnʲsʲkɑ̽', 'X'), ('ˈmɔwɑ̽', 'X'), (']', 'PUNCT'), (',', 'PUNCT'), ('історичні', 'ADJ'), ('назви', 'NOUN'), ('—', 'PUNCT'), ('ру́ська[10][11][12', 'SYM'), (']', 'PUNCT'), ('[', 'SYM'), ('*', 'SYM'), ('1', 'NUM'), (']', 'PUNCT'), (')', 'SYM'), ('—', 'PUNCT'), ('національна', 'ADJ'), ('мова', 'NOUN'), ('українців', 'NOUN'), ('.', 'PUNCT')] + results_pos_tag = [('Украї́нська', 'ADJ'), ('мо́ва', 'NOUN'), ('(', 'PUNCT'), ('МФА', 'NOUN'), (':', 'PUNCT'), ('[', 'PUNCT'), ('ukrɑ̽ˈjɪnʲsʲkɑ̽', 'X'), ('ˈmɔwɑ̽', 'X'), (']', 'PUNCT'), (',', 'PUNCT'), ('історичні', 'ADJ'), ('назви', 'NOUN'), ('—', 'PUNCT'), ('ру́ська[10][11][12', 'SYM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('*', 'SYM'), ('1', 'NUM'), (']', 'PUNCT'), (')', 'PUNCT'), ('—', 'PUNCT'), ('національна', 'ADJ'), ('мова', 'NOUN'), ('українців', 'NOUN'), ('.', 'PUNCT')] test_spacy.wl_test_spacy( lang = 'ukr', results_sentence_tokenize_trf = ['Украї́нська мо́ва (МФА: [ukrɑ̽ˈjɪnʲsʲkɑ̽ ˈmɔwɑ̽], історичні назви — ру́ська[10][11][12][* 1]) — національна мова українців.', "Належить до східнослов'янської групи слов'янських мов, що входять до індоєвропейської мовної сім'ї, поряд з романськими, германськими, кельтськими, грецькою, албанською, вірменською та найближче спорідненими зі слов'янськими балтійськими мовами[13][14][* 2].", 'Є державною мовою в Україні[13][15].'], - results_sentence_tokenize_lg = [], results_word_tokenize = ['Украї́нська', 'мо́ва', '(', 'МФА', ':', '[', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'ˈmɔwɑ̽', ']', ',', 'історичні', 'назви', '—', 'ру́ська[10][11][12', ']', '[', '*', '1', ']', ')', '—', 'національна', 'мова', 'українців', '.'], results_pos_tag = results_pos_tag, results_pos_tag_universal = results_pos_tag, results_lemmatize = ['украї́нська', 'мо́ва', '(', 'мфа', ':', '[', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'ˈmɔwɑ̽', ']', ',', 'історичний', 'назва', '—', 'ру́ська[10][11][12', ']', '[', '*', '1', ']', ')', '—', 'національний', 'мова', 'українець', '.'], - results_dependency_parse = [('Украї́нська', 'мо́ва', 'amod', 1), ('мо́ва', 'мова', 'nsubj', 21), ('(', 'МФА', 'punct', 1), ('МФА', 'мо́ва', 'parataxis', -2), (':', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', 2), ('[', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', 1), ('ukrɑ̽ˈjɪnʲsʲkɑ̽', 'МФА', 'parataxis', -3), ('ˈmɔwɑ̽', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'flat:foreign', -1), (']', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', -2), (',', 'назви', 'punct', 2), ('історичні', 'назви', 'amod', 1), ('назви', 'МФА', 'parataxis', -8), ('—', 'ру́ська[10][11][12', 'punct', 1), ('ру́ська[10][11][12', 'МФА', 'parataxis', -10), (']', 'ру́ська[10][11][12', 'punct', -1), ('[', 'МФА', 'punct', -12), ('*', '1', 'punct', 1), ('1', 'МФА', 'parataxis', -14), (']', 'МФА', 'punct', -15), (')', 'МФА', 'punct', -16), ('—', 'мова', 'punct', 2), ('національна', 'мова', 'amod', 1), ('мова', 'мова', 'ROOT', 0), ('українців', 'мова', 'nmod', -1), ('.', 'мова', 'punct', -2)] + results_dependency_parse = [('Украї́нська', 'мо́ва', 'amod', 1), ('мо́ва', 'мова', 'nsubj', 21), ('(', 'МФА', 'punct', 1), ('МФА', 'мо́ва', 'parataxis', -2), (':', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', 2), ('[', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', 1), ('ukrɑ̽ˈjɪnʲsʲkɑ̽', 'МФА', 'appos', -3), ('ˈmɔwɑ̽', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'flat:foreign', -1), (']', 'ukrɑ̽ˈjɪnʲsʲkɑ̽', 'punct', -2), (',', 'назви', 'punct', 2), ('історичні', 'назви', 'amod', 1), ('назви', 'МФА', 'parataxis', -8), ('—', 'ру́ська[10][11][12', 'punct', 1), ('ру́ська[10][11][12', 'МФА', 'parataxis', -10), (']', 'МФА', 'punct', -11), ('[', '*', 'punct', 1), ('*', 'МФА', 'discourse', -13), ('1', '*', 'flat:title', -1), (']', '*', 'punct', -2), (')', 'МФА', 'punct', -16), ('—', 'мова', 'punct', 2), ('національна', 'мова', 'amod', 1), ('мова', 'мова', 'ROOT', 0), ('українців', 'мова', 'nmod', -1), ('.', 'мова', 'punct', -2)] ) if __name__ == '__main__': diff --git a/tests/tests_nlp/tests_spacy/test_spacy_zho.py b/tests/tests_nlp/tests_spacy/test_spacy_zho.py index 5bd4e53d8..639e0d73f 100644 --- a/tests/tests_nlp/tests_spacy/test_spacy_zho.py +++ b/tests/tests_nlp/tests_spacy/test_spacy_zho.py @@ -23,13 +23,12 @@ def test_spacy_zho(): test_spacy.wl_test_spacy( lang = 'zho_cn', - results_sentence_tokenize_trf = ['汉语又称中文、华语[6]、唐话[7],概指由上古汉语(先秦雅言)发展而来、书面使用汉字的分析语,为汉藏语系最大的一支语族。', '如把整个汉语族视为单一语言,则汉语为世界使用人数最多的语言,目前全世界有五分之一人口将汉语做为母语或第二语言。'], - results_sentence_tokenize_lg = [], + results_sentence_tokenize_trf = ['汉语又称中文、华语[6]、唐话[7],概指由上古汉语(先秦雅言)发展而来、书面使用汉字的分析语,为汉藏语系最大的一支语族。如把整个汉语族视为单一语言,则汉语为世界使用人数最多的语言,目前全世界有五分之一人口将汉语做为母语或第二语言。'], results_word_tokenize = results_word_tokenize, - results_pos_tag = [('汉语', 'NN'), ('又', 'AD'), ('称', 'VV'), ('中文', 'NN'), ('、', 'PU'), ('华语', 'NN'), ('[6', 'CD'), (']', 'PU'), ('、', 'PU'), ('唐话', 'NN'), ('[', 'PU'), ('7', 'CD'), (']', 'PU'), (',', 'PU'), ('概指', 'VV'), ('由', 'P'), ('上古', 'JJ'), ('汉语', 'NN'), ('(', 'PU'), ('先', 'JJ'), ('秦雅言', 'NN'), (')', 'PU'), ('发展', 'VV'), ('而', 'MSP'), ('来', 'VV'), ('、', 'PU'), ('书面', 'AD'), ('使用', 'VV'), ('汉字', 'NN'), ('的', 'DEC'), ('分析语', 'NN'), (',', 'PU'), ('为', 'VC'), ('汉藏', 'NR'), ('语系', 'NN'), ('最', 'AD'), ('大', 'VA'), ('的', 'DEC'), ('一', 'CD'), ('支', 'M'), ('语族', 'NN'), ('。', 'PU')], - results_pos_tag_universal = [('汉语', 'NOUN'), ('又', 'ADV'), ('称', 'VERB'), ('中文', 'NOUN'), ('、', 'PUNCT'), ('华语', 'NOUN'), ('[6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐话', 'NOUN'), ('[', 'PUNCT'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概指', 'VERB'), ('由', 'ADP'), ('上古', 'ADJ'), ('汉语', 'NOUN'), ('(', 'PUNCT'), ('先', 'ADJ'), ('秦雅言', 'NOUN'), (')', 'PUNCT'), ('发展', 'VERB'), ('而', 'PART'), ('来', 'VERB'), ('、', 'PUNCT'), ('书面', 'ADV'), ('使用', 'VERB'), ('汉字', 'NOUN'), ('的', 'PART'), ('分析语', 'NOUN'), (',', 'PUNCT'), ('为', 'VERB'), ('汉藏', 'PROPN'), ('语系', 'NOUN'), ('最', 'ADV'), ('大', 'VERB'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NUM'), ('语族', 'NOUN'), ('。', 'PUNCT')], + results_pos_tag = [('汉语', 'NN'), ('又', 'AD'), ('称', 'VV'), ('中文', 'NN'), ('、', 'PU'), ('华语', 'NN'), ('[6', 'CD'), (']', 'PU'), ('、', 'PU'), ('唐话', 'NN'), ('[', 'PU'), ('7', 'CD'), (']', 'PU'), (',', 'PU'), ('概指', 'NN'), ('由', 'P'), ('上古', 'NT'), ('汉语', 'NN'), ('(', 'PU'), ('先', 'JJ'), ('秦雅言', 'NR'), (')', 'PU'), ('发展', 'VV'), ('而', 'MSP'), ('来', 'VV'), ('、', 'PU'), ('书面', 'NN'), ('使用', 'VV'), ('汉字', 'NN'), ('的', 'DEG'), ('分析语', 'NN'), (',', 'PU'), ('为', 'VC'), ('汉藏', 'NR'), ('语系', 'NN'), ('最', 'AD'), ('大', 'VA'), ('的', 'DEC'), ('一', 'CD'), ('支', 'M'), ('语族', 'NN'), ('。', 'PU')], + results_pos_tag_universal = [('汉语', 'NOUN'), ('又', 'ADV'), ('称', 'VERB'), ('中文', 'NOUN'), ('、', 'PUNCT'), ('华语', 'NOUN'), ('[6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐话', 'NOUN'), ('[', 'PUNCT'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概指', 'NOUN'), ('由', 'ADP'), ('上古', 'NOUN'), ('汉语', 'NOUN'), ('(', 'PUNCT'), ('先', 'ADJ'), ('秦雅言', 'PROPN'), (')', 'PUNCT'), ('发展', 'VERB'), ('而', 'PART'), ('来', 'VERB'), ('、', 'PUNCT'), ('书面', 'NOUN'), ('使用', 'VERB'), ('汉字', 'NOUN'), ('的', 'PART'), ('分析语', 'NOUN'), (',', 'PUNCT'), ('为', 'VERB'), ('汉藏', 'PROPN'), ('语系', 'NOUN'), ('最', 'ADV'), ('大', 'VERB'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NUM'), ('语族', 'NOUN'), ('。', 'PUNCT')], results_lemmatize = results_word_tokenize, - results_dependency_parse = [('汉语', '称', 'nsubj', 2), ('又', '称', 'advmod', 1), ('称', '称', 'ROOT', 0), ('中文', '华语', 'conj', 2), ('、', '华语', 'punct', 1), ('华语', '唐话', 'conj', 4), ('[6', '唐话', 'conj', 3), (']', '[6', 'punct', -1), ('、', '唐话', 'punct', 1), ('唐话', '称', 'dobj', -7), ('[', '称', 'punct', -8), ('7', '称', 'dep', -9), (']', '7', 'mark:clf', -1), (',', '称', 'punct', -11), ('概指', '称', 'conj', -12), ('由', '汉语', 'case', 2), ('上古', '汉语', 'amod', 1), ('汉语', '发展', 'nmod:prep', 5), ('(', '秦雅言', 'punct', 2), ('先', '秦雅言', 'amod', 1), ('秦雅言', '汉语', 'parataxis:prnmod', -3), (')', '秦雅言', 'punct', -1), ('发展', '分析语', 'acl', 8), ('而', '发展', 'advmod:rcomp', -1), ('来', '发展', 'advmod:rcomp', -2), ('、', '发展', 'punct', -3), ('书面', '使用', 'advmod', 1), ('使用', '发展', 'conj', -5), ('汉字', '使用', 'dobj', -1), ('的', '发展', 'mark', -7), ('分析语', '概指', 'dobj', -16), (',', '称', 'punct', -29), ('为', '语族', 'cop', 8), ('汉藏', '语系', 'nmod:assmod', 1), ('语系', '大', 'dep', 2), ('最', '大', 'advmod', 1), ('大', '语族', 'amod', 4), ('的', '大', 'mark', -1), ('一', '语族', 'nummod', 2), ('支', '一', 'mark:clf', -1), ('语族', '称', 'conj', -38), ('。', '称', 'punct', -39)] + results_dependency_parse = [('汉语', '称', 'nsubj', 2), ('又', '称', 'advmod', 1), ('称', '称', 'ROOT', 0), ('中文', '华语', 'conj', 2), ('、', '华语', 'punct', 1), ('华语', '称', 'dobj', -3), ('[6', '唐话', 'conj', 3), (']', '[6', 'punct', -1), ('、', '唐话', 'punct', 1), ('唐话', '称', 'dobj', -7), ('[', '称', 'punct', -8), ('7', '称', 'dep', -9), (']', '7', 'punct', -1), (',', '称', 'punct', -11), ('概指', '发展', 'nsubj', 8), ('由', '汉语', 'case', 2), ('上古', '汉语', 'compound:nn', 1), ('汉语', '发展', 'nmod:prep', 5), ('(', '秦雅言', 'punct', 2), ('先', '秦雅言', 'amod', 1), ('秦雅言', '汉语', 'parataxis:prnmod', -3), (')', '秦雅言', 'punct', -1), ('发展', '称', 'conj', -20), ('而', '来', 'aux:prtmod', 1), ('来', '发展', 'conj', -2), ('、', '发展', 'punct', -3), ('书面', '使用', 'nsubj', 1), ('使用', '发展', 'conj', -5), ('汉字', '分析语', 'nmod:assmod', 2), ('的', '汉字', 'case', -1), ('分析语', '使用', 'dobj', -3), (',', '称', 'punct', -29), ('为', '语族', 'cop', 8), ('汉藏', '语系', 'nmod:assmod', 1), ('语系', '语族', 'compound:nn', 6), ('最', '大', 'advmod', 1), ('大', '语族', 'amod', 4), ('的', '大', 'mark', -1), ('一', '语族', 'nummod', 2), ('支', '一', 'mark:clf', -1), ('语族', '称', 'conj', -38), ('。', '称', 'punct', -39)] ) results_word_tokenize = ['漢語', '又', '稱', '中文', '、', '華語', '[', '6', ']', '、', '唐話[', '7', ']', ',', '概指', '由', '上古', '漢語', '(', '先', '秦雅言', ')', '發展', '而', '來', '、', '書面', '使用', '漢字', '的', '分析語', ',', '為漢', '藏語', '系', '最', '大', '的', '一', '支', '語族', '。'] @@ -37,12 +36,11 @@ def test_spacy_zho(): test_spacy.wl_test_spacy( lang = 'zho_tw', results_sentence_tokenize_trf = ['漢語又稱中文、華語[6]、唐話[7],概指由上古漢語(先秦雅言)發展而來、書面使用漢字的分析語,為漢藏語系最大的一支語族。', '如把整個漢語族視為單一語言,則漢語為世界使用人數最多的語言,目前全世界有五分之一人口將漢語做為母語或第二語言。'], - results_sentence_tokenize_lg = [], results_word_tokenize = results_word_tokenize, - results_pos_tag = [('漢語', 'NN'), ('又', 'AD'), ('稱', 'VV'), ('中文', 'NN'), ('、', 'PU'), ('華語', 'NN'), ('[', 'PU'), ('6', 'CD'), (']', 'PU'), ('、', 'PU'), ('唐話[', 'NN'), ('7', 'CD'), (']', 'PU'), (',', 'PU'), ('概指', 'VV'), ('由', 'P'), ('上古', 'JJ'), ('漢語', 'NN'), ('(', 'PU'), ('先', 'JJ'), ('秦雅言', 'NR'), (')', 'PU'), ('發展', 'VV'), ('而', 'MSP'), ('來', 'VV'), ('、', 'PU'), ('書面', 'AD'), ('使用', 'VV'), ('漢字', 'NN'), ('的', 'DEC'), ('分析語', 'NN'), (',', 'PU'), ('為漢', 'NR'), ('藏語', 'NN'), ('系', 'NN'), ('最', 'AD'), ('大', 'VA'), ('的', 'DEC'), ('一', 'CD'), ('支', 'M'), ('語族', 'NN'), ('。', 'PU')], - results_pos_tag_universal = [('漢語', 'NOUN'), ('又', 'ADV'), ('稱', 'VERB'), ('中文', 'NOUN'), ('、', 'PUNCT'), ('華語', 'NOUN'), ('[', 'PUNCT'), ('6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐話[', 'NOUN'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概指', 'VERB'), ('由', 'ADP'), ('上古', 'ADJ'), ('漢語', 'NOUN'), ('(', 'PUNCT'), ('先', 'ADJ'), ('秦雅言', 'PROPN'), (')', 'PUNCT'), ('發展', 'VERB'), ('而', 'PART'), ('來', 'VERB'), ('、', 'PUNCT'), ('書面', 'ADV'), ('使用', 'VERB'), ('漢字', 'NOUN'), ('的', 'PART'), ('分析語', 'NOUN'), (',', 'PUNCT'), ('為漢', 'PROPN'), ('藏語', 'NOUN'), ('系', 'NOUN'), ('最', 'ADV'), ('大', 'VERB'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NUM'), ('語族', 'NOUN'), ('。', 'PUNCT')], + results_pos_tag = [('漢語', 'NN'), ('又', 'AD'), ('稱', 'VV'), ('中文', 'NN'), ('、', 'PU'), ('華語', 'NN'), ('[', 'PU'), ('6', 'CD'), (']', 'PU'), ('、', 'PU'), ('唐話[', 'NR'), ('7', 'CD'), (']', 'PU'), (',', 'PU'), ('概指', 'VV'), ('由', 'P'), ('上古', 'NR'), ('漢語', 'NR'), ('(', 'PU'), ('先', 'JJ'), ('秦雅言', 'NR'), (')', 'PU'), ('發展', 'VV'), ('而', 'MSP'), ('來', 'VV'), ('、', 'PU'), ('書面', 'NN'), ('使用', 'VV'), ('漢字', 'NN'), ('的', 'DEC'), ('分析語', 'NN'), (',', 'PU'), ('為漢', 'VV'), ('藏語', 'NR'), ('系', 'NN'), ('最', 'AD'), ('大', 'VA'), ('的', 'DEC'), ('一', 'CD'), ('支', 'M'), ('語族', 'NN'), ('。', 'PU')], + results_pos_tag_universal = [('漢語', 'NOUN'), ('又', 'ADV'), ('稱', 'VERB'), ('中文', 'NOUN'), ('、', 'PUNCT'), ('華語', 'NOUN'), ('[', 'PUNCT'), ('6', 'NUM'), (']', 'PUNCT'), ('、', 'PUNCT'), ('唐話[', 'PROPN'), ('7', 'NUM'), (']', 'PUNCT'), (',', 'PUNCT'), ('概指', 'VERB'), ('由', 'ADP'), ('上古', 'PROPN'), ('漢語', 'PROPN'), ('(', 'PUNCT'), ('先', 'ADJ'), ('秦雅言', 'PROPN'), (')', 'PUNCT'), ('發展', 'VERB'), ('而', 'PART'), ('來', 'VERB'), ('、', 'PUNCT'), ('書面', 'NOUN'), ('使用', 'VERB'), ('漢字', 'NOUN'), ('的', 'PART'), ('分析語', 'NOUN'), (',', 'PUNCT'), ('為漢', 'VERB'), ('藏語', 'PROPN'), ('系', 'NOUN'), ('最', 'ADV'), ('大', 'VERB'), ('的', 'PART'), ('一', 'NUM'), ('支', 'NUM'), ('語族', 'NOUN'), ('。', 'PUNCT')], results_lemmatize = results_word_tokenize, - results_dependency_parse = [('漢語', '稱', 'nsubj', 2), ('又', '稱', 'advmod', 1), ('稱', '稱', 'ROOT', 0), ('中文', '華語', 'conj', 2), ('、', '華語', 'punct', 1), ('華語', '唐話[', 'conj', 5), ('[', '6', 'punct', 1), ('6', '華語', 'parataxis:prnmod', -2), (']', '6', 'punct', -1), ('、', '唐話[', 'punct', 1), ('唐話[', '稱', 'dobj', -8), ('7', '稱', 'dep', -9), (']', '7', 'mark:clf', -1), (',', '稱', 'punct', -11), ('概指', '稱', 'conj', -12), ('由', '漢語', 'case', 2), ('上古', '漢語', 'amod', 1), ('漢語', '發展', 'nmod:prep', 5), ('(', '秦雅言', 'punct', 2), ('先', '秦雅言', 'amod', 1), ('秦雅言', '漢語', 'parataxis:prnmod', -3), (')', '秦雅言', 'punct', -1), ('發展', '分析語', 'acl', 8), ('而', '發展', 'advmod:rcomp', -1), ('來', '發展', 'advmod:rcomp', -2), ('、', '發展', 'punct', -3), ('書面', '使用', 'advmod', 1), ('使用', '發展', 'conj', -5), ('漢字', '使用', 'dobj', -1), ('的', '發展', 'mark', -7), ('分析語', '概指', 'dobj', -16), (',', '稱', 'punct', -29), ('為漢', '語族', 'cop', 8), ('藏語', '系', 'compound:nn', 1), ('系', '大', 'dep', 2), ('最', '大', 'advmod', 1), ('大', '語族', 'amod', 4), ('的', '大', 'mark', -1), ('一', '語族', 'nummod', 2), ('支', '一', 'mark:clf', -1), ('語族', '稱', 'conj', -38), ('。', '稱', 'punct', -39)] + results_dependency_parse = [('漢語', '稱', 'nsubj', 2), ('又', '稱', 'advmod', 1), ('稱', '稱', 'ROOT', 0), ('中文', '華語', 'conj', 2), ('、', '華語', 'punct', 1), ('華語', '稱', 'dobj', -3), ('[', '6', 'punct', 1), ('6', '稱', 'dep', -5), (']', '6', 'punct', -1), ('、', '6', 'punct', -2), ('唐話[', '6', 'dep', -3), ('7', '6', 'dep', -4), (']', '7', 'punct', -1), (',', '稱', 'punct', -11), ('概指', '稱', 'conj', -12), ('由', '漢語', 'case', 2), ('上古', '漢語', 'compound:nn', 1), ('漢語', '發展', 'nmod:prep', 5), ('(', '秦雅言', 'punct', 2), ('先', '秦雅言', 'amod', 1), ('秦雅言', '漢語', 'parataxis:prnmod', -3), (')', '秦雅言', 'punct', -1), ('發展', '分析語', 'acl', 8), ('而', '來', 'aux:prtmod', 1), ('來', '發展', 'conj', -2), ('、', '發展', 'punct', -3), ('書面', '使用', 'nsubj', 1), ('使用', '發展', 'conj', -5), ('漢字', '使用', 'dobj', -1), ('的', '發展', 'mark', -7), ('分析語', '概指', 'dobj', -16), (',', '稱', 'punct', -29), ('為漢', '稱', 'conj', -30), ('藏語', '系', 'compound:nn', 1), ('系', '大', 'dep', 2), ('最', '大', 'advmod', 1), ('大', '語族', 'amod', 4), ('的', '大', 'mark', -1), ('一', '語族', 'nummod', 2), ('支', '一', 'mark:clf', -1), ('語族', '為漢', 'dobj', -8), ('。', '稱', 'punct', -39)] ) 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 f39038177..f2ae04068 100644 --- a/tests/tests_nlp/tests_stanza/test_stanza_eng.py +++ b/tests/tests_nlp/tests_stanza/test_stanza_eng.py @@ -18,23 +18,26 @@ from tests.tests_nlp.tests_stanza import test_stanza +results_sentence_tokenize = ['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]'] +results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', '.'] + def test_stanza_eng(): test_stanza.wl_test_stanza( lang = 'eng_us', - results_sentence_tokenize = ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.[3][4][5]', 'It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.[7]', 'Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'], - results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England', '.', '[', '3', ']', '[', '4', ']', '[', '5', ']'], - 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'), ('that', 'WDT'), ('originated', 'VBD'), ('in', 'IN'), ('early', 'JJ'), ('medieval', 'JJ'), ('England', 'NNP'), ('.', '.'), ('[', '-LRB-'), ('3', 'CD'), (']', '-RRB-'), ('[', '-LRB-'), ('4', 'CD'), (']', '-RRB-'), ('[', '-LRB-'), ('5', 'CD'), (']', '-RRB-')], - 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'), ('that', 'PRON'), ('originated', 'VERB'), ('in', 'ADP'), ('early', 'ADJ'), ('medieval', 'ADJ'), ('England', 'PROPN'), ('.', 'PUNCT'), ('[', 'PUNCT'), ('3', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('4', 'NUM'), (']', 'PUNCT'), ('[', 'PUNCT'), ('5', 'NUM'), (']', 'PUNCT')], - results_lemmatize = ['English', 'be', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originate', 'in', 'early', 'medieval', 'England', '.', '[', '3', ']', '[', '4', ']', '[', '5', ']'], - 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), ('that', 'originated', 'nsubj', 1), ('originated', 'family', 'acl:relcl', -2), ('in', 'England', 'case', 3), ('early', 'England', 'amod', 2), ('medieval', 'England', 'amod', 1), ('England', 'originated', 'obl', -4), ('.', 'language', 'punct', -14), ('[', '3', 'punct', 1), ('3', 'language', 'dep', -16), (']', '3', 'punct', -1), ('[', '4', 'punct', 1), ('4', 'language', 'dep', -19), (']', '4', 'punct', -1), ('[', '5', 'punct', 1), ('5', 'language', 'dep', -22), (']', '5', 'punct', -1)], + results_sentence_tokenize = results_sentence_tokenize, + results_word_tokenize = results_word_tokenize, + 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_sentiment_analayze = [0] ) def test_stanza_other(): test_stanza.wl_test_stanza( lang = 'other', - results_sentence_tokenize = ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.[3][4][5]', 'It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.[7]', 'Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'], - results_word_tokenize = ['English', 'is', 'a', 'West', 'Germanic', 'language', 'in', 'the', 'Indo', '-', 'European', 'language', 'family', 'that', 'originated', 'in', 'early', 'medieval', 'England', '.', '[', '3', ']', '[', '4', ']', '[', '5', ']'] + results_sentence_tokenize = results_sentence_tokenize, + results_word_tokenize = results_word_tokenize ) if __name__ == '__main__': diff --git a/tests/wl_test_lang_examples.py b/tests/wl_test_lang_examples.py index 165d97cfb..9f71bec6f 100644 --- a/tests/wl_test_lang_examples.py +++ b/tests/wl_test_lang_examples.py @@ -287,7 +287,7 @@ TEXT_ARA = ['ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة.(1)', ' ', 'ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا وإثيوبيا وجنوب السودان وإيران.', ' ', 'وبذلك فهي تحتل المركز الرابع أو الخامس من حيث اللغات الأكثر انتشارًا في العالم، وهي تحتل المركز الثالث تبعًا لعدد الدول التي تعترف بها كلغة رسمية؛ إذ تعترف بها 27 دولة كلغة رسمية، واللغة الرابعة من حيث عدد المستخدمين على الإنترنت.', ' ', 'اللغةُ العربيةُ ذات أهمية قصوى لدى المسلمين، فهي عندَهم لغةٌ مقدسة إذ أنها لغة القرآن، وهي لغةُ الصلاة وأساسيةٌ في القيام بالعديد من العبادات والشعائرِ الإسلامية.', ' ', 'العربيةُ هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كُتبَت بها كثير من أهمِّ الأعمال الدينية والفكرية اليهودية في العصور الوسطى.', ' ', 'ارتفعتْ مكانةُ اللغةِ العربية إثْرَ انتشارِ الإسلام بين الدول إذ أصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون.', ' ', 'وللغة العربية تأثير مباشر وغير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية والصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية؛ ودخلت الكثير من مصطلحاتها في اللغة الإنجليزية واللغات الأخرى، مثل أدميرال والتعريفة والكحول والجبر وأسماء النجوم.', ' ', 'كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.'] 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_BEL = ["Белару́ская мо́ва — нацыянальная мова беларусаў, уваходзіць у індаеўрапейскую моўную сям'ю, славянскую групу, усходнеславянскую падгрупу.", ' ', 'Пашырана ў асноўным у Беларусі.', ' ', 'Распаўсюджана таксама і ў іншых краінах, галоўным чынам у Польшчы, Украіне, Расіі, Літве, Латвіі[2].', ' ', 'Беларуская мова мае шмат агульных граматычных і лексічных уласцівасцей з іншымі ўсходнеславянскімі мовамі.'] TEXT_BUL = ['Бъ̀лгарският езѝк е индоевропейски език от групата на южнославянските езици, като образува неговата източна подгрупа.', ' ', 'Той е официалният език на Република България и един от 24-те официални езика на Европейския съюз.', ' ', 'Българският език е плурицентричен език – има няколко книжовни норми.', ' ', 'Наред с използваната в България основна норма, съществуват още македонска норма, която също използва кирилица, и банатска норма, която използва латиница.'] TEXT_MYA = ['မြန်မာဘာသာစကား (အင်္ဂလိပ်: Myanmar Language)သည် မြန်မာနိုင်ငံ၏ ရုံးသုံး ဘာသာစကားဖြစ်သည်။', ' ', 'ဗမာလူမျိုးနှင့် ဗမာနွယ်ဝင်(ဓနု၊ အင်းသား၊ တောင်ရိုးနှင့် ယော)တို့၏ ဇာတိစကားဖြစ်သည်။', ' ', 'ဗမာလူမျိုးတို့သည် တိဘက်-ဗမာနွယ် ဘာသာစကားများ (Tibeto-Burman Languages) ပြောဆိုသည့် လူမျိုးနွယ်စုကြီးမှ အကြီးဆုံးသော လူမျိုးဖြစ်သည်။', ' ', 'လူဦးရေ ၃၈သန်းကျော်ခန့်သည် မြန်မာဘာသာစကားကို မိခင်ဘာသာစကား အနေဖြင့် သုံး၍ မြန်မာတိုင်းရင်သားများသည် ဒုတိယဘာသာစကား အနေဖြင့် သုံးသည်။'] TEXT_BXR = ['Буряад хэлэн (буряад-монгол хэлэн) Алтайн хэлэнэй изагуурай буряад арад түмэнһөө хэрэглэгдэжэ бай монгол хэлэнэй бүлэгэй xэлэн-аялгуу юм.', ' ', 'Бүгэдэ Найрамдаха Буряад Улас, Эрхүү можо, Забайкалиин хизаар, Усть-Ордын болон Агын тойрогууд, мүн Монгол Уласай хойто аймагууд, Хитадай зүүн-хойто орондо ажаһуудаг буряадууд хэлэлсэдэг.', ' ', 'Орос гүрэндэ (1989 оной тоололгоор) 376 мянга оршом хүн буряадаар дуугардаг.', ' ', 'Буряадай 86,6%-нь буряад хэлые, 13,3%-нь ород хэлые эхэ (түрэлхи) хэлэн гэһэн байна.', ' ', 'Баруун (эхирэд, булагад), дундада (алайр, түнхэн), зүүн (хори), урда (сонгоол, сартуул) гэхэ мэтэ аялгуутай.'] @@ -299,13 +299,13 @@ TEXT_COP = ['ϭⲟⲗ ·', ' ', 'ⲛⲉⲛⲧⲁⲩⲕⲗⲏⲣⲟⲛⲟⲙⲉⲓ ⲉⲛⲉϩ ⲛⲧⲙⲛⲧⲣⲣⲟ ⲙⲡⲛⲟⲩⲧⲉ ·'] TEXT_HRV = ['Hrvatski jezik (ISO 639-3: hrv) skupni je naziv za nacionalni standardni jezik Hrvata, te za skup narječja i govora kojima govore ili su nekada govorili Hrvati.', ' ', 'Njime govori više od 5,5 milijuna ljudi,[2] poglavito Hrvata u Hrvatskoj, 3 980 000 (popis iz 2001.) i Bosni i Hercegovini, 469 000 (2004.).[3]', ' ', 'Hrvatski je materinski jezik za Hrvate u drugim zemljama: Sjedinjenim Američkim Državama, 58 400 (popis iz 2000.);[1] Austriji, 19 400 (popis iz 2001.); Srbiji, 19 223 (popis iz 2011.);[4] Mađarskoj, 14 300 (popis iz 2001.); Italiji, 3500 (Vincent 1987.); Crnoj Gori, 6810 (2006.); Slovačkoj, 890 (popis iz 2001.).'] 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 (i Flensborg ca. 20 %), 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_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_ENG_GB = TEXT_ENG_US = ['English is a West Germanic language in the Indo-European language family that originated in early medieval England.[3][4][5]', ' ', 'It is the most spoken language in the world[6] and the third most spoken native language in the world, after Standard Chinese and Spanish.[7]', ' ', 'Today, English is the primary language of the Anglosphere, which is usually defined as the United States, the United Kingdom, Canada, Australia, and New Zealand.', ' ', 'English is also the primary language of the Republic of Ireland, although it is not typically included within the Anglosphere.'] +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.'] TEXT_FAO = ['Føroyskt er høvuðsmálið í Føroyum.', ' ', 'Føroyskt er almenna málið í Føroyum, og tað er tjóðarmál føroyinga.', ' ', 'Harafturat verður nógv føroyskt tosað í Danmark og Íslandi.', ' ', 'Í Føroyum tosa 48.000 fólk føroyskt, í Danmark umleið 25.000 og í Íslandi umleið 5.000, so samlaða talið av fólkum, ið duga føroyskt liggur um 75-80.000.', ' ', 'Føroyskt er tí í altjóða høpi eitt lítið mál.', ' ', 'Føroyskt mál hevur fýra føll og trý kyn, og grammatiski málbygningurin líkist ógvuliga nógv íslendskum, meðan orðatilfarið og í summum lutum úttalan líkist norska landsmálinum.'] -TEXT_FIN = ['Suomen kieli eli suomi on uralilaisten kielten itämerensuomalaiseen ryhmään kuuluva kieli, jota puhuvat pääosin suomalaiset.', ' ', 'Suomessa suomen kieltä puhuu äidinkielenään 4,8 miljoonaa ja toisena kielenään 0,5 miljoonaa ihmistä. Suurimmat suomea puhuvat vähemmistöt ovat Ruotsissa, Norjassa ja Venäjällä.'] +TEXT_FIN = ['Suomen kieli eli suomi on uralilaisten kielten itämerensuomalaiseen ryhmään kuuluva kieli, jota puhuvat pääosin suomalaiset.', ' ', 'Suomessa suomen kieltä puhuu äidinkielenään 4,8 miljoonaa ja toisena kielenään 0,5 miljoonaa ihmistä.', ' ', 'Suurimmat suomea puhuvat vähemmistöt ovat Ruotsissa, Norjassa ja Venäjällä.'] TEXT_FRA = ['Le français est une langue indo-européenne de la famille des langues romanes dont les locuteurs sont appelés francophones.', ' ', 'Elle est parfois surnommée la langue de Molière.'] TEXT_FRO = ["Si l'orrat Carles, ki est as porz passant.", ' ', 'Je vos plevis, ja returnerunt Franc.'] TEXT_GLG = ['O galego ([ɡaˈleɣo̝][1]) é unha lingua indoeuropea que pertence á póla de linguas románicas.', ' ', 'É a lingua propia de Galicia,[5] onde é falada por uns 2,4 millóns de galegos.[6]', ' ', 'Á parte de en Galicia, a lingua fálase tamén en territorios limítrofes con esta comunidade, aínda que sen estatuto de oficialidade (agás en casos puntuais, como na Veiga),[7] así como pola diáspora galega que emigrou a outras partes de España, a América Latina, os Estados Unidos, Suíza e outros países de Europa.'] @@ -320,11 +320,11 @@ TEXT_ISL = ['Íslenska er vesturnorrænt, germanskt og indóevrópskt tungumál sem er einkum talað og ritað á Íslandi og er móðurmál langflestra Íslendinga.[5]', ' ', 'Það hefur tekið minni breytingum frá fornnorrænu en önnur norræn mál[5] og er skyldara norsku og færeysku en sænsku og dönsku.[2][3]'] TEXT_IND = ['Bahasa Indonesia adalah bahasa nasional dan resmi di seluruh wilayah Indonesia.', ' ', 'Ini merupakan bahasa komunikasi resmi, diajarkan di sekolah-sekolah, dan digunakan untuk penyiaran di media elektronik dan digital.', ' ', 'Sebagai negara dengan tingkat multilingual (terutama trilingual)[12][13] teratas di dunia, mayoritas orang Indonesia juga mampu bertutur dalam bahasa daerah atau bahasa suku mereka sendiri, dengan yang paling banyak dituturkan adalah bahasa Jawa dan Sunda yang juga memberikan pengaruh besar ke dalam elemen bahasa Indonesia itu sendiri.[14][15]'] TEXT_GLE = ['Is ceann de na teangacha Ceilteacha í an Ghaeilge (nó Gaeilge na hÉireann mar a thugtar uirthi corruair), agus ceann de na trí cinn de theangacha Ceilteacha ar a dtugtar na teangacha Gaelacha (Gaeilge, Gaeilge Mhanann agus Gaeilge na hAlban) go háirithe.', ' ', 'Labhraítear in Éirinn go príomha í, ach tá cainteoirí Gaeilge ina gcónaí in áiteanna eile ar fud an domhain.'] -TEXT_ITA = ["L'italiano ([itaˈljaːno][Nota 1] ascolta[?·info]) è una lingua romanza parlata principalmente in Italia.", ' ', "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.[2][3][4][Nota 2]"] -TEXT_JPN = ['日本語(にほんご、にっぽんご[注釈 2]、英語: Japanese language)は、日本国内や、かつての日本領だった国、そして国外移民や移住者を含む日本人同士の間で使用されている言語。', '日本は法令によって公用語を規定していないが、法令その他の公用文は全て日本語で記述され、各種法令[注釈 3]において日本語を用いることが規定され、学校教育においては「国語」の教科として学習を行うなど、事実上日本国内において唯一の公用語となっている。'] +TEXT_ITA = ["L'italiano ([itaˈljaːno][Nota 1] ascoltaⓘ) è una lingua romanza parlata principalmente in Italia.", ' ', "Per ragioni storiche e geografiche, l'italiano è la lingua romanza meno divergente dal latino.[2][3][4][Nota 2]"] +TEXT_JPN = ['日本語(にほんご、にっぽんご[注釈 2])は、日本国内や、かつての日本領だった国、そして国外移民や移住者を含む日本人同士の間で使用されている言語。', '日本は法令によって公用語を規定していないが、法令その他の公用文は全て日本語で記述され、各種法令[注釈 3]において日本語を用いることが規定され、学校教育においては「国語」の教科として学習を行うなど、事実上日本国内において唯一の公用語となっている。'] TEXT_KAZ = ['Қазақ тілі (төте: قازاق ٴتىلى‎, латын: qazaq tili) — Қазақстан Республикасының мемлекеттік тілі, сонымен қатар Ресей, Өзбекстан, Қытай, Моңғолия жəне т.б.', ' ', 'елдерде тұратын қазақтардың ана тілі.'] TEXT_KHM = ['ភាសាខ្មែរ គឺជាភាសាកំណើតរបស់ជនជាតិខ្មែរនិងជាភាសាផ្លូវការរបស់ប្រទេសកម្ពុជា។', ' ', 'ភាសាសំស្ក្រឹតនិងភាសាបាលីបាន\u200Bជួយបង្កើតខេមរភាសា ព្រោះភាសាខ្មែរបានខ្ចីពាក្យច្រើនពីភាសាទាំងពីរនេះ។', ' ', '\u200Bមានអក្សរក្រមវែងជាងគេនៅលើពិភពលោក ។\u200B', ' ', 'វាជាភាសាមួយដ៏ចំណាស់\u200B ដែលប្រហែលជាមានដើមកំណើតតាំងតែពី\u200B២០០០ឆ្នាំមុនមកម៉្លេះ។'] -TEXT_KOR = ['한국어(韓國語)는 대한민국과 조선민주주의인민공화국의 공용어이다.', ' ', '조선말, 한국말, 조선어로도 불린다.'] +TEXT_KOR = ['세계 여러 지역에 한민족 인구가 거주하게 되면서 전 세계 각지에서 한국어가 사용 되고 있다.', ' ', '2016년 1월 초 기준으로 한국어 사용 인구는 약 8,000만 명으로 추산된다.[1]'] TEXT_KMR = ['Kurmancî, Kurdiya jorîn yan jî Kurdiya bakurî yek ji zaravayên zimanê kurdî ye ku ji aliyê kurdan ve tê axaftin.', ' ', 'Zaravayê kurmancî li herçar parçeyên Kurdistanê bi awayekî berfireh tê axaftin û rêjeya zêde ya kurdan bi zaravayê kurmancî diaxivin.', ' ', 'Kurmancî li henek deverên herêmên Kurdistanê bi navên cuda cuda hatiye binavkirin.', ' ', 'Li Rojhilatê Kurdistanê wekî şikakî û li Başurê Kurdistanê jî wek badînî hatiye binavkirin.'] TEXT_KIR = ['Кыргыз тили — Кыргыз Республикасынын мамлекеттик тили, түрк тилдери курамына, анын ичинде кыргыз-кыпчак же тоо-алтай тобуна кирет.', ' ', 'Кыргыз Республикасынын түптүү калкынын, Кытайдагы, Өзбекстан, Тажикстан, Республикасында Ооганстан, Түркия, Орусияда жашап жаткан кыргыздардын эне тили.', ' ', '2009 ж. өткөн элди жана турак-жай фондун каттоонун жыйынтыгында Кыргыз Республикасында кыргыз тилин 3 830 556 адам өз эне тили катары көрсөтүшкөн жана 271 187 адам кыргыз тилин экинчи тил катары биле тургандыгы аныкталган[1].', ' ', 'Бул КРсындагы калктын 76% кыргыз тилинде сүйлөйт дегенди билдирет.', ' ', 'Кыргыз тилинде 1 720 693 адам орус тилин дагы билише тургандыгын көргөзүшкөн[2].', ' ', 'Бул 2 109 863 адам кыргыз тилинде гана сүйлөй билишет дегенди билдирет.', ' ', 'Болжолдуу эсеп менен дүйнө жүзү боюнча кыргыз тилинде 6 700 000 адам сүйлөйт.'] TEXT_LAO = ['ພາສາລາວ (Lao: ລາວ, [láːw] ຫຼື ພາສາລາວ, [pʰáːsǎːláːw]) ເປັນພາສາຕະກູນໄທ-ກະໄດຂອງຄົນລາວ ໂດຍມີຄົນເວົ້າໃນປະເທດລາວ ເຊິ່ງເປັນພາສາລັດຖະການຂອງສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ ຂອງປະຊາກອນປະມານ 7 ລ້ານຄົນ ແລະໃນພື້ນທີ່ພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດໄທທີ່ມີຄົນເວົ້າປະມານ 23 ລ້ານຄົນ ທາງລັດຖະບານປະເທດໄທມີການສະໜັບສະໜຸນໃຫ້ເອີ້ນພາສາລາວຖິ່ນໄທວ່າ ພາສາລາວຖິ່ນອີສານ ນອກຈາກນີ້, ຢູ່ທາງພາກຕາເວັນອອກສຽງເໜືອຂອງປະເທດກຳປູເຈຍກໍມີຄົນເວົ້າພາສາລາວຄືກັນ.', ' ', 'ພາສາລາວເປັນແມ່ຂອງຄົນເຊື້ອຊາດລາວທັງຢູ່ພາຍໃນແລະຕ່າງປະເທດ ທັງເປັນພາສາກາງຂອງພົນລະເມືອງໃນປະເທດລາວທີ່ມີພາສາອື່ນອີກຫຼາຍພາສາ ເຊິ່ງບາງພາສາບໍ່ມີຄວາມກ່ຽວຂ້ອງກັບພາສານີ້[3] .'] @@ -333,19 +333,19 @@ 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_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_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.'] -TEXT_NOB = ['Bokmål er en varietet av norsk skriftspråk.', ' ', '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.'] +TEXT_NOB = ['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.'] TEXT_NNO = ['Nynorsk, før 1929 offisielt kalla landsmål, er sidan jamstillingsvedtaket av 12. mai 1885 ei av dei to offisielle målformene av norsk; den andre forma er bokmål.', ' ', 'Nynorsk vert i dag nytta av om lag 10–15% av innbyggjarane i Noreg.[1][2]', ' ', 'Skriftspråket er basert på nynorsk talemål, det vil seie dei moderne norske dialektane til skilnad frå gamalnorsk og mellomnorsk.', ' ', 'Når ein seier at nokon snakkar nynorsk, meiner ein helst at dei snakkar nynorsk normaltalemål.', ' ', 'Dei færraste dialekttalande nordmenn seier at dei snakkar nynorsk, men det er ikkje uvanleg i kjerneområda til nynorsken.', ' ', 'Dette tilhøvet mellom tale og skrift ligg bak målrørsla sitt slagord sidan 1970-talet: «Snakk dialekt – skriv nynorsk!»', ' ', 'Nynorske dialektar vart snakka over heile landet, men det er berre på Vestlandet utanom dei største byene og i dei austlandske fjellbygdene at skriftspråket står sterkt.', ' ', 'Det vil seie at dei fleste dialekttalarane har bokmål som det primære skriftspråket sitt.'] TEXT_FAS = ['فارسی یا پارسی یک زبان ایرانی غربی از زیرگروه ایرانی شاخهٔ هندوایرانیِ خانوادهٔ زبان‌های هندواروپایی است که در کشورهای ایران، افغانستان، تاجیکستان، ازبکستان، پاکستان، عراق، ترکمنستان و آذربایجان به آن سخن می‌گویند.', ' ', 'فارسی یک زبان چندکانونی و زبان رسمی ایران، تاجیکستان و افغانستان به‌شمار می‌رود.', ' ', 'این زبان در ایران و افغانستان به الفبای فارسی، که از خط عربی ریشه گرفته، و در تاجیکستان و ازبکستان به الفبای تاجیکی، که از سیریلیک آمده، نوشته می‌شود.', ' ', 'زبان فارسی در افغانستان به‌طور رسمی دَری (از ۱۳۴۳ خورشیدی) و در تاجیکستان تاجیکی (از دورهٔ شوروی) خوانده می‌شود.'] TEXT_POL = ['Język polski, polszczyzna – język z grupy zachodniosłowiańskiej (do której należą również czeski, kaszubski, słowacki i języki łużyckie), stanowiącej część rodziny indoeuropejskiej.', ' ', 'Jest językiem urzędowym w Polsce oraz należy do oficjalnych języków Unii Europejskiej.'] TEXT_QPM = ['Kážyjte nǽko, de!', ' ', 'Še go preskókneme!'] TEXT_POR_BR = TEXT_POR_PT = ['A língua portuguesa, também designada português, é uma língua indo-europeia românica flexiva ocidental originada no galego-português falado no Reino da Galiza e no norte de Portugal.', ' ', 'Com a criação do Reino de Portugal em 1139 e a expansão para o sul na sequência da Reconquista, deu-se a difusão da língua pelas terras conquistadas e mais tarde, com as descobertas portuguesas, para o Brasil, África e outras partes do mundo.[8]', ' ', 'O português foi usado, naquela época, não somente nas cidades conquistadas pelos portugueses, mas também por muitos governantes locais nos seus contatos com outros estrangeiros poderosos.', ' ', 'Especialmente nessa altura a língua portuguesa também influenciou várias línguas.[9]'] TEXT_RON = ['Limba română este o limbă indo-europeană din grupul italic și din subgrupul oriental al limbilor romanice.', ' ', 'Printre limbile romanice, româna este a cincea după numărul de vorbitori, în urma spaniolei, portughezei, francezei și italienei.', ' ', 'Din motive de diferențiere tipologică, româna mai este numită în lingvistica comparată limba dacoromână sau dialectul dacoromân.', ' ', 'De asemenea, este limba oficială în România și în Republica Moldova.'] -TEXT_RUS = ['Ру́сский язы́к ([ˈruskʲɪi̯ jɪˈzɨk] Информация о файле слушать)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', ' ', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', ' ', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] +TEXT_RUS = ['Ру́сский язы́к (МФА: [ˈruskʲɪi̯ jɪˈzɨk]ⓘ)[~ 3][⇨] — язык восточнославянской группы славянской ветви индоевропейской языковой семьи, национальный язык русского народа.', ' ', 'Является одним из наиболее распространённых языков мира — восьмым среди всех языков мира по общей численности говорящих[5] и седьмым по численности владеющих им как родным (2022)[2].', ' ', 'Русский является также самым распространённым славянским языком[8] и самым распространённым языком в Европе — географически и по числу носителей языка как родного[6].'] TEXT_ORV = ['шаибатъ же ѿ бедерѧ г҃ мсци', ' ', 'а ѿ дабылѧ до шаибата в҃ мсца моремъ итьти'] TEXT_SME = ['Davvisámegiella gullá sámegielaid oarjesámegielaid davvejovkui ovttas julev- ja bihtánsámegielain.', ' ', 'Eará oarjesámegielat leat ubmisámegiella ja lullisámegiella.'] TEXT_SAN = ['संस्कृतम् जगतः एकतमा अतिप्राचीना समृद्धा शास्त्रीया च भाषासु वर्तते।', ' ', 'संस्कृतम् भारतस्य जगत: वा भाषासु एकतमा‌ प्राचीनतमा।', ' ', 'भारती, सुरभारती, अमरभारती, अमरवाणी, सुरवाणी, गीर्वाणवाणी, गीर्वाणी, देववाणी, देवभाषा, संस्कृतावाक्, दैवीवाक्, इत्यादिभिः नामभिः एतद्भाषा प्रसिद्धा।'] @@ -354,10 +354,10 @@ TEXT_SRP_LATN = ['Srpski jezik je zvaničan u Srbiji, Bosni i Hercegovini i Crnoj Gori i govori ga oko 12 miliona ljudi.[13]', ' ', 'Takođe je manjinski jezik u državama centralne i istočne Evrope.[13]'] TEXT_SND = ['سنڌي (/ˈsɪndi/[6]सिन्धी, Sindhi)ھڪ ھند-آريائي ٻولي آھي جيڪا سنڌ جي تاريخي خطي ۾ سنڌي ماڻھن پاران ڳالھائي وڃي ٿي.', ' ', 'سنڌي پاڪستان جي صوبي سنڌ جي سرڪاري ٻولي آھي.[7][8][9]', ' ', 'انڊيا ۾، سنڌي وفاقي سرڪار پاران مڃتا حاصل ڪيل ٻولين يعني شيڊيولڊ ٻولين مان ھڪ آھي.', ' ', 'گھڻا سنڌي ڳالھائيندڙ پاڪستان جي صوبي سنڌ، ڀارت جي رياست گجرات جي علائقي ڪڇ ۽ مھاراشٽر جي علائقي الھاس نگر ۾ رھن ٿا.', ' ', 'ڀارت ۾ بچيل ڳالھائيندڙ سنڌي ھندو آھن جن پاڪستان جي آزادي کان بعد 1948ع ۾ ڀارت ۾ رھائش اختيار ڪئي ۽ باقي سنڌي سڄي دنيا جي مختلف علائقن ۾ رھن ٿا.', ' ', 'سنڌي ٻولي پاڪستان جي صوبن سنڌ، بلوچستان ۽ پنجاب، سان گڏوگڏ ڀارت جي رياستن راجستان، پنجاب ۽ گجرات ۾ ڳالھائي وڃي ٿي.', ' ', 'ان سان گڏوگڏ ھانگ ڪانگ، عمان، انڊونيشيا، سنگاپور، گڏيل عرب اماراتون، گڏيل بادشاھت ۽ آمريڪا ۾ لڏي ويل جماعتن پاران بہ ڳالھائي وڃي ٿي.[10]'] TEXT_SLK = ['Slovenčina je oficiálne úradným jazykom Slovenska, Vojvodiny a od 1. mája 2004 jedným z jazykov Európskej únie.', ' ', 'Jazykový kód alebo po anglicky Language Code je sk príp. slk podľa ISO 639.', ' ', 'Slovenčina je známa ako „esperanto“ slovanských jazykov, vníma sa ako najzrozumiteľnejšia aj pre používateľov iných slovanských jazykov.[2]'] -TEXT_SLV = ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', ' ', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', ' ', 'Glede na število govorcev ima razmeroma veliko narečij.', ' ', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', ' ', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', ' ', 'Slovenska gajica se imenuje slovenica.', ' ', 'Pišemo jo od marčne revolucije 1848.', ' ', 'Do takrat smo uporabljali bohoričico.'] +TEXT_SLV = ['Slovenščina [sloˈʋenʃtʃina] je združeni naziv za uradni knjižni jezik Slovencev in skupno ime za narečja in govore, ki jih govorijo ali so jih nekoč govorili Slovenci.', ' ', 'Govori ga okoli 2,5 (dva in pol) milijona govorcev po svetu, od katerih jih večina živi v Sloveniji.', ' ', 'Glede na število govorcev ima razmeroma veliko narečij.', ' ', 'Slovenščina je zahodni južnoslovanski jezik in eden redkih indoevropskih jezikov, ki je ohranil dvojino.', ' ', 'Za zapisovanje slovenskega jezika se danes uporablja gajica, pisava imenovana po hrvaškem jezikoslovcu Ljudevitu Gaju, ki jo je priredil po češkem črkopisu.', ' ', 'Slovenska gajica se imenuje slovenica.', ' ', 'Pišemo jo od marčne revolucije 1848.', ' ', 'Do takrat smo uporabljali bohoričico.'] TEXT_DSB = ['Dolnoserbšćina, dolnoserbska rěc (nimski Niedersorbisch abo teke Wendisch, pólski język dolnołużycki, česki dolnolužická srbština) jo jadna z dweju rěcowu Serbow, kotaraž se wužywa w Dolnej Łužycy, w pódpołdnjowej Bramborskej, na pódzajtšu Nimskej.', ' ', 'Dolnoserbšćina gromaźe z górnoserbšćinu słušatej k kupce serbskeju rěcowu w ramiku pódwjacornosłowjańskich rěcy.', ' ', 'Licba powědajucych dolnoserbski wucynijo něnto wokoło 7000 luźi.'] TEXT_HSB = ['Hornjoserbšćina je zapadosłowjanska rěč, kotraž so w Hornjej Łužicy wokoło městow Budyšin, Kamjenc a Wojerecy rěči.', ' ', 'Wona je přiwuzna z delnjoserbšćinu w susodnej Delnjej Łužicy, čěšćinu, pólšćinu, słowakšćinu a kašubšćinu.', ' ', 'Jako słowjanska rěč hornjoserbšćina k indoeuropskim rěčam słuša.'] -TEXT_SPA = ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', ' ', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', ' ', 'Se conoce también informalmente como castillan. 1\u200b32\u200b33\u200b en algunas áreas rurales e indígenas de América,34\u200b pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.35\u200b36\u200b37\u200b38\u200b39\u200b40\u200b'] +TEXT_SPA = ['El español o castellano es una lengua romance procedente del latín hablado, perteneciente a la familia de lenguas indoeuropeas.', ' ', 'Forma parte del grupo ibérico y es originaria de Castilla, reino medieval de la península ibérica.', ' ', 'Se conoce también informalmente como castillan. 1\u200B33\u200B34\u200B', ' ', 'en algunas áreas rurales e indígenas de América,35\u200B pues el español se empezó a enseñar poco después de la incorporación de los nuevos territorios a la Corona de Castilla.36\u200B37\u200B38\u200B39\u200B40\u200B41\u200B'] TEXT_SWE = ['Svenska (svenska (info)) är ett östnordiskt språk som talas av ungefär tio miljoner personer främst i Sverige där språket har en dominant ställning som huvudspråk, men även som det ena nationalspråket i Finland och som enda officiella språk på Åland.', ' ', 'I övriga Finland talas det som modersmål framförallt i de finlandssvenska kustområdena i Österbotten, Åboland och Nyland.', ' ', 'En liten minoritet svenskspråkiga finns även i Estland.', ' ', 'Svenska är nära besläktat och i hög grad ömsesidigt begripligt med danska och norska.', ' ', 'De andra nordiska språken, isländska och färöiska, är mindre ömsesidigt begripliga med svenska.', ' ', 'Liksom de övriga nordiska språken härstammar svenskan från en gren av fornnordiska, vilket var det språk som talades av de germanska folken i Skandinavien.'] TEXT_TAM = ['தமிழ் (Tamil language) தமிழர்களினதும் தமிழ் பேசும் பலரின் தாய்மொழி ஆகும்.', ' ', 'தமிழ், உலகில் உள்ள முதன்மையான மொழிகளில் ஒன்றும் செம்மொழியும் ஆகும்.', ' ', 'இந்தியா, இலங்கை, மலேசியா, சிங்கப்பூர் ஆகிய நாடுகளில் அதிக அளவிலும், ஐக்கிய அரபு அமீரகம், தென்னாப்பிரிக்கா, மொரிசியசு, பிசி, இரீயூனியன், திரினிடாடு போன்ற நாடுகளில் சிறிய அளவிலும் தமிழ் பேசப்படுகிறது.', ' ', '1997-ஆம் ஆண்டுப் புள்ளி விவரப்படி உலகம் முழுவதிலும் 8 கோடி (80 மில்லியன்) மக்களால் பேசப்படும் தமிழ்,[13] ஒரு மொழியைத் தாய்மொழியாகக் கொண்டு பேசும் மக்களின் எண்ணிக்கை அடிப்படையில் பதினெட்டாவது இடத்தில் உள்ளது.[14]', ' ', 'இணையத்தில் அதிகம் பயன்படுத்தப்படும் இந்திய மொழிகளில் தமிழ் முதன்மையாக உள்ளதாக 2017-ஆம் ஆண்டு நடைபெற்ற கூகுள் கணக்கெடுப்பில் தெரிய வந்தது.[15]'] TEXT_TEL = ['తెలుగు అనేది ద్రావిడ భాషల కుటుంబానికి చెందిన భాష.', ' ', 'దీనిని మాట్లాడే ప్రజలు ప్రధానంగా ఆంధ్ర, తెలంగాణాలో ఉన్నారు.', ' ', 'ఇది ఆ రాష్ట్రాలలో అధికార భాష.', ' ', 'భారతదేశంలో ఒకటి కంటే ఎక్కువ రాష్ట్రాల్లో ప్రాథమిక అధికారిక భాషా హోదా కలిగిన కొద్ది భాషలలో హిందీ, బెంగాలీలతో పాటు ఇది కూడా ఉంది.[5][6]', ' ', 'పుదుచ్చేరిలోని యానం జిల్లాలో తెలుగు అధికారిక భాష.', ' ', 'ఒడిశా, కర్ణాటక, తమిళనాడు, కేరళ, పంజాబ్, ఛత్తీస్‌గఢ్, మహారాష్ట్ర, అండమాన్ నికోబార్ దీవులలో గుర్తింపబడిన అల్పసంఖ్యాక భాష.', ' ', 'దేశ ప్రభుత్వం భారతదేశ ప్రాచీన భాషగా గుర్తించిన ఆరు భాషలలో ఇది ఒకటి.[7][8]'] diff --git a/utils/wl_packaging.spec b/utils/wl_packaging.spec index 3d26dfd4f..af442bd13 100644 --- a/utils/wl_packaging.spec +++ b/utils/wl_packaging.spec @@ -22,7 +22,6 @@ import pymorphy3 import pythainlp import spacy_pkuseg import stanza -import transformers import underthesea.file_utils import wl_utils @@ -41,19 +40,18 @@ datas.extend(PyInstaller.utils.hooks.collect_data_files('botok')) # Dostoevsky datas.extend(PyInstaller.utils.hooks.collect_data_files('dostoevsky')) # spaCy +datas.extend(PyInstaller.utils.hooks.copy_metadata('spacy')) datas.extend(PyInstaller.utils.hooks.collect_data_files('spacy.lang', include_py_files = True)) +# Fix spaCy lookups data +# See: https://github.com/explosion/spaCy/discussions/9416 datas.extend(PyInstaller.utils.hooks.copy_metadata('spacy_lookups_data')) datas.extend(PyInstaller.utils.hooks.collect_data_files('spacy_lookups_data', include_py_files = True)) datas.extend(PyInstaller.utils.hooks.collect_data_files('spacy_pkuseg')) datas.extend(PyInstaller.utils.hooks.collect_data_files('en_core_web_trf')) -datas.extend(PyInstaller.utils.hooks.copy_metadata('spacy_transformers')) +datas.extend(PyInstaller.utils.hooks.copy_metadata('spacy_curated_transformers')) +datas.extend(PyInstaller.utils.hooks.collect_data_files('curated_transformers', include_py_files = True)) datas.extend(PyInstaller.utils.hooks.collect_data_files('pip', include_py_files = True)) -# Metadata required by Transformers -for package in transformers.dependency_versions_check.pkgs_to_check_at_runtime + ['torch']: - if package != 'python': - datas.extend(PyInstaller.utils.hooks.copy_metadata(package)) - # Underthesea datas.extend(PyInstaller.utils.hooks.collect_data_files('underthesea')) @@ -90,7 +88,7 @@ datas.extend([ hiddenimports = [ # spaCy 'en_core_web_trf', - 'spacy_alignments', + 'spacy_curated_transformers', # Underthesea 'sklearn.pipeline' diff --git a/utils/wl_trs_utils.py b/utils/wl_trs_utils.py index bc4da7791..848b591f3 100644 --- a/utils/wl_trs_utils.py +++ b/utils/wl_trs_utils.py @@ -71,7 +71,6 @@ def del_obsolete_trans(ts_file): def release_trs(): for ts_file in glob.glob('../trs/*.ts'): - print(ts_file) subprocess.run(['lrelease', ts_file], check = True) if __name__ == '__main__': diff --git a/wordless/wl_main.py b/wordless/wl_main.py index 10bd0e976..23a9c2138 100644 --- a/wordless/wl_main.py +++ b/wordless/wl_main.py @@ -89,9 +89,23 @@ underthesea.file_utils.UNDERTHESEA_FOLDER = wl_paths.get_path_file('.underthesea') _tr = QCoreApplication.translate - is_windows, is_macos, is_linux = wl_misc.check_os() +file_settings = wl_paths.get_path_file('wl_settings.pickle', internal = False) +file_settings_display_lang = wl_paths.get_path_file('wl_settings_display_lang.pickle', internal = False) + +if os.path.exists(file_settings): + with open(file_settings, 'rb') as f: + settings_custom = pickle.load(f) + + ui_scaling = settings_custom['general']['ui_settings']['interface_scaling'] + global_font_family = settings_custom['general']['ui_settings']['font_family'] + global_font_size = settings_custom['general']['ui_settings']['font_size'] +else: + ui_scaling = wl_settings_default.DEFAULT_INTERFACE_SCALING + global_font_family = wl_settings_default.DEFAULT_FONT_FAMILY + global_font_size = wl_settings_default.DEFAULT_FONT_SIZE + class Wl_Loading(QSplashScreen): def __init__(self): super().__init__(QPixmap(wl_paths.get_path_img('wl_loading.png'))) @@ -1220,22 +1234,6 @@ def __init__(self, main): self.wrapper_info.layout().setColumnStretch(1, 5) if __name__ == '__main__': - file_settings = wl_paths.get_path_file('wl_settings.pickle', internal = False) - file_settings_display_lang = wl_paths.get_path_file('wl_settings_display_lang.pickle', internal = False) - - # UI scaling - if os.path.exists(file_settings): - with open(file_settings, 'rb') as f: - settings_custom = pickle.load(f) - - ui_scaling = settings_custom['general']['ui_settings']['interface_scaling'] - global_font_family = settings_custom['general']['ui_settings']['font_family'] - global_font_size = settings_custom['general']['ui_settings']['font_size'] - else: - ui_scaling = wl_settings_default.DEFAULT_INTERFACE_SCALING - global_font_family = wl_settings_default.DEFAULT_FONT_FAMILY - global_font_size = wl_settings_default.DEFAULT_FONT_SIZE - # Environment variables for QT should be set before QApplication is created os.environ['QT_SCALE_FACTOR'] = re.sub(r'([0-9]{2})%$', r'.\1', ui_scaling) diff --git a/wordless/wl_nlp/wl_nlp_utils.py b/wordless/wl_nlp/wl_nlp_utils.py index 7de3ae368..e1190d26a 100644 --- a/wordless/wl_nlp/wl_nlp_utils.py +++ b/wordless/wl_nlp/wl_nlp_utils.py @@ -140,14 +140,14 @@ def to_lang_util_texts(main, util_type, util_codes): def check_models(main, langs, lang_utils = None): def update_gui_stanza(main, err_msg): - if not wl_checks_work_area.check_results_download_model(main, err_msg): - nonlocal models_ok - models_ok = False + nonlocal models_ok + + models_ok = wl_checks_work_area.check_results_download_model(main, err_msg) models_ok = True langs = list(langs) - # Check all language utilities if language utility is not specified + # Check all language utilities if not specified if lang_utils is None: lang_utils = [] @@ -190,27 +190,29 @@ def update_gui_stanza(main, err_msg): utils[i] = main.settings_custom['lemmatization']['lemmatizer_settings'][lang] elif util == 'default_dependency_parser': if lang in main.settings_custom['dependency_parsing']['dependency_parser_settings']: - utils[i] = main.settings_custom['dependency_parsing']['dependency_parser_settings'] + utils[i] = main.settings_custom['dependency_parsing']['dependency_parser_settings'][lang] elif util == 'default_sentiment_analyzer': if lang in main.settings_custom['sentiment_analysis']['sentiment_analyzer_settings']: - utils[i] = main.settings_custom['sentiment_analysis']['sentiment_analyzer_settings'] + utils[i] = main.settings_custom['sentiment_analysis']['sentiment_analyzer_settings'][lang] for lang, utils in zip(langs, lang_utils): for util in utils: if util.startswith('spacy_'): if lang == 'nno': - lang = 'nob' + lang_spacy = 'nob' else: - lang = wl_conversion.remove_lang_code_suffixes(main, lang) + lang_spacy = wl_conversion.remove_lang_code_suffixes(main, lang) elif util.startswith('stanza_'): if lang not in ['zho_cn', 'zho_tw', 'srp_latn']: - lang = wl_conversion.remove_lang_code_suffixes(main, lang) + lang_stanza = wl_conversion.remove_lang_code_suffixes(main, lang) + else: + lang_stanza = lang if ( util.startswith('spacy_') - and lang in LANGS_SPACY + and lang_spacy in LANGS_SPACY ): - model_name = LANGS_SPACY[lang] + model_name = LANGS_SPACY[lang_spacy] try: importlib.import_module(model_name) @@ -230,13 +232,13 @@ def update_gui_stanza(main, err_msg): models_ok = False elif ( util.startswith('stanza_') - and lang in LANGS_STANZA_TOKENIZERS + and lang_stanza in LANGS_STANZA_TOKENIZERS ): worker_download_model = Wl_Worker_Download_Model_Stanza( main, dialog_progress = wl_dialogs_misc.Wl_Dialog_Progress_Download_Model(main), update_gui = lambda err_msg: update_gui_stanza(main, err_msg), - lang = lang + lang = lang_stanza ) wl_threading.Wl_Thread(worker_download_model).start_worker() diff --git a/wordless/wl_nlp/wl_pos_tagging.py b/wordless/wl_nlp/wl_pos_tagging.py index 7bce91306..e54a808ea 100644 --- a/wordless/wl_nlp/wl_pos_tagging.py +++ b/wordless/wl_nlp/wl_pos_tagging.py @@ -248,16 +248,10 @@ def wl_pos_tag(main, inputs, lang, pos_tagger = 'default', tagset = 'default'): tag: tag_universal for tag, tag_universal, _, _ in main.settings_custom['pos_tagging']['tagsets']['mapping_settings'][lang][pos_tagger] } - tokens_tagged = list(tokens_tagged) - - # Issue warnings if any tag is missing from the mapping table - for _, tag in tokens_tagged: - if tag not in mappings: - print(f'Warning: tag "{tag}" is missing from the {wl_conversion.to_lang_text(main, lang)} mapping table!') tokens_tagged = [ (token, mappings.get(tag, 'X')) - for token, tag in tokens_tagged + for token, tag in list(tokens_tagged) ] return tokens_tagged