言語処理学会 第25回年次大会 発表論文集 (2019年3月)

ベイジアン隠れマルコフモデルと Wikipedia テキストを用いた
歴史人物移動モデルの推定
古川 好
鶴岡 慶雅
東京大学 工学部電子情報工学科{furukawa,tsuruoka}@logos.t.u-tokyo.ac.jp

1

はじめにデータの正確性を向上させることに成功した。

自然言語処理は様々な分野に分かれているが、その中の一つには自然言語理解がある。自然言語理解とは

2

人間が言語を理解するのと同じように、コンピュータもテキストの表層的な情報だけでなく、事前知識を必要とする深層的な情報まで読み取ることができるようになることを目指す試みである。
自然言語理解に関して、水谷ら [1] や村上ら [2] は、テキストから学習を行い現実世界の地理的・時間的なモデルを作成する手法や、質疑応答や文章の正誤判定に現実世界の地理的・時間的な関係を考慮する手法を提案している。例えば、地名の空間における位置を表現するモデルを作ることができたとする。その時、「私は 1 時に北海道におり、1 時 1 分に沖縄にいた。」という文章の正誤判断を行う際、北海道と沖縄の地理的な関係を知らない場合は判断することができないが、前述の空間的・時間的モデルを用いることによって地理的な関係を考慮できれば容易に解くことが可能である。また、このようなモデルを作成することができれば、過去の人間が移動する際にどのような経路を辿ったのかを考証する際などにも使用でき、様々な応用が可能だと考えられる。
本研究では、日本語版 Wikipedia のテキストから歴史的な人物がどの時点でどの場所にいたかというイベントを抽出し、そのデータからイベントとイベントの間の欠落において、人物がどのように移動を行っていたのかを推測するような人物移動モデルを作成するという水谷ら [1] の研究を元とし、より精度の高いモデルの作成を目指した。水谷らの研究において問題とされていたのは、人物移動モデルを学習する際のデータ不足、イベントの抽出法に起因するデータの不正確性の 2 つであり、これらの問題点に対してモデルの変更及び、文脈情報を利用したイベント抽出を行うことによって解決を試みた。結果として、データの数及び関連研究
ここでは、本研究の下地である水谷らの作成した歴史人物移動モデル [1] について説明する。日本語版

Wikipedia のテキストから、人物がどのように移動したか、つまりある時刻 t においてある位置 p にいたという情報の組 (t, p) を、個々の人物毎に抽出してデータセットを作成する。具体的には以下のような手順で情報の抽出とイベント (t, p) の作成を行った。
・日本語版 Wikipedia の全記事を取得し、人物の移動を令制国単位でなされるものとするために、日本語

Wikipedia の「令制国」及び「日本の城一覧」のページより現在の都道府県名や城名、戦国時代以外の時代での令制国名と戦国時代の令制国名を対応させた辞書を作成する。
・「日本の元号」のページから日本の元号と西暦を対応させた辞書を作成する。
・「戦国時代の人物一覧 (日本)」のページに掲載されている人物が戦国時代の人物であるとし、その人物達をまとめたリストを作成する。
・リストにまとめられた全人物に対してその人物のページから (t, p) の抽出を行う。パターンマッチを行い、作成した地名と年号に関する辞書を用いて、一つの文内に時刻のデータと地名のデータが共に存在するかを調べ、存在する場合はそれらの組を抽出してデータとする。この時、時刻は一ヶ月単位とし、年はわかるが月が不明な場合は 6 月と仮定する。例えば、「上杉謙信」のページにおいて、「天正 5 年（1577 年）12月 18 日、謙信は春日山城に帰還し、12 月 23 日には次なる遠征に向けての大動員令を発した。」という一文があった場合、辞書によって天正 5 年 12 月が時刻(1577 × 12 + 12) = 18936 に、春日山城が越後国に変換され、(18936, 越後国) という組として抽出される。

― 418 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

こうして得られたイベント (t, p) を隠れマルコフモ

ここではある文章とその文章の存在する記事の主役かデルの観測とし、得られなかった時刻のイベントにつら、その文章の主体と記事の主役が一致するかどうかいては隠れマルコフモデルの状態が「記述なし」を出を判別する二値分類問題と、登場する地名にその文の力したと考えることによって、人物移動モデルの学習主体が存在していると文章から読み取ることができるを行った。隠れマルコフモデルの学習には最尤推定法かどうかを判別する二値分類問題を解き、その両方がの一種である Baum-Welch アルゴリズムを用いる。

条件を満たした場合のみ適切なイベントとして抽出をすることにする。

提案手法

3

3.3

モデルの学習方法の変更

