Я работаю над проектом веб-аналитики, в котором мне нужно создать систему, которая принимает пользовательские запросы и извлекает значимые ключевые слова. Скажем, например, пользователь вводит запрос «How to do socket programming in Java
», тогда я должен игнорировать "how", "to", "do", "in"
и взять "socket", "programming", "java"
для дальнейшей обработки и кластеризации, например. сокет и программирование - это два разных значимых ключевых слова, но их можно использовать вместе как ключевое слово, которое дает разное значение. Я ищу какой-то алгоритм, например TF-IDF
, для решения этой проблемы. Любая помощь будет оценена.
Как извлечь значимые ключевые слова из запроса?
Ответы (1)
Хорошо, что вы ищете решение для текстовой аналитики.
Я использовал только R для этой цели, но один из способов взглянуть на это: вам нужен список слов, которые вы считаете незначимыми ключевыми словами, это часто называют «стоп-словами». Вы можете найти онлайн-списки стоп-слов практически для любого популярного языка. После этого вы, возможно, захотите получить пару сотен входных данных и рассчитать частоту каждого ключевого слова там (уже удалив стоп-слова, а также пунктуацию и весь текст в нижнем регистре) и попытаться определить другие ключевые слова, которые вы считаете неуместны и добавьте их в свой список слов для удаления.
После этого есть масса вариантов, которые вы можете изучить; примером может служить основа, которая получает основной термин каждого слова, так что «страницы» и «страница» считаются одним и тем же ключевым словом. (по мере углубления вы найдете массу информации в Интернете, чтобы отточить свой подход)
Надеюсь это поможет.