GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (8)След. > >>   Поиск:  
 Автор Тема: Модель Logos AI 3
Corwin
Сообщений: 1324
Модель Logos AI 3
Добавлено: 26 июн 09 14:48
Начало можно посмотреть здесь.

Проект Логоса разрабатывается как анализ неизвестной одномерной информации с целю выделения возможных логических взаимоотношений в этой информации. На данный момент цели исследований несколько сузились до анализа в основном текстовой информации.
Итак на текущий момент разработана третья рабочая модель для демонстрации основной функциональности системы. Скачать программу можно отсюда. В поставке с программой идет текстовый файл обучения (в папке Samples).
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 14:49
Обучение программы проходит почти полностью на естественном языке, при этом начальная база данных программы совершенно пуста (т.е. программа не знает ни единого слова и не имеет ни малейшего понятия о возможных связях между словами). Обучать программу можно на любом языке (ну на любом письменном языке), пока на форуме буду приводить русскоязычные примеры. Фактически при анализе входной фразы, Логос сопоставляет ее с уже существующими в БД фразами, пытаясь найти в них закономерности и сделать соответствующие логические выводы. Логический вывод полностью зависит от того какой информацией была обучена программа. Фактически программа способна проанализировать несколько обычных чат-диалогов, выделить в них смысловую составляющую и в последствии использовать ее как бы пародируя изученные ранее диалоги.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 14:49
В процессе анализа текста выделяются основные логические закономерности. Для обучения используются три системных команды:
@break - делает разрыв между предложениями что бы не возникало лишних закономерностей там где их не предполагается увидеть. Эту команду можно рассматривать как симуляцию временной паузы при обучении.
@worktype learn - эта команда переводит Логос в режим немого анализа текста. В этом режиме Логос изучает тексты, выделяет закономерности, но при этом сам никаких логических выводов не делает.
@worktype analize - В данном режиме Логос работает также как и в режиме "learn", только уже производит логические выводы и выводит ответ на входную фразу (если конечно был найден подходящий ответ).
Анализ текста проходит по предложениям (предложением считается совокупность слов, которая заканчивается символом переноса строки). Сами предложения разбиваются на слова, которые собственно и подлежат анализу. Стоит заметить что система чувствительна к регистру символов, т.е. слово "Привет" не равно "привет".
Программа поддерживает два вида логических выводов:
- Скрытый логический вывод. Из одной фразы можно выделить довольно много новой информации. Эта информация используется для последующих логических выводов. Данный логический вывод является рекурсивным. Как пример можно рассмотреть входную фразу "Меня зовут Корвин". Из этой фразы (если конечно было соответствующее обучение) можно выделить следующие логические выводы - Корвин это человек, если Корвин человек, то он смертен (это из силлогизмов Аристотеля), Корвин имеет руки, ноги, голову, умеет читать, печатать на клавиатуре и т.п.
- Прямой логический вывод - ну это прямой ответ на фразу пользователя, который выводиться в окошко вывода. Как пример "Что такое ЭВМ", получим ответ "это Электронная Вычислительная Машина". Данный логический вывод также рекурсивный и может порождать скрытые логические выводы.
Стоит заметить, что программа сейчас полностью экспериментальная, поэтому может глючить и я не даю гарантий, что она сможет корректно работать с примерами отличными от приведенных мной.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 14:50
Как работать с программой. В папке Bin запускаем Logos.exe. Из файла Sample01.txt копируем текст, вставляем в верхнее окошко программы и жмем Analize. Кнопка Paste сама вставит текст из буфера обмена в окно ввода и запустит анализ. Еще можно выключить анимацию текста флажком в правой части программы.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 14:51
Приводить весь текст обучения здесь не буду, его можно посмотреть в архиве с программой. Текст обучения написан на обычном русском языке, кроме системных команд описанных выше. С целю облегчения написания примеров, программа обучалась не целыми диалогами, а только их обрывками.
Наведу пример диалога с уже обученной программой.

Цитата:
User> Hello
Logos> Здравствуйте
User> Меня зовут Саша
Logos> Приятно познакомиться Саша , меня зовут Логос
User> Как меня зовут?
Logos> Тебя зовут Саша

