Во второй части серии мы более подробно рассмотрим, как используются графы в SingularityNET, OpenCog и Aigents.

Вступление

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

В первой части этой серии: Как SingularityNET будет использовать OpenCog и Aigents был дан вводный обзор различных типов графиков. После обзора были рассмотрены некоторые уникальные возможности использования OpenCog в инфраструктуре SingularityNET в качестве общей системы хранения и обработки графов. В заключительной части статьи мы представили некоторые основные варианты визуализации графов, поддерживаемые фреймворком Aigents Graphs.

В этой части серии мы объясняем, как графы используются в проектах по изучению языка без учителя (ULL) SingularityNET, OpenCog и Aigents. Наше исследование основано на первоначальной идее Бена Гертцеля и Линаса Вепстаса, которая получила дальнейшее развитие благодаря работе команды AI SingularityNET.

Мы надеемся, что эта статья будет интересна не только компьютерным лингвистам или специалистам в области обработки естественного языка (NLP), но и окажется полезной для самых разных людей. Важно, чтобы мы сначала объяснили основные концепции, лежащие в основе Link Grammar Parser.

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

Пока проект активно развивается на GitHub, мы создали Веб-сайт проекта ULL, чтобы подробно рассказать о нем. С помощью Aigents Graphs мы смогли разработать Демо графов для неконтролируемого изучения языка. В оставшейся части статьи мы будем ссылаться на скриншоты из этой демонстрации и делиться ими.

Графики и изучение языка без учителя

Первым шагом в нашем текущем подходе к ULL является сбор взаимной информации (MI) между парами слов из корпуса текстов, используемых для усвоения грамматики языка. График ниже отображает сеть взаимных информационных связей между словесными узлами.

Такой график можно создать онлайн здесь.

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

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

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

Пример графика этих неоднозначностей показан ниже. Такой график также можно создать онлайн здесь.

Шаг после вычисления взаимной информации включает в себя синтаксический анализ минимального связующего дерева (MST) с использованием OpenCog MST Parser.

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

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

Такой график можно создать онлайн здесь.

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

На следующем графике представлен один из возможных вариантов отрисовки такого категориального дерева; Другие варианты тоже можно попробовать онлайн.

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

На приведенном ниже графике показана одна из возможных грамматик, выведенных с использованием существующего кода ULL Grammar Learner. График можно протестировать онлайн здесь.

Все приведенные выше графики были отрисованы с помощью SingularityNET ULL Graphs на базе Aigents Graphs, доступного на GitHub под лицензией MIT с открытым исходным кодом.

Для получения дополнительной информации о ULL Graphs посмотрите следующее вводное видео.

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

Что дальше?

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

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

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