# 入れ子になっている固有表現に対する Distant Supervision

芝原 隆善 ${ }^{1,2}$, 山田 育矢 ${ }^{2,3}$, 西田 典起 ${ }^{2}$, Shanshan $\operatorname{Liu}^{2}$, 古崎 晃司 ${ }^{2,4}$, 渡辺 太郎 ${ }^{1}$, 松本 裕治 ${ }^{2}$
1 奈良先端科学技術大学院大学 \{shibahara.takayoshi.sk4, taro\}@is.naist.jp
2 理化学研究所 \{takayoshi.shibahara, ikuya.yamada, noriki.nishida, shanshan.liu, kouji.kozaki,
yuji.matsumoto \}@riken.jp
${ }^{3}$ Studio Ousia ikuya@ousia.jp
4 大阪電気通信大学 kozaki@osakac.ac.jp

## 1 はじめに

本研究では Nested NER と呼ばれるタスクに取り組む。Nested NER とは、入れ子になっている語句をも対象にする固有表現抽出のタスクである。このタスクでは例えば、“... in the human immunoglobulin heavy-chain gene enhancer.”という文を入力として、 “human immunoglobulin heavy-chain” が protein であり "human immunoglobulin heavy-chain gene enhancer" が DNA であることを特定する。このタスクは近年様々な手法で取り組まれており、特にスパンを全て列挙して分類する枠組みで取り組めることから、多くのスパン分類のモデルでの研究が行われている $[1,2,3,4,5]$ 。

一方で入れ子でない固有表現抽出に対して、従来からそのアノテーションコストが問題視されてきた。そこで既知の語句集合: 辞書を利用した擬似データ作成に基づく、教師なし設定の固有表現抽出: Distant Supervision NER が行われてきた。Distant Supervision NER には辞書拡張を活用する手法 [6] 、 Self-training や Partial CRF などの辞書マッチを正しいとしてそのラベルを伝搬させる手法 $[7,8]$ など様々な手法が提案されてきたが、辞書拡張を活用する手法の中には Nested NER のようにスパン分類モデルを利用する手法 [9] も知られている。

本研究では Nested NER に対して Distant Supervision の設定で問題に取り組む。つまり、辞書マッチによる擬似データ生成と教師あり学習による手法で、入れ子の固有表現を抽出する。この際、本研究では上記の二つの研究で利用されているスパン分類モデルを利用する。

本研究では GENIA [10] コーパスで評価を行った。辞書マッチによる $\mathrm{F}$ 值は $25 \%$ とかなり低かったが、
POS タグに基づくChunker を利用したことで、 $39 \%$ ほどの $\mathrm{F}$ 值へと改善した。同じ Chunker を活用することで、Distant Supervision において $48 \%$ の精度が得られた。その一方で Distant Supervisionによる結果は、教師あり設定の $76 \%$ と比べて $28 \%$ 低い結果となった。

## 2 手法

## 2.1 辞書マッチによる擬似データ作成

今回の擬似データ作成ではカテゴリごとに分けられた語句: 辞書を活用する。文中に現れる辞書1)の語に対して、出現したスパンと辞書中でのカテゴリを擬似教師データとして活用する。この辞書マッチの際に重複を許すことで入れ子の固有表現を考慮できるようにした。2) 辞書に含まれるものはそのカテゴリに分類し、辞書に含まれないスパンは “Others” というカテゴリに分類する。この “Others” カテゴリはテスト時には無視されるカテゴリである。

今回取り扱う辞書にはタンパク質名の “Beta1Tubulin” と遺伝子名の “beta1-tubulin” など大文字・小文字の差異で区別される語句が存在した。そのような事例に対して precision を上げ、かつ全体としては recall を向上させるために、このような文字種によって区別される複数の語句が存在する時には大文字と小文字を区別する辞書マッチを行い、そうでない場合には大文字と小文字を区別しない辞書マッチを行った。

## 2.1.1 Chunker を利用した辞書マッチ

辞書マッチを単純に行うだけでは、しばしばスパンを短く取ってしまうという問題が生じた。例えば、図 1 で示された例では、辞書によって “HB24" と “mRNA” がマッチしているが、正解のスパンは “HB24 mRNA” だけである。そこで、まず“HB24 mRNA”というスパンを Chunkerによって獲得し、 このスパンの末端に位置する語句 (“mRNA”) の辞書での分類 (RNA) を利用して、スパンのラベル付を行った。このような Chunker の利用は Disntant Supervision NER において以前から行われいる方法である [11,9]。今回は scispaCy [12]を利用して得られた POS タグを活用して、正規表現を利用した Chunker ${ }^{3)}$ を作成した。この Chunker は入れ子の Chunk を予測できない。そのため、入れ子の疑似データを作成できないが、入れ子の構造を考慮した Chunker は今後の研究課題とする

図 1 Chunker を利用した辞書マッチの例

## 2.1.2 Others $の$ Undersampling

上記の辞書マッチの手順から明らかな通り、辞書に含まれないスパンに相当する “Others” カテゴリの個数が多くなってしまい、うまく学習ができないことが想定される。そこで “Others”以外のカテゴリと “Others” が同じ頻度になるように “Others” のラベルをランダムにサンプリングした。

## 2.2 学習に利用したスパン分類モデル

今回利用するスパン分類モデルは [13] のモデルを参考にしている。特徴量抽出部分は BioBERT [14] を活用し、それぞれのスパンに対して、スパンのはじめと終わりの位置の最終隠れ層のベクトルを連結して利用する。この際に全ての ${ }^{4}$ スパンを列挙して分類することで、入れ子になっている固有表現に対応する。分類器部分は Dropout、線形変換及び softmax を利用し、それぞれのスパンに対して確率值を計算する。それぞれのスパンに対する確率値から擬似正解との相互エントロピーをロスとして利用する。

事前実験によってこのスパン分類モデルが長いスパンを予測しがちであることがわかった。そのため、POS タグに基づくChunker ${ }^{3}$ ）の予測する Chunk の範囲内に絞って学習と予測を行った。つまりこの Chunk を最大幅とするスパン内部においてのみ入れ子構造を予測した。

## 3 データセット

## 3.1 擬似データ作成に利用した資源

疑似データの作成のため、辞書として UMLS を、辞書マッチの対象となるラベルなしコーパスとして PubMed を利用した。UMLS は 2020AA のバージョンを利用し、総計 290,706 個の語句からなる辞書 1) を活用した。また、PubMed からは 100,000 文を利用し、train と developmentに 8 対 2 の割合で分割して利用した。

## 3.2 評価データセット

評価データセットとして Nested NER の先行研究でよく利用されている GENIA データセット [10]を利用した。GENIA データセットには並列句など複数の語句が含まれるスパンに対するアノテーションが振られている。Nested NER の先行研究では、このような並列句を含んだスパンを問題の対象に含めるものもあるが、本研究ではこれらのスパンを対象外とした。BioBERTに入力する前に単語分割するために scispaCy [12]を利用した。

GENIA データセットの train/development/test の各データ分割は、 $15,024 、 1,670 、 1,855$ 文である。教師あり設定の場合はこれらのすべてを利用し、Distant Supervision 設定の場合は test データのみ利用している。つまり Distant Supervision 設定では学習の際に擬似データのみしか利用しておらず、評価の際にのみアノテーションデータを利用している。GENIA データセットにおけるそれぞれのカテゴリの固有表現の数は表 1 の通りである。

表 1 GENIA データセットにおける

各カテゴリの固有表現数

## 4 実験と結果

## 4.1 擬似デー夕作成

表 2 には擬似データ作成手順による精度を GENIA コーパス [10] のテストデータに対して評価した結果を示した。“nest inside prediction”の列には予測されたスパンのうち他のスパンの内側に入っているスパンの個数を示している。“nest inside R.”が入れ子の内側となっているスパン、“nest outside R.” が入れ子の外側になっているスパンに対する recall の値が計算されている。“Dictionary Match” は辞書マッチによるスパン同定とクラス分類を意味する。次に “Chunker + End Match” は POS タグを利用した Chunkerによるスパン同定と、そのスパンの末端語に対して辞書を利用したクラス分類である。次の “Oracle Span + End Match” は、スパン同定には正解のデータを利用し、クラス分類にはスパンの末端語句の辞書マッチを利用した手法であり、“Gold” は正解のテストデータから分かる数值を記載している。

## 4.2 Distant Supervision

表 3 は Distant Supervision を適用した時の精度について述べている。この表 3 は表 2 と同様に、テストデータにおける固有表現抽出の精度と予測における入れ子の固有表現の数と、入れ子の内側の正解数を示している。左側の Model 部分には手法名を示している。上から大きく、擬似データ作成手法、Distant Supervision, 教師あり手法の精度を表している。“Chunker + End Match” は擬似データ作成手法であり、POS タグベースの Chunker によるスパン同定とスパン末端語句によるスパン分類から構成されている。これは表 2 の “Chunker + End Match” と同じものである。"BioBERT (Distantly Supervised)" は “Chunker + End Match” の手法で作成した擬似デー タを元にスパン分類モデルを適用したものである。 “+ Chunker” は “BioBERT (Distantly Supervised)” に追加して、訓練と予測の対象とするスパンを POSに基づいた Chunker で取得される Chunk の内部に限定したものである。"BioBERT (Supervised)” は “BioBERT (Distantly Supervised)”と同じスパン分類モデルを教師ありデータで学習したモデルを意味している。

## 5 考察

## 5.1 擬似デー夕作成

表 2 の結果から、辞書だけだと精度が出ず、 Chunker を利用すると精度が改善することがわかる。 つまり、辞書の示すスパンとテストデータにおけるスパンが一致していないことがわかる。また、正解データのスパンを利用した結果とも乘離があることから、この POS タグを利用した Chunker はスパン同定を完全にはできていないということがわかる。

入れ子の予測観点では、単純に辞書マッチをした場合に、Gold データよりも入れ子になることが多いということがわかった。POS タグベースの Chunker を利用した場合、基本的には外側のスパンを取るような設計になっている。そのため一部の例外的な事例を除き入れ子の予測はなく、入れ子の予測事例は 10 となっている。Oracle のスパンを利用した際には 241 個の内側のスパンしか取れておらず、Gold のものに比べて約 $40 \%$ ほどであり、辞書の被覆率の小ささが影響していると考えられる。

これらの実際の入れ子部分に対する予測精度を見てみるとデータセット全体での精度と比べて大きな違いがないことが全ての手法で見て取れる。ただし全ての場合で、外側のスパンを特定することが容易であることが分かる。基本的に外側のスパンを取得するように設計された Chunker に基づいているので、“Chunker + End Match” では入れ子の内外の精度に比較的大きなスコア差があることが見て取れる。 この Chunker は外側の一番大きなスパンを取ることを目的とした正規表現に基づいているものの、例外的に一部入れ子のスパンを出力している。

## 5.1.1 エラー分析: 曖昧なスパン

エラー分析を行ったところ、スパン境界が曖昧と見える事例がいくつか存在した。特に修飾語がつくかどうかという曖昧性が多かった。例えば“two nuclear proteins", "pure B cellline" などの修飾語が正解スパンに含まれる事例があった。その一方で、novel “TH protein”, purified “NF-kappa B” など、修飾語を含

表 2 擬似データ作成手順による精度

表 3 Distant Supervision 適用による精度

まないスパンが正解スパンとされている事例も存在した。このような事例に対して辞書に修飾語がつかない語句が含まれているならば、修飾語の含まれる場合・含まれない場合どちらが正解かを決めることは困難であると考えられる。

## 5.2 Distant Supervision

表 3 より “Chunker + End Match”と “BioBERT (Distantly Supervised)” の比較から、このノイズのあるデータに基づいて学習・予測させることは難しいということがわかる。具体的には並列句のような長いスパンを予測してしまうことが多かった。“+ Chunker”と予測範囲を Chunkerによるスパン内部に限定しない “BioBERT (Distantly Supervised)” の比較から、精度が改善していることがわかる。これは、先ほど述べたような長いスパンを抑制できているためだと考えられる。一方で、教師あり手法を利用した “BioBERT (Supervised)” と比較すると $20 \%$ ほどの差があることから、データノイズの影響や Chunker の制限により予測できなくなったスパンなどの影響で依然として教師あり手法にはかなり劣っていることがわかる。

入れ子になっている予測事例の数を確認すると、 “BioBERT (Distantly Supervised)” が飛び抜けて多い。 これは上記のような長いスパンの影響が考えられる。精度が低いものの“+ Chunker”では一定数の入れ子の事例を予測している。入れ子を直接訓練事例として与えなくても、構成する単語などから、入れ子の固有表現を予測しているのだと考えられる。興味深いのは教師あり学習の結果、アノテーションデータと比べて約 1.5 倍入れ子のスパンを予測して
いる点である。教師あり学習の際にも、構成される単語などから過剩に固有表現を予測してしまう傾向がある可能性が考えられる。

実際の入れ子事例に対する精度を見てみると、 データセット全体のスコアと大きな違いが出ていないことが分かる。これも擬似データ作成の場合と同様に、入れ子の外側と内側では入れ子の外側の特定が容易であることが見て取れる。

## 6 結論

本稿では擬似データ作成に基づく入れ子の可能性を考慮した固有表現抽出に取り組んだ。擬似データの作成がそもそも難しく、不十分な擬似データ手法によるノイズの多いデータに基づいた学習は難しいということがわかる。

Distant Supervision NER の先行研究の BOND [9] では、ノイズのあるデータに過学習させないことで、不十分な精度の擬似データに対処している。このように今後はデータ中のノイズを考慮した手法 [15] を試みる必要があると考えている。

また、5.1.1に述べたが、そもそもどれだけ複雑な概念を取ってくるかには曖昧性がある。例えば辞書に“water”だけがある場合、“pure”を含めた “pure water”を抽出するかどうかは応用先の意図に依存し、辞書だけで判定するのは困難である。そのため Distant Supervision NER において、固有表現が取れている/取れていないを判定するには、別の評価尺度を併用することが必要なのではないだろうか。具体的には正解スパンの headword が取れているか [3] などの評価方法が考えられる。

## 参考文献

[1] Mingbin Xu, Hui Jiang, and Sedtawut Watcharawittayakul. A Local Detection Approach for Named Entity Recognition and Mention Detection. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1237-1247, Vancouver, Canada, July 2017. Association for Computational Linguistics.

[2] Mohammad Golam Sohrab and Makoto Miwa. Deep Exhaustive Model for Nested Named Entity Recognition. In EMNLP, 2018.

[3] Yi Luan, Dave Wadden, Luheng He, Amy Shah, Mari Ostendorf, and Hannaneh Hajishirzi. A general framework for information extraction using dynamic span graphs. 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. 3036-3046, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[4] Hiroki Ouchi, Jun Suzuki, Sosuke Kobayashi, Sho Yokoi, Tatsuki Kuribayashi, Ryuto Konno, and Kentaro Inui. Instance-Based Learning of Span Representations: A Case Study through Named Entity Recognition. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, July 2020.

[5] L. Sun, F. Ji, K. Zhang, and C. Wang. Multilayer ToI Detection Approach for Nested NER. IEEE Access, Vol. 7, pp. 186600-186608, 2019. Conference Name: IEEE Access.

[6] Jingbo Shang, Liyuan Liu, Xiaotao Gu, Xiang Ren, Teng Ren, and Jiawei Han. Learning Named Entity Tagger using Domain-Specific Dictionary. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2054-2064, Brussels, Belgium, 2018. Association for Computational Linguistics.

[7] Zhanming Jie, Pengjun Xie, Wei Lu, Ruixue Ding, and Linlin Li. Better Modeling of Incomplete Annotations for Named Entity Recognition. 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. 729734, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[8] Nathan Greenberg, Trapit Bansal, Patrick Verga, and Andrew McCallum. Marginal Likelihood Training of BiLSTM-CRF for Biomedical Named Entity Recognition from Disjoint Label Sets. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2824-2829, Brussels, Belgium, October 2018. Association for Computational Linguistics.

[9] Chen Liang, Yue Yu, Haoming Jiang, Siawpeng Er, Ruijia Wang, Tuo Zhao, and Chao Zhang. BOND: BERTAssisted Open-Domain Named Entity Recognition with Distant Supervision. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining, KDD ’20, pp. 1054-1064, New York, NY, USA, August 2020. Association for Computing Machinery.
[10] J.-D. Kim, T. Ohta, Y. Tateisi, and J. Tsujii. GENIA corpus - a semantically annotated corpus for bio-textmining. Bioinformatics, Vol. 19, No. suppl_1, pp. i180-i182, July 2003.

[11] Jason Fries, Sen Wu, Alex Ratner, and Christopher Ré. SwellShark: A Generative Model for Biomedical Named Entity Recognition without Labeled Data. arXiv:1704.06360 [cs], April 2017. arXiv: 1704.06360.

[12] Mark Neumann, Daniel King, Iz Beltagy, and Waleed Ammar. ScispaCy: Fast and Robust Models for Biomedical Natural Language Processing. In BioNLP@ACL, 2019.

[13] Ikuya Yamada, Akari Asai, Hiroyuki Shindo, Hideaki Takeda, and Yuji Matsumoto. LUKE: Deep Contextualized Entity Representations with Entity-aware Self-attention. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 64426454, Online, November 2020. Association for Computational Linguistics.

[14] Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, and Jaewoo Kang. BioBERT: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, p. btz682, September 2019. arXiv: 1901.08746.

[15] Hwanjun Song, Minseok Kim, Dongmin Park, and JaeGil Lee. Learning from Noisy Labels with Deep Neural Networks: A Survey. arXiv:2007.08199 [cs, stat], October 2020. arXiv: 2007.08199.

[16] Olivier Bodenreider. The Unified Medical Language System (UMLS): integrating biomedical terminology. Nucleic Acids Research, Vol. 32, No. Database issue, pp. D267270, January 2004.

## A POS に基づく Chunker

本稿で利用した POSに基づくChunker は POS タグを取得した後、正規表現を利用して Chunk を取得する。なお POS タグの検出には sciSpacy [12]を利用した。この正規表現は Chunk の左部分の検出と右部分の検出、修飾語及び語句末端の検出部分から構成されている。例えば、“The United States is ...”という文に対して “DT NNP NNP VBZ ..." という POS タグ系列が得られたとする。この時、Chunk の左側として “DT”を、右側として “VBZ” を、修飾語として“NNP”を語句未端として“NNP”を検出する。

Chunk の左側は “DT”, “IN”, “CC”, “,", "RB”, "RBR”, "RBS", "RP", "VB”, "VBD”, "VBZ", "VBP”, “.", “-LRB-", “WDT”, “TO”, “.", “NNS”, “-RRB-”, “PRP\$” のいずれかの POS タグである。ただし、文頭の可能性もあるとする。 Chunk の右側は “,", “., "IN”, “VB”, "VBD”, “VBZ", “VBN", "VBP", "CC", "MD”, "DT", "RB", "RBR", "RBS”, "JJ”, "JJR", "JJS", "RP", “-LRB-", “-RRB-”, “WDT”, “TO”, “:” のいずれかの POS タグである。ただし文末の可能性もあり、語句末端の語句が複数形の場合 “NN” もふくむとする。修飾語は “JJ”, “NN”, "NNP", “CD”, “VBG", "VBN", “”” の POS タグのうちのいずれかの繰り返しである。

語句末端の POS タグを考慮するにあたって、複数形と単数形で対応を変えた。単数形の場合、語句末端は “NN” あるいは “VBG”であるとした。複数形の場合 “NNS” であるとした。また、“interleukin 2” のような事例に対応するために未端に数字: “CD”が来ても良いとした。

以上の説明を python の正規表現にまとめるの次のようにかける。まず単数形の場合、

