Форум программистов, компьютерный форум, киберфорум
Непризнанные теории, гипотезы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/32: Рейтинг темы: голосов - 32, средняя оценка - 4.66
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
1

Программа: почему человек меня не понимает?

11.12.2016, 14:36. Показов 6231. Ответов 204
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Речь идет о разговорной программе. Программисты, которые
пишут такие программы, стараются всю работу свалить на
программу. А ведь можно было бы облегчить жизнь и себе и
программе...
...
1. Итак, основой любой диалоговой программы является текстовый
файл. В него пишут фразы пользователя (я для этого использую
буквы верхнего регистра) и после каждой такой фразы или целого
блока фраз на отдельной строке пишется число. Это число указывает
сколько строк (вариантов) есть у программы для ответа.
2. Программа с ИИ должна также запомнить и переработать несколько
(будем говорить конкретно) ТРИ предыдущие фразы пользователя.
3. Вот тут то программист и должен помочь своей программе
Каким образом?
Да очень просто!
Не надо заставлять программу разбирать три фразы пользователя
и потом выяснять, что в них главное, а что мусор...
4. Надо сразу самому программисту после каждой его (а Не программы)
фразы в круглых или иных скобках указывать через пробел СЛОВА,
НЕСУЩИЕ ОСНОВНУЮ СМЫСЛОВУЮ НАГРУЗКУ.
5. А если таких слов нет, то и никаких скобок тоже не надо.
6. Вот здесь программе не потребуется тратить время на разбор
предложений. Имея одно или несколько слов она выберет не просто
ответ, а САМЫЙ ЛУЧШЫЙ ОТВЕТ в параллельной базе данных
....
Вы понимаете, программа сможет делать свои выводы.
пример
Если в трёх предыдущих фразах будут слова "выпить, закусить, на здоровье",
то программа поймет, что пользователя надо поздравить С Новым годом!
...
Ребята, мне будет очень интересно ваше мнение по поводу выше сказанного,
а также Любые мысли, предложения и другое, относящееся к ИИ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2016, 14:36
Ответы с готовыми решениями:

Бот Discord. Почему у меня не отправляет в чат что человек зашел?
MrOnlineCoder, Привет не могу понять почему у меня не отправляет в чат что человек зашел...

Почему у меня не работает программа?
блин что тут не так? #include <iostream> #include <math.h> using namespace std; const int...

почему у меня программа не работает ..подскажите
Задание: Создать в программе Блокнот текстовый файл. Написать программу, которая расшифровывает...

