Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/natasha/nerus
Large silver standart Russian corpus with NER, morphology and syntax markup
https://github.com/natasha/nerus
corpus-linguistics morphology ner nlp python russian syntax
Last synced: about 1 month ago
JSON representation
Large silver standart Russian corpus with NER, morphology and syntax markup
- Host: GitHub
- URL: https://github.com/natasha/nerus
- Owner: natasha
- License: mit
- Created: 2018-09-10T05:46:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-24T09:26:06.000Z (over 1 year ago)
- Last Synced: 2024-04-25T22:02:55.418Z (8 months ago)
- Topics: corpus-linguistics, morphology, ner, nlp, python, russian, syntax
- Language: Python
- Homepage:
- Size: 9.62 MB
- Stars: 58
- Watchers: 7
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![CI](https://github.com/natasha/nerus/actions/workflows/test.yml/badge.svg)
Nerus is a large silver standard Russian corpus annotated with POS tags, syntax trees and NER tags (PER, LOC, ORG). Nerus has a certain degree of errors in markup, but the quality is high, see the evaluation section. The corpus contains ~700K news articles from Lenta.ru. Tools from project Natasha were used: Razdel for sentence and token segmentation, Slovnet BERT models for morphology, syntax and NER annotation. Markup is stored in the standard CoNLL-U format.
> Nerus = Lenta.ru dataset + Razdel + Slovnet BERT morphology, syntax, NER + CoNLL-U.
```
# newdoc id = 0
# sent_id = 0_0
# text = Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в каких регионах России зафиксирована наиболее высокая смертность от рака, сообщает РИА Новости.
1 Вице-премьер _ NOUN _ Animacy=Anim|Case=Nom|Gender=Masc|Number=Sing 7 nsubj _ Tag=O
2 по _ ADP _ _ 4 case _ Tag=O
3 социальным _ ADJ _ Case=Dat|Degree=Pos|Number=Plur 4 amod _ Tag=O
4 вопросам _ NOUN _ Animacy=Inan|Case=Dat|Gender=Masc|Number=Plur 1 nmod _ Tag=O
5 Татьяна _ PROPN _ Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing 1 appos _ Tag=B-PER
6 Голикова _ PROPN _ Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing 5 flat:name _ Tag=I-PER
7 рассказала _ VERB _ Aspect=Perf|Gender=Fem|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Act 0 root _ Tag=O
8 , _ PUNCT _ _ 13 punct _ Tag=O
9 в _ ADP _ _ 11 case _ Tag=O
10 каких _ DET _ Case=Loc|Number=Plur 11 det _ Tag=O
11 регионах _ NOUN _ Animacy=Inan|Case=Loc|Gender=Masc|Number=Plur 13 obl _ Tag=O
12 России _ PROPN _ Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing 11 nmod _ Tag=B-LOC
13 зафиксирована _ VERB _ Aspect=Perf|Gender=Fem|Number=Sing|Tense=Past|Variant=Short|VerbForm=Part|Voice=Pass 7 ccomp _ Tag=O
14 наиболее _ ADV _ Degree=Pos 15 advmod _ Tag=O
15 высокая _ ADJ _ Case=Nom|Degree=Pos|Gender=Fem|Number=Sing 16 amod _ Tag=O
16 смертность _ NOUN _ Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing 13 nsubj:pass _ Tag=O
17 от _ ADP _ _ 18 case _ Tag=O
18 рака _ NOUN _ Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing 16 nmod _ Tag=O
19 , _ PUNCT _ _ 20 punct _ Tag=O
20 сообщает _ VERB _ Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act 0 root _ Tag=O
21 РИА _ PROPN _ Animacy=Inan|Case=Nom|Gender=Neut|Number=Sing 20 nsubj _ Tag=B-ORG
22 Новости _ PROPN _ Animacy=Inan|Case=Nom|Gender=Fem|Number=Plur 21 appos _ Tag=I-ORG
23 . _ PUNCT _ _ 20 punct _ Tag=O# sent_id = 0_1
# text = По словам Голиковой, чаще всего онкологические заболевания становились причиной смерти в Псковской, Тверской, Тульской и Орловской областях, а также в Севастополе.
1 По _ ADP _ _ 2 case _ Tag=O
2 словам _ NOUN _ Animacy=Inan|Case=Dat|Gender=Neut|Number=Plur 9 parataxis _ Tag=O
3 Голиковой _ PROPN _ Animacy=Anim|Case=Gen|Gender=Fem|Number=Sing 2 nmod _ Tag=B-PER
4 , _ PUNCT _ _ 2 punct _ Tag=O
5 чаще _ ADV _ Degree=Cmp 9 advmod _ Tag=O
...```
## Download
nerus_lenta.conllu.gz ~2GB, ~700K texts
## Install
The Nerus package provides a convenient Python 3.7+ API:
```bash
$ pip install nerus
```## Usage
Dataset is gzip-compressed CoNLL-U file:
```bash
$ gunzip -c nerus_lenta.conllu.gz | head# newdoc id = 0
# sent_id = 0_0
# text = Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в каких регионах России зафиксирована наиболее высокая смертность от рака, сообщает РИА Новости.
1 Вице-премьер _ NOUN _ Animacy=Anim|Case=Nom|Gender=Masc|Number=Sing 7 nsubj _ Tag=O
2 по _ ADP _ _ 4 case _ Tag=O
3 социальным _ ADJ _ Case=Dat|Degree=Pos|Number=Plur 4 amod _ Tag=O
4 вопросам _ NOUN _ Animacy=Inan|Case=Dat|Gender=Masc|Number=Plur 1 nmod _ Tag=O
5 Татьяна _ PROPN _ Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing 1 appos _ Tag=B-PER
6 Голикова _ PROPN _ Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing 5 flat:name _ Tag=I-PER
7 рассказала _ VERB _ Aspect=Perf|Gender=Fem|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Act 0 root _ Tag=O
8 , _ PUNCT _ _ 13 punct _ Tag=O
9 в _ ADP _ _ 11 case _ Tag=O
10 каких _ DET _ Case=Loc|Number=Plur 11 det _ Tag=O
11 регионах _ NOUN _ Animacy=Inan|Case=Loc|Gender=Masc|Number=Plur 13 obl _ Tag=O
12 России _ PROPN _ Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing 11 nmod _ Tag=B-LOC
13 зафиксирована _ VERB _ Aspect=Perf|Gender=Fem|Number=Sing|Tense=Past|Variant=Short|VerbForm=Part|Voice=Pass 7 ccomp _ Tag=O
14 наиболее _ ADV _ Degree=Pos 15 advmod _ Tag=O
15 высокая _ ADJ _ Case=Nom|Degree=Pos|Gender=Fem|Number=Sing 16 amod _ Tag=O
16 смертность _ NOUN _ Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing 13 nsubj:pass _ Tag=O
17 от _ ADP _ _ 18 case _ Tag=O
18 рака _ NOUN _ Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing 16 nmod _ Tag=O
19 , _ PUNCT _ _ 20 punct _ Tag=O
20 сообщает _ VERB _ Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act 0 root _ Tag=O
21 РИА _ PROPN _ Animacy=Inan|Case=Nom|Gender=Neut|Number=Sing 20 nsubj _ Tag=B-ORG
22 Новости _ PROPN _ Animacy=Inan|Case=Nom|Gender=Fem|Number=Plur 21 appos _ Tag=I-ORG
23 . _ PUNCT _ _ 20 punct _ Tag=O# sent_id = 0_1
# text = По словам Голиковой, чаще всего онкологические заболевания становились причиной смерти в Псковской, Тверской, Тульской и Орловской областях, а также в Севастополе.
1 По _ ADP _ _ 2 case _ Tag=O
2 словам _ NOUN _ Animacy=Inan|Case=Dat|Gender=Neut|Number=Plur 9 parataxis _ Tag=O
3 Голиковой _ PROPN _ Animacy=Anim|Case=Gen|Gender=Fem|Number=Sing 2 nmod _ Tag=B-PER
4 , _ PUNCT _ _ 2 punct _ Tag=O
5 чаще _ ADV _ Degree=Cmp 9 advmod _ Tag=O
6 всего _ PRON _ Animacy=Inan|Case=Gen|Gender=Neut|Number=Sing 5 obl _ Tag=O
7 онкологические _ ADJ _ Case=Nom|Degree=Pos|Number=Plur 8 amod _ Tag=O
8 заболевания _ NOUN _ Animacy=Inan|Case=Nom|Gender=Neut|Number=Plur 9 nsubj _ Tag=O
9 становились _ VERB _ Aspect=Imp|Mood=Ind|Number=Plur|Tense=Past|VerbForm=Fin|Voice=Mid 0 root _ Tag=O
10 причиной _ NOUN _ Animacy=Inan|Case=Ins|Gender=Fem|Number=Sing 9 xcomp _ Tag=O
11 смерти _ NOUN _ Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing 10 nmod _ Tag=O
...```
Load and show annotations (uses ipymarkup):
```python
>>> from nerus import load_nerus>>> docs = load_nerus(NERUS)
>>> doc = next(docs)
>>> docNerusDoc(
id='0',
sents=[NerusSent(
id='0_0',
text='Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в каких регионах России зафиксирована наиболее высокая смертность от рака, сообщает РИА Новости.',
tokens=[NerusToken(
id='1',
text='Вице-премьер',
pos='NOUN',
feats={'Animacy': 'Anim',
'Case': 'Nom',
'Gender': 'Masc',
'Number': 'Sing'},
head_id='7',
rel='nsubj',
tag='O'
),
NerusToken(
id='2',
text='по',
pos='ADP',
...>>> doc.ner.print()
Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в
PER─────────────
каких регионах России зафиксирована наиболее высокая смертность от
LOC───
рака, сообщает РИА Новости. По словам Голиковой, чаще всего
ORG──────── PER──────
онкологические заболевания становились причиной смерти в Псковской,
LOC──────
Тверской, Тульской и Орловской областях, а также в Севастополе. Вице-
LOC───── LOC───── LOC─────────────── LOC────────
премьер напомнила, что главные факторы смертности в России — рак и
LOC───
болезни системы кровообращения. В начале года стало известно, что
смертность от онкологических заболеваний среди россиян снизилась
впервые за три года. По данным Росстата, в 2017 году от рака умерли
ORG─────
289 тысяч человек. Это на 3,5 процента меньше, чем годом ранее.
>>> sent = doc.sents[0]
>>> sent.morph.print()
Вице-премьер NOUN|Animacy=Anim|Case=Nom|Gender=Masc|Number=Sing
по ADP
социальным ADJ|Case=Dat|Degree=Pos|Number=Plur
вопросам NOUN|Animacy=Inan|Case=Dat|Gender=Masc|Number=Plur
Татьяна PROPN|Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing
Голикова PROPN|Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing
рассказала VERB|Aspect=Perf|Gender=Fem|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Act
, PUNCT
в ADP
каких DET|Case=Loc|Number=Plur
регионах NOUN|Animacy=Inan|Case=Loc|Gender=Masc|Number=Plur
России PROPN|Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing
зафиксирована VERB|Aspect=Perf|Gender=Fem|Number=Sing|Tense=Past|Variant=Short|VerbForm=Part|Voice=Pass
наиболее ADV|Degree=Pos
высокая ADJ|Case=Nom|Degree=Pos|Gender=Fem|Number=Sing
смертность NOUN|Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing
от ADP
рака NOUN|Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing
, PUNCT
сообщает VERB|Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act
РИА PROPN|Animacy=Inan|Case=Nom|Gender=Neut|Number=Sing
Новости PROPN|Animacy=Inan|Case=Nom|Gender=Fem|Number=Plur
. PUNCT
>>> sent.syntax.print()
┌►┌─┌───── Вице-премьер nsubj
│ │ │ ┌──► по case
│ │ │ │ ┌► социальным amod
│ │ └►└─└─ вопросам nmod
│ └────►┌─ Татьяна appos
│ └► Голикова flat:name
┌─└───────── рассказала
│ ┌──────► , punct
│ │ ┌──► в case
│ │ │ ┌► каких det
│ │ ┌►└─└─ регионах obl
│ │ │ └──► России nmod
└──►└─└───── зафиксирована ccomp
│ ┌► наиболее advmod
│ ┌►└─ высокая amod
└►┌─└─── смертность nsubj:pass
│ ┌► от case
└──►└─ рака nmod
┌► , punct
┌─┌─└─ сообщает
│ └►┌─ РИА nsubj
│ └► Новости appos
└────► . punct```
## Documentation
See the Nerus page on natasha.github.io for motivation, examples and usage (in Russian).
## Evaluation
Nerus is an automatically annotated silver standard dataset, it has errors in markup. It is important to estimate the quality of annotation and types of errors. We apply the same pipeline to Lenta.ru articles and several golden datasets: SynTagRus, GramEval2020 Taiga News, Collection5. Then we compare the golden markup with our automatic one and estimate error rates.
### Token segmentation
There are ~5 tokenization errors per 1000 tokens, see Naeval tokenization section. Error examples, first is golden partition from SynTagRus:
```
Иногда| |на| |первое| |место| |в| |списке| |гаджетов|-|неудачников| |попадают| |устройства|,| |подобной| |участи| |совершенно| |не| |заслуживающие|.
Иногда| |на| |первое| |место| |в| |списке| |гаджетов-неудачников| |попадают| |устройства|,| |подобной| |участи| |совершенно| |не| |заслуживающие|.Средний| |размер| |вуза| |на| |Западе| |-| |25000|-|30000| |студентов|.
Средний| |размер| |вуза| |на| |Западе| |-| |25000-30000| |студентов|.-| |Какое| |же| |тут| |зверье| |может| |быть|?|!| |-| |донельзя| |испугался| |толстяк| |Леонтий|.
-| |Какое| |же| |тут| |зверье| |может| |быть|?!| |-| |донельзя| |испугался| |толстяк| |Леонтий|.Наука| |и| |жизнь|,| |№| |10|,| |2005|.
Наука| |и| |жизнь|,| |№| |10,| |2005|.В| |это| |же| |время| |в| |стране| |строились| |планеры| |оригинальных| |конструкций|,| |например| |БП-2| |(|ЦАГИ|-|2|)|.
В| |это| |же| |время| |в| |стране| |строились| |планеры| |оригинальных| |конструкций|,| |например| |БП-2| |(|ЦАГИ-2|)|.Причиненный| |пожарами| |ущерб| |оценивается| |в| |50| |млн.| |австралийских| |долларов| |(|$|27| |млн.|)|.
Причиненный| |пожарами| |ущерб| |оценивается| |в| |50| |млн|.| |австралийских| |долларов| |(|$|27| |млн|.|)|.Самый| |же| |главный| |юмор| |ситуации| |в| |том|,| |что| |поклонники| |Андропова| |явно| |прочат| |Юрия| |Владимировича| |на| |роль| |"|славного| |предшественника|"| |В.| |В.| |Путина|.
Самый| |же| |главный| |юмор| |ситуации| |в| |том|,| |что| |поклонники| |Андропова| |явно| |прочат| |Юрия| |Владимировича| |на| |роль| |"|славного| |предшественника|"| |В|.| |В|.| |Путина|.```
### Morphology
We use the morphoRuEval-2017 methodology and the GramEval2020 Taiga News dataset to score morphology tags. The overall accuracy is 94%, while the more relaxed morphoRuEval version is at 98% (see the Naeval morphology section). Examples of errors, top is correct, "!" marks errors, "?" marks different tags that have the same meaning according to morphoRuEval:
```
Официальные ADJ|Animacy=Inan|Case=Nom|Degree=Pos|Number=Plur
? ADJ|Case=Nom|Degree=Pos|Number=Plur
американские ADJ|Case=Nom|Degree=Pos|Number=Plur
власти NOUN|Animacy=Inan|Case=Nom|Gender=Fem|Number=Plur
отказываются VERB|Aspect=Imp|Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin|Voice=Mid
комментировать VERB|Aspect=Imp|VerbForm=Inf|Voice=Act
подробности NOUN|Animacy=Inan|Case=Acc|Gender=Fem|Number=Plur
программы NOUN|Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing
, PUNCT
ссылаясь VERB|Aspect=Imp|Tense=Pres|VerbForm=Conv|Voice=Mid
на ADP
ее DET
секретность NOUN|Animacy=Inan|Case=Acc|Gender=Fem|Number=Sing
. PUNCTБейкер PROPN|Animacy=Anim|Case=Nom|Gender=Masc|Number=Sing
считается VERB|Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Mid
? VERB|Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Pass
давним ADJ|Case=Ins|Degree=Pos|Gender=Masc|Number=Sing
другом NOUN|Animacy=Anim|Case=Ins|Gender=Masc|Number=Sing
семьи NOUN|Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing
Бушей PROPN|Animacy=Anim|Case=Gen|Gender=Masc|Number=Plur
. PUNCTОбоим NUM|Case=Dat|Gender=Masc
по ADP
24 NUM|NumForm=Digit
? NUM
года NOUN|Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing
, PUNCT
в ADP
Греции PROPN|Animacy=Inan|Case=Loc|Gender=Fem|Number=Sing
они PRON|Case=Nom|Number=Plur|Person=3
провели VERB|Aspect=Perf|Mood=Ind|Number=Plur|Tense=Past|VerbForm=Fin|Voice=Act
по ADP
шесть NUM|Case=Acc
лет NOUN|Animacy=Inan|Case=Gen|Gender=Masc|Number=Plur
и CCONJ
ранее ADV|Degree=Cmp
! ADV|Degree=Pos
в ADP
правонарушениях NOUN|Animacy=Inan|Case=Loc|Gender=Neut|Number=Plur
на ADP
греческой ADJ|Case=Loc|Degree=Pos|Gender=Fem|Number=Sing
территории NOUN|Animacy=Inan|Case=Loc|Gender=Fem|Number=Sing
замечены VERB|Aspect=Perf|Number=Plur|Tense=Past|Variant=Short|VerbForm=Part|Voice=Pass
не PART|Polarity=Neg
были AUX|Mood=Ind|Number=Plur|Tense=Past|VerbForm=Fin|Voice=Act
? AUX|Aspect=Imp|Mood=Ind|Number=Plur|Tense=Past|VerbForm=Fin|Voice=Act
. PUNCTТихонов PROPN|Animacy=Anim|Case=Nom|Gender=Masc|Number=Sing
сообщил VERB|Aspect=Perf|Gender=Masc|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Act
, PUNCT
что SCONJ
уже ADV|Degree=Pos
шестой ADJ|Case=Nom|Degree=Pos|Gender=Masc|Number=Sing
! ADJ|Animacy=Inan|Case=Acc|Degree=Pos|Gender=Masc|Number=Sing
день NOUN|Animacy=Inan|Case=Nom|Gender=Masc|Number=Sing
! NOUN|Animacy=Inan|Case=Acc|Gender=Masc|Number=Sing
находится VERB|Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Mid
в ADP
Австрии PROPN|Animacy=Inan|Case=Loc|Gender=Fem|Number=Sing
, PUNCT
в ADP
одной NUM|Case=Loc|Gender=Fem|Number=Sing
из ADP
лучших ADJ|Case=Gen|Degree=Pos|Number=Plur
клиник NOUN|Animacy=Inan|Case=Gen|Gender=Fem|Number=Plur
мира NOUN|Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing
по ADP
нейрохирургии NOUN|Animacy=Inan|Case=Dat|Gender=Fem|Number=Sing
и CCONJ
сердечно-сосудистым ADJ|Case=Dat|Degree=Pos|Number=Plur
заболеваниям NOUN|Animacy=Inan|Case=Dat|Gender=Neut|Number=Plur
. PUNCT```
### Syntax
We use GramEval2020 Taiga News as a test dataset, UAS is 96%, LAS is 93% (see Naeval syntax section). Examples of errors, left is correct:
```
┌──► Официальные amod ┌──► Официальные amod
│ ┌► американские amod │ ┌► американские amod
└─└─ власти nsubj └─└─ власти nsubj
┌─┌─└─┌─ отказываются | ┌───└─┌─ отказываются
│ │ ┌─└► комментировать xcomp | │ ┌─┌─└► комментировать xcomp
│ │ └►┌─ подробности obj │ │ └►┌─ подробности obj
│ │ └► программы nmod │ │ └► программы nmod
│ │ ┌► , punct │ │ ┌► , punct
│ └──►└─ ссылаясь advcl │ └──►└─ ссылаясь advcl
│ │ ┌──► на case │ │ ┌──► на case
│ │ │ ┌► ее det │ │ │ ┌► ее det
│ └►└─└─ секретность obl │ └►└─└─ секретность obl
└──────► . punct └──────► . punct┌► Единственный amod ┌► Единственный amod
┌────►┌─└─ сын nsubj ┌────►┌─└─ сын nsubj
│ ┌───└──► одного nmod │ ┌───└──► одного nmod
│ │ ┌────► из case │ │ ┌────► из case
│ │ │ ┌──► высокопоставленных amod │ │ │ ┌──► высокопоставленных amod
│ │ │ │ ┌► северокорейских amod │ │ │ │ ┌► северокорейских amod
│ └►└─└─└─ генералов nmod │ └►└─└─└─ генералов nmod
┌─┌─└───┌─┌─── бежал ┌─┌─└───┌─┌─── бежал
│ │ │ │ ┌► из case │ │ │ │ ┌► из case
│ │ │ └►└─ страны obl │ │ │ └►└─ страны obl
│ │ │ ┌──► вместе advmod | │ │ └►┌─── вместе advmod
│ │ │ │ ┌► с case | │ │ │ ┌► с case
│ │ └►└─└─ семьей obl | │ │ └►└─ семьей obl
│ │ ┌──► и cc │ │ ┌──► и cc
│ │ │ ┌► сейчас advmod │ │ │ ┌► сейчас advmod
│ └────►┌─└─└─ находится conj │ └────►┌─└─└─ находится conj
│ │ ┌► в case │ │ ┌► в case
│ ┌─└──►└─ руках obl │ ┌─└──►└─ руках obl
│ │ ┌► американской amod │ │ ┌► американской amod
│ └────►└─ разведки nmod │ └────►└─ разведки nmod
└────────────► . punct └────────────► . punct┌► Бейкер nsubj | ┌► Бейкер nsubj:pass
┌─┌─└─ считается ┌─┌─└─ считается
│ │ ┌► давним amod │ │ ┌► давним amod
│ └►└─ другом xcomp │ └►└─ другом xcomp
│ └►┌─ семьи nmod │ └►┌─ семьи nmod
│ └► Бушей nmod │ └► Бушей nmod
└────► . punct └────► . punct┌► По case ┌► По case
┌►┌───┌─└─ сведениям parataxis ┌►┌───┌─└─ сведениям parataxis
│ │ │ ┌► из case │ │ │ ┌► из case
│ │ ┌─└►└─ источника nmod │ │ ┌─└►└─ источника nmod
│ │ │ ┌► " punct │ │ │ ┌► " punct
│ │ └►┌─└─ Интерфакса nmod │ │ └►┌─└─ Интерфакса nmod
│ │ └──► " punct │ │ └──► " punct
│ └──────► , punct │ └──────► , punct
│ ┌► на case │ ┌► на case
│ ┌►└─ процессе obl │ ┌►└─ процессе obl
│ │ ┌► также advmod │ │ ┌► также advmod
┌─└─────└─└─ представлены ┌─└─────└─└─ представлены
│ ┌─└──► адвокаты nsubj:pass │ ┌─└──► адвокаты nsubj:pass
│ │ ┌► " punct │ │ ┌► " punct
│ ┌─└►┌─└─ Газпрома nmod │ ┌─└►┌─└─ Газпрома nmod
│ │ └──► " punct │ │ └──► " punct
│ │ ┌────► — punct │ │ ┌────► — punct
│ │ │ ┌► самого amod │ │ │ ┌► самого amod
│ │ │ ┌►└─ вероятного amod │ │ │ ┌►└─ вероятного amod
│ └►└─└─┌─ покупателя appos │ └►└─└─┌─ покупателя appos
│ ┌─┌─└► компании nmod │ ┌─┌─└► компании nmod
│ │ │ ┌► " punct │ │ │ ┌► " punct
│ │ └►└─ Юганскнефтегаз appos │ │ └►└─ Юганскнефтегаз appos
│ │ └──► " punct │ │ └──► " punct
│ │ ┌──► , punct │ │ ┌──► , punct
│ │ │ ┌► основного amod │ │ │ ┌► основного amod
│ └►└─└─ актива conj | │ └►└─└─ актива appos
│ │ ┌► " punct │ │ ┌► " punct
│ └►┌─└─ ЮКОСа nmod │ └►┌─└─ ЮКОСа nmod
│ └──► " punct │ └──► " punct
└──────────► . punct └──────────► . punct┌► Между obl | ┌► Между case
┌────►└─ тем parataxis | ┌────►└─ тем obl
│ ┌►┌─── руководство nsubj | │ ┌►┌─── руководство nsubj
│ │ │ ┌► " punct | │ │ │ ┌► " punct
│ │ └►└─ ЮКОСа nmod | │ │ └►└─ ЮКОСа nmod
│ │ └──► " punct | │ │ └──► " punct
┌─┌─└─└───┌─ опротестовало | ┌─└─└───┌─ опротестовало
│ │ ┌─└► решение obj | │ ┌─└► решение obj
│ │ │ ┌► об case | │ │ ┌► об case
│ │ └►└─ аресте nmod | │ ┌───└►└─ аресте nmod
│ │ ┌─└──► акций nmod | │ │ ┌─└──► акций nmod
│ │ │ ┌► " punct | │ │ │ ┌► " punct
│ │ └►┌─└─ Юганскнефтегаза nmod | │ │ └►┌─└─ Юганскнефтегаза nmod
│ │ └──► " punct | │ │ └──► " punct
│ │ ┌────► в case | │ │ ┌────► в case
│ │ │ ┌──► Высшем amod | │ │ │ ┌──► Высшем amod
│ │ │ │ ┌► арбитражном amod | │ │ │ │ ┌► арбитражном amod
│ └──►└─└─└─ суде obl | │ └►└─└─└─ суде nmod
│ └──► России nmod | │ └──► России nmod
└──────────► . punct | └────────► . punct┌► Это det ┌► Это det
┌──►└─ решение nsubj | ┌──►└─ решение nsubj:pass
│ ┌► уже advmod │ ┌► уже advmod
│ ┌►└─ трижды advmod │ ┌►└─ трижды advmod
┌─────┌─└─└─── рассматривалось ┌─────┌─└─└─── рассматривалось
│ │ │ ┌► в case │ │ │ ┌► в case
│ │ └──►└─ судах obl │ │ └──►└─ судах obl
│ │ ┌────► — punct │ │ ┌────► — punct
│ │ │ ┌► первая amod │ │ │ ┌► первая amod
│ │ │ ┌►└─ инстанция nsubj │ │ │ ┌►└─ инстанция nsubj
│ ┌───└►└─└─┌─ удовлетворила parataxis │ ┌───└►└─└─┌─ удовлетворила parataxis
│ │ ┌─└► жалобу obj │ │ ┌─└► жалобу obj
│ │ │ ┌► " punct │ │ │ ┌► " punct
│ │ └►└─ ЮКОСа nmod │ │ └►└─ ЮКОСа nmod
│ │ └──► " punct │ │ └──► " punct
│ │ ┌────────► , punct │ │ ┌────────► , punct
│ │ │ ┌──────► однако advmod │ │ │ ┌──────► однако advmod
│ │ │ │ ┌►┌─── вторая nsubj │ │ │ │ ┌►┌─── вторая nsubj
│ │ │ │ │ │ ┌► и cc │ │ │ │ │ │ ┌► и cc
│ │ │ │ │ └►└─ третья conj │ │ │ │ │ └►└─ третья conj
│ └►└─└─└───┌─ признали conj │ └►└─└─└───┌─ признали conj
│ │ ┌─└► арест obj │ │ ┌─└► арест obj
│ │ └──► акций nmod │ │ └──► акций nmod
│ └──────► законным xcomp │ └──────► законным xcomp
└────────────► . punct └────────────► . punct```
### NER
We used the first 100 news articles from Collection5 for evaluation, PER F1 is 99.7%, LOC — 98.6%, ORG — 97.2%. Examples of errors, top is correct:
```
Выборы Верховного совета Аджарской автономной республики назначены в
ORG────────────── LOC────────────────────────────
соответствии с 241-ой статьей и 4-м пунктом 10-й статьи
Конституционного закона Грузии <О статусе Аджарской автономной
LOC─── LOC──────────────────
республики>.
──────────
>
Выборы Верховного совета Аджарской автономной республики назначены в
ORG────────────── LOC────────────────────────────
соответствии с 241-ой статьей и 4-м пунктом 10-й статьи
Конституционного закона Грузии <О статусе Аджарской автономной
LOC─── LOC─────────────────
республики>.Следственное управление при прокуратуре требует наказать премьера
ORG────────────────────────────────────
Якутии
LOC───
>
Следственное управление при прокуратуре требует наказать премьера
ORG────────────────────
Якутии
LOC───Следственное управление Следственного комитета при прокуратуре
ORG──────────────────── ORG───────────────────────────────────
Российской Федерации по Якутии обжаловало решение прокуратуры
LOC───────────────── LOC───
республики.
>
Следственное управление Следственного комитета при прокуратуре
ORG──────────────────── ORG───────────────────
Российской Федерации по Якутии обжаловало решение прокуратуры
LOC───────────────── LOC───
республики.Как сообщили в четверг корреспонденту Агентства национальных новостей
ORG────────────────────────────
в следственном управлении, еще 16 мая 2007 г. прокуратурой Якутии было
LOC───
возбуждено уголовное дело № 66144 по признакам преступления,
предусмотренного ч. 4 ст. 159 УК РФ по факту причинения имущественного
LO
ущерба в размере 30 млн руб. государственному унитарному предприятию
<Дирекция по строительству железной дороги <Беркакит-Томмот-Якутск>.
ORG──────────────────────────────────────────────────────────────
>
Как сообщили в четверг корреспонденту Агентства национальных новостей
ORG────────────────────────────
в следственном управлении, еще 16 мая 2007 г. прокуратурой Якутии было
LOC───
возбуждено уголовное дело № 66144 по признакам преступления,
предусмотренного ч. 4 ст. 159 УК РФ по факту причинения имущественного
LO
ущерба в размере 30 млн руб. государственному унитарному предприятию
<Дирекция по строительству железной дороги <Беркакит-Томмот-Якутск>.
ORG────────────────────── LOC───────────────────Для установления процессуальным путем всех обстоятельств, касающихся
причинения ущерба, 4 августа 2008 года Следственное управление
ORG────────────────────
Следственного комитета при прокуратуре Российской Федерации по Якутии
ORG─────────────────────────────────── LOC───────────────── LOC───
возбудило уголовное дело № 49234 в отношении Егора Борисова по
PER───────────
признакам составов преступлений, предусмотренных ч. 2 ст. 286, ч. 5
ст. 33, ч. 4 ст. 160 и ч. 2 ст. 286 УК РФ.
LO
>
Для установления процессуальным путем всех обстоятельств, касающихся
причинения ущерба, 4 августа 2008 года Следственное управление
ORG────────────────────
Следственного комитета при прокуратуре Российской Федерации по Якутии
ORG─────────────────── LOC───────────────── LOC───
возбудило уголовное дело № 49234 в отношении Егора Борисова по
PER───────────
признакам составов преступлений, предусмотренных ч. 2 ст. 286, ч. 5
ст. 33, ч. 4 ст. 160 и ч. 2 ст. 286 УК РФ.
LOНачальник полигона твердых бытовых отходов <Игумново> в Нижегородской
ORG───── LOC───────────
области осужден за загрязнение атмосферы и грунтовых вод.
───────
>
Начальник полигона твердых бытовых отходов <Игумново> в Нижегородской
LOC───────────
области осужден за загрязнение атмосферы и грунтовых вод.
───────Федеральная антимонопольная служба (ФАС) России признала, что группа
ORG─────────────────────────────── ORG LOC───
компаний <Мечел> нарушила статью 10 закона <О защите конкуренции> в
ORG──
части создания дискриминационных условий для отдельных потребителей
продукции, а также экономически и технологически необоснованного
отказа от заключения договора на поставку продукции и поддержания
монопольно высокой цены на товар.
>
Федеральная антимонопольная служба (ФАС) России признала, что группа
ORG───────────────────────────────────── LOC───
компаний <Мечел> нарушила статью 10 закона <О защите конкуренции> в
ORG──
части создания дискриминационных условий для отдельных потребителей
продукции, а также экономически и технологически необоснованного
отказа от заключения договора на поставку продукции и поддержания
монопольно высокой цены на товар.Страны Азии и Африки поддержали позицию России в конфликте с Грузией
LOC─ LOC─── LOC─── LOC────
>
Страны Азии и Африки поддержали позицию России в конфликте с Грузией
LOC─── LOC────```
## Support
- Chat — https://t.me/natural_language_processing
- Issues — https://github.com/natasha/nerus/issues
- Commercial support — https://lab.alexkuk.ru## Development
Dev env
```bash
python -m venv ~/.venvs/natasha-nerus
source ~/.venvs/natasha-nerus/bin/activatepip install -r requirements/dev.txt
pip install -e .
```Lint + test
```bash
make test
```Release
```bash
# Update setup.py versiongit commit -am 'Up version'
git tag v0.9.0git push
git push --tags
```Rent YC GPU
```bash
yc compute instance create \
--name gpu \
--zone ru-central1-a \
--network-interface subnet-name=default,nat-ip-version=ipv4 \
--create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts-ngc,type=network-ssd,size=20 \
--cores=8 \
--memory=96 \
--gpus=1 \
--ssh-key ~/.ssh/id_rsa.pub \
--folder-name default \
--platform-id gpu-standard-v1 \
--preemptibleyc compute instance list
yc compute instance delete fhmj2ftcm32qgqt4igjf
```Setup instance
```
sudo locale-gen ru_RU.UTF-8sudo apt-get update
sudo apt-get install -y python3-pip
sudo pip3 install jupyternohup jupyter notebook \
--no-browser \
--allow-root \
--ip=localhost \
--port=8888 \
--NotebookApp.token='' \
--NotebookApp.password='' &ssh -Nf gpu -L 8888:localhost:8888
http://localhost:8888/
```Sync remote
```
scp ~/.nerus.json gpu:~
rsync --exclude data -rv . gpu:~/nerus
rsync -u --exclude data -rv 'gpu:~/nerus/*' .
```Intall dev
```bash
sudo pip3 install -r nerus/requirements/dev.txt
sudo pip3 install -e nerus
```