(DT | IN $|C C|,|R B| R B R|R B S| R P|V B| V B D|V B Z| V B P \mid$

. |-LRB-|WDT |TO| : |NNS|-RRB-|PRP\$|<S>)

( ( $J$ J |NN |NNP $|C D| V B G|V B N| '$ ' $) *(N N \mid V B G)(C D) ?)$

(, | . I IN | VB | VBD |VBZ | VBN | VBP |CC |MD |DT |RB |RBR |

RBS $|J J| J J R|J J S| R P|-L R B-|-R R B-|W D T| T O|:|</ s>)$

とかける。(スペースの都合上改行を入れている) 次に複数形の場合は

(DT | IN |CC | , |RB |RBR |RBS |RP |VB | VBD |VBZ | VBP | . |

-LRB-|WDT|TO| : |NNS|-RRB-|PRP\$|<S>)

( (JJ|NN|NNP $|C D| V B G|V B N| ' ~ ') *(N N S)$ (CD)?)

(, | . I IN |VB | VBD |VBZ | VBN |VBP |CC |MD |DT |RB |RBR |

RBS |JJ|JJR|JJS|RP|-LRB-|-RRB-|WDT|TO| : |</s>|NN)

となる。ただし、“<s>”を文頭、“<//s>”を文末の意味として利用している。

## B UMLS からの辞書作成

今回テストデータとして利用した GENIA コーパスに直接対応する辞書は存在しない。そこで本研究では UMLS [16] の情報を変換し、今回の擬似データ生成に利用する辞書を作成した。利用した UMLS のバージョンは 2020AA であり、その知識グラフの全体を利用した。ただし、問題の多かった “HGNC", “OMIM", "NCI", "SNOMEDCT_US", "PDQ", "CHV", "LNC" の知識グラフについては除外した。次に GENIA コーパスにおける五つのそれぞれのカテゴリ (protein, DNA, RNA, cell type, cell line) に対して、 そのカテゴリの語句をどのように取得したかを述べる。まず “protein”に対しては、“Proteins” C0033684 及びその子孫を利用した。さらにそこから後述の “DNA", “RNA" の語句として得られる UMLS Concept を取り除
いた。ただし、ここで UMLS Sematic Type T116: “Amino Acid, Peptide, or Protein", T087: “Amino Acid Sequence" に含まれる UMLS Concept だけを残した。“DNA”に関しては C0012854: "DNA", C0162326: "DNA Sequence", C0008633: “Chromosomes", C0019652: “Histones”及びその子孫を利用し、“DNA", "DNA Sequence" 及び、“Histones” でない “Chromosomes”を“DNA” のカテゴリとして利用した。ただし、 UMLS Sematic Type T028: "Gene or Genome", T114: "Nucleic Acid, Nucleoside, or Nucleotide", T086: "Nucleotide Sequence", T026: “Cell Component”に含まれる UMLS Concept だけを残した。“RNA”に関しては C0035668: “RNA”及びその子孫を利用した。ただし、UMLS Sematic Type T114: “Nucleic Acid, Nucleoside, or Nucleotide", T086: "Nucleotide Sequence" に含まれる UMLS Concept のみに限定した。“cell type” に関しては UMLS Semantic Type が “T025”であるような UMLS Conceptを利用した。“cell line”に関しては C0007600: “Cultured Cell Line” 及びその子孫を利用した。

その後、複数のカテゴリに含まれるような曖昧性のある語句を除去した。例えば“IL2”という文字列は、 “Interleukin-2" というタンパク質名としても、“IL2 gene”という遺伝子名としても登録されている。この段階でのそれぞれのカテゴリの語句数は表 4 のとおりである。また、辞書マッチの recall を上げるために inflect ${ }^{5)}$ という python ライブラリを利用して、それぞれの語句に対して複数形を辞書に追加した。

表 4 UMLS を元にした辞書中の各カテゴリごとの語彙数


# 翻訳精度に基づく固有名詞の翻訳手法の研究

高井公一 ${ }^{\dagger}$ 服部元 ${ }^{\ddagger}$ 米山暁夫 $\ddagger$ 安田圭志 $\dagger$ 須藤克仁 $\dagger$ 中村哲 $\dagger$
†奈良先端科学技術大学院大学
‡株式会社 KDDI 総合研究所
takai.koichi.tc1@is.naist.jp, \{ge-hattori, yoneyama\}@kddi-research.jp
ke-yasuda@dsc.naist.jp, \{sudoh, s-nakamura\}@is.naist.jp

## 1 はじめに

近年における音声言語処理の技術の発展に伴い,機械翻訳を介した言語間音声コミュニケーションは旅行者にとって現実的なものとなりつつある。また，観光者が訪れるスポット，ランドマーク，飲食店などの固有名詞が多く存在し，そのカバレージが翻訳システムの精度に影響を及ぼすことが分かっている.この固有名詞の課題の対処として，クラスと言われる単語のグループを用いた手法や，サブワー ドモデルなど研究されてきたが，実用では，固有名詞対訳辞書の作成コストと, 固有名詞クラスのアノテーションのコストの問題が課題である.

本論文では，まず，クラス言語モデルに必要なアノテーションの課題を解決し, 固有名詞クラス定義を自動推定する手法を提案する。ここでは，日英対訳コーパスから自動翻訳指標を用いて，最適な固有名詞クラス定義を決定する。次に，機械翻訳の実験検証として, 入力文の固有名詞クラスの推定結果により，固有名詞を正確に訳せるクラス言語モデルに基づく機械翻訳と，サブワードに基づく機械翻訳を使い分けることで，訳質が向上することを JParaCrawl の日英対訳コーパスを用いた実験で確認する.

## 2 関連研究

固有名詞に着目した機械翻訳のアプローチは大別して2つに分けられる. 1 つ目は，サブワードモデルのアプローチで，学習コーパスの単語をサブワー ドもしくは文字単位に細かく分割し，未知語となる語彙を減らす手法 [1-4]である．2つ目は，未知語を既知語に置き換え，既知語を含む文でニューラル機械翻訳（Neural Machine Translation：NMT）を行い，翻訳結果から置き換えた単語を戻す手法 [5] である。 サブワードを使用する手法は，未知語となる固有名詞が含まれていても文全体の訳は崩すことなく，流暢に翻訳できる。しかしながら，この手法では固有名詞自体の訳語が翻訳結果に出力されない問題や，同表記の固有名詞の訳語など多義性の問題から，翻訳の適切さとしての課題が残る。

次に，既知語への置き換え手法は，未知語を事前学習したクラスの中から選択し, 指定したクラスの別の固有名詞の既知語に置き換えて処理する。既知語は翻訳モデルの学習コーパスの中から選択するため，学習量が十分なことから，文全体の訳も崩れず適切に翻訳できる. そして, 未知語である固有名詞の翻訳に関しては，人手で対訳辞書を作成するため，正確に翻訳することができる．ここで，クラス言語モデルの利用は，音声認識の分野で，未知語の問題を解決するために用いられてきた [6-9]. この考えは，単語クラス付き対訳辞書を用いる手法などにより，コーパスベースの機械翻訳にも取り入れられている [10-13]. しかしながら，その多くは人手によりアノテーションされた学習データを用いて，教師あり学習を行う方法で，学習コーパスを用意する必要がある点で課題が残る。

## 3 提案手法

本研究では，正確な固有名詞の翻訳が行える既知語への置き換え手法を用いる。まず，人手によるアノテーションを行わなくとも固有表現認識 (Named Entity Recognition:NER) モデルの学習が行える手法を提案する．従来研究と同様に，教師あり学習の手法を用いるが，固有名詞のクラス定義をするための学習データを自動構築する。また比較的簡単な原言語と目的言語の対訳辞書の作成は人手で行い，翻訳モデルに多数存在する固有名詞クラスから自動推定する仕組みを構築する。 さらに学習した NER モデルにより，NMT モデルを切り替え，訳質を向上する手法を提案する.

図 1 提案手法の処理概要

図 1 に示す通り，提案手法は，データ構築処理部，固有名詞クラス定義の推定モデル学習，およびモデル切り替え処理部からなる. データ構築処理部は，日英対訳コーパスから，自動翻訳指標を活用して，最適な固有名詞クラス定義を決定する。作成した推定モデルのデータから，固有名詞クラス定義の推定モデルを学習する. そしてモデル切り替え処理部は，実際に翻訳処理する際の仕組みを想定し， SentencePiece モデルと既知語への置き換えモデルの切り替えを NER モデルで分岐する。学習データは， モデル切り替え処理部にある翻訳モデルの学習や適応は行わず，固有名詞クラス定義推定モデルの学習にのみ活用する。これらの 3 つの処理の詳細を説明する。

## 3.1 データ構築

図 2 に，データ構築の処理手順を示す。日英対訳コーパスをベースに，日本語と英語の両言語に固有名詞が含まれる文を抽出する，次に，複数存在する固有名詞クラスの中から最も翻訳性能が高くなるクラスを，翻訳の自動評価により決定して，学習デー タを作成する. 固有名詞クラス定義の自動付与の手順を以下に記す。

1. 固有名詞クラス定義のうち一つを選択し，既知語置き換えモデルに固有名詞を登録する。

2. 選定した 1000 文の原言語文から，上記の 1 の辞書で，既知語置き換えモデルで翻訳する。
3. 1 で登録した固有名詞を辞書から取り除く.

4. 上記の 1 から 3 をすべての固有名詞クラスに対して行う.

そして，上記の手順で得られた固有名詞クラスごとの翻訳結果に対して自動評価を行う。目的言語文を

図 2 データ構築処理

参照訳として，次式により最適な固有名詞クラス

$
\hat{c}=S_{B L E U}\left(T_{R E F}, T_{M T}^{c}\right)
$

$C ， T_{R E F}, T_{M T}^{c}$ ，はそれぞれ，固有名詞クラスの集合，対訳コーパス中の目的言語文，固有名詞クラス定義 $C$ としたときの翻訳結果である. $S_{B L E U}$ は, $T_{R E F}, T_{M T}^{c}$ の自動評価指標 BLEU スコア [14] で次式により計算する.

$
B L E U=B P_{B L E U} \times \exp \left(\frac{1}{N} \sum_{n=1}^{N} \log (P n)\right)
$

ここで, $N=4, B P_{B L E U}$ は翻訳文が参照文と比較して短い場合に用いるぺナルティ係数である. $B P_{B L E U}$ は翻訳文の単語数を $c$, 正解文の単語数を $r$ とし，以下の式で計算される.

$
B P_{B L E U}= \begin{cases}1 & (c>r) \\ e^{1-\frac{r}{c}} & (c \leq r)\end{cases}
$

このようにして対訳コーパスの原言語文に対して， $\hat{c}$ を付与することができる.

## 3.2 固有名詞のクラス推定モデル

前節の学習データから，固有名詞クラスを付与する NER モデルを学習する。NER モデルは指定した単語に対して，単語自身の表層標記情報や周囲の単語列の情報を用いて，固有名詞クラスを推定する手法が研究されてきた．そして，固有名詞のクラス定義は翻訳エンジンごとに定義されており，詳細なものでは形態素情報が用いられている. 本研究の NER モデルでは，入力文に含まれる各単語をそれぞれ $N+1$ カテゴリ（翻訳システムによって定義され

1）固有名詞クラスの選択により訳語が変化する原言語文に限る

るクラス数 $N$ と，それ以外のクラス）に分類する形で学習する. NER モデルに関しては, 従来研究の手法をいくつか用いて検証する。

## 3.3 モデル切り替え処理

実際の翻訳実行には，固有名詞を正確に翻訳するために，既知語への置き換えモデルと SentencePiece モデルを切り替えて，ハイブリッド処理を行う. 図 1 の (3) にある，原言語文を NER 推定し，推定結果により処理を分岐する．推定結果が固有名詞クラスの場合は，既知語への置き換えモデルを用いる. 固有名詞と推定した固有名詞クラスを辞書に登録し，同クラスの代表単語と置き換えて文全体を翻訳する.そして，翻訳結果の代表単語を登録した固有名詞に戻して訳語を得る。一方，推定結果が固有名詞クラス以外の場合は, SentencePiece モデルで文全体を翻訳し，訳語を得る。

## 4 実験

本実験では日英機械翻訳を対象に，提案手法の有効性を確認する。また手法の有効性の確認のため, ハイブリッド手法としない個々のモデルで比較評価する. 全評価データを SentencePiece モデルに入力した場合をべースラインとする。 そして既知語への置き換え手法の比較として，評価データの固有名詞の存在を既知として，固有名詞クラスを人手で付与したもので検証した.

## 4.1 実験条件

既知語への置き換えモデルは，国立研究開発法人情報通信研究機構のみんなの自動翻訳@ $\mathrm{TexTra}^{2}$ )を使用した. Transformer モデルのニューラル機械翻訳で固有名詞のクラスを選択し，辞書登録機能がある. そして SentencePiece モデルは，JParaCrawl の日英対訳コーパスの学習済みモデル ${ }^{3}$ を使用した。

NER モデルの学習手法は，3つの手法を検証した. 1 つ目は，BiLSTM-CRF $[15,16]$ で，推定対処の単語を, 前方向と後方向からそれぞれ単語列を順列処理する手法である．2つ目は， $\mathrm{GRN}^{4}$ [17] で，分散表現化 [18] した単語を入力することで分類する.分散表現の取り組みは，テキスト分類 $[19,20]$ にも

表 1 ハイパーパラメータ

表 2 固有名詞クラス定義と学習データ数

応用された手法である．3つ目は，BERT-NER [21] で，マルチレイヤーTramsformer [22] である. 近年の研究で, BERT モデルをべースした研究が活発で, NER タスクの研究もなされている [23]. 本研究では，事前学習されたモデルをべースに，構築したコーパスを用いて FineTuning して適応する. そして BiLSTM-CRF と GRNでは, 前述の 1000 文の学習コーパスを用いて学習を行った. BERT-NER は，事前学習された 12 層, 隠れ層次元数 768 のモデル5）を用い，前述の 1000 文の学習コーパスで FineTuning して学習させた. 表 2 に, 本研究の実験で使用した NER モデルのハイパーパラメータを示す. 学習コーパスはオープンデータの JParaCrawl の日英対訳コーパスを使用した. 1000 万文の JParaCrawl の日英対訳コーパスから，日本語と英語の両言語に固有名詞が含まれる文を抽出し，さらにその中から，自動算出した訳語の精度 [24] の高い 1000 文を選定して，学習コーパスとした. 固有名詞クラス定義の種類は，評価データの旅行ドメインで利用する 14 クラスを用い，最終的に得られた固有名詞クラス定義と学習データ数を表 2 に示す. データセットの中で出現割合が最も多いクラスは日本人の姓で，最も少ないクラスはキャラクター名であった.

## 4.2 評価方法

NER モデルの性能を 3 つの指標で評価する. 1 つ目が既知語置換率，2つ目が固有名詞正解率，そして3つ目が BLEUによる自動評価である. NER モ

表 3 固有名詞クラス推定と BLEU 評価

 &  & BLEU \\

(ベースライン) & & & \\
BiLSTM-CRF & 24.29 & 89.86 & 37.40 \\
GRN & 45.71 & 91.30 & 35.22 \\
BERT-NER & $\mathbf{9 4 . 2 9}$ & $\mathbf{9 8 . 5 5}$ & $\mathbf{3 7 . 5 5}$ \\

デルは対象単語のクラス推定を，15 クラス（固有名詞クラス 14 と, 固有名詞でないクラス）から推定し，固有名詞クラスと推定した場合は既知語への置き換えモデルを用いて翻訳する。既知語置換率は，固有名詞クラスを推定できた率である。 次に，辞書登録した場合の固有名詞の翻訳の正確さの指標とし $\tau$ ，固有名詞正解率を算出する．最後に，固有名詞の翻訳を含めた文全体の翻訳の評価として，自動評価指標の BLEU 評価を行う. NER 推定結果が自動翻訳全体に及ぼす影響を. 人手で作成した目的言語文の訳語を用いて評価比較する。

評価の対訳データは，独自に収集した，岐阜タクシーでの翻訳社会実証データの 2379 文の中から，両言語に固有名詞が含まれる 261 文を選定し, そこから評価データとして 69 文をランダムに抽出した.固有名詞辞書のデータ作成は，翻訳者が人手で作成し，複数のクラス定義を付与し，最終的に 285 件をエントリーした.

## 4.3 実験結果

表 3 は，固有名詞に人手でアノテーション付与する手法, ベースラインの SentencePiece モデル，および提案手法の NER モデルによるハイブリッド手法の比較評価結果である． 2 列目に既知語置換率， 3 列目に固有名詞正解率， 4 列目に BLEU スコアを記述した。既知語への置換手法は, 全ての条件において，基盤となる NMT と対訳辞書のエントリーは同じで，クラスの付与方法のみが異なる. 表 3 から，人手付与の手法は，アノテーションのコストは必要になるが，固有名詞正解率が $100 \%$ と全て正確に翻訳ができて，BLEU スコアも最も高い数值であった. 次に，固有名詞のアノテーション情報のない SentencePiece モデルは, 固有名詞正解率が $89.86 \%$ で，BLEU スコアが $35.73 \%$ と高精度であった。この場合は自動で固有名詞判定は行わないが，翻訳結果から事後分析し, 固有名詞正解率を算出した. 固有名詞正解率が高い理由は，評価データには「日本」 や「岐阜」など比較的収集しやすい用語があり，評価データの一部が，学習データの JParaCrawl に含まれていたと考えられる。付録の表 4 に評価結果の一部を示す。一方で，人手付与と比較すると，固有名詞正解率と BLEU スコアが低く，評価データの固有名詞が $10 \%$ 近くが訳せていない. 提案手法では， BiLSTM-CRF と GRN は，既知語置換率は低かったが，固有名詞正解率がベースラインより軽微改善できた。最も評価結果が良かったものは BERT-NER で，既知語置換率が $94.29 \%$ と非常に高い検出率となった. そして固有名詞正解率が $98.55 \%$ と高精度で, SentencePiece モデルと比べて大きく改善し, アノテーションコストが必要な人手付与に近い精度が得られた. さらに BLEU スコアについても，人手付与には劣るが，SentencePiece モデルよりも高い訳質が得られた. 自動構築した NER モデルによるハイブリッド手法は，アノテーションコストなしに，人手付与の手法に近い性能と言える.

## 5 まとめ

本論文では，クラスベースの翻訳システムへの利用を目的とし，固有名詞クラスを自動的に付与する方法を提案した. 本手法は，対訳コーパスと翻訳システムとを用いて，学習データを構築し，次に構築したデータから NER モデルによる固有名詞クラス推定モデルを学習した。評価実験では，このモデルから自動的にテストセットの固有名詞を推定し，推定した固有名詞クラスをニューラル機械翻訳の辞書に登録し，得られた翻訳結果を自動評価した．実験結果によると，提案手法による固有名詞クラス推定の既知語置換率が $94.29 \%$ で，自動評価評価も人手のアノテーションに迫るスコアで，高精度な結果が得られた。これらの結果から，提案手法は，人手による学習データの作成なしに，クラスベース翻訳システムの固有名詞辞書拡張を可能にしたと言える.今後の検討課題として，コーパスサイズを増やして固有名詞クラス推定の精度を改善する予定である.

## 6 謝辞

本研究は，総務省「グローバルコミュニケーション計画の推進 -多言語音声翻訳技術の研究開発及び社会実証- I. 多言語音声翻訳技術の研究開発」の一環で収集したデータにより実施したものです。

## 参考文献

[1] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), p. 1715-1725, 2016.

