人工知能はどこまで比喩表現を理解できるのか

論文:Neural Metaphor Detection in Context

自然言語処理を応用したサービスを作るとき、ユーザーが入力したテキストから「ユーザーが何を考えているのか」を読み取ることは、適切な反応を行うために重要です。

しかし、自然言語による表現には様々なバリエーションがあり、ときに機械では処理しきれないようなメッセージが入力されてしまうこともあります。

一般によく使うものの機械が処理しづらい自然言語の表現として、”比喩”はその一つの例と言えます。本論文では比喩検出タスクにニューラルネットワークを導入し、機械が比喩表現をどの程度認識できるのかについて検証しています。ニューラルネットワークを用いたシンプルなシステムは高い精度で比喩表現を検出できる一方で、比喩検出には解決できていない課題が多くあることがわかりました。

自然言語における比喩表現

比喩表現とは、字義通りの意味で用いられていない単語の用例を指します。例えば以下のような例です。

ここで、字義通りの意味で用いられている動詞はイタリック体、比喩として用いられている動詞は太字で示されています。

一つ目の文における「examining」は直後の表現を受けて「顕微鏡で調べる」という意味になりますが、実際に国家を顕微鏡で調べることはでないので比喩表現であることがわかります。同様に2つ目の文は字義通り「溺れた学生」を指していますが、三つ目の文は「学生ローンに溺れている」という比喩表現になっています。

こうした言い回しは一般的に使われ、人間にとっては簡単に意味が理解できるものです。しかし、「examining=検査する」や「drowning=溺れる」という意味をそのまま記憶している機械には処理しづらい表現であると言えます。

比喩表現の処理はなぜ重要か

人間同士の会話であれば、比喩表現は日常的に利用されます。もし機械が比喩表現をうまく処理できるようになれば、より人間らしい対話が実現できると考えられます。現在の自然言語処理システムでは比喩を扱うことが難しいため、ユーザーも自ずと比喩表現を避けた入力をしています。しかし今後AIが発展していく中で、ユーザーは自然な対話としてAIに比喩表現の理解を求め、比喩表現を用いたシステムの利用を期待すると考えられます。そうした要求に応えるために、比喩の検出の研究は重要です。

また自然言語処理の知識がある方であれば、上の例で示された「借金に溺れる」という表現などを慣用句として辞書などに登録してしまえばいいと感じるかもしれません。もちろんそうした解決方法も考えられますが、字義を超えた比喩表現には無限の可能性があるため、その全てを辞書などで取り扱うことは難しいと考えられます。

つまり、実際に使われる自然言語から言葉の意味を学習し、比喩表現を検出するモデルの研究が重要になってくるのです。

BiLSTMによる単純なニューラルネットワークモデル

論文では、BiLSTMを用いたニューラルネットワークによる比喩検出に取り組んでいます。比喩表現の検出方法としては、次の二つの枠組みを想定しています。

ラベリングとしての比喩検出

一つ目の比喩検出の方法として、単語ごとのラベリング問題として解く方法が考えられます。入力された単語列のうち、比喩表現として用いられている単語に対しては「M」、字義通りに用いられている単語には「L」というラベルを予測するモデルを用います。上の図はモデルを表しており、単語分散表現をBiLSTMに入力し、各時刻の計算結果に対してラベリングを行っています。ここで単語分散表現の一部として、事前に巨大なコーパスで学習されたもの(ELMo)を利用しています。これにより、ある程度の単語の用法が学習された状態で比喩検出を行うことができます。

文分類としての比喩検出

二つ目の検出方法は、文そのものに比喩表現が含まれているかを分類問題として解く方法です。ラベリングモデルとは異なり、入力される単語分散表現に「その単語が動詞であるか」を意味するindex vectorが追加されています(図の白丸と灰色丸)。また、BiLSTMによる各時刻の計算結果に対して注意機構(赤+)を適用し、その結果を用いて文の分類を行います。単語分散表現にはラベリングモデルと同様、ELMoによって事前学習されたものを利用しています。

評価

先行研究との比較

手法の評価として、動詞が比喩表現であるかを分類するタスクを用いています。MOH-X、TroFi、VUAはそれぞれ比喩検出のデータセットです。結果は以下の表の通りで、ベースラインモデルであるLexical Baselineは、学習データにおいて比喩として多く用いられている単語を比喩として検出するルールベースのシステムです。また、いくつかの先行研究を比較対象として用いています。提案手法のうち、ラベリングモデルはSEQ、文分類としてとくモデルはCLSと表されています。結果より提案手法がベースラインに比べて性能が良いことがわかります。また、ラベリングモデルが文分類モデルよりも総合的に性能が良さそうだと言えます。このことから、比喩を検出する際には単語ごとのラベリング問題としてタスクを定義することで、性能の向上が見込まれることが示されました。

ELMoの威力

提案手法では、事前学習された単語分散表現であるELMoを利用しています。ELMoでは大規模なコーパスを用いて単語分散表現を学習しているため、コーパス内での単語の用法に関する情報が学習されていると考えられます。下の表は、このELMoを単語分散表現として利用しない場合に、どの程度性能が低下するかを示しています。「-ELMo」は、それぞれ上のモデルからELMoを削除したモデルを表しており、VUAデータセットにおいて性能が大きく低下していることがわかります。

ただし単純にELMoを削除しただけの場合、ELMoに用いられていた単語分散表現の1024次元分の表現力が欠落していることになます。そのため、モデルの表現力の低下によって性能も低下しているだけという可能性があります。これについては論文内で触れられていないため、注意が必要です。

なぜ解けないのか

論文では、VUAデータセットにおいてモデルが「動詞が比喩かどうか」の予測に失敗した問題例を100個サンプリングし、どのような比喩がモデルの検出において困難なのかについて分析しています。サンプルされた問題例のうち、約半数の55件が「比喩ではないのに比喩だと予測してしまった」事による予測失敗でした。さらにこのうち31%が暗喩表現であり、15%が動詞が構造的に主語から遠い用例であることがわかりました。暗喩表現は直喩と異なり、「〜のような」といったわかりやすい指標がないため、検出が難しいと考えられます。また、動詞が主語から離れている場合は「動詞が文中でどのように用いられているのか」をそもそも捉えられていないと考えられます。さらに、予測失敗した例の多くが人間でも判断に迷うタスクの主観的性質に依存する問題であることがわかりました。

このことから動詞の比喩表現の検出は、暗喩表現や動詞が主語から遠い場合に難しいだけでなく、比喩検出というタスクそのものが人間の主観によるため難しいということが確認されました。

まとめ

本論文ではシンプルなニューラルネットワークを用いた比喩表現の検出について、実験と分析を行っています。結果よりニューラルネットワーク、特にラベリング問題として比喩検出を行うモデルの性能が良いことがわかりました。また、比喩の種類や文の構造によって検出の難しさが異なることが示されています。さらに比喩検出のタスクそのものが難しいという点にも触れられており、比喩検出タスクはまだまだ改善の余地があることが示唆されています。