roboforum.ru

Технический форум по робототехнике.


Пробуем создать общительного робота.

Разработка универсальной программно-аппартной платформы роботов.

Re: Пробуем создать общительного робота.

Сообщение smur » 03 ноя 2019, 23:16

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

Ребёнку показывают на предмет и говорят - мама или папа или баба. Затем по картинкам или предметам учат другим словам: киска, зайка, каша, кушай кашу, дай и проч. Тогда у него возникают ассоциации между визуальным образом, понятием и действием. А как учить программу-ребёнка пока не понятно. А то научим ещё плохому :)
smur
 
Сообщения: 60
Зарегистрирован: 22 ноя 2016, 22:00

Re: Пробуем создать общительного робота.

Сообщение esisl » 12 ноя 2019, 14:32

А существует ли какой-то план?
В данный момент "чатбот" просто выполняет разбор текста
esisl
 
Сообщения: 1216
Зарегистрирован: 23 июл 2012, 15:24

Re: Пробуем создать общительного робота.

Сообщение Виктор Казаринов » 12 ноя 2019, 15:12

Я разослал всем желающим тестировать мою программу логины и пароли. Если кто-то не получил, сообщите, я вышлю повторно.
Будьте внимательны. Прочитайте, пожалуйста, документ https://docs.google.com/document/d/e/2PACX-1vRlYRPzdaW9mjuiZmBcAIuahYv68GFYYJLptPciscVqKKXyt2hiBeaKKXrgr0VtbR8GHFwYaLT1uS4-/pub
Там есть примеры как нужно подавать запросы.
Напоминаю, что на данном этапе программа не выполняет функции обычного чат-бота, а лишь выдает тестовую информацию, которая отражает то, как поняла программа ваше сообщение на ограниченном естественном языке. Не пытайтесь ввести произвольный текст. Можно вводить только два типа сообщений: простое повествовательное с прямым порядком слов и вопросительное относительно существования какого-то понятия в памяти программы.
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1327
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Пробуем создать общительного робота.

Сообщение esisl » 12 ноя 2019, 16:23

Я так понимаю - там детерминированный алгоритм? Без нейросетей и прочего скайнета?
esisl
 
Сообщения: 1216
Зарегистрирован: 23 июл 2012, 15:24

Re: Пробуем создать общительного робота.

Сообщение Виктор Казаринов » 12 ноя 2019, 18:45

esisl писал(а):Я так понимаю - там детерминированный алгоритм? Без нейросетей и прочего скайнета?

Читайте внимательно текст моего документа по ссылке выше. Там сейчас детерминированный алгоритм, который преобразует входной текст во внутреннее смысловое представление. Я уже занимаюсь планировщиком, который должен строить алгоритмы своего поведения на основе в том числе и смысла распознанных фраз собеседника. Но этот модуль еще не доделан.
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1327
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Пробуем создать общительного робота.

Сообщение esisl » 12 ноя 2019, 19:09

Нет, я именно про преобразование входного текста.
esisl
 
Сообщения: 1216
Зарегистрирован: 23 июл 2012, 15:24

Re: Пробуем создать общительного робота.

Сообщение setar » 13 ноя 2019, 16:03

забежал на минутку выложить любопытные скриншоты.
есть и правильный разбор по смыслу и ошибочный, снимал самое интересное.
Вложения
Снимок экрана 2019-11-13 в 12.51.48.png
Снимок экрана 2019-11-13 в 12.52.28.png
Снимок экрана 2019-11-13 в 12.52.56.png
Снимок экрана 2019-11-13 в 12.54.24.png
Аватара пользователя
setar
Site Admin
 
Сообщения: 10559
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Пробуем создать общительного робота.

Сообщение esisl » 13 ноя 2019, 16:12

Угу... ГГ же писал, что его искин путает будущее время

А свойств он не понимает?

Received message:
 Ваш текст: пиджак
 Анализ:
  Ваше высказывание:
   Тип: класс; Субъект: coat;
   Предикат: ???;
   Объект: ???;
