Вверх ↑
Этот топик читают: Гость
Ответов: 202
Рейтинг: 7
#211: 2019-04-30 22:46:01 ЛС | профиль | цитата
Vadimluk1 писал(а):
Полностью изменил список "Добавления новых знаний в базу", но пока не подключил к базе.

Привет, Вадим.
Скажи, если не в лом,.. а что лично ты подразумеваешь под словом "знания"?.. Что именно ты собираешься "добавлять"?..
(вопрос без прикола. Реально интересно)
карма: 1

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#212: 2019-05-01 00:10:11 ЛС | профиль | цитата
Evgenij_Egorovich писал(а):
Vadimluk1 писал(а):
Полностью изменил список "Добавления новых знаний в базу", но пока не подключил к базе.

Привет, Вадим.
Скажи, если не в лом,.. а что лично ты подразумеваешь под словом "знания"?.. Что именно ты собираешься "добавлять"?..
(вопрос без прикола. Реально интересно)

Здравствуйте, Евгений Егорович.
Под словом "знания" я имею виду информацию, но в переработанном виде на категории "Полезные", "Бесполезные","Вредные". Добавлять знания, которые робот будет использовать, читая текст пользователя, и давать на основе вопроса, ответ.
карма: 0

0
Ответов: 202
Рейтинг: 7
#213: 2019-05-01 21:33:52 ЛС | профиль | цитата
Может тебе пригодится...
Знания состоят из двух, как бы сказать, разделов: информации О СОСТОЯНИЯХ... и информации О ЗАВИСИМОСТЯХ.
Когда ты разговариваешь с человеком, то ты всегда, по сути, передаёшь ему информацию либо "о состоянии" каких-либо параметров объектов окружающего нас мира, либо "о зависимости" значения одного параметра от значения другого.
Если тело человека живёт в реальном мире, то Разум вынужден "жить" в мире виртуальном, "нарисованном" им на основании информации, поступающей из различных источников. И чем точнее виртуальная модель мира в голове человека соответствует миру реальному, тем больше шансов у человека правильно реагировать на текущую обстановку.
Так и твой бот... Чтобы иметь возможность САМОМУ ориентироваться в происходящем, у него "в голове" должна быть сложена "картина" той ситуации, в которой твой бот находится. А ситуация описывается МАССИВОМ ИНФОРМАЦИИ, состоящим из Имён параметров и их текущих Значений.
Но,.. мало иметь текущую "картину" окружающей тебя обстановки. Нужно ещё определить, КАК СЕЙЧАС ПОСТУПИТЬ.
А это возможно двумя способами.
Первый, когда в твоей памяти уже хранится информация о том, как себя вести в сложившейся ситуации. Правда, для этого нужно ещё и умение ситуацию безошибочно распознать.
Второй, это провести несколько виртуальных "экспериментов" НА ВИРТУАЛЬНОЙ МОДЕЛИ текущей ситуации, которая создана внутри "мозга"... и выбрать лучший вариант для реализации в реальном мире. Вот именно для возможности моделирования процессов с целью "поиска решения" и понадобится боту "информация о зависимостях" окружающей нас среды.
.
Так что "Полезные", "Бесполезные" и "Вредные", на мой взгляд, это не совсем то, что сделает твоего бота умным и саморазвивающимся.
карма: 1

