[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разработка поиска по сайту - склонения слов
str_replace
Друзья!

Кто-нибудь сталкивался с разработкой поиска на php с учётом того, что поисковый механизм должен искать слова с разными окончаниями?

Например, фраза "Дорогой друг".

Нужно, чтобы искались слова "дорогой", "дорогая", "дорогие", "дорогую" и т.п.

Как это вообще делается?
Нужно иметь словарь окончаний?
Какие есть идеи?




Спустя 2 часа, 10 минут, 40 секунд (11.12.2008 - 19:19) FatCat написал(а):
Цитата (str_replace @ 11.12.2008 - 17:09)
Какие есть идеи?

С окончаниями маетно.
Была идея нестрогого поиска по вхождению букв. Тогда "окно" и "окон" найдется при полном совпадении, "окно" и "окна" найдется с расхождением в одну букву и будет показываться во вторую очередь.
Желательно учитывать расхождения в зависимости от позиции в слове: в конце слова и 3 расхождения некритичны (разные окончания), в середине слова (предположительно в корне) не больше 1-й буквы расхождений.

Но скорострельность этого алгоритма будет о-о-о-о-очень медленной...

Спустя 1 месяц, 25 минут, 26 секунд (11.01.2009 - 19:45) Guest написал(а):
Я таких функций не встречал, хотя очень бы пригодились. Умом Россию не понять, алгоритмическим языком тем более smile.gif


-------------
Продам, без пробега по Украине
user posted image

Спустя 18 часов, 25 минут, 48 секунд (12.01.2009 - 14:11) Alchemist написал(а):
Простейшая система с обработкой окончаний делается с учебником русского языка для первого класса.

Полная обработка с определением рода, типа, пола, склонения и спряжения делается долго, за большие деньги, и очень умными людьми с высшим образованием. У того же Ашманова делавшего языковой фильтр для Яндекса - степень по лингвистике.

Спустя 17 дней, 6 часов, 57 минут, 54 секунды (1.02.2009 - 21:09) sad8c написал(а):
эээ...
может я что-то неправильно понял, но почему бы вам просто не воспользоваться возможностями мускуловского FullText?
Это конечно не Яндексовский языковой фильтр, но вы ведь и не поисковик делаете наверно)))


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.