sBoltun : движок SmartBot : Редактирование базы 

В качестве одного из движков для sBoltun доступен SmartBot © созданный ProVirus.

Изменяем Болтуна

Вы можете изменить содержание памяти Болтуна или даже создать его память с нуля. Для этого Вам необходимо знать и понимать:

  • принципы работы программы
  • структуру базы данных

После этого Вы можете вносить изменения в базу данных Болтуна.

Принципы работы программы

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

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

Этапы поиска соответствий в памяти Болтуна:

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

Поиск отдельных предложений реплики (даже если реплика состоит из одного предложения) среди типичных предложений. Соответствие найдено, если реплика пользователя и типичное предложение полностью совпадают, в т. ч. знаки препинания и заглавные буквы.

Поиск соответствия значимых слов из предложений реплики среди значимых слов обычных реплик. Соответствие найдено, если в одном из предложений реплики пользователя найдено хотя бы два слова, полностью совпадающих с двумя словами из обычных реплик. Здесь возможны неуместные реакции.

Поиск соответствия значимых слов из предложений реплики среди значимых слов из реплик из "буфера обучения". Соответствие найдено, если в одном из предложений реплики пользователя найдено хотя бы два слова, полностью совпадающих с двумя словами из "буфера обучения". Здесь возможны неуместные реакции.

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

Поиск особых слов из предложений реплики среди известных особых слов. Соответствие найдено, если в одном из предложений реплики пользователя найдено хотя бы одно особое слово. Учитывается знак препинания в конце предложения. Здесь возможны неуместные реакции.

Выбор известной общей реплики, которая подходит почти в любом контексте. Использовавшаяся реплика обычно не повторяется. Здесь возможны неуместные реакции.

Выбор известной начальной реплики для смены темы разговора.

Вывод реплики: "Не понял."

Аналитическая работа Болтуна начинается на втором этапе. На этом этапе Болтун разбивает реплику на предложения, анализирует слова каждого предложения и делит слова на значимые и служебные. Начиная с шестого этапа, Болтун начинает, откровенно говоря, "съезжать". То есть из-за отсутствия какого-либо соответствия реплике в памяти, Болтун пытается спасти ситуацию и притворяется, что он все понимает smile

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

Структура базы данных

При запуске Болтун загружает данные из базы данных, распределяя их нужным ему образом.

База данных состоит из дуплетов, который в свою очередь состоит из двух элементов. Каждый элемент дуплета начинается с новой строки. Нечетная строка - это первый элемент, а четная - второй.

Специальные элементы в дуплете - они всегда первые - всегда начинаются с пробела и заключены в один из видов скобок - [ ], { }, ( ), <>. Различаются два вида дуплетов:

дуплеты списков и

дуплеты соответствий.

Дуплеты списков
Первый элемент дуплетов списка является тэгом <...>, а специальное слово внутри тэга указывает на список, к которому относится второй элемент. Дуплетов списка пять:

- общие реплики.

- начальные реплики.

- особые слова.

- вопросительные слова.

- "мысли вслух".

Поиск в этих дуплетах не происходит.

Дуплеты соответствий
Первый элемент дуплетов соответствий - это строка, с которой сравниваются реплики пользователя и в случае их соответствия, для реакций используется второй элемент.

Первые элементы этих дуплетов начинаются с пробела и заключены в один из видов скобок - [ ], { }, ( ). Без пробела пишутся первые элементы без скобок.

Дуплеты соответствий включают в себя:

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

Реплики для ключевых слов () - эти дуплеты добавляются вручную. В скобках содержатся ключевые слова фразы.

Реплики для типичных предложений [] - эти дуплеты добавляются также вручную. В скобках содержится типичное предложение.

Реплики для особых слов {} - эти дуплеты также добавляются вручную. В скобках содержится одно или несколько слов из списка особых слов, которые вводятся при помощи элемента .

Список вопросительных слов

Список вопросительных слов используется Болтуном для детального анализа Вашей реплики. Они вводятся при помощи служебного тэга . Их присутствие обязательно, иначе Болтун значительно поглупеет и не сможет производить анализ реплик. Удалять уже имеющийся список не рекомендуется.

