Π¦Π΅ β Π²Π΅Π»ΠΈΠΊΠΈΠΉ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈΠΉ ΡΠ»ΠΎΠ²Π½ΠΈΠΊ ΡΠΊΡΠ°ΡΠ½ΡΡΠΊΠΎΡ ΠΌΠΎΠ²ΠΈ (ΠΠΠ‘Π£Π).
This is a project to generate POS tag dictionary for Ukrainian language.
ΠΠΏΠΈΡ
Π‘Π»ΠΎΠ²Π½ΠΈΠΊ ΠΌΡΡΡΠΈΡΡ ΡΠ»ΠΎΠ²Π° ΡΠ° ΡΡ
Π½Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠΈ Π· Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½ΠΈΠΌΠΈ ΡΠ΅Π³Π°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΎΠΆ ΡΠ½ΡΡ ΡΠ½ΡΠΎΡΠΌΠ°ΡΡΡ,
Π·ΠΎΠΊΡΠ΅ΠΌΠ°:
* Π΄ΠΎΠ΄Π°ΡΠΊΠΎΠ²Ρ ΡΠ΅Π³ΠΈ: slang, rare, bad...
* ΠΏΡΠΎΠΏΠΎΠ½ΠΎΠ²Π°Π½Ρ Π·Π°ΠΌΡΠ½ΠΈ Π΄Π»Ρ ΠΏΠΎΠΊΡΡΡΡΠ²
* Π·Π²βΡΠ·ΠΎΠΊ ΠΌΡΠΆ Π±Π°Π·ΠΎΠ²ΠΈΠΌΠΈ ΡΠ° ΠΏΠΎΡΡΠ²Π½ΡΠ»ΡΠ½ΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΏΡΠΈΠΊΠΌΠ΅ΡΠ½ΠΈΠΊΡΠ²
* ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ Π²ΡΠ΄ΠΌΡΠ½ΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΈΠΊΠΌΠ΅ΡΠ½ΠΈΠΊΡΠ²
ΠΠ»Ρ Π²ΡΡΡ
ΡΠ°ΠΉΠ»ΡΠ² Π² data/dict ΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π³Π΅Π½Π΅ΡΡΡ Π²ΡΡ ΠΌΠΎΠΆΠ»ΠΈΠ²Ρ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠΌΠΈ Π· ΡΠ΅Π³Π°ΠΌΠΈ ΡΠ°ΡΡΠΈΠ½ ΠΌΠΎΠ²ΠΈ
Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π°ΡΡΠΊΡΡΠ² Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ·Ρ data/affix.
ΠΠΎΠΊΠ»Π°Π΄Π½ΡΡΠ° ΡΠ½ΡΠΎΡΠΌΠ°ΡΡΡ Π² ΡΠ΅ΡΡ doc/
ΠΠΈΠΌΠΎΠ³ΠΈ Π΄ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ Π·Π°ΡΠΎΠ±ΡΠ²
- java (JDK >= 11)
- 5ΠΠ± Π²ΡΠ»ΡΠ½ΠΎΡ ΠΏΠ°ΠΌ'ΡΡΡ
ΠΠ°ΡΡΠΎΡΡΠ²Π°Π½Π½Ρ
Π·Ρ ΡΠ»ΠΎΠ²Π½ΠΈΠΊΠΎΠΌ ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ±ΠΈΡΠΈ Π΄Π²Ρ ΡΠ΅ΡΡ:
- Π·Π³Π΅Π½Π΅ΡΡΠ²Π°ΡΠΈ Π²ΡΡ ΠΌΠΎΠΆΠ»ΠΈΠ²Ρ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠΌΠΈ Π΄Π»Ρ ΡΠ»ΡΠ², ΡΠΎ Π²ΠΆΠ΅ Ρ Π² ΡΠ»ΠΎΠ²Π½ΠΈΠΊΡ (Π΄ΠΈΠ². ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ Β«Π―ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈΒ» Π½ΠΈΠΆΡΠ΅)
- Π³Π΅Π½Π΅ΡΡΠ²Π°ΡΠΈ ΡΠΎΡΠΌΠΈ Π΄Π»Ρ Π΄ΠΎΠ²ΡΠ»ΡΠ½ΠΈΡ ΡΠ»ΡΠ² Π² ΡΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΡΠ΅ΠΆΠΈΠΌΡ: Π΄ΠΎΠΊΠ»Π°Π΄Π½ΡΡΠ΅
Π―ΠΊ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ
- ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ java (JDK 11 Π°Π±ΠΎ Π½ΠΎΠ²ΡΡΡ)
- (ΠΠΈΡΠ΅ Π΄Π»Ρ Windows) Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ Ρ Π·Π°ΠΏΡΡΡΠΈΡΠΈ git bash
- ΠΠ»ΠΎΠ½ΡΠ²Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡ:
git clone https://github.com/brown-uk/dict_uk.git
- ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅ΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΡ: cd dict_uk
Π―ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈ
`./gradlew expand`
Π°Π±ΠΎ Π΄Π»Ρ Windows:
`bin/expand_win.sh`
ΠΠ° Π²ΠΈΡ
ΠΎΠ΄Ρ:
- out/dict_corp_vis.txt - ΡΠ»ΠΎΠ²Π½ΠΈΠΊ Ρ Π²ΡΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ (Π· Π²ΡΠ΄ΡΡΡΠΏΠ°ΠΌΠΈ, Π·Π³ΡΡΠΏΠΎΠ²Π°Π½ΠΈΠΉ Π·Π° Π»Π΅ΠΌΠ°ΠΌΠΈ) Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π³Π»ΡΠ΄Ρ, Π°Π½Π°Π»ΡΠ·Ρ Ρ ΠΎΠΏΡΠ°ΡΡΠΎΠ²ΡΠ²Π°Π½Π½Ρ
- out/dict_corp_lt.txt - ΡΠ»ΠΎΠ²Π½ΠΈΠΊ Ρ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ Π΄Π»Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ Π² ΠΠ, Π·ΠΎΠΊΡΠ΅ΠΌΠ° Π· ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ Π³Π΅Π½Π΅ΡΡΡΠΌΠΎ ΡΠ»ΠΎΠ²Π½ΠΈΠΊ morfologik, ΡΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ Π² LanguageTool
- out/words.txt - ΡΠΏΠΈΡΠΎΠΊ Π²ΡΡΡ Π²ΡΠ΄ΠΎΠΌΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠΌ
- out/words_spell.txt - ΡΠΏΠΈΡΠΎΠΊ Π²ΡΡΡ Π²ΡΠ΄ΠΎΠΌΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠΌ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΈΡ Π· ΠΏΠΎΠ³Π»ΡΠ΄Ρ ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΡ
- out/lemmas.txt - ΡΠΏΠΈΡΠΎΠΊ Π»Π΅ΠΌ
ΠΡΡΠ΅Π½Π·ΡΡ
ΠΠ°Π½Ρ ΡΠ»ΠΎΠ²Π½ΠΈΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ Π·Π³ΡΠ΄Π½ΠΎ Π· ΡΠΌΠΎΠ²Π°ΠΌΠΈ Π»ΡΡΠ΅Π½Π·ΡΡ "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License" (https://creativecommons.org/licenses/by-nc-sa/4.0/)
ΠΡΠΎΠ³ΡΠ°ΠΌΠ½Ρ Π·Π°ΡΠΎΠ±ΠΈ Π²ΡΠ»ΡΠ½ΠΎ ΡΠΎΠ·ΠΏΠΎΠ²ΡΡΠ΄ΠΆΡΡΡΡΡΡ Π·Π° ΡΠΌΠΎΠ² Π»ΡΡΠ΅Π½Π·ΡΡ GPL Π²Π΅ΡΡΡΡ 3.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ: ΠΏΠΎΡ ΡΠ΄Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΌΠ°ΡΡΡ ΡΠ²ΠΎΡ Π»ΡΡΠ΅Π½Π·ΡΡ
ΠΠΊΡΡΠΌ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΡΠ°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΊΡΡ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Ρ ΠΏΡΠΎΡΠΊΡΠ°Ρ https://voice.mozilla.org/uk Ρ https://common-voice.github.io/sentence-collector/#/ Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½ΠΎ Π΄ΠΎ ΡΡ Π»ΡΡΠ΅Π½Π·ΡΠΉ.
Copyright (c) 2022 ΠΠ½Π΄ΡΡΠΉ Π ΠΈΡΡΠ½ (arysin@gmail.com), ΠΠ°ΡΠΈΠ»Ρ Π‘ΡΠ°ΡΠΊΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΡΠ£Π
ΠΠΎΡ ΡΠ΄Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ
- Π‘Π»ΠΎΠ²Π½ΠΈΠΊΠΈ morfologik
- Π‘Π»ΠΎΠ²Π½ΠΈΠΊΠΈ hunspell
- Π‘Π»ΠΎΠ²Π½ΠΈΠΊΠΈ Firefox
- Π‘Π»ΠΎΠ²Π½ΠΈΠΊΠΈ LibreOffice.org
Description
For all files in data/dict the project generates all possible word forms with POS tags
by using affix rules from files in data/affix.
Required software
- java (JDK >= 11)
- 5G of free RAM
How to run
`./gradlew expand`
or on Windows:
`bin/expand_win.sh`
Output:
- out/dict_corp_vis.txt - Dictionary in visual (indented) format for review, analysis or conversion
- out/dict_corp_lt.txt - Dictionary in flat format (is used for preparing morfologik dictionary that can be used by LanguageTool)
- out/words.txt - list of all unique known words
- out/words_spell.txt - words valid for spelling
- out/lemmas.txt - list of unique lemmas
Building under docker
sudo docker build -t brown-uk/dict_uk .
sudo docker run -d --name dict_uk brown-uk/dict_uk /bin/bash
sudo docker cp dict_uk:/src/out/ ./out
sudo chown -R $USER: ./out
sudo docker stop dict_uk
License
Dictionary data are distributed under "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License" (https://creativecommons.org/licenses/by-nc-sa/4.0/)
Software is distributed under GPLv3.
Note: derivative projects have different licenses
Besides that materials in this project are allowed to be used in https://voice.mozilla.org/uk and https://common-voice.github.io/sentence-collector/#/ according to their licenses.
Copyright (c) 2022 Andriy Rysin (arysin@gmail.com), Vasyl Starko, BrUK team
ΠΡΠΎΡΠΈΠΌΠΎ ΠΏΠΎΡΠΈΠ»Π°ΡΠΈΡΡ Π½Π° ΡΠ΅ΡΡΡΡ ΡΠ°ΠΊ:
ΠΡΠΎΡΠΈΠΌΠΎ ΠΏΠΎΡΠΈΠ»Π°ΡΠΈΡΡ Π½Π° Π²Π΅Π±Π²Π΅ΡΡΡΡ ΠΠΠ‘Π£ΠΡ ΡΠ°ΠΊ:
Π ΠΈΡΡΠ½ Π., Π‘ΡΠ°ΡΠΊΠΎ Π. ΠΠ΅Π»ΠΈΠΊΠΈΠΉ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈΠΉ ΡΠ»ΠΎΠ²Π½ΠΈΠΊ ΡΠΊΡΠ°ΡΠ½ΡΡΠΊΠΎΡ ΠΌΠΎΠ²ΠΈ (ΠΠΠ‘Π£Π). ΠΠ΅Π±Π²Π΅ΡΡΡΡ 5.6.2. 2005-2022. URL: https://r2u.org.ua/vesum/
Rysin, A., Starko, V. Large Electronic Dictionary of Ukrainian (VESUM). Version 5.6.2. 2005-2022. Available at: https://r2u.org.ua/vesum/