Sobes.tech
Middle — Senior

Что такое knowledge graph embeddings (TransE, RotatE, ComplEx)?

sobes.tech AI

Ответ от нейросети

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

Основные модели:

  • TransE: моделирует отношения как векторы, добавляемые к вектору сущности. Если (h, r, t) — тройка (голова, отношение, хвост), то модель стремится к тому, чтобы ( h + r \approx t ). Простая и эффективная, но плохо работает с отношениями типа "многие ко многим".

  • RotatE: расширяет идею TransE, представляя отношения как вращения в комплексной плоскости. Это позволяет лучше моделировать различные типы отношений, включая симметричные и антисимметричные.

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

Пример идеи TransE:

Если у нас есть факт: (Париж, столица_страны, Франция), то векторы должны удовлетворять ( ext{Париж} + ext{столица_страны} \approx ext{Франция} ).

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

sobes.tech AI

Ответ от нейросети

Knowledge graph embedding — это метод представления сущностей и отношений из графа знаний в виде векторов в непрерывном пространстве. Это позволяет эффективно использовать графы знаний в задачах машинного обучения, например, для предсказания новых связей или классификации.

Основные модели:

  • TransE: моделирует отношения как векторные сдвиги. Для триплета (голова, отношение, хвост) пытается сделать так, чтобы вектор головы + вектор отношения был близок к вектору хвоста. Простая и быстрая модель, хорошо работает для отношений типа "один-к-одному".

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

  • ComplEx: расширяет DistMult в комплексном пространстве, что позволяет моделировать асимметричные отношения, благодаря комплексным числам и их сопряжению.

  • RotatE: представляет отношения как вращения в комплексной плоскости. Голова вращается на угол, соответствующий отношению, чтобы получить хвост. Позволяет моделировать различные свойства отношений (симметрия, асимметрия, инверсию).

Пример использования TransE (псевдокод):

# head + relation ≈ tail
head_vec = embedding['Paris']
relation_vec = embedding['isCapitalOf']
tail_vec = embedding['France']
score = -np.linalg.norm(head_vec + relation_vec - tail_vec)