Чтобы добавить в список вопросительное слово:
В файле базы данных в новой строке наберите последовательно пробел, открывающую угловую скобку "<", заглавными буквами слово QUESTION, закрывающую угловую скобку ">".

В новой строке наберите вопросительное слово.

Пример:

когда

Вопросительное слово должно начинаться с маленькой буквы. Знак препинания в конце слова не допускается.

Список особых слов

Список особых слов используется Болтуном для детального анализа Вашей реплики. На этапе анализа по значимым словам они игнорируются, на этапе анализа по особым словам они, наоборот, используются. Они вводятся при помощи служебного тэга . Их присутствие обязательно, иначе Болтун значительно поглупеет и не сможет производить нормальный анализ реплик. Удалять уже имеющийся список не рекомендуется.

Чтобы добавить в список особое слово:
В файле базы данных в новой строке наберите последовательно пробел, открывающую угловую скобку "<", заглавными буквами слово IGNORE, закрывающую угловую скобку ">".

В новой строке наберите особое слово.

Пример:

меня

Особое слово должно начинаться с маленькой буквы. Знак препинания в конце слова не допускается.

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

Список общих реплик

Список общих реплик используется Болтуном для реакции на реплику, для которой он не может подобрать соответствия. Они вводятся при помощи служебного тэга , и обычно их содержание подходит к любой ситуации. Их присутствие не совсем обязательно, но без них Болтун значительно поглупеет и не сможет отвечать более-менее связно. Изменять и удалять уже имеющийся список можно.

Чтобы добавить в список общую реплику:
В файле базы данных в новой строке наберите последовательно пробел, открывающую угловую скобку "<", заглавными буквами слово ESCAPE, закрывающую угловую скобку ">".

В новой строке наберите общую реплику.

Пример:

Что ты сказал?

Общая реплика является обычным предложением.

Хорошенько подумайте о том, какие реплики уместно сказать в любой ситуации, перед тем как добавлять что-то. Например, уместно переспросить, сказать, что что-то непонятно, сменить тему при помощи вводных слов и т. п.

Список мыслей вслух

Список мыслей вслух используется Болтуном для... Самые внимательные заметят для чего. Они вводятся при помощи служебного тэга , и обычно их содержание имеет свою специфику. Их присутствие необязательно вообще, так как это не влияет на работу самой программы. Изменять и удалять уже имеющийся список можно.

Чтобы добавить в список мысль вслух:
В файле базы данных в новой строке наберите последовательно пробел, открывающую угловую скобку "<", заглавными буквами слово THOUGHT, закрывающую угловую скобку ">".

В новой строке наберите мысль вслух.

Пример:

Странные идеи...

По определенным причинам не рекомендуется делать мысли слишком длинными.

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

Список начальных реплик

Список начальных реплик используется Болтуном для реакции на реплику, которой он не может подобрать соответствия, и если все общие реплики уже были использованы. Они вводятся при помощи служебного тэга . Их присутствие необязательно, так как программа создает их автоматически, если Вы выбираете опцию добавить диалог в память. Начальная реплика диалога и становится начальной репликой из списка. Изменять и удалять уже имеющийся список можно.

Чтобы добавить в список начальную реплику:
В файле памяти в новой строке наберите последовательно пробел, открывающую угловую скобку "<", заглавными буквами слово INITIAL, закрывающую угловую скобку ">".

В новой строке наберите начальную реплику.

Пример:

Привет, дружище!

Начальная реплика является обычной репликой.

Реплики для ключевых слов

Ключевые слова используется Болтуном для определения того, о чем говорится в том или ином предложении в Вашей реплике. Они вводятся внутри круглых скобок, и обязательным условием является наличие одного из двух знаков препинания: точки "." - для невопросительных предложений или знака вопроса "?" - для вопросительных, - после последнего ключевого слова. Знаки препинания используются для определения типа предложения. Отказ от использования ключевых слов значительно скажется на сообразительности Болтуна. Удалять уже имеющиеся ключевые слова не рекомендуется.

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

