Графы знаний

Knowledge Graph Embeddings

Google Knowledge Graph содержит 70 миллиардов фактов - и всё равно неполон. Знает ли Wikidata всех детей Пушкина? Все работодателей каждого учёного? Дополнение знаниевых графов через ML-предсказание пропущенных связей - задача, где в 2013-2019 годах появилось несколько элегантных геометрических решений.

  • **Google/Bing Knowledge Panels:** предсказание связанных фактов в поисковой выдаче
  • **Recommendation systems:** граф пользователь-товар-категория для предсказания интересов
  • **Drug discovery:** предсказание взаимодействий лекарство-белок-заболевание

TransE: отношение как трансляция

Google Knowledge Graph содержит 70 миллиардов фактов вида (субъект, отношение, объект): (Москва, столица, Россия), (Пушкин, написал, Евгений_Онегин). Граф неполон - многие факты отсутствуют. **KG Embeddings** отображают сущности и отношения в векторное пространство, чтобы предсказывать недостающие триплеты.

**TransE** (Bordes et al., 2013) - первая простая идея: если тройка (h, r, t) истинна, то вектор головы плюс вектор отношения должен быть близок к вектору хвоста. Отношение работает как трансляция (сдвиг) в пространстве.

  • **Сильные стороны:** прост, быстро обучается, хорошо моделирует 1-to-1 и antisymmetric отношения
  • **Слабые стороны:** не может моделировать симметрию (женат_на), reflexivity, composition через несколько шагов
  • **Сложность:** O(n_e + n_r) параметров, O(1) на scoring

TransE не может корректно моделировать симметричное отношение 'является_другом'. Почему?

DistMult: билинейная диагональная модель

**DistMult** (Yang et al., 2015) заменяет сложение на мультипликацию: вектор отношения r - это диагональная матрица, скорингующая согласованность головы и хвоста. Формально: score(h, r, t) = h^T · diag(r) · t = Σ h_i · r_i · t_i.

**Интуиция:** h · r · t высокое, когда h и t 'согласованы' в направлениях, усиливаемых r. Если r_i > 0 - предпочтительны h_i и t_i одного знака; если r_i < 0 - разного.

Свойство отношенияПримерTransEDistMult
Antisymmetricродитель_of✓✗
Symmetricженат_на✗✓
Inverseкупил / продал✓✗
1-to-Nработает_в✗ (грубо)частично

Почему score(h,r,t) = score(t,r,h) в DistMult?

RotatE: отношение как поворот в комплексной плоскости

**RotatE** (Sun et al., 2019) берёт лучшее из обоих миров: сущности - это комплексные векторы, отношение r действует как поэлементный поворот: t_i = h_i · r_i, где |r_i| = 1 (r_i = e^{iθ_i}).

Что означает ограничение |r_i| = 1 в RotatE?

ComplEx: комплексные эмбеддинги для антисимметрии

**ComplEx** (Trouillon et al., 2016) использует комплексные векторы для сущностей и отношений, но без ограничения |r_i| = 1. Scoring: Re(Σ h_i · r_i · conj(t_i)) - вещественная часть трилинейной формы с комплексным сопряжением.

МодельПараметрыСимметрияАнтисимметрияИнверсияСоставFB15k MRR
TransE2n+m✗✓✓✓0.294
DistMult2n+m✓✗✗✗0.241
ComplEx4n+2m✓✓✓✗0.347
RotatE4n+m✓✓✓✓0.338

**Evaluation metrics для KG Embeddings:** MRR (Mean Reciprocal Rank) - среднее 1/rank_true по всем тестовым триплетам. Hits@k - доля триплетов, где истинная сущность вошла в top-k. Тест-бенчмарки: FB15k-237 (237K триплетов, 14K сущностей), WN18RR (93K триплетов, WordNet).

Почему DistMult не может моделировать антисимметричные отношения, а ComplEx - может?

Прогресс KG Embedding моделей

  • **TransE (2013):** h + r ≈ t, прост, но не может моделировать симметрию
  • **DistMult (2015):** h · diag(r) · t, симметричен по построению, слаб на антисимметрии
  • **RotatE (2019):** r как поворот e^{iθ}, моделирует все паттерны кроме composition
  • **ComplEx (2016):** Re(h · r · conj(t)), сочетает симметрию и антисимметрию

Связанные темы

KG Embeddings соединяют символьный ИИ (графы знаний) с нейросетевыми методами.

  • GNN на графах знаний — Следующий шаг: графовые нейросети вместо прямых embedding lookup
  • Word Embeddings (Word2Vec, GloVe) — Аналогичная идея: семантика через геометрию векторного пространства

Вопросы для размышления

  • Какие паттерны отношений реального мира (например, в медицинском знаниевом графе) не моделируются ни одной из рассмотренных моделей?
  • Как метрика Hits@10 может вводить в заблуждение при сравнении моделей на графах с разной структурой?
  • Почему задача link prediction в знаниевых графах принципиально сложнее, чем предсказание отсутствующих рёбер в обычных графах?

Связанные уроки

  • la-15-svd
Knowledge Graph Embeddings

0

1

Войти