1
Голосовали:Vadimluk1
Ответов: 16884
Рейтинг: 1239
#214: 2019-05-01 22:13:22 ЛС | профиль | цитата
https://www.youtube.com/watch?v=a-wxkHX-QD8
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
-1
Голосовали:Vadimluk1
Ответов: 5227
Рейтинг: 586
#215: 2019-05-02 08:43:09 ЛС | профиль | цитата
Tad,
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
-1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#216: 2019-05-03 17:29:07 ЛС | профиль | цитата
Evgenij_Egorovich писал(а):
Может тебе пригодится...
Знания состоят из двух, как бы сказать, разделов: информации О СОСТОЯНИЯХ... и информации О ЗАВИСИМОСТЯХ.
Когда ты разговариваешь с человеком, то ты всегда, по сути, передаёшь ему информацию либо "о состоянии" каких-либо параметров объектов окружающего нас мира, либо "о зависимости" значения одного параметра от значения другого.
Если тело человека живёт в реальном мире, то Разум вынужден "жить" в мире виртуальном, "нарисованном" им на основании информации, поступающей из различных источников. И чем точнее виртуальная модель мира в голове человека соответствует миру реальному, тем больше шансов у человека правильно реагировать на текущую обстановку.
Так и твой бот... Чтобы иметь возможность САМОМУ ориентироваться в происходящем, у него "в голове" должна быть сложена "картина" той ситуации, в которой твой бот находится. А ситуация описывается МАССИВОМ ИНФОРМАЦИИ, состоящим из Имён параметров и их текущих Значений.
Но,.. мало иметь текущую "картину" окружающей тебя обстановки. Нужно ещё определить, КАК СЕЙЧАС ПОСТУПИТЬ.
А это возможно двумя способами.
Первый, когда в твоей памяти уже хранится информация о том, как себя вести в сложившейся ситуации. Правда, для этого нужно ещё и умение ситуацию безошибочно распознать.
Второй, это провести несколько виртуальных "экспериментов" НА ВИРТУАЛЬНОЙ МОДЕЛИ текущей ситуации, которая создана внутри "мозга"... и выбрать лучший вариант для реализации в реальном мире. Вот именно для возможности моделирования процессов с целью "поиска решения" и понадобится боту "информация о зависимостях" окружающей нас среды.
.
Так что "Полезные", "Бесполезные" и "Вредные", на мой взгляд, это не совсем то, что сделает твоего бота умным и саморазвивающимся.

Я подумаю как это сделать, но позже.
карма: 0

0
Ответов: 632
Рейтинг: 4
#217: 2019-08-21 22:41:40 ЛС | профиль | цитата
Подумал, как возможно улучшить работу бота.
Для этого нужно знать способы бота понять о окружающей среде.
Бот использует только текст вводимый пользователем.
Бот должен понимать значение каждого слова или уметь уточнять у пользователя.
Боту необходима уметь строить логические цепочки ( A -> B ).

Сначала бот не имеет никакой базы.
1. Все что ему мы пишем, мы ему должны объяснять реакцию, которую нужно испытать.
2. После образование некоторой базы, бот должен понимая слова, которые мы писали случайным образом составить новый диалог и стараться на основе ответов, которые мы когда-то учили его, он должен отвечать.
3. Когда бот на общался сам собой. Нам нужно вмешаться и посмотреть адекватность ответов и самих вопросов. Возможно провести общением с ботом, если ответы не адекватные у бота, нужна кнопка редактирование реакций, которые автоматически бот создавал.
4. После редактирования, бот должен пересмотреть все диалоги и при возможности построить новые, если мы внесли новые реакции.
5. В идеале, боту можно добавить его чувства и эмоции, которые вы пишите в другом месте программы.(Можно свои чувства, эмоции)

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

0
Ответов: 2059
Рейтинг: 131
#218: 2019-08-21 23:39:28 ЛС | профиль | цитата
Я тащусь, как удав на пачке дуста!
Бот должен понимать значение каждого слова или уметь уточнять у пользователя.

Ну эта, как её...
Есть такая байда: - "Нельзя описать язык средсвами самого-же, или подобного языка".
Метаязык — это любой естественный или искусственный язык (язык «второго уровня»), на котором описывается другой язык (язык «первого уровня»).

Сами помыслы достойны уважения!

Редактировалось 1 раз(а), последний 2019-08-21 23:45:14
карма: 6

1
Голосовали:Vadimluk1
Ответов: 2059
Рейтинг: 131
#219: 2019-08-22 17:10:04 ЛС | профиль | цитата
Бот должен понимать значение каждого слова или уметь уточнять у пользователя.

