知識グラフと言語処理

最近、知識グラフに関する研究に注目しています。

知識グラフは、知識の断片を「主語ー述語ー目的語」の3つ組で表して、3つ組の集合として知識を記述する方法です。
このように3つ組にするということは、数学的には2項関係の集合として知識を書くこと、つまり2引数の原始論理式(Atomic Formula)の
集合として、知識を書くということになる。知識グラフというように、主語と目的語をノードとして、述語をエッジとして表せば、3つ組の集合はグラフ構造になります。

なお、知識グラフはオントロジーとはそのままでは対応しません。オントロジーの3つ組はRDF(またはRDFS)に沿っていなければなりません。特に、クラス間をリンクでつなぐのではなく、2つの概念ノード間を属性ノードを通してdomrain, rangeリンクでつなぐ形の3つ組でなければなりません。

話を戻して、知識グラフは、2項関係(事実型知識)しか表せませんので、記述できる知識は限られますがその分扱いが簡単になります。知識グラフに対して、知識グラフ上でのスコア関数を学習する(例えばTransE, ComplEx)ことで、ノードやリンクの予測(補完)問題を高い精度で解けるようになってきています。

さらに知識グラフと言語処理を深層学習のフレームワークの中で融合できる点が注目されます。2017年からSymbolic-Neural Learingをいう国際ワークショップを開催してきましたが、まさにこのような研究の盛り上がりを期待していたわけです。

余談ですが、国際会議の査読をしていると、時々純粋な知識グラフに関する論文が言語処理の国際会議に投稿されてきて、これは言語処理に関する国際会議のスコープ内の論文なのだろうかと悩むこともあります。何らかの形で言語処理とつないでくれれば悩まなくてよいのですが。