Пометка и анализ поисковых запросов - PullRequest
3 голосов
/ 10 мая 2011

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

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Вам нужно построить семантическое дерево.Это будет основано на комбинации ключевых слов.

Например, автомобиль -> транспортное средство -> автомобиль это отношение технический аспект автомобиля.путешествие -

аренда / аренда -> транспортное средство -> автомобиль это что-то связанное с путешествием и аренда автомобиля.В этом случае MongoDB вам очень поможет.

1 голос
/ 02 июня 2011

Да, размер выборки типичного запроса слишком мал, чтобы семантический анализ мог иметь какое-либо значение.

Одним из подходов может быть ограничение или расширение запроса с помощью раскрывающихся меню для таких вещей, как «Именованный».Кортежи "Entities" или "Subject Verb Object".

Другой подход заключается в расширении простых ключевых слов с использованием правил, созданных из ваших метаданных, так что, например, запрос для 'car' может быть расширен до шаблона кортежа

(*,[drive,operate,sell],[car,automobile,vehicle])

перед отправкой.

Наконец, вы можете попытаться расширить запрос с несемантически значимым префиксом и / или суффиксом, чтобы получить размер запроса, достаточно большой для запуска распознавателя OpenCalais.

Что-то типа «Пользователь указал в своем запросе следующие термины: один, два, три.».

И как только результаты будут возвращены, отфильтруйте все результаты, которые соответствуют только добавленнымпрефикс / суффикс.

Всего несколько быстрых мыслей.

...