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

Важность изучения языка без учителя

В самой первой исследовательской статье, опубликованной нашей AI Research Lab, мы обсуждали, как SingularityNET планирует продвигать обучение языку без учителя, используя компоненты NLP и Language Learning OpenCog.

В этой статье мы расскажем о последних достижениях проекта бесконтрольного изучения языка SingularityNET, который поддерживается OpenCog Foundation и поддерживается предприятием Hanson Robotics.

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

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

Цель проекта по изучению языка без учителя - позволить любой системе искусственного интеллекта изучить грамматику и основы онтологии любого языка программно, без участия человека.

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

Проще говоря, SingularityNET работает над преодолением языкового разрыва между людьми и ИИ, позволяя каждому свободно понимать и общаться на общем языке.

Изучение грамматики и онтологии

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

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

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

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

Использование формализма Link Grammar для описания целевых грамматик для изучения языка оправдано работой Ben Goertzel and Linas Vepstas в 2014 году. Согласно этой статье, каждая категория слов или часть речи может быть описана набором возможных комбинаций связей с другими частями речи. Каждая комбинация называется дизъюнкцией. Дизъюнкция может использоваться для привязки любого слова в категории к определенному грамматическому контексту в предложении. Каждое соединение в дизъюнкте, которое связывает категорию с другими категориями, называется коннектором.

Использование синтаксического анализатора минимального связующего дерева

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

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

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

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

Второй шаг включает компонент Text Parser, который можно настроить как обычный анализатор грамматики ссылок, используемый для экспериментов, или как анализатор MST, используемый для производственных исследований. Кроме того, в будущем может появиться так называемый гибридный синтаксический анализатор, который может одновременно использовать два набора: формализм грамматики ссылок для слов, соответствующих заданной грамматике, и синтаксический анализатор MST для неизвестных слов. После того, как синтаксический анализатор текста создаст синтаксический анализ, они направляются в Grammar Learner, который создает целевую грамматику. Наконец, грамматика оценивается тестером грамматики, который сравнивает синтаксический анализ, полученный с помощью изученной грамматики, с «ожидаемым синтаксическим анализом». Эти ожидаемые синтаксические разборы либо создаются вручную, либо с помощью Link Grammar Parser с использованием грамматики, созданной вручную.

Ученик грамматики

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

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

Уменьшение размерности векторного пространства не является обязательным, сейчас мы делаем это с помощью Singular Value Decomposition (SVD), но возможны и другие варианты. Мы можем создавать начальные категории смысловых слов в векторном пространстве с помощью различных алгоритмов. В настоящее время для этих алгоритмов мы используем K-means и настраиваемую агрегацию идентичных лексических записей как слов, имеющих одни и те же наборы дизъюнктов, но в настоящее время пробуются другие алгоритмы.

Изученные категории могут быть дополнительно объединены в дерево категорий с необязательной фазой обобщения. После этого будет выполнено Введение в грамматику для построения грамматических связей между категориями слов. Затем может применяться дополнительное необязательное обобщение для обобщения категорий на основе их связей с другими категориями. Наконец, результаты обучения экспортируются в стандартный файл словаря Link Grammar с категориями, сохраненными как правила, и со ссылками как дизъюнкты соединителей, связанных с этими правилами.

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

Результаты

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

В результатах, показанных на изображении ниже, мы использовали разные языки: Turtle - искусственный язык, используемый в программировании «Семантической паутины», и различные версии английского языка - начиная от речи, ориентированной на детей, и заканчивая литературным английским языком, ограниченным уровнями детей. литература.

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

Parse-Ability (PA) - указывает процент успешно проанализированных слов в корпусе.

Parse-Quality (PQ) - указывает процент проанализированных ссылок, соответствующих ссылкам в «ожидаемых анализах» и соответствующих метрике отзыва.

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

Интересно то, что использование MST-синтаксического анализа дает более стабильные результаты по всем показателям в диапазоне 50–100%. Напротив, использование «ожидаемого» синтаксического анализа, созданного вручную или с использованием подходящего словаря Link Grammar, показало менее предсказуемые результаты для возможности синтаксического анализа и его качества в диапазоне 15–100%. Мы можем предварительно объяснить это нашей текущей неспособностью изучать грамматические исключения, которые отсутствуют в синтаксических анализах MST, но присутствуют в синтаксических анализах, созданных вручную с помощью Link Grammar Parser. Следовательно, более самосогласованный MST Parser может предоставить более регулярное векторное пространство, позволяющее улучшить регулярные грамматики.

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

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

Более того, обобщенные категории могут быть представлены в виде дерева с сохранением всех уровней обобщения, так что, например, «ребенок, мама, дочь, сын» объединяются в одну и ту же категорию. Кроме того, можно увидеть, как омонимы «доска» и «пила», устраненные на этапе устранения неоднозначности смысла слова, разделяются и прикрепляются к разным категориям в соответствии с их грамматическим и семантическим использованием - например, «board.b» связан с «Wood», в то время как «board.a» висит отдельно как белая доска, или «saw.a» делит категорию с «hammer», в то время как «saw.b» прикрепляется к «see» - как и следовало ожидать от глагола.

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

Как правило, качество окончательного распределения, по-видимому, сильно зависит от начального случайного начального числа при использовании кластеризации K-средних. Это объясняет, почему трудно предсказать качество грамматики с большим количеством категорий.

Однако, если исходное семя допускает коллапс кластеров так, что количество категорий ближе к количеству естественных частей речи, как способность к синтаксическому анализу, так и качество синтаксического анализа резко возрастают - близко к 100% и 60–70% соответственно. .

Как и ожидалось, использование алгоритмов изучения грамматики на основе соединителей и дизъюнктов дало разные результаты. Использование соединителей привело к упрощению грамматики: к распознаванию слов в более общих контекстах и ​​обеспечению лучшей возможности синтаксического анализа и повышения качества анализа (запоминания), соответственно. С другой стороны, использование дизъюнктов обеспечивает более высокую точность, а правила более строго определяют грамматические контексты.

Видео нашей презентации на конференции AGI-2018 на следующей неделе доступно здесь:

Что дальше?

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

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

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

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

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