Можно ли автоматически классифицировать посты на форумах или BBS? - PullRequest
1 голос
/ 22 марта 2011

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

Большое спасибо

Ответы [ 3 ]

3 голосов
/ 22 марта 2011

Самый простой способ сделать это - иметь таблицу известных тегов. Перебирайте каждое слово в сообщении, и, если слово находится в таблице тегов, добавьте его в список. Чтобы сделать это немного более эффективным, вы можете сохранить тег как в его отображаемой, так и в исходной версии (например, алгоритмы и алгоритм). Затем сравнил слова в заголовке с именем тега. См. Алгоритм определения портера для простого способа сделать это (для английских слов).

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

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

1 голос
/ 22 марта 2011

Попробуйте этот код PHP с автоматической пометкой:

http://www.dangrossman.info/2008/04/07/auto-tagging-content-with-open-calais/

0 голосов
/ 23 марта 2011

Есть несколько способов сделать это. Простое сопоставление ключевых слов или TF-IDF, как предлагает konforce, являются приемлемыми вариантами. Другие включают в себя:

  • Используйте Yahoo term извлечение webservice для извлечения значимых терминов из текста.
  • Используйте Google Prediction API . Обучите его на корпусе уже отмеченных сообщений, затем попросите его предсказать теги новых сообщений.
...