Почему у меня программа не выводит к во фразе?
program f1; uses crt; var k: integer; begin clrscr; writeln('введите переменную...

204
646 / 522 / 72
Регистрация: 20.09.2014
Сообщений: 3,356
11.12.2016, 15:30 2
Ну и тяжелую ты себе задачу поставил... особенно с учетом п.3.
Ну так для оценки: человек за всю свою жизнь наговаривает 10 Гб текста. Ты будешь порядка 10 гигов текста строчить да еще выделять основные слова? И ради чего? Чтобы получить дебильно-ассоциативную программу?
Ну остынь уж, где-то в твоем подходе глубокий прокол...
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
11.12.2016, 16:48  [ТС] 3
Mikhaylo
Человек на самом деле говорит гораздо меньше, чем
Вы насчитали. В самом деле, в газете редко бывает
более 5 000 различных слов. Это у Пушкина за всю
его кипучую жизнь во всех произведениях насчитали
28 000 слов. А реально, самый словообильный человек
через 5 минут начинает повторяться, а через 10 минут
он выговаривается (в смысле говорит одно и тоже)
Я могу с спокойной совестью утверждать, что в мире
нет человека, который бы за 100 лет сказал 1 миллион
различных фраз!! (язык отвалится)

все повторяется, повторяется, повторяется, ...
0
646 / 522 / 72
Регистрация: 20.09.2014
Сообщений: 3,356
11.12.2016, 17:52 4
Не принижайте богатство разговора. Ничего не выйдет из Вашего словаря.
2
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
11.12.2016, 18:02  [ТС] 5
Mikhaylo
Но вы все-таки не будете отрицать, что многие люди
говорят штампами. Даже на форуме. А вне его тем более...
0
646 / 522 / 72
Регистрация: 20.09.2014
Сообщений: 3,356
11.12.2016, 18:15 6
Ну штампами. Ну коллекционируйте штампы. Заколебетесь разгребать хлам. Может автоматизировать процесс обучения?..
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
11.12.2016, 18:21  [ТС] 7
Mikhaylo
Вы сейчас подали хороший совет. Рано или поздно
я этим займусь всерьёз. А вот как автоматизировать
процесс обучения? Ну приведите хотя бы маленький
пример. Из маленьких примеров выростают большие
программы!
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
12.12.2016, 13:52 8
Цитата Сообщение от echs Посмотреть сообщение
Вот тут то программист и должен помочь своей программе
Нет. Это программа должна помогать программисту. Иначе, зачем она вообще нужна?
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
12.12.2016, 14:17  [ТС] 9
Shamil1
Мне кажется, что программа (при помощи программиста)
будет работать быстрее. Собственно говоря, кто?, как не
человек может решить. Какие слова в предложении
важные, а какие нет? Все-равно они должны быть тем или
иным образом заданы (списком например)
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
12.12.2016, 16:22 10
Цитата Сообщение от echs Посмотреть сообщение
Мне кажется, что программа (при помощи программиста) будет работать быстрее.
А, по-моему, медленней.
1. Вместо того, чтобы обучаться, она будет ждать помощи от программиста. За сутки программист сможет наговорить 1Мб текста. Программа способна проанализировать этот текст за 1 секунду. (цифры взяты с потолка)
2. Программист - человек, а людям свойственно ошибаться. Одна ошибка программиста может перечеркнуть неделю или даже месяц обучения.
2
646 / 522 / 72
Регистрация: 20.09.2014
Сообщений: 3,356
12.12.2016, 16:26 11
Цитата Сообщение от echs Посмотреть сообщение
Мне кажется, что программа (при помощи программиста)
будет работать быстрее.
Цитата Сообщение от Shamil1 Посмотреть сообщение
А, по-моему, медленней.
Да че говорить, вон специалисты по машинному обучению настроили стандартную нейронную сеть, а она сама все делает. Значит все-таки Шамиль прав - и надо учить машинное обучение.
Машинное обучение - это наука, которая по сути объясняет, что нужно дать программе, чтобы она начала самостоятельно обучаться и работать.
2
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
12.12.2016, 17:09  [ТС] 12
Mikhaylo
Вы поймите, мне приходится писать программу на том,
что есть. Поэтому нейронная сеть и многое другое, как
вы верно заметили, делают специалисты. А я только учусь...
0
-21 / 30 / 1
Регистрация: 25.04.2017
Сообщений: 356
25.04.2017, 16:26 13
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Ничего не выйдет из Вашего словаря.
Есть более общая формула. Ничего у вас не получится. Годится для любых начинаний.
0
0 / 1 / 0
Регистрация: 02.08.2017
Сообщений: 59
02.08.2017, 17:46 14
Цитата Сообщение от echs Посмотреть сообщение
Mikhaylo
Вы поймите, мне приходится писать программу на том,
что есть. Поэтому нейронная сеть и многое другое, как
вы верно заметили, делают специалисты. А я только учусь...
Как-то это несерьезно. Тема ии для гугла или мклкого-мягкого. Зачем вам в нее лезть?
0
11 / 20 / 3
Регистрация: 12.10.2015
Сообщений: 126
04.08.2017, 11:39 15
Пока что трушный NLP – не полностью решенная задача машинного обучения, попытки конечно имеются и в большом количестве, но пока не блеск. ИМХО нужно отталкиваться, не от низкоуровневых статистик, вроде пропорций содержания слов\словосочетаний в предложении\тексте, но работать над семантикой.

О семантике много говорят но мало кто понимает что это, хотя это вполне простая сущность\отношение, семантическая связь подобна связи указателя(ссылки, адреса в памяти) и значения записанного в этой ячейки\ах, предложение\фраза\слово – указатель, а указываемый объект\структура – значение. Вначале нужно понять\интерпретировать указатель, то есть перейти по ссылке и прочитать значение, это может быть физический объект(ты), структура, сцена, концепция, как есть, или с задачей\вопросом которую нужно разрешить. Тут важно не упустить тонкий момент, вы работаете уже не с указателями(ссылками) но с значениями(объектами), а только результат затем интерпретируете снова в слова, указатели, вербализуете. На мой взгляд, это самое важное, что упускают большинство спецов по NLP.

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

Второй путь нужно учить наш ML самому строить значения(образы) по ссылкам(словесному описанию), мы называем это ПРЕДСТАВЛЯТЬ, ИМХО представление – тот самый важный недостающий компонент в NLP, превращающий его в парсинг и сухой формальный вывод, который как известно замкнут и не полон. По сути нам нужно иерархически декомпозировать фразу в сцену из объектов, то есть понять и представить, в представлении решить задачу и затем описать это, вербализовать.

Технически, с классификацией иерархических структур, прекрасно справляются CNN, можно сказать, что они могут «представлять», также есть попытки вербализации представлений CNN, когда описываются простые сцены, «яблоко лежит на столе» и тп. Это прекрасное начало! Принцип верен! От этого не далеко до продвинутого животного интеллекта, нужно только на 2-3 порядка масштабироваться…

Но как перейти к математической абстракции??? Как научить ответчать на вопрос «сколько яблок»?(позже отвечу если кто не догатается)
0
646 / 522 / 72
Регистрация: 20.09.2014
Сообщений: 3,356
04.08.2017, 17:50 16
CV (компьютерное зрение) - очень сложное направление машинного обучения. Сложность заключается в том, что изображение на сетчатке глаза (объективе фотоаппарата/видеокамеры) является сжатой и искаженной информацией о реальной сцене. Искажения возникают из-за различных ракурсов, частичных перекрытий, различной освещенности, но более-менее тут все ясно, к тому же поток информации достаточно большой.

NLP (обработка натурального языка) - это еще более сложная область, так как здесь еще более сжатая и искаженная информация. Искажение возникает из-за человека, который по реальной или вымышленной сцене генерируют некий текст. Здесь нет просто применяемых аффинных преобразований и т.п. Тут своего рода хаос (для начинающих).
1
14 / 21 / 4
Регистрация: 30.05.2017
Сообщений: 537
06.08.2017, 19:31 17
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Не принижайте богатство разговора. Ничего не выйдет из Вашего словаря.
Если только его использовать для обучения нейросети. Но думаю не с того конца начинание.Если обучить нейросеть на приведенной базе с выраженным акцентом на важное в фразе то она долго и мучительно но будет распознавать главное в фразах зачастую используемых(с вероятностью близкой к 1 но не достигшей его в виду принципиальной не достижимости её(особенно для системы которая "понятия не имеет" о чём речь а лишь набирает совершенствующуюся базу с правильными ответами)А "ошибка" отчасти echs в том что он недооценивает объем информации которую нужно представить нейросети для набирания достаточной базы.И его фраза по миллион фраз не учитывает то многообразие ситуаций,комбинаций в которых применяются одни и те же слова но важность их меняющаяся.При том тут ещё важность субъективна.И думаю в любой фразе важность для вас может отличаться от важного по мнению автора .
Если говорить о ии то это на мой взгляд прежде всего это выстроенная,классифицированная база по всем объектам процессам и состояниям,с программами обработки этих данных по алгоритмам(может быть нейросетевым но с "обычными"программами )Понимание это подключение блока памяти с информацией о объекте.При подключении разнообразных блоков с данными по всем приводимым в фразе объектам и предшествующей базой памяти положения,ситуации ,задач важность определится программой "сама".
0
Shamil1
09.08.2017, 12:23
  #18
 Комментарий модератора 
Почистил от флейма.
0
0 / 0 / 0
Регистрация: 03.02.2017
Сообщений: 38
09.08.2017, 17:19 19
Цитата Сообщение от echs Посмотреть сообщение
Ребята, мне будет очень интересно ваше мнение по поводу выше сказанного,
а также Любые мысли, предложения и другое, относящееся к ИИ.
На мой взгляд ваше направление безперспективно. Вы закладываете алгоритм работы с готовыми ответами, но не сам ИИ. Посмотрите на поисковики Яндекс и Google, они умеют понимать, что именно вы у них хотите спросить. Используя различные технологии и алгоритмы.

Мне больше нравиться другая идея - смыслов. Мы в своей жизни оперируем разными фразами, имеющими зачастую одну и ту же смысловую нагрузку, которые можно по разному перефразировать. Причем этот набор ограничен. Человек в своей жизни оперирует небольшим набором слов и смыслов для описания объектов окружающего мира и взаимодействия с ним.

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

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

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

А то, что вы пытаетесь сделать, появилось еще на заре интернета. Чат-боты сейчас практически не отличимы от человека. За исключением того, что не умеют думать.
0
0 / 1 / 0
Регистрация: 02.08.2017
Сообщений: 59
03.09.2017, 09:16 20
Цитата Сообщение от echs Посмотреть сообщение
Mikhaylo
Но вы все-таки не будете отрицать, что многие люди
говорят штампами. Даже на форуме. А вне его тем более...
Может люди люди говорят вообще ТОЛЬКО штампами - сам процесс мышления и есть типизация реальности и взаимодействия этих типов между собой, а человеческий язык содержит в себе эти типы вместе с правилами их использования. Проблема в том, что сложность этого языка, да и самой реальности ну совсем не позволяют надеяться на то, что машина в обозримом будущем способна ими овладеть. Сама по себе банальнейшая проблема распознавания речи скажем так далеко не решена. Имхо это совершено очевидно. Так чего Вы хотите добиться, не могли бы вы, пожалуйста, объяснить?

Добавлено через 35 минут
Цитата Сообщение от Shamil1 Посмотреть сообщение
 Комментарий модератора 
Почистил от флейма.
Цитата Сообщение от Shamil1 Посмотреть сообщение
Цитата Сообщение от echs
Мне кажется, что программа (при помощи программиста)
будет работать быстрее.
А, по-моему, медленней.
1. Вместо того, чтобы обучаться, она будет ждать помощи от программиста. За сутки программист сможет наговорить 1Мб текста. Программа способна проанализировать этот текст за 1 секунду. (цифры взяты с потолка)
2. Программист - человек, а людям свойственно ошибаться. Одна ошибка программиста может перечеркнуть неделю или даже месяц обучения.
неужто существуют программы, способные работать без ("помощи") человека??
0
03.09.2017, 09:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2017, 09:16
Помогаю со студенческими работами здесь

Функция не понимает меня
Вот попытался написать функцию для подсчета комбинаций "ab" (Читаю книгу, пытаюсь делать...

Помогите! Почему у меня не идёт программа на других компьютерах?

Ошибка в коде или компилятор не понимает меня?
Добрый день. Изучаю, с недавнего времени, с++ по книге Джесса Либерти "С++ за 21 день". Использую...

Почему VC++ не понимает cout??
Помогите новичку!! При компиляции win32 console application VC++ дает 3 ошибки на следующий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru