(Формирование семантики с помощью стоп-слов и семантических простых чисел)

Проведем мысленный эксперимент. Подумайте о чем-то диковинном, чего вы никогда не испытывали. Опишите это себе, своей жене, своим детям (или, в моем случае, моей кошке). Я на 100% уверен, что вы сможете сделать это словами или понятиями, которые вам знакомы. А теперь подумайте о любом романе, фильме или уроке, которые вы никогда не читали, не смотрели и не посещали. Вас никогда не учили (а-ля «машинное обучение») понимать эти работы. Тем не менее, мы можем их понять. Как это возможно?

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

У этого процесса есть врожденная дорожная карта. Сначала вы выучите слова, которые связаны с вашим непосредственным внутренним и внешним опытом. Это переживания с людьми и предметами, мысли, важные для вас в детстве, «мама», «папа», «олухи», «папа» и т. Д.

В отличие от наших электронных аналогов, никто не собирается загружать вам «Philosophiae Naturalis Principia Mathematica» или «Principia Mathematica» Бертрана Рассела и Альфреда Уайтхеда или « Искать потерянное время »и попросить вас выполнить векторное представление, встраивание слов, поиск сходства или что-нибудь в этом роде. Кроме того, вам будет предоставлено 15–20 лет обучения под присмотром (и с усилением), прежде чем вы столкнетесь с шансом, что вас попросят сказать что-нибудь умное о таких текстах. У природы есть преимущество в пару миллиардов лет, но это лучшее, что придумала природа; разумные сущности, поднимающие другие разумные сущности и создающие социальные сети, культуру и идеологии для проведения такого обучения.

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

Вернемся к младенцу и его / ее опекунам. Вначале ребенок улавливает простые слова от мамы и других членов семьи и очень быстро узнает о постоянстве объекта (времени). Мама и другие важные объекты не исчезают, когда вы их не видите. Используя свою рудиментарную внутреннюю систему символов и языка, Бэби может думать о вещах, людях, объектах, которые не являются частью его непосредственной сенсорной близости и в настоящее время (возьмите эту Генеративную состязательную нейронную сеть!). В конце концов, ребенок может упорядочить систему символов, имеющихся в его распоряжении, чтобы создать новые мысли, новые внутренние переживания, которые не соответствуют тому, что он еще испытал или когда-либо испытает.

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

В целом, когда мы развиваем язык, человеческий разум всегда начинается с одних и тех же семантических простых чисел и универсалий (см. Анна Вежбицкая, Семантика: простые числа и универсалии). Независимо от того, где мы находимся на этой планете и на каком языке они говорят, все культуры разовьют следующую палитру семантических примитивов. (У автора есть более обширный набор, чем у ее более ранних работ, но исходный набор вполне подойдет.) См. Таблицу ниже.

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

Начиная с этого слоя семантических примитивов, мы можем настроить себя, чтобы говорить о чем угодно. Мы можем обсуждать то, что пережили, а также то, о чем знаем очень мало. Позвольте мне проиллюстрировать это коротким рассказом. До того, как мой тогда еще маленький сын научился говорить, он много плакал. Я заметил, что когда я входил в его комнату, он кричал громче. Это продолжалось некоторое время, пока он не начал развивать ограниченный словарный запас. Однажды ночью я пришел в его комнату, чтобы утешить его. Он выглядел очень рассерженным и сказал мне, указывая на мою спальню: «Не ты, а другая!». Пораженный, я поспешил обратно к жене, чтобы рассказать ей, что только что произошло.

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

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

Давайте вернемся к моему первоначальному вопросу - как вы говорите о том, чего никогда раньше не испытывали? Вы используете свою семантическую башню плюс аналогию. Даже если вы не можете много сказать, вы всегда можете сказать: «Есть что-то или что-то, что…». В философии такой подход можно было бы считать овеществлением. Я предполагаю, что без овеществления интеллект не может узнать ничего нового. Позвольте мне проиллюстрировать другой историей, когда я наблюдал, как растет мой сын. Я повела своего очень маленького сына в парк, где он увидел гусей, плавающих в пруду. Он разволновался и закричал: «Смотри, папа! Плавающие птицы! » Так у моего сына появился новый опыт «гуси плавают в пруду». У него еще нет концепции гуся / гуся, но у него есть концепции птицы и плавания; поэтому он объясняет свой новый опыт, делая описательную атрибуцию «плавающих птиц» наблюдаемой сущности. В другой раз, когда я создавал веб-сайт музыкального видео, мой сын увидел видео, которое ему понравилось, и указал: «Папа! Пою фильмы! » Обратите внимание, что во всех этих обменах и сын, и отец предполагают общую намеренность и использование жестов руки (я рассмотрю эти концепции в будущей статье). Мы ожидаем, что собеседник сможет разделить намерения и наблюдения. И мы говорим жестами рук и тела. Жесты рук и тела являются довербальными, и мы не можем говорить без них (даже когда мы разговариваем одни по телефону и нас никто не видит).

Некоторая версия этого опыта с моим сыном повторялась миллиарды раз с тех пор, как люди начали общаться друг с другом. Все наши имена / существительные на любом языке показывают археологические следы таких ранних встреч в истории человечества. Мое имя Аральд буквально означает предводитель армии, героический вождь. Как видно из ссылки, название происходит от древнегерманского имени Харивальд, состоящего из двух элементов: harjaz (армия, полководец, командир, воин) плюс waldaʐ (правитель, могущество). , могучий, могущественный, могущественный) ». Я определенно не командующий армией; Не знаю, о чем думал мой отец (учитель гаитянского языка, читавший исландскую сагу в 1950-х годах)?

Имя моего дорогого друга Раму означает Господь Вишну. Большинство существительных (собственных или неправильных) на самом деле являются описательными фразами. Если я скажу, например, исчисление, большинство людей подумают о какой-то очень абстрактной и сложной области математики. Но что, если я скажу вам на латыни, исчисление означает камешки, а древние римляне использовали камешки для сложения и вычитания на счетной доске. Теперь вы лучше понимаете, как Ньютон и Лейбниц создали свои собственные семантические башни.

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

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

Во-первых, ченнелинг Анны Вежбицкой, что такое (потенциальный) список семантических примитивов для встреч со службой поддержки? Ниже приводится список кандидатов для обсуждения. Обычно, когда мы звоним в службу поддержки ИТ, мы спрашиваем о каталоге внутренних услуг и активов компании, которые мы используем как сотрудники. Это очень ограниченный язык; мы просим и о вещах и услугах в каталоге. Мы звоним, чтобы сообщить, что эти вещи и услуги сломаны, чтобы их починить. Мы звоним, чтобы сказать, что они больше не нужны или мы хотим восстановить к ним доступ и т. Д. В приведенной ниже таблице делается попытка предоставить список кандидатов для чат-бота или другой машины, которую мы хотим обучить такому языку. Я не буду здесь исчерпывающим, просто иллюстративным.

Как можно использовать такую ​​таблицу? Вы можете написать код (и я это сделал), который может сократить поле описания обращения службы поддержки до семантического кодирования на основе вышеизложенного.

Вы можете добиться этого, используя преобразование регулярных выражений (я думаю об этом как о море регулярных выражений). Вы также можете использовать кластеризацию BERT для подпитки вашего конвейера, например, сгруппировать вместе все варианты высказываний «Запрос на сброс пароля AD» и т. Д. Думайте об этом подходе, как о том, как я учу «Джек и Джилл … »высказывания службы поддержки моей лингвистической модели.

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

Допустим, есть от 20 000 до 60 000 высказываний, которые соответствуют 5–1000 из этих намерений (кодировок), и аналитик хочет сопоставить их с тем же классом проблемы, маркировка становится намного дешевле задача. Обозначьте кодировки, а затем вы либо обучаете модель, сопоставляя кодировку с меткой, либо по композиции, сопоставляя исходные высказывания с меткой. См. Рисунок ниже.

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

Каждая закодированная фраза имеет свою собственную структуру Q&A. Хороший студент, изучающий конструкцию компилятора и интерпретатора, может написать интерпретатор, который может делать следующее. Допустим, у вас есть описание взаимодействия со службой поддержки "SDI123",

Я не могу войти в свой ноутбук

Он кодируется как:

«‹CAN_NOT› (WHO = CALLER, WHAT = ‹LOGIN› (TO_WHAT = PHYSICAL_ASSET [‘ LAPTOP ’]))»

Сотрудник службы поддержки спрашивает: «Привет, Шабо, в чем проблема с SDI123 взаимодействия службы поддержки?»

Чат-бот отвечает: «Абонент не может войти в систему?»

Сотрудник службы поддержки спрашивает: «Куда звонящий не может войти?»

Чат-бот отвечает: «Абонент не может войти в свой ноутбук».

В чем обратная сторона такого подхода? Никто не получает ничего даром, даже за модели BERT и GPT- #. (Последнее, что я слышал, в этих моделях использовались триллионы параметров, и мы находимся только в начале кривой роста).

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

1) Она должна уметь писать от сотен до тысяч выражений регулярных выражений, чтобы упростить каждое описание до его основной примитивной формы.

2) Она должна любить человеческие языки и их грамматику, а не только алгебраические пространства, дифференциальное исчисление и численные методы (хотя последнее поле может очень помочь, мы здесь не пуристы).

3) Как следствие пункта (2), она вернется к изучению старых лингвистических мастеров, таких как Tesniere, Saussure, Chomsky (лингвист в нем) и т. Д. В моем пилотном проекте выше у меня есть неявно использовала идею Тесньера о валентности глаголов, которая может помочь в разрешении семантической двусмысленности и анафоры. Возьмите то, чему вы можете научиться у Древних, и будьте предельно практичны - вам нужны результаты, а не идеологическая чистота.

4) У вас должна быть сильная склонность к редакционным статьям. В каком-то смысле то, что вы делаете, - это редактирование в семантическом кодировании (используя регулярные выражения в wazoo)!

5) Наряду с пунктом (4) вам будет лучше, если вы предпочитаете стихи Эмили Дикенсон и стили письма Эрнеста Хемингуэя и Джека Лондона, а не стиль Марселя Пруста. Тогда вы мысленно настроены на пункт (4).

6) Помните, что вы не охватываете весь разговорный язык. Ни один человек не делает и не может этого сделать. Вам нужно только осветить то, что имеет отношение к разговору в вашей профессиональной деревне / племени или в вашей домашней деревне. Сколько отдельных фраз вы используете за день? Сколько из них семантически эквивалентны? Конечно, вы должны уметь расширять свой словарный запас за счет новых идей и фраз по мере их появления. Сосредоточьтесь на ядре и будьте готовы расширяться по мере необходимости.

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