A library for building a Russian derivational morphology resourse. It is based on the rules described in "The Russian Grammar" book and includes about 700 types of affixational derivation in Russian.
TODO: harmonization, visualization, compounds.
You should have python3 installed on your machine (we recommend Anaconda3 package) and modules listed in requirements.txt. If you do not have them, run in Terminal
pip install -r requirements.txt
To install this project on your local machine, you should run the following commands in Terminal:
git init
git clone https://github.com/nsu-ai/DerivBaseRu.git\
cd DerivBaseRu
Examples of using DerivBaseRu:
>>> from src.Derivation import Derivation
>>> evaluator = Derivation()
>>> print(evaluator.derive(word_b='красить', pos_b='verb', pos_a='adj'))
['красячий', 'крашливый', 'некрасиемый', 'красильный', 'красливый', 'закрасинный', 'красный', 'закрашенный', 'красительный', 'крашеный', 'красилой', 'краский', 'красьючий', 'красиючий', 'красистый', 'красной', 'красительский', 'краситый', 'бескрасной', 'красилый', 'красинный', 'некрасимый', 'красимый', 'бескрасный', 'некрасный', 'некрасной', 'красивучий', 'крашенный', 'красиемый']
>>> print(evaluator.derive_ext(word_b='красить', pos_b='verb', pos_a='adj'))
[('закраснить', 'rule888(за,и):2'), ('окраснить', 'rule888(за,и):2'), ('украснить', 'rule902(у,и):2'), ('прокраснить', 'rule899(про,и):2'), ('краснничать', 'rule814(нича):1'), ('отокраснить', 'rule894(от,и):2'), ('обкраснить', 'rule888(за,и):2'), ('подокраснить', 'rule896(по,и):1'), ('перекраснить', 'rule895(пере,и):1'), ('отокраснить', 'rule894(от,и):1'), ('подкраснить', 'rule896(по,и):2'), ('скраснить', 'rule899(про,и):2'), ('краснить', 'rule796(и):2'), ('краснничать', 'rule814(нича):2'), ('краснеть', 'rule830(е):3'), ('сокраснить', 'rule899(про,и):2'), ('украснить', 'rule902(у,и):1'), ('обескраснить', 'rule893(обез,и):2'), ('откраснить', 'rule894(от,и):1'), ('перекраснить', 'rule895(пере,и):2'), ('подокраснить', 'rule896(по,и):2'), ('обескраснить', 'rule893(обез,и):1'), ('раскраснить', 'rule900(раз,и):2'), ('покраснить', 'rule896(по,и):1'), ('краснить', 'rule796(и):1'), ('раскраснить', 'rule900(раз,и):1'), ('обокраснить', 'rule888(за,и):2'), ('окраснеть', 'rule905(о,е):2'), ('красовать', 'rule807(ова):1'), ('скраснить', 'rule899(про,и):1'), ('покраснеть', 'rule908(о,е):1'), ('накраснить', 'rule888(за,и):2'), ('сокраснить', 'rule899(про,и):1'), ('красеть', 'rule830(е):1'), ('покраснеть', 'rule908(о,е):2'), ('закраснеть', 'rule904(за,е):1'), ('краснеть', 'rule830(е):1'), ('красствовать', 'rule817(ствова):1'), ('откраснить', 'rule894(от,и):2'), ('прикраснить', 'rule898(при,и):1'), ('подкраснить', 'rule896(по,и):1'), ('искраснить', 'rule889(из,и):1'), ('окраснеть', 'rule905(о,е):1'), ('красниться', 'rule933(и,ся):1'), ('покраснить', 'rule896(по,и):2'), ('прикраснить', 'rule898(при,и):2'), ('красеть', 'rule830(е):2'), ('накраснить', 'rule888(за,и):1'), ('закраснить', 'rule888(за,и):1'), ('окраснить', 'rule888(за,и):1'), ('прокраснить', 'rule899(про,и):1'), ('закраснеть', 'rule904(за,е):2'), ('искраснить', 'rule889(из,и):2'), ('обокраснить', 'rule888(за,и):1'), ('красновать', 'rule807(ова):1'), ('обкраснить', 'rule888(за,и):1'), ('красновать', 'rule807(ова):2'), ('красниться', 'rule933(и,ся):2')]
In this section, we describe the notation used in our rule system.
Infl. type | inf | 1sg | 3sg |
---|---|---|---|
1 | делать | делаю | делает |
1 | менять | меняю | меняет |
1 | уметь | умею | умеет |
2 | рисовать | рисую | рисует |
2 | танцевать | танцую | танцует |
2 | горевать | горюю | горюет |
3 | тонуть | тону | тонет |
4 | помнить | помню | помнит |
4 | крутить | кручу | крутит |
4 | обогатить | обогащу | обогатит |
4 | ушибить | ушибу | ушибет |
4 | стелить | стелю | стелет |
4 | зиждить | зижду | зиждет |
5 | держать | держу | держит |
5 | стоять | стою | стоит |
5 | смотреть | смотрю | смотрит |
5 | бежать | бегу | бежит |
6 | плакать | плачу | плачет |
6 | лаять | лаю | лает |
6 | клеветать | клевещу | клевещет |
7з | лезть | лезу | лезет |
7з | ползти | ползу | ползет |
7с | трясти | трясу | трясет |
7д | красть | краду | крадет |
7д | вести | веду | ведет |
7т | честь | чту | чтет |
7т | мести | мету | метет |
7б | грести | гребу | гребет |
7ст | расти | расту | растет |
8г | беречь | берегу | бережет |
8к | печь | пеку | печет |
8*3 | достичь | достигну | достигнет |
9 | тереть | тру | трет |
10ел | молоть | мелю | мелет |
10ол | колоть | колю | колет |
10ор | пороть | порю | порет |
11 | бить | бью | бьет |
12ы | мыть | мою | моет |
12у | дуть | дую | дует |
12и | гнить | гнию | гниет |
12греть | греть | грею | греет |
12петь | петь | пою | поет |
12брить | брить | брею | бреет |
13 | давать | даю | дает |
14м | жать | жму | жмет |
14н | начать | начну | начнет |
14н | мять | мну | мнет |
14ним | снять | сниму | снимет |
14йм | понять | пойму | поймет |
14йм | объять | обойму | обоймет |
14им | принять | приму | примет |
14ым | изъять | изыму | изымет |
14ьм | взять | возьму | возьмет |
15 | стать | стану | станет |
16 | жить | живу | живет |
клясть | клясть | кляну | клянет |
есть | есть | ем | ест |
дать | дать | дам | даст |
быть | быть | буду | будет |
ехать | ехать | еду | едет |
идти | идти | иду | идет |
идти | уйти | уйду | уйдет |
идти | изыти | изыду | изыдет |
Infl. type | f | m | n | p |
---|---|---|---|---|
1 | корона | вирус | окно | джинсы |
2 | земля | олень | море | грабли |
3 | рука | снег | ухо | беруши |
4 | душа | корж | плечо | |
5 | курица | птенец | солнце | ножницы |
6 | змея | воробей | удушье | |
7 | линия | гений | подобие | |
8 | лошадь | путь | время |
Infl. type | adj |
---|---|
1 | белый |
2 | синий |
3 | короткий |
4 | нищий |
5 | куцый |
- Daniil Vodolazsky - s231644
See also the list of contributors who participated in this project.
Apache 2.0, see LICENSE for more details.
Daniil Vodolazsky. DerivBase.Ru: a Derivational Morphology Resource for Russian (LREC 2020).
@InProceedings{vodolazsky:2020:LREC,
author = {Vodolazsky, Daniil},
title = {DerivBase.Ru: a Derivational Morphology Resource for Russian},
booktitle = {Proceedings of The 12th Language Resources and Evaluation Conference},
month = {May},
year = {2020},
address = {Marseille, France},
publisher = {European Language Resources Association},
pages = {3930--3936},
abstract = {Russian morphology has been studied for decades, but there is still no large high coverage resource that contains the derivational families (groups of words that share the same root) of Russian words. The number of words used in different areas of the language grows rapidly, thus the human-made dictionaries published long time ago cannot cover the neologisms and the domain-specific lexicons. To fill such resource gap, we have developed a rule-based framework for deriving words and we applied it to build a derivational morphology resource named DerivBase.Ru, which we introduce in this paper.},
url = {https://www.aclweb.org/anthology/2020.lrec-1.484}
}