Главная
Онлайн-демонстрация
Проекты
Другие системы
Скачать
Функционал
Проведение лингвистического анализа неструктурированных текстов (обзор возможностей): выделение именованных сущностей (Named Entity Recognition), морфология, семантика и разные процедуры обработки. Типы сущностей: персоны, организации, даты, страны, указы и др. (см. здесь). Все алгоритмы основаны на правилах. Языки: русский, украинский и немного английский.
Предназначение
Это SDK для разработчиков информационных систем, имеющих дело с неструктурированными данными - текстами на естественном языке. Имеются функционально эквивалентные библиотеки c исходными кодами на C# (.NET Framework 4.0+ и Core 2.0+), Java, JavaScript (Node.js) и Python 3.
Опыт показал, что для решения большинства практических задач достаточно морфологического анализа и некоторых вспомогательных возможностей типа выделения именных групп, анализа концов предложений и кавычек, анализа различных числовых представлений и пр. Это всё есть в SDK Pullenti. Ведутся работы по представлению на семантическом уровне.
Развитие
С версии 4.0 для C# выложили исходные коды как для других языков, сгенерирована документация для каждого языка.
С версии 3.13 сделана версия и на JavaScript (Node.js), для чего разработан специальный конвертeр .NET в JavaScript.
С версии 3.7 сделана версия и на Python 3, для чего разработан специальный конвертeр .NET в Python.
С версии 3.5 поддержана .NET Core 2.0 (сделана отдельная версия SDK).
С версии 3.0 сделана версия и на Java, для чего разработан специальный конвертeр .NET в Java.
С версии 2.58 осуществляется настройка на английский язык.
Соревнование
В рамках конференции Диалог-2016 мы участвовали в соревновании FactRuEval с другими системами в 2-х дорожках (4 модификации). Участие анонимное, мы были под псевдонимом Pink. На дорожках T1, T2 и T2_m Pullenti занял 1-е место, на T1_l - второе. Подробности здесь.
Чатботы
На базе Pullenti вполне можно разрабатывать интеллектуальные чатботы (см. здесь). Сейчас технология развивается на одном реальном проекте.
Лицензионная политика
Non-Commercial Freeware - система бесплатна для некоммерческого использования (скачать). Для коммерческого использования покупается лицензия на SDK с техподдержкой и без ограничений по времени и на число конечных пользователей/инсталляций.
Демонстрация
Вы можете попробовать работоспособность в online-режиме: 1) выделение сущностей 2) семантический анализ (пока старый вариант) 3) анализ структуры НПА и договоров 4) анализ заголовков статей, научных работ и т.п. (попробовать). Отметим, что многие полезные возможности не вошли в Demo.
Контакты
Почта: k.smith@mail.ru
Скайп: konstantin.smith
Телеграм: @ksmith
Чат в Телеграме: t.me/Pullenti
Реализация
SDK Pullenti разрабатывается на C#, но распространяется в виде исходных кодов на C#, Java, Python и Javascript, для получения которых разработан специальный конвертер кодов UniSharping. Этот конвертер генерирует функционально эквивалентный код, что подтверждается многочисленными автотестами, которые также конвертируются и корректно отрабатывают на конечных языках.
Как и следовало ожидать, скорости обработки на разных языках отличаются. C# и Java примерно одинаковы, Javascript медленнее в 5 раз, Python медленнее в 20 раз.
Особенности
При разработке большое внимание уделено качеству атрибутов выделяемых сущностей и их падежной нормализации. Упор сделан на русский язык, многие сущности выделяются и на украинском языке. Проводились работы по настройке на английский язык, но пока это не востребовано. Система постоянно совершенствуется на реальных данных, текущая версия:
Скорость работы
Очень примерная оценка: 60.000-80.000 знаков в секунду на компьютере типовой комплектации.
Максимальный объём текста на 32-разрядном компьютере, обрабатываемого за один раз: не более 20Мб. На 64-разрядном - зависит от объёма ОП.
Морфология (POS Tagger)
Морфология может быть выделена из SDK и использована отдельно. Это POS-Tagger для русского, украинского и английского языков, примерная скорость работы: 2Мб в секунду (для C#).
Строит морфологические варианты и для неизвестных слов. Предлагает нормальную форму слова (лемму).
В 2018 году мы участвовали в конкурсе MorphRuEval, подробности здесь.
© Кузнецов К.И., 2013. All rights reserved.