В новой строке наберите реплику-реакцию, подходящую для этих ключевых слов.

Примеры:
(знаешь?)
Конечно, знаю!

(не знаю.)
А я уверен, что ты знаешь...

Все ключевые слова должны начинаться с маленькой буквы. Знак препинания (точка или знак вопроса) в конце последнего слова обязателен.

Примечание. При создании строки из ключевых слов не используйте лишние, избыточные слова. Например, если вы считаете фразу "Я знаю, что..." ключевой, то ключевыми словами будут (знаю что.). Местоимение в данном случае излишне - ясно, что это предложение от первого лица. Запятая тоже не нужна.

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

Одним и тем же ключевым словам может соответствовать сколько угодно реплик-реакций.

Реплики для типичных предложений

Типичные предложения используется Болтуном для определения того, о чем говорится в том или ином предложении в Вашей реплике. Они вводятся внутри квадратных скобок, и обязательным условием является наличие одного из трех знаков препинания: точки ".", знака вопроса "?" или восклицательного знака "!" после последнего слова. Знаки препинания используются для определения типа предложения. Отказ от использования типичных предложений скажется на сообразительности Болтуна, но при хорошей базе ключевых слов можно отказаться от типичных предложений. Удалять и изменять уже имеющиеся типичные предложения можно.

Чтобы добавить типичное предложение с репликой-реакцией:
В файле базы данных в новой строке наберите последовательно пробел, открывающую квадратную скобку "[", типичное предложение со знаком препинания в конце, закрывающую квадратную скобку "]".

В новой строке наберите реплику-реакцию, подходящую для этого типичного предложения.

Примеры:
[Привет!]
Ну, дарова!

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

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

Примечание. Создавайте типичное предложение и реакцию на него, только если вы уверены, что именно в таком виде оно может использоваться кем-то в общении. Например: часто встречается приветствие "Привет!" именно с восклицательным знаком в конце.

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

Одним и тем же типичным предложениям может соответствовать, сколько угодно реплик-реакций.

Реплики для особых слов

Особые слова используется Болтуном для того, чтобы скрыть свое непонимание Вашей реплики. Это один из способов "сохранить лицо". Особые слова вводятся внутри фигурных скобок, и обязательным условием является наличие после последнего особого слова одного из двух знаков препинания: точки "." - для невопросительных предложений или знака вопроса "?" для вопросительных. Знаки препинания используются для определения типа предложения. Отказ от использования особых слов немного скажется на "имидже" "понимающего" Болтуна. Удалять и изменять уже имеющиеся дуплеты с репликами для особых слов можно.

Чтобы добавить служебные слова с репликой-реакцией:
В файле памяти в новой строке наберите последовательно пробел, открывающую фигурную скобку "{", особые слова через пробел, не отрывая от последнего слова знак вопроса, если это относится к вопросительным предложениям или точку в остальных случаях, закрывающую фигурную скобку "}".

В новой строке наберите реплику-реакцию.

Примеры:
{я меня мне мной.}
Ты все время говоришь о себе.

{уже.}
Уже?

Все особые слова должны начинаться с маленькой буквы. Знак препинания (точка или знак вопроса) в конце последнего слова обязателен.

Примечание. При создании строки из особых слов можно использовать как одно, так и много (лучше однородных) слов. Все они должны быть введены в список особых слов.

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

Особым словам может соответствовать сколько угодно реплик-реакций.

Обычные реплики

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

Но все же, чтобы добавить обычную реплику с репликой-реакцией:
В файле базы данных в новой строке наберите первую реплику.

В следующей строке наберите реплику-реакцию.

Пример:
О чем ты хочешь поговорить?
Я хочу поговорить о музыке.

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

Автор © этого документа ProVirus.








Поддержи проект!  

Если вам нравится то, что мы делаем, если всей душой вы с нами, то даже небольшая помощь от вас стала бы очень дорогим подарком для нас.

WebMoney Яндекс Деньги







Поиск  



Главная страница | О нас | Конфиденциальность | Пресс-центр | Форум | Обратная связь | Поиск