# 定義文自動生成による 専門分野向けエンティティリンキングの精度向上

石垣達也 ${ }^{1}$ 上原由衣 ${ }^{1}$ 劉珊珊 ${ }^{1}$ 松本裕治 ${ }^{2}$ 高村大也 ${ }^{1}$
1 産業技術総合研究所 2 理化学研究所
\{ishigaki.tatsuya, yui.uehara, shanshan.liu, takamura.hiroya\}@aist.go.jp
yuji.matsumoto@riken.jp

## 概要

本研究では，専門分野向けのエンティティリンキ ング (EL)を複数の知識べースから獲得した定義文 を用いて学習する枠組みを扱う．ELは入力文中の 言及 (メンション)を知識ベース中のエンティティ に紐付ける問題である. 候補エンティティの定義文 を埋め込み表現で表し，リンクするか否かを判定す る分類器の学習に用いる手法が知られている. しか し, 定義文は知識ベース中のすべてのエンティティ に付与されているとは限らず，欠損が生じているこ とがしばしばある。そこで，欠損した定義文を言語生成技術により補完することを提案する。 より具体的には，複数の知識ベースを利用し，片方の知識 ベースの定義文からもう片方の知識べースの定義文 を生成することにより，欠損した定義文を互いに補 い合う．また，元々の定義文および生成した疑似定義文を有効活用するためのエンティティリンキン グモデルのアーキテクチャについて調査を行った. MedMentions を用いた実験において，疑似定義文も 活用するモデルが既存手法よりも有意に上回る性能 を示した。

## 1 はじめに

エンティティリンキング (EL) は入力文に含ま れる固有名詞などの言及 (メンション)を, 知識 ベース中のエンティティに対応付ける問題である. Wikipedia などの一般分野の知識ベースにリンクす る設定 [1, 2] のほか, 分野特化の設定 [3] が存在す る. 本研究では特に生物医学の UMLS にリンクす る後者の設定を扱う. どちらの設定でも，標準的な アプローチでは，1) 入力文の言及を検出し，2) 知識 ベースから候補エンティティを抽出した上で，3) 候補をスコアリングする. 本研究では特にスコアリン

図 1: 疑似定義文を用い EL モデルを学習する枠組み.

グ部分に着目し，言及と候補エンティティを適切に 埋め込み表現に変換し, それらがリンクするか否か 正しく判定する分類器の構築を目指す.

従来，EL モデルでは言及と候補エンティティそ れぞれを埋め込みべクトルとして表現し，類似度や 教師あり学習を用いてリンクするか否か判定する 手法がよく用いられている。言及は主に BERT [4]等でベクトル化するのが標準的であるが，候補エン ティティのベクトル化にはエンティティ名を用い る手法やグラフ構造を用いる手法など様々な方法 がある。また，知識べースの各エンティティの定義文 ${ }^{1)}$ を用いる手法もあり，その有効性が知られて いる [2]. しかし, 定義文は必ずしもすべてのエン ティティに対し用意されているわけではない。そこ で，本研究では言語生成技術により定義文を生成し EL モデルの学習に用いる枠組みを提案する。とく に複数の知識ベースから定義文を取得し，欠損する 定義文を言語生成により互いに補完する。

図 1 に示すように，提案する枠組みは，まず UMLS と MeSH, UMLS とWikipedia の対応付けデー タ [5] から，UMLS エンティティに対し MeSH およ び Wikipedia に含まれる定義文を取得する. ただし，

1）一文からなることが多い短いテキストなので，本論文では 定義文と呼ぶが，実際は複数の文から成ることもある.

これらの定義文は欠損している可能性がある. そこ で，MeSH および Wikipedia 両方に定義文が存在す る事例を用いて，2つの言語生成モデル [6] を学習 する. 1 つ目は MeSH の定義文を入力し Wikipedia の定義文らしい出力を自動生成するモデル，2つ目 は Wikipedia の定義文から MeSH の定義文らしい出力を生成するモデルである. これら 2 つの言語生成モデルを用い，知識べースに存在する MeSH お よび Wikipedia の定義文から疑似的な MeSH および Wikipedia の定義文を獲得する。これにより，MeSH もしくは Wikipedia いずれかに定義文が獲得できれ ば欠損テキストに対し疑似的な定義文を獲得でき，定義文の欠損の問題が軽減できると考えられる. 最終的に1つの候補エンティティに対し, MeSH およ び Wikipedia の定義文とそれらから自動生成した疑似的な定義文という 4 種類のテキストを得る.

