УДК 004.822

Решение задач машинного обучения для графов знаний на примере задачи классификации триплетов

Семенов Алексей Васильевич – студент Балтийского федерального университета им. И. Канта

Научный руководитель Мищук Богдан Ростиславович – кандидат физико-математических наук, доцент высшей школы компьютерных наук и прикладной математики Балтийского федерального университета им. И. Канта

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

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

Введение

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

Граф знаний (Knowledge Graph) — это сеть, которая содержит информацию о разных сущностях и их отношениях друг к другу. Такая информация часто хранится в специальных графовых базах данных, которые отображают ее в виде графа. Граф знаний также иногда называют семантической сетью. [1].

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

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

Графы знаний

Граф знаний состоит из трех основных элементов: узлов (вершин), ребер и меток. Узлы представляют собой сущности или объекты, хранящиеся в графе знаний. Ребра, также известные как предикаты, обозначают связи между сущностями или узлами [2].

Граф знаний также можно определить как набор фактов [3], где факт — это минимальная единица информации, которая может быть сохранена в графе знаний. Факт может быть представлен в виде триплета следующими способами:

  • HRT: <head, relation, tail> - состоит из головы, отношения и хвоста.
  • SPO: <subject, predicate, object> - состоит из субъекта, предиката и объекта.
  • Данные представления отличаются только наименованиями и могут рассматриваться как полностью взаимозаменяемые. Рассмотрим составные части триплетов на примере HRT:
  • Голова или хвост — это сущности или объекты, которые представлены как вершины графа знаний.
  • Отношение — это связи между сущностями, которые представлены как ребра в графе знаний.
  • По сравнению с обычными графами, графы знаний обладают следующими преимуществами [3]:
  • Графы знаний позволяют работать с гетерогенными данными, то есть с сущностями (человек, компания и т.п.) и отношениями (работает в, живет в и т.п.) различных типов.
  • Графы знаний позволяют точнее моделировать информацию из реального мира, так как представление информации схоже с тем, как ее представляет наш мозг.
  • Графы знаний позволяют выполнять логические рассуждения посредством обхода графа.

Применение графов знаний

Графы знаний нашли свое применение в таких отраслях как [2]:

  • Розничная торговля. Графы знаний используются для формирования стратегий до-продаж и кросс-продаж, а также рекомендации продуктов, основываясь на индивидуальном поведении покупателя и трендов среди демографических групп.
  • Сфера развлечений. Графы знаний используются в рекомендательных системах, использующих искусственный интеллект, в различных платформах, предоставляющих контент. Основываясь на предыдущих действиях пользователя, данные системы предлагают новый контент, с которым пользователь скорее всего провзаимодействует.
  • Финансовый сектор. Графы знания используются для составления портрета клиентов и борьбы с отмыванием денег.
  • Здравоохранение. Графы знаний используются для организации и категоризации взаимосвязей в медицинских исследованиях. Они помогают точнее подтверждать диагнозы и определять планы лечения на основе индивидуальных потребностей пациента.
  • Среди типовых задач, решаемых промышленными графами знаний, также выделяют [4]:
  • Построение цифровых двойников.
  • Управление рисками.
  • Мониторинг процессов.
  • Операционные сервисы для сложного оборудования.

Графы знаний и машинное обучение

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

  • Предсказание связей: Эта задача предполагает предсказание отсутствующих связей между сущностями в графе знаний. Например, если граф знаний содержит информацию о людях и их профессиях, предсказание связей может быть использовано для предложения связей между людьми и компаниями, в которых они работают [7].
  • Разрешение сущностей: Эта задача включает в себя идентификацию и разграничение сущностей, которые относятся к одной и той же концепции реального мира, но могут быть представлены по-разному в графе знаний [9].
  • Извлечение сущностей: Эта задача заключается в извлечении сущностей из неструктурированного текста и добавление их в граф знаний [5].
  • Извлечение связей: Эта задача включает в себя извлечение связей между сущностями из неструктурированного текста и добавление их в граф знаний [5].
  • Классификация триплетов: Эта задача заключается в определении того, является ли данный триплет действительным или нет, т.е. является ли он положительным или негативным триплетом [7, 8].
  • Рекомендательные системы: Эта задача включает в себя использование графа знаний для рекомендации пользователям предметов или действий на основе их интересов или прошлого поведения [8].
  • Информационный поиск: Эта задача заключается в использование графа знаний для поиска и извлечения релевантной информации в ответ на запрос пользователя.
  • Генерация естественного языка: Эта задача включает в себя предполагает использование графа знаний для создания текста на естественном языке на основе связей и информации, содержащейся в графе.

Задача классификации триплетов

Одной из задач, решаемых при помощи алгоритмов машинного обучения и графов знаний, является задача классификации триплетов [7]. Классификация триплетов — это задача, в которой модель обучается предсказывать, является ли данный триплет (субъект, предикат и объект) действительным или нет.

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

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

