Главная
Онлайн-демонстрация
Проекты
Другие системы
Скачать
Функционал
Проведение лингвистического анализа неструктурированных текстов (обзор возможностей): выделение именованных сущностей (Named Entity Recognition), морфология, семантика и разные процедуры обработки. Типы сущностей: персоны, организации, даты, страны, указы и др. (см. здесь). Все алгоритмы основаны на правилах. Языки: русский, украинский и немного английский.
Предназначение
Это SDK для разработчиков информационных систем, имеющих дело с неструктурированными данными - текстами на естественном языке. Имеются функционально эквивалентные библиотеки на .NET Framework 4.0, .NET Core 2.0, Java, JavaScript (Node.js) и Python 3.
Опыт показал, что для решения большинства практических задач достаточно морфологического анализа и некоторых вспомогательных возможностей типа выделения именных групп, анализа концов предложений и кавычек, анализа различных числовых представлений и пр. Это всё есть в SDK Pullenti. Ведутся работы по представлению на семантическом уровне.
Развитие
С версии 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 осуществляется настройка на английский язык.
С версии 2.38 проводятся работы по выделению фактов и связей между сущностями на основе семантического анализа (в связи с невостребованностью работы здесь приостановлены).
С версии 2.24 проводятся работы по реализации полноценного семантического анализа, строящего семантическую сеть на основе синтаксического анализа всего текста. Online-демонстрация содержит этот вариант, однако следует иметь в виду, что здесь мы только в начале пути (на самом деле эта возможность пока не была востребована, поэтому работы приостановлены в этом направлении)
Соревнование
В рамках конференции Диалог-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
Реализация
SDK написано на C# .NET и представляет собой набор сборок .NET Framework (4.0 и выше) и отдельно для .NET Core 2.0. Модули сторонних разработчиков не используются.
Разработан конвертeр .NET в Java, генерируемые исходные коды на Java доступны для скачивания. Скорость работы примерно одинаковая (Java на 15-20% медленнее под Windows).
Также разработан конвертeр .NET в Python и в JavaScript (Node.js), генерируемые исходные коды на Python/JavaScript доступны для скачивания. Время обработки Python примерно в 20 раз (!) больше, чем на .NET, а у JavaScript - в 5 раз, чем .NET.
Для интеграции с другими внешними информационными системами можно реализовать кросплатформенный TCP-сервер, пример такой реализации находится в проекте EP.DemoServer из (DemoNer.sln).
Особенности
При разработке большое внимание уделено качеству атрибутов выделяемых сущностей и их падежной нормализации. Упор сделан на русский язык, многие сущности выделяются и на украинском языке. Сейчас работы ведутся над настройкой на английский язык. Система постоянно совершенствуется на реальных данных, текущая версия:
Скорость работы
Очень примерная оценка: 60.000-80.000 знаков в секунду на компьютере типовой комплектации.
Максимальный объём текста на 32-разрядном компьютере, обрабатываемого за один раз: не более 20Мб. На 64-разрядном - зависит от объёма ОП.
Морфология (POS Tagger)
Морфология реализована в сборке EP.Morphology.dll и может использоваться независимо от SDK.
Это POS-Tagger для русского, украинского и английского языков, примерная скорость работы: 2Мб в секунду.
Строит морфологические варианты и для неизвестных слов. Предлагает нормальную форму слова (лемму).
В этом году мы участвовали в конкурсе MorphRuEval, подробности здесь.
© Кузнецов К.И., 2013. All rights reserved.