В булевой модели поиска запрос состоит из терминов, которые объединяются вместе с помощью разных операторов. Конъюнкция — самый очевидный выбор на первый взгляд, но когда длина запроса увеличилась, случилось что-то плохое. Отзыв значительно снижается при использовании конъюнкции, а точность снижается при использовании дизъюнкции (например, stanford OR university
).
На данный момент мы используем конъюнкцию — это наша поисковая система (и логическая модель поиска). И у нас есть проблема, если пользователь вводит какое-то очень редкое слово или длинную последовательность слов. Например, если пользователь вводит toyota corolla 4wd automatic 1995
, вероятно, у нас его нет. Но если мы удалим хотя бы одно слово из запроса, такие документы у нас есть. Насколько я понимаю в Vector Space Model эта проблема решается автоматически. Мы не фильтруем документы по факту наличия терминов, мы ранжируем документы по наличию терминов.
Поэтому меня интересуют более продвинутые способы комбинирования терминов в булевой модели поиска и методы исключения редких терминов в булевой модели поиска.