Java текст и квалификация ключевых слов
У меня есть 140 символов текстов и набор ключевых слов. Что я хочу сделать, так это написать алгоритм, который поможет мне вычислить процент совпадения между моим текстом и ключевыми словами, чтобы квалифицировать текст как повторение анонсирования события в ИТ.
Например: Текст: "Завтра состоится наше еженедельное мероприятие, посвященное компьютеру. Мы обсудим, как реализовать алгоритмы. Это будет очень здорово". Ключевое слово: "Событие, компьютер, база данных, программное обеспечение, алгоритмы"
Здесь соответствие 3 слова по 5 ключевым словам, что составляет 60%
Имеет ли это смысл, используя количество слов и сравнивая их с количеством ключевых слов? Является ли этот подход точным? Кто-нибудь имел дело с чем-то подобным раньше?
Спасибо за вашу поддержку.
1 ответ
Да, это имеет определенный смысл. Однако на практике вам придется оценить, достаточно ли он точен для вашей цели. Это в значительной степени зависит от текстов, с которыми вы имеете дело.
Если вы хотите попробовать что-то более продвинутое, но не слишком сложное: косинусное сходство - это еще одна распространенная мера для сравнения текстов.
Есть множество алгоритмов и библиотек для классификации текста. LingPipe - это хорошая библиотека Java, которая может вам помочь.
Если вы заинтересованы в использовании библиотеки, вы найдете хороший обзор в главном ответе на этот вопрос о кворе.