Нет компьютера, обладающего здравым смыслом, - сказал Марвин Мински [i] в коротком интервью 2003 года. Это хорошее введение в продолжающийся научный кризис, когда пользователи по-прежнему хотят использовать свой собственный язык для взаимодействия с машинами.

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

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

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

Значения «давать» и «брать» иллюстрируют тонкость языка. Если я даю вам что-то, вы не «берете» это, вы это «получаете». Почему? Потому что и отдача, и взятие заставляют что-то случиться. Берущий вызывает изменение, а получатель - нет, но оба передают вещь из-за значения действия. Давайте посмотрим, что означает «Джон взял молоко у молочника».

[do ′ (John, Ø)] ПРИЧИНА [СТАНЬ иметь ′ (Джон, молоко) Λ СТАТЬ НЕ иметь ′ (молочник, молоко)]

Сравните это с «Иоанн получил молоко от молочника».

СТАТЬ иметь ' (Джон, молоко) Λ СТАТЬ НЕ иметь' (молочник, молоко)

У одного есть причинитель, определяемый значением (брать), а у другого нет (принимает).

Известная цитата из IBM Watson звучит примерно так: «Единственная разница в Jeopardy! состоит в том, что участники конкурса понимали, что означают эти слова». Конечно, речь идет не только о Watson, но и о современном подходе.

Иерархические особенности, такие как семантическое отношение «есть-а» (гиперним / гипоним от греческого), очень сильны. Если киты являются животными и у всех животных по два глаза, то «здравым смыслом» становится то, что киты имеют два глаза.

Этот принцип применим и к нашим наукам. Если бы было известно, что все млекопитающие имеют четыре конечности, что бы произошло в наших научных усилиях, если бы мы думали, что, скажем, животное по имени Иона является китом? Из этого следует, что у Ионы должно быть четыре конечности, несмотря на внешность [ii]. Если это не так, значит, классификация неправильная. Эволюционные изменения можно проверить, как показано в указанной статье.

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

Очевидно, что масштаб ассоциаций в семантической сети действительно может быть большим. На практике добавление одной ссылки от слова к семантической сети может предоставить объекту множество допустимых возможностей и функций.

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

Компьютерное представление символа

У компьютеров есть архаичный механизм представления символов, а затем слов. Поскольку с 1950-х годов компьютеры стали более обычным явлением, каждый символ был представлен в виде кода. К ним относятся следующие стандарты: ASCII, EBCDIC, Unicode и ISO, которые сопоставляют двоичное число с символом. На компьютерах каждый символ закодирован, поэтому его можно сохранить в любом месте памяти.

Таблица (слева) - это выдержка из Unicode, показывающая соответствие между символами и их определенным кодом.

Чтобы расширить эти коды, которые ограничены, поскольку они исключают размер, тип шрифта и т. Д., Программы создают локальные определения, чтобы либо использовать эти коды, либо заменять их своими собственными версиями. Полный список возможных символов, конечно, бесконечен, так как любой отдельный символ может быть записан бесконечным количеством различных способов (например, шрифт, размер, рукописный сценарий / блок /… и т. Д.), И разнообразие символов не должно быть ограничено, либо.

Ключевым моментом является то, что значение любого символа потенциально может быть разложено на символ, на который он ссылается, например ‘C’ и другие его атрибуты (например, Calibri / Latin, размер шрифта в пунктах, логические примеры, такие как полужирный, подчеркивание, зачеркивание и т. Д.).

Это разложение находится в центре внимания теорий, основанных на мозге, таких как теория Патома. «0077» в приведенной выше таблице представляет собой символ U + 006C или латинскую строчную букву L. Этот символ не имеет отношения к символу «латинская большая буква L», поскольку это просто еще один символ.

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

Неправильное представление теряет смысл

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

Программисты учатся писать равенство в коде в школе (по крайней мере, я так делал). Если вы хотите узнать, является ли символ нижним регистром, вы можете попробовать использовать используемый код, а затем проверить, находится ли символ между 97 и 122 (базовый латинский Unicode). Каждая проверка зависит от разработанного кода, который приводит к ошибкам, если найденный код отличается. Это решение не интуитивно понятно, но четко подчеркивает проблему объединения нескольких значений в атом-шаблон, в данном случае объединяя значение символа «a-z» с регистром (верхний / нижний).

