-
1
Модуль автоматического определения языка (LanguageDetector)
Высокоточный сервис, работающий на потоке сообщений.
LanguageDetector — самостоятельный сервис, позволяющий автоматически определить язык (или несколько языков) входящего сообщения. На данный момент в модуле реализовано определение 67 наиболее употребляемых в веб-пространстве языков.
- Список распознаваемых языков:
- Германская группа: английский, голландский, немецкий, норвежский, датский, шведский.
- Латинская группа: французский, испанский, итальянский, португальский, румынский.
- Кириллическая группа: русский, украинский, белорусский, татарский, сербский, болгарский, казахский.
- Славянская группа (латиница): польский, чешский, хорватский, боснийский, словенский, словацкий.
- Финно-угорская группа: финский, венгерский, эстонский.
- Балтийская группа: латышский, литовский.
- Тюркские языки: азербайджанский, турецкий, киргизский, монгольский, узбекский.
- Другие: китайский, японский, корейский, вьетнамский, тайский, лаосский, кхмерский, тибетский, бирманский, филиппинские (бухид, тагбанва, хануноо, байбайин, себуанский, варайский), суахили, арабский, фарси, хинди, грузинский, армянский, бенгальский, гурмукхи, гуджарати, ория, тамильский, телугу, каннада, малаялам, сингальский, саураштра, иврит, сирийский (арамейский).
Средняя точность определения языков 97-98%. При этом следует заметить, что из-за близости некоторых языков точность их определения несколько ниже средней (например, относительно низкая точность у португальского языка – около 90% — из-за его близкой родственности с испанским; сильно пересекаются боснийский и словенский). В случае необходимости есть возможность быстро подключать другие языки.
Особенностями этого модуля является то, что он может достаточно точно работать не только с большими текстами, но и с короткими фразами, так и то, что он хорошо различает родственные языки одной языковой группы (например, русский, болгарский, белорусский).
-
2
Модуль автоматического определения тональности (SentiFinder)
Уникальный высокоточный и высокоскоростной сервис автоматического определения тональности текстов на русском, английском и армянском языках.
SentiFinder реализован на промышленных стандартах, что позволяет использовать модуль как в виде отдельного сервиса, так и встраивать в уже существующую инфраструктуру решения.
В модуле предусмотрено определение двух типов тональности:
- относительно заданного пользователем объекта;
- автоматически определенного системой объекта на основе совокупности знаний о нем.
Второй вид тональности позволяет более точно производить классификацию документа в целом. Так же его применение может быть незаменимым в системах отзывов и рекомендательных системах, когда искомый объект может не упоминаться в тексте.
Модуль определяет три вида тональности сообщения (позитивную, негативную и нейтральную) относительно заданного объекта тональности как в пределах одного предложения, так и усредненную по всему документу. Средняя точность по трем видам тональности для русского языка составляет около 86% и примерно 80% для английского.
Особенностью данного модуля является то, что он позволяет оценить силу эмоциональности. Таким образом, пользователю предоставляется возможность не только получить качественную эмотивную оценку документа в целом относительно интересующего объекта тональности, но и количественное соотношение негативного и позитивного отношения к нему.
-
3
Модуль автоматической классификации текстов (TextClassifier)
Сервис, реализованный на основе машинного обучения.
TextClassifier также является независимым сервисом, реализованным в промышленном исполнении. Модуль автоматически классифицирует русскоязычные документы любого объема и любой тематики по заранее определенным классам. Он разработан таким образом, что может быть полуавтоматически переобучен на любые тематические классы для текстов на любом языке за короткое время. В настоящее время сервис определяет следующие тематические категории:
- - Авто
- - Экономика и бизнес
- - Шоу-бизнес и развлечения
- - Семья
- - Мода
- - Компьютерные игры
- - Здоровье и медицина
- - Политика
- - Недвижимость
- - Наука и технологи
- - Спорт
- - Туризм, путешествия
- - Кулинария
-
4
Модуль автоматического определения именованных сущностей (NER)
Сервис работает как с русскоязычными, так и с англоязычными текстами.
Модуль реализован в виде отдельного сервиса, который позволяет классифицировать именованные объекты в тексте на пять классов для русского языка (физические лица, юридические лица, географические объекты, названия продуктов и брендов и именованные события) и на три (физические лица, юридические лица и географические объекты) для английского. В таблице представлена точность и полнота определения системой типа именованных сущностей для русскоязычных текстов.
Тип Точность Полнота F1 Физ.лица 94.04 94.28 94.16 Гео.объекты 92.19 91.76 91.97 Юр.лица 85.27 86.52 85.89 Продукты 79.20 80.03 79.62 События 80.15 76.27 78.16 Среднее 86.18 85.78 85.97 Основной особенностью NER является то, что в его основе не используются словари и тезаурусы. Таким образом, он достаточно точно может определять тип ранее не встречающегося объекта или объекта, тип которого может меняться в зависимости от контекста. Также к плюсам данного модуля можно отнести и то, что ему не требуется никакой лингвистической предобработки текста, что значительно повышает скорость его работы.
-
5
Модуль нормализации слов русского языка
Модуль предназначен для нормализации слов – приведению слова к словарной форме, т.е. к единственному числу именительного падежа для существительных или к инфинитиву для глаголов.
Нормализация необходима для синтаксического и семантического разбора текста, и особенно актуальна для языков с богатой морфологией, к которым относится и русский язык.
Модуль обеспечивает высокую точность нормализации русскоязычных текстов, за счет применения морфологического анализа, расширенных словарей и разрешения омонимии.
Омонимия - это совпадение слов, семантические значения которых не связаны. Так, например, слово «душа» может нормализоваться в два разных существительных «душа» и «душ» или в глагол «душить», в зависимости от контекста. В русском языке существует множество слов, имеющих тот или иной вид омонимии, поэтому процедура снятия омонимии – важный этап для качественной обработки и анализа текстов.
Для снятия омонимии модуль анализирует контекст и с помощью лингвистических правил выбирает одно слово из множества вариантов, предлагаемых морфословарем. Для нормализации слов в нашем модуле используются смешанные методы: статистические и основанные на лингвистических правилах. Благодаря этому, модуль демонстрирует высокую точность и скорость нормализации – около 200 кБ/с на тексте в двухбайтной кодировке.
-
6
Модуль морфологического анализа русского языка
Модуль предназначен для морфологического анализа слов предложения – определения частей речи слов, их морфологических характеристик. Применяется в лингвистических службах - определении тональности, распознавании сущностей, нормализации
Морфологический анализ реализован на основе морфологических словарей и комбинаторных алгоритмов. Наряду с морфологическими характеристиками слова возможен вывод всех его словоформ и основы (стемминг). Анализатор разрешает омонимию и согласует словосочетания по морфоатрибутам.
Сочетание методов квантитативной лингвистики и расширяемого набора правил позволяет добиться чрезвычайно высокой точности определения морфологических атрибутов слов.
Назначение Eureka Engine – автоматизировать сложный процесс понимания «человеческого языка», получить новые данные из больших массивов разнообразных текстов, и за счет интеграции – значительно расширить горизонты уже используемых в компаниях приложений и сервисов.