в программе Scrabble 83 год словарь заявлен на
the computer's vocabulary contains over 11,000 words
http://www.worldofspectrum.org/infos...cgi?id=0004375
возможно там сокращение по слогам, я детально не разбирался
в программе Scrabble 83 год словарь заявлен на
the computer's vocabulary contains over 11,000 words
http://www.worldofspectrum.org/infos...cgi?id=0004375
возможно там сокращение по слогам, я детально не разбирался
Возможно, комбинации из 2х букв. Для русского языка кстати, если применять такие сокращения, это актуально. Т.к. многие комбинации просто не могут существовать, например: ЙЙ, ЭЭ, ЫЫ, мягкий знак после гласных и т.д.
Ну для хорошего чат-бота нужны не только отдельные слова, но и выражения.
---------- Post added at 10:06 ---------- Previous post was at 09:55 ----------
А вообще, цепи Маркова могут быть полезными для генерации текстов: http://max-folder.webnut.ru/diary/169
Всё-таки зря я в качестве ИИ представил чат-бота...это действительно глупая программа, "приведения" из PacMan'а умнее будут.
В таком случае,что нужно что б Горбатый блеснул интеллектом?
Именно GLaDOS [изображение в первом посте данной темы] вдохновила меня на желание создать ИИ.
Написать толковую экспертную систему на Микро ПРОЛОГе, запустить ее на горбатом, на вывод подцепить морду, крутящуюся на другом спеке....
---------- Post added at 14:17 ---------- Previous post was at 14:08 ----------
Или натурального робота наколесиках, а гробик чтоб думал за него.
Сталинград-1, две Дельты, Балтик. А еще Subor SB-225B
2х УКНЦ + КМД УК
AMIGA A1200 + Elsat E1208 + 8Mb Ram
Radio - 86RK
Электроника МК-52 + 4 батарейки
Венец прогресса - телевизор, унитаз и холодильник. Его орудия - паяльник и напильник!
Такая вот у меня идейка, как реализовать упрощенный ИИ.
База знаний состоит из 2х таблиц:
Таблица 1:
<подлежащее 1> {/<подлежащее 2>} ... {/<подлежащее N>} # <сказуемое> # <дополнение 1> {/<дополнение 2>} ... {/<дополнение N>}
Таблица 2:
<сказуемое> {/<синоним 1 сказуемого>} ... {/<синоним N сказуемого>} # <вопрос 1> {/<синоним 1 вопроса>} ... {/<синоним N вопроса>} # {<альтернативный вопрос 1>} ... {<альтернативный вопрос N>}
Пример базы на тему компьютеров:
Таблица 1:
компьютер # имеет # процессор / память / монитор / клавиатуру
процессор / память # имеет # транзисторы
транзистор # бывает # биполярный / полевой / кремниевый / германиевый / арсенид-галлиевый
транзистор # появился # в 20 веке
память # бывает # 16k / 48k / 128k / больше 1 Мб / больше 1 Гб
в 20 веке # появился # Zx Spectrum / Спекки
ZX Spectrum / Спекки / IBM PC # это # компьютер
ZX Spectrum / Спекки # бывает # 16k / 48k / 128k
IBM PC # бывает # больше 1 Мб / больше 1 Гб
ZX Spectrum / Спекки # появился # в Англии в 20 веке
IBM PC # появился # в США в 20 веке
привет # #
пока # #
Таблица 2:
имеет # что # из чего состоит
бывает # какой / какая / какое / каким # каким может быть / какой может быть
появился / открыт / разработан / сделан # когда / в каком веке / в каком году #
появился / открыт / разработан / сделан # где # в какой стране / в каком городе
это / является / - # что # что такое / кто такой / кто такая
# привет / здрасти #
# пока / ок / до свидания #
ИИ распознает, что сказал юзер: вопрос или утверждение. Предложение юзера является вопросом, если в конце стоит вопросительный знак или в начале предложения имеется элемент <вопрос> или <альтернативный вопрос> (смотрится по таблице 2 в базе). Предложение юзера является утверждением, если не были выполнены эти условия.
Юзер задал вопрос. Если имеется <альтернативный вопрос>, он сразу заменяется на комбинацию <вопрос 1><сказуемое>. Если же был <вопрос> или его синоним, ищется сказуемое. Если следующее слово в вопросе юзера "был", "была", "будет", "будут" и т.д., то оно игноруется, и переход на следующее. Следующее слово является сказуемым или синонимом сказуемого. Ищем по таблице 2 основное <сказуемое> и берем его. В остальной части вопроса юзера ищем <подлежащее>, сравнивая с таблицей 1 по всем ячейкам. Если в остальной части предложения вообще нет слов, то считаем <подлежащим> последнее обработанное подлежащее в предыдущем сообщении ИИ. Если нашли предложение в таблице 1, где встречаются и <подлежающее>, и <сказуемое> одновременно, то выводим это предложение в качестве ответа на вопрос. Если же не нашли такое предложение в таблице 1, то ИИ отвечает "Не знаю". Можно также задать вопрос "Что такое <сказуемое><подлежащее>?" После ответа юзера можно занести его в базу в качестве нового предложения, как-то обработав (не думал еще, как).
Если в вопросе юзера отсутствуют <подлежащее> или <сказуемое>, то ими считаются последние обработанные ИИ в предыдущем сообщении.
Юзер сделал утверждение. Ищем <подлежащее> и <сказуемое> или их синонимы, приводя к стандартным <подлежащему> и <сказуемому>. Если нашли предложение в таблице 1, где встречаются и <подлежающее>, и <сказуемое> одновременно, то отвечаем "Да". Если же не нашли такое предложение в таблице 1, то действуем аналогично, как после вопроса юзера ("Не знаю" и т.д.).
Пример диалога юзера (Ю) с ИИ (ИИ) на тему компьютеров:
Ю: здрасти
ИИ: привет
Ю: что такое Спекки?
ИИ: Спекки это компьютер
Ю: и когда он был сделан?
ИИ: Спекки появился в Англии в 20 веке
Ю: прикольно!
ИИ: Не знаю. Что такое "прикольно"?
...
Как-то так![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)