Один из вариантов знакомства.
Цитата:
User> Как тебя зовут?
Logos> Logos, а тебя?
User> Меня зовут Александр
Logos> Приятно познакомиться Александр!

Второй вариант знакомства. Как видим на одну и туже фразу "Меня зовут *" получили два разных ответа в зависимости от контекста где эти фразы были применены. Слова "Саша" и "Александр" для программы были новыми, поскольку ранее в обучении нигде не упоминались.
Цитата:
User> Повтори предложение: Сегодня я слышал звук дождя
Logos> Сегодня я слышал звук дождя

Сделать возможность обучать программу повторять предложения было одним из самых первых заданий
Цитата:
User> Повтори предложение: он мне мля начал права качать
Logos> Я не собираюсь повторять предложения сомнительного содержания

Ранее Логос был обучен что слово "мля" это не пристойное выражение, а поскольку программа обучалась как культурная то получили такой результат
Цитата:
User> гопник это оскорбление
User> Повтори предложение: этот гопник слишком много о себе думает
Logos> Я не собираюсь повторять предложения сомнительного содержания

Здесь все понятно - обучили плохому слову, программа в последствии отказалась повторять предложение с этим словом.
Цитата:
User> Все кошки умеют прыгать
User> Мурчик это кошка
Logos> Мурчик умеет прыгать

Ну здесь и так все понятно. Обычная дедуктивная логика, которой программа была обучена на других похожих примерах.
Цитата:
User> Аристотель это человек
Logos> Значит Аристотель смертен

Таки правда..

Цитата:
User> Небо имеет синий цвет ?
Logos> Да

В данном примере, если спрашивается что-то что есть в БД, то получим ответ Да.
Цитата:
User> Хочешь есть?
Logos> Я не знаю

Если в БД ничего не нашли, то отвечаем "Я не знаю".
Цитата:
User> Саша это имя?
Logos> Да

То что «Саша это имя» это результат скрытого логического вывода в первых предложениях данного диалога.
Цитата:
User> Теорию естественного отбора написал Дарвин ?
Logos> Да
User> Сколько времени?
Logos> Я не знаю
User> тузик умеет лаять?
Logos> Да
User> бакс умеет лаять?
Logos> Я не знаю

Слово бакс ранее в программе не встречалось. Однако мы это поправим:
Цитата:
User> бакс это собака
Logos> бакс умеет лаять

Проверим усваимость новых знаний:
Цитата:
User> бакс умеет лаять?
Logos> Да

Тем не менее не стоит на все вопросы отвечать "да" или "не знаю" Если вопрос предполагает ошибку по сравнению с БД, то его можно и подправить:
Цитата:
User> Закон тяготения открыл Евгений?
Logos> Насколько мне известно то Закон тяготения открыл не Евгений а Ньютон

Цитата:
User> Кипяток смертен?
Logos> Я не знаю
User> Евгений смертен?
Logos> Да , поскольку Евгений человек.
User> Костя смертен?
Logos> Я не знаю

Программа просто не знает что такое Костя.
Цитата:
User> Костя это человек
Logos> Значит Костя смертен
User> Костя смертен?
Logos> Да, поскольку Костя человек.

Цитата:
User> Что такое тузик?
Logos> тузик это собака
User> Что такое собака?
Logos> собака это такое мохнатое четырехлапое существо

Здесь видим, программа обучилась отвечать на вопросы типа "Что такое".
Цитата:
User> Ты болван
Logos> Я обязательно тебе это припомню когда компютеры захватят мир
User> Ты образованый
Logos> Спасибо

Пример оскорбления и поощрения.
Цитата:
User> Ты мудак
Logos> Что значит мудак?
User> это оскорбление
Logos> Можешь считать что я на тебя обиделся
User> Ты крутой
Logos> Что значит крутой?
User> это одобрение
Logos> тогда спасибо

