2008-10-07 2 views
19

При разработке базы данных статей в Базе знаний (например) - каковы наилучшие способы сортировки и отображения наиболее релевантных ответов на вопрос пользователей?Алгоритмы поиска/релевантности поиска

Не могли бы вы использовать дополнительные данные, такие как взвешивание ключевых слов, на основе того, находились ли предыдущие пользователи статьи справки или достаточно простого алгоритма сопоставления ключевых слов?

ответ

2

Это сложный вопрос, и компании, подобные Google, прилагают много усилий для решения этого вопроса. Посмотрите на Google Enterprise Search Appliance или Exalead Enterprise Search.

Тогда, как личное мнение, я не думаю, что любой «наивный» подход значительно улучшит результат по сравнению с наивным поиском по ключевым словам и упорядочением по количеству просмотров на документах.

Если у вас есть возможность открыть свою базу знаний в Интернете, просто сделайте это, и пусть ваша любимая поисковая система поможет вам найти.

0

соответствия ключевых слов не хватает при рассмотрении вопросов, вы должны понимать намерения, так как Joannes сказать очень горячая тема в поисках

2

Побольше специфика вашей конкретной проблемы было бы хорошо. Существует множество различных методов, которые вы можете использовать. Многие из них управляются другими данными. Конечно, вы можете использовать Lucene и создавать свои собственные индексы. Есть привязки для многих языков к lucene. Перемещение вверх также есть проект Solr, который представляет собой Lucene с множеством инструментов и дополнительной функциональностью. Это может быть больше в соответствии с тем, что вы ищете.

Намерение сложно, и большинство современных поисковых систем полагаются на статистическое намерение помочь в упорядочении результатов. Вы всегда можете использовать эту полезную кнопку в статье и хранить текст запроса, который ведет к полезным документам. Затем вы можете добавить слой индекса в индекс, чтобы поднять конкретные слова или фразы и помочь им указать на определенные документы.

Некоторые вещи, о которых нужно подумать ... Сколько документов? Какова средняя длина? Часто ли они обновляются? Что делают пользователи с документами? Как выглядит распространение уникальных слов в документах? (Более просто легко сопоставить запрос с конкретными документами на основе общих уникальных функций.)

Если это в Интернете, вы всегда можете создать поисковую систему Google, которая просто ищет ваш сайт, хотя вы может показаться, что это является неоптимальным по ряду причин.

Вы всегда можете начать с простого индекса и постепенно сделать его более сложным, разговаривая с пользователями и получая данные.

10

Пожалуй, самый простой и наивный подход, который даст сразу полезные результаты будут осуществлять *tf-idf:

Вариации ТФ-IDF схемы взвешивания часто используются поисковыми системами в качестве основного инструмента в выигрыше и оценивая релевантность документа с учетом пользовательского запроса. tf-idf может быть успешно использован для фильтрации стоп-слов в различных предметных областях, включая обобщение и классификацию текста.

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

An Introduction to Information Retrieval

1

Я думаю, что угол здесь не является самим поиском ... его о подсчете значимости полученной информации (более реактивный и пассивный подход), который впоследствии может быть использован для улучшения поисковой системы.

Я думаю, вы можете попробовать -

  1. Knn на tfidf для извлечения информации

  2. Рука мечения эти извлекаться INFO на: релевантность оценка

  3. Затем регрессируют, что счет предсказать счет в течение unknwon результат поиска и отсортировать его.

Просто мысли ...

Третий пункт фактически основан на алгоритме Rocchio. Вы можете видеть это here

Смежные вопросы