[2] Z. Chen Q.V. Le M. Norouzi W.Macherey M. Krikun Y. Cao Q. Gao K. Macherey J.Klingner A. Shah M. Johnson X. Liu L. Kaiser S.Gouws Y. Kato T. Kudo H. Kazawa K. Stevens G.Kurian N. Patil W. Wang C. Young J. Smith J. Riesa A. Rudnick O. Vinyals G. Corrado M. Hughes Y. Wu, M. Schuster and J.Dean. Google' s neural machine translation system:bridging the gap between human and machinetranslation, 2016.[Online; accessed 28-December-2017]. http://www.pluto.ai.kyutech.ac.jp/NLP/.

[3] Minh-Thang Luong and Christopher D. Manning. Achieving open vocabulary neural machine translation with hybridword-character models. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), p. 1054-1063, 2016.

[4] M.R. Costa-Juss'a and J.A.R. Fonollosa. Characterbased neural machine translation. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), p. 357-361, 2016.

[5] Xiaoqing Li, Jiajun Zhang, and Chengqing Zong. Towards zero unknown word in neural machine translation. In Proceedings of the 25th Annual Meeting of the International Joint Conferences on Artificial Intelligence (IJCAI), p. 2852-2858, 2016.

[6] Issam Bazzi and James R. Glass. Modeling out-ofvocabulary words for robust speech recognition. In ICSLP, 2000.

[7] Hiroaki K. Genichiro K. Yoshihiko O. Yoshinori S. Yamamoto, $\mathrm{H}$. Out-of-vocabulary word recognition with a hierarchical language model using multiple markov model. In IEICE D-II 87(2), pp. 2104-2111, 2004.

[8] Shuntaro I. Yoshinori S. Yamamoto, H. Multi-class composite n-gram based on connection. In ICASSP, p. 533-536, 1999.

[9] Welly NAPTALI, Masatoshi TSUCHIYA, and Seiichi NAKAGAWA. Class based n-gram language model for new words using out-of-vocabulary similarity. In IEICE, p. 2308-2317, 2012.

[10] Masatsugu Tonoike, Mitsuhiro Kida, Toshihiro Takagi, Yasuhiro Sasaki, Takehito Utsuro, and Satoshi Sato. Translation estimation for technical terms using corpus collected from the web. In newblock In: Proceedings of the Pacific Association for Computational Linguistics, pp. 325-331, 2005.

[11] Keiji Yasuda, Panikos Heracleous, Akio Ishikawa, Masayuki Hashimoto, Kazunori Matsumoto, and Fumiaki Sugaya. Building a location dependent dictionary for speech translation systems. In CICLING, 2017.

[12] Xuezhe Ma and Eduard Hovy. End-to-end sequence labeling via bi-directional lstm-cnns-crf. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), p. 1064-1074, 2016.
[13] Sebastien Jean, Kyunghyun Cho, Yoshua Bengio, and Roland Memisevic. Onusing very large target vocabulary for neuralmachine translation. In 28th NIPS, p. 1-10, 2014.

[14] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL), 2002.

[15] Guillaume Lample, Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Chris Dyer. Neural architectures for named entity recognition. In $N A A C L-H L T$, p. 260-270, 2016.

[16] Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. Deep contextualized word representations. In NAACLHLT, p. 2227-2237, 2018.

[17] G. Dingy J. Louz Y. Zhangx H. Cheny, Z. Linz and B. Karlssonz. Grn: Gated relation network to enhance convolutional neural network for named entity recognition. 2019.

[18] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems 26. Curran Associates, 2013.

[19] Yoon Kim. Convolutional neural networks for sentence classification. In $E M N L P$, p. 1746-1751, 2014.

[20] Nal Kalchbrenner, Edward Grefenstette, and Phil Blunsom. Convolutional neural networks for modeling sentences. In COLING, p. 655-665, 2014.

[21] Mikhail Arkhipov, Maria Trofimova, Yuri Kuratov, and Alexey Sorokin. Tuning multilingual transformers for named entity recognition on slavic languages. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics (ACL), p. 89-93, 2019.

[22] Noam S. Niki P. Jakob U. Llion J. Aidan N G. Łukasz K. Ashish, V. and P. Illia. bidirectional transformers for language understanding. In In Advances in neural information processing systems, p. 5998-6008, 2017.

[23] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. bidirectional transformers for language understanding. In arXiv preprint arXiv:1810.04805, 2018.

[24] Makoto Morishita, Jun Suzuki, and Masaaki Nagata. Jparacrawl: A large scale web-based english-japanese parallel corpus. In Proceedings of the 12th Conference on Language Resources and Evaluation(LREC 2020), p. 3603-3609, 2020.

## A 付録

表 4 例：評価文と翻訳結果

原言語文：あと二三分で一夜城に着きます

原言語文 : 川のこちらが犬山市です。

原言語文：何回か行きました。朴葉味噌か肉の料理がおいしかった。

(C) The Association for Natural Language Processing, (Licensed under CC BY 4.0）https://creativecommons.org/licenses/by/4.0/


# 小説あらすじを用いて学習した系列ラベリングモデルによる 小説本文からの人物情報抽出の性能検証

岡裕二
香川大学大学院工学研究科
s20g460@stu.kagawa-u.ac.jp
}

安藤一秋
香川大学創造工学部
ando.kazuaki@kagawa-u.ac.jp

## 1 はじめに

近年，電子書籍や小説投稿サイトの発展により,小説を読む際の場所や時間の制限が緩和されると共に，小説の数も増加し続けている。小説の数が増えることで個人の埕好にあった小説も増える可能性があるが，膨大な数の小説の中から個人の嗜好にあった作品を発見する労力は増大していると考えられる. 書籍を取り扱う $\mathrm{EC}$ サイトや小説投稿サイトには，作者やジャンルなど，特定の情報に基づく検索機能が実装されてはいるが，小説の内容に踏み込んだ検索機能は実装されていない.

個人の嗜好は，「ハッピーエンド」や「敵が仲間になる」などの展開に関する埕好と，「銀髪赤目の少年」や「長身のメイド」などの登場人物に関する嗜好に分けることができる. 本研究では，小説内の登場人物情報を体系的に抽出することで，登場人物情報による小説検索，登場人物情報を豊富に取り入れた小説のあらすじ生成, 人物関係図の自動生成などを目指している。

筆者らの先行研究 [1] では，商業小説のあらすじテキストにタグ付けしてデータセットを構築し, 深層学習モデルと CRF（Conditional Random Fields）を組み合わせた系列ラベリングモデルにより，あらすじテキストから人名，性別，容姿性格，職業などの登場人物情報を自動抽出する手法を提案した. 本稿では，あらすじテキストで学習した系列ラベリングモデルを Web 小説の本文に適用し, 訓練データおよび提案モデルの小説本文に対する抽出性能について検証する。

## 2 小説本文に基づくテストデータの 構築

小説本文を収集して，テストデータを構築する方法について述べる.

## 2.1 小説本文の収集

筆者らの先行研究 [1] で構築したデータセットは,商業小説のあらましを利用しているため，本文デー タを利用することができない，そこで，「小説家になろう」サイトから本文データを収集する。

小説本文の収集には，「小説家になろう」を運営している株式会社ヒナプロジェクトが提供する Web API（なろう小説 API）を用いる。なろう小説 API は，ジャンル別や人気の高い順などの条件により，「小説家になろう」に投稿されている小説の各種データを抽出できるが，本文データを抽出することはできない. そこで，APIを使用して小説のジャンル，ID，タイトル，著者名，あらすじを収集し，収集した小説の IDを基に，クローリングによって本文データを収集する，収集対象は，長編小説の本文とする.

## 2.2 テストデータの構築方法

本稿での評価に用いるテストデータは, 次の手順で構築する。なお，タグおよびタグ付け方法については，先行研究 [1] と同様である.

1.「小説家になろう」から収集した長編小説の本文のうち，三話までのテキストを 1 文ずつ形態素解析する.

2. 各形態素に対して，以下のルールでタグ付けする.タグの形式には IOB 2 タグ形式を用いる.

・名前に名前タグ（NAME）を付与例 : 西尾，信長，シャルル・マーニュ

・性別表現に性別タグ（MF）を付与例：男，美男子，美女，乙女，女の子

・年齢表現に年齢タグ（AGE）を付与例：16歳，少年，お婆さん，幼い，高校生

・容姿や特性表現に状態タグ（STATE）を付与
例 : 白い髪, 元気, 高飛車, 天才, 職人気質

・職業や立場表現に能力タグ（PRO）を付与例：竜飼い，仙女，最高権限者，メンバー, 国王

・組織・種族名に所属タグ（AFF）を付与例: 鳳凰学園杖術部, 日本政府, 討伐軍, エルフ

・以上に当てはまらない人物情報にその他タグ （OTHER）を付与

例：異星人，神，元凶，気鋭，ペンギン

・地名や建物名に場所タグ（PLACE）を付与例: ムー大陸, 日本, パリ, 礼拝堂, 魔法学校

・人物関係表現に関係タグ（REL）を付与例: 兄, 親, 敵, 相棒, 結婚

・それ以外のものに O タグを付与

先行研究 [1] と同様, 直接的な人物情報ではないが，地名や建物名，人物関係表現についても，今後の応用を考慮してタグ付けする。

## 3 検証に用いる深層学習モデル

性能評価に用いるモデルについて説明する。

## 3.1 検証モデル

検証モデルには, 先行研究 [1] と同様, Huang らが提案したモデル (BiLSTM-CRF) [2], Ma らが提案したモデル (BiLSTM-CNN-CRF) [3], Lample らが提案したモデル (BiLSTM-CRF-L) [4], Misawa らが提案したモデル (Char-BiLSTM-CRF) [5]の4つの深層学習モデルを採用する。

Huang らの BiLSTM-CRF は，文中の単語に対する word embeddings を Bidirectional LSTM (BiLSTM) に入力し, 得られた単語べクトルを素性の代わりに CRF に入力することで固有表現抽出するモデルである. Ma らの BiLSTM-CNN-CRF と Lample らの BiLSTM-CRF-Lは，BiLSTM-CRFに対して，注目単語に含まれる文字情報を利用することで性能向上を図ったモデルである．BiLSTM-CNN-CRF は，注目単語に含まれる文字を CNN に入力して得られた単語ベクトルを word embeddings に結合し， BiLSTM-CRFに入力することで固有表現抽出する. BiLSTM-CRF-L は，BiLSTM-CNN-CRF の CNN の代わりに，注目単語に含まれる文字を Char-BiLSTM に入力して得られた単語ベクトルを word embeddings に結合し，BiLSTM-CRFに入力することで固有表現抽出する. Misawa らの Char-BiLSTM-CRF は，文字単位でラベリングするモデルであり，文字のベクトルと文字を含む単語のべクトルを BiLSTM に入力することで固有表現抽出するモデルである.

表 1 に深層学習モデルで用いたパラメータを示す. Dropout は，BiLSTMへの入力の前と後に適用した. 表 1 の下部に Ma らの BiLSTM-CNN-CRF と Lample らの BiLSTM-CRF-L で用いたパラメータを示す. 単語ベクトルとして用いる分散表現には，日本語 Wikipedia の本文全文で事前学習されたもの [6] を用意した。事前学習に用いたパラメータは表 2 に示すものが使われている. 単語ベクトルおよび文字ベクトルはモデルの学習とともに値を更新する.

表 1 深層学習モデルのハイパーパラメータ

表 2 事前学習した単語分散表現のハイパーパラメータ

## 3.2 品詞・品詞細分類情報の活用

Aguilar らの研究 [7] により, 深層学習モデルに品詞情報を追加することで，ソーシャルメディア中のテキストから構築された WNUT2017 データセットに対する抽出性能が向上したと述べられている. 先行研究 [1] と同様, 本稿でも, 品詞と品詞細分類で

それぞれランダムに初期化した品詞べクトルを利用し, 有効性を検証する，単語ベクトルや文字べクトルを BiLSTM に入力する際に同時に入力し, モデルの学習とともに品詞べクトルの値を更新する. 次元数は, 品詞および品詞細分類でそれぞれ 5 と 10 で実験する.

## 4 評価実験

## 4.1 評価方法

小説本文で構築したテストデータに対して，4つの深層学習モデルと, それぞれのモデルに品詞・品詞細分類の情報を付与したモデルの抽出性能を比較する. 抽出性能は, 適合率, 再現率, $\mathrm{F}$ 値を評価尺度に利用する. 人手でタグ付けした結果と機械学習モデルがラベリングした結果を比較し, 完全一致した場合のみを正解と判断する.

## 4.2 データセット

訓練データと開発データは, 先行研究 [1] で構築した，3,679 文で構成される商業小説のあらすじデータセットを 9:1 に分割して利用した。

テストデータを構築するため，まず，なろう小説 APIを用いて，ジャンルがハイファンタジー，またはローファンタジーであり，ランキング上位 2,500 件に入るという条件で収集した長編小説の中からランダムに 8 作品を選出した. そして, 各小説の三話までのテキストを MeCab[8] で単語分割し, 人手でタグ付けすることにより，3,127 文で構成されるテストデータを構築した。

## 4.3 実験結果

実験結果を表 3 に示す. 表 3 に示すモデルは，品詞・品詞細分類の情報を付与していない 4 つの深層学習モデルと, 品詞・品詞細分類の情報を付与したモデルの中で最高性能のモデル（BiLSTM-CRF-

の次元数を示す. 品詞と品詞細分類それぞれに次元が割り当てられるので，実際に付与される次元数は @の 2 倍となる. 太字部分は各ラベルでの最良 $\mathrm{F}$ 值である.

表 3 より，PLACE（地名・建物名）と REL（関係表現）を除く全てのラベルでBiLSTM-CRF-pos10が最良 $\mathrm{F}$ 値，または最良に近い $\mathrm{F}$ 値であることが確認できる.また， MF（性別表現）と AGE（年齢表現）
については, どのモデルでも 9 割近い $\mathrm{F}$ 值となった. しかし, 他のラベルでは， 7 割以下の $\mathrm{F}$ 値となっており，特にSTATE（容姿・特性表現）, AFF（組織・種族名）と PLACE（地名・建物名）は，最良 $\mathrm{F}$ 值であっても 5 割以下と非常に低い.

次に，小説本文に対する抽出性能と比較するため, 先行研究 [1] であらすじデータセットに対して全体の最良性能を得た BiLSTM-CRF の抽出性能を表 4 に示す。表 4 は，あらすじデータの 8 割を訓練データ，1 割ずつを開発データとテストデー タに分割し，十分割交差検証を行った結果の平均を算出している. 本稿での最良性能を確認した BiLSTM-CRF-pos10 の抽出性能と比較すると, MF （性別表現）とOTHER（その他の人物情報）以外のラベルにおいて，抽出性能が低下している．AGE （年齢表現）については軽微であるが，それ以外のラベルは大幅な性能の低下となった。

## 5 考察

あらすじと本文において抽出性能差が生じる要因について考察する. 抽出性能が高い MF（性別表現） と AGE（年齢表現）は，他の人物情報と比べて，表現自体に多様性が少ないことから，高い抽出性能が維持されていると考えられる. OTHER（その他の人物情報）に関しては，あらすじに出現する表現が多様であったため, 本文に出現する表現を包含でき，結果として，あらすじに対する性能より高くなったと考えられる. STATE（容姿・特性表現）に関しては, 容姿に関する記述法が複数あったり, 色が異なるだけで別の形態素として認識されることもあるため，抽出性能が低下したと考えられる．NAME（人名), AFF (組織・種族名), PLACE (地名・建物名) に関しては, 固有の表現が多く, 基本的に同作品や同じ世界を共有しない限り, 同じ名前が使われることがないため, 抽出性能が低下したと考えられる。 また人名に限定すれば「姫」や「友」など他のラべルに付与される可能性の高い形態素も出現することもあるため，性能が低下していると考えられる。

次に，抽出エラーについて分析する。 抽出エラー を以下の 5 種類に分類し，各割合を算出する。

・人物情報に O タグを振る間違い (ne2oMiss)

・人物情報ではない部分に人物情報タグを振ってしまう間違い (o2neMiss)

・抽出範囲は正確だが，人物情報タグの種類を間違えている (classMiss)
表 3 実験結果

表 4 あらすじデータに対する最良モデル

(BiLSTM-CRF) の抽出性能

$\begin{array}{llll}\text { MF } \quad 96.06 & 96.03 \quad 95.95\end{array}$

AGE $\quad 92.56 \quad 92.83 \quad 92.62$

$\begin{array}{llll}\text { STATE } \quad 58.85 & 57.72 \quad 57.98\end{array}$

$\begin{array}{llll}\text { PRO } & 80.39 & 79.92 & 80.14\end{array}$

AFF $\quad 72.45 \quad 71.51 \quad 71.86$

OTHER $\quad 63.62 \quad 62.58 \quad 63.02$

$\begin{array}{llll}\text { PLACE } & 73.30 & 78.78 & 75.89\end{array}$

・人物情報タグの種類は正確だが，抽出範囲を間違えている (rangeMiss)

・人物情報を一部含んでいるが，人物情報タグの種類と抽出範囲を間違えている (r\&cMiss)

最良性能モデルによる，あらすじデータに対する抽出ミスの割合と，本文データに対する抽出ミスの割合を図 1 に示す. 図 1 より，あらすじに対する抽出ミスと比べて，本文に対する抽出ミスは，人物情報ではない部分に人物情報タグを振ってしまう o2neMiss が多いことが確認できる。これは，「〜学校」などのような固有名詞として出てくる系列にはタグを付与しているが，単なる「学校」などの特定できない一般的な場所名にはタグを付与していないという訓練データに対するタグ付けの問題が影響していると考えられる。また，「主」という文字に対して「あるじ」と読むか「おも」と読むかでタグ付け対象か否かが変わることなども影響していると考えられる．また，ビクリやゴロリ，ガッなどの擬音が NAME（人名）として抽出されるミスが散見された．あらすじでは，短く端的に小説の内容を紹介する必要があるため, 副詞的用法が少なく, 結果として，本文にしか現れない用法にうまく対応できなかったと考えられる。

bilstm-crf

bilstm-crf-pos10(main_text)図 1 あらすじと本文での最良性能モデルの抽出ミス割合の比較

## 6 おわりに

本稿では，あらすじテキストで学習した系列ラベリングモデルを Web 小説の本文に適用し，訓練データおよび提案モデルの小説本文に対する抽出性能を検証した。性能評価の結果，BiLSTM-CRF に品詞・品詞細分類ベクトルを 10 次元ずつ付与したモデル（BiLSTM-CRF-pos10）が最良性能を得ることを確認した。また，あらすじを対象とした人物情報抽出の最良性能と比較した結果, MF (性別表現) と OTHER（その他の人物情報）については，本文を対象とした場合の抽出性能の方が高くなることを確認した. 他のラベルにおいては，AGE（年齢表現） の場合は軽微に，その他のラベルについては大幅に抽出性能が低下した. エラー分析の結果，本文を対象にした場合の抽出ミスは，人物情報ではない系列に，人物情報タグを付与するというミスが多いことを確認した。

あらすじデータを訓練データに利用する点については，あらすじには登場しない表現や構文が本文に出現する可能性があるため，すべてに対応できるとはいえない. しかし，一作品あたりの文数が本文よりも圧倒的に少なく，様々な作品を包含することで未知単語を減らすことができる可能性がある。本文データを訓練データに用いたモデルの性能が確認できていない現状，有用性を結論づけることは難しいため，今後検証を継続する必要がある。

## 参考文献

[1] Yuji Oka and Kazuaki Ando. Extraction of novel character information from synopses of fantasy novels in japanese using sequence labeling. In Proceedings of the 34th Pacific Asia Conference on Language, Information and Computation, 2020.

[2] Zhiheng Huang, Wei Xu, and Kai Yu. Bidirectional lstm-crf models for sequence tagging. In arXiv: 1508.01991, 2015.

[3] Xuezhe Ma and Eduard Hovy. End-to-end sequence labeling via bi-directional lstm-cnns-crf. In Proceedings of the Annual Meeting of the Association for Computational Linguistics, 2016.

