NeuSymEA — Neuro-Symbolic Entity Alignment の実装(NeurIPS25)

AI/ML

概要

NeuSymEA-NeurIPS25 は、NeurIPS’25 採択論文「NeuSymEA: Neuro-symbolic Entity Alignment via Variational Inference」の公式コードリポジトリです。既存のニューラルベースの Entity Alignment(EA)モデルを「基底モデル」として利用し、論理的制約やシンボリックな関係性を変分推論(variational inference)の枠組みで組み込むことで、学習データが少ない場合やノイズの多い設定でも整合性能を改善することを狙います。リポジトリは Python 実装で、ベースモデルの実行、NeuSymEA のパイプライン実行、必要ライブラリ管理用の requirements.txt が提供されています。

GitHub

リポジトリの統計情報

  • スター数: 9
  • フォーク数: 0
  • ウォッチャー数: 9
  • コミット数: 2
  • ファイル数: 16
  • メインの言語: Python

主な特徴

  • ニューラル EA モデル(例: LightEA)をそのままベースに採用し、上位レイヤーでシンボリック制約を組み込むハイブリッド設計
  • 変分推論によりエンティティ対応の確率分布を推定し、ノイズや欠損に対して堅牢な推定を実現
  • 再現用スクリプト(run-baseline.py、run-neusymea.py)と最小限の設定で実験が可能
  • 軽量なコードベースで研究用の改良や実験拡張がしやすい構成

技術的なポイント

NeuSymEA の核は「ニューラルな特徴表現」と「シンボリックな関係制約」を結合する点にあります。従来のニューラル EA モデルはエンティティ埋め込みの構築とマッチングによって整合を行いますが、局所的な類似性に依存するため、トレーニングデータが少ないと性能が落ちやすいという課題があります。本手法では、まず既存の EA モデル(LightEA など)を基底モデルとして用い、これが生成するペアワイズスコアや埋め込みを観測データと見なします。その上で、シンボリック制約(例えば一対多の関係制約やタイプ整合性、論理的転移規則など)を確率モデルとして定式化し、エンティティ対応の潜在分布を変分推論で推定します。

変分推論を用いる利点は、潜在変数(ここではエンティティ対応)の不確かさを明示的に扱える点にあります。観測されたニューラルスコアとシンボリック制約の双方から得られるエビデンスを統合することで、単独の手法よりも高い精度と安定性を実現します。実装面では、ベースモデルの出力をそのまま利用できるインタフェースを用意し、変分近似の最適化は既存の最適化ライブラリ(PyTorch 等)上で行う設計になっています。README にある実行例から分かる通り、データセット指定(例: fr_en)、学習割合(—train_ratio)、GPU 指定(—gpu)などのパラメータで実験条件を簡単に切り替えられます。こうした設計は、他の EA モデルや追加のシンボリックルールを差し替えての比較実験や ablation を行う際に有用です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .DS_Store: file
  • LICENSE.txt: file
  • common: dir
  • config.py: file
  • data: dir
  • run-baseline.py: file
  • run-neusymea.py: file
  • requirements.txt: file
  • README.md: file
  • scripts: dir(補助スクリプトや実験管理用スクリプトが想定される)
  • models: dir(ベース EA モデルのラッパー等)
  • utils.py: file(ユーティリティ関数) …他 11 ファイル

(注:上記は README とリポジトリの記載を基に主要構成を要約しています。実際のファイル名や配置はリポジトリを参照してください。)

使い方と再現性

README の「QUICK START」に従えば、以下の流れで動作確認が可能です。

  1. 依存パッケージのインストール: pip install -r requirements.txt
  2. ベースラインモデルの実行(例): python run-baseline.py —dataset fr_en —train_ratio 0.01 —ea_model lightea —gpu 1
  3. NeuSymEA の実行(例): python run-neusymea.py —dataset fr_en —train_… (引数でベースモデルや学習率、エポック等を指定) このように、既存の EA モデルをそのまま使えるため、比較実験や新たな制約の導入が容易です。

まとめ

Neuro と Symbolic を変分推論で橋渡しする実験実装 — 再現と拡張性に優れる。

リポジトリ情報:

READMEの抜粋:

Official Code of NeurIPS’25 paper NeuSymEA: Neuro-symbolic Entity Alignment via Variational Inference

QUICK START

1. Install the required packages

pip install -r requirements.txt

2. Run the baseline model (e.g. lightea)

python run-baseline.py --dataset fr_en --train_ratio 0.01 --ea_model lightea --gpu 1 

3. Run neuSymEA with the lightea model as base ea model

python run-neusymea.py --dataset fr_en --train_...