Поиск подходящего ключевого слова на веб-странице - PullRequest
0 голосов
/ 08 июня 2011
  • На одной стороне у меня есть Java CMS, предоставляющая набор ключевых слов
  • С другой стороны, у меня есть JavaScript Bookmarklet для курирования веб-страницы

Есть лиумный способ скрестить / сопоставить мой набор ключевых слов с содержанием веб-страницы?

Джон Ресин объясняет в некоторых статьях как сжимать, а затем искать в словаре термины, но это кажется действительно сложным.

На самом деле, я ищу умный алгоритм Java или JavaScript для эффективного сопоставления набора строк в тексте.

Мой вопрос очень близок к этому: Эффективенпоиск по небольшому тексту

Но,

  • Я хочу сделать это на 1 тексте вместо базы данных текстов
  • Индексирование с помощью lucene прекрасно работаетно я не знаю, как сопоставить эффективно проиндексированные термины со всеми моими ключевыми словами.

Ответы [ 2 ]

0 голосов
/ 03 августа 2012

Мы сделали некоторые доказательства концепции, основанной на индексируемом множестве Lucene.

  • Он обрабатывает все языковые / текстовые проблемы
  • Быстро достаточно

Но для хорошего ответа нужен большой релевантный контент.Так что результаты иногда странные.И это на стороне сервера ...

0 голосов
/ 08 июня 2011

Вы можете использовать Java следующим образом:

Set<String> keywords = new TreeSet<String>(Arrays.asList("keyword1", "keyword2"));
String content = "your doc here with keyword1 etc";
Set<String> contentWords = new TreeSet<String>(Arrays.asList(content.split(" ")));
contentWords.retainAll(keywords); 
// now contentWords contains only words from keywords, in this case just "keyword1"

, если вы хотите получить все слова из содержания, которые не ключевые слова, используйте это вместо:

contentWords.removeAll(keywords);

Использование TreeSet должно заставить его работать довольно хорошо.

Этот код, который компилируется и запускается, был упрощен для иллюстрации. Вам придется загружать ключевые слова из БД и т. Д., А также загружать контент из любого места и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...