Skip to content

Russian coreference resolution made as simple and accessible as could be

Notifications You must be signed in to change notification settings

gleb-skobinsky/RuCoref-inference

Repository files navigation

Очень простой инференс разрешения кореферентности для русского языка

1. Установите зависимости

Создайте виртуальнукю среду python 3.7, активируйте ее и установите зависимости (pip install -r requirements.txt).
Модель обучена и инференсится при помощи пакета allennlp==2.2.0, поэтому проверьте его нормальное функицонирование: allennlp evaluate --help.

2. Замените датаридер

Чтобы модель читала вводимые данные правильно, замените файл в dist-packages виртуальной среды с allennlp_models/common/ontonotes.py на ontonotes.py, который лежит в корне этого проекта.

3. Скачайте и запустите модель

Скачайте веса модели отсюда: https://disk.yandex.ru/d/0TKZcXkaBCbq3Q

И запустите инференс командой: python autoannotations.py --model [ПУТЬ К МОДЕЛИ].
Например: python autoannotations.py --model model2.tar.gz.
Команда предложит ввести текст и выделит в нем кореферентные цепочки, например:
Джобс и Возняк сумели разработать первый по-настоящему персональный компьютер Apple I, который на тот момент выглядел как деревянная шкатулка, и поставлялся без монитора. Частота процессора компьютера достигала 1 МГц, а размер оперативной памяти составлял 4 килобайта. Apple I сразу продался партией в 50 машин и дал повод для разработки продолжения. В апреле 1977 года Джобс и Возняк провели официальную презентацию их следующего компьютера Apple II. В 70-х он стал самым массовым и удачно продаваемым персональным компьютером, с более чем 5 миллионами проданных копий по всему миру. На тот момент компьютер предлагал покупателям интегрированную клавиатуру, цветную графику, звук, пластиковый корпус, и два слота для дискет.
Вывод модели:
{M2: Джобс } и {M3: Возняк } сумели разработать {M1: первый по - настоящему персональный компьютер Apple I } , который на тот момент выглядел как деревянная шкатулка , и поставлялся без монитора . Частота процессора {M1: компьютера } достигала 1 МГц , а размер оперативной памяти составлял 4 килобайта . {M1: Apple I } сразу продался партией в 50 машин и дал повод для разработки продолжения . В апреле 1977 года {M2: Джобс } и {M3: Возняк } провели официальную презентацию {M4: их следующего компьютера Apple II } . В 70 - х {M4: он } стал самым массовым и удачно продаваемым персональным компьютером , с более чем 5 миллионами проданных копий по всему миру . На тот момент {M4: компьютер } предлагал покупателям интегрированную клавиатуру , цветную графику , звук , пластиковый корпус , и два слота для дискет .

Комментарии: При первом запуске transformers скачает и распакует RuBERT от Deeppavlov в кэш. Это может занять некоторое время, но привычный прогресс-бар скачивания не отобразится. Обратите внимание, что скрипт выше тестировался на Windows, на Linux что-то может пойти не так. Чем длиннее документ, тем больше размерность тензора, которую модель попытается посчитать, поэтому лучше не загружать длинные документы, если объем ОЗУ на устройсте меньше 10 ГБ.

4. Визуализируйте результат

Цепочки можно визулизировать и редактировать, открыв index.html в браузере и вставив полученный выше текст с разметкой в текстовое поле. Не забудьте нажать на кнопку "распарсить документ". Получится вот так:

build the coreference chains

Благодарности

Красивый редактор из последнего пункта - от Bruno Oberle (https://github.com/boberle/sacr), слегка измененный и переведенный на русский.

TODO:

Планирую добавить поддержку вложенных упоминаний в разметке командной строки.

About

Russian coreference resolution made as simple and accessible as could be

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published