Автоматическое реферирование + парсинг категорий


#1

Стоит задача из большого текста сгенерировать маленький(краткое описание) и очень маленький(фактически, заголовок). При этом нужно выделять в тексте имена(списка имен нет) и действия(тем более).

Существуют ли для этого какие-то готовые средства? Какую теоретическую базу желательно иметь для решения такой задачи?


#2

Для автореферирования стоит посмотреть каталог на NLPub. Решение этой задачи достигается разными методами. Кто-то предпочитает обрабатывать текст как граф, кто-то использует частотные характеристики или вручную заданные правила, и т. д.

Аналогично с программными решениями для извлечения именованных сущностей и отношений между ними, см. также каталог. Канонически, извлечение именованных сущностей выполняется при помощи скрытых Марковских моделей. Примерно так же, как это делается для разметки частей речи.

Если речь идёт об обработке русского языка, то всё не так очевидно. Если нужно обрабатывать английский язык, то можно попробовать извлекать именованные сущности при помощи Apache OpenNLP — этот фреймворк имеет необходимые возможности на основе машинного обучения. Достаточно будет скачать с их сайта заранее обученные модели.


#3

Я думаю, для генерации заголовков подойдет извлечение отношений и выбор из найденных(не знаю, каким образом). Для маленьких текстов очень не помешало бы автоматическое реферирование на уровне предложения. Я посмотрел на предложенный каталог, среди веб-сервисов нет нужного. В некоторых случаях может подойти извлечение ключевых словосочетаний в Tesuck, но далеко не всегда.


#4

Генерировать заголовок на основании слов и отношений не так тривиально, как кажется. Кстати, тот же Tesuçk имеет возможность ограничения количества предложений в автореферате, см. API. Параметр называется sentences.


#5

Дима уже всё написал, можно добавить, что если для выделения ИС не хочется залезать в машинное обучение, можно писать правила на Томите.


#6

…если вы не делаете конкурента поиску Яндекса, Яндекс.Почте, Яндекс.Новостям, и так далее :slight_smile: