Динамический множественный выбор (как в мастере) - как бы вы его разработали? (например, схема, модель AI и т. д.) - PullRequest
1 голос
/ 09 сентября 2009

Этот вопрос, вероятно, можно разбить на несколько вопросов, но здесь идет ...

По сути, я хотел бы позволить пользователям вводить то, что они хотели бы сделать, и предоставлять интерфейс, подобный мастеру, для запроса информации, которая отсутствует для выполнения запрошенного запроса. Например, скажем, пользователь вводит: «Какая погода в Спрингфилде?»

Мы признаем, что пользователь интересуется погодой, но это может быть Спрингфилд, Ил или Спрингфилд в другом штате. Последующий вопрос будет:

Для какого Спрингфилда вы хотели погоду? 1 - Спрингфилд, Ил 2 - Спрингфилд, Wi

Вы можете вспомнить миллион примеров, когда в запросе отсутствуют ключевые данные или они неоднозначны. Сделайте предположение, что суть того, что хочет пользователь, может быть понята, но отсутствуют недостающие фрагменты данных, необходимые для выполнения запроса.

Возможно, вы можете вернуться к тому, чтобы спросить, что пользователь хочет сделать, и "привести" его к запросу.

Это не ИИ в смысле принятия какого-либо вклада и истинного его понимания. Я не имею в виду какой-либо способ вести разговор с пользователем. Речь идет о выводе того, что хочет пользователь, проверке, существует ли соответствующая услуга, которая должна быть предоставлена, определении необходимых входных данных и наложении этого поверх того, что отсутствует в запросе, а затем запросе у пользователя оставшейся информации. Это оно! : -)

Как бы вы хотели хранить информацию об услугах? Как бы вы определили, чего не хватает во входных данных?

Мои мысли: Используйте выражения регулярных выражений для определения четких частей информации. Они будут соответствовать параметрам услуги. Выясните, какие параметры не имеют соответствующих данных, и найдите соответствующий вопрос для этих параметров. Задайте эти вопросы и запишите ответы. Повторно запустите службу, передав новые данные. Это были бы вопросы в свободной форме.

Для множественного выбора определите неоднозначность и найдите потенциальные совпадения, упорядоченные в порядке вероятности (добавьте в историю / предпочтения пользователей, чтобы помочь решить). Укажите 3 лучших варианта.

Мысли оценены.

Ура, Генри

1 Ответ

1 голос
/ 13 декабря 2009

Это не ИИ в том смысле, что нужно принимать какие-либо данные и действительно понимать их.

Это, безусловно, так и есть! Вы следите за этим, заявив, что именно:

Я не имею в виду какой-либо способ вести разговор с пользователем. Речь идет о выводе того, что хочет пользователь, проверке, существует ли соответствующая услуга, которая должна быть предоставлена, определении необходимых входных данных и наложении этого поверх того, что отсутствует в запросе, а затем запросе у пользователя оставшейся информации. Это оно! : -)

Логический вывод лежит в основе любых тем ИИ. Что имел в виду пользователь? Что хотел пользователь? Какую информацию я должен получить? Как мне разобрать эту информацию и решить, какой ответ?

По сути, вы пытаетесь спроектировать современную систему ИИ, которая использует комбинацию методов НЛП для анализа запросов на естественном языке, а затем использует (возможно) алгоритм обучения, чтобы определить, как выполнять поиск, возможно, попадание в базу знаний, или, возможно, Google (который также требует процесса для анализа возвращенных данных, чтобы найти ответ).

Если вы можете каким-либо образом ограничить способ ввода (то есть, как запрашивается запрос), это поможет. Но тогда вы, по сути, будете создавать веб-форму ... это было сделано миллион раз.

Короче говоря, вы пытаетесь создать очень сложную систему, но вы явно не хотите использовать ни одну из соответствующих техник. Если вы пытаетесь использовать регулярные выражения для всего этого, удачи вам. Потому что это чертовски глубокая и темная кроличья нора, в которую я не хотел бы падать.

Но если вы настаиваете, начните с поиска хорошей книги по НЛП, потому что именно здесь вам все равно придется начинать.

...