2015-10-14 2 views
0

Я делаю извлечение ключевых слов с использованием TD-IDF на большом количестве документов. Currenly Я разделяю каждое предложение на основе n-грамма. В частности, я использую триграмма. Однако это не лучший способ разделить каждое предложение на ints, составляющее ключевые слова. Например, словосочетание типа «тройной сердечный шунт» не всегда может быть обнаружено как один термин.Каков наилучший способ разделить предложение на задачу извлечения ключевого слова?

Другая альтернатива, заключающаяся в том, чтобы каждое предложение в его составные элементы выглядело частью речевых меток и chunking в Open NLP. В этом подходе фраза типа «тройной обход сердца» всегда извлекается в целом, но недостаток находится в TF-IDF, частота извлеченных терминов (фраз) резко падает.

Есть ли у кого-нибудь предложения по любому из этих двух подходов или какие-либо другие идеи для повышения качества ключевых слов?

ответ

0

Что такое:

  1. цель вашего приложения? - устраняет правила токенизации и определяет качество ваших ключевых слов

  2. тип документов? - запись не является то же самое, если у вас есть данные в форуме или данные в новостях.

Вы можете реализовать некоторые граничный распознаватель самостоятельно, или с помощью статистической модели, как и в openNLP.

Типичный конвейер состоит в том, что вы должны сначала сделать токенизацию максимально простой, применить удаление стоп-слов (зависит от языка), а затем, если необходимо, фильтрацию на основе меток на основе POS (но это дорогостоящая операция).

другие варианты: java.text.BreakIterator, com.ibm.icu.text.BreakIterator, com.ibm.icu.text.RuleBasedBreakIterator ...

Смежные вопросы