Можно привести следующие примеры применения решения задачи классификации триплетов:

  • Повышение точности и полноты графа знаний: Используя классификацию триплетов для выявления достоверных связей между сущностями, можно повысить общую точность и полноту графа знаний.
  • Ответы на вопросы: Классификация триплетов может быть использована для определения связей между сущностями, которые необходимы для ответа на вопрос. Например, если пользователь спрашивает: "Является ли Париж столицей Франции?", модель может определить триплет "Париж является столицей Франции" как достоверную связь и использовать ее для предоставления правильного ответа.
  • Рекомендательные системы: Классификация триплетов может быть использована для определения связей между сущностями в графе знаний, которые могут быть использованы для рекомендации предметов или действий пользователям на основе их интересов или прошлого поведения.

Решение задачи классификации триплетов

Для решения задачи классификации триплетов, в данной работе будем использовать такой алгоритм машинного обучения как нейронная сеть. В качестве данных возьмем общеизвестный датасет WordNet18, в котором содержится 18 отношений, извлеченных из WordNet примерно для 40 943 синонимов, дающих в результате 151 442 триплета [6]. В качестве нейросети возьмем полносвязную нейросеть с одним или двумя скрытыми слоями. Как входные параметры она будет принимать триплет: идентификатор левого и правого синонима, а также тип отношения. Затем идентификаторы будут преобразовываться в векторное представление при помощи эмбеддингов, а тип отношения при помощи one-hot кодирования. Получившаяся архитектура нейросети представлена на рисунке 1:

image001

Рисунок 1. Архитектура нейронной сети с двумя скрытыми слоями.

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

Данная модель обучалась с различными значениями длины эмбеддингов и количества и ширины скрытых слоев. В качестве функции потерь использовалась бинарная перекрестная энтропия, оптимизатора – Adam. Обучение велось до момента возрастания функции потерь три эпохи подряд на валидационном множестве. Сравнить качество полученных моделей можно в таблице 1. В столбце “Модель” указано обозначение модели вида “Base eX Y[-Z]”, где X – размерность эмбеддинга, Y – количество нейронов в первом скрытом слое, Z – количество нейронов во втором скрытом слое (может отсутствовать, если у модели только один скрытый слой).

Таблица 1. Значение метрик качества обученных нейросетей на тестовой выборке.

Модель

Precision

Recall

Accuracy

f1

Base e4 8

0.73

0.69

0.89

0.71

Base e4 8-8

0.73

0.71

0.89

0.72

Base e4 16

0.71

0.68

0.88

0.70

Base e4 16-16

0.77

0.79

0.91

0.79

Base e8 16

0.72

0.69

0.88

0.71

Base e8 16-16

0.77

0.77

0.91

0.77

Base e8 32

0.73

0.72

0.89

0.72

Base e8 32-32

0.81

0.81

0.92

0.81

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

Выводы

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

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

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

Список литературы

  1. Knowledge Graph или граф знаний: что это такое и где применяется [Электронный ресурс]. URL: https://sysblok.ru/glossary/knowledge-graph-ili-graf-znanij-chto-jeto-takoe-i-gde-primenjaetsja/ (дата обращения: 25.12.2022).
  2. Knowledge Graph [Электронный ресурс]. URL: https://www.ibm.com/cloud/learn/knowledge-graph (дата обращения: 25.12.2022).
  3. A guide to Knowledge Graphs [Электронный ресурс]. URL: https://towardsdatascience.com/a-guide-to-the-knowledge-graphs-bfb5c40272f1 (дата обращения: 25.12.2022).
  4. Индустриальные графы знаний — интеллектуальное ядро цифровой экономики [Электронный ресурс]. URL: https://controlengrussia.com/innovatsii/ontologija/ (дата обращения: 25.12.2022).
  5. Knowledge Graphs with Machine Learning [Guide] [Электронный ресурс]. URL: https://neptune.ai/blog/web-scraping-and-knowledge-graphs-machine-learning (дата обращения: 25.12.2022).
  6. WN18 (WordNet18) [Электронный ресурс]. URL: https://paperswithcode.com/dataset/wn18 (дата обращения: 25.12.2022)
  7. Knowledge Graph Embedding – A Simplified Version [Электронный ресурс]. URL: https://towardsdatascience.com/knowledge-graph-embedding-a-simplified-version-e6b0a03d373d (дата обращения: 25.12.2022).
  8. Knowledge Graph and Text Jointly Embedding [Электронный ресурс]. URL: https://www.researchgate.net/publication/301404990_Knowledge_Graph_and_Text_Jointly_Embedding (дата обращения: 25.12.2022)
  9. An introduction to Entity Resolution – needs and challenges [Электронный ресурс]. URL: https://towardsdatascience.com/an-introduction-to-entity-resolution-needs-and-challenges-97fba052dde5 (дата обращения: 25.12.2022).

Интересная статья? Поделись ей с другими: