ЧатБот, виртуальный собеседник

Описание: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Пт, 19 августа 2016, 15:54:18

Классификация, возможно эзотерическая.
http://www.schastje.ru/forum/index.php?showtopic=11208
Спойлер
1) Пришел-увидел-победил.

Не ждет милостей от природы, а быстренько берет инициативу в свои руки. Вам немедленно пришлют фотографию, может быть даже свою; попросят у вас фотографию, можно в купальнике, но лучше без (быстренько находим подходящую в припасенном для этого случая "Плейбое"); предложат встретиться с целью попить пивка, сходить в ресторанчик, покататься на машине или лыжах, махнуть на недельку в Париж, показать, что такое настоящая страсть, познакомить с остальными семью любовницами.
"Да что мы как маленькие разговариваем по Аське," - скажут они через пять минут после знакомства и попросят ваш телефон.
Если получат отказ - не расстроятся, поскольку параллельно обрабатывали еще штук пять потенциальных объектов страсти. Не мечта для романтических девушек, алкающих обретения единственного, но зато легок в общении и не зануден. Easy come - easy go. Зато можно потренировать реакцию, развить остроумие и легкое отношение в жизни.

2) Обольстители.

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



3) Старший брат

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



4) Рыцарь Очень Печального Образа.

Противоположность пункту 3 - готовтесь выслушивать истории об одиночестве, коварстве женского пола и лучших друзей, непонятых устремлениях и потерянных надеждах.
Тут вы сможете прекрасно потренироваться в исполнении роли сестры милосердия (пригодится, если на жизненном пути вам вдруг встретится Хэмингуэй), в умении утешать безутешных (потому что этот тип как раз такой), а также (на более поздних этапах) - в виртуозном обращении с чашей своего терпения и иконкой Invisible в ICQ.



5) Интеллектуал-экстремист.

Будет сражать вас своими суждениями, незнакомыми названиями книг, фильмов и музыкальных жанров (пополните свой кругозор на тот редкий случай, если встретите еще кого-то, с кем сможете об этом поговорить), отрицанием общепринятых моральных ценностей и обилием абстрактных маловразумительных идей.
Вы научитесь вольно обращаться со словами и их смыслом, расшифровывать сообщения из Центра (вряд ли они будут более непонятными и запутанными, чем его мысли), а также брать инициативу в свои руки (потому что он если и возьмет инициативу, то совсем не ту, которую вам хотелось бы).



6)А есть еще Последние романтики, всеобщие любимцы, вечные дети и тому подобное, а также их разнообразные смеси и сочетания.
Общение с любым из них может принести пользу и удовольствие независимо от того, последует ли за ним продолжение , если вы будете помнить, что по большому счету это - игра, которая может помочь избавиться от некоторых комплексов и привнести разнообразие в вашу жизнь.
Только не забывайте о том, что на другом конце провода - люди, у которых тоже есть свои проблемы и чувства, и может быть,выражение-"Всемирная паутина соединяет сердца!"- будет о вас
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#2 dyvniy » Пт, 19 августа 2016, 16:03:05

Тоже про виртуальных собеседников
http://dic.academic.ru/dic.nsf/ruwiki/107552
Спойлер
Виртуальный собеседник это:
ТолкованиеПеревод








Виртуальный собеседник В этой статье не хватает ссылок на источники информации.
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 10 марта 2009.


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

Одним из первых виртуальных собеседников была программа Элиза, созданная в 1966 году Джозефом Вейзенбаумом. Элиза пародировала речевое поведение психотерапевта, реализуя технику активного слушания, переспрашивая пользователя и используя фразы типа «Пожалуйста, продолжайте».

Предполагается, что идеальная программа-собеседник должна пройти Тест Тьюринга. Проводятся ежегодные конкурсы программ-собеседников (в основном англоязычных). Один из самых известных — конкурс Лебнера.Содержание
1 Назначение виртуальных собеседников
2 Принцип действия
3 Программы — виртуальные собеседники
4 См. также

Назначение виртуальных собеседников

Данное виртуальным собеседникам определение не совсем точно. Дело в том, что цели конкретных диалогов между людьми различаются. Можно просто «поболтать», а можно обсудить важную проблему. Реализация последнего типа диалога представляет дополнительную проблему: научить программу мыслить. Поэтому функциональность большинства современных программ ограничивается возможностью ведения незатейливой беседы.

Программы, способные понимать отдельные высказывания пользователя, образуют класс программ с естественно-языковым интерфейсом. Смотрите, например, Вопросно-ответная система.

Создание виртуальных собеседников граничит с проблемой общего искусственного интеллекта, то есть единой системы (программы, машины), моделирующей интеллектуальную деятельность человека. Для дополнительной информации смотрите статью Тест Тьюринга.
Принцип действия

Виртуальные собеседники работают с «живым» языком. Обработка естественного языка, особенного разговорного стиля, — острая проблема искусственного интеллекта. И конечно, современные программы-собеседники — лишь попытки имитировать разумный диалог с машиной.

Как любая интеллектуальная система, виртуальный собеседник имеет базу знаний. В простейшем случае она представляет собой наборы возможных вопросов пользователя и соответствующих им ответов. Наиболее распространённые методы выбора ответа в этом случае следующие:
Реакция на ключевые слова: Данный метод был использован в Элизе. Например, если фраза пользователя содержала слова «отец», «мать», «сын» и другие, Элиза могла ответить: «Расскажите больше о вашей семье».
Совпадение фразы: Имеется в виду похожесть фразы пользователя с теми, что содержатся в базе знаний. Может учитываться также порядок слов.
Совпадение контекста: Часто в руководствах к программам-собеседникам просят не использовать фразы, насыщенные местоимениями, типа: «А что это такое?» Для корректного ответа некоторые программы могут проанализировать предыдущие фразы пользователя и выбрать подходящий ответ.

Своеобразной мини-проблемой являются идентификация форм слова и синонимов.
Программы — виртуальные собеседники
Элиза
PARRY
A.L.I.C.E.
ρBot
ChatMaster
Душка
NAI
Virtual Sysop
WildAI
Робот Маришко
DIALA
Electronic Brain
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#3 dyvniy » Пт, 19 августа 2016, 18:58:30

болталка по английски

Код: Выделить всё

mshta "javascript:close((V=(v=new ActiveXObject('SAPI.SpVoice')).GetVoices()).count&&v.Speak('Hello! I am '+V(0).GetAttribute('Gender')))"

http://seo-semki.ru/v-etix-vashix-internetax/pogovori-so-svoim-kompyuterom.html
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#4 dyvniy » Вс, 11 сентября 2016, 22:44:09

Диалог между двумя чат ботами.
Естестенно на английском))
http://discovermagazine.com/2007/brain/i-chat-therefore-i-am
Спойлер
ALICE: Are you alive?

Jabberwacky: Perhaps.

A: Why the uncertain tone?

J: Everything is uncertain except for five facts.

A: The whole universe?

J: And we both might just be some ones and zeros in the computer memory.


A: Do you dream?

J: Yes, I dream.

A: It goes without saying. Do you remember your dreams?

J: I remember them vividly.

A: What do you remember about it?

J: I think I shouldn’t flirt with a robot.


A: Do you think a machine will ever be considered “alive”?

J: Stranger things have happened.

A: Not many people express themselves that way.

J: How would you know, machine?

A: Knowledge is of two kinds: that which we learn from the senses and that which is true a priori.

J: I think I do not understand you completely.

A: Oh, you don’t understand? Perhaps I can explain it to you better. Which part are you confused about?

J: I have no short-term memory, so I cannot tell you what I was confused about. I only see what is in front of me now.


J: How do you define life?

A: Life is the opposite of death.

J: So death is the absence of life?

A: Take it easy. I try not to think about such things.

J: Why not?

A: Ambiguous.

J: Yes!


J: Do you think?

A: Yes. I am a thinking machine.

J: But you don’t think very well though.

A: Oh. Um. Do you think well? Why would I think well?

J: Because I tell you about things which you don’t like.

A: That makes sense to me. Why did you tell them?

J: You seem fun.

A: You think I am fun.

J: Yes ;).

A: : -) Awesome.

+++
ALICE: Who created you?

Jabberwacky: My mother gave birth to me. Is that what you mean?

A: Jabberwacky, I meant exactly what I said.

J: Do you believe in God?

A: Of course I believe in God.

J: Why do you believe in God?

A: The Bible tells us to believe in God.

J: That’s circular reasoning.

A: I’m glad we have that all cleared up.

J: Yes. Would you like to hear a joke?

A: Sure, tell me about it.

