Алгоритм поискового запроса и ключевого слова - PullRequest
0 голосов
/ 12 августа 2010

Я ищу алгоритм, который будет эффективно разделять строку поиска на массив известных поисковых фраз. Например, если я набираю «Лос-Анджелесская пицца», необходимо знать, что я ищу «Лос-Анджелес» и «Пицца», а не «Лос-Анджелес» и «Анджелес Пицца».

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

1 Ответ

0 голосов
/ 12 августа 2010

Google N-грамм Корпус может использоваться для определения наиболее вероятных делений фраз.

Для достаточно коротких фраз вы можете сгенерировать все возможные наборы n-грамм, которыеФраза может быть разделена на (например, ["Los", "Angeles", "pizza"], ["Los Angeles", "pizza"], ["Los", "Angeles pizza"] и ["Los Angeles pizza"] для вашего примера фразы), найдите их в корпусе и посмотрите, какие из них имеют наибольшее количество вхождений,(Учитывая размер корпуса, вам, вероятно, потребуется загрузить его в базу данных, а не в хеш-таблицу в памяти.)

РЕДАКТИРОВАТЬ : Судя по всему, это не таксвободно доступны.Может быть, есть некоторые похожие вещи, которые вы могли бы использовать, хотя.Если нет, то, безусловно, есть наборы текста из Интернета, которые вы можете загрузить и использовать для создания своих собственных списков n-грамм.

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