Здесь разложение будет иметь 2 разных атома, один из которых представляет значение, а другой - случай. Очевидно, что вы можете бесконечно расширять этот дизайн с помощью шрифта, размера - даже седиль во французском слове garçon ('ç') и шведские символы «å, ä и ö», которые могут быть представлены как a / o плюс атрибут для укажите над ними точки. Вам нужно знать язык, чтобы правильно его разложить.

Представление слов NLU

Я использую это разложение в сопоставлении значений (программа NLU) для решения этой очень распространенной проблемы представления, например, между словами (а) «кошка» и «кошки», (б) словами «разрушение», «уничтожение» и «Уничтожен», и (c) слова «отдавать», «брать» и «хватать», которые имеют общее значение друг с другом, но обладают разными атрибутами (референтные формы единственного / множественного числа), и (референт, причастие настоящего времени, причастие прошедшего времени и формы состояния сказуемого) и (причинный, положительный / отрицательный).

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

Дело в том, что если вы знаете, что объект является «кошкой», доступны все связанные значения. Точно так же слово «уничтожить» в любой его форме приносит пользу. Декомпозиция значения позволяет объединить ассоциации, что приводит к созданию здравого смысла - общего для каждого признанного значения.

Представление в семантической сети, например WordNet

Не секрет, что я большой поклонник покойного психолога Джорджа Миллера [iii], который создал WordNet в Принстоне в 1980-х годах. Он показал нам путь к NLU, отделив слова в английском языке от их значения, а затем определенным образом связав значение (смыслы). Хотя он разработал его как обычный словарь с неоднозначной моделью части речи, он остается очень ценным, поскольку отношения отражают текущие модели семантических ассоциаций. В то же время были ограничения, но наука строится на расширении моделей, а не всегда на замене моделей.

Отношения включают отношения «is-a» и «has-a», которые мозг отслеживает между референтами, но исключает отношение «делает», необходимое для соотнесения предикатов для устранения неоднозначности (предикаты определяют свои референты).

Отношение «is-a» особенно эффективно для использования в здравом смысле, а «has-a» легко используется в языках почти незаметно.

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

Иерархия IS-A

Как выглядит иерархия «есть»? Прежде всего, это набор ассоциаций со смыслом. Когда это референт (называемый существительным в WordNet), гиперонимы представляют собой один или несколько «разновидностей», как показано на изображении ниже из WordNet:

Обратите внимание, что вы можете легко произносить эти ассоциации и пропускать уровни (особенно если вы не понимаете промежуточных определений). «Млекопитающее - это животное» (обратите внимание, что выбор типа не является определенной фразой, как «животное»). И пропуск уровня: «Млекопитающее - это физический объект».

Поскольку модель мозга позволяет использовать атомы образца только один раз, никогда не дублировать (и связывать столько раз, сколько необходимо), значение слова «одушевленный объект» сохраняется только один раз. У него есть отношение: был / остается «живым» в соответствии с определением. Другая часть определения: «сущность» не нужна, поскольку с ней связана другая связь (см. Нижнюю часть списка).

Каждый смысл (значение / определение) в списке наследует характеристики нижестоящих. Это означает, что «млекопитающее» либо живо, либо было живым, потому что оно наследует это от семантической сети в этой ассоциации «есть-а».

Мысленный эксперимент: использование отношения IS-A

Давайте проведем мысленный эксперимент, чтобы продемонстрировать силу IS-A.

Мы узнаем, что все животные дышат. Все млекопитающие вынашивают живых детенышей и кормят их молоком. У всех позвоночных есть 2 руки, 2 ноги и 1 голова. У всех рук есть руки. Организмы едят и дышат. Животные спят ежедневно. Все объекты могут отбрасывать тень. Все люди ходят на двух ногах и разговаривают. И, чтобы закончить наши ассоциации, люди - позвоночные.

О чем говорит нам фраза: «Иоанн - личность»?

Джон ходит на двух ногах и говорит, потому что он человек. Поскольку он млекопитающее, Джон мог вынашивать живого детеныша, которого кормил молоком.