[4] Guillaume Lample, Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Dyer Chris. Neural architectures for named entity recognition. In Proceedings of the North American Chapter of the Association for Computational Linguistics, 2016.

[5] Shotaro Misawa, Motoki Taniguchi, Yasuhide Miura, and Tomoko Ohkuma. Character-based bidirectional lstm-crf with words and characters for japanese named entity recognition. In Proceedings of the First Workshop on Subword and Character Level Models in NLP, 2017.

[6] 日本語Wikipedia エンティティベクトル, 2007. http://www.cl.ecei.tohoku.ac.jp/ m-suzuki/ jawiki_vector/.

[7] Gustavo Aguilar, A. Pastor López-Monroy, Fabio A. González, and Thamar Solorio. Modeling noisiness to recognize named entities using multitask neural networks on social media. In Proceedings of the North American Chapter of the Association for Computational Linguistics, 2018.

[8] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields to Japanese morphological analysis. In Proceedings of the Empirical Methods in Natural Language Processing, 2004.


# 文法変分自己符号化器を用いた統語構造の連続的変換

折口希実
お茶の水女子大学
g1620512@is.ocha.ac.jp
}

Lis Kanashiro Pereira
お茶の水女子大学
kanashiro.pereira@ocha.ac.jp
}

小林一郎
お茶の水女子大学
koba@is.ocha.ac.jp

## 1 はじめに

ニューラル言語モデル (NLM)[1] 及び word2vec[2] は，自然言語処理技術に大きな影響を及ぼし，多くの NLP アプリケーションの基盤構築に利用されている。一方で，それらは言語モデルを上手く表現するが，文の統語構造が十分に反映されているとはいえない。また自然言語を処理するのに用いられる再帰型ニューラルネットワーク (RNN) では，それ自身のアーキテクチュアの制約により，統語情報のような構造化情報を効果的に処理することができない. 深層学習のフレームワークで構造情報を処理する方法として, Kusuner ら [3] は離散な構造を持つデータを連続な値，つまり潜在空間における埋め込みべクトルとして扱うことができる，変分自己符号化器 (VAE) モデル [4] に基づいた新しい VAE である Grammar Variational Autoencoder (GVAE) を提案している。本研究では，GVAE モデルを改良し，自然言語文の統語構造を連続的に変換可能にし，ガウス分布によって表された潜在空間からサンプリングする点の変化によって連続的に統語構造を変換可能にする手法を開発する。 さらに，潜在空間にエンコー ドされたべクトルを使用し, 統語構造の観点から文の類似性を測定する方法を提案する. 本研究で開発する方法は，換言や構文変換、自然言語生成 (NLG) などの様々な自然言語のアプリケーションのための有効な基礎研究になると期待する.

## 2 関連研究

深層学習を用いて自然言語の統語構造に対するアプローチとして, Shi ら [5] は、エンコーダ-デコー ダモデルが構造情報を学習可能かどうかを調べ，原文の多くの構造の詳細が生成されたテキストにおいて十分でなく久落していることを示した. デコー ダは基本的に NLM のフレームワークに基づいて文を生成するため，明示的な構文情報の不足による非文が生成される場合が多くある。この背景を踏まえ
て，構造に関する知識を活用して文生成の品質を向上させることを目的として，いくつかの研究がこの問題に取り組んできた．Bastings ら [6] は，グラフ畳み込みネットワーク (GCN)を使用して，統語構造を NMT のアテンションに基づくエンコーダ-デコーダモデルに組み込む方法を提案した. Chen ら [7] は， ソース側の構文木を，シーケンシャル表現と木構造表現の両方を学習する双方向ツリーエンコーダー とアテンションメカニズムを用いたソース側の構造が反映される（ツリーカバレッジ）モデルに明示的に組み込むことで，NMT モデルの改善を行った。 NLG の研究では, Deriu ら [8] は, 生成されたテキストの語彙の変動性と構造上の特徴を制御することにより，より多様な文を生成するための構造操作について提示している. Hu ら [9] は，VAE と敵対的生成ネットワーク (GAN)[10]を使用して，潜在空間での情報を操作することでテキスト生成において構文構造の改善を伴う制御を実現した. 本研究のように潜在空間において構造情報を扱う研究として，Bao ら [11] は，分散表現によって意味を扱う潜在空間のみを用いて文を生成することは構造情報を明示的にモデル化していないことを指摘しており，DSS-VAE と呼ばれる意味空間と構造空間のもつれを解消したそれぞれの空間から文を生成するVAEを提案している.

## 3 文法変分自己符号化器

Kusner ら [3] が提案した自己符号化器 (GVAE) は,入力として離散なデータを扱うことができる VAE モデルの一種であり，文法の生成規則も使用することが可能である．潜在空間のサンプリング点を僅かに変えることで離散情報である自然言語の統語構造をシームレスに変換することができる．彼らはその適用例として, 分子の化学構造を ASCII 符号の英数字で文字列化した表記法である SMILES 記法を用いた分子構造に対して連続的な表現および変換方法を示している.

GVAE モデルの概要を図 1 に示す.

図 1 GVAE の概要. 潜在空間でサンプリングされた值に応じて，様々な構造の分子を生成できる。

## 4 統語構造に対する GVAE

GVAE を適用して自然言語の統語構造の類似性を潜在空間において計測可能としつつ，潜在空間でのサンプリングする値の変化を通じて与えられた文の統語構造の類似関係を制御し統語構造を変換する。 GVAE のフレームワークを自然言語の統語構造に適用する場合, Kusner ら [3] で示される SMILES 記法に基づいた分子に適用する場合とは異なり，自然言語文の統語構造は非終端記号の数と文法の生成規則数の両方の点でより複雑となる. 実際に，SMILES 記法では終端記号の数は 30 ，構文規則の数は 76 に対して，本研究で GVAE に用いた自然言語構文を処理するための実験設定では，前者として品詞情報を扱い，後者では短文を表現するための文脈自由文法の規則を採用したことから，それぞれ 27 と 320 となる1)しかし，これでは生成規則を適用させるための制約もなく, 非文となる統語構造を生成する可能性がある。そのためそれを回避するために，文法規則として確率文脈自由文法 (PCFG) を採用する.

## 4.1 GVAE の処理の流れ

以下，GVAE の処理の流れを説明する (図 2参照).

Encoding 図 2 の(1)から(4)でされるプロセスがエンコーダーによって害行される。では，PCFG の生成規則が定義されている。では，自然言語文の統語構造を表す一連の終端記号がシステムに入力され，その入力シーケンスは viterbi parser ${ }^{2)}$ を使用してで定義された PCFG を用いて解析される. その後, 最も確率的に可能性の高い統語構造に変換され，前順走査によりこの構文木を一連の PCFG の生成規則に分解する. (3)では，構文木で使用された

規則が抽出され 1-hot ベクトルに変換される. 1-hot ベクトルの数は抽出された生成規則の数と同じであり，各ベクトルは用いられた規則を指し示している. (4)では，1-hot ベクトルは深層畳み込みニュー ラルネットワーク $(\mathrm{CNN})$ を介して潜在空間に表される.

Decoding 図 2 の凶からで示されるプロセスがデコーダによって実行される。(5)では，まず最初にエンコードされたベクトルが潜在空間からサンプリングされ，次に複数の正規化されていないべクトルが再帰型ニューラルネットワーク (RNN) によって生成される. Last-in First-out (LIFO) スタックを使用することにより，最も可能性の高い PCFG の生成規則を取り出すことができ，(で出力されるように，取り出した規則の終端記号に基づいて統語構造を生成することができる.

Training エンコーダの出力を $\mathbf{X}$ とし, 生成規則の総数を $K$ とする．デコーダでは，RNN の時間ステップ $t$ の最大値は $T_{\max }$ であり, 生成されたベクトルの集合は行列 $\mathbf{F} \in \mathbb{R}^{T_{\text {max }} \times K}$ として表す. 文法における非終端記号は $\alpha$ とし, 生成されたべクトルをマスクするべクトルは $\mathbf{F} \in \mathbb{R}^{T_{\max } \times K}$ である. 式 (1)で示されている分布は，時間ステップ $t$ でマスクされたベクトルから PCFG の生成規則をサンプリングするために用いられる。また, 式 (1)の $(t, k)$ は, 行列 $\mathbf{F}$ の $(t, k)$ 要素を指している. $\mathbf{z}$ は GVAE の潜在変数を表し， $m_{\alpha, k}$ は $k$ 番目の PCFG 規則と非終端記号 $\alpha$ の要素のベクトルに対するマスクベクトルを示す.

$
p\left(\mathbf{x}_{t}=k \mid \alpha, \mathbf{z}\right)=\frac{m_{\alpha, k} \exp \left(f_{t k}\right)}{\sum_{j=1}^{K} m_{\alpha, k} \exp \left(f_{t j}\right)}
$

$q(\mathbf{z} \mid \mathbf{X})$ はエンコーダーの出力である平均と分散パラメータを持つガウス分布である. 損失関数 $\mathscr{L}(\phi, \theta ; \mathbf{X})$ を推定するために必要な変分下限 (ELBO) は式 (2)のように計算される.

$
\begin{array}{r}
\mathscr{L}(\phi, \theta ; \mathbf{X})=\mathbb{E}_{q(\mathbf{z} \mid \mathbf{X})}\left[\log p_{\theta}(\mathbf{X}, \mathbf{z})\right. \\
\left.-\log q_{\phi}(\mathbf{z} \mid \mathbf{X})\right]
\end{array}
$

## 4.2 統語構造の類似性

GVAE では，モデルの潜在空間はガウス分布で表されているため，分布からサンプリング值を徐々に変化させることで、入力構造から僅かに異なる統語構造を取得することができる。また，統語構造は潜在変数を反映していることから，統語構造の類似性は潜在変数べクトル $\mathrm{z}$ を使用することで測定でき

 &  &  &  & $k$ from &  \\

図 2 自然言語の統語構造に対する GVAE のプロセス

る。そのため， $\cos$ 類似度を適用してべクトルを計算することで統語構造の類似度を測定する手法としても利用可能となる.

## 5 実験

潜在空間で表されるガウス分布からのサンプリング点を徐々に変化させることによる統語構造の連続的変換および異なる統語構造の類似性を測定する方法を検証するための実験を行う．

## 5.1 実験設定

表 1 に実験設定を示す. パラメータは [3]を元にして epoch 数についてはは学習可能な最大値を取りました。本研究では，およそ 10 語程度の文章に絞って行なっており, MicrosoftCOCOデータセット ${ }^{3}$ からこの基準を満

図 3 統語構造 1 たす 6,668 の文を選択し，StanfordCoreNLP ${ }^{4}$ を用いて文を解析を行い，GVAE で使用される生成規則を構築した。また，PCFG を構築するために生成規則とその確率を計算して導出し，6668 文の解析に必要となる 320 の生成規則を取得した.

## 5.2 実験結果

統語構造の変換統語構造 1 'DT JJ NN VBZ VBG DT NN' (図 3 参照)を GVAE の入力としている.

3) https://cocodataset.org/home

4) https://stanfordnlp.github.io/CoreNLP/統語構造 1 の GVAE の出力結果を図 4 に示す. 2 次元ガウス分布として表される GVAE の潜在空間のサンプリング点の変化による統語構造の段階的な変化を示している．サンプリング点は、分散軸に従って 0.01 刻みで移動している. 図 4 から, 統語構造が徐々に変化する様子を視認することができる.

統語構造の類似性統語構造の類似性を, $\cos$ 類似度を用いて潜在変数 $\mathbf{z}$ で測定した. 図 5 は, 図 4 の中央に表示されている統語構造と各構造がどの程度類似しているかを示す。下平面の 2 軸の双方が平均値からの変化を指し，縦軸は $\cos$ 類似度を指す。表 2 は，統語構造を僅かに変化させていった際の $\cos$ 類似度を表している. 表 2 における文は統語構造に適当な単語を当てはめて作成した例文である。

表 2 統語構造の違いによる $\cos$ 類似度の変化

## 5.3 考察

図 3 を力力して潜在変数のサンプリング点を徐々に変えることにより生成した 81 の統語構造が図 4 であり，実際の生成結果に緩やかな構造の変化が見られるかを検証する. サンプリング点が変更されていない場合において図 3 に示されている入力は，図 4 の中央に示されている構造と一致していることが確認できる. 図 4 から，潜在変数 $\mathbf{z}$ の値を徐々に変化させることで統語構造がスムーズに変換されているようにも見える。また，図 5 よりサンプリング点の 2 次元方向が分散に対して同じである場合，構造の類似性が高くなることがわかった.一方で，連続的な変換が起こっていないように見える箇所も確認した。例えば，下から４つ目で右から 2 つ目の交差点にある構造は，隣接する統語構造とはかなり異なっているように見えることがわかる.

図 4 統語構造 1 の連続的な変換 (サンプリング点は平均から 0.01 刻みで移動)

図 5 分散の変化による統語構造間での $\cos$ 類似度

また，別の統語構造を入力とした実験も行ったが図 4 と同様な結果を得た. 統語構造の連続的変換がうまくいっていない箇所がある原因として，訓練用のデータが不十分であったという可能性が考えられる. [3] におけるモデル訓練データ数は，文法の生成規則や終端記号数の点で自然言語のほうが化学式の構造よりも複雑であるにもかかわらず，本研究の 10 倍であり，よりシームレスな統語構造変換に関し
てはモデルの訓練に十分なデータを増やす必要がある.また，表 2 から統語構造の変化が大きくなると $\cos$ 類似度が低下することが読み取れた。

## 6 おわりに

本研究では，GVAEを改良し，潜在空間のサンプリング点を徐々に変更することで，自然言語文の統語構造をシームレスに変換できる手法を開発した。実験を通じて，入力文の統語構造から徐々に変化する構造を生成し，統語構造の類似性を潜在空間で表現されるべクトル間の $\cos$ 類似度によって測定できることを示した. 今後の課題として，統語構造のよりシームレスな変換を実現するために訓練データと文法規則の数を増やすことを考えている。さらに，提案手法を用いることで，複数文間における統語構造の類似性を正しく測定する手法を確立することを考えている。提案手法は，ほぼ同一の意味内容を保ちつつ大きく統語構造を変えない換言や文の類似性の測定，要約などの様々な研究に役立つと期待している.

## 参考文献

[1] Yoshua Bengio, Réjean Ducharme, and Pascal Vincent. A neural probabilistic language model. In T. K. Leen, T. G. Dietterich, and V. Tresp, editors, Advances in Neural Information Processing Systems 13, pp. 932-938. MIT Press, 2001.