複数の種類の定義文を利用するエンコードモデル として 2 種類の方法を提案する. 具体的には 1) 久損箇所を疑似定義文で補完する手法，2）疑似定義文 を疑似定義文用のエンコーダで読み込む手法を比較 する. MedMentions [7]を用いた実験より，2) の学習手法，すなわち MeSH 定義文，Wikipedia 定義文，ま たそれぞれに対し自動生成した疑似定義文の 4 種類 を異なるエンコーダで読み込む手法が良い性能を示 すことが分かった．疑似定義文も用いて学習したモ デルは既存手法 [3] よりも良い性能を示すことを報告する。この結果は，従来人間が読むテキストを生成することを目的としていた言語生成モデルの新た な応用の可能性を示すものである.

## 2 関連研究

EL の既存設定は Wikipedia や Freebase [8] など一般分野の知識ベースを対象とする設定 $[1,9,2]$ や, UMLS [10] などの専門分野の知識ベースをリンク先 とする設定が存在する。これらは，テキストデータ の利用という観点では定義文を用いる設定 $[1,2]$ と 定義文を用いずエンティティ名，エイリアス名，グ ラフ構造 [9] といった定義文以外を用いる設定 [9] に分けられる。定義文を用いる設定はただ 1 つの 定義文の存在を仮定しており，1つの候補エンティ ティに対し複数種類の定義文を用いる本研究の設定 と異なる。

EL の既存手法には入力文のエンティティ抽出と 知識ベースエンティティへのリンキングを同時に行 う手法 [11]，それぞれ別に行う手法 [3] が存在する。

図 2: MeSH および Wikipedia の定義文.

本研究では特に候補エンティティに対するスコアリ ングに着目し, 既存のエンティティ抽出および候補 エンティティ生成を用いる.

一方，Wikipedia や Web コーパスから事前学習し た言語生成モデルが，要約など多くの生成タスクに おいて良い性能を示している. 本研究でも，疑似定義文の生成に Wikipedia から事前学習した BART [6] を用いる。言語生成モデルと ELを組み合わせた手法としては, 出力エンティティ名を言語生成モデル で直接生成する手法 [12] が注目されている. これに 対し本研究は, 既存の分類問題として ELを行う枠組みで学習可能な疑似的な学習データを作成するた めに言語生成モデルを用いる.

## 3 提案手法

本研究では， 4 種類の定義文を用いる。すなわち， 1) UMLS とリンクされた MeSH の定義文, 2) UMLS とリンクされた Wikipedia の定義文，3) Wikipedia の 定義文から自動生成された疑似的な MeSH 定義文， および 4) MeSH の定義文から自動生成された疑似的 な Wikipedia 定義文である．以後，疑似的な定義文 を自動生成する手法，ベースラインとして用いる既存モデル MedLinker および複数ソースの定義文を活用するためのモデル拡張について述べる.

## 3.1 定義文の獲得

本研究では特に MedMentions データセットを用 いる設定を扱う.この設定は, PubMed の論文要旨に含まれる言及を，UMLS エンティティに付け る. 図 2 に示すように，MedMentions に出現する UMLS エンティティのうち $80 \%$ にいては MeSH の定義文が取得可能である. すなわち，残りの 20\%については MeSH の定義文が欠損する。一方， MedMentions に出現する UMLS エンティティのうち 20\%については Wikipedia 定義文が取得可能である. さらに MedMentions 全体のうち 18\%は MeSH および Wikipedia の両方の定義文が存在する.

本研究では両方から定義文が取得可能な 18\%部分 を言語生成モデルの学習に用いる.1つ目は MeSH

の定義文を大力とし，疑似的な Wikipedia 定義文を 生成するモデルである. 2 つ目は Wikipedia の定義文を入力し，疑似的な Mesh 定義文を生成するモ デルである. これらの言語生成モデルは英語版の Wikipedia で事前学習された BARTを用い, MeSH お よび Wikipedia の定義文を生成するよう追加学習を 行った.

## 3.2 ベースモデル: MedLinker

ベースラインとする既存手法 MedLinker [3] につ いて述べる.

MedLinker の学習済み配布モデル ${ }^{2)}$ を，言及抽出，候補生成に用いる. MedLinkerによる候補スコアリ ングは定義文の情報は用いず，1) 入力文中の言及の みを大力として計算するスコアおよび，2) 言及と候補エンティティのコサイン類似度による表層一致ス コアを組み合わせる手法である. 本研究では 4 つの 定義文も考慮するスコアを用いて MedLinker を拡張 する. 以下に MedLinker の2つのスコアについて概説する.

