Пользователь
0,0
рейтинг
2 декабря 2009 в 03:18

Алгоритм робота Маришко

6 лет своей жизни я потратил на изучение искусственного интеллекта. Результат моих исследований выразился в незаконченном проекте marishko.com. Я пытался разработать систему человеческого общения, не требующую специально обученного учителя, а способную обучаться автономно как маленький ребёнок.

В этой статье я хочу поделиться некоторыми используемыми мною алгоритмами и идеями.

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

image



Для хранения информации я использую обычную реляционную СУБД (Interbase Firebird).
Все данные храню в трёх таблицах:
— Фразы
— Связи
— Диалоги

Данные получаю путём общения робота через ICQ с реальными людьми.
Критерии отбора людей: от 18 до 50 лет, страна: Россия, язык: Русский

ФРАЗЫ
Когда пользователь пишет боту сообщение, то это сообщение приводится специальным алгоритмом к понимаемой системой форме, иными словами я делаю для каждой фразы маску.

Алгоритм довольно прост. Я использую опыт психологов, которые утверждают, что когда человек читает текст то он смотрит в слове на первую букву, средние, последнюю, а так же длину слова. Этого хватает чтобы идентифицировать слово. И только если он не узнал слово, то читает по всем буквам.

Таким образом я составляю для каждой фразы маску.
Пример:
Для фразы «Привет, как поживаешь, дружище?» маска будет следующей: «пхивхт как пххивххшь дххжщхе»

Думаю вы заметили что так же я вырезаю все знаки препинания.

СВЯЗИ
После того как маска получена, создаётся связь между присланной фразой и той фразой которую в прошлый раз послал пользователю бот. Таким образом появляется запись в табличке связей.

Чтобы дать пользователю ответ, бот точно так же использует таблицу связей. Если ответ не найден. То через некоторое время вылетает фраза с которой начинается новая тема (как правило это фраза с которой никакая другая фраза не связана)

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

CИСТЕМА SPLITHEAD
Собственно механизм который без всяких проблем позволит боту пройти тест Тьюринга.
За этим смелым заявлением скрывается небольшое мошенничество. Бот может общаться одновременно с десятком пользователей. И в какой-то момент включается режим SplitHead.
В результате происходит связывание различных пользователей через бота.
Это означает что когда Вася Иванов пишет роботу, то робот пересылает его сообщение другому случайному пользователю, к примеру Саше Петрову, а ответы Саши Петрова попадают через бота Васе Иванову.
Таким образом два человека общаются между собой и оба пишут одному и тому же боту.
Естественно их диалог пополняет базу бота.

Примеры диалогов бота можно посмотреть здесь:
marishko.gorcer.com/icq_logs.php

Скачать программу Маришко.icq можно здесь:
marishko.gorcer.com/icq_index.php?page=download

P.S.: Прошу строго не судить содержание диалогов бота, наиболее активная аудитория робота импульсивная молодёжь.
P.S.2: Так как эта работа делалась когда я был молодым и не опытным система работает немного не стабильно
P.S.3: Исходники на проект в свободном распространении.