[2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems, Vol. 26, pp. 3111-3119. Curran Associates, Inc., 2013.

[3] Matt J. Kusner, Brooks Paige, and José Miguel HernándezLobato. Grammar variational autoencoder. Vol. 70 of Proceedings of Machine Learning Research, pp. 19451954, International Convention Centre, Sydney, Australia, 06-11 Aug 2017. PMLR.

[4] Diederik P. Kingma and Max Welling. Auto-encoding variational bayes. In Yoshua Bengio and Yann LeCun, editors, 2nd International Conference on Learning Representations, ICLR 2014, Banff, AB, Canada, April 14-16, 2014, Conference Track Proceedings, 2014.

[5] Xing Shi, Inkit Padhi, and Kevin Knight. Does stringbased neural MT learn source syntax? In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 1526-1534, Austin, Texas, November 2016. Association for Computational Linguistics.

[6] Jasmijn Bastings, Ivan Titov, Wilker Aziz, Diego Marcheggiani, and Khalil Sima'an. Graph convolutional encoders for syntax-aware neural machine translation. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pp. 1957-1967, Copenhagen, Denmark, September 2017. Association for Computational Linguistics.

[7] Huadong Chen, Shujian Huang, David Chiang, and Jiajun Chen. Improved neural machine translation with a syntaxaware encoder and decoder. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1936-1945, Vancouver, Canada, July 2017. Association for Computational Linguistics.

[8] Jan Milan Deriu and Mark Cieliebak. Syntactic manipulation for generating more diverse and interesting texts. In Proceedings of the 11th International Conference on Natural Language Generation, pp. 22-34, Tilburg University, The Netherlands, November 2018. Association for Computational Linguistics.

[9] Zhiting Hu, Zichao Yang, Xiaodan Liang, Ruslan Salakhutdinov, and Eric P. Xing. Toward controlled generation of text. Vol. 70 of Proceedings of Machine Learning Research, pp. 1587-1596, International Convention Centre, Sydney, Australia, 06-11 Aug 2017. PMLR.

[10] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In
Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 27, pp. 2672-2680. Curran Associates, Inc., 2014.

[11] Yu Bao, Hao Zhou, Shujian Huang, Lei Li, Lili Mou, Olga Vechtomova, Xin-yu Dai, and Jiajun Chen. Generating sentences from disentangled syntactic and semantic spaces. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 60086019, Florence, Italy, July 2019. Association for Computational Linguistics.


# 自動獲得された因果関係知識に基づく文間の因果関係の推定

山田涼太
北陸先端科学技術大学院大学
yamada224@jaist.ac.jp

## 1 はじめに

文間の因果関係の推定は，質問応答システムなど，自然言語処理における幅広い場面で応用できる技術である。ここで，文間の因果関係の推定とは， 2 つ文 $C$ と $E$ が与えらたとき, $C$ が $E$ によって表される事象を引き起こす原因になっているか否かを推定するタスクとする。これまでの因果関係推定の研究は教師あり機械学習に基づく手法が主流であった。しかし，教師あり機械学習のためには因果関係の有無が付与された大量の文の組の集合が必要である。

本研究は，ブートストラップの手法によって因果関係が付与されたデータセットを自動構築し，それを元に文間の因果関係推定モデルを学習する手法を探究する [1]. データセットの構築, および因果関係推定モデルの学習には, 近年自然言語処理の様々なタスクで良い成果が得られている Bidirectional Encoder Representationsfrom Transformers (BERT)[2] を用いる. また, 自動獲得された因果関係知識の量と推定精度の相関を実験的に検証する。

## 2 関連研究

Kruengkrai らは, 訓練デー夕における原因文と結果文のそれぞれから得られた単語ベクトルや, 質問応答システムの回答から得られた情報から, 畳み込みニューラルネットワークを用いて因果関係を判定する手法を提案した [3]. 実験の結果, こ

た. Hashimoto らは，文間の因果関係を推定する SVM(Support Vector Machine) を学習し, 得られた原因-結果の因果関係を推移律によって繋げることで，先に起こることを予測するシナリオを生成した [4].実験では， $68 \%$ の精度で 50,000 のシナリオを作成できたと報告している。これらの研究では, 因果関係を推定するモデルは人手で構築された訓練データから学習されている。

\author{
白井清昭 \\ 北陸先端科学技術大学院大学 \\ kshirai@jaist.ac.jp
}

Abe らは，特定の関係が成立する単語の組とそれを抽出するためのパターンを同時に獲得するアルゴリズム [5]を応用し，因果関係の文の組とそれを抽出するパターンを自動獲得する手法を提案した [6].例えば，同じ文内に出現しかつ同じ目的語を持つ 2 つの節を因果関係が成立する文の組として抽出するパターンが得られた。

本研究は, 人手によるアノテーションを必要としない手法によって文間の因果関係を推定するモデルを学習する点に特徴がある。文献 [6] の手法でも因果関係が付与されたデータを必要としないが，コー パスから因果関係が成立する文の組を抽出することを目的としているのに対し, 本研究は 2 文間の因果関係の推定モデルの学習を目的としている点が異なる。

## 3 提案手法

## 3.1 概要

提案手法の処理の流札を図 1 に示す.まず，コー パスから，ヒューリスティクスによって因果関係の有無のラベルが付与された初期のデータを作成する。作成した初期デー夕は, 訓練デー夕, 開発デー 夕，検証デー夕に分割する。一方，コーパスから因果関係の有無のラベルが付与されていない文の組の集合をあらかじめ獲得する。

推定モデルの学習は通常のブートストラップ法にしたがう。まず，初期の訓練データと開発データから，因果関係の有無を判定するモデルを学習する。次に，ラベルなしデー夕に学習した因果関係推定モデルを適用し, 判定結果が付与された新たなデー夕セットを得る。この中から判定の信頼度が高いデー 夕を選別し, 訓練デー夕に追加する。この処理を繰り返すが，推定モデルを学習する度に，検証デー夕を用いてモデルによる因果関係推定の正解率を測り，ひとつ前のステップで学習されたモデルから正解率が改善されなければ，学習を終了する (図 1 の

図 1 提案手法の概要

「終了判定」). 最終的に得られる因果関係推定モデルは，初期データと自動拡張したデー夕を合わせたデータから学習されたものとなる.

## 3.2 初期データの作成

コーパスから因果関係が成立する可能性の高い文の組を収集する，具体的には，接続詞「から」「ので」を含む文を検出し，その前後に出現する文を抽出する，以下に示す例文のように，「から」「ので」 で結ばれた文の間には因果関係が成立する可能性が高いと考える。

電車が止まったからバスが混む雨が降ったので地面がぬかるんでいる

因果関係が成立する文の組 $(C, E, y e s)$ を以下の手続きで抽出する.

1. 接続詞「から」「ので」(以下，「因果関係キー ワード」と記す)を含み，かつその直前が動詞または助動詞である文を抽出する。

2. CaboCha[7] を用いて文の文節の係り受け解析を行う.

3. 因果関係キーワードを含む文節に係り，かつその末尾が助詞である文節を抽出する。また，抽出した文節に係り, かつその末尾が助詞である文節も抽出する。この操作を再帰的に繰り返す。最後に，抽出した文節を連結し，「から」「ので」を削除して，文 $C$ を得る.

4. 因果関係キーワードの後に最初に出現する動詞を検出する，同様に，動詞に係りかつ末尾が助

図 2 因果関係が成立する文の組の抽出例

詞である文節を再帰的に抽出する．抽出した文節を連結して文 $E$ を得る。
5. $C, E$ のいずれかの文字数が 7 未満のとき，これを除外する。

6. これらの文に因果関係が成立するというラベル 「yes」をつけ, $(C, E$, yes $)$ という組を抽出する.

上記の手続きによる抽出の例を図 2 に示す。

因果関係を推定するモデルを学習するためには,因果関係が成立する文の組 (正例) だけでななく, 成立しない文の組 (負例) も必要である。負例は以下の手続きで獲得する．先の手続きで得られた正例のデータセットの集合を $\left.\{\left(C_{i}, E_{i}, y e s\right)\right.\}$ と記す. 原因文 $C_{i}$ に対し, 他の組の結果文 $E_{j}(i \neq j)$ の中からランダムに 1 つを選択し, 負例 $\left(C_{i}, E_{j}, n o\right)$ を生成する.この操作を全ての $C_{i}$ について繰り返す。結果として，正例と同数の負例を得る.

初期デー夕は, あらかじめ 8:1:1 の比率で, 訓練データ，開発デー夕，検証デー夕にランダムに分割する。

## 3.3 因果関係推定モデルの学習

原因文 $C$ と結果文 $E$ の組が与えられたとき，それらの間に因果関係が成立するか否かを判定するモデルを学習する. このモデルを BERTを用いて学習する。すなわち，入力を以下のような系列に変換する。

[CLS] $c w_{1} \cdots c w_{n}$ [SEP] $e w_{1} \cdots e w_{m}$ [SEP]

[CLS] は文の組の分類のための抽象表現を得るた

めのトークン, $[\mathrm{SEP}]$ は 2 つの文の境界を示すトー クン, $c w_{i}$ は原因文の単語, $e w_{i}$ は結果文の単語を表す。

BERT による分類モデルの学習は, pre-training(事前学習) と fine-tuning の 2 つのステップから構成される。事前学習済みの言語モデルとして, 日本語版 Wikipedia から事前学習され, 京都大学によって公開されているモデル [8] を使用する。一方, fine-tuning は因果関係の有無のラベルが付与された訓練デー 夕と開発デー夕を用いて行う。学習率 (learning rate) は $2^{-5}$, バッチサイズは 32 , エポック数は 10 と設定する。

## 3.4 訓練データの拡張

訓練データを抬張するために，ラベルなしデー夕をあらかじめ用意する。接続詞「ため」をキーワー ドとし, 初期データの作成と同様の手続きで原因文 $C$ と結果文 $E$ の候補の組を抽出する。「ため」の前後に出現する文は, 以下の文 1 のように因果関係が成立する場合もあれば，文 2 のように従属節が主節の目的を表す場合もあるため, 正例と負例が混在したデータが得られることが期待できる。

文1: 雪が降ったため遠足は中止になった

文 2: 学会で発表するため何回も練習した

$n$ 回目の反復ステップで学習された因果関係推定モデルを $M_{n}$ と記す。すなわち， $M_{n-1}$ を用いて訓練デー夕を拡張し, 拡張後のデー夕で $M_{n}$ を再学習する。初期データから学習された因果関係推定モデルは $M_{0}$ とする. ラベルなしデー夕の集合 $\left.\{\left(C_{i}, E_{i}, ?\right)\right.\}$ (?は因果関係の有無が不明であることを表す) は, 因果関係判定モデルの反復学習のたびに,別のものを用意する. 以降， $n$ 回目の反復で訓練デー夕抎張のために用いるラベルなしデー夕の集合を $U_{n}$ と記す。

訓練デー夕の拡張では, モデル $M_{n-1}$ を用いて $U_{n}$内の文の組に対して因果関係の有無を判定する。さらに, 判定の信頼度も求める. 判定の信頼度は, ここでは BERTによる因果関係推定モデルにおける出カノードの値とする． $U_{n}$ の中から判定の信頼度の大きいデー夕を選別し, 訓練デー夕に追加する.

予備実験では, 信頼度が上位のデー夕の多くが,因果関係推定モデルによって 2 つの文の間に因果関係が成立すると判定されていた。つまり，判定の信頼度が上位のデータのほとんどが正例であった。 そのため，訓練デー夕に追加するデー夕を作成する際に，正例と負例のバランスを取る。具体的には,追加デー夕の数を $N_{\text {add }}$ と設定するとき, 信頼度の大きい順に正例の数が $N_{a d d} / 2$ 件に到達するまで追加データを取得する。この中に含まれる負例の数が $N_{\text {neg }}$ のとき $N_{\text {add }} / 2-N_{\text {neg }}$ 件の負例を新たに作成する.この負例は, 初期デー夕の作成時と同様に, ラベルなしデータ $U_{n}$ の中から原因文と結果文をランダムに組み合わせて作成する. 最終的に正例と負例の数が等しい $N_{a d d}$ 件のデータを拡張データとし, これを訓練データに追加する．以降，拡張した訓練データを用いて因果関係推定モデルを再学習する。

## 4 評価実験

## 4.1 実験データ

初期データは, 毎日新聞の 2009 年から 2013 年の記事から獲得した. 初期データの数は 2,796(正例,負例が 1,398 ずつ)であった。

ラベルなしデータは, 同様に毎日新聞の新聞記事データから獲得した。 $U_{1}$ は 2013 年, $U_{2}$ は 2012 年, $U_{3}$ は 2011 年の新聞記事から獲得した。提案手法では, 検証デー夕の正解率が向上しなくなった時点で訓練デー夕の追加を停止するが，今回の実験では試験的に反復回数を 3 回と設定している. $U_{i}$ は互いに重なりはなく, また抽出に用いた因果関係キーワー ドが異なるため, 初期デー夕とも重なりはない.前述の検証デー夕は自動構築されたものである. これとは別に, 因果関係推定モデルの性能を正確に測るため, テストデー夕を人手で作成した。接続詞「から」をキーワードとして抽出した文の組を 50 件,「ので」について 50 件,「ため」について 100 件,合計 200 件の文の組を抽出した。これらに対して,著者 2 名が独立に因果関係の有無を判定した。二者の判定の一致率は $72 \%, \kappa$ 係数は 0.44 であった。一致率や $\kappa$ 係数は低いが，これは因果関係が成立するかを判定する際に，どれだけ常識的知識を使って情報を補うかに関して見解が分かれることが主な原因であった。例えば， $\mathrm{C}=\ulcorner 2$ 歳だった」, $\mathrm{E}=\ulcorner$ 原爆の記憶はない」のとき, 1 名の判定者は 2 歳という幼ない年齢では記憶が残らないと判断し, 因果関係があると判定したが，もう 1 名の判定者は 2 つの文に強い関連性がないと判断した。判定が異なる文の組については, 著者 2 名の合議により最終的なラベルを決めた。テストデータの正例数は 69 , 負例数は 131 となった.
表 1 判定の信頼度と判定精度の関係

 &  \\

0.9 & $0.787(70 / 89)$ & $63: 26$ & $57: 13$ \\
1.0 & $0.797(55 / 69)$ & $58: 11$ & $54: 1$ \\
1.1 & $0.839(47 / 56)$ & $47: 9$ & $47: 0$ \\
1.2 & $0.860(43 / 50)$ & $43: 7$ & $43: 0$ \\
1.3 & $0.897(35 / 39)$ & $35: 4$ & $35: 0$ \\
1.4 & $0.906(29 / 32)$ & $29: 3$ & $29: 0$ \\
1.5 & $0.895(17 / 19)$ & $17: 2$ & $17: 0$ \\

表 2 因果関係推定モデルの反復学習の結果

## 4.2 実験結果と考察

提案手法では，BERT モデルの出力ノードの値を判定の信頼度とし，これが高いデー夕を訓練デー夕に追加する。この妥当性を検証するために，判定の信頼度が閾値 $t$ 以上のデー夕に対する精度を $P_{t}$ とし, $t$ を変化させたときの $P_{t}$ の変動を調べた. 検証に用いた因果関係推定モデルは初期データで学習したもの $\left(M_{0}\right), P_{t}$ を調べるためのデー夕は (自動作成した) 検証デー夕を用いた。結果を表 1 に示す。閾值 $t$ が大きいほど判定の精度が高いことから，BERT モデルの出力ノードの値を判定の信頼度とすることは妥当であるといえる。また，判定の信頼度が高くなると, 負例の数が正例の数よりもかなり少なくなる傾向も見られた。

表 2 は，それぞれの反復ステップ $i$ について，ラベルなしデータ $U_{i}$ の数 (3 列目), 訓練デー夕の総数 (4 列目), および検証データでの正解率 (5 列目) を示している，今回の実験では，一回の反復で追加するラベル付きデータの数 $N_{a d d}$ を 2000 と設定した. 検証デー夕での正解率は, 1 回目の反復で向上し， 0.657 となったが，それ以降は変動はあるものの，この正解率を越えることはなかった。

表 3 は学習したモデルを用いてテストデー夕の因果関係を判定した結果である。2 行目の「正解率」 はモデルによる因果関係の有無の判定が正解と一致した割合である。また，本実験の夕スクは因果関係表 3 因果関係推定モデルの評価

} & 精度 & 0.368 & 0.383 & 0.378 & 0.364 \\

が成立するか否の二値分類問題なので，因果関係ありのクラスとなしのクラスのそれぞれについて，精度, 再現率, $\mathrm{F}$ 値を調べた。正解率は反復回数が 2 のときに最大で， 0.520 となった。初期デー夕のみから学習したモデル $M_{0}$ と比べて 0.045 ポイント上昇したことから, 訓練デー夕の拡張は効果があることが確認された。しかし, 正解率自体は 5 割程度であり，二者の判定の一致率 $72 \%$ と比べても決して高くなく，改善が必要である。

「因果関係あり」クラスの $\mathrm{F}$ 值は反復が進むにつれて低下するが，「因果関係なし」クラスの $\mathrm{F}$ 値は反復回数 2 回までは向上する。このことから，訓練データの拡張は，因果関係が成立しない文の組に対して正しく判定ができるようになる効果が大きいと言える。

正解率のピークは，表 2 の検証データでは反復回数が 1 のとき，表 3 のテストデータでは反復回数が 2 のときと，一致していない．検証デー夕は自動作成されたものであり，テストデータと性質が異なることが原因のひとつと考えられる，反復をいつ停止するかは重要な研究課題である。

## 5 おわりに

本論文は，人手によるアノテーションなしに文間の因果関係を推定する手法を提案した。ブートストラップ法によって自動獲得された訓練データが推定モデルの正解率の向上に寄与することを確認した。今後の課題として, 初期デー夕の正例の中には誤りも少なからず含まれているため，真に因果関係が成立する文の組をより正確に選別するルールを開発することが挙げられる。また，本研究では負例はランダムに文を組み合わせて作成したが，2つの文は明らかに無関係であり，因果関係推定モデルの学習にどれだけ寄与するか疑問が残る。より適切な負例の作成方法の探究も今後の重要な課題である.

## 参考文献

[1]山田涼太. 自動獲得された因果関係知識に基づく文間の因果関係の推定. 修士論文, 北陸先端科学技術大学院大学, 32021.

[2]Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 4171-4186, 2019.

[3]Canasai Kruengkrai, Kentaro Torisawa, Chikara Hashimoto, Julien Kloetzer, Jong-Hoon Oh, and Masahiro Tanaka. Improving event causality recognition with multiple background knowledge sources using multi-column convolutional neural networks. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, pp. 3466-3473, 2017.

[4]Chikara Hashimoto, Kentaro Torisawa, Julien Kloetzer, Motoki Sano, István Varga, Jong-Hoon Oh, and Yutaka Kidawara. Toward future scenario generation: Extracting event causality exploiting semantic relation, context, and association features. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, pp. 987-997, 2014.

[5]Patrick Pantel and Marco Pennacchiotti. Espresso: Leveraging generic patterns for automatically harvesting semantic relations. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics, pp. 113-120, 2006.

[6]Shuya Abe, Kentaro Inui, and Yuji Matsumoto. Acquiring event relation knowledge by learning cooccurrence patterns and fertilizing cooccurrence samples with verbal nouns. In Proceedings of the Third International Joint Conference on Natural Language Processing, pp. 497-504, 2008.

[7]工藤拓, 松本裕治. チャンキングの段階適用による日本語係り受け解析. 情報処理学会論文誌, Vol. 43, No. 6, pp. 1834-1842, 2002.

[8]BERT 日本語 pretrained モデル. http://nlp.ist.i.kyotou.ac.jp/index.php?ku_bert_japanese. (2020 年 12 月閲覧).


# 提示候補とクエリの差分を用いた チャットボットの新規問い合わせ抽出手法

戸田隆道
株式会社 AI Shift
toda_takamichi@cyberagent.co.jp
友松祐太
株式会社 AI Shift
tomomatsu_yuta@cyberagent.co.jp
杉山雅和
株式会社 AI Shift
sugiyama_masakazu@cyberagent.co.jp

## 1 背景

近年カスタマーサポートの分野においてチャットボットによるサポートが注目を集めており、メールにはない返信のリアルタイム性や電話と比べた際の気軽さから、現在多くの企業で導入されている。加えて、これまで人間のカスタマーサポートオペレー ターが対応していた問い合わせをチャットボットによる自動応答で代替することで、人手の工数を削減することが期待されている。一方で、チャットボッ卜自体を運用するためのメンテンナンス作業に人手を掛ける必要があるという課題がある。

メンテナンス作業の中でも特に人手を掛ける必要があるのは回答候補の再設計である。これは回答までたどり着けず、途中で離脱してしまったユーザー のクエリを、正しい回答に紐付ける作業である。大きく分けて既存の回答に紐付ける場合と、新規に回答を作成して紐付ける場合の 2 通りのパターンが存在する。我々はこれまでに前者に関して、作業を効率化するために発話のクラスタリングを行う手法の分析 [1]・提案 [2] やその実装 [3], [4]、完全自動化のための分析 [5] などを行ってきた。今回の研究では後者の新規に回答を作成して紐付ける場合に関して、効率化の手法を提案する。加えて実際のカスタマーサポートで利用されているチャットボットのログに適用して評価する。

## 2 関連研究

以前我々は回答候補の再設計の効率化として発話のクラスタリングを行う手法の提案 [2] を提案した。 この手法は対話ログのクラスタリングを行い、類似する問い合わせをまとめる。加えて重要度スコアを計算し、まとめられた問い合わせの中で代表的なものを抽出する。これにより作成の手間が大幅に減ることに加え、問い合わせのボリュームゾーンもわかるので、頻出する問い合わせから優先度をつけて回答ペアの作成に取り組むことができるようになった [3]。だが、これらの手法では新規に回答を作成して紐付ける場合は考慮されていない。

用意された回答の中に無い問い合わせを作成する手法として中西らの研究 [6] がある。この手法は文章間の類似度を算出し、類似度が高い文章間の質問を入れ替えることで回答のない質問を作成している。加えて単語べクトルの $\cos$ 類似度や BLEU スコアを用いてその問題の難易度も算出している。

チャットボットが対話の中で未知の話題についてユーザーに問いかける手法として Reshmi らの研究 [7] がある。この手法は対話の中でチャットボットが自発的に未知語に対してユーザーに質問をしてボキャブラリーを増やしていく。

## 3 提案手法

今回我々が提案する新規回答の作成効率化の手法は、ユーザーの問い合わせ履歴から新規回答を作るべき問い合わせを抽出し、グループ化して提示する。この手法は大きく4つの手順で実行される。

1. 回答提示に失敗している問い合わせを抽出

2. 提示回答との単語の差分を抽出

3. 抽出された差分単語がキーワードである問い合わせを抽出

4. キーワードとその係り受けの ROOT でグルーピング

以下より各手順の詳細について説明する。

## 3.1 回答提示に失敗している問い合わせの 抽出

チャットボットに問い合わせを行うと、チャットボットは回答候補の中から問い合わせに近いと思われる候補を 1 つないし複数提示する。ユーザーに 「提示された回答では抱える問題を解決できない」 と判断された場合、ユーザーは別の文言で再検索するか対話から離脱することが想定される。

我々の提供するチャットボットプロダクト AI Messenger ${ }^{1)}$ ではこの部分のフィードバックを適切にとるために、提示候補に加えて「この中にはない」 という候補を提示している。本手法ではこの「この中にはない」を選択された問い合わせを回答提示に失敗している問い合わせとして抽出する。

## 3.2 提示回答との単語の差分の抽出

前節の手順で抽出された回答提示に失敗している問い合わせについて、実環境で利用されたログを分析すると、正しく回答を提示出来ていたのではないかと思われるログがある。以下に、ある決済系サー ビスで抽出された例を表 1 に示す。尚、一部の単語はデータ取り扱いの都合上マスキングしている。

表 1 問い合わせ $\mathbf{Q}$ に対して正解と思われる提示回答 $\mathbf{A}$

このようなログが溜まってしまう原因として、特に困りごとの無いユーザーがテスト的にチャットボットを使ったことが考えられるが、今回の手法ではこういったデータは除外したい。

そこで提示候補全てと問い合わせを単語分割した上で名詞と動詞の終止形に絞り、単語の差分を考える。問い合わせに含まれる単語が全て提示候補に含まれている場合は上記で示したような、「この中にはない」を選択されたが、正しく回答を提示出来ていたものとして除外されることを期待する。

## 3.3 抽出された差分単語がキーワードであ る問い合わせの抽出

これまでの手順で、正確に回答提示に失敗している問い合わせを抽出することができた。今回の手順

1) https://www.ai-messenger.jp/
ではこの問い合わせからキーワードを抽出する。 キーワード抽出には $\mathrm{GiNZA}^{2)}$ を用いた係り受け解析を利用する。

