Comments 252
Первый пример. Причём, не нужен посредник в виде очередного Вани — ввод и контроль сразу осуществляется коллективом людей. Т.е., отпадает надобность в проверке создаваемой тривиальной модели мира на близость к реальной тривиальной картине мира (для научной информации, конечно, требуется эксперт).
Только такие технологии ИИ называли в 70 годы прошлого века.
Если не ошибаюсь, разработка ИИ на основе пролог-машин закончилась тем, что база правил разрасталась, становилась запутанной и противоречивой. Не взлетело.
Кстати, ваша система оценки достоверности высказываний по рейтингу говорящего, на мой взгляд, не очень хороша. В идеале, нужно реализовывать что-то подобное научному методу, а не просто безоговорочное доверие авторитетам, т.к. авторитеты могут ошибаться. Может быть, нужен какой-то анализ взаимоотношений авторитетов и их целей. Иногда авторитеты говорят противоположное, и помнить нужно всё, чтобы применять в различных контекстах. Иногда авторитет сам не имеет согласованной непротиворечивой информации. ИИ должен в этом бардаке как-то разбираться, а не просто принимать истинным последнее значение.
Но реализовывать это совсем непросто.
Что касается разрастания базы правил, тут у меня полная ясность:
1. В отношении самого мышления правила разрастаться не будут. Классы и каузальность: им просто некуда разрастаться.
2. Некоторое разрастание правил возможно в отношении речевых оборотов, но это исключительно из-за ограниченной элементной базы. Чат-бот, он и есть чат-бот. Приделать видеокамеру, и данный недостаток исчезнет (не станет необходимым растолковывать, чем отличается «еще как» от «вот еще» — ИИ сам определит).
Видеокамера решит проблему и с оценкой достоверности. Если высказывание противоречит визуальному миру, значит собеседник лжец. Заурядная верификация.
Мой способ оценки достоверности, разумеется, несовершенен. Я принял первый непротиворечивый, на который наткнулся. С другой стороны, если для чат-бота единственным способом восприятия окружающего мира является услышанная фраза, почему ей не верить? Для человека это аналогично визуальному восприятию. Вы видите дерево, а кто-то утверждает, что этого дерева нет. Но вы же его видите!
Если высказывание противоречит визуальному миру, значит собеседник лжец.
Это можно проверить, только если предмет, о котором говорит собеседник, попал в камеру. Если предмет абстрактный или невидимый камерой — сразу проблема. И ещё невозможно проверить, не врёт ли камера (например, объект можно не заметить из-за недостаточных характеристик камер или ошибок в системе распознавания объектов)
если для чат-бота единственным способом восприятия окружающего мира является услышанная фраза, почему ей не верить?
Для относительно простых случаев (а их, наверно, достаточно много) можно создать непротиворечивое описание ситуации, и на первых порах сойдёт и так.
Но в общем случае, в головах людей — каша из противоречий (особенно когда они пытаются в чём-то разобраться или принять сложное решение). Было бы хорошо, если бы ИИ мог легко разобраться в этой каше, и помочь разобраться в ней пользователю (такие методы уже есть, например метод анализа иерархий). И вряд ли тут можно обойтись без нечёткой логики.
Но полагаю, ваша система будет полезна и без этой сложной схемы верификации, во многих случаях даже рейтинга будет более чем достаточно.
Это можно проверить, только если предмет, о котором говорит собеседник, попал в камеру.
Вот именно. На этот случай у меня имеется готовый пример. Вы верите в существование Антарктиды? Почему, если никогда там не были и вряд ли отправитесь?
То есть люди также часто основываются на высказываниях, в этом чат-бот мало от них отличается.
Но в общем случае, в головах людей — каша из противоречий (особенно когда они пытаются в чём-то разобраться или принять сложное решение). Было бы хорошо, если бы ИИ мог легко разобраться в этой каше, и помочь разобраться в ней пользователю (такие методы уже есть, например метод анализа иерархий)
Полностью с Вами согласен: в головах людей каша. Именно поэтому я написал:
Как следует из всего текущего поста, синтаксис обладает собственной семантикой, которая может быть соотнесена с чьими-нибудь выводами. Следовательно, ИИ способен проверять утверждения на достоверность, соотнося их с предыдущими известными ему утверждениями.
Только это будет проверка с точки зрения синтаксиса, не более.
Что касается конкретных решений, так ведь Ваня Разумный — сделанный любителем прототип. Оценка достоверности — в нем не самое, в случае чего переписать можно.
Знаете, некоторые вещи я очень хорошо понимаю:
1. У меня отсутствуют способности к бизнесу. То есть любой мой личный коммерческий проект обречен изначально на неуспех, это я на своей шкуре неоднократно испытывал. При том что, случалось, коммерсанты на моих познаниях и способностях неплохо наживались.
2. Программист я начинающий, поэтому сам коммерческий продукт не осилю в любом случае.
3. Данный проект зависит от библиотек, которые я назвал в посте. Без них ничего не получится, поэтому с авторами данных библиотек придется так или иначе договариваться.
4. Нужны словари, причем некоторые придется приводить к пригодному для обработки виду.
Для меня идеальным был бы вариант, чтобы за проект взялся именно коммерсант, чтобы зарплату платил со всеми вытекающими, команду собрал и, главное, знал, зачем и для чего это ваяется. А то, что на озвученных в посте принципах можно сделать ИИ, в этом у меня никаких сомнений нет. Мне известно как.
Нюансы, которые легко распознаются людьми по мимике и интонации собеседника, но не могут быть идентифицированы на синтаксическом уровне.
Да, конечно. Особенно в чате.
То, что у бота нет глаз — не существенно. У слепых с рождения тоже нет глаз.
Вообще то, что вы делаете, напоминает экспертные системы из 70-х. Интересно, но прорывов в таком подходе не видно. За саму статью спасибо, увлекательно.
Отсылку к 70-м я сам дал, однако «старая» технология не значит плохая. Преследуя определенные цели, вполне возможно вместо «старой» подсунуть «новую» технологию: объявив ее новомодным трендом, предоставив деньги на развитие и т.п. Не правда ли?
У пользователей чата многолетний опыт восприятия физического мира
У чат-бота такого опыта нет по определению
Вот это очень тонкий вопрос. Например, у openai есть очень классная работа по переносу восприятия "физического мира" из симуляции в реальный. Научили руку манипулировать кубиком.
Дело в том, что мы воспринимаем реальный мир не напрямую, а посредством органов чувств. Обрабатываем сигналы. ИИ вполне может получать такие сигналы из симуляции и набрать эти "несколько лет опыта" при необходимости за пару дней.
Так что "по определению" я считаю неверным. Нет такого определения, которое запрещает чат-боту набирать опыт. Вопрос в алгоритме.
Что касается openai, то я не в курсе их достижений, но саму постановку вопроса считаю ошибочной. Это две разных задачи, создание ИИ и эмулирование реальности, зачем их смешивать? К тому же никакая виртуальная реальность не обучит ИИ по-настоящему, по причине, которой я коснулся в посте. Если принять за аксиому, что зрительный мир — совокупность цветных точек, то нет никаких гарантий, что ИИ с видеокамерой начнет воспринимать те же объекты, что человек, и трактовать их по-человечески. Он ведь другое может увидеть! А обучать ИИ на примерах, как это делают нейронные сети, значит подгонять результат эксперимента под желаемые выводы. Посему ИИ должен обучаться не в виртуальном мире, а в нашем с вами — физическом.
Два дня, говорите? Хм… То есть человек, по образцу которого мы мечтаем слепить ИИ, достигает совершеннолетия в 18 лет, а ИИ за пару дней справится? С чего бы это? Возьмите годовалого ребенка и попробуйте за пару дней вбить в его голову Брокгауза и Евфрона, посмотрю, что у Вас получится. А ведь ребенок — урожденный интеллектуал, у него нейронные связи в черепе настроены к восприятию окружающего мира.
И с последним Вашим выводом тоже не соглашусь, Вы приписали мне мысль, которую я не озвучивал. Чат-бот может самостоятельно набирать опыт, но в рамках своего способа восприятия. Если это восприятие — речь, то информацию чат-бот способен почерпнуть только из речи, а семантика речи определяется синтаксисом. «Объяснить» тот или иной термин чат-боту мы можем, конечно, но это внешнее, не самостоятельное знание, см. пример с вопросом «Сколько времени?».
эмулирование реальности
Конечно это отдельная задача. Но она поможет обучать ИИ быстрее. Не за 25 лет, как живых людей в обычной реальности, а за неделю.
К тому же никакая виртуальная реальность не обучит ИИ по-настоящему, по причине, которой я коснулся в посте.
Честно говоря, не понял этой причины. ИИ без проблем можно научить выделять те же самые предметы из "совокупности цветных точек". Это сделать гарантированно можно — выделение предметов — хорошо изученная задача.
значит подгонять результат эксперимента под желаемые выводы.
Только если обучающие примеры подогнаны под желаемые выводы. Но даже это не плохо. Хочешь получить ИИ-строителя — даёшь больше строительных примеров, это нормально.
ИИ за пару дней справится? С чего бы это?
Нет фундаментальных проблем на рост объема вычислительных мощностей и скорости прогонки примеров. Я потому пример с openai и привёл. Другие исследователи считают, что обучать нужно в физическом мире, т.к. симулировать нереально сложно. И обучают месяцами. Они обучили за 50 часов — двое суток.
Возьмите годовалого ребенка и попробуйте за пару дней вбить в его голову Брокгауза и Евфрона
Конечно нельзя, об этом и речь — скорость обучения машины выше, чем у человека. Пробуйте вбить в него за месяц игру Го. Для машины это сделано — за месяц она обучается играть на голову выше лучших игроков мира, которые учились 20 лет.
Честно говоря, не понял этой причины. ИИ без проблем можно научить выделять те же самые предметы из «совокупности цветных точек». Это сделать гарантированно можно — выделение предметов — хорошо изученная задача.
Если это цветные точки, то совокупность может оказаться иной. Человек видит зайца, а ИИ увидит нечто совершенно другое, так как скомпонует цветные точки иным образом.
Го — слишком специальная задача для мышления: наш мир сложней. Честно говоря, игровые программы я вообще не отношу к ИИ: принципы мышления, соответственно методы реализации, кардинально различаются.
ИИ увидит нечто совершенно другое
Чем обосновано это утверждение? ИИ увидит то, чему обучат. Даже в вашей статье — сказал, что щука — это рыба и чат-бот запомнил. Если ИИ учить, что эта совокупность точек — мяч, а он "увидел", что это облако — это всего лишь сбой.
принципы мышления, соответственно методы реализации, кардинально различаются.
А это? Насколько я понимаю принципы мышления, они не так уж сильно отличаются от того, что сейчас делают в нейросетях. Если у вас есть надёжные ссылки с разбором настоящих принципов мышления, можете дать?
Го — слишком специальная задача для мышления: наш мир сложней.
Вы правы, мир движется поступательно. Сначала решается более простая задача.
Читал, что какое-то первобытное племя не видит самолетов в небе – просто не видит, и все. Еще читал, что индейцы не замечали подошедших к берегам кораблей Колумба, потому что… просто не замечали. А заметили после того, как им объяснили, как надо смотреть – то есть каким образом увязывать цветные пиксели в конкретные предметы. Я этим псевдогеографическим байкам верю: такие зрительные парадоксы представляются мне правдоподобными.
Увидит — это не о чат-боте, конечно, а о полноценном ИИ, обладающем всеми доступными человеку органами чувств.
Насколько я понимаю принципы мышления, они не так уж сильно отличаются от того, что сейчас делают в нейросетях. Если у вас есть надёжные ссылки с разбором настоящих принципов мышления, можете дать?
Насколько я понимаю (хотя понимаю я в этом совсем немного), принцип действия нейросетей кардинально противоположен тому, что я предлагаю. То, что мне известно о мышлении, я перечислил (в этих абзацах, кстати, основная эвристическая ценность данного поста): классы и каузальность. Человек мыслит именно таким способом. Если для определения классов и установления каузальных цепочек следует использовать нейронные сети, я совершенно не против. Только не понимаю, каким образом это возможно? И зачем, если подобное достижимо без всяких нейронных сетей?
Какую ссылку признать надежной, каждый решает сам. Я обрадуюсь, если кому-то понадобится ссылка на текущий пост.
То, что мне известно о мышлении, я перечислил [...]: классы и каузальность. Человек мыслит именно таким способом.
Кстати, а на чем основано утверждение об "именно таким способом"?
Если для определения классов и установления каузальных цепочек следует использовать нейронные сети, я совершенно не против. Только не понимаю, каким образом это возможно?
Задача классификации — классическая задача машинного обучения, и нейронными сетями (в том числе) она вполне решается. В частности, (обученная) нейронная сеть вполне способа по фразе "Жучка гавкала" сказать "Жучка — собака", а по набору данных "Жучка гавкает; Тузик гавкает; Жучка — собака; Тузик — собака" построить соответствие "собаки гавкают" (собственно, такое соответствие и будет основанием для решения выше).
Кстати, а на чем основано утверждение об «именно таким способом»?
На мышлении — только не чат-бота, а моем. Я проанализовал все, что мне известно о человеке в частности и мироустройстве в целом, и пришел к такому выводу. А Вы каким-то иным способом мыслите?
Задача классификации — классическая задача машинного обучения, и нейронными сетями (в том числе) она вполне решается.
В нейронных сетях я не спец, остается поверить на слово.
Я при решении данной проблемы обошелся заурядной реляционной базой. Вообще, я методолог, меня методы интересуют, а не инструментарий.
А Вы каким-то иным способом мыслите?
Я знаю, что мои представления о мышлении регулярно не совпадают с проявлениями мышления у других людей. Следовательно, мои представления о мышлении не универсальны.
Вы же на основании наблюдений за своим мышлением делаете громкое утверждение, что человек в общем мыслит именно так.
Я при решении данной проблемы обошелся заурядной реляционной базой.
Ну, обойтись-то можно чем угодно, вопрос в том, насколько это эффективно. Для задач классификации есть вполне себе известные метрики.
Вы же на основании наблюдений за своим мышлением делаете громкое утверждение, что человек в общем мыслит именно так.
С оговоркой: с моей точки зрения. Следовательно, я допускаю иные точки зрения, не совпадающие с моей.
Ну, обойтись-то можно чем угодно, вопрос в том, насколько это эффективно. Для задач классификации есть вполне себе известные метрики.
На том, что моя поделка максимальна эффективна, я не настаиваю. Наоборот, всячески подчеркиваю, что я любитель. Вопрос-то не в инструментарии, а в принципах. Если Вы с изложенными мной принципами человеческого мышления не согласны, я с удовольствием выслушаю альтернативную точку зрения. Если Вы для реализации ИИ, на моих ли или иных принципах, предлагаете использовать нейронные сети, никаких возражений. Хотя, конечно, у меня складывается впечатление, что для Вас принципиально задействовать нейронные сети. Не стану спорить — наверное, Вы специалист в данном вопросе.
Кстати, подробнее про нюансы «старой технологии», рекомендую статьи про Cyc, они в своё время ушли дальше всего.
Мышление – процесс генерирования новой информации, непосредственно не получаемой от собеседника.
Исходя из этого определения, любой вычислительный процесс есть мышление. Это точно правильное определение?
Ну смотрите, вот нам на вход подали пятнадцать чисел, мы вернули их среднее и описывающее их распределение. Это новая информация, она ниоткуда не "считана".
Мышление?
При выполнении прочих условий — да.
Каких именно?
Генерирует — означает, что информация новая: не считываемая откуда-то. При этом то, что генерируется, должно признаваться информацией: собеседник должен воспринимать ее в качестве таковой. При условии что процесс происходит в объекте, признаваемом за мыслящий, для чего требуется соблюдение, помимо мышления, некоторых других условий (обратная связь, рефлексия).
Можно и подробней.
Есть 15 чисел. Высчитываем среднюю. Необходимые условия мышления:
1. Обратная связь: ставим среднюю в ряд к предыдущим 15-ти.
2. Рефлексия: устройство различает числа, услышанные от собеседника и сгенерированные самостоятельно, также историю их создания (от каких родителей сгенерировано). Соответственно, появляется возможность анализа собственных мыслей и услышанного.
3. Мышление: собственно процесс генерирования средней.
4. Имеется собеседник, для которого числа — нечто значащее.
5. Ведется общение, то есть некоторые числа поступают от собеседника, а некоторые возвращаются к собеседнику в виде ответных реплик.
Да, это и есть мыслящее существо. Только, пожалуйста, не путайте сложность системы с принципиальной схемой.
Ну назвал же…
Там нет ничего конкретного, к сожалению. В моем примере
- информация ниоткуда не считывается (чек)
- признается собеседником за информацию (чек)
А вот признание объекта за мыслящий — это же субъективная оценка, как на нее можно опираться? Хуже того, это же получается рекурсивное определение: чтобы объект признавался мыслящим, он должен мыслить, но чтобы понять, что такое мышление, оно должно происходить в мыслящем объекте.
Необходимые условия мышления:
Таким образом, строго детерминированная программа вычисления среднего, адаптированная под чат-бот, является мыслящим существом. По вашему определению.
Тогда у меня есть вопрос: почему вы утверждаете, что "многие [...] собратья [Вани Разумного], в первую очередь созданные на основе нейронных сетей, [...] только притворяются разумными, но по факту являются ими не более чем пластмассовые куклы"? На основании какого формального критерия вы проводите это различение?
Мне казалось, что нейронные сети требуют обучения на основе объемных баз, тем самым обученный субъект реагирует «как полагается в общем случае», а не на основе понятных алгоритмов. Если Вы правы относительно применимости нейронных сетей к классификации, тогда неправ я.
С рекурсией Вы меня неплохо поддели! Переформулирую: устройство должно использоваться для двухстороннего обмена информацией.
Выписка чека не является мышлением, так как отсутствуют другие условия, в частности рефлексия.
А откуда внезапно взялась выписка чека? Я даже не понимаю, о каком именно процессе вы говорите.
Мне казалось, что нейронные сети требуют обучения на основе объемных баз, тем самым обученный субъект реагирует «как полагается в общем случае», а не на основе понятных алгоритмов.
И что? Человек тоже реагирует на задачу классификации далеко не всегда на основе понятных алгоритмов.
Если Вы правы относительно применимости нейронных сетей к классификации,
Относительно чего конкретно? Нейронные сети — и не они одни, есть и более простые алгоритмы — решают задачи классификации достаточно уверенно, это такая современная данность.
Переформулирую: устройство должно использоваться для двухстороннего обмена информацией.
То есть человек, который решает задачу в уме, не мыслит, потому что двустороннего обмена информацией не происходит. Так?
Человек тоже реагирует на задачу классификации далеко не всегда на основе понятных алгоритмов.
Но чтобы написать ИИ, нужно данные алгоритмы хорошо понимать, разве нет? В противном случае ничего написать невозможно, можно вот именно что «обучать».
То есть человек, который решает задачу в уме, не мыслит, потому что двустороннего обмена информацией не происходит. Так?
Человек мыслит, потому что в принципе способен к двухстороннему обмену информацией и мыслит по большей части для этого.
Но чтобы написать ИИ, нужно данные алгоритмы хорошо понимать, разве нет?
Какие "данные"? Которыми человек пользуется? Нет, не обязательно.
В противном случае ничего написать невозможно, можно вот именно что «обучать».
Ну так одни люди именно что "обучают" других, далеко не всегда понимая, что там в обучаемой голове происходит. И ничего, как-то не мешает развитию.
Человек мыслит, потому что в принципе способен к двухстороннему обмену информацией и мыслит по большей части для этого.
И тем не менее, в конкретный момент времени, когда человек мыслит, не совершая обмена информацией, а потом результат этого мышления претворяет в действия (например, идет в магазин за продуктами) — это, получается, не мышление? По вашему определению.
Какие «данные»? Которыми человек пользуется? Нет, не обязательно.
Нет, не которыми человек пользуется, а которые Вы собираетесь вложить в ИИ. Они, извините, обязательны.
Ну так одни люди именно что «обучают» других, далеко не всегда понимая, что там в обучаемой голове происходит. И ничего, как-то не мешает развитию.
Вы действительно не видите разницы между обучением кого бы то ни было и его созданием? Обучение — это показать что и как. Создание — это собрать из деталек. Немножко разные задачи, не находите?
потом результат этого мышления претворяет в действия (например, идет в магазин за продуктами) — это, получается, не мышление?
Ну расширьте определение, если не устраивает. Пусть будет: для двухстороннего обмена и действий в реальном мире.
Нет, не которыми человек пользуется, а которые Вы собираетесь вложить в ИИ. Они, извините, обязательны.
Ну так люди, которые пишут те или иные алгоритмы машинного обучения, знают, как эти алгоритмы работают. Нейронных сетей это тоже касается.
Вы действительно не видите разницы между обучением кого бы то ни было и его созданием?
Вижу. Для задач машинного обучения как раз и характерно это разделение: сначала мы создаем модель, а потом ее обучаем (в противовес обычным детерминированным алгоритмам, которые обычно не обучаются). И вот для обучения совершенно не обязательно понимать, как именно оно происходит, до тех пор пока результат нас устраивает.
Ну расширьте определение, если не устраивает. Пусть будет: для двухстороннего обмена и действий в реальном мире.
А, этот пункт тогда будет применим к любому алгоритму вообще и, как следствие, незначимым для определения мышления.
Что снова возвращает нас к вопросу, по какому критерию вы разделяете "мыслящие" и "немыслящие" реализации ИИ.
Ну так люди, которые пишут те или иные алгоритмы машинного обучения, знают, как эти алгоритмы работают. Нейронных сетей это тоже касается.
Алгоритмы обучения или создания? Я привык думать, что нейронная сеть — черный ящик.
вот для обучения совершенно не обязательно понимать, как именно оно происходит, до тех пор пока результат нас устраивает.
Прежде чем обучать, необходимо же создать! Вы все время создание подменяете обучением.
Что снова возвращает нас к вопросу, по какому критерию вы разделяете «мыслящие» и «немыслящие» реализации ИИ.
Если устройство осуществляет выбор из имеющихся вариантов, оно немыслящее; если генерирует новую информацию — мыслящее.
Вы все за нейронные сети ратуете. Ну, если они способны генерировать новую информацию по настраиваемым алгоритмам, а не методами теории вероятности, мои извинения, Вам лично и нейронным сетям.
Алгоритмы обучения или создания?
И те, и другие.
Я привык думать, что нейронная сеть — черный ящик.
Это представление приблизительно настолько же верно, насколько верно утверждение "программа — черный ящик".
Прежде чем обучать, необходимо же создать! Вы все время создание подменяете обучением.
Не подменяю. Я просто говорю, что это разные моменты, требующие разных навыков.
Если устройство осуществляет выбор из имеющихся вариантов, оно немыслящее
То есть музыковед, относящий по результатам анализа то или иное произведение к той или иной музыкальной форме — не мыслит?
Вы все за нейронные сети ратуете.
Я? Нет.
Ну, если они способны генерировать новую информацию по настраиваемым алгоритмам, а не методами теории вероятности
Подождите-подождите, а почему вдруг алгоритм стал критерием мышления? Вроде бы только что критерием было то, получаем мы "новую" информацию или нет.
То есть музыковед, относящий по результатам анализа то или иное произведение к той или иной музыкальной форме — не мыслит?
Если музыковед, обнаружив новаторское произведение, не в состоянии дать определение новой музыкальной форме, он дубина, а не мыслящее существо.
почему вдруг алгоритм стал критерием мышления? Вроде бы только что критерием было то, получаем мы «новую» информацию или нет.
Возможно, я неточно выразился. Критерием является новая информация, конечно.
Если музыковед, обнаружив новаторское произведение, не в состоянии дать определение новой музыкальной форме
Во-первых, вы ушли от ответа на мой вопрос. Давайте, все же, к нему вернемся: человек, осуществляющий классификацию в существующие классы — мыслит, или нет?
Ну и на всякий случай:
Если музыковед, обнаружив новаторское произведение, не в состоянии дать определение новой музыкальной форме, он дубина, а не мыслящее существо.
Вы, видимо, не очень разбираетесь в музыковедении, иначе бы не делали таких утверждений. Если музыковед имеет дело с новаторским произведением, единственное, что он может сделать — это описать те уникальные признаки, которые в этом произведении есть, однако дать определения новой форме он не может, потому что форма еще не кристаллизовалась.
Более того, способность музыковеда дать или не дать такое определение зависит не от того, является ли он мыслящим существом (потому что все музыковеды являются мыслящими существами, вне зависимости от того, что вы об этом думаете), а от его навыков и таланта.
Критерием является новая информация, конечно.
Так все же, классификация в известные категории — это новая информация или нет?
Однако Ваш пример притянут за уши. «Если музыковед сидит на диване, он мыслящее существо или нет?». Мыслящее, только его текущее действие к мышлению не относится. Точно так же, когда музыковед классифицирует произведения: если при этом генерируется новая информация, он мыслит; в противном случае не мыслит. При этом музыковед — мыслящее существо.
Ну так классификация произведения — это новая информация: до начала анализа у нас ее не было, а теперь она у нас есть. Но при этом это "выбор из имеющихся вариантов", потому что мы классифицируем в существующей системе понятий. А у вас это невозможное противопоставление.
Что опять возвращает нас к вопросу критериев "мышления" и "разумности".
В таком случае любой классификатор, вне зависимости от алгоритма и реализации, "мыслит".
(а у какого-нибудь SGD, как, впрочем, и любого другого алгоритма с частичным обучением, будет и "обратная связь", и "рефлексия")
… что возвращает нас к вопросу критериев "разумности".
www.abbreviationfinder.org/ru/acronyms/sgd.html
К тому же не вижу темы для спора. Если мы делаем ИИ «под человека», то изначально признаем, что человек — машина. В этом смысле нет никакой разумности вообще, есть обратная связь, рефлексия, мышление (или любые другие критерии, на выбор). Подгоните под них стиральную машину — она тоже разумной окажется.
У него есть рефлексия? Сомневаюсь.
Давайте начнем с определения рефлексии.
К тому же не вижу темы для спора
Ну то есть вы снимаете все свои утверждения, что ваш "Ваня разумный" — разумен, а остальные алгоритмы машинного обучения — нет?
изначально признаем, что человек — машина. В этом смысле нет никакой разумности вообще
Это в вашей системе определений, возможно, но не в моей.
Это в вашей системе определений, возможно, но не в моей.
Вы же мою систему обсуждаете, а свою не излагаете. Простите, но я с Вашей системой не знаком, поэтому ссылаться на нее в аргументированном споре некорректно.
Рефлексия в моем понимании — это восприятие себя отдельно от внешнего мира. Для чат-бота рефлексия — это восприятие отдельно своих фраз от фраз собеседника, что дает возможность раздельно анализировать поведение собеседника и свое поведение. Как возможна рефлексия, см. в статье, схемки приложены.
Если нейронные сети действительно берут пример с собачками, беру свои слова назад.
Нейронные сети "берут" существенно более сложные вещи, чем пример с собачками (ну вон хотя бы на ImageNet посмотрите). Собственно, для "примера с собачками" нейронная сеть избыточна, там достаточно любого линейного классификатора (ну и текстового препроцессора).
Рефлексия в моем понимании — это восприятие себя отдельно от внешнего мира. Для чат-бота рефлексия — это восприятие отдельно своих фраз от фраз собеседника, что дает возможность раздельно анализировать поведение собеседника и свое поведение.
У чистого SGD такого разделения нет, однако у тривиального построенного поверх него чат-бота — тривиально же есть, потому что это всего лишь битовый признак (или раздельные хранилища, не суть). У меня тут в соседнем окне поиск-по-близости с обратной связью, так вот в нем как раз такая рефлексия есть, потому что он (поиск) разделяет сделанную им рекомендацию (это его "фраза") и выбор пользователя (это "фраза" собеседника). Собственно, он, этот поиск, удовлетворяет вообще всем вашим критериям мышления.
Теперь осталось, собственно, разобраться с этой фразой:
Несмотря ни на что, Ваня действительно мыслит, в отличие от многих своих собратьев, в первую очередь созданных на основе нейронных сетей, которые только притворяются разумными, но по факту являются ими не более чем пластмассовые куклы.
О каких именно "собратьях" идет речь, и по каким формальным критериям "Ваня" — разумен, а "собратья" — нет?
Нейронные сети способны обучаться без примеров?
В общем случае — да. Впрочем, чаще (по моим наблюдениям) люди под "обучением" понимают другое, и в этом смысле ни нейронные сети, ни что-либо другое без примеров обучаться не может.
Для их обучения нужна база
Для обучения с учителем — да.
чем больше, тем лучше
Не всегда так, но часто. Опять-таки, мы говорим об обучении с учителем.
Если да, тогда это обучение по аналогии,
Не обязательно.
пример, отсутствующий в базе, нейронная сеть не возьмет.
Что такое "пример, отсутствующий в базе"? Возьмем задачу классификации, где пример — это набор характеристик и целевой класс. Если речь идет о том, что вы даете обученному алгоритму характеристики от объекта, принадлежащего классу, которого не было в обучающей выборке, то да, известные мне алгоритмы не смогут сделать такую классификацию, но на это не способен и человек (без изменения задачи) — лучшее, что здесь возможно, это сказать, что этот объект не принадлежит ни к одному из известных классов.
Если нет, тогда чем нейронная сеть отличается от «обыкновенных» алгоритмов?
Что такое "обыкновенные" алгоритмы?
Давайте на примере. Возьмем, опять, задачу классификации, те же ирисы Фишера. Существующие данные — это, если в терминах вашего чатбота "ирис с длиной лепестка 1.4, шириной лепестка 0.2, длиной чашелистика 5.1 и шириной чашелистика — это щетинистый ирис", "4.7, 1.4, 6.1 и 2.9, соответственно — это разноцветный ирис", и так 150 раз. Задача — имея четыре цифры, сказать, к какому из трех классов относится ирис.
Как, по-вашему, такую задачу решают "обыкновенные" алгоритмы, о которых вы пишете? И как, кстати, ее решает ваш "разумный" Ваня?
После того, как мы это поймем, можно будет обсуждать, чем отличается решение этой же задачи с помощью нейронной сети или другого алгоритма машинного обучения.
Во-первых, ему нужно объяснить, что «разноцветный ирис» — это идиома, а не просто существительное с определением.
Во-вторых, нужно объяснить, что разноцветный ирис относится к классу ирисов (хотя тут можно и догадаться, по существительному).
В-третьих, о разноцветном ирисе можно высказать разные соображения, но они будут относиться только к разноцветному ирису. А вот если соображения высказать просто об ирисе, они будут отнесены к ирисам всех видов.
Если же, на что Вы намекаете, какие-либо свойства соотнести с конкретным ирисом, сразу вспомнится пример с определением человека и ощипанной курицей. Платон пошутил, не помню уже?
Окей, вот допустим мы сделали все, что вы описали. После этого Ваня способен решить задачу классификации ирисов Фишера, или нужно что-то еще сделать?
И да, я в первую очередь спрашивал про "обыкновенные" алгоритмы, с ними как?
(я уж молчу про то, что вы так и не ответили, что такое "пример, отсутствующий в базе")
Под «обыкновенными» алгоритмами я разумею НЕ нейронные сети, со всеми ифами, лИстами и прочими прелестями.
Пример, отсутствующий в базе? Ну допустим, вводятся слова, отсутствующие в базе, та же «глокая куздра». Нейронная сеть способна трактовать данную фразу так, как будет трактовать человек? Моему Ване Разумному, при условии что парсер выдаст верную морфологию, до лампочки, что данные слова означают: он легко встроит их в общий контекст. А нейронная сеть? Ответа я не знаю, кстати.
Обтыкать Ваню датчиками, имитирующими человеческое восприятие, тогда можно говорить о дальнейшем.
… а зачем? Какое отношение эти датчики имеют к задаче Фишера, если ни один орган восприятия не является для нее необходимым?
Под «обыкновенными» алгоритмами я разумею НЕ нейронные сети, со всеми ифами, лИстами и прочими прелестями.
Ну вот и расскажите мне, как эти "ифы и листы" будут решать описанную выше задачу классификации — и я вам отвечу, чем ее, задачи, решение с помощью нейронной сети отличается.
Ну допустим, вводятся слова, отсутствующие в базе, та же «глокая куздра». Нейронная сеть способна трактовать данную фразу так, как будет трактовать человек?
При решении какой задачи?
Скажем, при решении задачи классификации ирисов Фишера и нейронные сети, и более простые алгоритмы прекрасно справляются с примерами, которых в обучающей выборке не было.
Чего далеко ходить, берем простейшую логистическую регрессию, one-vs-rest, берем из датасета Фишера 112 примеров, обучаем на них. Берем случайный пример из остальных 38 (5.7, 2.5, 5, 2), удостоверяемся, что его нет в обучающей выборке (в датасете 147 уникальных примеров из 150 всего), загоняем в логит, получаем ответ — виргинский ирис.
Подозреваю, что синтаксический анализатор, морфологический анализатор и набор примеров.
(точнее говоря, два анализатора нужны для того, чтобы составить набор примеров, самой сети они нафиг не сдались)
Вы, кстати, знаете, что на этот вопрос нет единственно верного ответа, да?
А какое именно обучение должно произойти с нейронной сетью, чтобы в ответ на «Емеля был третьим сыном старика. Его младший брат умер. Сколько сыновей осталось у старика?» получить корректный ответ? Что-нибудь вроде «Теленок был третьим ребенком коровы, двое первых умерло, остался один теленок»?
Без идей. Но я, с другой стороны, никогда не утверждал, что нейронная сеть мыслит и/или разумна.
Нет, вы утверждаете, что Ваня разумный "действительно мыслит, в отличие от многих своих собратьев, в первую очередь созданных на основе нейронных сетей, которые только притворяются разумными, но по факту являются ими не более чем пластмассовые куклы".
Аргументировать это утверждение вы, однако, никак не можете.
(а утверждение "человек не мыслит" выводит эту дискуссию, вместе с вашим постом, в область откровенного троллинга, и я бы не рекомендовал так делать)
2. И по поводу человека говорил. Сама идея создания ИИ наподобие человеческого возможна лишь в том случае, если человек кем-то создан, и создан наподобие машины. В этом смысле термин «мышление» — не прерогатива человека: человек — единица в ряду мыслящих устройств. Если мышление уникально, создать ИИ невозможно в принципе.
Если мне кто-то из хабровчан подтвердит, что нейронная сеть способна по фразам «Жучка собака. Собаки лают» определить, что Жучка умеет лаять, я возьму свои слова относительно нейронных сетей обратно.
То есть внезапно определяющим критерием мышления является построение выводов по таким фразам (и, заметим, именно таким, но не более сложным)?
Сама идея создания ИИ наподобие человеческого
А откуда внезапно взялось "наподобие человеческого"?
Если мышление уникально, создать ИИ невозможно в принципе.
Это, очевидно, не так, потому что уникальные явления поддаются анализу и воссозданию.
и, заметим, именно таким, но не более сложным
Я взял простейший случай. Хотя бы таким…
А откуда внезапно взялось «наподобие человеческого»?
Разве это не общее поветрие? Да и Вы к тому меня склоняете вроде бы.
уникальные явления поддаются анализу и воссозданию
Анализу все поддается, а вот воссозданию — навряд ли, иначе предмет перестанет быть уникальным. Создавая ИИ, мы тем самым признаем, что человеческое мышление не уникально.
Я взял простейший случай. Хотя бы таким…
Тут немедленно возникает вопрос "а может ли более сложные случаи Ваня".
Так все-таки, критерием мышления является именно способность корректно обрабатывать такие фразы, не что-то другое?
Разве это не общее поветрие?
Нет. Все люди, которые что-нибудь мне рассказывали или обсуждали со мной про машинное обучение (и, by extension, про искусственный интеллект), ничего не говорили про "наподобие человеческого". Человек там вообще возникает только как тоска отсчета для метрик качества.
Да и Вы к тому меня склоняете вроде бы.
Я? Нет.
Анализу все поддается, а вот воссозданию — навряд ли, иначе предмет перестанет быть уникальным.
Ну да, перестанет. И что?
Создавая ИИ, мы тем самым признаем, что человеческое мышление не уникально.
Нет, мы признаем, что оно перестало быть уникальным (да и то, только в том случае, если мы создаем человекоподобный ИИ, что не является общим случаем).
критерием мышления является именно способность корректно обрабатывать такие фразы, не что-то другое?
Я приводил свое определение мышления. Ну хорошо, мое Вас не устраивает. Приведите свое определение, пожалуйста.
ничего не говорили про «наподобие человеческого».
А со мной говорили.
Человек там вообще возникает только как тоска отсчета для метрик качества.
Оговорка по Фрейду?
Жду от Вас оригинальной версии мышления.
Я приводил свое определение мышления.
Вот как раз по вашему определению, как мы уже выяснили любая система машинного обучения с обратной связью — мыслящая. Что противоречит написанному вами же в посте.
А со мной говорили.
На "общее место", однако же, уже не тянет.
По поводу общего места не понял.
Любая система с обратной связью при соблюдении прочих условий.
Которые, как там же описано, выполняются.
По поводу общего места не понял.
Вы говорили, что "человекоподобные ИИ" — общее поветрие. Как можно видеть — нет, не общее.
Которые, как там же описано, выполняются.
Значит, эти системы с обратной связью — мыслящие.
Как можно видеть — нет, не общее.
Где можно видеть? Я нигде не вижу. Это Ваше ничем не подкрепленное утверждение. Почему я должен ему верить, если у меня другие данные?
Слушайте, чего Вы добиваетесь? Желаете поймать меня на неверном определении? Дайте свое, я Вам уже предлагал, но ответа не получил.
Предлагаю на этом дискуссию завершить, она начинает ходить по кругу и становится бессмысленной.
Значит, эти системы с обратной связью — мыслящие.
Значит, утверждение в посте — неверно вне зависимости от способности нейронных сетей корректно обрабатывать последовательность фраз "Жучка собака. Собаки лают."
Почему я должен ему верить, если у меня другие данные?
А почему мы должны верить любому вашему утверждению?
Слушайте, чего Вы добиваетесь?
Чтобы вы перестали делать некорректные утверждения в области, в которой вы — по вашеим же заверениям! — не разбираетесь.
А почему мы должны верить любому вашему утверждению?
Кто Вас просить верить-то? Да не верьте на здоровье.
Чтобы вы перестали делать некорректные утверждения в области, в которой вы — по вашеим же заверениям! — не разбираетесь.
В каких-то не разбираюсь, а в каких-то очень даже разбираюсь. Про этот термин что-нибудь слышали?
ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5
В каких-то не разбираюсь, а в каких-то очень даже разбираюсь.
Нас интересуют конкретные: машинное обучение, искусственный интеллект, лингвистика. М?
Про этот термин что-нибудь слышали?
Слышал. Однако ряд утверждений в вашей статье не выражен как мнения. Если же вы призываете ко всей статье относиться как ко мнению дилетанта… ну ок, да.
А Вы, уважаемый? В каких областях Вы крутой специалист, а в каких дилетант? Машинное обучение, ИИ, лингвистика…
Дилетантом в этих областях меня назвать вряд ли возможно.
Возможно-возможно. "Смежная область" — это как раз прекрасная почва для дилетантизма.
В каких областях Вы крутой специалист, а в каких дилетант? Машинное обучение, ИИ, лингвистика…
В лингвистике — дилетант. В области машинного обучения (ну и по совместительству — искусственного интелекта, так было в анонсе написано) я сейчас работаю.
Не был.
(а вы, я смотрю, с определением дилетантизма тоже не очень знакомы)
Да нет, просто пошел учиться.
Нет, для меня дилетантизм — это то, что описано в соответствующей статье в википедии.
Показательно, что Вы критикуете не достигнутый мной результат, а напрямую не связанное с ним второстепенное высказывание. Из этого я делаю вывод, что Вас совсем не интересуют принципы ИИ, хотя Вы в данной области трудитесь, зато очень интересует толерантность заявлений относительно нейронных сетей. Какие цели Вы при этом преследуете, не знаю, Вам видней.
На этом дискуссию прекращаю. До следующей моей статьи, видимо…
Показательно, что Вы критикуете не достигнутый мной результат, а напрямую не связанное с ним второстепенное высказывание.
Во-первых, если бы это высказывание было второстепенным, вы бы его уже давно поправили. Во-вторых, если бы оно было не было напрямую связано с результатом, вы бы не приводили результат как объяснение "почему" вашего высказывания.
А в-третьих, про результат мы тоже попробовали поговорить, и выяснилось, что (а) метрик у вас нет и (б) чтобы решить предложенные мной задачи, нужно массив органов чувств, подобный человеческим.
Не, мне не сложно, давайте попробуем еще раз. Вот есть простенькая задачка:
— Ваня, на улице жарко?
— Не знаю.
— Какая температура на улице? [заметим, что для ответа на этот вопрос не нужно органов чувств, это типовой пример из любого современного conversational assistant, поэтому я даже не спрашиваю, можно ли это сделать — очевидно, что можно]
— +23
— +23 — это жарко [пойдем по простому варианту, без омиссий и контекстных знаний]
— Запомнил
[Следующий день, за окном +23]
— Ваня, жарко ли на улице?
Каков будет ответ и почему? (я сразу оговорюсь, что это не конец сценария, но надо начинать с простых шагов)
я делаю вывод, что Вас совсем не интересуют принципы ИИ
Неправильный вывод. Именно потому, что меня интересуют принципы машинного обучения, у меня вызывают вопросы и непонимания утверждения, которые ставят одни принципы сильно выше других.
… кстати, вот и прекрасный ответ на ваш вопрос "зачем [использовать нейронные сети], если подобное достижимо без всяких нейронных сетей?" — затем, что с помощью "обычного машинного обучения" задача классификации ирисов Фишера решается без необходимости объяснять таксономию ирисов, вводить понятие идиомы (которой, кстати, "разноцветный ирис" не является) и обвешивать кучей датчиков, имитирующих человеческое восприятие.
И я не представляю, как без таксономии решить проблему с ирисами. Этак ваша нейронная сеть начнет толковать фразу «Усталый Вася надел тапочки» как: Все усталые люди надевают тапочки, или: Признаком усталости являются надетые тапочки.
Не, разноцветный ирис — это идиома, такая же как индийский слон.
И я не представляю, как без таксономии решить проблему с ирисами.
Я выше показывал, как. Или вам код нужен?
Этак ваша нейронная сеть начнет толковать фразу «Усталый Вася надел тапочки» как: Все усталые люди надевают тапочки, или: Признаком усталости являются надетые тапочки.
Нет, почему бы?
Не, разноцветный ирис — это идиома, такая же как индийский слон.
Я боюсь, что ваше понятие идиомы отличается от общепринятого.
Нет, почему бы?
Потому что усталый Вася — это субъект с определением. Вася запросто может стать не усталым, а индийский слон не станет африканским даже в том случае, если его поселить в Африке. Поэтому индийский слон — неделимый оборот, то есть идиома. Хотя лингвисты, возможно, и пользуются другим термином, не знаю.
Да, отличается.
Ну вот опять. Понятие мышления у вас отличается, понятие идиомы — тоже. И зачем только люди придумывают терминологические системы?
Потому что усталый Вася — это субъект с определением.
Вот только это не ответ на вопрос "почему нейронная сеть начнет именно так толковать фразу".
И зачем только люди придумывают терминологические системы?
Для удобства, наверное. Если кому-то терминологическая система становится узка в плечах, он берет другую.
Вот только это не ответ на вопрос «почему нейронная сеть начнет именно так толковать фразу».
Я не специалист по нейронным сетям. Это вам отвечать, каким образом нейронная сеть начнет толковать «эту фразу».
Для удобства, наверное.
Нет, чтобы можно было обсуждать что-то, используя одинаковую (и непротиворечивую) терминологию.
Я не специалист по нейронным сетям
Тогда и не делайте утверждений "ваша нейронная сеть начнет толковать фразу". Вы не специалист, вы не знаете.
Нет, чтобы можно было обсуждать что-то, используя одинаковую (и непротиворечивую) терминологию.
Одинаковая не значит непротиворечивая и полная. Если обнаруживаются противоречия или терминологию становится неудобно использовать из-за неполноты, исследователь применяет свою, оговаривая новые значения, естественно.
Тогда и не делайте утверждений «ваша нейронная сеть начнет толковать фразу».
Вы меня сами вынуждаете к подобным заявлениям. Скажите, как — я во всяком случае прислушаюсь к Вашему мнению.
Если обнаруживаются противоречия или терминологию становится неудобно использовать из-за неполноты,
Вы нашли противоречия или неполноту в лингвистическом понятийном аппарате?
Вы меня сами вынуждаете к подобным заявлениям.
Нет, не вынуждаю. Вы их делаете исключительно по собственной воле для доказательства своей — и, как уже выяснилось, неправильной — точки зрения.
Скажите, как
Так, как будет обучена.
Несмотря ни на что, Ваня действительно мыслит,
Какое именно обучение должно произойти с "Ваней мыслящим", чтобы в ответ на "Емеля был третьим сыном старика. Его младший брат умер. Сколько сыновей осталось у старика?" получить корректный ответ?
Если человек не в силах корректно сформулировать вопрос, можно ли требовать корректного ответа от чат-бота?
Корректный ответ в Вашем примере невозможен в принципе
Да здрасьте. Легко и непринужденно: "не меньше одного, если Емеля все еще жив".
Но в данном конкретном случае можно дать и полную информацию, это не отменит моего вопроса.
Получается, ваш "ИИ" не умеет понимать смысл, только синтаксис. Такое вот "мышление".
Люди не видят предметов, а наблюдают панораму цветных точек – по сути, хаотичную. Предметы образуются не во внешнем мире, а в человеческом мозгу, за счет увязывания цветных точек воедино, в отдельные совокупности. Это означает, что мы существуем в некоем иллюзорном мире, который в известном смысле нами же и сконструирован.
Именно так, об этом текущий пост.
… но при этом вы утверждаете, что ваш "Ваня Разумный" мыслит, хотя я вот считаю, что мышление без понимания смысла невозможно (а синтаксис понимает и компилятор).
либо главная мысль Вам глубоко несимпатична.
Эта мысль, очевидно, недоказуема (равно как и неопровергаема), поэтому неинтересна в аргументированной дискуссии.
мышление без понимания смысла невозможно
Еще как возможно! Потому что мышление — это не объекты (дерево, дом, человек), а связи между элементарными и ничего не значащими элементами (цветными точками). Для чат-бота элементарный объект — буква. Очевидно, что сама буква не обладает никаким смыслом сама по себе, смысл возникает для связки из нескольких букв, образующих слово. Которое в свою очередь тоже мало что означает, а обретает смысл лишь в связке с другими словами, обладающими определенными морфологическими признаками.
Эта мысль, очевидно, недоказуема (равно как и неопровергаема), поэтому неинтересна в аргументированной дискуссии.
Я не смогу ее доказать, но ведь Вам-то известно, как оно обстоит на самом деле!
Потому что мышление — это не объекты (дерево, дом, человек), а связи между элементарными и ничего не значащими элементами (цветными точками).
Не всякая связь является мышлением; те же, которые мышлением являются, как раз и являются "смыслом".
Вам-то известно, как оно обстоит на самом деле!
Нет, мне известно, как оно обстоит в принятой мной картине мира, и, что характерно, это не так, как вы описываете.
Только нужно помнить, что логики абстрактного мышления бывают разные: аристотелева, женская, темпоральная.
У автора в логике константы и три отношения: classOf («класс-подкласс»), instanceOf («класс-объект») и causeOf (причина-следствие).
Его система вполне рабочая, но весьма ограниченная. При попытке существенно расширить её (добавив темпоральность, вероятность или оба понятия) возникнут серьёзные вычислительные проблемы.
Но в таком виде, как демонстрация некоторых принципов интеллекта, она вполне годится. Кстати, напоминает детское мышление.
А если поглубже копнуть в теорию систем для логического вывода, то вопрос хорошо обсуждаются здесь:
www.lektorium.tv/course/22781
и, конечно же, если хочется популярно про отличия различных логических систем, то читать здесь:
wikimipt.org/wiki/%D0%97%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D0%B8_%D0%BE_%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%BE%D0%B9_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B5
А про существенное развитие системы для парсинга человеческого языка читать в PDF: «Тузов В.А. Компьютерная семантика русского языка» (и другие работы его авторства по этой теме).
Вы не видели чисел 1 и 2 (только их реализации, если вы не слепой, которые тоже умеют решать задачи на сложения), не знаете, что такое «х», вы не видели бесконечную прямую линию, но вы способны запомнить, что 1+1=2 и sqrt(x^2) == abs(x), и что если на линии поставить точку, то бесконечные половинки будут называться «луч», и что тесть троюродного брата — скорее всего вам не родственник, даже если у вас нет брата и тестя.
Подождите, но при чем тут "без понимания смысла"? Я понимаю смысл всего описанного выше.
"Число, обозначающее единственный предмет; a unit". Ну и дальше набор характеристик.
Это действие называется «интерпретация»: словам из текста мы приписываем их свойства в реальном мире (или их свойства по меркам другого человека). Теперь представьте, что эту часть вы не делаете, реального мира у вас нет, и другого человека тоже нет. Вы можете вывести чисто формально, что платон — человек (Силлогизмы)
Будет ли «расчёт силлогизма» мышлением на ваш взгляд, в тот момент, когда вы не будете рассматривать объекты силлогизма в реальном мире?
(Можете рассмотреть альтернативный пример с любым другим чисто формально-синтаксическим действием, например, раскрывание скобок в любом алгебраическом выражении или взятие производной)
Вы только что определили одно понятие через несколько других. Именно это означает для вас «понимаю смысл»?
Йеп. И так пока не дойдем до неопределимого базового понятия.
Может, в понимании смысла есть что-то ещё? Например, представление об успешности синтаксического парсинга данного предложения?
Это не "что-то еще", это "что-то меньшее".
Будет ли «расчёт силлогизма» мышлением на ваш взгляд
Нет. "Расчет силлогизма" ничем не отличается от "логического и" в программе, но никто не говорит, что программа мыслит.
Можете рассмотреть альтернативный пример с любым другим чисто формально-синтаксическим действием, например, раскрывание скобок в любом алгебраическом выражении или взятие производной
Да-да, именно поэтому и не будет.
Оу, а если я так сказал, то я «никто»?
Смотрите, возьмём даже википедию: «Мышле́ние — это познавательная деятельность (человека)… Результатом мышления является мысль (понятие, смысл, идея).»
Значит, если новое умозаключение появилось, значит, кто-то только что «помыслил», правильно? И этим «кто-то» был
Вот люди говорят «гугл нашёл». Но ведь гугл — не может «искать» по аналогичным причинам, он ведь компьютерная программа.
С очеловечиванием разобрались, теперь разберёмся с делимостью.
Я считаю, что каждая часть мышления — тоже мышление, а не только всё явление в совокупности. Вы можете со мной не соглашаться, конечно, ведь это плохо определённый людьми термин.
Оу, а если я так сказал, то я «никто»?
Нет, это я сделал некорректное обобщение.
И этим «кто-то» был компьютер.
Нет, не был. Потому что умозаключение делается умом, а не компьютером, такой вот сложный трюк.
Вы можете со мной не соглашаться, конечно, ведь это плохо определённый людьми термин.
Именно так. Тут (а так же в одном из соседних постов) уже был по этому поводу спор, и результат его все тот же: чем утверждать, что программа "мыслит", лучше говорить о конкретных характеристиках, которые она демонстрирует, это продуктивнее.
Совсем нет.
Во-первых, вы говорите ("умение правильным образом выстраивать правильно подобранные слова") о генеративной задаче — то есть выдать пользователю правильный ответ. Например: "что ты видишь на картинке". Задача синтаксиса в этом случае — дать ответ "я вижу двух котов", а не "кот: 2". Но синтаксис никак не поможет выбрать между "я вижу кота" и "я вижу собаку".
А во-вторых, задача понимания — это другая сторона, предшествующая, когда надо понять (извините), что же говорится в предложении. И тут, аналогичным образом, синтаксис может различить объект, действие и субъект ("корова родила теленка": субъект — корова, действие — рожать, объект — теленок), но не способен различить сами объекты: для синтаксиса "корова родила теленка" и "рысь украла теленка" идентичны (ну, за разницей парадигмы слов "корова" и "рысь", но в соседнем языке не будет и этого).
«Емеля был третьим сыном старика.» наталкивает на мысль что Емеля тоже умер
Не обязательно. Действие происходит в прошлом, вопрос тоже может к нему относиться.
А корректный ответ «на одного меньше» что не дает никакой полезной информации.
Ну, требование про полезность информации пока вообще особо не всплывало, мы только о корректности говорили.
Реальное мышление состоит из множества конкурентных процессов, каждый из которых состоит из множества конкурентных процессов.
И моделировать соответственно нужно не исходя из абстракций придуманных человеком. А исходя из первичных элементов.
И чем наше хваленое человеческое мышление отличается от заурядных машинных алгоритмов?! Ничем.
Ничем, потому что машинные алгоритмы, это продукт человеческого мышления, основанный на человеческих же абстракциях.
А вот «барабанный магазин» внезапно оказывается совершенно не тем магазином, в котором торгуют барабанами.
> Возьмем для примера диалог:
> — Петров, как здоровье?
> — Нормальное.
> — А у жены?
> — Тоже.
А сможет ли ИИ разобрать такой диалог:
— Рабинович, как здоровье?
— Не дождётесь!
а) по физиономии собеседника определит недовольство и агрессию,
б) соответственно установит, что «не дождетесь» является отрицанием в вызывающей форме,
в) запомнит и будет знать.
Если вернуться к примеру «Вася устал и надел тапочки», бот может поинтересоваться «вы устали? нет. (вы не вася, а петя) Вы не в тапочках? В тапочках. Почему? Я дома.» Таким образом, человек в тапочках получается или Вася, или устал или дома! По мере наработки базы, сила правильных связей будет расти, а ошибочные связи — отпадать. Я конечно представляю себе комбинаторный взрыв будет на тему, хранить к каждому понятию еще и веса ко всем другим понятиям (ну не ко всем, пусть к единожды использованным). А потому, чат-бот должен уметь забывать. То, к чему нет давно обращений и мало внутренних ссылок, может быть удалено и дефрагментировано (если это не снабжено неким префиксом, из серии «помни — человек царь природы!»).
Но сейчас планирую чисто по фану запилить морфологический анализатор и как-то его гонять через открытые источники общения людей. Но пока всё в планах…
Только вот с библиотеками и словарями беда. Когда начинал, убедился: использовал, что смог. Хотя вот, в комментариях подсказали, где искать…
После прочтения статьи, сложилось мнение, что автор утверждает, что для полноценного человеческого интеллекта алгоритмам на морфологическом разборе слов недостает только, остальных основных органов чувств: зрительных, слуховых про остальные упоминать не стоит. Так ли это?
То есть, если развить тему дальше, то получается, что язык/слова и тому подобное, являются второсортным методом освоения информации, а точнее только передатчиком. А эффект все же наблюдателя важнее. На подкорке возникает глубинный больше философский вопрос: может ли ИИ делать выводы, выдвигать гипотезы/теории, задумывать технологии и их подтверждать или опровергать, как предположим тот же Стивен Хокинг, Эйнштейн и т.п. Ведь они двигались в области далекой от созерцания процессов, но это им не мешало выдвигать гипотезы, которые в последствии получали подтверждения...
Ну и конечно под всем этим поднимается вопрос "воли". А зачем, мотивация, в чем смысл/направление алгоритму проводить собственные внутренние изыскания, суждения. Ведь все же человек пытается осмыслить, осознать, разуметь когда у него появляется в этом потребность, его что то неустраивает. Зачем что то искать и как это заложить ИИ. Ведь По сути программа и машина выдают тот результат, который в нее заложили… Сразу скажу, что вопрос по нейронным сетям еще не дома конца изучен, чтобы утверждать, что они самимм способны постигать за счет обучения.
Я как (бывший) лингвист как раз не сторонник следования нейронкам и др., но нельзя не признать, что есть ряд вещей, с которыми они справляются лучше.
Сейчас вы по сути переизобретаете синтаксический парсинг — штука полезная, на том же питоне, например, есть куча хороших инструментов под нее (см. мой последний пост), но боюсь, что на одном синтаксисе чат-бот далеко уехать не может в принципе
Не совсем понял, что вы имеете в виду под цифрами перфоманса. Статистические данные?
Синтаксис — это все, что есть у чат-бота, иного не может быть в принципе.
Это, очевидно, не так. У него еще есть (как минимум) предыдущий опыт.
Не совсем понял, что вы имеете в виду под цифрами перфоманса.
Эээ, вы это серьезно? Вы не знаете, что задачи машинного обучения не имеют смысла в отрыве от метрик качества (решения этой задачи)?
2) В вашей парадигме — кроме синтаксиса, действительно, ничего нет. Что не отменяет того, что у других чат-ботов бывают (векторные) семантические модели, онтологии, модели учета контекста и др. — иными словами, сущности семантического, а не синтаксического уровня.
3) И вот именно в связи с пунктом два цифры перформанса и приобретают особый интерес — действительно, пока никто не доказал, что ваш «синтаксический» подход хуже или лучше по качеству, чем любой другой.
Я подразумеваю под ними оценку качества работы бота. Например, на сколько вопросов он ответил верно, на сколько это лучше/хуже каких-то коробочных моделей (условной Алисы).
Поскольку, насколько я успел понять, Ваш бот «специализируется» в первую очередь на ответах на вопросы по тексту, можно было бы взять датасет и посмотреть качество работы на нем. Для русского, насколько мне известно, есть только один масштабный датасет на эту тему — см. задачу B отсюда.
Если бы вы прогнали своего бота по этим текстам и вопросам-ответам, то можно было бы понять, насколько ваше отрицание всего, что выше (и менее управляемо), чем синтаксис и морфология, сказывается на качестве работы модели.
Введение в систему онтологии я не рассматривал, так как это противоречит концепции.
Оценка качества работы? Так ведь это зависит от введенной информации, насколько понимаю. Для корректной проверки необходимо залить во все боты идентичные исходные данные.
Мой Ваня только-только родился. Меня на данном этапе больше заботит, чтобы он в исключения не вылетал, а не соревнование с Алисой. А то, что моя концепция работоспособна, я не то что верю, я доподлинно знаю. Довести Ваню до ума — вопрос чисто технический: времени и денег. Тут и начинаются сложности, для меня непосильные.
Совершенно верно! Именно поэтому я и говорю о публичном датасете (в этом, в общем-то и состоит бОльшая часть его миссии) — и даю на него ссылку.
> А то, что моя концепция работоспособна, я не то что верю, я доподлинно знаю.
Вера — это здорово, но в анализе данных я предпочитаю ей цифры. Я тоже верил в чисто синтаксическую историю, пока не проиграл 25% лидерам на упомянутом выше соревновании.
А пока цифр нет — позвольте всё же считать отсутствие чего-либо выше синтаксиса не плюсом, а предубеждением разработчика, снижающим качество работы бота ).
Какая ОС, софт и какую ошибку выдаёт?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream origin master:master
POST git-receive-pack (chunked)
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
Pushing to github.com/mikejum/Informatorium.git
Everything up-to-date
Вот тут похожая ошибка и советуют перейти с https на ssh
stackoverflow.com/questions/15240815/git-fatal-the-remote-end-hung-up-unexpectedly
Попробуй в терминале по инструкции на странице репозитория, используя ssh
Объединение классов слишком агрессивное. Дочитал до него и возникла идея уточняющих вопросов.
- Маша и Жучка гуляли. Жучка это собака.
- Маша тоже собака?
- Нет, Маша — девочка.
- Понятно.
Что касается примера, то некорректно говорить:
Маша и Жучка гуляли.
Правильно:
Маша гуляла с Жучкой.
В этом случае объединения субъектов в класс не произойдет.
Поэтому боюсь, что для чатов Ваш бот был бы нежизнеспособен. Впрочем, такой цели, кажется, и нет, но думаю, что и пресса допускает некоторый процент «некорректности» в своем стиле. Язык вообще достаточно многоообразен ;-)
Маша и Жучка гуляли.
Мы с вами предполагаем, что Маша — девочка. Но ведь Маша может оказаться собачкой, тогда отнесение Маши и Жучки к одному классу правомерно.
С точки зрения синтаксиса довольно однозначно:
Маша и Жучка гуляли — это субъекты одного класса.
Маша гуляла с Жучкой — это субъекты разных классов.
Маша гуляла с Жучкой — это субъекты разных классов.
Ха. "Маша гуляла с Олей". Субъекты разных классов, да?
Попробуйте перечитать главку о параллельных реальностях, Вы их все-таки не различаете.
Да, с точки зрения синтаксиса Маша, гулявшая с Олей, — субъекты разных классов.
Вот именно поэтому чистая синтаксическая модель нежизнеспособна.
Это синтаксис, а не физическая реальность, недоступная чат-боту по определению.
Для того, чтобы знать, что Маша и Оля принадлежат (или не принадлежат) к одному классу, не надо иметь доступ в физическую реальность, достаточно иметь информацию о классах объектов и признаках, присущих этим классам.
Вот именно поэтому чистая синтаксическая модель нежизнеспособна.
Не более нежизнеспособна, чем наше бытие. Вам заметно недостает философского опыта, иначе бы Вы поняли, что физический мир, в котором обитают люди, мало чем отличается от вербального мира чат-бота. Пенять существу, что он не способен воспринимать трансцендентный для него мир, не лучшее занятие.
достаточно иметь информацию о классах объектов и признаках, присущих этим классам.
Можно так, а можно иначе, например напрямую отнести субъект к классу.
Оля — это человек.
Пенять существу, что он не способен воспринимать трансцендентный для него мир, не лучшее занятие
Мне, если честно, все равно, какой мир он не воспринимает (и, кстати, это именно вы формулируете так, чтобы мир оказался для него трансцедентным, хотя эту информацию можно получить и другими способами), мне важно, что он не способен решить поставленной задачи. Ну и зачем тогда?
Можно так, а можно иначе, например напрямую отнести субъект к классу.
Это и есть "информация о классах объектов". Только вы замучаетесь каждый объект явно относить к классу, поэтому рано или поздно вы захотите, чтобы бот сам понимал, к какому классу относится объект. И тут мы попадаем в задачу классификации, ну и вы поняли.
мне важно, что он не способен решить поставленной задачи.
Те задачи, которые я перед Ваней поставил, он решил.
Только вы замучаетесь каждый объект явно относить к классу, поэтому рано или поздно вы захотите, чтобы бот сам понимал, к какому классу относится объект.
Именно поэтому Ваня определяет принадлежность к классам по синтаксису. Ваш пример с признаками — лишь одна из возможностей, для синтаксиса не характерная. В синтаксисе другие возможности имеются, то же перечисление.
Именно поэтому Ваня определяет принадлежность к классам по синтаксису.
И, как мы видим, ошибается.
В синтаксисе другие возможности имеются, то же перечисление.
… которое требует, чтобы мы обязательно упомянули объект в той же группе, что и объект нужного класса, что (а) не всегда верно и (б) не всегда возможно. Я, при этом, не говорю, что это неработающая модель, я говорю, что это недостаточная модель.
И, как мы видим, ошибается.
А предмет вашей разработки не ошибается?
Залить словарь гиперонимов и ошибаться перестанет.
Я, при этом, не говорю, что это неработающая модель, я говорю, что это недостаточная модель.
Достаточная в рамках своих возможностей. Вы же не требуете от холодильника, чтобы он еще и блины пек?
А предмет вашей разработки не ошибается?
Ошибается, и я уверенно могу сказать, в каком проценте случаев. А вот в каком проценте случаев ошибается ваше решение? Да, мы снова пришли к вопросу о метриках.
Залить словарь гиперонимов и ошибаться перестанет.
Несуществующий, ага. В этом и проблема.
Вы же не требуете от холодильника, чтобы он еще и блины пек?
Нет, я требую, чтобы в холодильной камере было +6, а не "+18, ну потому что в рамках своих возможностей". Мне не нужен холодильник с +18 в холодильной камере, мне нужен с +6.
Мне, например, нужен бот, который умеет понимать, что такое "жарко" по десятку примеров. Я дал вам этот сценарий. Может ли ваш бот с ним справиться?
Ну то есть для решения практических задач ваш бот непригоден, так, что ли, получается?
Для решения Ваших задач, видимо, непригоден.
QED. А говорите — "мыслит".
И абсолютно пригоден для подтверждения жизнеспособности моей концепции.
А напомните, в чем состоит ваша концепция?..
А говорите — «мыслит».
Ага, а по-вашему, мыслящая машина — та, которая отвечает Вашим требованиям?
А напомните, в чем состоит ваша концепция?..
А потрудитесь перечитать пост.
Ага, а по-вашему, мыслящая машина — та, которая отвечает Вашим требованиям?
Ну, моим критериям мышления — да.
А потрудитесь перечитать пост.
Определения концепции там не обнаружено, есть только "в соответствии с реализованной мной концепцией", без указания, что же за концепция. Поэтому понять, какое же из утверждений в вашем посте является концепцией, возможным не представляется, а гадать я не хочу.
Ну, моим критериям мышления — да.
То есть Вы — конечная инстанция, решающая, что является ИИ, а что нет? Поздравляю…
Определения концепции там не обнаружено
Концепция изложена в посте. Если она Вас не устраивает или Вы ее в упор не видите, ну извините. Стоит ли вторые сутки мучить автора, добиваясь от него того, что он не может дать? Или Вы на повременке?
То есть Вы — конечная инстанция, решающая, что является ИИ, а что нет?
Да нет. Просто вопрос критериев — это вопрос критериев, и именно с него мы начали (и именно он — самое слабое место).
Концепция изложена в посте.
Там много чего изложено, в том числе и того, что уже показано ошибочным. Возьму следующую фразу, а выяснится, что она — тоже "второстепенное высказывание", а совсем не "концепция".
в том числе и того, что уже показано ошибочным
Пока Вы ничего не показали ошибочным, кроме того, что нейронные сети можно использовать при создании ИИ.
Не, Вы все-таки на повременке.
В лингвистике это называется «комитативной конструкцией» и все далеко не однозначно с «одноклассовостью» ее членов даже в русском языке, см. как минимум вот эту книжку.
Да, алгоритмы теперь способны обрабатывать большее количество информации, выдавать её в более привлекательной для человека форме, но по сути ничего не поменялось — Запрос-Алгоритм-Ответ. Даже у животных интеллект работает иначе. (они решают одну и ту же проблему разными способами, креативят.)
Текст должен быть определенным образом структурирован
Вооот. Именно поэтому ВП обречена.
Если да, то абсолютно согласен. Пока люди не научатся корректно мыслить, соответственно высказывать свои мысли, они обречены на безумие.
Люди пользуются терминами разной степени абстрактности. Дерево...
Посаженное 100 лет назад дерево — обозначение предмета реального мира?
Является ли «совесть» свойством одноклеточного организма? А свойством клетки многоклеточного? Является ли «совесть» свойством опухоли? А органа? Является ли совесть свойством
Не Петя не пошёл не в кино
Вы, что ли, способны такую фразу воспринять? Если да, примите поздравления, потому что я при попытке осмысления впадаю в ступор: мозг отказывает.
Что тут сложного-то? В «переводе» в нормальный вид получится
Кто-то (но не Петя) куда-то (но не в кино) не пошёл (отказался от посещения)Под такую формулировку, например, подходит предложение «Маша сегодня вечером осталась дома».
Тузик — это собака. Жучка и Тузик гуляли по улице. Собаки умеют гавкать.
Здесь вы позволяете вашей системе делать слишком далеко идущие выводы, объединяя Жучку и Тузика в один класс, а это чаще всего не так. «Жучка и Маша гуляли по улице». Маша, со всей очевидностью, выгуливала собака, и с вашей лёгкой руки Маша теперь гавкает.
Нет сомнений, что люди мыслят аналогичным образом. Если задать чересчур сложный вопрос, собеседник сразу не ответит, а задумается: сколько нужно для нахождения ответа, столько и будет думать. Зато после того как ответ найден, отвечать на последующие аналогичные вопросы начнет моментально.
Дело в том, что поиск информации у человека, как правило, не длится долго (за исключением информации, которая частично забыта и требуется время на её восстановление). Человек долго думает в большинстве случаев из-за неоднозначностей формы сложного вопроса, он перобразовывает сам вопрос в более однозначную форму путём мышления. После того, как вопрос удалось переформулировать, ответ на более однозначный вопрос легко находится. Если не удалось сделать достаточно чёткого преобразования, человек, как правило, просит сделать такое преобразование спрашивавшего: «что вы имеете в виду?».
Представим, что в базу добавляется новые записи:
Мальчик купил гантель.
Бабушка положила гантель на комод.
В результате возникают новые потенциальные возможности того, что гантель упадет на ногу, вследствие чего дедушкина нога заболит.
Опять же, здесь делается слишком далеко идущий вывод, что гантель падает на ногу именно дедушки. Программа «выдумывает» информацию, которая отсутствует в предложениях, которые в неё вводят. С большой вероятностью, такая информация будет ложной. Соответственно, чем больше будет база программы, тем больше будет неправильно сделанных выводов.
Во избежание длительного ожидания, при достижении установленного лимита в n секунд, приходится прерывать поиски. Тогда Ваня отвечает заглушкой типа:
Слишком сложный вопрос.
По-хорошему, после вывода заглушки, Ване следует позволить продолжить поиск информации, пока не возникнет необходимость нового поиска (не поступит новый вопрос или утверждение). Это, кстати, будет вполне человечно, мы часто говорим «не знаю» и продолжаем думать над ответом, потрой вскоре находя его.
Надеюсь вы получили море удовольстви в процессе разработки вашего Вани.
В «переводе» в нормальный вид получится
Кто-то (но не Петя) куда-то (но не в кино) не пошёл (отказался от посещения)
Все верно, я именно так и пытался переводить, чисто по логике. Только вот мой мозг отказывается эту фразу воспринимать…
«Жучка и Маша гуляли по улице». Маша, со всей очевидностью, выгуливала собака, и с вашей лёгкой руки Маша теперь гавкает.
В одном из предыдущих комментариев поступило такое предложение. Однако стилистически корректная фраза:
Маша гуляла с Жучкой.
Человек долго думает в большинстве случаев из-за неоднозначностей формы сложного вопроса, он перобразовывает сам вопрос в более однозначную форму путём мышления. После того, как вопрос удалось переформулировать, ответ на более однозначный вопрос легко находится.
Можно трактовать и так. С другой стороны, ответ на более однозначный вопрос, а не на заданный — это и есть заглушка.
Программа «выдумывает» информацию, которая отсутствует в предложениях, которые в неё вводят. С большой вероятностью, такая информация будет ложной. Соответственно, чем больше будет база программы, тем больше будет неправильно сделанных выводов.
Абсолютно правильно. Но ведь это чат-бот, он мыслит не так, как мы. Для чат-бота физического мира не существует, он живет в вербальном мире, поэтому его выводы с точки зрения физического мира часто будут оказываться ложными.
По-хорошему, после вывода заглушки, Ване следует позволить продолжить поиск информации, пока не возникнет необходимость нового поиска (не поступит новый вопрос или утверждение). Это, кстати, будет вполне человечно, мы часто говорим «не знаю» и продолжаем думать над ответом, потрой вскоре находя его.
Я не только над этим думал, у меня в одном из вариантов было такое реализовано. Потом отказался, но, если продолжу работы над Ваней, обязательно восстановлю.
Надеюсь вы получили море удовольстви в процессе разработки вашего Вани.
Что есть, то есть.
Однако стилистически корректная фраза:
Маша гуляла с Жучкой.
Я не о стилистике. Я о ложном выводе.
Петя и Маша гуляли по улице. Петя — мальчик.
Ваша программа делает ложное обобщение «Маша — мальчик». Это ниоткуда не следует, но она это делает.
С другой стороны, ответ на более однозначный вопрос, а не на заданный — это и есть заглушка.
Более однозначный вопрос является сутью сложного вопроса. То есть ответ на упрощённую форму является вопросом по-существу.
Вы знаете ведь, что благими намерениями устлана дорога в ад, так хорошо ли вы подумали над своим предложением?
— сложный вопрос, сводящийся контекстно к простым утверждению «ваше предложение опасно» и вопросу «продуманы ли вами последствия?». Это практически недостижимо вашей программе, как и любому ИИ реализованному на данный момент, я понимаю и ничего не могу предложить по этому поводу. Всё-таки мы думаем не так, как модели нашего мышления, реализованные в софте.
если продолжу работы над Ваней, обязательно восстановлю
Ну вам же станет когда-нибудь скучно ;)
Правда, после публикации исходников, вы можете обнаружить, что свободного времени хватает лишь на анализ изменений, предложенных другими энтузиастами.
Ваша программа делает ложное обобщение «Маша — мальчик». Это ниоткуда не следует, но она это делает.
Это следует из перечисления. Причем, если субъекты уже принадлежат каким-либо классам, вывод не делается.
Вообще, ложные выводы неизбежны, их даже люди делают.
Это практически недостижимо вашей программе, как и любому ИИ реализованному на данный момент, я понимаю и ничего не могу предложить по этому поводу.
Если я Вас правильно понял, то да, недостижимо.
Я тут немного поразмышлял. То что вы создали очень похоже на создание точно семантического графа и поиска в нём. Подобные задачи в нейро-сетях вроде не решены. Точный поиск в нейро-сети это не просто. Зато сети могут делать классификацию картинок которых раньше не видели, перевод на другие языки текста который не встречали, что вы возможно могли бы классифицировать как мышление.
Для вашей задачи вроде используют сегментаторы чтобы находить составные понятия, типа "Вася Пупкин" а затем создают базу взаимосвязей, по которой можно искать. Отрицание факта довольно сложная концепция и то что вы сделали — интересно.
использовал классы. В математике это называется множествами, в лингвистике – гиперонимами
гипероним: понятие, в отношении к другому понятию выражающее более общую сущность. Синонимы: надмножество
Помимо того, что использовать системы контроля версий вроде git стандарт в IT, это позволит вести более удобно разработку и другим людям помогать в разработке.
habr.com/post/420197/#comment_19014191
Залью рано или поздно, конечно. Будем считать, что эта такая фича.
Я зарегистрировался специально для этого случая.Я тоже пытаюсь создать свой чат-бот.
Причем готов потратить на это пару лет, по пару часов в день.
К сожалению эта статья как я вижу отражает только малую часть проделанной работы. Исходник уже скачал, но еще особо не изучал.
Ваша статья очень хороша, но к сожалению для таких как я более было бы полезной визуализация алгоритма в текстовом формате например:(к содалению форматирование создано под больший размер)
…
попытаться обнаружить кодировку > если кодировка нормальная(не обнаружены паттерны кракозябр)
попытаться транслитерировать слово > слово есть в БД > дальнешая обработка
слова нет в БД>…
… пытаться определить язык введенного > если слова русские (не обнаружены иностранные буквы по чаркоду)
не удалось понять значение слова стандартными способами{ (
Ориентироваться на другие слова и попытаться предугадать контекст (В зависимости от настроек бота, допустимы попытки предугадывания...)
…
или Ориентироваться на другие слова и попытаться предугадать контекст с сообщением типа
…
или Бот признаться что граматика этого слова не понятна и просит собсеседника исправить вручную
…
или Пытаться выведать информацию об этом слове задав хитрый вопрос
…
}
…
Я пытаюсь неторопливо создать свой чат-бот на другом языке программирования и выверить основные моменты логики перед тем как писать код.
Я хочу детализированно прописать алгоритм который бы можно было начать реализировать на любом языке программирования.
Если вы писали этот чат-бот для того чтобы сформулировать принципы искусственного мышления, то предлагаю совместно сделать все в таком виде,
так как эта статья не прорабатывает детально все моменты а в исходном коде коментарии не настолько частые как мне хотелось.
Это может также помочь многим разработчикам, что будут снова изобретать колесо.
Если вы и правда намучились разбирая чужой код, вы должны понять меня.
если вы даже не хотите или переключились на другой проект тогда прошу разрешения сохранить ваш бот на моей странице в гитхабе,
где я буду в основном пытаться сформулировать логику в текстовом виде. В ином случае предлагаю сотрудничество.
Я думаю что есть немало того что вы не учли при разработке этого бота вместе мы могли бы лучше продумать логику бота в текстовом виде.
В ином случае я буду пытаться проработать логику в текстовом виде в одиночку
Возможно подобный способ кажеться дилетанством, или вам легче читать именно код а не текст. В моем случае легче проработать логику в текстовом виде.
Это практически недостижимо вашей программе, как и любому ИИ реализованному на данный момент, я понимаю и ничего не могу предложить по этому поводу.
Пратически единственным вариантом чтобы это сделать нужно сделать максимально проработанную словарную базу данных со сложными зависимостями между словами.
На это надо потратить очень много времени. Даное можно реализовать только большим сообществом.
Да и максимально проработать логику программы чтобы имитировать подобное.
А пример с Машей и мальчиком легко реализуем. БД имен и например уточняющий вопрос типа:
Так как это женское имя с большой вероятностью Маша женского пола. Уточните это если не так.
Это подобие разметки когда словами можно описать что необходимо сделать и это быстрее
Псевдокод различных типов используеться некоторыми разработчиками
Он позволет сфокусироваться именно на логике а не на написании кода.
Деревьев не существует, это обобщение, абстракция.
Не знаю, читать ли дальше…
С учетом моего первого коммента здесь, я, пожалуй, сделаю это когда-нибудь.
Деревьев не существует, это обобщение, абстракция.
Есть различные теории что все происходящее абстракция или фильм. Так что пока это полностью не развенчано это возможно.
А описать дерево можно по параметрам: тегам: итд. Начиная из биологических понятий а заканчивая временными параметрами.
Кстати,mikejum можешь проверить диалоги.
Возможно, вам будет интересно ознакомиться с некоторыми материалами, размещенными там, или пообщаться с участниками проекта.
Скачал и установил Ваню по ссылке из статьи. Какого-то бракованного Ваню мне подсунули – на большинство вопросов со скриншотов из статьи отвечает "Я не знаю" или что-то в этом роде. Но (обратите внимание!) на некоторые вопросы всё же отвечает, значит в целом система работает, но очень плохо.
Создание ИИ методом «глокой куздры». Интеллектуальная одиссея