Java текст и квалификация ключевых слов

У меня есть 140 символов текстов и набор ключевых слов. Что я хочу сделать, так это написать алгоритм, который поможет мне вычислить процент совпадения между моим текстом и ключевыми словами, чтобы квалифицировать текст как повторение анонсирования события в ИТ.

Например: Текст: "Завтра состоится наше еженедельное мероприятие, посвященное компьютеру. Мы обсудим, как реализовать алгоритмы. Это будет очень здорово". Ключевое слово: "Событие, компьютер, база данных, программное обеспечение, алгоритмы"

Здесь соответствие 3 слова по 5 ключевым словам, что составляет 60%

Имеет ли это смысл, используя количество слов и сравнивая их с количеством ключевых слов? Является ли этот подход точным? Кто-нибудь имел дело с чем-то подобным раньше?

Спасибо за вашу поддержку.

1 ответ

Да, это имеет определенный смысл. Однако на практике вам придется оценить, достаточно ли он точен для вашей цели. Это в значительной степени зависит от текстов, с которыми вы имеете дело.

Если вы хотите попробовать что-то более продвинутое, но не слишком сложное: косинусное сходство - это еще одна распространенная мера для сравнения текстов.

Есть множество алгоритмов и библиотек для классификации текста. LingPipe - это хорошая библиотека Java, которая может вам помочь.

Если вы заинтересованы в использовании библиотеки, вы найдете хороший обзор в главном ответе на этот вопрос о кворе.

Другие вопросы по тегам