Что такое 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)