ComplEx (Complex Embeddings for Simple Link Prediction) is a knowledge graph embedding model that extends bilinear factorization into the complex number domain — using complex-valued entity and relation vectors to elegantly model both symmetric and antisymmetric relations simultaneously, achieving state-of-the-art link prediction by exploiting the asymmetry inherent in complex conjugation.
What Is ComplEx?
- Definition: A bilinear KGE model where entities and relations are represented as complex-valued vectors (each dimension has a real and imaginary part), scored by the real part of the trilinear Hermitian product: Score(h, r, t) = Re(sum of h_i × r_i × conjugate(t_i)).
- Key Insight: Complex conjugation breaks symmetry — Score(h, r, t) uses conjugate(t) but Score(t, r, h) uses conjugate(h), so the two scores are different for asymmetric relations.
- Trouillon et al. (2016): The original paper demonstrated that this simple extension of DistMult to complex numbers enables modeling the full range of relation types.
- Relation to DistMult: When imaginary parts are zero, ComplEx reduces exactly to DistMult — it is a strict generalization, adding expressive power at 2x memory cost.
Why ComplEx Matters
- Full Relational Expressiveness: ComplEx can model symmetric (MarriedTo), antisymmetric (FatherOf), inverse (ChildOf is inverse of ParentOf), and composition patterns — the four fundamental relation types in knowledge graphs.
- Elegant Mathematics: Complex numbers provide a natural geometric framework — symmetric relations correspond to real-valued relation vectors; antisymmetric relations require imaginary components.
- State-of-the-Art: For years, ComplEx held top positions on FB15k-237 and WN18RR benchmarks — demonstrating that the complex extension is practically significant, not just theoretically elegant.
- Efficient: Same O(N × d) complexity as DistMult (treating complex d-dimensional as real 2d-dimensional) — no quadratic parameter growth unlike full bilinear RESCAL.
- Theoretical Completeness: Proven to be a universal approximator of binary relations — given sufficient dimensions, ComplEx can represent any relational pattern.
Mathematical Foundation
Complex Number Representation:
- Each entity embedding: h = h_real + i × h_imag (two real vectors of dimension d/2).
- Each relation embedding: r = r_real + i × r_imag.
- Score: Re(h · r · conj(t)) = h_real · (r_real · t_real + r_imag · t_imag) + h_imag · (r_real · t_imag - r_imag · t_real).
Relation Pattern Modeling:
- Symmetric: When r_imag = 0, Score(h, r, t) = Score(t, r, h) — symmetric relations have zero imaginary part.
- Antisymmetric: r_real = 0 — Score(h, r, t) = -Score(t, r, h), perfectly antisymmetric.
- Inverse: For relation r and its inverse r', set r'_real = r_real and r'_imag = -r_imag — the complex conjugate.
- General: Any combination of real and imaginary components models intermediate symmetry levels.
ComplEx vs. Competing Models
| Capability | DistMult | ComplEx | RotatE | QuatE |
|---|---|---|---|---|
| Symmetric | Yes | Yes | Yes | Yes |
| Antisymmetric | No | Yes | Yes | Yes |
| Inverse | No | Yes | Yes | Yes |
| Composition | No | Limited | Yes | Yes |
| Parameters | d per rel | 2d per rel | 2d per rel | 4d per rel |
Benchmark Performance
| Dataset | MRR | Hits@1 | Hits@10 |
|---|---|---|---|
| FB15k-237 | 0.278 | 0.194 | 0.450 |
| WN18RR | 0.440 | 0.410 | 0.510 |
| FB15k | 0.692 | 0.599 | 0.840 |
| WN18 | 0.941 | 0.936 | 0.947 |
Extensions of ComplEx
- TComplEx: Temporal extension — time-dependent ComplEx for facts valid only in certain periods.
- ComplEx-N3: ComplEx with nuclear 3-norm regularization — dramatically improves performance with proper regularization.
- RotatE: Constrains relation vectors to unit complex numbers — rotation model that provably subsumes TransE.
- Duality-Induced Regularization: Theoretical analysis showing ComplEx's duality with tensor decompositions.
Implementation
- PyKEEN: ComplExModel with full evaluation pipeline, loss functions, and regularization.
- AmpliGraph: ComplEx with optimized negative sampling and batch training.
- Manual PyTorch: Define complex embeddings as (N, 2d) tensors; implement Hermitian product in 5 lines.
ComplEx is logic in the imaginary plane — a mathematically principled extension of bilinear models into complex space that elegantly handles the full spectrum of relational semantics through the geometry of complex conjugation.
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.