Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Разбор предложения на параметры запроса |
Автор: sad8c 10.1.2013, 09:40 |
Не могу нормально сформулировать задачу, поскольку не пойму куда именно копать. Задача следующая (пожалуйста, к задаче не придирайтесь, она выдумана, просто похожа алгоритмикой на реальную): Имеем строку, введенную пользователем о себе в свободной форме. Имеем словарь имен вида: имя/id (Маша/137). Такого же вида словарь городов. Имеем таблицу персон вида айди\имя (айди связи)\отчество\дата рождения (в формате дд.мм.гггг)\город рождения(айди связи). Пример строки от пользователя: Я родилась ноябре 1980 года, двадцать седьмого числа. Меня зовут Маша, и я из Краснодара. Второй пример: Место моего рождения: столица юга Краснодар. 27 ноября 1980 года, когда я родилась, родители назвали меня Машей. Так вот, необходимо в обоих случаях, и других возможных, получать из этого повествования структурированный объект пользователя, с соответствующими связями к городам и именам. Примеры надуманы, но принцип такой. Куда копать? Как называется такая область алгоритмики или программирования, которая решает такие задачи? Существуют ли готовые методы решения похожих задач? Заранее спасибо всем участникам. |
Автор: ksnk 10.1.2013, 09:47 |
Как вариант - можно разбить предложения на части речи. Потом по существительным поискать словарные термины. `анализ предложений русских глаголы существительные алгоритм` - строка для поиска в гугле. http://habrahabr.ru/post/148124/ http://habrahabr.ru/post/152389/ первые попавшиеся посты, которые показались мне интересными на первый взгляд. Хотя слишком свободная форма изложения не впишется в простой алгоритм. |
Автор: Peter 11.1.2013, 09:11 |
Ко мне когда-то обращались с подобной просьбой - человек писал диссертацию и хотел, чтобы я составил алгоритм и написал программу (за денежки, конечно). Я ему ответил, что эту задачу до конца решить не получится; можно постепенно усложнять алгоритм, чтобы он обрабатывал 90% запросов, потом 95%, потом 98%, но до 100% мы так и не доведём. Гораздо легче предоставить пользователям форму, чтобы они вводили данные сами; тогда если они ошибутся и введут Машу в название города, то сами будут виноваты в некорректности данных. |