我々がこれまで多くのカスタマーサポートのデー タを分析した経験上、ユーザーの問い合わせは主語名詞にかかっている格助詞で以下の 3 パターンに分類されると考えている。

・「XXができない」のようなガ格系円キーワードは、格助詞の「が」がかかっている XX

・「○○を $\triangle \triangle$ したい」のようなラ格系キーワードは、格助詞の「を」がかかっている $\bigcirc \bigcirc$

・「口ロにうえしたい」のようなニ格系

いる $\square \square$

このパターンで抽出されたキーワードが、前手順で抽出された問い合わせと提示回答の単語の差分 (問い合わせに含まれるが提示回答に含まれない) と一致する問い合わせを抽出する。

## 3.4 キーワードとその係り受けの ROOT で グルーピング

前手順で抽出されたキーワードと、その問い合わせ文章の ROOT をキーフレーズとして、抽出された問い合わせ群をグルーピングする。例えば「住所の番地が表示されない」という問い合わせに関しては、格助詞「が」が掛かっている主語名詞の「番地」 がキーワードとなり、ROOT の「表示」と合わせて 「番地-表示」がキーフレーズとなる。

図 1 キーフレーズ抽出の例

キーフレーズでグルーピングされた問い合わせ郡を、新規に回答を作成するための候補として運用者に提示する。これにより、回答候補の再設計の作業の効率が向上することが期待できる。

## 4 評価

我々の運用するチャットボットプロダクト、AI Messenger で実際に使用されたカスタマーサポート向け用例ベースチャットボットのログデータに提案手法を適用する。ログデータは発話日時、発話種別

(ユーザーかチャットボットか)、発話内容、及び対話のユニーク IDをもっており、対象は決済系のドメインとオークションサイト系のドメインで、2020 年 10 月 1 日から 1 週間分の対話になる。

## 4.1 前処理

発話が 7 文字以上、 20 文字未満のものに絞った。文字数が少なすぎる場合は、単語のみで問い合せされている場合が多い。逆に文字数が多すぎる場合は、メールの文章のような長文かつ複数の文章が問い合わせられている場合が多い。これらはこれまでのチャットボット運用で得た知見で、どちらも係り受け解析ができないため提案手法適用前に除外する。

## 4.2 結果

提案手法を用いて抽出した結果を以下に示す。

## 4.2.1 決済系ドメイン

集計情報
- 対話数: 26952

・抽出キーフレーズ数: 39
- 抽出発話数: 92

図 2 決済系ドメインの抽出キーフレーズ数 (数が多いため上位 5 件のみ)

抽出発話例 (キーフレーズ: いつ-使える)

・くサービス名>はいつ使えますか

・いつまでくサービス名>使えない？

・<サービス名>はいつ使えるか？

抽出発話例 (キーフレーズ: どこ-ある)

・ログイン画面はどこにありますか

・<機能名>ボタンはどこにありますか

## 4.2.2 オークションサイト系ドメイン

集計情報
- 対話数: 7150

・抽出キーフレーズ数: 5

$\cdot$抽出発話数: 15

図3オークションサイト系ドメインの抽出キーフレー ズ数

抽出発話例 (キーフレーズ: 番地-表示)

・番地が表示されない

・落札者の番地が表示されていない

・落札者情報に番地が表示されていない

## 5 考察

抽出発話を見てみると、例えばオークションサイト系ドメインの「番地-表示」をキーフレーズとするグループなど、適切なものが抽出できているように見光、概ね提案手法はうまく働いていると思われる。 3.3 節で分類された格助詞による分類だが、これらはさらに文章の構成要素から「○○は何ですか？」のような質問系や「XX ができない」のような不可能系など、より詳細なカテゴリに分類できるため、本手法の発展として、より詳細なグルーピングを行えることが期待できる。

## 5.1 抽出割合について

抽出率は $0.14 \sim 0.20 \%$ となっている。この値はチャットボットの運用を継続するに従って下がっていくと予想できる。今回適用した 2 つのドメインは 1 年以上継続してチャットボットを運用していたため、回答が十分に成熟しており、新規に回答を作成すべき問い合わせが少なかったのではないかと考えられる。

## 5.2 突発的な問い合わせの増加について

決済系ドメインの「いつ-使える」をキーフレーズとするグループだが、こちらは、発話例文中にあるサービスが、ちょうどログの期間中障害で停止していたため、このような問い合わせが多く来ていたようだった。このように、障害や特定の期間のイベントの影響で、普段されない問い合わせが突発的に増えることが予想できる。

## 5.3 場所を聞く疑問詞

決済系ドメインの「どこ-ある」をキーフレーズとするグループだが、これらはサービスの UI に難点がある場合に多く問い合わせられるのではないかと考えられる。今回の例では件数が少ないが、同じものに関して多くの問い合わせがある場合にUIを完全するなど、カスタマーサポートだけでなく、サー ビスの改善にも活用出来るのではないかと期待できる。

## 6 おわりに

本稿では、チャットボットのメンテンナンス作業を効率化するため、メンテナンス作業の中でも特に人手をかける必要があるのは回答候補の再設計のうち、新規に回答を作成して紐付ける場合に関して、効率化の手法を提案した。加えて実際のカスタマー サポートで利用されているチャットボットのログに適用した。

概ね良い結果を得られたが、運用時間経過に伴う抽出割合の変化や突発的な問い合わせの増加など、 ログの期間やドメインの種類などより詳細な分析が必要だと思われる。またキーフレーズが「どこ-ある」のグループは UI 変更などのサービス改善にも役立つことが期待できる。

今後は、我々の運用システム [3], [4]への実装も視野に入れてより詳細な分析を続けたい。

## 参考文献

[1] 戸田隆道, 黒岩稜, 杉山雅和, 友松祐太. チャットボッ卜運用における対話クラスタリング. 言語・音声理解と対話処理研究会, No. 2, pp. 91-92, 2019.

[2] 戸田隆道, 杉山雅和, 友松祐太. チャットボット運用における新規問い合わせ候補の抽出. 言語処理学会第 26 回年次大会発表論文集, 2020.

[3] 戸田隆道, 杉山雅和, 友松祐太. チャットボット運用効率化のための新規問い合わせ候補抽出システム. 人工知能学会第 34 回全国大会発表論文集, 2020.
[4] 友松祐太, 戸田隆道, 杉山雅和. Ai チャットボットのためのチューニング支援システム. 言語・音声理解と対話処理研究会, No. 2, pp. 30-32, 2020.

[5] 戸田隆道, 杉山雅和, 友松祐太. 自動質問応答における連続発話からの類義クエリ抽出. 言語・音声理解と対話処理研究会, No. 2, pp. 91-95, 2020.

[6] 中西真央, 小林哲則, 林良彦. 答えのないことを答える machine reading comprehension. 言語処理学会第 24 回年次大会発表論文集, 2018 .

[7] S RESHMI and KANNAN BALAKRISHNAN. Implementation of an inquisitive chatbot for database supported knowledge bases. SADHANA, Vol. 41, No. 10, pp. 11731178,2016


# BERT を利用した Zero-shot 学習による同音異義語の誤り検出

藤井真新納浩幸
茨城大学大学院 理工学研究科情報工学専攻
\{19nm727r, hiroyuki.shinnou.0828\}@vc.ibaraki.ac.jp

## 1 はじめに

本研究では，かな漢字変換や音声入力に起因する同音異義語の誤りについて, BERT[1] と Zero-shot 学習を組み合わせて検出する手法を試みる。

日本語文を電子的に入力する機会は PC やスマー トフォン，タブレット端末などの普及に伴い増加，低年齢化している．近年は，小学校や中学校の授業にもタブレット端末が導入されている.このような利用環境の中で，言語の音だけを頼りにかな入力し，十分な識別認識を欠いたまま変換後の漢字を用いるといったケースも散見される. 特に「追求」と 「追及」のような，意味や用法の差異が小さい同音異義語について顕著である．入力を支援するシステムの教育的な重要性は高まり，誤りを検出し再確認を促すシステムの必要性も高まっている。

同音異義語の誤りを検出する既存の手法は，複合語に着目し文字連鎖を用いる手法 [2] や決定リス卜を用いる手法 [3], 確率的 LSA を用いる手法 [4], Earth Mover's Distance を用いる手法 [5]がある.

本研究では，ニューラルネットワークを用いた言語モデル BERTを同音異義語の誤り検出に用いる.同時に, 機械学習の学習コストを減らす取り組みである Zero-shot 学習の形式も合わせて取り入れる.

Zero-shot 学習は, 学習時にアクセスできない未知のラベルを推定する手法で，主に画像処理の物体認識の分野で未知の物体を推定する際に用いられている.この推定を可能にするため，事前知識という領域を設定することが特徵となる。この事前知識にはデータ，モデル，アルゴリズムなどが想定される. これにより，未知のデータに対して頑健なモデルを得ようとする取り組みである.

本研究では，この事前知識に BERTをあてる。 BERTを用いてテストデータの同音異義語部に適する単語を 10,000 語予測させ，その結果を同音異義語の誤り検出に用いる. 実験では五組の同音異義語を対象とした。テストデータは毎日新聞記事の中から対象単語の載る文を抽出し, それらから人為的に誤りを含ませて作成した。実験の結果から，人が細かいニュアンスの差異を頼りに識別する同音異義語の誤りを検出できる可能性が得られた. 実験精度の悪かった同音異義語の検証から，事前知識に用いたモデルの一部に過剰適合が生じている知見が得られた。

## 2 BERT

BERT (Bidirectional Encoder Representations from Transformers) は双方向の Transformer[6] を用い，大規模データによって事前学習された言語モデルである. 大規模データにより事前学習することで強力な汎用言語モデルを作成し，そのモデルを各タスクの教師ありデータに fine-tuning する二段階のフレームワークを用いている．BERT の構造は Transformer の self-attention を中心とした多層の双方向 Transformer エンコーダである.

BERT の入力表現はラベルの無い二文をトークン化したものと特殊トークンを合わせた一つのシー ケンスとなる。特殊トークンは [CLS] と [SEP] に表現され，[CLS] はシーケンス最初に設置されるトー クンであり, [SEP] は文の区切りに設置されるトー クンである。これらの各トークンに対し，シーケンス中の位置と二文のどちらに属するかの情報を合わせ，埋め込み表現とする。この埋め込み表現を Transformer ブロックを中心とした多層で学習し，その結果を MLM や NSP に用いて下流タスクの精度を高めている。これまでの内容を図 1 として示す.

## 2.1 MLM

MLM (Masked Language Model) は文献により cloze タスクとも呼ばれる処理である．BERTにおいては入力トークンの $12 \%$ をンダムに [MASK] トークンに置き換え，それら [MASK] されたトークンを交差エントロピー誤差を元に予測するタスクを行う．最終的な [MASK] トークンの埋め込み表現はソフト
表 1 機械学習の分類

図 1 BERT モデル

マックスを通じて各単語と結びつくこととなる.このタスクにより従来の事前学習手法に比べて，文脈の前後を捉えた双方向性を獲得している.

## 2.2 NSP

NSP (Next Sentence Prediction) は，言語モデリングで得られない二文間の関係を BERT に理解させるタスクである。学習に用いられる単一のコーパスから，シーケンス用の文 $\mathrm{A}$ と文 $\mathrm{B}$ を選ぶ際，文 B は文 $\mathrm{A}$ に連続する文と非連続の文の 2 パターンが半々で選ばれる. 非連続の文はにコーパス中からランダムに選ばれる。この連続・非連続に二値化された，次の文を予測するタスクが図 1 の左下の記される埋め込み表現 Cを元に行われる。これにより，質問応答や自然言語推論といった文間関係の理解が重要な下流タスクの精度を高めている。

## 3 Zero-shot 学習による誤り検出

## 3.1 Zero-shot 学習

一般的な機械学習は学習コストが課題となる. 学習コストはモデル作成のための計算コストや教師あり学習の教師データを作成するコストなどが挙げられる. 後者に対しては半教師あり学習，教師なし学習，弱教師あり学習といった対策を生んだ. しかし，これらのいずれも基本的にはデータの量を前提にしている。一般的な機械学習のアプローチを用いると小規模データからは脆弱なモデルが生まれるという課題があるためである.
Zero-shot 学習は,これらの課題について改善を試みる取り組みとなる. Zero-shot 学習は Few-shot 学習の考え方に基づいているため, Few-shot 学習の概要から説明する. Few-shot 学習は, wang らの定義 [7] から，従来の一般的な機械学習の分類 (教師の有無など）を横断する概念となる。まず，機械学習の定義を wang らの方針を参照し設定しておく．「あるタスク Tのためのプログラムが，その性能評価値 $\mathrm{P}$ に関して，経験 Eによって改善される場合，そのプログラムは経験 E から学習している.」と設定する. few-shot はタスク固有の限られた数のラベル付きデータを意味し，経験 $\mathrm{E}$ にあたる。この段階では小規模データの教師あり学習と同じ様相となるが,小規模データのモデル脆弱化に対して, Few-shot 学習は事前知識という後ろ盾を用いる点が異なる.この事前知識も経験 E にあたり，その選定制約の基本は few-shot の持つ情報に触れないことである. その上で事前知識の対象には，タスク $\mathrm{T}$ を処理するのに適したデータ，モデル，アルゴリズムなど多様な対象が挙げられる. Zero-shot 学習はタスク固有のラべル付きデータを用いず，事前知識を中心にタスクを処理する。これまでに説明した機械学習の分類について wang らの定義に基づき表 1 に示す.

wang らは Zero-shot 学習については，Eに他のモダリティを含ませる必要があることにも言及している.

## 3.2 提案手法

wang らの定義に基づいて提案手法を表現すると， タスク $\mathrm{T}$ はクラス分類としての同音異義語の誤り検出，経験 E は事前知識として事前学習モデルの BERT，性能評価値 $\mathrm{P}$ は分類精度となる。

まず，対象の同音異義語が含まれる文を誤り検出の対象文として入力する．入力文中から対象となる同音異義語部を BERT の [MASK] トークンに置き換える。その後，BERTを用いて [MASK] 部を予測する処理を行う。予測結果を BERT の尤度順に 10,000 語取得し，対象となる同音異義語の出現順を調べる.出現順の早い，BERT の尤度が高い方を入力文で用

いられるべき同音異義語の推測結果とする. 推測結果と大力文の同音異義語が異なる場合に誤りとして検出する.

## 4 実験

## 4.1 実験設定

誤り検出に用いる同音異義語は筆者の主観により，表 2 に示す五組を対象とする．実験には 1993 年から 1999 年の毎日新聞の記事データを用いる. テストデータは，この記事データの中から対象の同音異義語が含まれる文を取り出すことで作成した. 取り出す際に $\mathrm{MeCab}^{1}$ を経て単語の確認をしている. MeCab 用の辞書は mecab-ipadic-NEologd[8]を用いている. 利用するデータ数は比較する同音異義語の文数が少ない方に合わせてランダムに抽出している. 同音異義語の誤ったデータは，記事の内部に記載されている同音異義語について当該箇所だけをもう一方の同音異義語に置き換えることで作成した. 誤りデータは全体の 50 \%分作成する. BERT の事前学習モデルには東北大学から公開されている日本語版 BERT $^{2)}$ を用いている。この BERT の設定は「bert-base-japanese-whole-word-masking」のモデルを公開されているデフォルトのままで用いている.

二值分類として偏りの無いテストデータを用いているが，正解率や再現率を考慮するため実験の評価には $\mathrm{F}$ 値を用いた。

また，事前知識として用いた BERT の事前学習モデルが本実験で対象とした同音異義語について fine-tuning 無しにどの程度の識別するのかを検証するため，誤りを含めない新聞記事のままで予測させる実験も行っている。

## 4.2 実験結果

表 2 に，本研究で設定した内容の一部と実験の結果を示す.

誤り検出の結果を示す $\mathrm{F}$ 值は比較する同音異義語により様々な值となった。人が細かいニュアンスの差異を頼りに識別する同音意義語を対象としているので，「追及」と「追求」については精度が良いと言える。一方，「修行」と「修業」の精度は悪く，二値分類の結果としては脆弱となった. 実験に用いたデータ数による影響は，データ数の最も多い「体

表 2 実験結果

表 3 誤りを含めない識別結果

制」と「態勢」，データ数の最も少ない「回答」と 「解答」の結果を見る限り言及するほどに影響を与えていないと推察される。

誤りの検出は，BERT の事前学習モデルが予測する単語を元に行っている。その影響を検証するため，誤りを含めない新聞記事のままで対象単語を予測させた結果を表 3 に示す。

検出精度の悪い同音異義語について，BERT の事前学習モデルは一方の単語に偏って予測しているという傾向が得られた.「修業」を「修行」と取り違えた文の例を表 4 に示す. 表中の上二文については文が短く，文脈を想定しなければ「修業」と「修行」 のどちらも正解と言って良いもので，テストデータの設定に調整が必要である．表中の下二文については, 「修業」と「修行」の違いに話者の精神性や他者との関係性が含まれる点をよく理解する必要があるため，人が「修行」と誤っても責められず，より良いニュアンスとして「修業」を用いた方が良い文と言える。このようなニュアンスを優れた機械学習の
山田さんは修業 3 年目だ。

まだまだ修業中の身ということを思い知らされた.

大学を卒業後, 神戸のレストランでしばらく修業し, 再度フランスヘ.

修業感覚を欠いた現在中心の快楽志向が日本の若者の特徴.

モデルは内包しきるのか，今後も検証を進めたい.

## 5 おわりに

本研究では Zero-shot 学習の形式に基づき，BERT を用いた同音異義語の誤り検出を試みた. 実験の結果は，現段階の提案手法ではニュアンスの差異が小さい同音異義語の誤り検出について様々な精度となることを確認した. これは Zero-shot 学習の事前知識として用いた BERT の事前学習モデルが，検出精度の悪くなる同音異義語を予測する際に，一方に偏って予測することに起因している．偏りの生じる原因は事前学習の際に用いられるデータの質と量が関わると推察する. 本実験の BERT モデルは日本語版 Wikipediaコーパスを用いて事前学習されている.新聞記事よりも誤植について制約がないため同音異義語が使用される場面での質が担保されない。また，大規模データを前提とする事前学習モデルに，本実験のような単語ごとの量的な調整は行われない.このような事前学習データの質と量の問題が,機械学習の過剰適合に繋がったのではないかと推察する. 本実験の様に fine-tuning を介さない Zero-shot 学習の形式をとることで，fine-tuning で見失われやすい汎用モデル自体の課題が生じた.

今後の課題として，まずは本実験の対象を拡大し結果の傾向をより詳細に分析することが挙げられる. 次に, BERT の学習に用いられた日本語版 Wikipediaコーパスにおいて，本実験で対象とした同音異義語の量的な検証を行い，その影響を調べる必要もある. 以上の内容を踏まえた BERT の事前学習モデルを作成し，本実験との比較も試みたい。また，本実験は Zero-shot 学習の事前知識として単一のモデルを用いたが，複数のモデルを用い集合知の形式を取り入れるなどの検証を進めたい.

## 参考文献

