![]() |
![]() |
St@senk@ |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Максим Репутация: ![]() ![]() ![]() |
Здравствуйте, одна из тем форума помогла мне решиться и создать эту тему.
Предлагаю всем вместе, написать Искусственного Собеседника. Я знаю, что такой программы пока нет, поэтому предлагаю сначала написать программу, которая будет разговаривать на уровне 3-4 летнего ребенка. Написать эту программу – мечта всей моей жизни, поэтому я надеюсь, что эту идею кто-то поддержит. Большое спасибо, что прочитали это сообщение. -------------------- Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это путь самый легкий и путь опыта - это путь самый горький.
Конфуций |
![]() ![]() |
Archon |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Archon не присоединится. Я пол года потратил на обдумывание полностью аналогичной идеи, и до реализации дело так и не дошло.
Но по поводу некоторых общих вопросов могу высказать свои идеи. Для начала... что должно быть: 1 "База Знаний" (здесь и далее названия в кавычках - условные термины). Это та самая БД что мы обсуждали. В ней хранятся "понятия" (определяются существительными), "действия" (определяются глаголами), и тд. Таким образом это совокупность нескольких БД. В какой форме хранить все эти "понятия", "действия" и прочее - один из основных вопросов написания этой программы. Некоторые мысли по поводу хранения "понятий" я писал выше. 2 "Память". В ней хранится информация об известных программе "событиях". 3 "Блок обработки текстовых сообщений". Обеспечивает семантический анализ предложений и осуществляет связанные с этим действия. Например, если предложение повествовательное - строит модель "события", записывает ее в "память" и, по возможности, пополняет "БЗ", если вопросительное - ищет ответ и тд. Пример разбора предложения: 'Мама мыла раму' ![]() Предложение повествовательное, значит нужно строить модель. Два существительных, значит в модели создаем два "объекта": один "объект" на базе понятия "мама" (описание понятия хранится в "Базе знаний"), и один на базе понятия "рама". В предложении есть глагол ("действие"). Исходя из грамматики делаем вывод что объект "мама" совершал в прошлом над объектом "рама" действие "мыть". Вот и готова модель "события". Ее можно сохранить в "памяти" в примерно таком виде: во время <время_и_дата> была получена информация о том, что в прошлом (относительно времени получения информации) совершалось действие определенное моделью <id модели>. Кроме того из этого предложения программа получит информацию, что объект "мама" в принципе может совершать над объектом "рама" действие "мыть", и таким образом пополнит "Базу Знаний" (посредством создания новых "связей" между этими "понятиями"). 4 "Набор определяющих поведение динамик". Если реализовать только пункты 1 - 3, программа сможет понимать то что пользователь ей набирает, и таким образом накапливать знания. Но это как собака, которая все понимает, но сказать не может, скучно... Чтобы программа смогла не только отвечать на вопросы, но и самостоятельно произносить фразы и поддерживать разговор, нужно задать смысл этим ее действиям. Для этого ей нужно сделать потребности. Так как на окружающий мир программа влиять не может и никаких физических потребностей у нее тоже нет, потребности должны быть интеллектуальные. Например - сбор информации. Но просто бессистемный сбор информации - это тоже не интересно, поэтому стремления программы можно поделить на "управляющие динамики". Например у программы может быть динамика, заставляющая ее интересоваться всем, что связано с биологией. Или можно вложить в программу стремление найти ответ на какой-либо вопрос... 5 "Характер" Те же динамики, но их цель - сделать поведение программы более человечным, изобразить чувства, что ли.. 6 "Настроение" Тоже самое, что и 5, но меняющееся в зависимости от обстоятельств. Все что я выше написал, получилось весьма общим и, местами, невнятным. ;) Так что задавайте вопросы (если, конечно, мои мысли показались вам интересными), я дам разъяснения. PS Интересно, найдется кто-нибудь, кто все это прочитает? ;) Сообщение отредактировано: Archon - 25.03.2007 15:12 -------------------- Close the World...txeN eht nepO
|
Чужак |
![]()
Сообщение
#3
|
![]() меркантильный ![]() ![]() ![]() Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: ![]() ![]() ![]() |
PS Интересно, найдется кто-нибудь, кто все это прочитает? ;) Я прочитал, мне понравилось. Вообще, если даже не сможете создать Искуств. Собеседника, то ваша тема-неплохой полигон для отработки идей, которые могут использоваться в экспертных системах. -------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 12:12 |