Системы анализа текстов
В настоящее время существует ряд средств, решающих задачу по обработке текстов и предоставляющих некоторое API или SDK. В этой колонке перечислим известные нам и развивающиеся системы. Сборники ссылок здесь, здесь, здесь и UIMA. Чаты в Телеграме: natural_language_processing, АСОТ.
SDK на C#.NET, Java и Python для выделения именованных сущностей (русский, украинский, немного английский). SDK содержит ряд полезных функций для обработки текстов. Первое место на конкурсе Диалог-2016. Бесплатно для некоммерческого использования. Чат в Телеграме.
Лингвистический анализатор текста - комплексный инструментарий для разработки информационно-поисковых и аналитических систем, требующих лингвистического анализа текста на русском языке. Ядро пакета представляет библиотека RCO FX Ru, которая осуществляет полный синтактико-семантический разбор русского текста. Библиотека выделяет различные классы сущностей, упомянутых в тексте (персоны, организации, география, предметы, действия, атрибуты и др.), и строит сеть отношений, связывающих эти сущности, а также предоставляет всю грамматическую информацию о составляющих текста. Средства библиотеки также обеспечивают семантическую интерпретацию результатов разбора текста - поиск описаний ситуаций, удовлетворяющих заданным семантическим шаблонам. В состав лингвистического обеспечения пакета, помимо общих словарей и правил русского языка, входят правила выделения специальных объектов (дат, адресов, документов, телефонов, денежных сумм, марок автомобилей и пр.), шаблоны для распознавания различных классов событий и фактов (сделок, экономических показателей, конфликтов, биографических фактов и пр.), характеристик объекта (позитива, негатива и др.), высказываний прямой и косвенной речи. Работает на платформах Windows и Unix.
ABBYY FlexiCapture (Compreno)
Это инструментарий разработчика, который анализирует неструктурированную текстовую информацию и автоматически извлекает из нее именованные сущности (персоны, организации, даты и другие) и метаданные документов. Полученные данные можно использовать для совершенствования и автоматизации различных бизнес-задач, таких как поиск и анализ знаний, классификация и маршрутизация входящей информации, управление документацией и выявление конфиденциальных данных в ней. Технология Compreno – это универсальная лингвистическая платформа для приложений, решающих множество прикладных задач по обработке текстов на естественном языке, таких как: 1.Письменный и устный перевод с одного языка на другой; 2.Интеллектуальный поиск (Поиск по смыслу, а не по ключевым словам, Извлечение фактов и связей между объектами поиска, в т.ч. для конкурентной разведки, и т.д.); 3.Многоязычный поиск; 4.Классификация и фильтрация документов; Революционность ABBYY Compreno состоит в фундаментальности подхода. Над универсальной системой понятий и технологиями полного синтаксического и семантического анализа задумывались многие. В своей работе мы опираемся на труды ведущих российских учёных в этой области и классическое лингвистическое образование.
Инструмент для извлечения структурированных данных (фактов) из текста на естественном языке. Извлечение фактов происходит при помощи контекстно-свободных грамматик и словарей ключевых слов. Парсер позволяет написать свою грамматику, добавить свои словари и запустить на текстах.
Анализирует любые тексты или документы, выделяет в нем сущности (персоналии, организации, географические названия, геополитические сущности и др.), а также определяет соотносящиеся с этим сущностями действия, дату и место совершения действия, формирует целостный образ документа. Система выполняет тонкий морфологический, синтаксический и семантический анализ, что позволяет максимально точно получать информацию из неструктурированных текстовых данных на разных языках, взаимодействуя даже с такими морфологически богатыми, как русский и немецкий. PROMT Analyser имеет обширную базу данных, но главным его достоинством является то, что, благодаря инновационным лингвистическим разработкам, он выделяет в текстах также сущности, не представленные в базах. Еще одним преимуществом программы является простая настройка – путем введения значения для новых типов сущностей.
Stanford Named Entity Recognizer
Stanford NER is a Java implementation of a Named Entity Recognizer. It comes with well-engineered feature extractors for Named Entity Recognition, and many options for defining feature extractors. Included with the download are good named entity recognizers for English, particularly for the 3 classes (PERSON, ORGANIZATION, LOCATION). We have an online demo of several of our NER models.
Trankit (University of Origon)
Trankit is a light-weight Transformer-based Toolkit for multilingual Natural Language Processing (NLP). It provides a trainable pipeline for fundamental NLP tasks over 100 languages, and 90 pretrained pipelines for 56 languages. Делает морф.анализ и синтаксические связи.
REST-сервис исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись. Приводит адреса к КЛАДР или ФИАС. Находит одинаковых людей в нескольких файлах, объединяет их и строит единую клиентскую базу.
Наташа — это аналог Томита-парсера для Питона (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей. Включает в себя множество Python-обёрток над другими системами (например, Pullenti). Блог автора: natural_language_processing.
Есть online-демо. Основные направления исследований включают: морфологический, синтаксический и семантический анализы текстов; реляционно-ситуационный анализ текстов; извлечение информации из текстов; анализ тональности и эмоциональной напряженности текстов; анализ качества текстов; анализ дискурса (научных и медицинских текстов); разрешение кореференции; когнитивные исследования; создание и разметка корпусов текстов.
Технология Texterra представляет инструменты для автоматического извлечения баз знаний из частично структурированных ресурсов таких, как Википедия и Викиданные, и инструменты семантического анализа текстов, использующие эти знания. Технология Texterra находит применение в исследовательских и индустриальных проектах ИСП РАН. В частности, на основе технологии решаются такие задачи, как: -мониторинг репутации людей, организаций и товаров на основе анализа отзывов пользователей социальных медиа; -семантический поиск документов по значениям слов; -автоматическое построение предметно-специфичных баз знаний для задач заказчиков; например, базы данных о продуктах компании; -и др.
МетаФраз Лингвистический интеграционный комплект (Metafraz Lingware Integration Kit, MF LIK) R10 – SDK для разработчиков приложений в виде API к автономному ядру и серверу лингвистического ПО (интеграция технологий фразеологического машинного перевода и семантической обработки неструктурированной текстовой информации МетаФраз в сторонние приложения). Возмодности: нормализация текста (для повышения качества поиска средствами СУБД); выделение из текста ключевых выражений, характерных для данной предметной области; классификация выделенных выражений; автоматическое составление аннотации (общего реферата) по документу; автоматическое составление контекстного реферата по документу с учетом пользовательской тематики или поискового запроса; выделение объектов (организации, персоны, должности, бренды и т.д.); определение и типизация связей между объектами; сравнение документов и установление степени их семантической близости для задач кластеризации (группировки документов по смыслу) и антиплагиата.
Высокоскоростная система лингвистического анализа текстов модульного типа, позволяющая извлекать новые знания и факты из неструктурированных данных огромных объемов. В систему входят такие модули как: Определение языка сообщения (24 языка, относящихся к разным языковым семьям); Автоматическое определение тональности документа для русского языка; Определение тематики (автоклассификация) для русского языка; Выделение именованной и имен собственных (NER) для русского языка (подключение английского в ближайшее время); Нормализация слов (русский язык); Разметка частей речи (морфоанализ) для русского языка. Есть online-демо.
Система базовой обработки естественного языка, предлагающая основные средства для разбивки текста на предложения, интеллектуального разделения предложений на элементы «токены» с их высокоуровневой типизацией (количественные и порядковые числительные, фамилии, имена, предлоги и т.п.), извлечения широкого спектра именованных сущностей (NER) и настраиваемой идентификации намерений пользователя (Intents).
На основе машинного обучения создает открытую платформу DeepPavlov, которая даст возможность легко проверять идеи новых алгоритмов и разрабатывать масштабируемые решения для диалоговых систем. Есть online-демо для NER и ответов на вопросы.
Проект Ильи Козиева, лексика, морфология, синтаксис русского языка. Словари и код выложены в https://github.com/Koziev/GrammarEngine
Семантический парсер "JHON" извлекает смыслы из естественно-языковых текстов на русском языке и решает следующие задачи: 1. Лексический анализ текста — разбивка текста на предложения и лексемы. 2. Морфологический анализ слов — определение части речи, падежа, рода, числа и других грамматических признаков с учетом контекста слова. 3. Синтаксический анализ предложения — идентификация всех членов предложения и определение синтаксических связей лексем в предложении. 4. Семантический анализ — извлечение триплетов субъект-объектных отношений, построение семантической сети текста, построение инфокарты событий.
Сервис синтаксического разбора русских текстов. Телеграм бот.
Megaputer TM API Server и PolyAnalyst.
Сервер с кучей языков, demo-online, Tokenization and morphological analysis, keywords extraction, entities extraction, sentiments analysis, facts extraction. Цифровая платформа и среда разработки кастомизированных отраслевых решений для анализа текстовой информации для различных предметых областей, позволяющей аналитикам и независимым разработчикам создавать собственные сценарии обработки текстовых данных на русском, английском, а также других 15 европейких и азиатских языках. Подход основан на сочетании методов синтаксического, морфологического и семантического анализа с использованием нейросей. Инновационность проекта заключается в разработке и применении собственного встроенного языка XPDL для описания, распознавания и комплексного анализа смысловых образцов, языковых моделей и конструкций текста в заданной предметной области, позволяющего создавать иерархические сценарии обработки текстов любым внешним разработчиком/ пользователем с использованием специализированных онтологий. При этом расматриваемая технология может эффективно применяться для разметки корпусов текстов и создания массивов для обучения нейросетей.
Высокоскоростная система лингвистического анализа текстов модульного типа, позволяющая извлекать новые знания и факты из неструктурированных данных огромных объемов. В систему входят следующие подсистемы: определение языка сообщения; определение тональности документа для русского языка; классификация тематики документа для русского языка; выделение именованных сущностей и имен собственных (NER) для русского и английского языков; нормализация слов для русского языка; определение частей речи и морфоанализ для русского языка. Есть online-демо.
Семантические вопросно-ответные поисковые системы AskNet и инструментарий разработчика, реализующий полный лингвистический анализ текстов на русском и (или) английском языках. Модули лингвистического анализа включают в себя морфологию (словарную и бессловарную), синтаксис, семантику (включая толково-комбинаторные словари). Имеется модуль семантической рубрикации текстов. Программные продукты представлены коробочными версиями корпоративной, сайтовой и персональной поисковой системы. Вопросно-ответный поиск по Интернету реализован на базе метапоисковой системы www.asknet.ru. Разрабатывается аналитическая поисковая система AQUA, позволяющая находить семантические ответы на основе автоматического обобщения системой текстовой информации и проведения логического вывода. Программы и SDK распространяются на коммерческой основе. Уровни лингвистического анализа: графематический, морфологический, синтаксический, семантический.
iLab - лаборатория по извлечению информации
Извлечением структурированной информации из неструктурированных и слабоструктурированных текстов. В настоящий момент сделано извлечение адресов с их нормализацией (есть online-demo). Извлечение организаций и персон на стадии разработки.
UNIVERSITY OF OREGON, Natural Language Processing group. Trankit is a light-weight Transformer-based Toolkit for multilingual Natural Language Processing (NLP). It provides a trainable pipeline for fundamental NLP tasks over 100 languages, and 90 pretrained pipelines for 56 languages.
Rosette Entity Extractor (REX)
Enables search and text mining applications to automatically locate concepts, which cannot easily be found using only lists or rules, in unstructured text. REX uses advanced linguistics to find entities-names, places, dates, identifiers, and other unique words or phrases-that establish the real meaning in text. Entity extraction enables the classification, management, and analysis of large volumes of unstructured text coming from sources such as email, electronic documents, and the Internet. REX can be used both to locate concepts in unstructured data and as a step in preparing such data for structured analysis, a process known as "metadata annotation." REX locates generic terms such as "Vice President" and "Southeast Asia" as well as specific references such as "President Barack Obama" and "January 20, 2009." These features enable the identification and extraction of important information from documents for further analysis by other applications. REX employs three types of entity detection technology-statistical modeling, regular expressions, and lists-to achieve industry-leading accuracy. These technologies enable the recognition of entities in Arabic, Chinese, Czech, Dutch, English, French, German, Greek, Hungarian, Italian, Japanese, Korean, Persian, Polish, Portuguese, Pashto, Russian, Spanish, and Urdu text.
Baseline Information Extraction (Balie)
Information extraction on multilingual texts. Проект OpenSource, Java.
This is a domain-independent system that extracts information from unstructured texts and populates a database. It has four modes: Who is Who?, Contact Info, Synopsis and Batch Summarizer. The program identifies entities such as persons, organizations, locations, and other types of data as well as relationships between entities.
Пакет FreeLing предоставляет функционал для анализа текста с учетом специфики языка. 1 Разметка текста (токенизация); 2. Выделение предложений; 3. Морфологический анализ; 4. Определение составных слов; 5. Вероятностное определение части речи неизвестного слова (hmm tagger); 6. Обнаружение и определение именной группы; 7. Классификация именной группы; 8. Построение дерева зависимостей (слов в предложении); 9. Определение местоимений (местоименных словоформ); 10. Нормализация и определение дат, чисел, процентных соотношений, валюты и физических величин (скорость, вес, температура, плотность и т.д.); 11. Определение части речи (вероятностное); В настоящее время поддерживающиеся языки: испанский, каталонский, галисийский, итальянский, английский, валлийский, португальский, австрийский, русский.
Облачный web-сервис, предоставляющий RESTful API для решения целого спектра задач обработки текстовой информации и обработки изображений. Поддерживает более 100 языков, в том числе русский, английский, китайский, японский языки и использует технологии машинного обучения и блокчейн. В текущей версии поддерживаются следующие функции: 1. автоматическое реферирование текста; 2. выделение ключевых слов и понятий анализируемого документа; 3. анализ тональности документов и выделение тональных объектов и атрибутов; 4. автоматическое определение языка документа; 5. экстракция неструктурированных данных из документов: главного текста статей, комментариев с форумов и т.п.; 6. обработка изображений: определение объектов и распознавание лиц на изображениях.
Исторические системы анализа
В этой колонке перечислим системы, которые когда-то были рабочими, но в настоящий момент не поддерживаются. Приносим извинение, если кого отнесли в эту колонку неправомерно (дайте знать, перенесём обратно).
Лаборатория компьютерной лингвистики ИПИ РАН
Извлечение знаний из текстов русского и английского языков. Синтактико-семантический анализ массивов неструктурированной текстовой информации (на русском и английском) для автоматического выявления информационных объектов: лиц, организаций, дат, адресов, названий мест, видов оружия ... до 40 типов. Выявление их свойств, взаимосвязей, участие в действиях. Формированием на этой основе Баз Знаний. Базы знаний используются для объектных поисков и экспертных решений.
АОТ (Автоматическая Обработка Текста)
Рабочая группа Aot.ru разрабатывает программное обеспечение в области автоматической обработки текста. В круг наших интересов в основном входит анализ русского языка. Начиная с 2002 года мы выкладываем наши разработки с лицензией LGPL. Теперь каждый может бесплатно использовать наши библиотеки в своих программах, в том числе и в коммерческих приложениях. Исходники выложены на GitHub.
Система автоматического распознавания именованных сущностей служит для типизации имен собственных, терминов, различных названий и т.п. Представленный алгоритм использует статистические языковые модели и правила для «шаблонных» сущностей, таких, как url, e-mail, цифры и пр. Количество типов и их описание задается на этапе обучения системы и не зависит от словаря. Данный компонент представлен в демо версии. Его возможности ограничиваются следующими типами: определение имен людей, названий компаний и организаций, географических объектов, продуктов и брендов, названия праздников, форумов и др. событий. Дополнительно к этому определяются url, e-mail, деньги и даты.
Похоже, что отдельно как NER продукта больше нет - он вошёл в большую систему X-Files.
Хурма – проект, основная цель которого формулировалась как создание простого и удобного в использовании веб-сервиса для массовой обработки текстов и извлечения из них различной информации, полезной как профессиональным прикладным лингвистам и исследователям, так и различного рода аналитикам коммерческих компаний. Хурма - это не только простой способ быстро обработать большой объём текстов и получить на выходе информацию в структурированном и нормализованном виде, но и возможность строить разнообразную аналитику и проводить статистические исследования на вашей коллекции документов. Есть online-демо.
На вход Лингвистический процессор получает текстовый документ. Результатом его работы является массив связной фактографической информации, который далее передается в модуль идентификации для выделения похожих и слияния совпадающих объектов. Выделение фактографической информации осуществляется с помощью специализированных правил, которые описывают процедуры выделения объектов и связей на внутрисистемном языке Лингвистического процессора, построенном на базе XML.
OntosMiner uses ontologies to define the areas of interest and linguistic rules of NLP to analyze natural language text. Objects and their relations are automatically realized and annotations to the related text fragments are added. The outcome is a set of searchable and conceptually structured data, which can be categorized, browsed and visually presented in semantic networks. Reviewed data can be documents, e-mails, web pages or online articles of several formats. Currently, OntosMiner is available for four languages: German, English, Russian and French. Any additional language can be implemented at any time. OntosMiner is based on Java 5 and works independently from the underlying platform. Standardized interfaces (WebServices, HTTP, RMI) allow for integration into any other application. Есть онлайн-демонстрация http://try.ontos.com/ (к сожалению, только для английского и немецкого языков).
Textocat.com – облачный web-сервис, предоставляющий RESTful API для решения базовых задач аналитики русскоязычных текстов. В текущей версии поддерживаются следующие функции: распознавание упоминаний сущностей, таких как люди, организации, гео-политические сущности, сооружения и локации; выделение временных и денежных выражений; полнотекстовый поиск с учетом выделенных аннотаций. Будущий функционал: Анализ тональности документа в целом и тональности упоминаний отдельных имен, извлечение описаний проблем о продукте клиента (или претензий к нему) из отзывов.
Теперь это платформа для чат-ботов доставки еды.
Компьютерная лингвистика. Обработка неструктурированной информации. Демонстрации: Идентификация языка Автоматическая классификация Определение именованных сущностей (NER) - русский язык Определение именованных сущностей (NER) - english language Нормализация текста: приведение всех слов к словарной форме Простейший алгоритм английской тональности Определение границ предложений Выявление похожих фрагментов двух текстов Выделение в тексте Url и E-mail адресов Выделение в тексте IP(v4) адресов etc.
Мы занимаемся консалтингом в области автоматической обработки естественных языков (Natural Language Processing). Наши эксперты специализируются в морфологическом и синтаксическом анализе, в анализе сентимента (тональности) высказываний, машинном переводе, машинном обучении и в распределённом полнотекстовом поиске (lucene, solr). Мы также поставляем кастомизированные решения под конкретные задачи в ваших системах.
Компания Dictum, выявление на русском языке текстовых объектов и фактов, таких как: персона, должность, спортивные команды, организации (коммерческие и некоммерческие), географические объекты, даты, количественные показатели, высказывания персон, должность, место работы и др. Выявленные объекты и факты приводятся к канонической форме (нормализуются). В состав модуля включаются образцы правил для выявления и нормализации некоторых из перечисленных категорий текстовых объектов и фактов. Входной формат – plain-текст. Результат может быть выдан в формате XML. Для работы программы требуется морфологический словарь. Программа поставляется в виде динамической библиотеки для Windows/FreeBSD. Есть online-демонстрация: http://dictum.ru/ru/tokenizer/blog
AlchemyAPI Named Entity Extraction
Работает и для русского языка, есть online-демонстрация!
AlchemyAPI is a product of Orchestr8, a leading provider of semantic tagging and text mining solutions, helping companies enhance, understand, and better-leverage their textual information assets. Identify people, companies, organizations, cities, geographic features, and other typed entities within HTML pages and text documents/content. Our advanced named entity recognition (NER) capability supports multiple languages and offers comprehensive disambiguation capabilities not found in other solutions.
Теперь это адресуется к IBM Watson, API не существует.
Этот мощный инструмент извлечения сущностей из различных текстов (ранее известен как Quenza и PowerIndexer), извлекает из текста различные объекты: - Сущности, такие как: Лица, Организации, События; - Атрибуты сущностей, такие как: Пол лица, Профессия лица, Название компании; - Отношения, такие как: находится, работает в, участвовал в событии; Indexer имеет интерфейсы , достаточные для его интеграции во внешнюю систему. Для Windows имеется полноценный COM интерфейс.
Big Data Analysis for unstructured text; Advanced entity extraction; Unique link and event extraction capabilities; Intelligent geotagging; With over a decade of research and development, NetOwl Extractor is the best-of-breed entity extraction product. Using advanced computational linguistics and natural language processing technologies, NetOwl Extractor accurately finds and classifies key entities, events, and relationships in unstructured text.
Программа позволяет извлекать информацию по 35 типам объектов и событий, включая людей, географические места, компании, даты, денежные суммы, email-адреса, и выявлять взаимосвязи между ними. Обладает мощными лингвистическими возможностями по чтению и пониманию документов на 30 языках На основе структуры естественных языков программа может распознавать информацию, связанную с заданными пользователем объектами, такими как названия проектов, анализировать взаимосвязи между событиями и конкретные фразы на предмет сентимент-анализа (sentiment analysis). Программа может быть интегрирована с продуктами BusinessObjects (Crystal Reports, BusinessObjects Web Intelligence, BusinessObjects Enterprise. BusinessObjects Data Integrator и др.).
Версия AeroText 5.x существует в виде набора компонентов. Программа позволяет осуществлять извлечение информации, связанной с конкретными объектами (персоны, организации, географические объекты и т.п.), ключевые фразы (указание на конкретное время, объемы денег) и т.п. Решение также анализирует взаимосвязи между предметами, позволяя решить проблему множественных значений одного и того же предмета, осуществляет идентификацию взаимоотношений между предметами, извлечение событий (кто, где, когда), категоризацию тем (предмет, его определение), определение временного промежутка, когда имело место событие, определение места, которое может быть привязано к карте.
Этот сайт является официальным Web-ресурсом группы молодых ученых и разработчиков. Мы создаем интеллектуальные и прикладные, финансово-аналитические системы. Наша цель - создание программного комплекса, с помощью которого компьютер будет понимать естественный язык человека.