Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > перефразировка вопросов для ответа на них |
Автор: programming 11.4.2009, 18:13 |
Допустим у меня есть вопрос и ответ к нему в БД. Например, "Вы давно там живёте?". Ответ:"2 дня". Как сделать, чтобы при перефразировке вопроса выдавался тот же ответ? Например, "Давно вы там живёте?". Должен появиться тот же ответ. Также как такое можно будет реализовать если поменяется не только порядок слов, но и падежи? Или если в вопрос добавится какое-то слово - например "Вы уже давно там живёте?". Ну и конечно же реализация не обязательно под с++ билдер. Просто случайно здесь создал тему... Лучше даже под консоль. Впринципе можно переместить в "общие вопросы". |
Автор: azesmcar 11.4.2009, 19:17 |
programming Думаю надо копать в сторону нейросетей. Добавлено через 1 минуту и 32 секунды Вроде тебе нужен вариант перцептрон с учителем. вот тут посмотри http://habrahabr.ru/blogs/artificial_intelligence/40659/ примеры правда на PHP |
Автор: Wolf1994 12.4.2009, 11:00 |
Разбить ключевую фразу на слова, убрать окончания, проверить сколько слов из ключевой фразы соответствует данной фразе, если все - вывести ответ. |
Автор: azesmcar 12.4.2009, 11:20 |
Wolf1994 А если он спросит не Вы давно там живёте? а Ты давно там живешь? Ну в принципе зависит от задачи конкретно, но в идеале по моему это должен быть AI |
Автор: programming 12.4.2009, 12:49 | ||
А каким образом возможно убрать окончания? Нужно проверить все окончания на каждое слово? Окончаний не так уж то и мало... Тем более для правильного определения окончания хорошо бы было знать часть речи. azesmcar, Я думаю нейросети не понадобятся, т.к. никаких полных замен фраз без изменения смысла не будет. То есть не надо создавать никаких искусственных интелектов для расшифровки каких-нибудь фразеологизмов, сложных умственных рассуждений. ![]() Хотя быть может я чего-то не понимаю и это понадобится. В пример подобной системы могу привести поисковик яндекс. При выдаче результатов он как раз и пользуется описанным выше способом. ![]() |