Графы знаний и машинное обучение — главные новинки в мире технологий. Этот пост в блоге даст полное объяснение отношений между ними.

Если вам нужен общий обзор графов знаний и примеров использования, вам следует взглянуть на наш предыдущий пост в блоге: Что такое граф знаний и что он может сделать для вас?.

Существует 3 различных способа, которыми переплетаются графы знаний и машинное обучение:

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

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

1. Построение графа знаний с помощью машинного обучения

Традиционно построение графа знаний является утомительным и ручным процессом. Вы должны сделать две вещи:

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

На обоих этапах машинное обучение может быть полезным.

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

Например, предположим, что у нас есть следующие неструктурированные текстовые данные:

Stan Callewaert is the biggest film star in the movie Titanic. Leonardo DiCaprio also appears in The Titanic.

Используя два метода машинного обучения (извлечение объектов и извлечение отношений), мы сможем извлечь 4 объекта:

  • Stan Callewaert
  • the movie Titanic
  • Leonardo DiCaprio
  • The Titanic

и 2 отношения из этого текста:

  • is the biggest film star in
  • also appears in

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

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

Если все хорошо, мы получим такой мини-граф знаний:

2. Добавьте знания в модели машинного обучения.

Этот раздел фактически затрагивает огромный вопрос в области исследований ИИ: «Что такое интеллект и можно ли достичь его, только обобщая примеры?» *переходит в тупик*

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

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

Ладно, вернемся к нашей планете.

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

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

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

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

3. Получите информацию: классификация, кластеризация, предсказание отсутствующих ссылок

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

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

Вот три примера того, что мы можем сделать:

  • Классификация узлов в графе
  • Группировка или кластеризация узлов вместе
  • Прогнозирование отсутствующих соединений между узлами.

Давайте подробнее остановимся на задаче классификации.

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

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

Здесь выходное пространство — это просто диапазон от 0 до 1. Мы будем обучать модель таким образом, чтобы она преобразовывала граф и предсказывала число от 0 до 1 для каждого узла. Если выходное число находится в диапазоне от 0 до 0,5, классификация окрашена в красный цвет. Если число находится между 0,5 и 1, классификация зеленая.

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

Граф нейронных сетей

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

Лишь недавно исследователи придумали архитектуры моделей, которые также могут обрабатывать графы. Иногда на них влияют приложения компьютерного зрения, такие как графовые сверточные нейронные сети. Примерами являются node2vec и GraphSAGE.

Заключение

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