Я хочу создать список из ~ 6 ключевых слов (или даже лучше: пару словосочетаний) для каждого сообщения в форуме сообщений.
- Основное использование ключевых слов заключается в замене сюжетных строк в некоторых случаях. Например: Сообщение от Терри отправлено 5 декабря, ключевые слова: norweigan blue, оперение, не мертвое
- В супер идеальном мире ключевые слова будут идентифицировать как уникальные фазы, так и фразы, которые группируют дискуссию в "темы", то есть слова, которые очень важны для рассматриваемого сообщения, и несколько других сообщений на форуме, но не найдены часто на форуме в целом.
- Я ожидаю появления нежелательных фраз, без особых проблем.
- Не может быть слишком дорогостоящим вычислительным: мне нужно что-то, что может обрабатывать несколько сотен сообщений за несколько секунд, так как мне нужно будет повторно запускать это каждый раз при появлении нового сообщения.
Кто-нибудь знает хорошую библиотеку С# для этого? Может быть, есть способ согнуть Lucene.NET в предоставлении такого рода информации?
Или, если это не так, может ли кто-нибудь предложить алгоритм (или набор algos) для чтения? Если я реализую себя, мне нужно что-то не очень сложное, я могу только решить это, если его можно сработать примерно через неделю. Прямо сейчас, лучшее, что я нашел с точки зрения простого, но эффективного, TF-IDF.
ОБНОВЛЕНИЕ: Я загрузил результаты использования TF-IDF, чтобы выбрать лучшие 5 ключевых слов из реального набора данных здесь: http://jsbin.com/oxanoc/2/edit#preview
Результаты являются посредственными, но не совсем бесполезными... возможно, с добавлением детектирования многословных фраз, это было бы достаточно хорошо.