[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[2] 奥雅博, 松岡浩司. 文字連鎖を用いた複合語同音異義語誤りの検出手法とその評価. 自然言語処理, Vol. 4,
No. 3, pp. 83-99, 1997.

[3]新納浩幸ほか. 複合語からの証拠に重みをつけた決定リストによる同音異義語判別. 情報処理学会論文誌, Vol. 39, No. 12, pp. 3200-3206, 1998.

[4] 三品拓也, 貞光九月, 山本幹雄ほか. 確率的 $1 \mathrm{sa}$ を用いた日本語同音異義語誤りの検出・訂正. 情報処理学会論文誌, Vol. 45, No. 9, pp. 2168-2176, 2004.

[5] 河原直人, 梅澤猛, 大澤範高ほか. E-016 earth mover's distance を用いた同音異義語判別 (e 分野: 自然言語 $\cdot$音声・音楽). 情報科学技術フォーラム講演論文集, Vol. 12, No. 2, pp. 217-218, 2013.

[6] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pp. 5998-6008, 2017.

[7] Yaqing Wang, Quanming Yao, James T Kwok, and Lionel M Ni. Generalizing from a few examples: A survey on fewshot learning. ACM Computing Surveys (CSUR), Vol. 53, No. 3, pp. 1-34, 2020.

[8] 奥村学佐藤敏紀. 単語分かち書き辞書 mecab-ipadicneologd の実装と情報検索における効果的な使用方法の検討. 言語処理学会第 23 回年次大会 (NLP2017), pp. NLP2017-B6-1. 言語処理学会, 2017.


# 相互情報量最小化による例文に基づく制御可能な言い換え生成

杉浦昇太 $^{1}$ 西田典起 $^{2}$ 朱中元 $^{3}$ 中山英樹 ${ }^{1}$
1 東京大学大学院 \{sugiura, nakayama\}@nlab.ci.i.u-tokyo.ac.jp
2 理化学研究所 AIP noriki.nishida@riken.jp
${ }^{3}$ NAVER AI Research shu.raphaelenavercorp.com

## 1 はじめに

言葉を同じ意味内容を表す異なる表現に言い換えることは，コミュニケーションをより円滑にするために重要である．意図が伝わらない場合はより平易な表現に言い換え，あるいは場の状況に合わせてよりくだけた表現や丁寧な表現に言い換える.このように言葉を適切に言い換える能力は，人間のみならず機械にも求められる。

言い換え生成とは，所与の文の言い換えを自動的に生成する自然言語処理技術である。近年，ニュー ラルネットワークを用いた言い換え生成の手法が数多く提案されており，妥当で自然な言い換えの生成を達成しつつある [1,2]. 一方で，自然言語の持つ表現の多様性を踏まえると，利用者の望むような表現で書かれた文を得るためには，与えられた文に対してただ一つの言い換えを生成するだけでは不十分である.

本研究では，利用者が言い換えのスタイルを制御可能な言い換え生成の手法を提案する。ここでスタイルとは，文体や言い回し，構文など，文の意味内容に関わらないような表層的な表現のことである.図 1 に，提案手法の概要を示す. 提案手法では，言い換えの対象となる入力文とともに利用者によって指定された例文を入力として，入力文の意味を保ちつつ例文のスタイルを持つような言い換え文を生成する。例えば， 入力文として “What is the best way to earn money?"，例文として “How can I learn English?” という文が提示される状況を考える。システムは入力文の意味を保ちつつ, 例文の構造, 言い回しなどを可能な限り真似た出力文を生成する。この例では “How can I earn money?” が条件に即した妥当な言い換えであると言える。

Iyyer ら [3] や Chen ら [4] は, 出力の統語構造を指定する言い換え生成手法を開発した. しかし，利用

図 1 提案手法の概要. 言い換え生成システムは,入力文 (input) と例文 (exemplar)を受け取り，言い換え (output)を生成する.

者が望むような文を出力するのに統語構造だけで十分であるとは限らず，また言語学的な素養のない一般の利用者にとっては統語構造による操作は負担が大きい，そこで本研究では，生の例文に基づき，統語構造だけでなく文体や言い回しなども含めてよりそれに近しい文を生成することを目指す。

## 2 手法

本研究では，データセットとして言い換え文の対を含むパラレルコーパス $\langle\mathbf{x}, \mathbf{y}\rangle \in \mathscr{D}$ 使用する.ここで， $\mathbf{x}$ と $\mathbf{y}$ はぼ同じ意味を持つが，異なる表現で書かれた文である.

提案手法のモデルは，二つの構成要素からなる.符号化モデル $g_{\boldsymbol{\theta}}$ は，例文 $\mathbf{e}$ を符号化してスタイルの潜在変数 $z$ を生成する機構である. 系列変換モデル $p_{\boldsymbol{\theta}}$ は, 文 $\mathbf{x}$ と潜在変数 $z$ を受け取り, 出力として $\mathbf{x}$ の言い換え文を生成する機構である。この 2 つのモデルのパラメータをまとめて $\boldsymbol{\theta}$ と表記する。

推論時には，系列変換モデルは入力文 $\mathrm{x}$ を参照して生成するべき文の意味を,$z_{\mathrm{e}}=g_{\theta}(\mathbf{e})$ を参照してスタイルの情報を得て，これらに従って言い換え文を生成する。

学習時には，例文は提示されず，言い換え文の対 $\langle\mathbf{x}, \mathbf{y}\rangle$ のみが与えられる．そこで，例文ではなく $\mathbf{y}$ を符号化してスタイルの情報 $z_{\mathbf{y}}=g_{\theta}(\mathbf{y})$ を抽出し, $\mathbf{x}$

と $z_{\mathbf{y}}$ から $\mathbf{y}$ を復元するような学習を行う. 推論時に適切な言い換えを生成するためには，学習に際して以下の 2 点に留意する必要がある。

(1)入力文 $\mathbf{x}$ と潜在変数 $z$ を受け取り, 条件に沿った言い換えを生成するような系列変換モデルを学習する。

(2)潜在変数 $z$ が，例文 (学習時には $\mathbf{y}$ ) の意味内容ではなく，スタイルに関わる情報のみを保持するように符号化モデルを学習する.

(2) の重要性について触れる. 仮に $z_{\mathbf{y}}=g_{\theta}(\mathbf{y})$ が $\mathbf{y}$ に関する情報を完全に保持している場合，系列変換モデルは $z_{\mathbf{y}}$ のみを見て $\mathbf{y}$ を復元するように学習してしまう，そうすると，推論時には入力文 $\mathbf{x}$ と同義な文を生成できなくなり，言い換え生成として成立しなくなる. 従って， $z$ が文の意味ではなくスタイルの情報のみを保持するような制約を加えて学習することが必要となる.

## 2.1 損失関数の設計

学習時は，言い換え対 $\langle\mathbf{x}, \mathbf{y}\rangle \in \mathscr{D}$ を受け取り， $\mathbf{x}$ から $\mathbf{y}$ を生成するようにモデルを訓練する。 Cross-Entropy 損失関数 $\mathscr{L}_{\mathrm{GEN}}$ は次のように定義できる.

$
\mathscr{L}_{\mathrm{GEN}}=\frac{1}{|\mathscr{D}|} \sum_{i=1}^{|\mathscr{D}|}-\log p_{\theta}\left(\mathbf{y}_{i} \mid \mathbf{x}_{i}, z_{\mathbf{y}_{i}}=g_{\boldsymbol{\theta}}\left(\mathbf{y}_{i}\right)\right)
$

相互情報量に基づく損失符号化モデル $g_{\theta}$ が文の意味内容ではなく，スタイルに関わる情報のみを抽出するように制約を導入する。言い換え対 $\mathbf{x}$ と $\mathbf{y}$ は意味は同じであるが，それぞれ表層的に異なる言語表現のはずである. つまり, 符号化モデルは言い換え文の対が共有する意味に関わる情報ではなく，それらが共有しないスタイルに関わる情報のみを抽出できれば良いということになる。これは， $\mathbf{x}$ と $\mathbf{y}$ をそれぞれ符号化したべクトル表現 $z_{\mathbf{x}}=g_{\theta}(\mathbf{x})$, $z_{\mathbf{y}}=g_{\boldsymbol{\theta}}(\mathbf{y})$ が，相互に依存することがないような制約を損失関数に導入することで実現できると考えられる。

本研究では, そのような制約を相互情報量 $I\left(z_{\mathrm{x}}, z_{\mathrm{y}}\right)$ の最小化問題として定式化する。相互情報量を学習の過程で直接推定することは困難であるため，ここではサンプルベースの相互情報量の上界 $[5,6]$ を計算し，これを損失関数に加えることで，相互情報量を上から抑えることとする。 ミニバッチとして与えられる言い換え対のサンプル $\mathscr{B}=\left.\{\left(\mathbf{x}_{j}, \mathbf{y}_{j}\right)\right.\}_{j=1}^{M}$ につ
いて，これらを符号化モデルによって変換して得られた潜在変数 $\left.\{\left(\boldsymbol{z}_{\mathbf{x}_{j}}, z_{\mathbf{y}_{j}}\right)\right.\}_{j=1}^{M}$ を考える. このサンプルを用いて，相互情報量 $I\left(z_{\mathrm{x}}, z_{\mathrm{y}}\right)$ の上界は以下のように推定できる.

$
\begin{aligned}
& I\left(z_{\mathbf{x}}, z_{\mathbf{y}}\right) \leq \\
& \mathbb{E}\left[\frac{1}{|\mathscr{B}|} \sum_{j=1}^{|\mathscr{B}|}\left[\log p\left(z_{\mathbf{y}_{j}} \mid z_{\mathbf{x}_{j}}\right)-\frac{1}{|\mathscr{B}|} \sum_{k=1}^{|\mathscr{B}|} \log p\left(z_{\mathbf{y}_{k}} \mid z_{\mathbf{x}_{j}}\right)\right]\right] .
\end{aligned}
$

以上から，損失関数 $\mathscr{L}_{\mathrm{MI}}$ を以下のように定義する。

$
\begin{aligned}
& \mathscr{L}_{\mathrm{MI}}= \\
& \frac{1}{|\mathscr{B}|} \sum_{j=1}^{|\mathscr{B}|}\left[\log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{j}} \mid z_{\mathbf{x}_{j}}\right)-\frac{1}{|\mathscr{B}|} \sum_{k=1}^{|\mathscr{R}|} \log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{k}} \mid z_{\mathbf{x}_{j}}\right)\right] .
\end{aligned}
$

ここで, $q_{\phi}\left(z_{\mathbf{y}} \mid z_{\mathrm{x}}\right)$ は， $p\left(z_{\mathbf{y}} \mid z_{\mathbf{x}}\right)$ を近似したもので， ガウス分布 $q_{\phi}\left(z_{\mathbf{y}} \mid z_{\mathbf{x}}\right)=\mathcal{N}\left(\mu_{\phi}\left(z_{\mathbf{x}}\right), \Sigma_{\phi}\left(z_{\mathbf{x}}\right)\right)$ に従うとする. $\mu_{\phi}$ と $\Sigma_{\phi}$ は，パラメータ $\phi$ を持つニューラルネットワークである. $q_{\phi}\left(z_{\mathrm{y}} \mid z_{\mathrm{x}}\right)$ の負の対数尤度を最小化することで， $\boldsymbol{\phi}$ の学習を行う。

$
\mathscr{L}_{\mathrm{NLL}}=\frac{1}{|\mathscr{D}|} \sum_{i=1}^{|\mathscr{D}|}-\log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{i}} \mid z_{\mathbf{x}_{i}}\right)
$

パラメータ $\boldsymbol{\theta}$ に関しては，次の損失関数を最小化することで最適化する。

$
\mathscr{L}=\mathscr{L}_{\mathrm{GEN}}+\beta \mathscr{L}_{\mathrm{MI}} .
$

$\beta$ は $\mathscr{L}_{\mathrm{MI}}$ 項の大きさを決めるハイパーパラメータである。学習には確率的勾配降下法を利用し，各イテレーションの中で $\boldsymbol{\phi}$ と $\boldsymbol{\theta}$ それぞれを更新する.

## 2.2 モデルの設計

符号化モデルは, Transformer Encoder [7] と多層パーセプトロンによって構成されている. Transformer の最終層の隠れべクトルの平均をとり, これを多層パーセプトロンで変換したものを出力とする.

系列変換モデルの構造は，通常の Transformer と同じである．ただし，デコーダの最初のステップの入力には SOS トークンではなく, 符号化モデルが出力した潜在変数 $z$ に対してアフィン変換を適用して得られたベクトルを用いる.

$\mu_{\phi}$ と $\Sigma_{\phi}$ はそれぞれ多層パーセプトロンである. $\Sigma_{\phi}$ は対角行列を出力する.

## 3 実験と考察

## 3.1 データセット

Quora Question Pairs ${ }^{1}$ は，約 14 万件の質問文の言い換えの対を含むデータセットである. 10 万件を学習データ， 1 万件を検証データとした. テストデータについては， 100 件のデータに対して適当な例文を手動で用意した。まず参照文 $\mathbf{y}$ と構文が近く，また単語一致率の高い文を，学習データと検証データに利用しない文の集合から抽出した. その中で，入力文 $\mathbf{x}$ および参照文 $\mathbf{y}$ とは意味内容の異なる文を一つ手動で選び，必要があれば多少の編集を行い，それを例文 $\mathbf{e}$ とした．以上のようにして，参照文と意味は異なるものの，スタイルの似ている文をアノテーションした. 用意したテストデータの一部を付録に掲載する。

## 3.2 評価指標

テストデータは，入力文 $\mathrm{x}$ ，例文 $\mathrm{e}$ ，参照文 $\mathrm{y}$ の三つから構成されている. モデルが $\mathbf{x}$ とから生成した文を，以下の二つの観点から評価する。

(1)妥当性: 生成された文が入力文の言い換えとなっているか，つまり生成された文の意味が入力文の意味と同じであるか?

(2)可制御性: 生成された文が例文と似たようなスタイルの文となっているか?

参照文との比較本研究では，問題設定に合ったテストデータを用意しているので，より参照文と類似している文を生成できれば，(1) 妥当性と (2) 可制御性を満たしていることになる。 そのため, 本研究では BLEU [8]により参照文との類似性を評価した。

入力文との比較生成した文と入力文の意味的な類似度を調べることで，(1) 妥当性について評価する。意味的な類似度の計算方法として Sentence-BERT 類似度を使う. 具体的には，入力文と出力文をそれぞれ Sentence-BERT [9] によってべクトルに変換し ${ }^{2}$, それらのコサイン類似度を意味的な近さとする。

例文との比較生成した文と例文のスタイルの類似度を調べることで，(2) 可制御性を評価する。スタイルの類似度として，次の二つの尺度を用いた。

1) https://www.kaggle.com/c/quora-question-pairs

2) 本研究では https://github.com/UKPLab/sentence-transformers の学習済みモデルを用いた。表 1 Quora のテストデータにおける結果. それぞれ 3 回の試行の結果を平均したものを示している．BLEU は参照文，Sentence-BERT 類似度は入力文，TED及び LCS は例文と，生成文を比較したものを示す。

TED (tree edit distance of syntax tree) TEDによって文同士の構文的な類似度を測る，TEDでは，2つの文の句構造 (終端ノードは除去) に関する編集距離を計算する．距離であるため，値が小さいほど構文的に近いことを表す. $\mathrm{Zss}^{3}$ )によって TED を計算した.

LCS (longest common sequence) LCS によって文同士の言い回しの共有度を測る．LCS では，与えられた列の集合に共通する最長の部分列を求める. LCS の長さは，文書要約の自動評価尺度である ROUGE-L [10] に見られるように，自然言語の類似度評価にも利用されてきた。本研究では，文を単語の系列とみなし, 生成文と例文との LCS の長さを評価する．LCS が長いほど，生成文が例文に含まれる言い回しを含んでいることを示す.

## 3.3 ハイパーパラメータ

Transformer は，エンコーダレイヤ及びデコーダレイヤのスタック数をそれぞれ 6 ，ヘッド数を 8 ，隠れ層と単語埋め込みの次元数を 256 とした。

モデルの学習には Adam [11]を用い, Vaswani ら [7] と同じ学習率のアニーリングを行った。ミニバッチサイズは 128 で，検証データに対する損失が 10 エポックに渡って減少しなかったときに学習を終了する早期終了を行った．正則化のため，0.1 のドロップアウトを用い，また交差エントロピー誤差の計算に際して 0.1 のラベル平滑化を行った.

Stanford CoreNLP Toolkit [12] によって単語分割を行い, さらに SentencePiece [13] によってサブワードに分割した. サブワードの語彙数は 8000 とした.

## 3.4 結果

実験結果を表 1 に示す. Seq2Seq [7] は例文による操作がなく，入力文のみから言い換え文を生成す

表 2 Quora のテストデータにおいて生成された言い換え結果の例. 入力文 (source) と例文 (exemplar)をイタリック

 &  \\

る. SCPN [3] は例文の句構造に関する条件の下で入力文の言い換えを生成する。

参照文との類似度を示す BLEU スコアをみると， $\beta=1$ のときの提案手法が最も品質の高い言い換えを生成できていることがわかる. 従来の Seq2Seq と比較して大幅なスコアの向上が見られ，例文による操作の元で望ましい言い換えが生成できていることが定量的に確認できた。

注目すべきことに， $\beta$ の值が小さすぎる場合も大きすぎる場合も BLEU スコアが大幅に低下する． $\beta$ が小さすぎるときは入力文との Sentence-BERT 類似度が小さくなっている. これは入力文の意味を生成結果が保てておらず，その結果，BLEU スコアが小さくなっていると考えられる。一方で， $\beta$ が大きすぎるときは例文との TED が大きく, LCS も小さくなっている。これは例文のスタイルが生成結果に反映されていないということを表し，その結果として，BLEUスコアが小さくなっていると考えられる。

定量評価に加えて，生成された結果を定性的に分析した. 表 3.4 に $\beta=1$ のときの生成結果を示す.提案手法では, $\beta=1$ のとき，入力文の意味を保ちつつ，例文のスタイルに似た表現を生成できていることが分かる.

図 2 Sentence-BERT 類似度と $\mathrm{TED}$ (左) 及び $\mathrm{LCS}$ (右) の関係.

## 3.5 妥当性と可制御性のトレードオフ

ここでは, 入力文の意味内容の保持と例文による操作性のトレードオフについて調べる. 図 2 に,生成結果を入力文と比較した Sentence-BERT 類似度と，例文と比較した TED 及び LCS の関係を示す.

TED が低いほど例文の構文構造を反映していることとなるため，図の右下にある点がより良い結果となる. Seq2Seq の生成結果は，例文の情報を推論時に全く使っていないため，当然例文との構造的な距離は大きい．SCPN は例文の句構造を推論時に用いてそれに沿った言い換えを出力するため，TEDのスコアが Seq 2 Seq と比較して小さくなっている. 提案手法の結果は， $\beta$ の値が増加するにつれて図中左下から右上に推移している. $\beta=1$ の結果をみると， SCPN の結果と Sentence-BERT 類似度はほぼ同じであるにも関わらず，TEDがょり小さくなっている. すなわち，SCPN と比較してより良いトレードオフを達成していることが確認できる.

LCS は高いほど例文の言い回しを含む文が生成できていると言えるため，図の右上にある点がより良い結果となる. 入力文との意味的な類似度を低下させず，LCS を高くできている。すなわち，言い換えとしての品質を落とさないまま，語彙的にも例文により近い文を生成できている。

## 4 おわりに

本研究では，例文を用いた制御可能な言い換え生成の手法を提案した，文のスタイルに関する情報のみを抽出するために，相互情報量に基づく損失関数を導入した。評価用に，Quora データセットについて例文のアノテーションを行った。

実験の結果，提案手法によって入力文の意味を保持しつつ例文のスタイルを持つような言い換えが生成できていることを定量・定性的に確認した.

## 参考文献

[1] Aaditya Prakash, Sadid A. Hasan, Kathy Lee, Vivek Datla, Ashequl Qadir, Joey Liu, and Oladimeji Farri. Neural paraphrase generation with stacked residual LSTM networks. In Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers, pp. 2923-2934, Osaka, Japan, December 2016. The COLING 2016 Organizing Committee.

[2] Zichao Li, Xin Jiang, Lifeng Shang, and Hang Li. Paraphrase generation with deep reinforcement learning. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 3865-3878, Brussels, Belgium, October-November 2018. Association for Computational Linguistics.

