Разбор поисковой фразы на конкретные запросы. Как?
Представьте, что есть большая форма с полями для поиска информации, например автомобилей. Каждый раз заполнять ее долго и муторно. В качестве альтернативы было выбрано одно поле, куда пользователь может вводить произвольный текст. Задача была распознать в этом тексте поисковые параметры и смапить на запрос. Сейчас пошел в лоб, обычные регулярки на стоп слова. Но я уже сто раз успел пожалеть об этом, вечно попадаются исключения из правил, слишком много вариантов написания поискового запроса и т.д.
В какую сторону смотреть для более качественного вычленения поисковых параметров из произвольно фразы? Нейронные сети? С чего начать, если да?
Meliborn: Можно попробовать собрать приличную выборку всех запросов и вручную попытаться как-то систематизировать их, вычленить какие-то общие правила, найти общие виды сочетаний слов.
я имел ввиду mysql vs sphinx, скорость в данном случае не играет никакой роли, пользователь даже не заметит разницы. проблема в точности. Томита...что то похожее, да, но какой-то уж высокий порог вхождения и нет реализации под нужный язык. Думаю может делать лемматизцию и для каждой записи, по которой будет идти поиск, генерировать индекс на основе колонок, по которым будет поиск
Meliborn:
mysql vs sphinx - дело не в скорости, а в качестве поиска
Томита - инструмент для разбора есстественного языка, поиск по тому что томита даст тебе нужно будет делать самому. И яндекс не дает исходников к нему. так что фраза "нет реализации под нужный язык" вообще непонятна. Если что, то Томита предназначена для разбора русского
"Думаю может делать лемматизцию и для каждой записи, по которой будет идти поиск, генерировать индекс на основе колонок, по которым будет поиск" - что никак не приблизит тебя к тому, что нужно делать natural language processing