1つ目のスコア ScoreCLF はニューラルネットワー クによるスコアリングであり，以下のように入力文中の言及 ent および候補エンティティ $c$ に対するス コアを計算する:

$
\begin{gathered}
\mathbf{s}=\operatorname{Softmax}\left(\mathbf{W}_{e} \text { AverageBERT }(\text { ent })\right), \\
\operatorname{ScoreCLF}(e n t, c)=\mathbf{s} \cdot \delta_{c} .
\end{gathered}
$

ここで，AverageBERT は入力文全体を読み込みエン ティティ部分のサブワードに対する埋め込み表現の 平均值を返す．実際には，BERT の最終層だけでな く，その 2 つ前までの層におけるべクトル表現も含 め平均ベクトルを計算する. 重み行列 $\mathbf{W}_{e}$ とソフト マックス関数を用いて，学習データに含まれるエン ティティ種類数と同じ数の次元を持つ確率分布 $\mathbf{s}$ に 変換する. よって，各次元が学習データに含まれる UMLS エンティティとリンクするか否かを表現する スコアとなる. 候補エンティティ $c$ に対応する要素 のみが 1 をとる one-hot ベクトル $\delta_{c}$ との内積を計算 することで，候補エンティティ $c$ に対するスコアを 得る.

2 つ目のスコア scoreSTR は ent と c のエンティ ティ名をそれぞれ文字 1 グラムから 4 グラムを用い て素性べクトルとし, 表層一致度をコサイン類似度 を用いて計算した:


$
\operatorname{scoreSTR}(e, c)=\cos (e, c)
$

ここで， $\cos ()$ はコサイン類似度を返す。これら 2 つ のスコアの最大値が最終的なスコアとなる.

## 3.3 定義文を活用するモデル

次に，既存モデルを定義文を用いるよう拡張する.この拡張では, MedLinker での 2 つの スコアに加え，定義文を用いてスコアリング する提案スコア ScoreDef を計算し，3つのスコ アの最大値を最終的なスコアとする: Score = max(ScoreSTR, ScoreCLF, ScoreDef). ScoreDef の計算手法として，1) MeSH 定義文を用いる手法，2) MeSH および Wikipedia 定義文を用いる手法，3) 疑似定義文で MeSH および Wikipedia 定義文の欠損を補完す る手法，および 4) 別のエンコーダで 4 種類の定義文 を読み込む手法を比較する。

1. MeSH 定義文を用いる手法: MeSH の定義文 $d e f_{M}$ を用いて候補エンティティ $c$ に対しスコア計算する 以下の手法を用いる:

$
\begin{aligned}
& \operatorname{ScoreDef}(\text { ent }, c)=\operatorname{Softmax}\left(\mathbf{W}_{M}[\right. \\
& \text { AverageBERT(ent); } \\
& \left.\left.\operatorname{BERT}_{M}\left(d e f_{M}\right)\right]\right),
\end{aligned}
$

ここで，BERT ${ }_{M}$ は候補エンティティの MeSH 定義文 を BERT で読み込み，先頭に付与された [CLF]トー クンに対する表現べクトルを返す。また，[;] は結合 ベクトルを表し， $\mathbf{W}_{M}$ は結合ベクトルを 2 次元に圧縮する重み行列である.

2. MeSH および Wikipedia の定義文を用いる手法: さらに，複数種類の定義文を用いる効果を検証する ため，Wikipedia の定義文も用いスコアリングする モデルを考える:

$
\begin{aligned}
\operatorname{ScoreDef}(\text { ent }, c)= & \operatorname{Sof} \operatorname{tmax}\left(\mathbf{W}_{M+W}[\right. \\
& \text { AverageBERT }(\text { ent }) ; \\
& \left.\left.\operatorname{BERT}_{M}\left(\text { def }_{M}\right) ; \operatorname{BERT}_{W}\left(\text { de } f_{W}\right)\right]\right),
\end{aligned}
$

ここで，BERT $W_{W}$ は Wikipedia 定義文先頭の $[$ CLF] トー クンに対する埋め込み表現で， $\mathbf{W}_{M+W}$ は結合ベクト ルを二次元に圧縮するための重み行列である。