Спасибо пользователю stronciy. За этот пост в песочнице он дал мне инвайт.
Егор @gorcer
карма
73,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (145)

  • +9
    Чему бота учат, ужас: «bot: Так что, договорились? Ты мне хотя бы отсосешь ?».
    А вообще бот общается, и вполне бойко. Только каждые 10-15 фраза вообще в потолок стреляет.
    • +10
      по моему всегда в потолок. И зачем эта конкретика в обращении в каждом сообщении.

      БОТ, кому, текст…

      и вообще чат какой то странный. такое чувство что никто сообщения не читает, а тупо постит как бот
      • 0
        это потому, что у бота НЕТ ЦЕЛИ. это упущение любой подобной общалки. может, к набору «фраз, диалогов и связей» добавить ещё некоторые цели, которые создадут целостность общения?
        плюс к тому у каждого индивидуума есть свои ИНТЕРЕСЫ. при знакомстве и далее можно на них опираться, но сначала нужно о них узнать (посмотрите хотя бы последних симов, как они знакомятся), да и боту неплохо бы дать какие-то свои интересы и особенности.
        ещё хотелось бы не тупой перепост видеть, а более-менее грамотную речь с учётом уровня мышления бота. человеческое дитя не просто повторяет, как попугай, а обрабатывает поступающую информацию и отвечает уже фразами, которые сам строит.
        • 0
          вы говорите про какие-то идеальные механизмы с помощью которых это можно сделать.
          Но уровень данного бота ограничен тем что есть.
          Я думал о целях но боту этого не привить пока у него нет мышления. А само выражение «мышление робота» оно скрывает кучу неизвестных мне механизмов, и на несколько порядков выше всего того что я сделал.
    • +8
      а меня оно вообще на уй послало
      • 0
        его просто уже это все порядком достало
    • +2
      Отражение коллективного разума …
  • +4
    Кажется я сломал бота, и он больше не отвечает :)
    Маришко Здарово чувак
    Аноним Прива
    Маришко Hi
    Аноним Как жизнь?
    Маришко Нормально
    Аноним а у меня не очень :(
    • +2
      Задумался о бренности бытия :)
  • +2
    Ввиду больших нагрузок и слабого хостинга web-версия бота получилась довольно не интересной.
    Самый нормальный вариант ICQ-версия.
    • 0
      А есть уже готовый номер ICQ, чтобы не ставить, а общаться с ним? Что-то я на сайте не нашёл.
      Да кстати, я так подумал, он наверное спамеров отлично достаёт :)
      • +3
        Список последних номеров с которых запускался бот можно подглядеть здесь:
        marishko.com/icq_robots.php
        но не факт что они сейчас запущены.
        • +1
          Ошибочка в marishko.com/icq_serials.php

          select s.assign_dt,s.id,s.cat_id,s.serial,s.level, u.id as owner_id, u.name as owner_name from mu_serials s left outer join mu_users u on (s.user_id=u.id) where u.uin=«90176382ba0f35b765603649ed885861baa01e2b652d664e16eb0df56f0b5de6»
          Table 'eshkaorg_marishko.mu_serials' doesn't exist
  • 0
    Респект. А какой размер базы на данный момент? Сколько фраз, связей?

    >наиболее активная аудитория робота импульсивная молодёжь.
    С которой проще всего общаться на её же языке =) Скармливать одну из десятка заготовленных фраз…
    • +1
      У меня база: 43 000 фраз — 5.1 мб

      Однако я два года уже не занимаюсь этим проектом и уверен что есть пользователи у которых база побольше будет.

  • +13
    я-то ожидал про нейронные сети в разрезе «улавливания смысла» или чего-то подобного услышать. эх.
    • 0
      А знаете, если добавить связям между фразами веса (ну и, естественно, добавить алгоритм обновления весов), то получится вполне себе многослойная нейронная сеть. Извращенная и не похожая на стандартную, скажем, сеть Кохонена, но отвечающая определению.
      Но это уже совсем другая история.
      • 0
        Ну вот чего-то такого и хотелось послушать :) Идея с нейронной сетью, использующей веса, мне понятна — что-то похожее я и пытался однажды сделать, но в виду отсутствия времени и банальной лени, ничего осмысленного не добился.
      • 0
        в маришке веса для связей конечно же используются. Они нужны для того чтобы определить топ лучших ответов и из этого топы уже выбрать один.
  • +35
    «6 лет своей жизни я потратил на изучение искусственного интеллекта.»

    (21:12:32) bot: ДАВАЙ ВЫПЬЕМ ЗА ЖИЗНЬ
    (21:13:11) user: Наливай
    (21:13:11) bot: Пьянству — бой!
    (21:13:40) user: Ну а херли предлогаешь

    Бот непроходимо тупой, но смешной.
    • 0
      Согласен. То что реализовано это то с чего я начинал, все дальнейшие исследования приходили в тупик.
      • +3
        Ага, я тоже этим занимался раньше, тока не убирал глассные (интересный подход) а немного подругому нормализировал. Так же хранил диалоги и разделял их на более мелкие части, пытаясь понять что тема или настроение сменилось. Вообще еще попробуй понимать настроение, есть алгоритмы оценки слов по звукам, например ракета быстрее чем самолет, а машина еще медленней, а велосипет ппц медленный, все это можно понять несложным алгоритмом. У слов много хар-ик, иы не осознано придумываем так слова. Если ввести эту оценку то можно будет находить части диалогов более подходящие под эмоциональное состояние собеседника. Получается инетересные результаты, попробуй
        • 0
          Я вот настроения определяю по наличию матов :)
          Тоесть есть рейтинг у фраз и у пользователей.
          К примеру у фраз:
          «Ты х*й» и «Пошёл на х*й» рейтинг -1000
          а у фраз
          «Я тебя люблю» и «Тё клёвый» рейтинг +1000

          И каждый юзер, который пишет фразу, получает к своему рейтингу 10% от рейтинга той фразы которую он написал.

          Бот, когда определяет что же ответить, учитывает рейтинг пользователя и рейтинг фраз.

          Если вы к примеру 10 раз пошлёте бота на х*й то разговор вежливый уже не получится.
          • +2
            Вообще у нас слижком уж богатый язык %) «ты охуенно охуителен» — какой будет рейтинг %) Я почитал логи, долго смеялся, каждый новый день уже с мата начинался. Бот какой то не отходчивый, поспал бы подобрел %)
            • 0
              если вам интересно, то новым фразам проставляется 50% от рейтинга юзера который это написал.
              Иного выхода я не нашёл.

              И в любом случае тут изначально (и в процессе) приходится в ручную рейтинги проставлять.
  • +9
    Самый обычный бот, работающий по шаблонам с оптимизациями, таких тысячи.
    Ничего нового вы, в общем-то, не изобрели.

    Порадовало только перенаправление сообщений юзеров :)
  • +3
    У нас на канале долгое время был похожий IRC-бот, мы его звали fluffy и учили гадостям. Через пару недель бот развлекал нас так, что было что вспомнить :)
  • +15
    Маришко: Здарово дружище
    АнонимЗдарова
    МаришкоПривет. Прошу прощенья за автоответ, скоро буду… А пока не откажусь увидеть твоё фото, мои есть тут: SEX.icqSearch.info
    • +28
      вот это косяк.
      Чортовы спамеры, научили малютку плохому.

      полез в базу удалять…
  • –4
    Нереальный плюс автору в том что это русский бот. А то неохото со всякими там забугорными A.L.I.C.E. общаться
  • +7
    Мой первый скрипт на PHP — тоже был бот))
    Он совершенно бестолковый, но несмотря на это до сих пор жив и даже порой говорит забавные вещи.
    Однажды я растрогался и даже купил ему домен
    А тут топ 30 популярных ответов
    • +1
      «вллоо: сделай анлим за 250

      Йодда: Знаю анлим 4 Мбит/c за 335руб» :D
    • +3
      Найт: Хочу инвайт на хабр
      Йодда: А что это? Интересно. Я тоже хочу -:)
    • 0
      При нажатии «Я ничего не понял» так и должны вылетать исходники скрипта?:)
      • 0
        Это БагоФича)
        • 0
          А то уж мне показалось что у вас хостер глупый :)
    • 0
      tim: Почему Путин рекламирует Ниву?
      Йодда: Будет ли ездить сам, это другой вопрос

      tim: Когда закончится кризис?
      Йодда: еще пару лет — это же время великих возможностей! Выгоден он тем кто заинтересован в переделе капитала
    • 0
      Суппер!
  • 0
    То есть режим общения с ботом и режим обучения — у вас это одно и тоже?
    • 0
      да, всё так.
  • 0
    Автор — можно задать тут много вопросов или лучше письмом?
    И… не могли бы Вы поделиться ссылочками, накопленными за 6 лет и находками ИИ, которые Вас поразили.

    • 0
      Ссылочками не поделюсь, так как большинство материала найденного на эту тему было связано с матметодами и не один из них не работал без учителя.

      То немногое что нравилось читал и закрывал.

      >>можно задать тут много вопросов или лучше письмом?
      как хотите.
      • 0
        А цель разработки — была создать «трудноузнаваемого» в общении бота?

        А вы пробовали, чтоб его обучали сначала маленькие дети, потом постарше и т.п.?

        А у вас есть замены «масок»? Например Маришке сказали, что сегодня будет дождь — как бот это воcпримет (воспримет ли). А если потом скажут, что сегодня дождя не будет…

        А можно бота научить, чтобы он советовал, что мне послушать? Задав мне пару вопросов о нравившейся мне музыке?

        • +1
          Конечно можно. Нужно 4 программиста + 2 ящика пива.
          • 0
            Вы извините, пожалуйста, ничего личного, но...
            • +1
              )))
              1) Цель — познать истину
              2) Нет не пробовал, начал сразу с друзей с которыми в то время в университете водку пили
              3) нет
              4) Бот не знает что такое музыка, не знает что такое «нравится», он просто общается…
              • 0
                По второму пункту я бы посоветовал попробовать с детьми первого класса (у вас же он обучается «как младенец»).

                По четвертому пункту… — спорный момент. А Вы про пролог слышали — смотрели варианты экспертной системы?
                • 0
                  1) Школьники интересный вариант, но боюсь родители робота к ним не подпустят.
                  2) нет не слышал

                  • 0
                    Я еще не читал ваши исходные коды, но чисто интуитивно мне кажется, что ваш «алгоритм движка» логически подходит под реализацию подобных «говорилок» на прологе. Причем на прологе они реализовываются очень красиво и «круто» — советую посмотреть на примеры Экспертных систем и ботов для чата. Меня в свое время впечатлило.
                    • 0
                      Плюс может у вас получится перенять пару «фишек», как то для разбора предложений и т.п. — на прологе также ооооочень красивые примеры на эту тему, плюс еще можно найти варианты и для ru и для en.
                      • 0
                        а вы уверены что на прологе боты обучаются без учителя?
                        Если нет, то мне это не подходит.
                        • 0
                          Можно просто идею взять… ведь… а может и что-то новое и интересное узнать в данной тематике.
                    • 0
                      Мы когда курсовики делали по экспертным системам, было одно основное условие: любой язык/среда кроме пролога)
                      • 0
                        А наш преподаватель постарался и полностью выучил пролог (если Вы об этом), т.к. посчитал его наилучшим вариантом для реализации данных задач. В целом с задачей справилось очень мало студентов ибо пролог оказался неподъемной горой)
                        • +1
                          Наш преподаватель его хорошо знал и даже делал пару коммерческих проектов и именно по этому сказал от него отказаться.

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

                          А экспертная система на прологе — это 3в1 и слабо подлежит портированию.

                          У меня например система решала две задачи:
                          1. Диагностика неисправности автомобиля по обнаруженным симптомам и с запросами дополнительных тестов (основное задание)
                          2. Экспертная система по классификации экспертных систем (в качестве развлечения) — классифицировал по Питеру Джексону
                          • 0
                            Да) стандартные задачи.

                            В прологе (конкретно amzi и лично для меня) достаточно трудно решалась проблема gui (один из важным моментов для меня — когда подключали к c++ builder — очень намучались) — зато в результате получилось… практически чудо (молчу-молчу).

                            А на чем тогда Вы делали задания?
                            • 0
                              Делал на Delphi/Firebird
                              Формат правил и машина вывода свои (16 режимов работы для разных типов задач), подробностей сейчас не скажу, было это лет 5 назад, исходники и описалово дома в архиве лежат.

                              Сам лично с прологом не сталкивался, видел только упоминания и примеры в литературе, ну и слышал мнение преподавателя, собственно его и изложил. Может он как-раз со старыми версиями общался, всё может быть.

                              Но учитывая, что машину вывода нужно было разрабатывать самому, то использовать специализированные языки как-то некошерно, ИМХО. Даже если бы можно было использовать что-то другое, всё равно остановился бы на Delphi — мне он идейно ближе, да и есть достаточно много наработок. Если нужна кроссплатформенность, то наверное на Java + PostgeSQL или какой-нить NoSQL для скорости на больших объёмах. Но это всё тонкости. Хоть на BrainFuck, лишь бы работало)

                              Я сам не очень люблю узкоспециализированные среды/языки. Как по мне — лучше знать один-два языка и уметь делать на нём почти всё, нежели каждый проект начинать с поиска и изучения среды и языка. Была даже сумасшедшая идея — графический редактор с интерпретатором C/Pascal/Java для написания инструментов и фильтров не отходя от кассы. Пока валяется эта идея рядом с остальными в суспенде.
                              • 0
                                Понятно.
                                Эх. Не хотел так говорить) Писал одну работу по тензорным исчислениям и для моей задачи использовать пролог + c++builder — и было это, как на билдере или делфи писать калькулятор) — т.е. очень красиво, понятно и главное… круто но сложно (достаточно сложно для среднего знания языков) для реализации на других языках.

                                Также создание AI для задач (как то пятнашки, крестики-нолики в одну строчку, всякие логические задачи с принцессами и комнатами, задачу энштейна и др. — ооочень красиво реализовываются на прологе и главное — очень мало кода).

                                А что, Вы тогда про лисп скажете? Или автолисп не подходит как пример для последнего абзаца?

                                Если интересно на сайте progz.ru можно попросить (могут и дать) примеры решения задач как то крестики нолики (обучаемые) и др. на вижуал прологе (т.е. с гуи, базой данных и т.п.) — это действительно круто и круто даже сейчас.
                                • 0
                                  Ой, что сейчас начнётся))

                                  Лисп я щупал по-ближе. Чего-то там парсил, чего-то там считал. Но и он как-то мне особенно вкусным не показался. т.е. да, всё круто, компактно и вроде как элегантно пишется. Но я на Delphi ненамного большими усилиями (а зачастую и меньшими, если юзать сторонние типовые решения) решу те-же задачи, но работать будет быстрее, ГУИ будут красивше и упаковано будет в один exe'шник без необходимости тянуть всякие сторонние либы или среды исполнения.

                                  Лисп интересен для отладки сложного алгоритма (парсинга в основном), но в последствии, когда нужна производительность, его переписывают на что-то более машинно-ориентированное — было куча таких проектов. Если не ошибаюсь, то даже первый гуглобот был на лиспе.
                                  • 0
                                    Не-не-не. Намек. Автолисп)
                                    • +1
                                      Ах ну да… Автокад)
                                      Там да, лисп рулит. Сам не писал, но видел как работают довольно сложные модели.

                                      Но у меня задумка другая была — растровый редактор и манипуляции процедурным языком, в основном матричные, итерационные и статистические операции.
                          • 0
                            А какой пролог Вы использовали? (я к тому, что swi пролог для меня оказался не удобным, visual prolog — требовал внушительно большого времени для изучения, несколько прологов понравились — они были платные и не доступные для меня, как студента) и когда использовали amzi пролог — получили действительно удобную среду разработки.
                          • 0
                            «слабо подлежит портированию» а вот это не про amzi пролог. Очень подлежит портированию.
        • 0
          Полагаю что масок для этого недостаточно :) Надо реализовывать контекст.
          • 0
            Это понятно, я хотел спросить доступно для всех и словами автора.
        • +1
          Ха, бот, который советует музыку — last.fm и weborama.ru :). Зачем изобретать велосипед :)?
          • 0
            Извините. При чем тут обучение Маришки и ИИ Last.fm'a?

            И… last.fm разговаривает о музыке с пользователями и советует?
  • 0
    Есть идея для пользовательских интерфейсов!
    Создать бота а-ля тамагочи. Который будет информировать о состоянии устройства разбавляя текст диалогами подобным выше. И которому будут отдаваться распоряжения и команды для управления устройством.
    • +1
      Да привязать можно бота и не только к устройству.

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

      • 0
        Да, В ыправы. И не только.
        Я подразумевал интерфес, будь то устройство или интернет сервис. Везде, где требуется обмен информацией: человек <-> машина
        А устройство привел в пример для понимания, как бы выглядел интерфес мобильного телефона;)
  • +35
    — привет, ты не бот?
    — я бооот!
    — чем докажешь?
    — пошлю тебя нахуй!

    тэст тьюринга пройден XD
    • +1
      (23:48:45) bot: А ты существуешь?
      (23:49:12) user: Неа, я бот
      (23:49:38) bot: Ээээй… это я бот!
      (23:49:47) user: Неа
      (23:49:54) user: Ты проперся:-P
      (23:50:16) bot: Сама пропёрся
  • +7
    (00:13:38) user: Сучко я человек с высшим и аспирантурой


    (21:45:51) user: Давай встретимся
    (21:45:51) bot: Ну только я приличный парень и ничего лишнего не позволяю
    (21:46:05) user: Какой парень
    (21:47:06) bot: Ващето я девачка!!!


    Крышу сносит.

    ЗЫ. А вообще, нехрен в чатах сидеть.
  • +5
    посмотрев на скриншот над катом, я не понял, там бот только один (Бот) или все, так как не увидел вообще ни одной связанной или адекватной фразы…
    • +1
      Слово ICQ в заголовке вас не смутило?
  • +9
    Маришко: Здарово дружище
    Аноним привет
    Маришко Ты че идиот

    кхм
    • +3
      Оно тестирует Вас по Тьюрингу :)
  • 0
    А почему бы не организовать его в виде сервиса? 3 функции
    1) начать сессию — возвращает идентификатор сесии
    2) добавить сообщение в сессиию
    3) Получить новые сообщения.

    Тогда вашего бота можно использовать хоть в IRC хоть в jabber
  • +10
    > marishko.com/icq_logs.php?name=169490525

    > (22:25:51) bot: Да да.
    > (22:25:59) user: Да-да
    > (22:25:59) bot: Ты че робот?
    > (22:26:10) user: Да ну?

    Офигеть, роботы уже на людей гнать начинают!
  • +5
    И в какой-то момент включается режим SplitHead.
    В результате происходит связывание различных пользователей через бота.
    метод великого комбинатора для игры в шахматы :)
  • +1
    Бот неплохой. Но любой мало-мальски популярный icq-бот имеет одну важную особенность: он не сможет долго прожить на одном номере аськи, поскольку с ростом его популярности, начинают срабатывать лимиты со стороны серверов АОЛ, начинается блокирование сообщений, блокирование рассылки статуса бота, временное блокирование самого номера аськи бота. Чтобы icq-бот работал без сбоев, надо договариваться с АОЛ и получать статус бота, как к примеру работает бот на номере 35000. Но с АОЛ договориться практически нереально, помнится мне Гисметео пытался продвигать погодный icq-бот, но в итоге номер бота был заблокирован вроде как, видать не смогли договориться или решили, что такое баловство не стоит таких заморочек.
    • +2
      Лучше делать на jabber — никто не заблокирует
  • 0
    уныло…
    в детстве у нас тоже прожка была, которая так разговаривать умела… только она это делала лучше
    искуственный… идиотизм
  • 0
    Никто не модифицировал для работы в джаббере (в том числе в конференциях)?
    И сами исходники найти чет не могу на сайте.
    • 0
      исходник выложу через пару часов. Не думал что кому-то это будет интересно.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      в каком смысле…
  • +12
    Мой диалог с одним из «ботов» утром:



    6:24:51 *bot*: ;-)
    6:25:02 user: хм
    6:25:05 user: так ты бот, да?
    6:25:17 *bot*: не т
    6:25:21 user: эээ
    6:25:22 *bot*: а ты
    6:25:23 user: как это?
    6:25:29 user: ну я тоже не бот
    6:25:45 user: интересно
    6:25:55 user: я твой номер ICQ нашел на сайте, где предлагается ботов потестировать



    6:29:37 *bot*: отсосешь?
    6:29:49 user: ты чё, таки бот?
    6:29:55 *bot*: нет
    6:29:59 *bot*: а ты



    6:32:12 *bot*: сколко будет 2 в квадрате?
    6:32:13 user: в общем-то, это даже нормально, я бы сказал
    6:32:16 user: 2 в квадрате?
    6:32:20 *bot*: да
    6:32:20 user: четыре
    6:32:30 *bot*: а три
    6:32:35 user: что три?
    6:32:58 *bot*: вкрдте
    6:33:03 user: девять
    6:33:11 *bot*: ты ен бот
    6:33:15 user: неужели?
    6:33:16 user: а ты бот?
    6:33:19 user: )
    6:33:20 *bot*: нет
    6:33:25 user: а хуле тогда
    6:33:45 *bot*: а хуле вас ко мне уже трое ломится
    6:33:50 user: хахахаха
    6:33:59 user: и чё, все боты?
    6:34:11 *bot*: хз
    6:34:27 user: хахаха
    6:34:32 *bot*: я блять тока проснулся


    • +7
      быстро учиться :-)
  • +3
    еще одна реинкорнация ChatMaster'а
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    На мой взгляд, следующий шаг — свод диалогов к выводам. Например, если диалог содержал много ругательств или что-то, из-за чего без прощания диалог был завершён — то это плохой диалог, которого нужно избегать. А если в нём было много добрых слов, то к такому нужно стремиться
    • 0
      а кто сказал что будущая аудитория бота будут добряки?
      • 0
        Я так понял, не к общению со всеми по прошлому диалогу, а к поддерживанию диалога по удачной схеме бот должен.
  • 0
    Что-то у меня не получается его активировать…
    Скачал клиент, создал учетку на marishko.com и icq. Прописал в настройках.
    (12:24:56) System: Авторизация на сервере mugik.ru…
    (12:24:57) System: Авторизация прошла успешно. Уровень доступа:1
    (12:24:57) System: Соединеняюсь с сервером ICQ…
    (12:24:59) System: Вошла.


    И ничего не происходит. Клиенты не ищутся, хотя чекбокс включен. Вручную тоже не добавляются…
    • 0
      пробуйте другой номер, или в фак залезьте на сайте
  • +12
    какой-то агрессивный бот:

    (19:08:30) bot: Чем занимаешься
    (20:33:57) bot: Привет чебурашка
    (20:34:05) user: На море хочу попозже
    (20:35:06) bot: Мож поумнееешь дятел ебаный

    и так весь диалог)))
    • +1
      Судя по описанному выше алгоритму, слово «попозже» он перевёл в «пхпхзжх», что эквивалентно такой же маске для слова «попизжу»; бот расценил это за грубость и ответил на это грубостью.
      Мда… слабоват движок…
      • 0
        он не по словам а по целым фразам делает выводы о моральных принципах собеседника!
      • 0
        а зачем он вообще эти маски использует? нельзя что-ли слово целиком читать?
        • +2
          часто в словах делают ошибки
          • 0
            мда… не подумал((
  • 0
  • +1
    Забавно попали на хабраэффект юзеры, которые запустили на своем основном icq аккаунте бота, и теперь их номер висит в списке:

    marishko.com/icq_robots.php

    Некоторые стучат и наверное долго не могут понять почему бот такой умный и говорит вполне человеческим языком ))
  • +1
    Маришко: Здарово друг
    Аноним ПРивет друган
    Маришко Займёмся виртуальным сексом? Лучший сайт, Анонимность, ДоступностьБолее 27.500 партнёров ждут именно вас!http://marishko.mugik.ru
    • +1
      одно время я заменял все ссылки адресом сайта
      • 0
        Как вариант, проверяем есть ли ссылка от бота, заменяем сообщение любым банальным из списка
  • +1
    Исходники бота:
    forum.gorcer.com/viewtopic.php?f=5&t=321
  • 0
    Вы не думали перенести всё на jabber. Не пришлось бы менять номера и был бы всегда один «номер»
    • 0
      много раз думал. Но не нашёл времени чтобы до конца разобраться с тем как это сделать.
  • +10
    Извините, не удержался — вто она дикая и неудержимая мощь АИ :)

    (22:16:10) user: Откуда у тебя мой номер
    (22:16:10) bot: Карамельки
    (22:16:46) user: Каие нахуй карамельки

    • +1
      бессмысленная и беспощадная :)
  • 0
    Внизу на сайте в друзьях проекта очень интересный сайт «Софт для iPhone».
  • +1
    а если бота на бота натравить?
    • 0
      через какое-то время база бота1 будет равна базе бота2. Взаимное обучение.
      Эксперименты были.
      • 0
        ну чисто интересно че они друг другу «говорят» =)
        • 0
          ну а вы как думаете. Просто начинают бесконечное общение.
          Не трудно проверить, зарегистрируйте два ICQ-номера и скачайте бота.
        • НЛО прилетело и опубликовало эту надпись здесь
  • +10
    тоже не удержался ))

    (20:41:19) user: 28 леша
    (20:41:55) bot: По ебалу хочешь
  • +1
    На мой взгляд всё таки большинство ботов с обучением в процессе разговора, хоть и пополняют свой словарный запас, но, как бы это сказать, усредняются, и теряют какую либо персональность и адекватность. Ну и да, учитывая прошлые разговоры — запоминают слишком много.
    Где-то в начале 2000 было очень много российских чатботов на собственном движке, забавных, но так же непроходимо тупых.
    Вообще в сфере чат ботов-имитаторов ИИ я не замечаю особого прогресса с момента появления AIML, на которой великая и могучая Алиса работает, а оно подразумевает ручное и полуавтоматическое создание базы, но никак не автономное обучение :/
  • +1
    Может кого то расстрою, но ИИ здесь нет. Происходит генерация диалога, но не мышления; ИИ должен мыслить(в этом и смысл), а диалог должен быть результатом его мышления. Только тогда диалог будет по настоящему осмысленным.

    Это всё равно что делать резиновых кукол, внешне похоже на человека, но это далеко от генетики, которая намного сложнее.
    • 0
      Всех чатботов и практически всех современных роботов можно спокойно обозначить термином «имитаторы ИИ».
    • –1
      Всё верно. ИИ здесь нет. Этот бот — то что я сделал в самом начале исследований.

      Пытался анализировать человеческое мышление и пришёл к тому что всё это связано с интуцией и эволюцией.
      В частности эволюция человеческой мысли от начальной стадии к конечной происходит так же как эфолюция жизни на земле — все слабые варианты отпадают, все сильные развивают мысль дальше.

      Но это я никак не смогу применить.
      • 0
        Для эмуляции эволюции нужны очень мощные компьютеры, т.к. это практически брутфорс. По этому направлению может быть полезно посмотреть лекции по биохимии на www.univertv.ru

        ИМХО, то чем стоит сейчас заниматься учёным одиночкам, разрабатывающим ИИ, это алгоритмическое направление с возможными примесями всех остальных направлений. При этом нужно как можно больше упрощать, чтобы создать шарообразный ИИ в вакууме (издержки алгоритмического подхода). Например, давать существу взаимодействовать не со сложным реальным миром, а с упрощённым виртуальным и.т.п.
        • 0
          Вот что я думаю про эволюции и ии кстати:
  • 0
    На сайте есть еще интереная вещь как «ассоциации», веселит неплохо:
    marishko.com/answerlist.php?talk=%EB%E5%F1
    marishko.com/answerlist.php?talk=%F0%EE%E1%EE%F2
    marishko.com/answerlist.php?talk=%E4%E5%E2%F3%F8%EA%E0
    :)
  • 0
    кто бота научил матерится, я ему привет, а он мне «пошел на х@#»
    • 0
      я лично всех их знаю :)
  • 0
    Извиняюсь, но вы случаем письмо не писали татьянычу? Там тоже был человек, который потратил 20 лет на АИ
    • 0
      Я даже не знаю кто это такой. :(
      • 0
        • 0
          теперь я знаю что Тёма=Татьяныч.
          Последнее что я ему писал, это — «твой пост гавно» (с год назад в ЖЖ). С тех пор он со мной не общается.

          А как он связан с человеком который связан с 20 лет на AI?
          • 0
            Я полагаю, он там (в студии) работает :)
          • 0
            Татьячныч придумал очередную забаву для народа, теперь он регулярно одевает колпак дохтура курпатова и отвечает на волнующие вопросы простых граждан, так вот один из таких граждан оказался мега-кодером

            Ссылочка(боюсь теги снова не заработают, поэтому по старинке) tema.livejournal.com/500545.html
            • 0
              *первый вопрос
            • 0
              да уж. думаю этот мега-кодер не серьзно всё это затеял или с котушек съехал.
              Хотя может быть ещё и такой вариант:

              — Эй, а почему это не работает?
              — А этого я похоже не учёл!
              • 0
                Я считаю все гениальные люди сумасшедшие, но разве нам от этого плохо? Подумаешь кто-то не спит ночами и бредит, зато благодаря им мы летаем в космос и плаваем под водой, так почему бы не поверить в этого человека!?

                Думаю если вы объедините усилия, то шанс что вас заметят возрастает в 2а раза, а там глядишь и до мирового признания недалеко, не всей же славе доставаться русским в америке!
                • 0
                  тогда давайте его аську.
                  Я не нашёл нигде.
                  • 0
                    Как бы тёма сохраняет анонимность всех написавших =) Но я думаю ради такого дела он поделится адреском
                    • 0
                      Только не со мной, вы забыли, он на меня обижен.
                      • 0
                        Надо любить ближнего своего и стараться не ссориться, а если уж так получилось что поссорились, то сразу же мериться.

                        Ну тогда эта миссия мировой значимости падает на мои плечи :-) заодно попрошу что б из игнора вытащил
                        • 0
                          Спасибо тебе, добрый человек.
                          Твоё имя попадёт в историю, как пособника порабощения человечества.
                          • 0
                            Готово! Теперь надо придумать отмазу, если он вдруг поинтересуется — почему же сам мастер не соизволил пойти на контакт
                            • 0
                              Скажи что у меня рак яичка.
                              Это должно его убедить.

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