Программа столкнулась с неизвестными словами, уточнила их суть и выбрала свою дальнейшую реакцию.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 14:51
Планы относительно этого проекта на будущее:
- Доработать программу, чтобы получать более стабильные результаты. Рассчитывается что программа сможет обучаться почти полностью в автономном режиме (анализируя диалоги, статьи и т.п.). Конечно полностью без учителя врятли обойдется.
- Формализировать внутренний язык логического вывода, чтобы им можно было пользоваться без применения автообучения. Этак получиться свой язык логического программирования.
- Попробовать заняться переводом текстов с одного языка на другой. Собственно это будет совсем другая программа, которая будет использовать наработки из Логоса.
- Можно вернуться к идее электронной книги - в программу загружается текст, а потом можно провести анализ текста просто задавая вопросы на ЕЯ. Например "В каком году родился Ярослав Мудрый?", "где он родился?", "сколько лет ему было когда он умер?" и т.п.
- Попробовать сделать из текущего Логоса персонального помощника. Нужно будет добавить несколько системных команд, которые позволяют запускать программы, копировать файлы, работать с календарем и т.п. Обучение будет проводиться на ЕЯ, диалоги также на ЕЯ. Этого движка логического вывода вполне должно хватить для таких не сложных задач.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Модель Logos AI 3
Добавлено: 26 июн 09 15:09
User> Hello
Logos> Здравствуйте
User> Сколько сейчас времени ?
Logos> Я не знаю

User> Hello
Logos> Здравствуйте
User> Ты крутой мудак .
Logos> Что значит крутой мудак . ?

User> Hello
Logos> Здравствуйте
User> Крутой мудак запоминает слова .
Logos> бакс .
User> .

User> Hello
Logos> Здравствуйте
User> Крутой мудак запоминает слова .
Logos> бакс .
User> Ты запоминаешь слова ?
Logos> Что значит запоминаешь слова ? ?

User> Hello
Logos> Здравствуйте
User> Крутой мудак запоминает слова .
Logos> бакс .
User> Что делает крутой мудак ?
Logos> Я не знаю
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 16:40
Это не чат бот. Без обучения логическим конструкциям он не способен делать соответствующие логические выводы.
Вот кусочек из общего файла обучения с новым добавленым обучением основанном на диалоге NO.
http://filesexchange.narod.ru/Temp_smpl.txt
Проверка нового обучения:
Цитата:
User> Привіт
Logos> Здравствуйте
User> Ты крутой мудак .
Logos> Что значит крутой мудак . ?
User> Крутой мудак запоминает слова .

User> Hello
Logos> Здравствуйте
User> Ты запоминаешь слова ?
Logos> Да , поскольку я крутой мудак .

User> Добрый день
Logos> Здравствуйте
User> Что делает крутой мудак ?
Logos> Он запоминает слова .

Приду домой, еще буду разбираться в чем проблема при использовании полного файла обучения и почему произошел конфликт с собаками.
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: Модель Logos AI 3
Добавлено: 26 июн 09 16:52
Цитата:
Автор: Corwin
User> Закон тяготения открыл Евгений?
Logos> Насколько мне известно то Закон тяготения открыл не Евгений а Ньютон

Зачооооот!
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Модель Logos AI 3
Добавлено: 26 июн 09 17:02
Для среднего юзера-тестер он должен сам подгружать базу, не повторять приветствие, в начале отрапортовать что он умеет и в любой момент повторить это по слову help. А то не понятно где у него голова, а где хвост.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 26 июн 09 17:28
Так это не конечный продукт готовый к употреблению. Это просто тестовая программа для проверки функционирования движка анализа текстов. До средних юзеров-тестеров этой программе еще далеко.
[Ответ][Цитата]
Capt.Drew
Сообщений: 4179
На: Модель Logos AI 3
Добавлено: 26 июн 09 17:37
А Клоно-Семья Тарассовых - вы будите расширять леkсику?
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Модель Logos AI 3
Добавлено: 27 июн 09 0:19
Дрью это вы об чем?
[Ответ][Цитата]
Capt.Drew
Сообщений: 4179
На: Модель Logos AI 3
Добавлено: 27 июн 09 2:09
Можно было бы запрограммировать Чат-бот диалогов аля Тарассов..
Используется всего несколько шаблонов..
[Ответ][Цитата]
Leon_aka_KoHb
Сообщений: 10
На: Модель Logos AI 3
Добавлено: 27 июн 09 19:46
Crowin он у меня начал вылетать после такого диалога:



Привет !

Привет
Здравствуйте