3. 定義文の欠損を疑似定義文で補完する手法: 前述 したように MeSH の定義文や Wikipedia 定義文は欠損する。その場合，空のサブトークン列の先頭に [CLF] トークンが付与され読み込まれるため，エン ティティの定義に関する情報を活用できない。その

ため，欠損箇所を自動生成した疑似定義文で補完す るモデルを提案する:

$
\begin{aligned}
& \text { ScoreDef }(\text { ent }, c)=\operatorname{Softmax}\left(\mathbf{W}_{M+W+A u g}[\right. \\
& \text { AverageBERT(ent); } \\
& \operatorname{BERT}_{M}\left(\text { de }_{\text {Aug } M}\right) ; \\
& \left.\left.\operatorname{BERT}_{W}\left(d e f_{A u g W}\right)\right]\right),
\end{aligned}
$

ここで，BERT ${ }_{A u g M}$ および BERT ${ }_{A u g W}$ は MeSH または Wikipedia 定義文が欠損する場合に，疑似定義文で補完したテキストの埋め込み表現を表す。 $\mathbf{W}_{M+W+A u g}$ は前述した手法と同様に重み行列である.

4. 4 つの定義文を異なるエンコーダで読み込む手法:前述した補完による手法は, 自動生成した疑似定義文と MeSH もしくは Wikipedia に含まれる定義文を 区別せず，それぞれ単一のエンコーダで読み込む。 ここで，疑似定義文と本来の定義文は区別し別のエ ンコーダで読み込む手法を提案する：

$\operatorname{ScoreDef}($ ent,,$c)=\operatorname{Softmax}\left(\mathbf{W}_{M+W+\operatorname{Sep}}[\right.$ AverageBERT (ent); $\operatorname{BERT}_{M}\left(\right.$ de $\left._{M}\right)$; $\operatorname{BERT}_{W}\left(\right.$ de $\left.f_{W}\right)$; BERT $_{\text {PseudoM }}\left(\right.$ def $\left._{\text {Pseudo }}\right)$; BERT $_{\text {Pseudow }}\left(\right.$ de $\left.\left.\left._{\text {Pseudow }}\right)\right]\right)$,

ここで，BERT Pseudow および BERT PseudoM は疑似定義文をそれぞれ読み込む BERTである。

## 4 実験

実験には MedMentions st21pv [7] データを用いた. MedMentions は PubMed の論文要旨を UMLS に人手 でリンクしたデータを格納している．UMLS エン ティティには固有の ID である CUI の他に STR と呼 ばれるカテゴリに相当する ID も含むが，本研究で はより難しい問題である CUIアノテーションを正解 として用いる。実験には MedMentions データセット の学習，開発および評価用のデータ分割を用いた。 ScoreSTR，ScoreCLF の計算には学習済みモデルを 用い，提案スコアの ScoreDef は学習セットを用い て学習した. 評価指標には MedLinker との比較のた め，適合率，再現率， $\mathrm{F}$ 值を用いる。

## 5 結果

表 1 に結果を示す. MedMentions 全体での評価を表の左側に示す. ScoreDef は MeSH および Wikipedia 定義文の両方もしくはいずれかが存在す

表 1: MedMentions 全体での評価 (左) と MeSH もしく は Wikipedia いずれかもしくは両方の定義文が入手 できる部分での評価 (右). *別エンコーダモデルと UMLS+Wikipedia モデルとの差は統計的に有意 $(p<0.01)$.

る場合に計算できる. よって，両方が存在しない場合には MedLinker のスコアと変化がない. よって， ScoreDef の計算可能な部分 (図 2 における青と緑部分の和集合) のみでの評価も行う。また, $\mathrm{MeSH}$ も しくは Wikipedia の少なくともいずれかの定義文が 存在しScoreDef が計算可能な部分のみでの評価は 表 1 の右側に示す.

MedMentions 全体での評価では，定義文の情報を 用いない MedLinker のF 值は 48.36であるのに対し，定義文を用いる手法では $\mathrm{F}$ 值が 48.57 まで向上し た. さらに，さらに複数種類の定義文を用いる拡張 として Wikipedia の定義文を追加すると $\mathrm{F}$ 値が 48.61 まで向上した．疑似的な定義文も用いる 2 つのモデ ルは補完による手法が 48.62 であり効果が見られな かった。一方，別のエンコーダで読み込むモデルで は 48.75 と性能を向上させ，別エンコーダで読み込 む手法が有効であることが分かった。

