Алгоритмы поиска ранжирования/релевантности
При разработке базы данных статей в Базе знаний (например) - каковы наилучшие способы сортировки и отображения наиболее релевантных ответов на вопрос пользователей?
Не могли бы вы использовать дополнительные данные, такие как взвешивание ключевых слов, исходя из того, нашли ли предыдущие пользователи статью справки или вы нашли простой алгоритм сопоставления ключевых слов?
Ответы
Ответ 1
Возможно, самый простой и наивный подход, который даст сразу полезные результаты, - это реализовать * tf-idf:
Вариации схемы взвешивания tf-idf часто используются поисковыми системами в качестве центрального инструмента для оценки и ранжирования релевантности документа с учетом пользовательского запроса. tf-idf может быть успешно использован для фильтрации стоп-слов в различных предметных областях, включая обобщение и классификацию текста.
В недавнем связанном с этим вопросе я узнал о прекрасной бесплатной книге по этой теме, которую вы можете скачать или прочитать онлайн:
Введение в информационный поиск
Ответ 2
Это сложный вопрос, и такие компании, как Google, прилагают большие усилия для решения этого вопроса. Посмотрите Google Enterprise Search Appliance или Exalead Enterprise Search.
Затем, как личное мнение, я не думаю, что любой "наивный" подход значительно улучшит результат по сравнению с наивным поиском и упорядочением по количеству просмотров на документах.
Если у вас есть возможность открыть свою базу знаний в Интернете, просто сделайте это, и пусть ваша любимая поисковая система проведет поиск для вас.
Ответ 3
Чуть более конкретная ваша точная проблема будет хорошей. Существует множество различных методов, которые вы можете использовать. Многие из них управляются другими данными. Вы можете, конечно, использовать Lucene и создавать свои собственные индексы. Есть привязки для многих языков к lucene. При переходе вверх есть проект Solr, который представляет собой Lucene с множеством инструментов и дополнительной функциональностью. Это может быть больше в соответствии с тем, что вы ищете.
Намерение сложно, и большинство современных поисковых систем полагаются на статистическое намерение помочь в упорядочении результатов. Вы всегда можете использовать эту полезную кнопку в статье и хранить текст запроса, который ведет к полезным документам. Затем вы можете добавить слой индекса в индекс, чтобы поднять конкретные слова или фразы и помочь им указать на определенные документы.
Некоторые вещи, о которых нужно подумать... Сколько документов? Какова средняя длина? Часто ли они обновляются? Что делают пользователи с документами? Как выглядит распространение уникальных слов в документах? (Более просто легко совместить запрос с конкретным документом (документами) на основе общих уникальных функций.)
Если это в Интернете, вы всегда можете создать поисковую систему Google, которая просто ищет ваш сайт, хотя вы можете обнаружить, что это не оптимально по целому ряду причин.
Вы всегда можете начать с простого индекса и постепенно сделать его более сложным, разговаривая с пользователями и захватывая данные.
Ответ 4
Я думаю, что угол здесь не является самим поиском... его оценка забивания релевантности полученной информации (более реактивный и пассивный подход), который впоследствии может быть использован для улучшения поисковой системы.
Я думаю, вы можете попробовать -
Просто мысль...
Третий пункт основан на алгоритме Роккио. Вы можете увидеть это здесь
Ответ 5
сопоставление ключевых слов недостаточно, когда вы занимаетесь вопросами, вам нужно понять намерение, так как Иоанн говорит очень горячую тему в поиске
Ответ 6
рейтинг поиска зависит от отношения веб-сайта, на котором вы получаете ссылку и местоположение этого веб-сайта, более высокая точность, ваш сайт будет лучше оцениваться в SERP, а также зависит от релевантности контента.