Naeval — количественное сравнение систем для русскоязычного NLP |
|||||||||||||||||||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-08-16 20:47 Проект Natasha Naeval — количественное сравнение систем для русскоязычного NLP Проект Natasha решает базовые задачи обработки естественного русского языка: сегментация на токены и предложения, анализ морфологии и синтаксиса, NER. Natasha — не научный проект, у нас нет цели побить SOTA. Важно измерить качество на публичных бенчмарках, постараться занять высокое место, не проиграв в производительности. Naeval — часть проекта Natasha, набор скриптов для оценки качества и скорости работы открытых инструментов для обработки естественного русского языка:
Сетка решений и тестовых датасетов из репозитория Naeval. Инструменты проекта Natasha: Razdel, Navec, Slovnet. Дальше подробнее рассмотрим задачу NER. Датасеты Для русскоязычного NER существует 5 публичных бенчмарков: factRuEval-2016, Collection5, Gareev, BSNLP-2019, WiNER. Ссылки на источники собраны в реестре Corus. Все датасеты состоят из новостных статей, в текстах отмечены подстроки с именами, названиями организаций и топонимов. Что может быть проще?
Модели Naeval сравнивает 12 открытых решений задачи NER для русского языка. Все инструменты завёрнуты в Docker-контейнеры с веб-интерфейсом: $ docker run -p 8080:8080 natasha/tomita-algfio 2020-07-02 11:09:19 BIN: 'tomita-linux64', CONFIG: 'algfio' 2020-07-02 11:09:19 Listening http://0.0.0.0:8080 $ curl -X POST http://localhost:8080 --data 'Глава государства Дмитрий Медведев и Председатель Правительства РФ Владимир Путин выразили глубочайшие соболезнования семье актрисы' <document url="" di="5" bi="-1" date="2020-07-02"> <facts> <Person pos="18" len="16" sn="0" fw="2" lw="3"> <Name_Surname val="МЕДВЕДЕВ" /> <Name_FirstName val="ДМИТРИЙ" /> <Name_SurnameIsDictionary val="1" /> </Person> <Person pos="67" len="14" sn="0" fw="8" lw="9"> <Name_Surname val="ПУТИН" /> <Name_FirstName val="ВЛАДИМИР" /> <Name_SurnameIsDictionary val="1" /> </Person> </facts> </document> Некоторые решения так тяжело запустить и настроить, что мало людей ими пользуется. PullEnti — сложная система, построенная на правилах, заняла первой место на конкурсе factRuEval в 2016 году. Инструмент распространяется в виде SDK для C#. Работа над Naeval вылилась в отдельный проект с набором обёрток для PullEnti: PullentiServer — веб-сервер на С#, pullenti-client — Python-клиент для PullentiServer: $ docker run -p 8080:8080 pullenti/pullenti-server 2020-07-02 11:42:02 [INFO] Init Pullenti v3.21 ... 2020-07-02 11:42:02 [INFO] Load lang: ru, en 2020-07-02 11:42:03 [INFO] Load analyzer: geo, org, person 2020-07-02 11:42:05 [INFO] Listen prefix: http://*:8080/ >>> from pullenti_client import Client >>> client = Client('localhost', 8080) >>> text = 'Глава государства Дмитрий Медведев и ' ... 'Председатель Правительства РФ Владимир Путин ' ... 'выразили глубочайшие соболезнования семье актрисы' >>> result = client(text) >>> result.graph Формат разметки у всех инструментов немного отличается. Naeval загружает результаты, адаптирует типы сущностей, упрощает структуру спанов: Было (PullEnti) Напомним, парламент Южной Осетии на состоявшемся 19 декабря ORGANIZATION?????????? GEO????????? заседании одобрил представление президента Республики PERSON???????????????? PERSONPROPERTY??????? Леонида Тибилова об отставке председателя Верховного суда ???????????????? PERSON??????????????????????? PERSONPROPERTY?????????????? ORGANIZATION??? Ацамаза Биченова. ???????????????? Стало Напомним, парламент Южной Осетии на состоявшемся 19 декабря ORG?????? LOC????????? заседании одобрил представление президента Республики Леонида Тибилова об отставке председателя Верховного суда PER????????????? ORG???????????? Ацамаза Биченова. PER????????????? Результат работы PullEnti сложнее адаптировать, чем разметку factRuEval-2016. Алгоритм убирает тег PERSONPROPERTY, разбивает вложенные PERSON, ORGANIZATION и GEO на непересекающиеся PER, LOC, ORG. Сравнение Для каждой пары «модель, датасет» Naeval вычисляет F1-меру по токенам, публикует таблицу с оценками качества. Natasha — не научный проект, для нас важна практичность решения. Naeval измеряет время старта, скорость работы, размер модели и потребление RAM. Таблица с результатами в репозитории. Мы подготовили датасеты, завернули 20 систем в Docker-контейнеры и посчитали метрики для 5 других задач русскоязычного NLP, результаты в репозитории Naeval: токенизация, сегментация на предложения, эмбединги, анализ морфологии и синтаксиса. natural_language_processing — чат пользователей, разработчиков проекта. Источник: natasha.github.io Комментарии: |
||||||||||||||||||||||