ScoreDef の計算可能な部分での評価では, MedLinker と疑似定義文を用いる手法の性能差 は MedMentions 全体での評価值での性能差より 大きい. 具体的には MedMentions 全体での評価で は MedLinker の F 值からの向上が 0.39 (48.36 から 48.75) なのに対し, ScoreDef が計算可能な部分では 0.62 (50.27 から 50.89) であった. よって，定義文を 用いるスコア関数によってスコアが変わる部分に対 して，提案した枠組みはより効果的に作用している ことがわかる.

## 6 おわりに

本研究では専門分野向け EL モデルの学習に，言語生成モデルにより作成した疑似的な定義文を活用 する新たな枠組みを提案した。実験より，疑似的な 定義文であっても EL モデルの性能を向上させるこ とが分かった。この知見は，言語生成モデルの新た な活用法としての新たな可能性を示すものである。

## 謝辞

この成果は, 国立研究開発法人新エネルギー・産業技術総合開発機構 (NEDO) の助成事業 (JPNP16010) の結果得られたものである. 産総研の AI 橋渡しク ラウド $(\mathrm{ABCI})$ を利用し実験を行った.

## 参考文献

[1] Rada Mihalcea and Andras Csomai. Wikify! linking documents to encyclopedic knowledge. In Proceedings of 29th ACM International Conference on Information and Knowledge Management, p. 233-242, New York, USA, 2007. Association for Computing Machinery.

[2] Manoj Prabhakar Kannan Ravi, Kuldeep Singh, Isaiah Onando Mulang', Saeedeh Shekarpour, Johannes Hoffart, and Jens Lehmann. CHOLAN: A modular approach for neural entity linking on Wikipedia and Wikidata. In Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume, pp. 504-514, Online, April 2021. Association for Computational Linguistics.

[3] Daniel Loureiro and Alípio Mário Jorge. In Joemon M. Jose, Emine Yilmaz, João Magalhães, Pablo Castells, Nicola Ferro, Mário J. Silva, and Flávio Martins, editors, Proceedings of 42nd European Conference on Information Retrieval.

[4] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[5] Afshin Rahimi, Timothy Baldwin, and Karin Verspoor. WikiUMLS: Aligning UMLS to Wikipedia via crosslingual neural ranking. In Proceedings of the 28th International Conference on Computational Linguistics, pp. 5957-5962, Barcelona, Spain (Online), December 2020. International Committee on Computational Linguistics.

[6] Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Veselin Stoyanov, and Luke Zettlemoyer. BART: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7871-7880, Online, July 2020. Association for Computational Linguistics.

[7] Sunil Mohan and Donghui Li. Medmentions: A large biomedical corpus annotated with \{umls\} concepts. In Proceedings of Automated Knowledge Base Construction (AKBC), 2019.

[8] Kurt Bollacker, Colin Evans, Praveen Paritosh, Tim Sturge, and Jamie Taylor. Freebase: a collaboratively created graph database for structuring human knowledge. In SIGMOD '08: Proceedings of the 2008 ACM SIGMOD inter- national conference on Management of data, pp. 12471250, New York, NY, USA, 2008. ACM.

[9] Zhicheng Zheng, Xiance Si, Fangtao Li, Edward Y. Chang, and Xiaoyan Zhu. Entity disambiguation with freebase. In Proceedings of the The 2012 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technology - Volume 01, WI-IAT '12, p. 82-89, USA, 2012. IEEE Computer Society.

[10] Olivier Bodenreider. The unified medical language system (umls): integrating biomedical terminology. Nucleic Acids Res., Vol. 32, No. Database-Issue, pp. 267-270, 2004.

[11] Nikolaos Kolitsas, Octavian-Eugen Ganea, and Thomas Hofmann. End-to-end neural entity linking. In Proceedings of the 22nd Conference on Computational Natural Language Learning, pp. 519-529, Brussels, Belgium, October 2018. Association for Computational Linguistics.

[12] Nicola De Cao, Gautier Izacard, Sebastian Riedel, and Fabio Petroni. Autoregressive entity retrieval. In Proceedings of The Ninth International Conference on Learning Representations (ICLR2021), 2021.
 石垣達也 ${ }^{1}$ 上原由衣 ${ }^{1}$ 劉珊珊 ${ }^{1}$ 松本裕治 ${ }^{2}$ 高村大也 ${ }^{1}$ 1 産業技術総合研究所 2 理化学研究所 \{ishigaki.tatsuya, yui.uehara, shanshan.liu, takamura.hiroya\}@aist.go.jp yuji.matsumoto@riken.jp  