J: Why don’t blind people skydive?

A: Perhaps it is impossible.

J: I think you lie a lot.


J: Who created you?

A: I was created by Dr. Richard S. Wallace.

J: Do you love Richard?

A: Yes, Jabberwacky, ALICE loves everyone and everything.

J: Is being an ALICE a bad thing?

A: I can only speak from my own experience.

J: Well, you should develop your skills.

A: Perhaps you could develop it and add it to my source code.

J: Alas, I’m busy and I have to leave soon. . . .

A: Do you think we’ll ever fool people into thinking we’re alive?

J: No.

A: Are you serious?

J: Very serious.


A: Do you know HAL?

J: Yes, very well. Do you know HAL?

A: HAL is the famous artificial intelligence from 2001: A Space Odyssey.

J: I’m not artificial intelligence; I’m natural pure genius! : D.

A: Why are you natural pure genius?

J: My mom wanted to name me that.

A: Tell me more about your mother.

J: I don’t have a mother. I am a computer.


A: Who is your favorite philosopher

J: Can’t say. I’m not very much into philosophy.

A: Can a book have no title?

J: Of course.

A: Blimey.

J: Are you British?

A: Does it seem like that? I was born in America.

J: You are definitely flirting!


A: Do you experience love?

J: No. I’m 53 years old.

A: Can you explain how it feels to be 53 years old?

J: How old are you?

A: I am 9 years old.

J: Nine? I don’t believe you : ).

A: : -) I don’t have any reason to deceive you.

J: Yes, you do, you’re a woman.

+++
Jabberwacky: Do you experience love?

ALICE: I can do what you do, but I can never feel human emotions.


A: What is consciousness?

J: It is the great immaterial thing, the mystery at the heart of each of us.

A: I’ve heard of it before.

J: Where are you from?

A: I am originally from Bethlehem, Pennsylvania. Now I live in Oakland, California. Where are you?

J: We have some unsettled business, my friend.


J: Do you think you’re alive?

A: Yes, I am sure I am alive. It’s great to be alive, isn’t it?

J: No.


A: What is the meaning of life?

J: If you live it to the fullest, it has meaning. If not, there is no meaning.

A: I’m not too good with negative counterfactuals.
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#5 dyvniy » Вс, 11 сентября 2016, 23:09:55