[3] Mohit Iyyer, John Wieting, Kevin Gimpel, and Luke Zettlemoyer. Adversarial example generation with syntactically controlled paraphrase networks. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pp. 18751885, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.

[4] Mingda Chen, Qingming Tang, Sam Wiseman, and Kevin Gimpel. Controllable paraphrase generation with a syntactic exemplar. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 59725984, Florence, Italy, July 2019. Association for Computational Linguistics.

[5] Pengyu Cheng, Martin Renqiang Min, Dinghan Shen, Christopher Malon, Yizhe Zhang, Yitong Li, and Lawrence Carin. Improving disentangled text representation learning with information-theoretic guidance. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7530-7541, Online, July 2020. Association for Computational Linguistics.

[6] Pengyu Cheng, Weituo Hao, Shuyang Dai, Jiachang Liu, Zhe Gan, and Lawrence Carin. CLUB: A contrastive logratio upper bound of mutual information. In Hal Daumé III and Aarti Singh, editors, Proceedings of the 37th International Conference on Machine Learning, Vol. 119 of Proceedings of Machine Learning Research, pp. 17791788, Virtual, 13-18 Jul 2020. PMLR.

[7] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Ł ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30, pp. 5998-6008. Curran Associates, Inc., 2017.

[8] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, pp. 311-318, Philadelphia, Pennsylvania, USA, July 2002. Association for Computational Linguistics.

[9] Nils Reimers and Iryna Gurevych. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In
Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3982-3992, Hong Kong, China, November 2019. Association for Computational Linguistics.

[10] Chin-Yew Lin. ROUGE: A package for automatic evaluation of summaries. In Text Summarization Branches Out, pp. 74-81, Barcelona, Spain, July 2004. Association for Computational Linguistics.

[11] Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, 2015.

[12] Christopher Manning, Mihai Surdeanu, John Bauer, Jenny Finkel, Steven Bethard, and David McClosky. The Stanford CoreNLP natural language processing toolkit. In Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pp. 55-60, Baltimore, Maryland, June 2014. Association for Computational Linguistics.

[13] Taku Kudo and John Richardson. SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71, Brussels, Belgium, November 2018. Association for Computational Linguistics.

## A 作成したテストデータ

表 3 に，本研究で評価のために作成した例文の一部を，大力文及び参照文と共に示す.

表 3 評価用に用意した Quora のテストデータの一部. 作成した例文を太字で示している.

source Is the iPhone really more expensive? Why or why not?

reference Why is iPhone so expensive?

exemplar Why is mathematics so hard?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

Why is UK better than USA?

Which country do you like the most, UK or USA? Why?

Which sports do you like the most, soccer or basketball? Why?

What are the movies worth watching after getting high ?

Which are the Best movies to watch after getting high?

Which are the best books to read after getting negative?

How many songs can a 16 GB iPhone hold -LRB- approximately -RRB- ?

How many songs does a 16 GB iPhone hold?

How many calories does a Dominos pizza have?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

Which are some of the most popular questions on Quora

with high number of followers?

Which question on Quora has the most followers?

Which province in Canada needs the most immigrants ?

What are the best tips to study philosophy?

What are the best tips to save money?

Why is space expanding?

How and why is space expanding?

How and why is history repeating?

How can I download Tor browser?

How do I download the Tor browser?

How do I find the dipole moment?

exemplar

What is the best question anyone has ever asked you ? How did you answer?

What is the best question you have ever been asked?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar What is the best joke you have ever heard?

Is it possible to make a time machine?

Can we create a time machine?

Can we survive a heart attack ?

How can we make money from YouTube?

How can you make money on YouTube?

How can you find people on Instagram?

Why China is threat to India?

Is China a threat to India?

Is Kngine a competitor to Google?

How do I get a Rhodes scholarship ?

What should I do to get a Rhode 's scholarship ?

What should I do to become an automobile engineer?

What are some ways to make more time?

How do I make more time?

How do I get more clients?


# 質問・応答集からの文選択による 雑談対話システムの学習

太刀岡勇気

デンソーアイティーラボラトリ

ytachioka@d-itlab.co.jp
## 1 はじめに

ユーザからの質問に応答するチャットボットのような対話システムでは，大量の質問・応答ペアを用意してユーザの質問と用意した質問との類似度に基づいて対応する応答を選択する用例ベースの手法がよく利用される [1]. 近年ではこのような方法がある程度実用化されてきたことから, 質問・応答だけでない，雑談のような，より難しい非タスク指向型対話システムの研究も盛んである. その場合, ルールを記述することはほぼ不可能であり, ユーザの発話は予見不能であることから，すべての対応関係を収集することは難しい. そこで seq 2 seq の手法 [2] が良く用いられる. seq2seq は, ユーザの発話に対するシステムの応答を翻訳問題として結びつけるもの [3] であり, どのようなユーザ発話に対しても応答を生成できるという利点がある一方で, 学習に大量のペアデータが必要であるという問題もある. 大量のテキストデータが利用可能な資源としては, twitterや『おーぷん 2 ちゃんねる対話コーパス [4]』がある．ただし，これをそのまま対話エージェントの応答生成に適用しようとすると, 文のスタイルが適さない点が問題になる1). 対話エージェントには, 特に商用に用いる場合, ある程度フォーマルで丁寧な応答が求められるからである.

これに対して，「Yahoo!知恵袋」等の質問・応答集を使うと，丁寧に書かれていることが多いため，スタイルの問題は起こりにくい. さらに, すでに集めてある質問・応答集の再利用ができる.しかし, 質問・応答ともに長文であることが多いため, seq 2 seq の学習が難しいことに加え, 生成される応答が長すぎるという問題がある. 例えば後に示すように 『Yahoo!知恵袋』では, 100 文字程度の回答が多いが，音声での対応を考えた場合，エージェントが 1

1）特に後者では独特の関西弁風のスタイルが問題となる.

\author{
欅惇志 \\ デンソーアイティーラボラトリ \\ akeyaki@d-itlab.co.jp
}

分間に話せるのは 300 文字程度なので, 100 文字発話するのには 20 秒程度かかる. 質問に対する必要な情報提供であれば適切な長さであるが，雑談としては応答が 20 秒続くとかなり長く感じられる。また, 現状の seq 2 seq 方式での生成では, それだけの長文を理路整然とさせるのは難しい．意味不明な文や自己矛盾した文が生成される可能性も高く, これはユーザの満足度を著しく低下させる．そこで，質問・応答集に対して適切な文選択を行い，ペアデー タを短い文で構築することで，この問題を解決することを試みる。選択法はいくつか考えられるため, ここでは可能な選択法を 7 種に関して, seq2seqによる応答文生成のパープレキシティと生成された応答文長の変化を検討した。

## 2 seq2seq に基づく応答生成

## 2.1 手法概要

翻訳での成功 [2]を受けて，対話でもソース (src) からターゲット $(\mathrm{tgt}) への$ 変換をニューラルネットで直接学習する seq2seq に基づく応答生成 [3] が用いられてきており, 雑談応答生成への適用も行われている [5, 6]. 通常入力は文字単位ではなく, 単語やそれに類するまとまりの単位とする。いくつかの方式が提案されているが，ここでは opennmt[7] で使われている固定次元の埋め込みべクトルに基づき LSTM で encode-decode する方式を採用した.

## 2.2 係り受け解析による冗長箇所の除去

seq2seqによる応答文には, 応答が相槌のような無難なものになりやすいという問題が指摘されている [5, 6]. また同一の語句の繰り返しが多くみられるという問題がある ${ }^{2)}$. 例えば「ステーキのステーキは,肉が柔らかくて美味しいですよね」というような過
応答文に繰り返しが増える傾向がみられた。
度に壳長な文が頻繁に生成され, これがユーザの満足度を著しく低下させる．そこで，係り受け解析を行い, 係元が係先と同じ名詞を含む場合は係元を削除することで冗長箇所を除去することとする．先の文に対しては，「ステーキの」が「ステーキは」にかかっているので，「ステーキの」を削除する。

## 3 質問・応答集からの文選択

提案法では，質問・応答集を「．?」で文に分割し，そこから対象の文を選択することで，情報をなるべく失わずに，ぺアの文の長さを短くする．文選択には，以下の 7 種を検討した。

1. allpairs: 質問文と応答文の全組み合わせ

2. crosspairs: 質問文と応答文のはじめの文と終わりの文の最大 4 通りの組み合わせ

3. crosspairs2: 質問文と応答文のはじめの文とはじめの文，質問文の終わりの文と応答文のはじめの文の最大 2 通りの組み合わせ (下に示す first-first と last-first の組み合わせ)

4. longest: 最大の文字数の文同士の組み合わせ

5. last-first: 質問文の終わりの文と応答文のはじめの文の組み合わせ

6. first-first: 質問文と応答文のはじめの文とはじめの文の組み合わせ

7. first-first \& longest: first-first と longest の組み合わせ

allpairs は, すべての組み合わせを考えるもので, 例えば質問・応答のペアが $\operatorname{src}$ が 2 文, tgt が 3 文からなる場合, この 1 ペアから $6(=2 \times 3)$ 通りのペアデータを作成する．質問文と応答文に関しては中間の文はあまり重要ではなく, はじめの文と終わりの文が重要であると考えられる 3$)$ ので，それらの組み合わせをとる crosspair と, 応答文についてははじめの文のみを追加した crosspair2 を検討した ${ }^{4)}$. また短い文は挨拶や「ありがとうございます」のように情報が少ないことが多いため, 最大の長さの文を組み合わせる方法も考えられる (longest). さらには crosspair2を別々にした last-first と first-first を検討し

3）特に質問文に関しては，はじめの文で「〜は〜ですか」のように質問したあとで「ちなみに〜です」のように補足を行う場合 (はじめの文が重要) と,「16歳です。～は〜ですか」のように自分の前提を述べた後に質問する場合 (終わりの文が重要) の 2 種類が典型的である.

4）応答文に関しても「通りすがりのものです. 〜です」のように，はじめの文に情報がない場合もあるが，質問文よりははじめの文が重要である比率が高いため, 応答文に関しては, はじめの文だけとした場合も検討した。
た。また first-first と longestを組み合わせた方法についても検討した。 3 手法 (first-first,last-first,longest) 以外はぺア数を増やすことができるため，学習データを拡大する効果も得られる可能性がある.

## 4 実験

## 4.1 実験条件

seq2seq は大量のペアデータから学習する必要があるため, ベースのモデルは『おーぷん 2 ちゃんねる対話コーパス [4](以下 open2ch)』を用いて構築した $^{5)}$. ベースモデルの学習後, 質問・応答集でファインチューニングする．質問・応答集には，『現代日本語書き言葉均衡コーパス (以下 bccwj) [8]』に含まれる「Yahoo!知恵袋 (OC)」を利用した。OC から差別や性的な内容等を含む不適切な文を除外するため, [4] で行われているフィルタリング処理を行い,最終的に 5.4 万ペアが得られた. さらに, slack 上で収集した『テキスト雑談コーパス (以下 slack) $[9,10] 』$ を用いた。発話ぺア数は 1.4 万と少ないが，丁寧な口語調のデータである. 表 1 に学習に用いたペア数と平均文字数を示す. open2ch に比べると, bccwj と slack のペア数がかなり少ないことと, 文長が 3～4 倍程度とかなり長いことがわかる。

opennmt [7] を用いて seq2seq モデルを構築した.前処理に sentencepiece[11] を用いて 16,000ピースにより，文を分割した。これを 500 次元の埋め込みべクトルに変換し，LSTM2 層により encode し， LSTM と attentionを用いて decodeを行う。ビームサーチにより最終的な応答文を得る. open2ch の学習は 20 万回6)繰り返し行った.これに対して, 7 万回 open $2 \mathrm{ch}$ で学習したモデルを初期モデルとして, 学習率を低減させて bccwj+slack により最大 5 万回ファインチューニングを行う. 提案の文選択を行った場合を同じく表 1 の 3 段目に示す. longestを除き, open2ch とほぼ同等な平均文長を得ることができた 7 ) $。$ また異なる組み合わせを利用することでぺア数を増やすことができている．ただし(特に allpairs では)，異なる質問に対して同一の応答が対応する，あるいは，同一の質問に対して異なる応答が対応する例が多い.

5）「サンガツ」「ワイ」等の open2ch に特有ないくつかの表現は，「ありがとう」「私」などの対応する語句と置き換えた。

6）エポックではなく, バッチ単位での繰り返し数である.

7）応答文は若干長い。
表 1 学習とテストに用いたぺア数と平均文字数. 検証データは別に用意

図 1 open2ch データベース学習時のパープレキシティ

## 4.2 結果 (パープレキシティでの比較)

図 1 に, open2ch で学習した際のパープレキシティを示す8)，学習 (train), 検証 (valid), テスト (test) のすべてで繰り返しに伴い単調に減少している.

図 2 には，質問・応答集 (bccwj+slack) でファインチューニングした際のパープレキシティを示す. 検証は各手法に合わせて文選択を行ったもので評価した。テストは文選択をしない bccwj+slack の 1,999 ペアで行っているため, baseline のテストのみ学習とマッチした条件で，それ以外はミスマッチな条件になっている，そのため，すべての場合でテストのパープレキシティは baseline の場合に比べて悪化している.

個別にみると，まず，すべての組み合わせを使う

8）学習のパープレキシティは直近 1,000 回の平均を 1,000 回ごと, 検証とテストのパープレキシティはそれぞれ 1,000 回, 5,000 回ごとに測定した。以降も同一である.

図 2 質問・応答集 (bccwj+slack) でファインチューニング時のパープレキシティ

allpairs は学習のパープレキシティも十分に低下せず最も悪い結果となった。これは上述の通り, 同一の (異なる) 質問に対して異なる (同一の) 応答が対応することで学習がうまくいかなかったためと考えられる. crosspairsに関しても同様の理由で学習のパープレキシティが単調減少せず，期待された学習データ拡大の効果は得られなかった. 最も検証のパープレキシティが小さくなったのは, first-first の 1 万〜2 万回のファインチューニングを行った場合であった. テストのパープレキシティでも first-first が最もよく，ミスマッチ条件にもかかわらず，マッチ条件の baseline と近い值となっている. first-first に longest を足すと検証のパープレキシティは安定したが，テストセットのパープレキシティは低下し

図 3 テストセット (bccwj+slack) の $\operatorname{src}$ に対して生成された応答文の平均文字数

た。これから文選択は first-first が最もよいと考えられる。

## 4.3 結果 (文長での比較)

図 3 に，テストセット (bccwj+slack) に対して生成された応答文の平均文字数を示す. テストセットは，表 1 に示した通り, src が 77.4 文字, target が 102.4 文字であった. 全体として, ファインチューニングの繰り返し回数によらず，ほぼ文選択法により文長が決まっていることがわかる．個別にみると， baseline はかなり長く平均で 60 文字程度の応答を生成していた。それから longest, first-first_and_longest と続く.これらが平均で約 40 文字を超えている.一方，それ以外の方法では 40 文字以下となっていて, open2ch での文長と同等であり, first-first か crosspair2(first-first を含む) が最も文長が短くなっている. first-first による文選択では，元の文の情報低下を抑えながら (パープレキシティは維持しながら)，文長を短くできているといえる。

## 4.4 結果 (応答例と几長箇所除去の効果)

雑談を想定したユーザ発話 (上記テストセットには含まれない) に対する応答例を図 4 に示す. はじめに述べた通り, open2chの応答はエージェントとしてはふさわしくなく，これに限らず回答の多くが,「まじかよ $\cdots$, 「ありがとう!(もともとは「サンガツ!」)」，「そうなんか」になってしまう． baseline はスタイルはよいが冗長な出力が出ている.ただし 「ステーキのステーキは，...」に関しては，壳長箇所除去を行うことでかっこ内の文に変換できた ${ }^{9)}$. 提

## \%open2ch

先週は神戸に行ったよ > まじかよ....

明日は何しよっか > おーぷん民

昨日はステーキを食べたよ > ありがとう!

ケーキを作ってみようと思って作り方を調べた > そうなんか

## \%baseline

先週は神戸に行ったよ> 神戸に行ったことないなあ

明日は何しよっか > 明日に備える

昨日はステーキを食べたよ>ステーキのステーキは，肉を食うのが一般的です (=ステーキは，肉を食うのが一般的です)

ケーキを作ってみようと思って作り方を調べ

た>ケーキやケーキ，ケーキ，ケーキ，お菓子，

( ...ケーキ，お菓子を繰り返す)

## $\%$ first-first

先週は神戸に行ったよ > 私も神戸に行ったことがあります

明日は何しよっか $>$ 明日休みます

昨日はステーキを食べたよ > 私はステーキを食べます

ケーキを作ってみようと思って作り方を調べた > ケーキを作るのは簡単ですね

図 4 ユーザ発話 ('>’ の左) に対する生成された応答 ('>’ の右) の例

案の first-first は, 短い文で比較的適切な応答を返せている.

## 5 まとめと今後の課題

雑談対話システムの学習に，大量のデータがある質問・応答集を利用する場合，文長が長いためモデルの学習が難しく，生成される文が長くなりすぎるという問題があるため，文選択を行うことで文長を制限する方法を提案した. 7 種の異なる文選択法を検討した結果，はじめの文同士を組み合わせたものが最もパープレキシティが低く，文長も短くできることがわかった.今回は比較的単純な方法で文選択を行ったが，今後，重要文の推定に基づき，主題となる文の選択を行った場合との比較を行う予定である.

## 参考文献

[1] 東中竜一郎, 稲葉通将, 水上雅博. Python でつくる対話システム. オーム社, 2020.

[2] Ilya Sutskever, Oriol Vinyals, and Quoc V. Le. Sequence to sequence learning with neural networks. In Proc. NIPS, 2014.

[3] Oriol Vinyals and Quoc V Le. A neural conversational model. In Proc. ICML, 2015

[4] 稲葉通将. おーぷん 2 ちゃんねる対話コーパスを用いた用例ベース対話システム. 第 87 回言語・音声理解と対話処理研究会 (第 10 回対話システムシンポジウム), 人工知能学会研究会資料 SIG-SLUD-B902-33, pp. 129-132, 2019.

[5] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. A diversity-promoting objective function for neural conversation models. In Proc. NAACL-HLT, pp. 110-119, 2016.

[6] 高山隼矢, 荒瀬由紀. Distant supervision を用いた情報量を制御可能な雑談応答生成. 言語処理学会第 26 回年次大会発表論文集, pp. 323-326, 32020.

[7] Guillaume Klein, Yoon Kim, Yuntian Deng, Jean Senellart, and Alexander M. Rush. Opennmt: Open-source toolkit for neural machine translation. In Proc. ACL, 2017.

[8] Kikuo Maekawa, Makoto Yamazaki, Toshinobu Ogiso, Takehiko Maruyama, Hideki Ogura, Wakako Kashino, Hanae Koiso, Masaya Yamaguchi, Makiro Tanaka, and Yasuharu Den. Balanced corpus of contemporary written japanese. Language Resources and Evaluation, Vol. 48, No. 2, pp. 345-371, 62014.

[9] Hiroshi Tsukahara and Kei Uchiumi. System utterane generation by label propagation over association graph of words and utterance patterns for opendomain dialogue systems. In Proc. PACLIC-29, 2015.

[10] 塚原裕史, 内海慶. 言い換えを利用した対話行為推定の汎化性能向上. 言語処理学会第 22 回年次大会発表論文集, pp. 87-90, 32016.

[11] Taku Kudo and John Richardson. SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proc. Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71, Brussels, Belgium, 11 2018. Association for Computational Linguistics.

[12] 工藤拓, 松本裕治. チャンキングの段階適用による日本語係り受け解析. 情報処理学会論文誌, Vol. 43, No. 6, pp. 1834-1842, 2002.