先行研究において問題点とされていたのは、学習に使用できるデータが少ないことと、データの正確性が隠れマルコフモデルの学習に、Baum-Welch アルゴ低いことである。そこで、解決のために以下の手法をリズムではなくベイズ推論を用いることを提案する。

提案する。

Baum-Welch アルゴリズムを用いた隠れマルコフモデ
ルの場合、訓練データに存在していないような遷移を起こす確率はどれだけ学習を行っても 0 のままであり、3.1データ数の増加

訓練データにはないが適切だと考えられるような遷移イベント抽出の対象となる人物を、戦国時代の人物だけではなくほぼ同時代の安土桃山時代の人物も含めることで、抽出できるイベントを増加させる。あまりにも時代が離れすぎていてしまうと、交通手段や地名の変化により正しい推定が行うことができなくなってしまうが、近い時代であればその影響も少ないと考えられる。更に、パターンマッチに反応する地名を増加させるために、城名と令制国名だけでなく寺社名や戦争名も地名として扱うことができるようにした。

を表現することはできない。しかし、ベイズ推定では初期確率行列などのパラメータそのものを学習するのではなく、パラメータを生成する確率分布を学習する
ため、遷移確率行列は最尤推定の場合と比べてスムージングされるので確率が 0 となることはない。故に、本研究の場合のように訓練データ数が少ない場合にはベイズ推定により学習をした場合の方が有効であると考えられる。Beal らの研究 [4] によると、式 (1) による更新を繰り返し行うことにより、EM アルゴリズムにおける反復計算のようにベイジアン HMM のパラメータの更新を実行できることが知られている。θ が3.2

データの正確性の向上

遷移確率行列の更新式、ϕ が出力確率行列の更新式で′先行研究におけるイベント抽出では、テキストの文脈や文構造が考慮されていなかった。そこで、本研究では以下に示す二通りの方法を用いて適切なイベントの抽出を試みた。

ある。ただし、nS ′ ,S は状態 S から S に遷移した回′数、nS は状態 S であった回数、no,S は状態 S で o を′出力した回数、m、m は状態及び出力の数、Ψ(x) はディガンマ関数を表している。

一つめは、文章解析ソフト KNP [3] を用いることによって文章の主体や文脈情報を解析し、その情報を用θ=exp(Ψ(E[nS ′ ,S ] + α))exp(Ψ(E[nS ] + mα))ϕ=exp(Ψ(E[no,S ] + α ))exp(Ψ(E[nS ] + mα′ ))いてルールベースの制約条件を作成することで誤った′データを抽出する可能性を減らすというものである。
例えば、文章に存在する主体が、その文章の記載され(1)′(2)ている記事の主役と一致しない場合は、その文章は記事の人物について書かれたものではないと判断し、イ4

実験

4.1

データの作成ベント抽出の対象としない、などのような制約である。
二つめは、イベント抽出を文章の分類タスクとして捉える手法である。イベントが適切なものであるかどうかを見極める際に重要となるのは、多くの場合はその文章の主体と文章中に登場する地点である。そこで、イベントの抽出には、日本語版 Wikipedia の「戦国時代の人物一覧」及び「安土桃山時代の人物一覧」のページに掲載されている人名についての記事を使用し― 419 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

ターンマッチでは誤ったデータがかなり多く、使用す
表 1: 得られたデータ数
人物数 地名数るデータを増やしたとしても結果的には提案手法によ

データ数

既存手法

1263

695121

提案手法 (KNP)

838

703330

提案手法 (BERT)

1090

704567

り不適切なものだと判断されてしまうものが多いからだと考えられる。表 2 によると、3 月の部分では既存手法のみが越中国がイベントとして得られたとしている
が、これは「翌天正元年（1573 年）3 月、信玄の画策により再起した越中一向一揆が再度富山城を奪った。」た。3 節で述べられている記事の主役とは Wikipediaという文章を誤って抽出してしまったものである。一

記事のタイトルを表している。更に、「令制国」「日方で提案手法では陸奥国を抽出しており、これは「3本の城一覧」「日本の寺院一覧」「日本の合戦一覧」の月には膳城・女淵城・深沢城・山上城・御覧田城を立ページより地名の一覧を作成し、「令制国」ページ内て続けに攻め落とし戦果をあげた。しかし成繁の居城に存在する戦国時代に使われていた旧国名と対応付けである要害堅固な金山城を陥落させるに至らず。」とる辞書を作成した。

いう文章を正しく抽出したものであり、文脈の理解がKNP を用いて文脈解析を行い、その情報を用いてルールベースでイベント抽出を行う場合は、テキストの分かち書きを行う際に予め作成した人名や地名の一正しいイベントの抽出に役立っていることが分かる。