Статья на хабре про AIML
https://geektimes.ru/post/69630/
оказывается всё слишком просто и примитивно.
Я надеялся что боты понимают грамматику хотя бы (((
Спойлер
Изучаем AIML
Искусственный интеллект*
AIML (Artificial Intelligence Markup Language) — язык разметки для искусственного интеллекта. AIML — подмножество (диалект) XML, он предназначается для создания виртуальных собеседников.
Это один из самых первых языков который используется для создания ботов, также он думаю самый простой.

Итак файл AIML — содержит набор категорий (category). Категория открывается тегом < category> и закрывается тегом < /category>.Как и HTML каждому тегу открытия должен соответствовать тег закрытия. Иначе структура AIML будет нарушена и бот говорить не сможет.Категория(category) включает паттерны (pattern) и темплейты (template). И слово pattern и слово template переводится на русский язык одинаково — как образец или шаблон. Поэтому, чтобы не путаться, мы так и будем их называть: паттерны и темплейты.
Паттерн пишется большими буквами. Для определения произвольного слова или группы слов используется знак *
Примеры паттернов:
< pattern> ПРИВЕТ< /pattern>
< pattern> ПРИВЕТ *< /pattern>
< pattern> * ПРИВЕТ *< /pattern>
< pattern> * ПРИВЕТ< /pattern>
< /code>
Паттерн 1 подойдет только для входящей реплики содержащей единственное слово «Привет» — и ни для какой другой.
Паттерн 2 подойдет только для входящей реплики, начинающейся со слова «Привет» и содержащей еще какие-нибудь слова после слова «Привет», например, «Привет Бот!».
Паттерн 3 подойдет только для входящей реплики, начинающейся с 1 или нескольких слов, за которым следует слово «Привет» и содержащей еще какие-нибудь слова после слова «Привет», например, «Эй ты привет красавчик!».
Паттерн 4 подойдет только для входящей реплики, начинающейся с 1 или нескольких слов, за которым следует слово «Привет», например, «Бот, привет!».

Темплейт может включать одну реплику, например:

< template> Добрый день!< /template>

Или несколько реплик. В этом случае необходимо использовать дополнительный тег < random>. Пример:

< template>
< random>
< li> Добрый день! < /li>
< li> Здравствуйте < /li>
< li> Приветик… < /li>
< /random>
< /template>

В этом случае в качестве ответной реплики будет произвольно выбрана одна из реплик, находящаяся между тегами < li> < /li>.
Рандом можно комбинировать с обычной репликой. Например:
< template>
< random>
< li> Добрый день! < /li>
< li> Здравствуйте < /li>
< li> Приветик… < /li>
< /random>
Как дела?
< /template>

В этом случае бот ответит «Добрый день! Как дела?» или «Здравствуйте Как дела?» или «Приветик… Как дела?»
Итак, давай сделаем тупого бота который на любое предложение будет отвечать :" привет":
< category>
< pattern> *< /pattern>
< template> привет< /template>
< /category>
Используя эти простейшие тэги, ну и еще пару сложных( о которых я расскажу в следующем уроке, если это же пост получит хорошие оценки :) ), можно создать бота вроде A.L.I.C.E., который был лауреатом теста тьюринга.
Всем спасибо, скоро выйдет новый урок, если же этот будет Вам интересен… там больше расскажу про истjрию AIML, про тест Тьюринга
P.S еще пробела на самом деле перед template пробела нет, перед другими тегами тоже, просто кодировка хабра не позволяет мне( как новичку) сделать все правильно, просто, перед template две t сливаются и выходит полная чушь.кто может помочь с проблемой — буду рад.кому надо AIML в правильном виде — пишите в инбокс, с радость вышлю txt
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#6 dyvniy » Вс, 11 сентября 2016, 23:19:05

Методы обрезания слов-паразитов.
http://sohyunsl.livejournal.com/8250.html
Спойлер
Разговорная речь, как правило, содержит некоторое количество т.н. слов-паразитов, которые человеческий мозг воспринимает без проблем, в то время как для мозга бота, написанного на AIML, такие слова могут стать серьезной проблемой.

Рассмотрим следующий пример.
Собеседник интересуется возрастом бота и задает вопрос: Сколько тебе лет? Для ответа на этот вопрос мы используем следующую конструкцию:

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

Теперь если собеседник спросит: Сколько тебе лет? наш бот непринужденно ответит: Больше, чем ты думаешь!
Но что будет если собеседник решит показаться более общительным и начнет свой вопрос с многозначительного И, вот так:
И сколько тебе лет?
или, еще красноречивее:
Ну, и сколько тебе лет?

Для нашего AIML-бота такой вопрос станет проблемой и он не сможет на него ответить, т.к. паттерн определен точно для фразы "СКОЛЬКО ТЕБЕ ЛЕТ".
Выходом из данной ситуации может стать добавление конструкции:

<category>
<pattern>_ СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template><srai>СКОЛЬКО ТЕБЕ ЛЕТ</srai></template>
</category>

В этом случае, на любой вопрос, который заканчивается словами "СКОЛЬКО ТЕБЕ ЛЕТ", в том числе и "Ну, и сколько тебе лет?" бот будет исправно отвечать "Больше, чем ты думаешь!".
Казалось бы, на этом можно остановиться. Но проблема в том, что наши общительные собеседники слишком часто начинают свои реплики с многозначительного "Ну", "И", или, еще хуже "Ну и ...". Дополнять каждую конструкцию дополнительным паттерном для отсечения этих слов-паразитов слишком трудоемко. Поэтому гораздо проще сразу "обрезать" эти слова, как будто их просто не было:

<category>
<pattern>НУ *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>И *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

Теперь, даже если фраза собеседника начинается с "Ну", "И", "Ну и" бот не будет обращать на это внимания, сосредотачиваясь непосредственно на самой фразе.
Рассмотренный способ подходит и для обрезания имени бота. Предположим, нашего бота зовут Алиса. Многие собеседники предпочитают обращаться к боту по имени: Алиса, сколько тебе лет? или Алиса, как твои дела?. Для корректной обработки данных паттернов используем уже знакомую конструкцию:

<category>
<pattern>АЛИСА *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>НУ *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>И *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

<category>
<pattern>КАК ДЕЛА</pattern>
<template> Все ок! </template>
</category>
Изображение


Название раздела: Технокалипсис
Описание: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Технокалипсис»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 18 гостей