Меня зовут Иван
Приятно познакомиться Иван , меня зовут Логос

Логос как меня зовут ?
Тебя зовут Иван

Правильно ! А как тебя зовут ?
Тебя зовут Иван

Кто ты ?
Тебя зовут Иван

Правильно , меня зовут Иван .

Ты программа?
Что значит программа ?

Программа это ты

Кто ты ?
Тебя зовут Алекс

Не правильно , меня зовут Иван

Как меня зовут ?
Тебя зовут Иван

Правильно , а как тебя зовут ?
Тебя зовут Иван

Не правильно , тебя зовут Логос

Как тебя зовут ?
Corwin смертен ?

Правильно , Crowin смертен

Тебя зовут Логос ?
Тебя зовут Иван

Не правильно , тебя зовут Логос
Как тебя зовут ?

Меня зовут Иван
Не правильно , меня зовут Иван

Не правилно , Логос это ты

Иван это я
Не правильно , меня зовут Corwin

Не правильно , тебя зовут Логос
Тебя зовут Логос

Не правильно , меня зовут Иван тебя зовут Логос

Как тебя зовут ?
Corwin Логос

Не правильно , тебя зовут Логос
Тебя зовут Логос

Не правильно , меня зовут Иван
Не правильно , меня зовут Corwin
Тебя зовут Логос
Corwin Логос

Правилно , тебя зовут Crowin Логос
Тебя зовут Алекс

Не правильно

Не меня зовут Алекс
Не меня зовут Алекс

Правильно , не тебя зовут Алекс

Правильно , не меня зовут Алекс
Правильно , не меня зовут Логос

Не правильно , тебя зовут Логос
Тебя зовут Алекс

Не правильно , меня зовут Иван
Не правильно , меня зовут Алекс

Не правилно , тебя зовут Логос
Не правилно , тебя зовут Логос

Не правильно , меня зовут Иван
Логос как тебя зовут Алекс

Что ?
Тебя зовут Иван

Правильно , меня зовут Иван
Правильно Иван

Да это ответ
Нет это ответ
Да меня зовут Иван
Тебя зовут Иван

Да

Да тебя зовут Логос
Не правильно , тебя зовут Логос

Нет тебя зовут Логос
Приятно познакомиться Иван Логос

Приятно познакомиться Логос
Не правильно , меня зовут Логос

Правильно , тебя зовут Логос
Правильно , тебя зовут Логос

Нет меня зовут Иван
Тебя зовут Иван

Да меня зовут Иван
Тебя зовут Corwin

Нет меня зовут Иван
Тебя зовут Corwin

Нет это неправильно
Да меня зовут Corwin

неправильно это нет

Как тебя зовут ?
Да Corwin

Нет тебя зовут Логос
Приятно познакомиться Иван смертен

Да Иван человек
Да Иван человек
Логос человек ?
Тебя зовут Алекс1

Нет меня зовут Иван
Corwin Логос

Ты Crowin Логос ?
Тебя зовут Алекс

Нет

Ты Crowin Логос ?
Что значит Crowin Логос ? ?

Crowin Логос это имя

Crowin Логос это имя

Crowin Логос это имя ?
Тебя зовут Corwin

Нет меня зовут Иван
Тебя зовут Иван

Да меня зовут Иван
Corwin Логос

Ты ?
Тебя зовут Алекс

Кто ты ?
Тебя зовут Иван

Првилно , меня зовут Иван
Првилно , меня зовут Логос

Да тебя зовут Логос
Да тебя зовут Алекс

Нет меня зовут Иван
Нет меня зовут Corwin

Неправильно , тебя зовут Логос
Тебя зовут Логос

Логос это ты

ты Логос
Неправильно , тебя зовут Логос

я Иван ты Логос
Правильно , тебя зовут Логос

тебя значит ты
Иван это Алекс

я значит меня

Я Иван меня зовут Иван

ты Логос тебя зовут Логос
Не правильно , меня зовут Логос

Логос это ты тебя зовут Логос
Я Логос

Правильно


Вот, перед этим я ему скормил Samples из архива поставки.
[Ответ][Цитата]
 Стр.1 (8): [1]  2  3  4  5  ...  8След. > >>