Если это не совсем уникальное слово, я бы предложил следующий подход.
Давайте представим, что нашим ключевым словом является Java. Тогда есть как минимум 2 категории: о программировании и о туризме в Индонезии. Мы заинтересованы в первом.
Давайте возьмем небольшой текст о Java (может быть, из книг или из Википедии). Тогда давайте предположим некоторый порог (например, 0,7). Затем давайте сравним наш текст с разными страницами (один из самых быстрых способов - использовать алгоритм Классическая модель векторного пространства , вы можете реализовать его самостоятельно или найти его реализацию в Google). Затем сравните результаты с вашим порогом и отфильтруйте слабые результаты.
Об использовании алгоритма Байеса: это неплохой подход к ИМО. Но вы должны «научить» свой алгоритм очень тщательно, потому что несколько неверных входных данных могут испортить всю работу.
Позвольте мне объяснить. Вход для вашего алгоритма Байеса - это текст с вашим бренд-словом. Выводом является вероятность [0 .. 1], что ваш текст о вашем бренде, но не о чем-то еще. На практике этот алгоритм очень часто дает результаты около 0 или около 1 и редко возвращает значения от 0,2 до 0,8. Это означает, что алгоритм очень чувствителен к небольшим вариациям и 1 или 2 слова в тексте из 100 слов могут серьезно повлиять на результат.