覧を事前知識として使用することで、後の文脈解析を剃髪して法印大和尚に任ぜられる。」という文章の「大行いやすくした。KNP によって得られた情報を用い和」の部分を誤って抽出したものであり、完全に正して、先述したようなルールベースの制約条件を課すこいイベントのみを抽出できているとは言えない。これとによって、イベント抽出を行った。

は、BERT の学習に使用したデータセットの数が少なその一方で、BERT の場合は 12 月に大和国がイベントとして得られたとしているが、これは「12 月 19 日、

イベント抽出を二値分類問題と考える場合は、まずく不十分であることや、BERT の事前学習モデルとし二値分類に必要となるデータセットを作成した。文章て使用している多言語モデルにおいて日本語の扱いがと主体、もしくは文章と地名の組み合わせが正しい雑であり、正しい事前学習が行えていない可能性があものであるかは人手でアノテーションを行い、それぞることなどが大きな原因として考えられる。

れ 1000、1200 個ずつデータを作成した。このデータセットを用いて BERT [5] と呼ばれる言語表現モデルの転移学習を行い、残りのデータに対しラベル付けを5行った。

おわりに本実験においては歴史上の人物についてのテキストから、人物がどの時刻 t でどの地点 p にいたのかを自4.2

然言語処理的な手法を用いて抽出し、そうして得られ結果たデータを隠れマルコフモデルの観測と考えてベイズ
表 1 が得られたデータ数である。既存手法は水谷らによる研究 [1] の場合を表している。

推定による学習を行うことで、人物移動モデルを作成した。

また、得られたデータを使用し、既存手法の場合は今後の課題としては、まず先行研究でも指摘されて最尤推定による学習で隠れマルコフモデルを 10000 エいたようにデータ不足が挙げられる。本研究に置いてポック学習し、提案手法の場合はベイズ推定による学は参照する時代の拡大や、イベント抽出の際に参照す習で同様に 10000 エポック学習した。得られた結果のる地名を増やすことによってデータの増量を試みたが、一例として、上杉謙信の 1573 年の移動推定を行った

適切でないイベントを KNP や BERT を用いて除外しものを以下の表 2 に示す。

た結果、正確なデータの割合は向上したがデータ自体の総数は増加しないという結果になってしまった。次4.3に挙げられるのは、人物移動モデルに更なる情報を取考察り入れるというものである。地点間に存在する山など

表 1 から分かるように、結果としてデータの総数の空間的な情報を事前知識として活用することで、よ自体は既存手法の場合と比べて提案手法の方が少なり精度の高い人物移動を推測することができるようにくなってしまっている。これは、既存手法におけるパなると考えられる。

― 420 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 2: 人物移動モデルの推定例
既存手法
提案手法 (KNP)
日時

推定位置

推定確率

推定位置推定確率

推定位置

推定確率

1月

信濃国

0.3478越中国

0.4333摂津国

0.15242月

信濃国

0.4993

越中国

0.2870摂津国

0.1387

3月

既知位置

越中国

1

既知位置

提案手法 (BERT)

陸奥国

1

陸奥国

10.4252

武蔵国

1

1

越後国

1

4月

越後国

0.43715月

信濃国

0.37356月

信濃国

0.3232

越後国

0.5337越後国

0.37667月

越後国

0.5569越後国

0.3014出羽国

0.2935

8月

上野国

1

陸奥国

既知位置

越後国

越中国

19月

相模国

0.5171

能登国

0.560510 月

上野国

0.2641

越中国

0.628411 月

相模国

0.2714能登国

0.352312 月

信濃国

0.2013

越中国

0.4333

越中国

1
出羽国

武蔵国

1
相模国

大和国

0.97480.51191

参考文献[1] 水谷陽太, 鶴岡慶雅. 隠れマルコフモデルによる歴史テキストの人物移動のモデル化. 人工知能学会全国大会論文集, Vol. JSAI2018, pp. 4Pin1–17,2018.
[2] 村上優樹, 鶴岡慶雅. 現実世界の時間・空間制約を用いた共参照解析の精度向上. 言語処理学会 第 22回年次大会 発表論文集, 2016.

[3] Daisuke Kawahara and Sadao Kurohashi. A
fully-lexicalized probabilistic model for japanesesyntactic and case structure analysis. Journal ofNatural Language Processing, Vol. 14, No. 4, pp.
67–81, 2007.
[4] Matthew J. Beal. Variational algorithms for approximate bayesian inference. Technical report,2003.
[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, andKristina Toutanova. BERT: pre-training of deep
bidirectional transformers for language understanding. arXiv: 1810.04085, 2018.

― 421 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.