Понимание текста:
Вот что я делал в своих программульках для генератора аннотаций по исходному тексту, генератора завязки сюжета, генератора текста, генератора случайных приключений и диалогов для игр.
Сейчас балуюсь генератором фантастических рассказов и романов (роман - переплетение нескольких связаных сюжетных линий, рассказов).
Думаю, что такой подход вполне можно применить в твоём боте.
Берётся словарь Зализняка, или dict.opcorpora (гугель поиск)
с такими полями:

абордаж#абордаж,абордажи,абордажа,абордажей,абордажу,абордажам,абордаж,абордажи,абордажем,абордажами,абордаже,абордажах

абордажный#абордажный,абордажная,абордажное,абордажные,абордажного,абордажной,абордажного,абордажных,абордажному,абордажной,абордажному,абордажным,абордажный,абордажную,абордажное,абордажные,абордажного,абордажную,абордажное,абордажных,абордажным,абордажной,абордажною,абордажным,абордажными,абордажном,абордажной,абордажном,абордажных,абордажен,абордажна,абордажно,абордажны,абордажнее,поабордажнее,абордажней,поабордажней
Это чтобы легко получать спряжение\склонение по простой форме.
И делаешь надстройку над словарём такого типа https://yadi.sk/d/yhNeUOsQtU28jQ .
(Сделал архив, а то в пост не влезает).
Собственно это должны быть указатели на слова в базе.
База служит и для морфологии слов, и как Тезаурус.
Дальше всё интересней...

Если ты делаешь разговорный бот, каких сотни - по шаблонам, то я зря распинался.
Многие предоставляют готовые шаблоны, описание как всё устроено и исходники.

Вот похожая тема http://donjon.bin.sh/ и https://curveship.com/ Там тоже есть генератор сюжета.
Но разве можно сравнить с моим:
Это всё сгенерированно!

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

А вот начало.
Полуторамесячный рейс Глизе – Земля завершался. "Лунная радуга", корабль класса "А", три дня назад удачно вышел из сопространства почти на границе Солнечной системы и теперь, идя в режиме торможения под углом в тридцать градусов к плоскости эклиптики, пересекал последние миллиарды километров. До финиша оставались сутки с небольшим.

Редактировалось 5 раз(а), последний 2019-08-22 18:46:24
карма: 6

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#220: 2019-08-22 23:52:09 ЛС | профиль | цитата
flint2, спасибо за рассказ, список и удивительную генерацию текста!
Список сначала напугал
фрагмент

деривационные (словообразовательные) характеристики (например, «диминутив», «отадъективное наречие»).

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

Собственно лексико-семантические пометы сгруппированы по следующим полям:

таксономия (тематический класс лексемы) — для имен существительных, прилагательных, глаголов и наречий;
мереология (указание на отношения «часть — целое», «элемент — множество») — для предметных и непредметных имен;
топология (топологический статус обозначаемого объекта) — для предметных имен;
каузация — для глаголов;
служебный статус — для глаголов;
оценка — для предметных и не предметных имен, прилагательных и наречий.
Потом, очень порадовал. Представить какой объем классификаций нужно сложно, но когда все уже сделано, то уже на много проще.
Остается решить, как сделать всё и в какое время все делать.

--- Добавлено в 2019-08-23 00:10:41

В интернете пока нашел словарь Зализняка, но он не совсем по формату, наверно нужно будет его подредактировать программой.
Фрагмент словаря
а
ба
аба
кааба
баба
бой-баба
даба
жаба
раба
полнеба
треба
потреба
амёба
учёба
божба
ворожба
служба
метеослужба
дружба
тяжба
изба
триба
диатриба
лайба
шайба
планшайба
ройба
надолба
колба

Редактировалось 2 раз(а), последний 2019-08-23 00:10:41
карма: 0

0
Ответов: 2059
Рейтинг: 131
#221: 2019-08-23 12:45:40 ЛС | профиль | цитата
Вот держи архивы. https://yadi.sk/d/-qJ06iM_ZuNGgw https://yadi.sk/d/yMhM4QIxrGlSkg https://yadi.sk/d/DoPyWaNT6mALHw
Во втором даже есть некоторая разметка.
Это для простой формы слова, но с разметкой https://yadi.sk/d/vdv6EuQ5eFQzyw
Когда скачаешь, я их сотру, а то места для обмена уже почти не осталось.
Всё это дело надо запихнуть в базу, чтобы можно было быстро делать нужные выборки, или через компонент hiHashTableString, как здесь https://yadi.sk/d/ovVh1jXbAGfT0A (компонент в нагрузку присутствует).
Всё это дело, или часть можно автоматизировать. Помню, на старом компьютере сделал за три дня вручную, но дело нудное.
Старой базы у меня не осталось, а новая у меня более сложная заточена под мои задачи и интегрирована с Прологом.
Пролог для HiAsm я выкладывал (поиск по форуму).
Я-бы делал так:
Перевести каждое входное предложение в понятия (правила) Пролога.
Например классика жанра:
// Условие задачи: Сократ — человек. Все люди смертны.
// Найти: Смертен ли Сократ?
// Запишем условие в терминах языка пролога
// Сократ - человек
human(sokrat).
// Платон - тоже человек
human(platon).

// Чтобы некто был смертным, он должен быть человеком
mortal(Someone) :- human(Someone).
//теперь спросим пролог систему, смертен ли Сократ:
?- mortal(sokrat).

Yes // да
А потом обратно на человеческий язык.
Примерно так сделано здесь https://yadi.sk/d/rdlrVdjlp7QsqQ , только всё упрятано в компонент.
Для твоей задачи нужны именно компоненты hiLogicServer и hiDialogueDB (поиск по форуму, сейчас совершенно нет времени искать. Если не найдёшь, то позже выложу).
Для разбора предложений понадобится что-то типа этого сделать https://yadi.sk/d/yf8fgUypbXqaFQ
Компоненты: https://yadi.sk/d/_PmqGpmqVh71yQ
Дай знать, если чего-то не будет хватать, или чего-то не заработает.

Редактировалось 7 раз(а), последний 2019-08-23 14:03:01
карма: 6

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#222: 2019-08-23 20:40:49 ЛС | профиль | цитата
flint2, сегодня был занят перестановкой дома. Все 8 ссылок скачал, быстро посмотрел. Все очень классно выглядит. Сегодня не знаю, потом как будет время обязательно внимательно посмотрю все.
карма: 0

0
Ответов: 632
Рейтинг: 4
#223: 2019-08-24 13:16:24 ЛС | профиль | цитата
flint2, попробовал найти компоненты hiLogicServer и hiDialogueDB, нашёл по этой теме "Пролог для Delphi", но там все по ссылкам на облако. Скачать не чего не получилось.
Кроме этих компонентов у меня еще некоторых нет.
карма: 0

0
Ответов: 2059
Рейтинг: 131
#224: 2019-08-24 18:17:31 ЛС | профиль | цитата
Вот мои компоненты: https://yadi.sk/d/y_1Pq0fSAD-hKg
Prolog - https://yadi.sk/d/Y1w3PSE9qD_png
Morphology - https://yadi.sk/d/_PmqGpmqVh71yQ
TTREE - https://yadi.sk/d/tGb4iiX3JVo4RA
Lame-ENC - https://yadi.sk/d/M3cYoFffyX6B1w
pipes - https://yadi.sk/d/Co-fjDG_6fBeIw
Scintilla - https://yadi.sk/d/ZJag_PY2YKqcgA
Bass_new - https://yadi.sk/d/WR4dkdnb7bQelw
Lua - https://yadi.sk/d/BiqZbVKjp7M9aw
Disasm - https://yadi.sk/d/sLvEo2YyR0B6HA
SPForthScript - https://yadi.sk/d/qZtgGvicDIlY_A
dll2pas - https://yadi.sk/d/NdGAI_WMPoXqmw
DLLLoader - https://yadi.sk/d/0sPTEIePPeh5MA
Наверняка чего-то пропустил, ну так, по мелочи.
карма: 6

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#225: 2019-08-24 23:54:48 ЛС | профиль | цитата
flint2, большое спасибо за полезный набор компонентов. Буду разбираться.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)