Каков хороший подход для извлечения ключевых слов из предоставленного пользователем текста? - PullRequest
6 голосов
/ 16 марта 2011

Я создаю сайт, который позволяет пользователям разобраться в дебатах, графически представляя аргументы за и против конкретной проблемы. ( Wrangl )

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

Какой хороший подход для определения названия и описания дебатов (и, возможно, содержания самих аргументов, когда они есть), например, для извлечения, скажем, десяти сильных ключевых слов, которые можно использовать в качестве метаданных для соединения похожих дебатов, или даже в качестве содержимого тега «meta» ключевых слов в заголовке HTML-страницы, где можно просмотреть дискуссию. Например. Datamapper vs ActiveRecord

Сайт написан на Ruby с использованием Sinatra, используя DataMapper для хранения данных. В идеале я ищу что-то, что будет работать на Heroku (у меня нет способа записи файлов на диск динамически), и я бы рассмотрел веб-сервис, API или в идеале гем Ruby.

Ответы [ 3 ]

7 голосов
/ 16 марта 2011

Может быть, вы можете использовать TextAnalyzer .

2 голосов
/ 16 марта 2011

Вы можете попробовать salsaAPI для автоматического извлечения ключевых слов и классификации дебатов!

2 голосов
/ 16 марта 2011

Я понимаю, что вы хотите найти простой способ добиться этого, я недавно погрузился в мир НЛП (обработка естественного языка) и добычи текста, и его сложный процесс, который в большинстве своем намного превысил мойhead.

Хотя мне удалось закодировать некоторые функциональные возможности, которые напоминают то, что вы ищете, хотя я сделал это на PHP.Что я хотел бы предложить, что если вы хотите, чтобы он был адаптирован к вашему проекту (Wrangl), то сделайте это сами.

Используя алгоритм определения портера , который, я уверен, будет иметь код Ruby для, Рубин Портер Стеммер

...