Остановись здесь на мгновение. Заметили, что определение неадекватно? Различие между мужчиной и женщиной необходимо для точного объяснения вынашивания детей. Это значение следует отделить от определения личности. Использование значения, как мы здесь, быстро выявляет чрезмерное упрощение.

Что еще? У Джона 2 руки, 2 ноги и 1 голова, потому что он позвоночное животное. Поскольку у него «есть» голова (состоит из вещей, включая голову), если он двигается, его голова идет вместе с ним. Это пример проблемы, над которой раньше беспокоились другие ученые-когнитивисты.

Что еще? Джон - объект, поэтому он может отбрасывать тень.

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

Конкретное определяет общее

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

Контекст (в дискурсе и контексте ситуации Ферта) отличается. Контекст отслеживает конкретное [iv]. Если Билл потерял руку в результате несчастного случая, это отменяет общий случай, когда у всех людей 2 руки (и, следовательно, 2 руки). Это больше похоже на энциклопедическую информацию, расширяющую смысл и создающую возможности.

Сочетание общей словарной информации с конкретной энциклопедической информацией приводит к следующему: «Хотя у всех людей должно быть 2 руки (общее), у некоторых людей, таких как Билл (конкретное), есть 1 рука».

Разговорные тесты ясно демонстрируют это различие. «Джон взял молоко, которое взял молочник» использует значения слов, чтобы определить, что произошло, вне контекста. Общее представление:

СТАТЬ иметь ' (Джон, быть' (молоко, [делать ' (молочник, Ø)] ПРИЧИНА [СТАТЬ иметь' (молочник, молоко) Λ НЕ СТАНОВИТСЯ иметь ' (Ø, молоко)]))

Как только это будет сохранено, его можно будет использовать в контексте. Представление теперь конкретное. Он ответит: «У Джона есть молоко?» и «Молочник пил молоко?» Словари объясняют значения слов, но контекст описывает опыт.

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

Эффективность и способность к обучению выше при правильном представлении (т. Е. Основанном на значении).

Другие соображения, такие как события и логика

Использование ассоциаций, основанных на значении, «is-a» и «has-a», приводит к полезным обобщениям. Другие обобщения исходят из последовательных закономерностей, вещей, которые происходят в событиях. A.I. Сообщество раньше уделяло этому несколько больше внимания. Мински описал Фреймса в 1974 году для описания ситуаций. Точно так же Роджер Шенк создал теорию сценария в 1977 году, чтобы предоставить недостающую информацию для понимания языка в рассказах. События кажутся обобщенными из контекста и могут также использовать аналогичные принципы.

Также может быть поднят вопрос о логике. Если Джон - личность, люди - животные, а животные дышат; «Джон дышит» - это приложение логики или просто результат семантической сети? Является ли логика иллюзией, вызванной отображением смысла?

И события, и логика - темы будущего.

Вывод

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

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

Теперь мы можем распознавать языковые шаблоны фраз, используя ролевую и справочную грамматику (RRG) и исключая модель неоднозначных частей речи. Это означает, что мы можем получить доступ к значению, лежащему в основе слов, с их отношениями.

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

Что еще более важно, мы достигаем одной из целей моего героя (Марвина Мински) - применяем здравый смысл для преодоления мертвых мозгов машин [v] его времени.

[I] https://www.wired.com/2003/08/why-a-i-is-brain-dead/ Wired, Почему А.И. Мозг мертв , 2003.

[Ii] https://www.livescience.com/7564-early-whales-legs.html объясняет, что ноги могут эволюционировать, но следы происхождения остаются.

[Iii] https://www.computerworld.com/article/2935578/miller-s-wordnet-paves-the-way-for-a-i.html, Болл, 2015.

[Iv] https://www.computerworld.com/article/2928992/a-i-is-too-hard-for-programmers.html для более подробной информации о конкретном, определяющем общее, Ball, 2015.

[V] Его слова из ссылки [i] (выше). Спасибо Твен Лю за эту ссылку, которую вы разместили в LinkedIn. Как и многие ваши рекомендации, я бы никогда не нашел его без вашей помощи!