OK

Received message:
 Ваш текст: малиновый пиджак
 Анализ:
  Ваше высказывание:
   Предикат: ???;
   Тип: класс; Объект: coat;
OK

Честно-говоря, разбиралка вызывает странность. Именно разбиралки текста на части речи есть свободные, валяются в этих интернетах. Такие вещи как части речи понимают прекрасно. В чём смысл "велосипеда"? Есть же наверное какой-то?
esisl
 
Сообщения: 1216
Зарегистрирован: 23 июл 2012, 15:24

Re: Пробуем создать общительного робота.

Сообщение smur » 17 ноя 2019, 10:51

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

Результаты у меня такие получились, на данный момент:

1. Некорректная обработка буквы 'ё'
2. Непонятно, учитывается ли знак '?'. Видимо нет.
3. "Что такое", "кто такая" обрабатываются, а "что значит" не обрабатывается

Ваш текст: кто такая девочка
Ответ:
девочка это:
девушка;

Ваш текст: что такое девочка
Ответ:
девочка это:
девушка;

Ваш текст: что значит девочка
Анализ:
Ваше высказывание:
Предикат: ???;
Тип: класс; Объект: female child;

4. "Какие бывают" обрабатывается, а "Какое бывает" не обрабатывается (Какое бывает настроение)

5. "Время идет" - предикат transportation? Или есть предикат типа - длительность?

Ваш текст: время прошло
Тип: индивид; Суперсубъект: time duration;
Предикат: transportation; Число: единственное; Время: прошедшее;
smur
 
Сообщения: 60
Зарегистрирован: 22 ноя 2016, 22:00

Re: Пробуем создать общительного робота.

Сообщение Виктор Казаринов » 17 ноя 2019, 11:35

Здравствуйте, уважаемые все. И тестеры, и просто интересующиеся. Меня тут немного прижала другая тема. Но чат-бот в приоритете. Никакого особого секрета из своего проекта я не делаю. Я использовал FreeLing - проект создания свободного пакета инструментов обработки естественного языка, созданный в Политехническом университете Каталонии. И там в документации есть табличка, в которой написано, какие модули разработаны для разных языков. К сожалению, для русского языка они мало что сделали, а то, что сделали, содержит много ошибок. Поэтому приходится самому разбираться и доделывать их модули. Именно из-за этого такая кривизна в ответах. Но что удалось сделать мне? Я соединил их модули с моей версией онтологии WordNet, которая занимается словами и их отношениями. И, главное, соединил, с онтологией верхнего уровня SUMO, в которую добавил некоторые онтологии среднего уровня. Поэтому там есть простейшие знания из нашей жизни. Соединение FreeLing с моим проектом все еще довольно кривенкое из-за пока неработающих на русском языке многих важных модулей.
Но. Если появится хоть и плохо работающий интерфейс между человеком и компьютером, можно уже заниматься тем, ради чего все это и было затеяно - разумным поведением машины. Это как общение с иностранцем на ломаном языке. Общение хромое, но если стороны понимают друг друга, язык не будет непреодолимой помехой при обмене мыслями.
Уже сейчас на выходе анализатора создается граф - древовидная структура, каждый узел которой ссылается на узлы онтологии. Это означает, что если есть указание на понятие "человек", то программе становится понятно, что это живое существо, интеллектуальный агент и прочее. Следующим этапом будет проявление здравого рассудка программы. Сейчас этого нет. Но может относительно легко добавлено. К примеру, во фразе "Рыбы косяком летели по небу" программа сможет определить среду обитания рыб. И выявить парадокс: рыбы не могут летать по небу, в воздушном пространстве (за исключением выпрыгивающих ненадолго из воды "летающих" рыб). По небу могут летать птицы и самолеты. Поэтому все такие факты и противоречия в смысле сообщения собеседника программа довольно легко может обнаружить. Добраться хотя бы до здравого смысла самого маленького ребенка - вот ближайшая задача.
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1327
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Пробуем создать общительного робота.

Сообщение smur » 17 ноя 2019, 14:52

Рады помочь, чем можем :)
Нам желательно указать приоритетную тематику для тестирования или набор тем. А так же примерное количество фраз для обработки. Наколотить мы можем много, главное, чтобы это помогало получить нужные связи, а не порождало лишний информационный мусор.
Эээ, немного почитав на досуге по теме логики мышления, пользуясь терминологией, на выходе имеем - получить требуемые контексты.
То есть фраза "Рыбы косяком летели по небу" не должна иметь готового контекста при поиске информации, хотя как раз в итоге может получится устойчивый контекст относящийся к феномену "шутка"
smur
 
Сообщения: 60
Зарегистрирован: 22 ноя 2016, 22:00

Re: Пробуем создать общительного робота.

Сообщение AndreiSk » 18 ноя 2019, 00:56

1) Не очень понял по поводу буквы Ё, но знаю что если в регулярных выражениях писать парсинг русских слов,
например регулярное выражение "[А-Яа-я]+" для слова "Привет"
подходит, а для "Ёжик" не подойдет,
конкретно в C# надо сделать "[А-Яа-яЁё]+".
Может в парсере используются регулярные выражения и там такая же бага есть.
2) Почитал документ на гугле и не понял, для какого языка пишется чат бот.
Вроде для русского, но почему тогда так много вывода английских слов?
Как по мне, надо выкинуть из проекта английский.
Все равно что иностранец, так себе знающий русский, сделает чат бота на русском.
Получится весело и задорно, но вот русскоговорящим такое не нужно.
Проще, если появится заказчик на английском, нанять проф.переводчика и сделать правильный перевод.

3) Можно ссылку на онтологию по русски?
Где-то она лежит, интересно глянуть что там внутри этой базы.
Аватара пользователя
AndreiSk
 
Сообщения: 2631
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Пробуем создать общительного робота.

Сообщение Виктор Казаринов » 18 ноя 2019, 11:09

AndreiSk писал(а):2) Почитал документ на гугле и не понял, для какого языка пишется чат бот.

Персональный ассистент работает с русским языком. Хотя в библиотеке FreeLing есть еще английский, французский, испанский, немецкий...
AndreiSk писал(а):Вроде для русского, но почему тогда так много вывода английских слов?

Много английского на выводе - это диагностический вывод из "мозга" программы, почти то, как она "думает". Пользовательский вывод, конечно, будет на русском с правильным построением фраз. Сейчас это не реализовано.
AndreiSk писал(а):Как по мне, надо выкинуть из проекта английский.

Если вы в C# применяете русские ключевые слова (прибавить, отнять, умножить, вызов подпрограммы...) , то я буду только рад за вас. Но, к сожалению, очень мало на свете языков программирования на русском.
Соответственно и сами понятия в онтологиях обозначены английскими терминами. Поэтому искать там русский бесполезно. Но вот в добавке к онтологии WordNet, которая на английском, есть русская добавка RusWordNet (название условное, таких русских онтологий несколько). Там есть русские термины. Именно ими следует воспользоваться для синтеза фраз.
Еще раз всех тестирующих прошу обратить внимание, что выводит программа не готовые к употреблению неподготовленным пользователем фразы, а внутреннюю диагностическю информацию в определенном мною формате. Поэтому и объявил закрытое тестирование.
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1327
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Пробуем создать общительного робота.

Сообщение MEXAHuK » 18 ноя 2019, 15:35

Виктор, подскажите, вам достаточно логов общения чат-бота, или вам нужны какие-то отчеты от тестировщиков? Планируется ли обучение ассистента силами тестировщиков, путём ввода фраз-утверждений, описывающих "ребёнку" окружаюий мир? Может быть есть какие-то темы или приоритетные задачи, на чём нам стоит сфокусироваться?
Аватара пользователя
MEXAHuK
 
Сообщения: 228
Зарегистрирован: 07 янв 2005, 23:39
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов

Пред.

Вернуться в Проект Robosonic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Mail.ru counter