Здравствуйте, одна из тем форума помогла мне решиться и создать эту тему. Предлагаю всем вместе, написать Искусственного Собеседника. Я знаю, что такой программы пока нет, поэтому предлагаю сначала написать программу, которая будет разговаривать на уровне 3-4 летнего ребенка. Написать эту программу – мечта всей моей жизни, поэтому я надеюсь, что эту идею кто-то поддержит. Большое спасибо, что прочитали это сообщение.
--------------------
Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это путь самый легкий и путь опыта - это путь самый горький. Конфуций
Надо каким-то образом заставить компьютер рассуждать. Я попытался проанализировать ход моих мыслей при ответе на некоторые простые вопросы. И как мне показалось, я, когда мне говорят фразу, я воссоздаю картинку, которую мне описывают и дальше сравниваю её с тем, что у меня записано в памяти.
Поэтому я предлагаю сделать граф существительных, и к каждому существительному будет идти ребро, весом которого является набор характеристик. (Заяц - длинные, белые, смешные...->уши)
Далее идет лингвистический анализ предложения (как его делать идей нет, но почитаю кинутые статейки, может быть, идейки появятся). Дальше мы получаем запрос, что мы делаем мы берем главное существительное и смотрим какие слова к нему относятся на втором уровне, и выделяем подграф, в котором верно: Любое ребро этого графа удовлетворяет следующему утверждению: либо один из параметров ребра содержится в предложении, либо хотя бы одна из вершин этого ребра содержится в предложении. Дальше мы анализируем этот граф на "хорошесть". Например, если граф не связный, то он точно плохой, и если в характеристиках его ребер присутствует "Не бывает" или что-то синонимичное, то граф тоже плохой, а если нет, то граф хороший.
Далее мы рассматриваем два случая, хорош ли граф или нет, если хорош, тогда мы составляем ответное предложение (как его составлять у меня пока идеи только смутные)
А если нет, то мы на том ребре, на котором написано, не бывает, мы смотрим на эмоцию и выражаем её, правда можно добавить смещение, то есть ввести просто общую эмоцию нашего аппарата и дальше если, например аппарат доволен, а эмоция стоит "бред", то он ответить "Да вы что, я раньше о таком не слушал" или что-то в этом духе, а если аппарат зол, тогда он ответит что-то вроде "не вешайте мне лапшу на уши". Причем обработку эмоций придется делать и на хорошем графе и сумма эмоций всех ребер графа будет влиять общую эмоцию нашего аппарата. Дальше, когда ответ подготовлен должен произойти обратный лингвистический анализ, который из "предпосылок" предложения сконструирует предложение и выдаст его пользователю. Так же нам надо выбирать тему разговора и заносить в память для того, чтобы аппарат понимал, о чем идет речь, если в середине разговора с ним сказать "И конечно развитие этого дела требует больших усилий". Потому что по модели, которую я описал до этого аппарат примет это предложение за бессмысленное.
Ну, вот вкратце идея моего алгоритма.
Сообщение отредактировано: St@senk@ -
--------------------
Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это путь самый легкий и путь опыта - это путь самый горький. Конфуций
Поэтому я предлагаю сделать граф существительных, и к каждому существительному будет идти ребро, весом которого является набор характеристик. (Заяц - длинные, белые, смешные...->уши)