# 大規模格フレームによる解候補削減を用いた ニューラルネットゼロ照応解析

山城 堸太 ${ }^{\dagger}$ 西川 仁 $\dagger \cdot$ 德永 健伸 $\dagger^{\dagger}$
}

本論文では日本語文内・文間ゼロ照応解析モデルを提案する. 文間ゼロ照応解析に おいて複数格の同時推定を行う際, 複数の文をまたぐ大量の格要素の組合せ候補を 取り扱う必要があり, これはゼロ照応解析モデルの訓練, 解析に際して重大な障害 となる。この問題に対して, 我々は格フレームの情報を用いた効果的な解候補削減手法を提案する. 提案解候補削減を用いて複数格を同時推定したモデルと解候補削減を用いずにそれぞれの格を独立に推定したモデルを日本語均衡コーパス上で比較 し, 0.056 の精度向上を確認した. また, ローカルアテンション付きRNNを導入す ることで，文間ゼロ照応解析の精度が上昇することも確認した。

キーワード：ゼロ照応解析，述語項構造解析，解候補削減，格フレーム
## Neural Japanese Zero Anaphora Resolution with Candidate Reduction Using Large-scale Case Frames

\author{
Souta Yamashiro $^{\dagger}$, Hitoshi Nishikawa $^{\dagger}$ and Takenobu Tokunaga ${ }^{\dagger}$
}

This paper presents a model for Japanese zero anaphora resolution that deals with both intra- and inter-sentential zero anaphora. Our model resolves anaphora for multiple cases simultaneously by utilising and comparing information from other cases. This simultaneous resolution requires the consideration of many combinations of antecedent candidates, which could be a crucial obstacle in both the training and resolving phases. To cope with this problem, we have proposed an effective candidate pruning method using case frame information. We compared the model, which estimates multiple cases simultaneously, by using our proposed candidate pruning method and model, which estimates each case independently without a candidate reduction method in a Japanese balanced corpus. The results confirmed a 0.056 -point increase in accuracy. Furthermore, we also confirmed that the introduction of local attention Recurrent Neural Network increases the accuracy of inter-sentential anaphora resolution.

Key Words: Zero Anaphora Resolution, Predicate-argument Structure Analysis, Candidate Reduction, Case Frames

## 1 はじめに

ゼロ照応解析とは，テキスト中の述語の省略された項（ゼロ代名詞）を検出し，項として埋め るべき格要素を同定するタスクである。格要素は先行詞としてテキスト中で言及されている場合もあれば，言及されていない場合もある．前者の場合，先行詞は述語と同じ文中にある（文内ゼロ照応）か, 先行する文中にある（文間ゼロ照応） ${ }^{1}$. 後者 (外界ゼロ照応）の例として, テ キストの著者である主語が明示的に言及されない場合などがある.

(1) 大岡山商店街でも $(\phi$ ガ $)$ お酒落な建物を見かけるようになった. カフェテリアが特に多 くて，今月も新しく $(\phi$ ガ $)(\phi$ ニ)オープンしてる.

例 (1)では「見かける」のガ格と「オープンしてる」のガ格, 二格が省略されている.「オー プンしてる」のガ格の格要素は同文中に言及されている「カフェテリア」であり（文内ゼロ 照応), 二格の格要素は前文で言及されている「大岡山商店街」である (文間ゼロ照応)。一方,「見かける」のガ格の格要素はテキスト中では明示的に言及されていない「著者」である（外界ゼロ照応).

本論文では特に日本語のゼロ照応解析を取り扱うが，項の省略が起こる pro-drop 言語は日本語だけではなく，他に中国語，イタリア語，スペイン語などがあり，各言語で日本語ゼロ照応解析と類似したタスクに取り組む研究が数多くある (Chen and Ng 2016; Yin, Zhang, Zhang, and Liu 2017; Yin, Zhang, Zhang, Liu, and Wang 2018a, 2018b; Iida and Poesio 2011; Rello, Baeza-Yates, and Mitkov 2012). また英語では意味役割付与タスクがゼロ照応解析に似た研究と して挙げられる (Zhou and Xu 2015; He, Lee, Lewis, and Zettlemoyer 2017). 日本語ゼロ照応解析は, 日本語述語項構造解析の部分問題であり, 自動要約 (Yamada, Teufel, and Tokunaga 2017) や情報抽出 (Sudo, Sekine, and Grishman 2001), 機械翻訳 (Kudo, Ichikawa, and Kazawa 2014) など様々な自然言語処理アプリケーションの精度改善にとって重要であるため, 緊急に解決さ れるべき課題として盛んに研究されている (Sasano and Kurohashi 2011; Hangyo, Kawahara, and Kurohashi 2013; Ouchi, Shindo, and Matsumoto 2017; Matsubayashi and Inui 2017, 2018; Shibata and Kurohashi 2018; Kurita, Kawahara, and Kurohashi 2018).

本研究の貢献は大きく二つに分けられる。第一に大規模均衡コーパス上で日本語ゼロ照応解析を行い評価したことと，第二にこの大規模均衡コーパス上で文内・文間ゼロ照応解析を可能 にするための解候補削減手法を提案したことの二点である,

従来のゼロ照応解析研究は，新聞記事のみからなる『NAISTテキストコーパス』(NTC) (Iida, Komachi, Inui, and Matsumoto 2007) で評価を行うものが多かった。従って，それらの評価で はテキストドメインの違いによる影響が考慮されていない。 ゼロ照応解析結果の応用を考えた

時, 複数ドメインの文書に対しても頑健なゼロ照応解析手法の有用性は高い. 我々は『現代日本語書き言葉均衡コーパス』(BCCWJ) (Maekawa, Yamazaki, Ogiso, Maruyama, Ogura, Kashino, Koiso, Yamaguchi, Tanaka, and Den 2014)を評価実験に使用した．BCCWJは 13 ドメインにま たがって構築された約一億語からなる日本語均衡コーパスである。このうちの約 100 分の 2 に あたる約二百万語からなるコアデータに対しては, 人手による述語項構造と照応関係の付与が されている。また, BCCWJは新聞, 雑誌, 書籍, 白書, Yahoo!知恵袋, Yahoo!ブログの 6 ド メインにまたがったテキストを含んでいる。ドメインによるゼロ照応解析の性能の違いを調べ るために，我々は BCCWJを使用した。

表 1 は BCCWJ コアデータセットの述語と格ごとの格要素の距離の分布を示している. ここ での距離は述語と格要素の間の文数である．距離 0 は文内照応を示しており，距離 1 以上は文間 ゼロ照応を示している。この表から，文中に格要素の出現するゼロ照応のうち，半数以上のゼ 口照応が文間ゼロ照応であることがわかる．表 2 はテキストドメインごとに分類した述語とガ 格の格要素との距離の分布を示している。この表から，文内，文間ゼロ照応のドメインごとの 違いが確認できる。OW（白書）のガ格には文内ゼロが多く出現している一方で, PM（雑誌）, $\mathrm{OC}(\mathrm{QA})$ のガ格には文内ゼロ比率が少なく, 5 文前までの文間ゼロが多く出現している. また, $\mathrm{PM}$ (雑誌), OY（ブログ）のガ格は 7 文以上前の文間ゼロが他のドメインと比較して多く出現 しており，このようなドメインごとの述語と格要素間の距離の違いが文間ゼロ照応解析の精度 に影響を及ぼす原因だと予測できる。これらの観察から，異なるタイプのテキスト上で評価実験を行うことの重要性が示唆される.

表 1 に示すとおり現実の文書には文間ゼロ照応が頻出するが, 従来のゼロ照応解析研究の多く は，文内ゼロ照応のみに焦点を絞っている (Iida, Torisawa, Hashimoto, Oh, and Kloetzer 2015; Shibata, Kawahara, and Kurohashi 2016; Ouchi et al. 2017; Matsubayashi and Inui 2017, 2018;

表 1 格要素と述語の距離の分布

表 2 文書ドメインごとのガ格ゼロ照応の分布 $(\%)$

$\mathrm{OW}$ : 白書, PB: 書籍, PN: 新聞,

$\mathrm{PM}:$ 雑誌, OC: QA, OY: ブログ

Kurita et al. 2018). Ouchi et al. (2017)は，文内ゼロ照応のみを取り扱う理由として，探索範囲の問題を指摘している。文間ゼロ照応では，格要素候補をテキスト全体から探す必要がある ため, 文内ゼロ照応解析に比べて探索範囲が拡大する. Matsubayashi and Inui $(2017,2018)$ と Kurita et al. (2018) は解析に際して文脈素性を取り入れるために, リカレントニューラルネッ トワーク (RNN) を導入し，格要素候補と述語が含まれる文を読み込ませている。しかしこれと 同じ手法を文間ゼロ照応解析において適用しようとすると, テキスト全体を RNN に入力とし て与える必要がある。長距離の文脈を記憶する仕組みを持つ LSTM や GRU を使用しても， シ ステムがテキスト全体における長距離の依存関係を十分に学習できるとは限らない。また，テ キスト全体を記憶しなくても，選択的に抽出された文脈情報のみで解析できる可能性がある.

先述の研究と異なり， Sasano and Kurohashi (2011)と Hangyo et al. (2013), Shibata and Kurohashi (2018)は, 文内・文間ゼロ照応解析手法を提案している。しかし, 彼らは新聞コー パスと Webコーパスを用いて評価実験を行っており，複数ドメインコーパスを用いた評価実験 は行っていない．また，Shibata and Kurohashi (2018) は各 entity ごとに embedding を割り当 て，現在解析対象としている述語より文書の前方におけるRNNの解析結果を用いて，それぞれ の embedding を逐次更新することで文脈情報を使用している.

これら 2 つの問題に対して，本研究では様々なドメインの文書への対応を可能とするために 大規模格フレームを利用し，述語が取りうる複数の格要素の組合せから最適なものを選ぶ。 大規模コーパスから得られた述語の格フレームに関する統計的情報を使用することで，特定のド メインにのみ出現する事例数の少ない格フレームに対しても対処できるようになると考えられ る。解候補となる格要素の組合せが膨大になる問題に対しては，格フレームを使用した解候補削減手法を取り入れることで，より汎用性の高い文内・文間ゼロ照応解析モデルを提案する.

ひとつのモデルで文内・文間のゼロ照応解析を同時に行う際, 各格に対してそれぞれ独立に解析を行うより，他の格の情報を利用して複数格を同時に解析する方がより良い精度が得られると 考えられる。渡邊, 浅原, 松本 (2010) は CoNLL-2009 Shared Taskデー夕を用いた述語項構造解析において，述語項構造の大域的な情報を取り扱う因子を素性として取り入れることで，日本語 を含む 7 種類すべての言語の精度が改善することを確認している. しかし複数格を同時に解析す る際には, 先行詞の広大な探索範囲の問題に対処する必要がある。特に機械学習を適用する際,正解の候補となる名詞の組合せが大幅に増加する，BCCWJ の場合では，格フレーム候補が平均 20 個, ガヲニ格の格要素候補が平均 10 個出現するため, 組合せは $20 \times 10 \times 10 \times 10=$ 約 20,000 通り考えられ，このうち正しい格フレームと格要素の組合せは一つのみである。結果としてデー 夕中の正例と負例の比率が約 1 対 20,000 と著しく不均衡となる.このような偏った訓練デー夕 は不必要に計算量を増幅させ，かつモデルの汎化を妨げる要因となる. 我々は, 学習に不要な 負例を削減するために，解析対象述語に対応する格フレームを用いた効率的な解候補削減手法 を提案する。この提案手法により，正解を候補に残しつつ，約 1,000 分の 1 にまで解候補を削
減することに成功した。また, 我々は RNN にローカルアテンション機構 (Luong, Pham, and Manning 2015) を導入することで，前文中のどの部分に注意を向けて解析するかをシステムに 学習させた。本研究の提案手法は二つの構成要素からなり，一つは格フレーム内の単語分散表現を使用した解候補削減アルゴリズムで，もう一つは解候補削減に使用した分散表現を利用す るニューラルネットゼロ照応解析モデルである ${ }^{2}$ 。なお，BCCWJ を訓練・テストに用いた文内・文間のガヲニ格を対象とするゼロ照応解析は. 本研究が初の試みである.

## 2 関連研究

## 2.1 日本語ゼロ照応解析

表 3 は，夕スクの種類，使用しているコーパスのドメイン，コーパスのサイズ，手法の観点か ら関連研究をまとめたものである。解候補の列はガヲニ格をそれぞれ独立の解析器で解析して いるのか，一つの解析機を用いて組合せで解析しているのかを示している. Hangyo et al. (2013) はランキング SVM を用いて，Webコーパスに対して文内，文間，外界のゼロ照応解析を同時 に行っている。このWebコーパスは 1,000 文書からなり，それぞれ Webページの冒頭 3 文を抜 き出したものである (Hangyo, Kawahara, and Kurohashi 2012). Shibata and Kurohashi (2018) はフィードフォワードニューラルネットワーク (FNN) とリカレントニューラルネットワーク (RNN) を組合せて用い, Webコーパス (Hangyo et al. 2012) と新聞コーパスに対して直接の 係り受け関係と文内・文間・外界のゼロ照応解析を同時に行っている． Matsubayashi and Inui (2018) は FNN と RNNを組合せて用いることで，NTC に対して直接の係り受け関係と文内のゼ ロ照応解析を同時に行い，直接の係り受け関係と文内ゼロ照応解析の state-of-the-art を達成し

表 3 関連研究

} & \multicolumn{3}{|c|}{ 手法 } & \multirow{2}{*}{ 解候補 } \\

^{2}$ https://github.com/yamashiros/Japanese_zero_anaphora
}

た. Sasano and Kurohashi (2011) は対数線形モデルを用いて, 979 文からなる Webコーパスと NTC に対して文内と文間のゼロ照応解析を同時に行い，NTC における文内・文間ゼロ照応解析の state-of-the-artを達成した。これらに対して我々は，ランキング SVM ${ }^{3}$ (Joachims 2006) モ デルと FNN と RNN の組合せモデルを用いて, 『現代日本語書き言葉均衡コーパス』 (BCCWJ) (Maekawa et al. 2014)に対して, 文内・文間のゼロ照応解析を同時に行う.

## 2.2 大規模格フレーム

格フレームとは述語とその述語が取りうる格要素を述語の格パターンごと, 格ごとに整理した 共起情報である。表 4 のように格パターンに基づいて格フレームを分けることで, 述語と格要素間の語彙的選好の知識を照応解析に利用することができる (Sasano, Kawahara, and Kurohashi 2008; Sasano and Kurohashi 2011; Hangyo et al. 2013).

格フレームの構築に関しては 河原, 黒橋 (2005) が Web テキストから格フレームを自動構築 する手法を提案している。林部, 河原, 黒橋 (2015) は格の出現の仕方を考慮したクラスタリン グを行うことで格パターンを抽出し，述語に対してより頑健に格フレームを割り当てることに 成功している. これら手法を用いて約 100 億文の大規模 Web コーパスから取得, 整理された格 フレーム知識は京大格フレーム4として公開されており，我々はこれを使用した。

日本語ゼロ照応解析において, 格フレームは解析の手がかりとして広く使用されている (Sasano and Kurohashi 2011; 松林, 乾 2014). しかし, 我々が調べたところ, BCCWJ 中の動詞の正解述語項構造に対する京大格フレームのカバレッジは約 $27 \%$ と十分ではない.この問題に対して, Sasano and Kurohashi (2011), 松林，乾 (2014) は意味クラスを用いて格フレーム中の用例の汎化を行うことで対処している．我々は分散表現と cosine 距離を用いることでカバレッジの問題 に対処している。また，我々はそれぞれの述語と格フレームに対して事例の分散表現の平均べ

表 4 「オープンしてる」の格フレーム例

^{3}$ https://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html

 }^{4}$ http://www.gsk.or.jp/catalog/gsk2018-b/

クトルを導入することで, 格フレーム中の統計情報を汎化し, 解候補削減にも使用している.

## 2.3 解候補削減

文間ゼロ照応に際して，いくつかの先行研究ではそれぞれに解候補削減の基準を設定してい る. Sasano and Kurohashi (2011), Hangyo et al. (2013) は述語の複数の格を同時に推定してお り，述語が含まれる文より 3 文前までに出現する格要素の先行詞候補をすべて含めている． 3 文 より前の文にも先行詞は出現しうるが， Hangyo et al. (2013) は NTC の述語に対する格要素の うち $82.9 \%$ が 3 文中に出現すると報告した. Imamura et al. (2009) は述語の複数の格をそれぞ れ独立に推定しており，一文前までに現れる述語の格要素として選ばれた名詞のみを解析の対象としている。この制限によって，NTC 中，何も制限のない状態では平均 102.2 語の名詞を解候補としなければならなかったところを平均 3.2 語まで抑え， ゼロ代名詞の格要素のうち $62.5 \%$ をカバー出来たと彼らは報告している.

## 3 モデルと素性

## 3.1 モデル

解析対象述語 $p$ が含まれる文を $S_{0}$ とし， 入力文書 $t$ に含まれる $S_{0}$ から $h$ 文前までの文を それぞれ $S_{-1}, S_{-2}, \cdots, S_{-h}$ とする. $S_{0}$ から $S_{-h}$ までに含まれるすべての名詞の集合を $E_{p}=$ $\left.\{e_{1}, e_{2}, \cdots, e_{n}\right.\}$ とする. これらに加えて『照応なし』または『外界照応』を意味する $e_{n o n e}$ を $E_{p}$ に追加する。述語 $p$ に対応する京大格フレーム中の格フレーム群を $C F_{p}=\left.\{c f_{1}^{p}, c f_{2}^{p}, \cdots, c f_{m}^{p}\right.\}$ とする．1つの格フレーム $c f_{l}^{p}$ には，それぞれの格 $c \in\{$ ガ格, ヲ格,二格 $\}$ に対応する 3 つの 格スロットがあり， $E_{p}$ 中に含まれるいずれかの名詞がそれぞれの格スロットに対応する格要素 である。格スロットと格要素の対応付けを $a=\left.\langle\right.$ ガ格 $: e_{i}$, ヨ格 $: e_{j}$, 二格 $\left.: e_{k}\right.\rangle$ とする. 述語項構造候補を $\left(c f_{l}^{p}, a\right)$ とし，これを表現する素性べクトルを $\boldsymbol{f}\left(c f_{l}^{p}, a, t\right)$ とする. このモデルの出力は以下の式 (1) で表せる。訓練時にはパラメータ $\boldsymbol{w}$ が正例のスコアが負例のスコアよりも大 きくなるように学習され，テスト時には最適な格フレームと格要素の組合せを選択するために 用いられる. このモデルは, Hangyo et al. (2013)のモデルをべースとしている.

$
c f_{l}^{p *}, a^{*}=\underset{c f_{l}^{p}, a}{\operatorname{argmax}} \boldsymbol{w} \cdot \boldsymbol{f}\left(c f_{l}^{p}, a, t\right)
$

## 3.2 素性

素性ベクトル $\boldsymbol{f}\left(c f_{l}^{p}, a, t\right)$ は以下 5 タイプの素性の組合せからなる: ベースモデル素性, 格要素分散表現, 述語分散表現, 格フレーム内平均ベクトル (MVC), 文脈ベクトル. 我々はランキ ング SVM と FNNを比較するが，ランキング SVM はベースモデル素性のみを使用し，その他

の素性は FNNでのみ用いる。

ベースモデル素性 ベースモデル素性 $\phi_{B M F}$ の各要素は実数かバイナリ値である. ベースモデ ル素性 $\phi_{B M F}$ は Sasano et al. (2008) の確率的格解析モデルから得られる表層の係り受けの確率 と Hangyo et al. (2013) が提案する素性群からなる. Hangyo et al. (2013)の素性は格フレーム 素性, 述語素性, 文脈素性の 3 種類からなる。例えば，ある格要素がその格フレームの格スロッ トに埋まるかどうかの確率は格フレーム素性の一つである. 付録 A に Hangyo et al. (2013)の 素性の一覧を示す。

格要素分散表現 格要素分散表現 $\phi_{e}$ は各格 $c$ の格要素 $e_{c}$ に対応する 3 つの分散表現から構成 される。語の分散表現を生成するモデルとしては word2vec (Mikolov, Chen, Corrado, and Dean 2013)を使用した ${ }^{5}$.

述語分散表現 述語分散表現は word2vec を使って生成された解析対象述語の単語分散表現で ある.

格フレーム内平均ベクトル (MVC) 表 4 に示すように京大格フレーム内では，述語 $p$ に対す るそれぞれの格フレーム $c f_{l}^{p}$ は各格 $c$ に対応する単語リストから構成される. 例えば, 「オー プンしてる:動 1 のガ格には『店』, 『カフェ』,『レストラン』などが格納されている. $W_{c f_{l}^{p}(c)}$ を格フレーム $c f_{l}^{p}$ と格 $c$ に対応して京大格フレーム中に出現する格要素の全体とする. 例えば

$\phi_{w}$ を語 $w \in W_{c f_{l}^{p}(c)}$ の分散表現ベクトル, $\operatorname{count}\left(c f_{l}^{p}, c, w\right)$ を語 $w$ が格フレーム $c f_{l}^{p}$ の格 $c$ の 格要素として出現する回数とする. この時, 格フレーム内平均ベクトル $(\mathrm{MVC}) \bar{\phi}_{c f_{l}^{p}(c)}$ は, 格フ レーム $c f_{l}^{p}$ 中の各格 $c$ の分散表現ベクトル $W_{c f_{l}^{p}(c)}$ の重み付き平均として計算される.

$
\bar{\phi}_{c f_{l}^{p}(c)}=\frac{\sum_{w \in W_{c f_{l}^{p}(c)}} \operatorname{count}\left(c f_{l}^{p}, c, w\right) \cdot \phi_{w}}{\sum_{w \in W_{c f_{l}^{p}(c)}} \operatorname{count}\left(c f_{l}^{p}, c, w\right)}
$

例えば表 4 において，格フレーム「オープンしてる:動 $1 」$ はガ格に『店』を 129 回取ってい

$\bar{\phi}_{c f_{l}^{p}(\text { ガ) }}, \bar{\phi}_{c f_{l}^{p}(\exists)}, \bar{\phi}_{c f_{l}^{p}(二)}$ を結合して $\bar{\phi}_{c f_{l}^{p}}$ を生成する。 $\bar{\phi}_{c f_{l}^{p}}$ を使って, $a$ と $c f_{l}^{p}$ の関連（選択選好）を測り，尤もらしい組合せを探索する。なお我々は，MVCを照応解析，解候補削減の両方で使用する.

文脈ベクトル 文脈ベクトル $c_{c f_{l}^{p}, a, t}$ はローカルアテンション機構付き RNN の出力である. こ

の RNN は解析対象述語を含んだ文とその前方 $h$ 文を受け取り，対象述語に対する文脈をモデ リングする．図 1 の左下部分がこれに該当する。 $\operatorname{Enc}\left(s_{i}\right)$ を， $S_{-h: 0}$ 中の $i$ 番目の語 $s_{i}$ を入力と して与えられた時の RNNエンコーダの出力する隠れ状態とする。この隠れ状態は RNNが読み 达んだ文中の語と同じ数だけ存在し，各語と一対一に対応する RNN の出力である． $a_{t}(\cdot)$ は一般的なアテンション重みを表し, $\operatorname{score}(\cdot)$ には訓練データから学習される複数の重みパラメータ を使用した， Local($\cdot$) はローカル重みを表し，これを導入することで文全体を散漫と注視する のを防ぎ，局所的な一部分のみに着目させる． Len $\left(S_{-h: 0}\right)$ は入力文 $S_{-h: 0}$ 中の語数を表し, $\boldsymbol{v}_{\boldsymbol{p}}$, $\boldsymbol{W}_{p}$ は訓練データから学習されるパラメータである.

我々のアテンション機構モデルは他の素性ベクトルの連結を手がかりとしてアライメント重 みべクトルを推論する。この重みべクトルはアテンション機構が文中のどの語へと注意を向け るかという情報に対応する。図 1 の左上部分がこれに該当する. 文脈ベクトル $c_{c f_{l}^{p}, a, t}$ はこの アライメント重みベクトルに基づくエンコーダの出力 $\operatorname{Enc}\left(S_{-h: 0}\right)$ の重み平均として計算する.図 1 右側の Context embedding がこれに該当する。

$
\begin{aligned}
& c_{c f_{l}^{p}, a, t}=\sum_{s_{i} \in S_{-h: 0}} a_{t}\left(s_{i}\right) \operatorname{Local}\left(s_{i}\right) \operatorname{Enc}\left(s_{i}\right) \\
& a_{t}\left(s_{i}\right)=\frac{\exp \left(\operatorname{score}\left(\left[\phi_{B M F} ; \phi_{e} ; \bar{\phi}_{c f_{l}^{p}}\right], \operatorname{Enc}\left(s_{i}\right)\right)\right)}{\sum_{s_{j}} \exp \left(\operatorname{score}\left(\left[\phi_{B M F} ; \phi_{e} ; \bar{\phi}_{c f_{l}^{p}}\right], \operatorname{Enc}\left(s_{j}\right)\right)\right)} \\
& \operatorname{Local}\left(s_{i}\right)=\exp \left(-\frac{\left(i-\operatorname{Len}\left(S_{-h: 0}\right) \cdot p\right)^{2}}{2 \sigma^{2}}\right) \\
& p=\operatorname{sigmoid}\left(\boldsymbol{v}_{\boldsymbol{p}}{ }^{\mathrm{T}} \tanh \left(\boldsymbol{W}_{\boldsymbol{p}}\left[\phi_{B M F} ; \phi_{e} ; \bar{\phi}_{\left.c f_{l}^{p}\right]}\right]\right)\right)
\end{aligned}
$

直感的には，この機構は我々のモデルがアライメントベクトルを介して述語から離れた長文脈中の語を格要素として識別することを可能にしている。格フレームがその述語から離れた名

図 1 アテンション付き RNN 追加 FNN モデルのネットワーク構造（モデル F3）
詞を格要素として取るようなケースに対して，我々はこのメカニズムが直接的にその現象をモ デル化することを期待している.

## 4 格フレーム中の分散表現を利用した解候補削減

ゼロ代名詞となる項の先行詞候補を網羅的に探索すれば, 列挙される述語項構造候補 $\left(c f_{l}^{p}, a\right)$ の集合は爆発的な規模となり，探索範囲は非実用的なものとなる。我々は Sasano and Kurohashi （2011）の基準を参考に， ゼロ代名詞となる項の先行詞候補は述語が含まれる文より 3 文前まで のみを範囲として解候補削減を行っている。つまり 3.1 節の $h$ を 3 とした. BCCWJ 中の格要素の分布は表 1 のようになっているため, この制限によってゼロ代名詞の $89.16 \%$ をカバーでき ることがわかる.

$n$ と $m$ をそれぞれ $E_{p}$ 中の名詞句数, 対象述語の格フレーム数とすると, この制限を用いて もなお, 候補の数は $O\left(n^{3} m\right)$ となり, BCCWJ 中の各動詞に対して約 20,000 個の述語項構造候補が出現する.

## 4.1 述語内平均ベクトル (MVP)

我々は, 格フレーム候補と格要素候補の組合せについて 3.2 で提案した MVC と, 述語内平均ベクトル $(\mathrm{MVP}) \bar{\phi}_{p(c)}$ の二種類の平均ベクトルを使用した効率的な解候補削減手法を提案す る. MVP は各格 $c$ について述語 $p$ に対応するすべての格フレームに渡って $\operatorname{MVC} \bar{\phi}_{c f_{l}^{p}(c)}$ の重み 平均を取ったべクトルである。重みは京大格フレーム中の各格フレームの頻度に基づく，我々 の解候補削減手法は Ouchi et al. (2015)の山登り法を参考に, 格フレーム候補と格要素候補の 組合せ数を削減する。この解候補削減は計算効率のみを目的とするのではなく, 訓練データ中 の正例・負例のデータ数の非対称性の解消も目的とする。我々のケースでは, 1 つの正例に対し て20,000の負例が生じるため, これに対処している，前述したように，我々は訓練データ中の ほとんどの負例は訓練に貢献しないと考え，解候補削減を行う。

## 4.2 アルゴリズム

我々の提案する解候補削減手法をアルゴリズム 1 に示す。 ある述語 $p$ には, 文脈に対するそ の語義の曖昧性を反映した複数の格フレーム $C F_{p}$ が存在する. それぞれの格フレーム $c f_{l}^{p}$ に対応する格フレーム内平均ベクトル $\bar{\phi}_{c f_{l}^{p}(c)}$ はその格フレームの選択選好を反映しているため, こ れと格要素候補ベクトル $\phi_{e}$ の距離が近いほど，その格要素候補 $e$ は対象格フレーム $c f_{l}^{p}$ の格ス ロット $c$ に埋まりやすいと言える。このアルゴリズムは与えられた述語に対して，二つのべク トル間の距離が最も近くなる格フレームと格要素候補の組合せを探索する。しかしながら, 京大格フレームは自動的手法で構築されているので，本来別々の格フレームが一つの格フレーム

## アルゴリズム 1 解候補削減アルゴリズム

## Input:

a predicate $p$ to be analyzed,

a set of case frames $C F_{p}$ corresponding to $p$

a set of cases $C=\{$ ガ格, Э格,二格 $\}$,

a set of nouns $E_{p}$ appearing within the $h$ preceding sentences.

## Output:

optimal $c f_{l}^{p *}, e_{c}^{*}$ for the analyzed $p$ and each case $c \in C$.

for each case $c \in C$ do

$e_{c}^{(0)} \Leftarrow \underset{e \in E_{p}}{\operatorname{argmax}} \cos \left(\bar{\phi}_{p(c)}, \phi_{e}\right) \quad \triangleright \phi_{e}$ is the vector of the argument candidate $e . \bar{\phi}_{p(c)}$ is the MVP

end for

$t \Leftarrow 0$

repeat

for each case $c \in C$ do

$e_{c}^{(t+1)} \underset{e_{c} \in E_{p}}{\operatorname{argmax}} \operatorname{PSEUDO-SCORE}\left(c f^{(t)}, e_{c}\right)$

end for

$c f^{(t+1)} \underset{c f_{l}^{p} \in C F_{p}}{\operatorname{argmax}} \sum_{c \in C} \operatorname{PSEUDO-ScORE}\left(c f_{l}^{p}, e_{c}^{(t+1)}\right)$

$t \Leftarrow t+1$

until $e_{c}^{(t)}=e_{c}^{(t+1)}$ and $c f^{(t)}=c f^{(t+1)}$

return $c f_{l}^{p *} \Leftarrow c f^{(t)}, e_{c}^{*} \Leftarrow e_{c}^{(t)}$ for each case $c \in C$

function $\operatorname{PSEUDO-SCORE}\left(c f_{l}^{p}, e\right)$

score $\Leftarrow 0$

for each case $c \in C$ do
$\quad$ score $\Leftarrow$ score $+P\left(p, c f_{l}^{p}, e, c\right)+\cos \left(\bar{\phi}_{c f_{l}^{p}(c)}, \phi_{e}\right)+0.5 \times d_{p, e} \quad \triangleright \bar{\phi}_{c f_{l}^{p}(c)}$ is the MVC

end for $\quad \triangleright d_{p, e}$ is the distance between $p$ and $e$

return score

end function

としてまとめられてしまっている，あるいは同じ一つの格フレームが別々に分断されてしまっ ている可能性がある。この問題に対処するために，我々は提案する解候補削減手法に二種類の 平均ベクトルを導入した，MVC はある述語に対する格フレームの違いを区別し，MVP は格フ レームの違いを考慮せず述語のみを考慮する。

まず初期値として各格 $c \in C$ に埋まりうる格要素 $e_{c}^{(0)}$ を仮に定める（行 1-3). MVP $\bar{\phi}_{p(c)}$ と 格要素候補の分散表現 $\phi_{e}$ とのコサイン距離を求め, これが最小となる, すなわち対象述語に 埋まる格要素群に最も近い格要素を初期格要素とする。この段階では, MVP を使用すること で特定の格フレームではなく述語のみを考慮している。格フレーム候補と初期格要素の組合せ を入力とした PSEUDO-SCORE（行 17-26）の返すスコアに基づいて, これらの初期格要素に対 して最適な格フレーム $c f^{(0)}$ を格フレームの初期値とする（行 5)．PSEUDO-SCORE については Sasano et al. (2008)を参考に, 我々は以下の 3 つの要素を考慮した. (1) 京大格フレームに基づ く（述語，格フレーム，深層格，格要素）の組合せの出現確率, (2) 格フレーム内平均ベクトル (MVC) と格要素候補の間のコサイン類似度, および $(3)$ 述語と格要素候補の間の文数, である.

このスコアの係数は経験的に定めた．以降，格フレーム $c f^{(t)}$ を固定して格要素 $e_{c}^{(t+1)}$ を探索す るフェーズ（行 8-10）と格要素 $e_{c}^{(t+1)}$ を固定して格フレーム $c f^{(t+1)}$ を探索するフェーズ（行

12）を繰り返し，格フレームと格要素が更新されなくなればループを抜ける（行 6-15）。この アルゴリズムでは返り値として最もスコアの高い格フレームと格要素の組合せを返すが，実際 にはループ中の毎回の探索過程で計算した格要素候補のうち 3 ベストまでを候補として保存す る。最終的な出力は探索の過程で保存されたすべての格フレームと格要素の組合せである。提案した解候補削減手法により，約 $70 \%$ の正解を候補に残しつつ，約 1,000 分の 1 まで解候補を 削減することができた。

## 5 評価実験

## 5.1 ゼロ照応解析手法

学習手法にはランキング SVM とFNNを使用しそれぞれ比較した. 先行研究 (Sasano and Kurohashi 2011; Hangyo et al. 2013) と同様に，まず文書全体に対して形態素解析，固有表現抽出，構文解析を行う。これには JUMAN Ver.7.016，KNP Ver.4.16 ${ }^{7}$ ， CaboCha Ver.0.6988用 いた。

S0 提案する解候補削減を行い，ベースモデル素性を使用して SVM モデルを実装した。ラン キング学習には SVM ${ }^{\text {rank }}$ (Joachims 2006) を使用した. カーネルは線形である. このモデルは 正例と負例から識別関数を学習し, この識別関数が最も高い解候補を一つ出力する.

S0_each 提案する解候補削減手法の効果を評価するためには，解候補削減を用いないモデル と比較することが自然である。しかしながら，前方 3 文までに先行詞候補の探索範囲を制限し ても，述語一つあたりに対して 20,000 の述語項構造候補が出現するため，訓練時の計算複雑性 は現実的ではない。これは複数の格を同時推定するために，格要素候補同士の組合せを考慮し ていることが原因である。そこで我々は，それぞれの格を独立に解析することで，解候補削減 が必要ない単一格解析手法を用意した。この手法では，3つの格に対してそれぞれ別のSVM モ デルを用意し，これらを独立に学習させて，評価の際は各格に対応するモデルのそれぞれの出力 を組合せて最終的な出力とした。この時，述語一つあたりに対して，各格約 200 の格フレーム と格要素の組合せが出現し, 我々の提案手法に比べて計算量は膨大ではあるものの, 計算可能 な範囲である。この各格に対して独立のSVM を用いて学習を行ったモデルを S0_eachとする。 $\mathrm{SO}^{\prime}$ 複数格の同時推定のために我々は単純な解候補削減手法を用意した。この手法では, 解析対象述語に近い方から先行する $n$ 個の名詞のみを格要素候補として選ぶ。この時の各格に対す
^{6}$ http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN

7 http://nlp.ist.i.kyoto-u.ac.jp/index.php?KNP

8 https://taku910.github.io/cabocha/
}
表 5 候補削減・素性の組合せ

る格要素候補数は，提案手法と同程度の格要素の組み合わせ数となるよう調整した値であり，今回は $n=5$ とした. この単純な解候補削減手法を適用した上でSVM を用いて学習を行ったモ デルを $\mathrm{S}^{\prime}$ とする。

F0 ベースモデル素性を使用してFNNモデルを実装した．FNNの設計に際しては Matsubayashi and Inui (2017) を参考に，誤差関数にはソフトマックスクロスエントロピーを用い，各隠れ層 には batch 正則化と ReLU 活性化関数を使用した.

F1 格要素候補の分散表現と解析対象述語の分散表現を素性に追加することで，F0を拡張した.

F2Ｆ１の述語分散表現を格フレーム内平均ベクトル (MVC) に置き換えた。

F3 F2に文脈ベクトルとして RNN の出力を追加した．RNN には GRUを使用した．図 1 に F3の全容を示す.

表 5 にそれぞれの素性組合せを示す. なお，MVP は入力素性として使用していない.

## 5.2 データセット

実験データとして, 『現代日本語書き言葉均衡コーパス』(BCCWJ) (Maekawa et al. 2014)の コアデータ9を使用した，BCCWJ のコアデータ約 2,000 文書に対しては，人手による述語項構造と照応関係が付与されており, これは新聞, 雑誌, 書籍, 白書, Yahoo!知恵袋, Yahoo!ブログ の 6 ドメインにまたがっている。ドメインの偏りに注意し，全体の約 $4 / 5$ を訓練用デー夕，約 $1 / 20$ を開発用データとし, 残りを評価用データとして使用した. 複数の格要素が同じ対象を指示している場合 (共参照), 本研究ではコーパスに付与された共参照情報をもとに出力を評価し,正しい照応先と共参照関係にある先行詞のいずれかを対応付けることが出来ていたならば正解 とした。本研究で対象とした述語は動詞のみで, 形容詞, 事態性名詞は扱っていない. この理由として, 動詞のゼロ照応解析において必要とされる手がかりと, 形容詞や事態性名詞のゼロ 照応解析において必要とされる手がかり，格要素と述語の出現傾向が異なるという点が挙げら
^{9}$ http://pj.ninjal.ac.jp/corpus_center/bccwj/
}

れる，松林，吉野，林部，中山 (2015) が示しているように，例えば，形容詞はニ格やチ格をほ とんど取らない。また，事態性名詞は他の述語を項に取る場合があり，格要素候補には名詞以外の品詞も含めて解析を行う必要がある。このため, 述語の種類を考慮しない単純な拡張によ る同時解析は解析精度の低下を招くと考えた。

## 6 結果と議論

## 6.1 結果

複数格同時推定の効果 表 6 は BCCWJにおけるゼロ照応解析の実験結果である．S0_each と S0 を比較すると，多くの列において，S0 がS0_each より高い精度を示していることがわかる。 ただし文間ガ格，全体ガ格の列においては，S0_each が S0より高い精度を示している。これは 単格の推定では，比較的精度の高いガ格の推定が他の格における誤りから影響を受けないため,複数格同時推定の時より値が良くなっているのだと考えられる。一方で，二格，ヲ格について は，S0_each は他の格の情報が使えないため比較的精度が低く, 全体としての精度も, 複数格同

定を行い，統計的有意差を確認した。

また，候補削減を行わない単一格解析の FNN モデルも用意し同条件で訓練し，テストを行っ たものの学習が収束せず，極めて低い精度を示した。このことからも，侯補削減の重要性が示唆される。

解候補削減の効果 表 6 で， $\mathrm{S} 0^{\prime}$ と $\mathrm{S} 0$ を比較すると，すべての列において， $\mathrm{S} 0$ が $\mathrm{S} 0^{\prime} よ り$ 精度

した。このことから我々の提案した解候補削減手法がうまく機能しているといえる.

分散表現と MVC の効果 ベースラインモデル (F0) に格要素と述語の分散表現を導入すると (F1), 全体の精度が低下した。しかしながら，述語の分散表現を MVCに置き換えることで $(\mathrm{F} 2)$

表 6 BCCWJにおける結果（F 値）

} & \multicolumn{4}{|c|}{ 文内 } & \multicolumn{4}{|c|}{ 文間 } & \multicolumn{4}{|c|}{ All } \\

精度は上がり，F0を上回っている。これは述語の情報 (F1)の代わりに，格フレーム情報を使 う $(\mathrm{F} 2)$ 方がより効果的であることを示している.

文脈ベクトルの効果ローカルアテンション付き RNN モデルを使用し文脈情報を導入すること で(F3)，F2に比べて文内・文間ともに改善が見られた。これは，モデルが前方文脈情報を効率的に学習できていることを示唆している，F3 は全体の精度においては S0 に劣っているが，文間照応においては様々な素性を入力としたことにより，S0より高い精度を示している．

優先度学習の有効性様々な素性を使用したFNN モデルと比較して，ランキングSVM を用い たS0 のほうが全体では最も良い精度を示している。磯崎, 賀沢, 平尾 (2006), 萩行, 河原, 黒橋 (2014) は日本語ゼロ照応解析に際して, 優先度学習を用いることは精度向上に効果があると 指摘している。これは一般にゼロ照応解析がマルチインスタンス学習の枠組みで設定されてい ることによる。マルチインスタンス学習では，一つの実体が複数のインスタンス（素性ベクト ル）を持ち，各実体が少なくとも一つの正例インスタンスを持つか否かはわかるがどのインス タンスが正例かはわからないという設定で学習を行う。マルチインスタンス学習のタスクに対 して普通の二値分類を行った場合，比較的解きやすい実体に含まれる正負インスタンスと解き にくい実体に含まれる正負インスタンスを区別なく同時に学習することになってしまい，精度 の悪化を招くと考えられる。

我々は Hangyo et al. (2013), 萩行 他 (2014) 同様, ランキング SVM を用いることでS0 には 優先度学習を取り入れているが，今回使用した FNN モデルにはこれに類する複雑な処理を取 り入れておらず，述語すべてのそれぞれの組合せ候補に対して区別なく二值分類の学習を行っ ている。その結果, 比較的解きやすい述語の多い文内においては S0 が高い精度を示し, 比較的解きにくい述語の多い文間においてはより多くの素性が与えられた FNN モデルが高い精度を 示している，そのため，BCCWJにおいては文間ゼロ照応より文内ゼロ照応の事例数のほうが 多いことから，全体の精度としては S0 が上回っている。これは，より多くの素性を与えられた FNN モデルがより難しい述語に適合しようとして簡単な述語に対する精度を下げてしまった可能性がある。対策として，FNN モデルにもRankNet などの優先度学習を取り入れることで文内の精度が改善される可能性がある。

## 6.2 議論

候補削減の成功例候補削減の成功例として BCCWJ の QA 文書である『00020_A_OC08_00002』 の 2 行目に出現する「知ってたら」を解析対象述語とした際の候補リストを表 7 に示す.

電動歯ブラシの替えブラシって高い！ですよね！？

家計に苦しいので復活\&長持ちする方法知ってたら教えて下さい!
表 7 候補削減の成功例

ガ， ヨ，二格に埋まる格要素のうち「知ってたら」と直接係り受け関係にある名詞はない。一見すると「方法」が「知ってたら」に係っているように思えるが，BCCWJによれば，「方法」 は「教えて下さい！」に係っている，従ってここではガ格， ヨ格にゼロ代名詞が存在し，ガ格 の格要素は外界二人称，ヲ格は「方法」，二格の格要素は照応なしであると定める.

京大格フレームには動詞「知る/しる テ形+る/る」の格フレームが 32 種類ある. 解析対象述語「知ってたら」を含む文から 3 文前まで（実際には 2 行目の述語なので， 1 文前まで）に含 まれる名詞は「電動」,「歯」,「ブラシ」,「替え」,「ブラシ」,「家計」,「復活」,「長持ち」,「方法」の 9 個あり，これらが格要素候補となる。これらの名詞 9 個に加えて, 「外界照応 or 照応 なし」を示す「None」を含む 10 個が実際の候補削減の対象となる格要素候補となる。これらの 組合せは, $32 \times(10 \times 9 \times 8+3 \times 9+1)=23,936$ 候補となる (「None」は重複を許容するため). これに対して我々の提案した候補削減を施し， 23 個まで削減した結果が表 7 である. 表 7 は正

補削減ができている.

成功の理由を考察する．京大格フレーム中の「知る/しる テ形+る/る:動 13」のヲ格の行で 最も出現数が多い語は,「方法」が 715 回,「術」が 207 回,「使い方」が 144 回,「コツ」が 111 回, 「仕方」が 88 回である。これらに対して正解のヲ格である「方法」は MVC との cosine 距離, 出現確率によって高いスコアを割り当てられている.「知る/しる テ形+る/る:動 13」のガ 格の行で最も出現数が多い語は，「方」が 2 回，「司祭」が 2 回，「人」が 2 回，他 22 種の語が 1 回となっていて, 不正解のガ格である「歯」,「復活」,「家計」,「方法」は候補リスト中に出現 してはいるものの，比較的低いスコアを割り当てられている。

候補削減の失敗例 候補削減の失敗例として BCCWJ の雑誌文書である『00016_A_PM12_00020』 の 3 行目に出現する「入ってくる」を解析対象述語とした際の候補リストを表 8 に示す.

## 17

創は倒れている棚倉を見ても、顔色を変えなかった。

生死を冷静に確認するように観察してから、礼拝堂の中に入ってくる。

ガ， ヨ，二格に埋まる格要素のうち「中」は「入ってくる」と直接係り受け関係にある。従って，

表 8 候補削減の失敗例

本来であればニ格には「中」以外埋まらないものと制限して候補削減を行う。しかし，BCCWJ のアノテーションによれば，「入ってくる」は「入って」と「くる」に分割され，「中に」は「く る」に係っているため，「入って」とは直接係り受け関係にないとされ，ゼロ代名詞とされてい る。ここでは BCCWJ のアノテーションに従って，ガ格，二格にゼロ代名詞が存在し， ガ格の 格要素は「創」，ヲ格は照応なし，二格の格要素は「中」であると定める.

京大格フレームには動詞「入る/はいる テ形+くる/くる」の格フレームが 24 種類ある. 解析対象述語「入ってくる」を含む文から 3 文前まで（実際には 3 行目の述語なので， 2 文前まで） に含まれる名詞は「 17 」,「創」,「棚倉」,「顔色」,「生死」,「確認」,「観察」,「礼拝」,「堂」,「中」の 10 個あり, これらが格要素候補となる。これらの名詞 10 個に加えて, 「外界照応 or 照応なし」を示す「None」を含む 11 個が実際の候補削減の対象となる格要素候補となる。これら の組合せは， $24 \times(11 \times 10 \times 9+3 \times 10+1)=24,504$ 候補となる（「None」は重複を許容する ため).これに対して我々の提案した候補削減を施し, 18 個まで削減された結果が表 8 である.

ため，候補削減としては失敗の例である。

京大格フレーム中の「入る/はいる テ形 + くる/くる:動 $3 」$ のガ格の行で最も出現数が多い語 は，「手」が 205 回，「男」が 61 回，「誰」が 55 回，「蜂」が 30 回，「彼」が 28 回である。これら に対して正解のガ格である「創」は我々の解析においては「創造」,「創作」などに近い一般名詞として捉えられてしまい，人名としての分散表現が与えられず，候補削減アルゴリズム中で 低いスコアが割り当てられて, 候補リストから漏れてしまっている。この候補削減失敗への対策としては，「創」を人名と判定し，人の意味を含む分散べクトルを割り当てるということが考 えられる。「入る/はいる テ形 + くる/くる:動 3$\rfloor$ の二格の行で最も出現数が多い語は，「中」が 17,328 回，「間」が 650 回，「内」が 361 回，「下」が 154 回，「奥」が 154 回となっていて，正解の 二格である「中」は比較的高いスコアを割り当てられて，候補リスト中にも出現が確認できる。 ドメイン別のゼロ照応解析の精度 我々は複数ドメインコーパスである BCCWJ 上で評価を 行っている。テスト事例に対する解析結果をドメインごとに表 9 に示す.

表 9 BCCWJ のドメインごとの実験結果の F 値

OW (白書), PN (新聞）は一文の語数が多く, 格要素候補の名詞も多数出現するため, 組合 せ候補数が増加する傾向にある。専門的な語や他のドメインでは出現頻度の低い述語が出現し やすい。しかし文法的には比較的正しい書き方がなされており，文意が取れないほどの省略は 少なく，直接係り受け関係にある格要素が多く存在する。また，表 2 に示した通り，ガ格ゼロ 照応のうち OW は $72 \%, P N$ は $51 \%$ が文内ゼロであり，直接係り受け関係にある格要素も比較的多く存在する。そのため, 我々の組合せを用いる解析手法では，他の格の直接係り受け関係 にある格要素を格フレーム選択の手がかりとすることで，他のドメインにおける精度と比較し て全体で高いスコアを示している。また, 多量の格要素候補に対しても提案候補削減が上手く 機能し精度の向上に貢献している。

PB (書籍)，PM（雑誌）は一文が短く，文法的に砕けた文が多く見られ，一読しただけでは文意が捉えきれないような省略が散見される。倒置表現や，表 2 に示した通り 3 文より前に格要素が出現することも多い。そのため, 他のドメインに比べて文間の精度は高いものの, 全体の 精度は低い. 特に PB, PM に関しては文書ごとに取り扱う題材や書き手に多様性があるため, ドメイン適応の手法を用いても精度の改善につながらない。我々の手法では格要素候補として 述語を含む文から 3 文前までの文中に出現する名詞のみを収集しているが，これをより広範囲 に広げることが対策として考えられる。また，使用する大規模格フレームを現在は Webコーパ スのみから構築しているが，より多くのドメインから構築することで, 多様な述語に対して適切な格フレームを選択することができると考えられる。その際, 爆発的に増加する格要素候補 と格フレーム候補の組合せに対して, 我々の提案する候補削減手法はより有効に働くものと予想される。

$\mathrm{OC}(\mathrm{QA})$ は文内，文間のガ格において高い精度が出ている。これは，QAにおけるガ格の多 くが一人称か二人称であり，他のドメインに比べて簡単なタスクとなっているためだと思われ る。一方，表 2 に示した通り OC は文間ゼロの比率が最も高く, 3 文より前に格要素が出現する ことも多いため, 全体の精度は最も低い，OCに出現する文は PB，PM 以上に文法的に砕けた 文が多く見られ，一読しただけでは文意が捉えきれないような省略が散見される。このドメイ ンにおけるゼロ照応解析の精度を上げるためには，書き手の交代や質問文であるか否かの OC に特有の素性や，文書全体の構造を手がかりとすることが必要だと考えられる．

OY（ブログ）はタイトルや箇条書き, メールアドレス, URL, 日時, 空白記号が多く出現し,書かれている内容も日記，政治ニュースに関する意見，技術的な説明文など様々である，我々 の手法はより細分化された大規模格フレームを組合せで用いているため，出現述語の表記ゆれ や助動詞の変化にも頑健で，他のドメインと比較して文内の全体において最も高いスコアが出 ている.

係り受け関係とゼロ照応解析の適合率の関係 我々の提案するモデルは複数の異なる格要素を 同時に同定する。その効果を見るために，我々はどの格がすでに係り受け解析によって埋まっ

ているかに基づいてテスト事例を分類した。表 10 はそれぞれの組合せにおける適合率である.列はすでに直接係り受け関係で埋められた格を示し，行はシステムによって埋められるべき格 を示す．例えば，『ガ格』行，『ヲ格』列の数字は，係り受け解析によって『ヲ格』の格要素が 与えられた上で, 『ガ格』の格要素を同定した適合率である.

直感的には，すでに直接係り受け関係で埋められた格が多いほど適合率は上がるものと予想さ れるが，『ガ格』の行で特に顕著なように，すでに直接係り受け関係で埋められた格が多いほど 適合率が下がる傾向が見られる場合もある。これは，今回使用している京大格フレームが Web 上の文における直接係り受け関係の情報のみを収集していて，ゼロ照応の情報はほとんど考慮 していないため，我々がゼロ照応解析を行うに際しては，その偏りの影響を受けているのだと 考えられる，例えば，実際の日本語文においては，ガヲニ格を取りうる述語であっても，『ガと ヲのみ直接係り受け関係で格要素が存在し，二格が省略されている文』と『ガヲニすべて直接係り受け関係で格要素が存在する文』では，前者のほうが多く出現し京大格フレーム中の用例 が充実している可能性がある。この時, 前者の文の出現によって京大格フレームに収録される のはガ格とヨ格のみが出現する格パターンの用例であり，後者の文の出現によって収録される のはガ格とチ格とニ格が出現する格パターンの用例であるため, 後者の格パターンが比較的ス パースになる。そのような偏りを持つ京大格フレームを解析に用いた結果，『ガ格』行『ヨ格』列は, 京大格フレーム中の豊富な用例を用いることができるため比較的適合率が高く, 一方で,『ガ格』行『ヨ格, 二格』列は，用例がスパースであるため比較的適合率が低くなる，と考えら れる。従って, 解析に際して直接係り受け関係の格要素のみでなくゼロ照応の格要素も考慮し た格フレームを用いたならば，直感に反せず，すでに直接係り受け関係で埋められた格が多い ほど適合率は上がるものと予想される.

また，特に下線付きのセルが事例数が多いにも関わらず適合率が低いため, これらの下線付 きセルの述語に関するパフォーマンスを改善することが，ゼロ照応解析全体の精度を上昇させ ることに対して重要である.

表 10 係り受け関係とゼロ照応解析の関係

} & \multicolumn{7}{|c|}{ すでに直接係り受け関係で埋められた格 } \\

NAIST テキストコーパス (NTC) による実験表 3 に示した通り, 日本語文間ゼロ照応を取 り扱う研究としては Imamura et al. (2009), Sasano and Kurohashi (2011), Hangyo et al. (2013), Shibata and Kurohashi (2018) が挙げられる。このうち我々が対象とする文内・文間のゼロ照応 を行っているのは Sasano and Kurohashi (2011)のみであり，かつ彼らは NTC 上の評価実験で文内・文間の state-of-the-art を達成している，我々は NTC を用いて評価実験を行うことで，本稿 の提案手法を Sasano and Kurohashi (2011)と比較した。表 11 はその実験結果を示す. Sasano and Kurohashi (2011)の設定と揃えるために，ここで対象とした述語は動詞と形容詞とする.

我々の提案手法は比較的精度が出にくい文内のヲ格, ニ格において Sasano and Kurohashi (2011) より高い精度を示している。これは我々が使用する京大格フレームが Sasano and Kurohashi (2011) の使用した版より巨大かつ細分化されているため, 解析対象述語の語彙により適した格 フレームを選ぶことで，適切な格要素を同定できているのだと考えられる。

一方で，文内，文間のガ格においては Sasano and Kurohashi (2011)より低い精度を示してい る。これは Sasano and Kurohashi (2011)が格要素候補に対して，100万の名詞を 2,000 個の意味クラスに分類した結果を使用し，汎化することで格フレームのカバレッジを補っている効果 によるものと思われる．我々の手法は word2vec を使用した分散表現同士の cosine 距離を使用 することで京大格フレームの汎化を行っているが，格要素の詳細な分類が述語に対してより重要な意味を持つガ格のゼロ照応解析においては， Sasano and Kurohashi (2011)の手法のほうが 優れていると考えられる。ただしこれらの手法は排他的でなく, 同時に使用することも可能で あるため, 双方を候補削減, ゼロ照応解析の素性として格ごとに使い分けることでさらなる精度の向上が期待できる。

『Project NEXT 述語項構造タスク』との比較 松林 他 (2015) は複数の述語項構造解析器の 評価を BCCWJ 上で行っている。ただし彼らは NTC 上で解析器の訓練を行い，BCCWJ の一部データにおいてテストをしているため，我々の提案手法との厳密な比較はできない. しかし できる限り条件を揃えて，彼らのスコアと S0 を比較した，表 12 にその結果をまとめる。松林他 (2015) は BCCWJ の以下 22 文書 1,625 文をテストデータとして使用している.
- OW: OW6X_00000 OW6X_00010 の 2 記事
- OY: OY01_00082 OY04_00001 OY04_00017 OY04_00027 OY10_00067 OY12_00005 の 6 記事

表 11 NTC を用いた実験結果の F 值

} & \multicolumn{4}{|c|}{ 文内 } & \multicolumn{4}{|c|}{ 文間 } & \multicolumn{4}{|c|}{ All } \\

表 12 『Project NEXT 述語項構造タスク』の指定する BCCWJ 文書を用いた実験結果の F 値

- PB: PB12_00001 PB2n_00003 PB40_00003 PB42_00003 PB50_00003 PB59_00001 の 6 記事
- PM: PM12_00006 PM24_00003 PM25_00001 PM26_00004 の 4 記事
- PN: PN1b_00002 PN1c_00001 PN1d_00001 PN3b_00001 の 4 記事

S0 の訓練にはこれらを除くすべての BCCWJデータを使用した。松林 他 $(2015)$ が取り上げて いる解析器は松林, 乾 (2014)の解析器, Yoshino et al. (2013)の解析器, KNP (笹野, 河原,黒橋, 奥村 2013)の 3 種類で, これらを様々な条件下で比較している。ここでは BCCWJにお いて述語項構造をアノテーションされているすべて動詞から「れる」,「せる」,「できる/出来る/可能」,「てある」を伴うものを除き, Yoshino et al. (2013)の解析器には係り受け情報を与え, KNP には-anaphora モードでベストアラインメントを用いて解析を行った結果のスコアである.具体的には松林 他 (2015) 中の表 50, 表 138, 表 295 の数字をここでは引用している. たたし,我々の提案手法では京大格フレームとの整合性を保つために，BCCWJ のアノテーションに基 づいて，補助動詞「てあげる，てもらう，など」，可能「できる，れる，られる」，受け身「れ る，られる」，使役「せる，させる」，願望「たい」を伴う動詞を除いている，そのため，松林他 (2015) の示す各格の事例数とは少し数字が異なる。表 12 中の数字は我々の基準における例数である。また, 松林, 乾 (2014)の解析器, Yoshino et al. (2013)の解析器, KNP は直接係 り受け関係にある格要素の解析も同時に行っている. KNP は述語位置の判定も行っていて, 一部の動詞については述語位置を誤って判定しているため, その分だけ精度が下がっている.

結果を比較すると, 文内において我々の提案手法は他の解析器に大きく差を付けて高い精度 を示している。この理由として, 提案手法においては直接係り受け関係にある格要素の情報を 使用しているため, より正確に格フレームを選べている点が挙げられる。一方で, 文間のガ格で Yoshino et al. (2013) の解析器のほうが精度が高いのは, 彼らの解析器は格ごとに解析を行って いるため, S0_each 同様, 他の格の解析エラーの影響を受けないためであると思われる．また，文間のガ格で KNP の精度が高いのは KNP が Sasano and Kurohashi (2011) と同様に意味クラ スを使用した文間照応を行っている効果によるものだと思われる.

## 7 結論

本論文では分散表現で平均化した格フレームによる解候補削減を用いた日本語文内・文間ゼロ 照応モデルを提案した．提案した解候補削減アルゴリズムによって大規模な複数ドメインコー パスによる効率的な訓練を可能とした。また, ローカルアテンション機構付き RNN と FNNを 組合せて使用し様々な素性を取り入れることで, 文間ゼロ照応解析においてより高い精度が出 ることを確認した。

我々の今後の課題はタスクの対象を形容詞, 事態性名詞にまで拡張し, より実用的なモデル を構築することである. また, 対象格要素候補の名詞が先行文脈中の述語にどの格の格要素と して取られたかの情報を, 我々の提案した解候補削減アルゴリズムに取り入れることで, より良 い解候補削減が行えるよう改善する予定である。また, 解候補削減を行わない場合, 提案 FNN モデルの学習が発散することから, 本研究で提案したニューラルネットを用いた解析アーキテ クチャそのものに改善の余地があると考えられる.

## 謝 辞

Hangyo et al. (2013) に関して詳細な情報をご教示くださった萩行正嗣氏, Ouchi et al. (2017) の全体像についてご教示くださった大内啓樹氏に厚く御礼申し上げます。本論文の内容の一部 は, The 32nd Pacific Asia Conference on Language, Information and Computation, 第 5 回自然言語処理シンポジウム（第 238 回自然言語処理研究発表会）で発表したものである (Yamashiro, Nishikawa, and Tokunaga 2018; 山城, 西川, 徳永 2018). The authors would like to thank Enago (www.enago.jp) for the English language review.

## 参考文献

Chen, C. and Ng, V. (2016). "Chinese Zero Pronoun Resolution with Deep Neural Networks." In $A C L$, pp. $778-788$.

Hangyo, M., Kawahara, D., and Kurohashi, S. (2012). "Building a Diverse Document Leads Corpus Annotated with Semantic Relations." In PACLIC, pp. 535-544.

Hangyo, M., Kawahara, D., and Kurohashi, S. (2013). "Japanese Zero Reference Resolution

Considering Exophora and Author/Reader Mentions." In EMNLP, pp. 924-934.

萩行正嗣, 河原大輔, 黒橋禎夫 (2014). 外界照応および著者・読者表現を考慮した日本語ゼロ

照応解析. 自然言語処理, 21 (3), pp. 563-600.

林部祐太, 河原大輔, 黒橋禎夫 (2015). 格パターンの多様性に頑健な日本語格フレーム構築. 情
報処理学会第 224 回自然言語処理研究会, NL-224-14, pp. 1-8.

He, L., Lee, K., Lewis, M., and Zettlemoyer, L. (2017). "Deep Semantic Role Labeling: What Works and What's Next." In $A C L$, pp. 473-483.

Iida, R., Komachi, M., Inui, K., and Matsumoto, Y. (2007). "Annotating a Japanese Text Corpus with Predicate-Argument and Coreference Relations." In Proceedings of the Linguistic Annotation Workshop, pp. 132-139.

Iida, R. and Poesio, M. (2011). "A Cross-Lingual ILP Solution to Zero Anaphora Resolution." In $A C L$, pp. 804-813.

Iida, R., Torisawa, K., Hashimoto, C., Oh, J.-H., and Kloetzer, J. (2015). "Intra-sentential Zero Anaphora Resolution using Subject Sharing Recognition." In EMNLP, pp. 2179-2189.

Iida, R., Torisawa, K., Oh, J.-H., Kruengkrai, C., and Kloetzer, J. (2016). "Intra-Sentential Subject Zero Anaphora Resolution using Multi-Column Convolutional Neural Network." In EMNLP, pp. 1244-1254.

Imamura, K., Saito, K., and Izumi, T. (2009). "Discriminative Approach to Predicate-Argument Structure Analysiswith Zero-Anaphora Resolution." In $A C L-I J C N L P$, pp. 85-88.

磯崎秀樹，賀沢秀人，平尾努 (2006). 辞書式順序を持つペナルティによるゼロ代名詞解消. 情報処理学会論文誌, 47 (7), pp. 2279-2294.

Joachims, T. (2006). "Training Linear SVMs in Linear Time." In Proceedings of the 12th ACM SIGKDD, pp. 217-226.

河原大輔, 黒橋禎夫 (2005). 格フレーム辞書の漸次的自動構築. 自然言語処理, 12 (2), pp. 109-131.

Kudo, T., Ichikawa, H., and Kazawa, H. (2014). "A Joint Inference of Deep Case Analysis and Zero Subject Generation for Japanese-to-English Statistical Machine Translation." In $A C L$, pp. 557-562.

Kurita, S., Kawahara, D., and Kurohashi, S. (2018). "Neural Adversarial Training for Semisupervised Japanese Predicate-argument Structure Analysis.” In $A C L$, pp. 474-484. Association for Computational Linguistics.

Luong, M.-T., Pham, H., and Manning, C. D. (2015). "Effective Approaches to Attention-based Neural Machine Translation." In EMNLP, pp. 1412-1421.

Maekawa, K., Yamazaki, M., Ogiso, T., Maruyama, T., Ogura, H., Kashino, W., Koiso, H., Yamaguchi, M., Tanaka, M., and Den, Y. (2014). "Balanced Corpus of Contemporary Written Japanese." Language Resources and Evaluation, 48 (2), pp. 345-371.

松林優一郎, 乾健太郎 (2014). 統計的日本語述語項構造解析のための素性設計再考. 言語処理学会第 20 回年次大会発表論文集, pp. 360-363.

松林優一郎, 吉野幸一郎, 林部祐太, 中山周 (2015). Project Next 述語項構造タスク. 言語処理
学会第 21 回年次大会発表論文集, pp. 1-157.

Matsubayashi, Y. and Inui, K. (2017). "Revisiting the Design Issues of Local Models for Japanese Predicate-Argument Structure Analysis." In IJCNLP, pp. 128-133.

Matsubayashi, Y. and Inui, K. (2018). "Distance-Free Modeling of Multi-Predicate Interactions in End-to-End Japanese Predicate-Argument Structure Analysis.” In COLING, pp. 94-106. Association for Computational Linguistics.

Mikolov, T., Chen, K., Corrado, G., and Dean, J. (2013). "Efficient Estimation of Word Representations in Vector Space." arXiv preprint arXiv:1301.3781.

Ouchi, H., Shindo, H., Duh, K., and Matsumoto, Y. (2015). "Joint Case Argument Identification for Japanese Predicate Argument Structure Analysis." In ACL-IJCNLP, pp. 961-970.

Ouchi, H., Shindo, H., and Matsumoto, Y. (2017). "Neural Modeling of Multi-Predicate Interactions for Japanese Predicate Argument Structure Analysis." In $A C L$, pp. 1591-1600.

Rello, L., Baeza-Yates, R., and Mitkov, R. (2012). "Elliphant: Improved Automatic Detection of Zero Subjects and Impersonal Constructions in Spanish." In EACL, pp. 706-715.

Sasano, R., Kawahara, D., and Kurohashi, S. (2008). "A Fully-Lexicalized Probabilistic Model for Japanese Zero Anaphora Resolution." In COLING, pp. 769-776.

笹野遼平, 河原大輔, 黒橋禎夫, 奥村学 (2013). 構文・述語項構造解析システム KNP の解析 の流れと特徴. 言語処理学会第 19 回年次大会発表論文集, pp. 110-113.

Sasano, R. and Kurohashi, S. (2011). "A Discriminative Approach to Japanese Zero Anaphora Resolution with Large-scale Lexicalized Case Frames." In IJCNLP, pp. 758-766.

Shibata, T., Kawahara, D., and Kurohashi, S. (2016). "Neural Network-Based Model for Japanese Predicate Argument Structure Analysis." In $A C L$, pp. 1235-1244.

Shibata, T. and Kurohashi, S. (2018). "Entity-Centric Joint Modeling of Japanese Coreference Resolution and Predicate Argument Structure Analysis." In $A C L$, pp. 579-589. Association for Computational Linguistics.

Sudo, K., Sekine, S., and Grishman, R. (2001). "Automatic pattern acquisition for Japanese information extraction." In $H L T$, pp. 1-7.

渡邊陽太郎, 浅原正幸, 松本裕治 (2010). 述語語義と意味役割の結合学習のための構造予測モ デル. 人工知能学会論文誌, $25(2)$, pp. 252-261.

Yamada, H., Teufel, S., and Tokunaga, T. (2017). "Designing an Annotation Scheme for Summarizing Japanese Judgment Documents." In KSE, pp. 275-280.

山城颯太, 西川仁, 德永健伸 (2018). 大規模格フレームによる解析候補削減を用いたニューラ ルネットゼロ照応解析. 情報処理学会第 238 回自然言語処理研究会, NL-238-5, pp. 1-9.

Yamashiro, S., Nishikawa, H., and Tokunaga, T. (2018). "Neural Japanese Zero Anaphora Res-
olution using Smoothed Large-scale Case Frames with Word Embedding." In PACLIC.

Yin, Q., Zhang, Y., Zhang, W., and Liu, T. (2017). "Chinese Zero Pronoun Resolution with Deep Memory Network." In EMNLP, pp. 1309-1318.

Yin, Q., Zhang, Y., Zhang, W., Liu, T., and Wang, W. Y. (2018a). "Zero Pronoun Resolution with

Attention-based Neural Network." In COLING, pp. 13-23. Association for Computational Linguistics.

Yin, Q., Zhang, Y., Zhang, W.-N., Liu, T., and Wang, W. Y. (2018b). "Deep Reinforcement Learning for Chinese Zero Pronoun Resolution." In $A C L$, pp. 569-578. Association for Computational Linguistics.

Yoshino, K., Mori, S., and Kawahara, T. (2013). "Predicate Argument Structure Analysis using Partially Annotated Corpora." In IJCNLP, pp. 957-961.

Zhou, J. and Xu, W. (2015). "End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks." In $A C L$, pp. 1127-1137.

## 付録

## A 素性詳細

表 13 ベースモデル素性一覧

## 略歴

山城颯太：2017 年東京工業大学工学部情報工学科卒業. 2019 年同大学情報理工学院情報工学系修了. 同年, ヤフー株式会社入社.

西川仁: 2006 年慶應義塾大学総合政策学部卒業. 2008 年同大学大学院政策. メディア研究科修士課程修了. 同年, 日本電信電話株式会社入社. 2013 年奈良先端科学技術大学院大学情報科学研究科博士後期課程修了. NTT メディア インテリジェンス研究所研究員を経て, 2015 年より東京工業大学情報理工学院助教. 2017 年 IE 経営大学院修士課程修了. 博士 (工学)。自然言語処理, 特 に自動要約, 自然言語生成の研究に従事. The Association for Computational Linguistics, 言語処理学会, 人工知能学会, 情報処理学会各会員.

徳永 健伸：1983 年東京工業大学工学部情報工学科卒業. 1985 年同大学院理工学研究科修士課程修了. 同年 (株) 三菱総合研究所入社. 1986 年東京工業大学大学院博士課程入学. 現在, 東京工業大学情報理工学院教授. 博士 (工学).専門は自然言語処理, 計算言語学. 情報処理学会, 人工知能学会, 言語処理学会, 計量国語学会, Association for Computational Linguistics, ACM SIGIR, Cognitive Science Society, International Cognitive Linguistics Association 各会員.

(2018年 11 月 1 日 受付)

(2019 年 3 月 5 日 再受付)

(2019 年 4 月 12 日 採録)


# 応用システム論文
## 小型計算機におけるサービス指向発話文解析

\author{
徳久 雅人 $\dagger \cdot$ 日木村 周平 $\dagger$
}

本稿では，様々なサービスを有する小型計算機に言葉による命令を受理させる手法 について述べる。小型計算機における発話文解析では, サービスのための規定の発話文を必ず受理すること，および，ユーザからの発話文を追加的に学習することを低 い計算コストで行うことが要求される。そこで，サービスごとに語義やチャンクを 正確に区別するため，サービスごとにパージング結果を格納するアレイを設け，強化学習を用いて発話文解析を進める手法を提案する．実験において自動車旅行を支援する車載器の発話文解析に応用したところ, 軽量に動作し, クローズドテストに おいて 0.99 , オープンテストにおいて 0.81 という精度で発話文解析が可能であるこ とを確認した。

キーワード：発話文解析, 意図解析, スロットフィリング, サービス指向解析, 強化学習

## Service-Oriented Utterance Sentence Analysis in Small Computers

\author{
Masato Tokuhisa $^{\dagger}$ and Shuhei Kimura ${ }^{\dagger}$
}

This paper addresses a method to analyze command utterance sentences in small computers providing various services. All compulsory command utterances for the services must be accepted, and the utterances by the user must be able to be learned at a low computational cost. So as to determine the chunks and their sense based on their service, our proposal method contains parsing arrays for each service and performs utterance analysis and learning through reinforcement learning. Using the results of an in-vehicle computer implementation for a car traveler, it was confirmed that the proposed method was generally successful, with an analysis accuracy of 0.99 in a closed test and 0.81 in an open test.

Key Words: Utterance Analysis, Intent Detection, Slot Filling, Service-oriented Analysis, Reinforcement Learning

## 1 はじめに

近年, $\mathrm{CPU}$ が $1.2 \mathrm{GHz}$ 程度で主記憶が $1 \mathrm{~GB}$ 程度だが安価な小型計算機が広く利用されて いる。その小型計算機では様々なサービスが提供されている。キーボードなどの入力装置を有

しない状態で使用される際に，小型計算機に指示を出す手段として，言葉による命令があげら れる。ここで，車載器のように屋外環境での使用が想定される場合，インターネットの常時接続が期待できない。また，個人利用においてはスタンドアロンが望ましい。そのため，言語処理を小型計算機上で行うことが要求される.

小型計算機での言語処理への要件が幾つかある。一つは，サービスを操作する命令文は規定 の文であれば確実に受理されることがユーザに約束できることである. サービスに応じて語義 が区別されることが必要である。つまり，あるサービスにおいてはキーとなる用語であっても，別のサービスにおいてはキーにならないことが区別されることである．したがって，語義解析 やチャンキングを行う際，サービスに依存することが必要である。また，一つは，少し言い回 しの外れた文であっても受理されることである。単純なパターンベースの解析手法では対応が とりにくい，最後の一つは，受理されなかった言い回しは，サービスの利用中に，受理に向け て学習されることである。サービスのために CPU と主記憶の計算リソースを残しておく必要 があるため，言語の解析，および，追加的に行う学習は軽量でなければならない.

関連研究として，対話処理において，対話行為を識別する手法が提案された。識別における 有力な素性は, 単語 n-gram, および，直前の発話の対話行為である。対話行為毎に詳細な素性 の選択を行うことで, 対話行為の識別性能の向上が示された (福岡, 白井 2017). 対話行為識別 （意図解析）の後段での応答処理のために，発話文からの情報抽出が必要である．その一つがス ロットフィリングである，スロットフィリングは，確率有限状態トランスデューサ，識別器に 基づく系列ラベリング, 条件付き確率場 Conditional Random Fields (CRF)の3つの解法の中 でも CRF が良好に動作することが示された (Raymond and Riccardi 2007)。近年では，意図解析，スロットフィリングおよび言語モデリングを同時に行う手法が提案された (Liu and Lane 2016). この手法では, Recurrent Neural Network (RNN) により単語 n-gram 相当の特徴を含む 情報を参照した意図解析が行われた。同時に，単語単位での系列ラベリングに相当する働きに より，単語とスロットとの対応が識別されることで，スロットフィリングが行われた。意図解析とスロットフィリングが同時に尤最もらしいことが評価されるため，全体の識別性能が向上 したものと解釈できる。なお, Embedding からの単語ベクトルと, 前時刻（単語単位）からの 意図クラスとが合わさることで，意図毎（対話行為毎）の素性選択に相当する語彙識別が働い た可能性がある．Liu らの手法を改良した RNN を用いることについて，日本語文における解析性能が報告された (長井, 突, 加藤, 山本 2018). RNN の双方向性, Attention モデル, 未知語処理が追加された.未未知語処理には汎用単語分散表現が用いられた.この分散表現の獲得に は日本語 Wikipedia テキストからの word2vec での解析が行われた.

意図解析とスロットフィリングなどの言語理解の後段の処理として, 対話状態追跡, 対話ポ リシの適用，自然言語生成がある。対話状態追跡では，スロット値の候補に確率を対応付けて 信念状態を表す。対話ポリシの適用は，タスクとして外部知識を検索するなどを行い，応答の

ための対話行為を決める．自然言語生成は対話行為からテキストを生成する．これらの流れを ニューラルネットワークを基礎として end-to-end でモデル化することが提案された (Liu and Lane 2018). システム状態の設計は複雑になりがちであるが，Liu らの手法は信念状態がニュー ラルネットワークに組み込まれることなどによりシステムの状態が定義されることで，設計の 問題を回避した. さらに, 強化学習を用いることで, 状態に応じたシステムの応答を学習した.一方，音声認識，意図やスロットの解析には誤りが含まれやすい．言語理解に対する信頼性が低 いことを考慮してシステムの応答を行うために部分観測マルコフ決定過程 Partially Observable Markov Decision Process (POMDP) が対話システムに導入された (Williams and Young 2007). POMDP では信念状態に対するシステムの応答を決める。対話事例から強化学習を行うことで 対話ポリシをモデル化できる。後段の処理でのこれらの手法は，複数ターンに渡る発話を通じ てタスクを達成させるために有益な手法である.

ここで, 本稿では, 小型計算機への命令を受理するための言語理解の段階, すなわち, 意図解析およびスロットフィリングについて議論する。言語理解の後段の処理は, 命令を受けたサー ビス処理部が対処するものとする。言語理解の段階においては, 単語 n-gram 素性, 文脈情報,意図毎の素性選択，未知語対応，および，意図解析とスロットフィリングの同時性という 5 点に 着目する。しかし, 小型計算機において, RNN による意図解析・スロットフィリングの学習と 解析は計算コストが高い。ここで，スロットフィリングとは，文頭から文末にかけて文の単語列をスキャンする間に，参照している単語の代入先を識別することである．スキャン（参照先 を次単語に進める）と代入というアクションを，状態に応じて適切に行うことでスロットフィ リングが実現できる見込みがある。状態に対するアクションを学習する方法として強化学習が あげられる，そこで，本稿では，上記 5 点を考慮しつつ，サービス依存のパージングおよび強化学習を用いて, 発話文の学習と解析を行うことを目的とする. 自動車旅行を支援する車載器 の上に提案手法を実装し発話文解析の評価を行う。

本稿の構成は次のとおりである。まず第 2 章では，発話事例，意図とスロットに関する諸定義，および，発話文コーパスを示す。第 3 章では提案手法を示す. 第 4 章で車載器に実装した 発話文解析について性能を評価する。第 5 章で提案手法の特性を考察し, 第 6 章でまとめを述 べる.

## 2 発話文と諸定義

## 2.1 車載器での発話例

本稿の車載器は表 1 に示すサービスを提供する。サービスの表現方法は, 音と映像である.音は音楽や合成音声である。映像は, 背景画像, 箇条書き表示, タイトル表示, トースト表示,動画である．表現方法が競合しない限り複数のサービスが同時に実行できる．競合する場合,
表 1 サービス一覧

 \\

& ブラウザ \end{aligned} &  \\

連携して起動されるサービスが劣位となり，ユーザから直接命令されたサービスが優位となる。

まず，簡単な発話例を以下に示す。話者に付随する数字は発話の順番を表す。

例 1 :

1 ユーザ：「音楽をかけてください」

2 ユーザ：「鳥取の地図を表示してください」

3 ユーザ：「次に変えてください」

1 文目で「音楽サービス」が起動する．以前からの続きの曲が再生される．「アルバムアート サービス」によりその曲のアルバムアートが車載器のモニ夕に表示される。 2 文目で「地図サー

ビス」が起動する，画面が書き換えられるため，「アルバムアートサービス」が終了する．画面 には「鳥取県の地図」が表示される。 3 文目で「次の曲」が再生される.「次に変える」は，何を 次に変えるのかが不明確であるが，「音楽サービス」が起動中であるため「次の曲の再生」とい う意味で処理される。なお，「地図サービス」が起動中であるため「アルバムアートサービス」 は自動的には起動しない（アルバムアートの表示が命令されれば起動する）.

次に，ユーザの発話意図が実行中のサービスの範囲に限定される発話例を以下に示す.

例 2 :

1 ユーザ : 「予定を登録してください」

2 車載器 : 「予定を話してください」

3 ユーザ :「明日の 17 時にレストランに行きます」

4 ユーザ：「その前に駅に迎えに行きます」

5 ユーザ：「以上です」

6 車載器：「登録しました」

1 文目で「スケジュール管理サービス」が起動する。後続の発話文がこのサービスに向けら れていることを前提として発話文解析が行われる。 3 文目および 4 文目から伝達される事象は 「スケジュール内容」として登録される。 5 文目でこの前提が解除される.

ユーザの発話意図が強く限定される発話例を以下に示す.

例 3:

1 ユーザ :「Wikipedia で調べてください」

2 車載器：「何について調べますか」

3 ユーザ : 「東京タワーです」

1 文目で「観光ガイドサービス」が起動し，サービス処理部でクエリを待つ状態になる． 3 文目では意図解析は行われず，直接サービス処理部で文字列の処理が行われる。判定詞の除かれ た文字列「東京タワー」がクエリとして扱われる。

最後に訂正を含む発話例を以下に示す。

例 $4:$

1 ユーザ :「鳥取の地図じゃなかった島根の地図を表示してください」

地図サービスは「島根県」の地図を表示する。文の解析の前半では「鳥取」が表示の対象と なるが，解析の後半では「島根」だけが対象となる.

## 2.2 発話文の分類

車載器では, ユーザから話し掛けることが基本となる。ユーザの発話は次の 4 種類に分類さ れる。

分類 1. ユーザが新規のサービスについて発話する.
分類 2. ユーザが実行中のいずれかのサービスについて発話する.

分類 3. ユーザが実行中の特定のサービスについて発話する.

分類 4. 車載器からの質問に，ユーザが回答として発話する.

前節の例でいえば，例 1 の 1 文目と 2 文目は分類 1 であり， 3 文目は分類 2 である. サービ スを特定する単語の有無が分類 1 と分類 2 を区別する手がかりとなる．例 2 の 3 文目と 4 文目は分類 3 である. 5 文目のように登録を終了する意図の発話があるまでは分類 3 が想定され ている。例 3 の 3 文目は分類 4 である.

これらの分類では, 実行中のサービスに発話が継続するか否かという区別がある. 分類 1 の 発話は継続性が無い．本稿では「継続性 $=$ new」というフラグを用いることにする．分類 2,3 , 4 は継続性がある．本稿では「継続性 $=$ cont」というフラグを用いることにする．継続性のな い発話文にはサービスを特定する手がかり語が含まれる。継続性のある発話文にはサービスを 特定する語は必ずしも含まれない。一方, 分類 3 と分類 4 ではサービスの処理側で発話解析の 方法が指定される。

## 2.3 意図クラスとスロット

ユーザは，発話によりサービスを起動して細かい指示を出す。本稿では，「サービス名，メソッ ド名，および，メソッド引数」の3つ組を意図クラスと呼ぶことにする。一般に対話理解にお いては，対話行為識別の後に構造解析を経て意図解析・スロットフィリングという過程がある.対話行為には対話のドメインに依存しないカテゴリとして「Inform, Request, Confirm, Question, Agreement/Disagreement」などが用いられる (Bunt, Petukhova, Traum, and Alexandersson 2017). 本稿では, (Liu and Lane 2016; 長井 他 2018) のように，発話文からドメインに依存し て直接的に意図解析・スロットフィリングを行うことを議論する。例えば，「音楽を再生して ください」という発話文からは「serviceMusic.comPlay()」という意図クラスが同定される.「音楽が聴きたい」も「serviceMusic.comPlay()」という意図クラスが同定される。ここで，「serviceMusic」は「音楽サービス」，「comPlay()」は「曲の再生を意味するメソッド」である.

スロットはメソッドの引数と対応する。例えば，「次の曲に変えてください」という発話文に は,「serviceMusic.comSelect(dir)」という意図クラスが対応し，「dir=次」というスロット フィリングが行われることを理想とする 1.

## 2.4 発話文コーパス

ユーザの発話文をコーパスに収録する。コーパスの一部を表 2 に示す。収録した項目は，「通番, 発話文, サービス，メソッド，継続性」である。1 文単位で収録する。通番は管理用であ る. 発話順は不問である.
^{1}$ dir は direction の略. 選曲の方向（次の曲/前の曲など）を表す。
}
表 2 ユーザによる発話文のコーパス（説明用に抜粋）

 & controller & comShutdown (obj, act) & new \\

※メソッド引数（スロット名）の意味 $:$ obj $=$ object 対象, act $=$ action 動作, dir $=$ direction 内容選択の方向, unit $=$ 単位, $l o c=$ location 場所 $\cdot$ 地名,$i o=$ zoom-in/out 拡大縮小の方向,$t m g=$ timing 日時・時間的・順序的な関係の表現, $\mathrm{msg}=$ message 用件.

発話文に挿入されるタグはスロットに代入される部分を表す。一つのスロット名が複数の部分と対応することもある（＃21での tmg夕グ．数は表 2 の通番, 以下同様).「cancel」属性の ある夕グは, 前述の例 4 で示したとおりで, スロットフィリングの最終的な解とならない部分 を表す (\#15, \#16). スロットに代入する語句が発話文に存在しない場合がある．つまり，文意 としては代入する情報が理解できるが，その情報が陽に記述されていない場合である。この場合，夕グを付与することができない。そこで，メソッドの引数にデフォルト値を指定する形式 を認めている $(\# 6, \# 9)$.

サービスとメソッド名が一致するがメソッドの引数が異なる場合, 両者の意図クラスは異な るものとして扱う $(\# 6, \# 7, \# 8, \# 9)$. 発話文の表現が異なるが，サービス，メソッド名，メ ソッド引数が一致する場合, 同じ意図クラスであり, 同等あるいは同類の文である $(\# 17, \# 18$,

\#19). 一方, 同じ表現の発話文であってもサービスやメソッドが異なることがあり，曖昧性の ある文がある $(\# 4, \# 11)$. なお, 曖昧性の解消は, 実行中のサービスと継続性を手がかりに解析的に解消する，さらには，サービスの処理部における命令実行の成否をもって動的に解決でき る。すなわち，スロットに誤った代入があったことによりサービスの処理が失敗する際，発話文解析に誤りがあったと解釈するものである.

## 3 提案手法

小型計算機における発話文の学習と解析の手法を提案する. 提案手法の流れを図 1 に示す.発話文の解析の過程は，ユーザから発話文が入力されて始まり，発話文のパージング，意図解析，スロットフィリング，解候補の選択，そしてサービスの実行を行うという流れとなる。学習の過程は，まず，発話文コーパスから語句辞書・チャンクルールを手動で設計・構築し, 次 に，意図解析用事例の生成，および，スロットフィリング用ルールベースの学習を行うという 流れとなる。本章での各節では，パージング，意図解析，スロットフィリング，解候補の選択 の順にそれぞれを説明する。

図 1 提案手法の流れ

## 3.1 パージング

パージングでは, 形態素解析, 意味属性付与, サービス別アノテーションおよびチャンキン グを行う (図 2).まず, 形態素解析器として mecab (工藤, 山本, 松本 2004) を利用し, 品詞情報を付与する。意味属性付与では日本語語彙大系 (池原, 宮崎, 白井, 横尾, 中岩, 小倉, 大山，林 1997）の名詞意味属性を付与する．次に，サービスで共有される語句辞書あるいはサー ビス毎に用意された語句辞書およびチャンクルールを用いて，品詞や語義を表す夕グの付与お よびチャンキングを行う．語句辞書・チャンクルールについては次項で説明する。

サービスごとにアノテーション等を用意することで，語義やチャンクの曖昧性に対処する。例えば，「三月」という語句は，「スケジュール管理サービス」においては「日時」を表す語句 としてタグが付与されることが望ましい.「音楽サービス」においては歌手・曲名の一部に使わ れる単語であるため「日時」の夕グ付与は望ましくない. しかし, パージングの段階では語義 やチャンクの決定ができない。そこで，本稿では，サービスを仮定し，サービスが扱う語義・ チャンクに合わせてアノテーションとチャンキングを行い，その結果をサービスごとのアレイ に残すことにした。

## 3.1.1 語句の定義

発話文を構成する語句は次のとおりに分類する：

・モダリティ：判定詞自体, および, 述語や判定詞に後続する表現
- 一般予約語句：サービスに関する名称, 機能, 操作量
- 組込み予約語句：実装と密接に対応する語句
- 一般語句：その他の語句

図 2 パージングの構成

モダリティは，「〜ですか」，「〜せずに」，「〜あります」，「〜たくないです」，「〜たいです」，「〜です」,「〜でした」,「〜じゃなくて」,「〜なかったです」,「〜せられ」,「〜てください」,「〜 ないでください」などの表現をカバーし，それぞれ，質問 (AAsk), 除外 (AExc), 存在 (AExi), 拒否 (AIna), 欲求 (AInd), 伝達 (AInf), 伝達（過去） (AInp), 否定 (ANeg), 不在 (ANex), 使役・受 け身 (APss), 要求 (AReq), 要求（否定） (ARqn) というモダリティのタグが対応する.

一般予約語句は,「地図/マップ」，「音楽/ミュージック」などサービスを表す語句，「表示を し/表示し/表示/見せ」，「かけ/再生をし/再生し/再生」など機能・メソッドを表す語句，「上/下/左/右」,「東/西/南/北」,「前/後/次」など機能の操作量を表す語句である. サービスや機能 を表す語句を「/」で隣接して列挙することで同義語のグループを定義する．操作量を表す語句 を「/」で隣接して列挙することで同類語のグループを定義する。一般予約語句には「R 数字」 という語義を表すタグを用いる。数字はグループごとに自動で割り当てられる。

組込み予約語句は，サービスにおける実装と密接に対応する語句である。具体的には日時の 表現である．例えば，「明日」という表現に「基準日時の翌日を求める」という処理が対応づけ られている。日時の表現には TMGというタグを用いる。

一般語句とは, モダリティと予約語句にならない語句である。一般語句に対しては粗い品詞 タグ付与ルール，および，後述するチャンクルールを併用する，助動詞や動詞・非自立 (A), 副詞, 形容動詞語幹, 形容詞 $(M)$, 数 (NM), サ変名詞 (NS), 名詞や名詞接辞 (N), 助詞 $(P)$, 動詞 $\cdot$自立 $(\mathrm{V})$, その他の単語 (W) という粗い品詞の夕グを用いる。また, 一般名詞意味属性を参照 して, 場所（388-532. 数は一般名詞意味属性コードの範囲, 以下同様）の名詞 (NLoc), 場の関係 (2610-2669) の名詞 (NLcr), 抽象的関係 (2422-2515) の名詞 (NRel), 抽象 (1000-2715) の名詞 (NAbs) という品詞のタグを用いることがある.

## 3.1.2 チャンクルール

チャンクルールは大きく 3 種類を設けている。狭いチャンクルール, 広いチャンクルール, および，特殊なチャンクルールである.

狭いチャンクルールは, 名詞連続, 数連続, 「 $\mathrm{N}$ の $\mathrm{N}\rfloor$ 型をまとめるルールである. 広いチャン クルールは，狭いチャンクルールに加えて，動詞, 修飾語句, 数, サ変名詞, その他の単語に名詞が続く場合を名詞としてまとめるルールである．特殊なチャンクルールは, 日時のチャンク (TMG 連続や，「TMGの TMG」型をまとめる)，および，特別な助詞連続をまとめるルールである.

## 3.1.3 アレイ

図 2 におけるサービス別タグ付き文の詳細を構成するアレイについて説明する。形態素解析 および意味属性付与の結果は，基礎アレイに記録される。3.1.1 項および 3.1.2 項の辞書・ルー

ルを用いるとタグが得られる。サービスに共有される語句は共有用語句辞書がカバーしており，基礎アレイを参照しながら共有用辞書を用いることで得られる夕グは共有アレイのタグ列に記録される。ここで，共有アレイは基礎アレイを継承している，共有アレイを参照しながら，サー ビス別に定義された辞書やチャンクルールを用いることで得られるタグはサービス別のアレイ のタグ列に記録される。

意味列については，辞書・ルールを用いる際に参照したアレイの意味列を引き継ぐ．複数の 単語・語句をまとめて 1 つの語句が得られる際は主辞の意味属性を引き継ぐ。なお，発話文は 文字単位で管理し，品詞列・意味列・タグ列において対応する文字の範囲を記録している.

## 3.1.4 サービスごとの扱い

一般予約語句は，全てのサービスで共有できる部分を共有の語句辞書として収録し，サービ ス間で衝突する部分をサービスごとの語句辞書として収録する。例えば，「お気に入り」という 語句は，「音楽サービス」においては，「プレイリスト，好きな曲」と同義語であるが，「観光ス ポット SNS ブラウザサービス」においては, 「ブックマーク」と同義語である.

チャンクルールに関しては，音楽サービス，ビデオサービス，観光ガイドサービス，および観光ブログ紹介サービスでは広いチャンクルールを使用する。曲名などの検索クエリには一定で ない品詞列が用いられるためである。 スケジュール管理サービス，および駐車記録サービスで は特殊なチャンクを使用する。日時を正確に捉えるためである。残りのサービスでは狭いチャ ンクルールを使用する。

サービスへの命令文の複雑さに応じて，語句辞書およびチャンクルールを調整できる．特定 のサービスのために調整を行っても，サービスごとに辞書とルールを使い分けることができる ため, 他のサービスへの影響が生じない。ゆえに，サービス毎のアレイの使用には，車載器の サービスの改定が容易になるという利点がある。

パージングの解析例を示す。なお，下記のアレイはタグ列を可視化したものである.

例 5 :

発話文：「お気に入りに登録してください」

音楽サービスアレイ：お気に入り/R01003 に/P 登録し/R00080 てください/AReq ブラウザサービスアレイ：お気に入り/R08001 に/P 登録し/R00080 てください/AReq 例 6 :

発話文：「初音ミクの曲をかけてください」

駐車記録サービスアレイ：初音/NAbs ミク/N の/P 曲/R00055を/P かけ/R00056 てくださ い/AReq

音楽サービスアレイ：初音ミク/N の/P 曲/R00055 を/P かけ/R00056 てください/AReq 例 5 において「お気に入り」の語義が区別されていることが分かる．例 6 において「初音」

という抽象名詞が，駐車記録サービスアレイにおいて確認されるが，音楽サービスにおいては 粗い品詞で解釈され, かつ, 広いチャンクでまとめられた。

## 3.2 意図解析

意図解析では，実行中のサービスを考慮しながら，発話文に対応する意図クラスを最近傍法 で求める。ただし，解の良さは，後段のスロットフィリングの結果にも依存するため，一定の 近さにある複数の意図クラスを解候補として出力することにする。また, 継続性も解候補に添 える。本節では, 最近傍法用事例の生成, 実行中のサービスを考慮した事例の選択, 近さの計算について順に説明する。

## 3.2.1 最近傍法用事例の生成

最近傍法に用いる事例をコーパスから生成する１万の最近傍法用事例を 1 つの訓練用発話事例から生成する。重複する最近傍法用事例は破棄する。最近傍法用事例は，特徴，意図クラ ス，および，継続性で構成する，特徴は，モダリティのタグ，予約語句のタグ，および，一般名詞意味属性に関する夕グの集合で定義する。粗い品詞のタグは集合に含めない．意図クラス は識別の目標である，継続性は文脈情報を捉えるためのもので，最近傍法用事例の照合を制限 することに用いられる。以下に訓練事例の文のアレイと最近傍法用事例の例を 2 つ示す.

例 7 :

音楽サービスアレイ：音楽/R00055を/P かけ/R00056 てください/AReq

特徴 : \{AReq, R00055, R00056\}

意図クラス：serviceMusic.comPlay()

継続性：new

例 8 :

音楽サービスアレイ：スキップ/R00059 し/R00036 てください/AReq

特徴 : \{AReq, R00036, R00059\}

意図クラス：serviceMusic.comSkip(dir=次)

継続性：cont

集合は，意図クラスのサービス（正解のサービス）に対応したアレイから得る。これらの例 では「音楽サービス」のアレイのタグから得た.

## 3.2 .2 文脈情報に依る最近傍法用事例の選択

最近傍法では，一般に入力事例に対して全ての事例と比較を行う。しかし，本稿では実行中 のサービスを考慮して選択された事例と比較を行う。これは発話系列の文脈情報の考慮に相当 する.
最近傍法用事例の選択は, 実行中のサービスと継続性を参照して行う，発話文の分類（2.2 節） で述べたとおり，実行中のサービスが発話意図を限定しない場合（分類 1,2 ）と限定する場合 （分類 3,4）がある。限定のない場合, 継続性が new である最近傍法用事例は発話文と比較さ れる。継続性が cont である最近傍法用事例は実行中のサービスと最近傍法用事例のサービス （意図クラスを構成するサービス）とが一致すれば発話文と比較される。一方，限定のある場合,分類 3 の状況であれば，特定のサービスと一致するサービスを有する最近傍法用事例が，発話文と比較される。なお，継続性が new である最近傍法用事例であっても特定のサービスと不一致であれば比較されない，分類 4 の状況であれば，サービスに組み込まれた発話文解析となる。 サービスにパージング結果が直接引き渡される。以下に擬似コードを示す。

1：発話文（パージング結果）が入力される.

2：実行中のサービスのリストが入力される.

3：もし, サービスから発話文が予約されているならば,

4： そのサービスに発話文を送り，

5：そうでなければ以下を行う。

6：もし，特定のサービスが予約されているならば,

7：特定のサービスへの最近傍法用事例を比較対象とし，

8： そうでなければ,

9：継続性が new の最近傍法用事例, および,

10：継続性が cont かつ実行中のサービスへの最近傍法用事例を比較対象とする.

11：比較対象となった最近傍法用事例について最近傍法で解候補を作成する.

もしサービス側で分類 3 や分類 4 で発話文の解析を行う予定になっているならば, 解析実行前までに 6 行目や 3 行目の予約がそれぞれ入れられている.

## 3.2.3 発話文と最近傍法用事例の比較

発話文の特徴と最近傍法用事例の特徴を集合演算で比較し, 近さ（一致度）を算出する。発話文の特徴を集合 $U$, 最近傍法用事例の特徴を集合 $T$ とするとき，両者の近さ $d_{1}(U, T)$ を次式 で算出する.

$
d_{1}(U, T)=\frac{2|U \cap T|}{|U|+|T|+\beta}
$

ここで， $\beta$ は偏りを持たせるパラメータで $\beta=0.05$ を用いた。近さは, dice 係数を基礎とし た. 発話文と最近傍法用事例の間で特徴的な語句が過不足なく一致することを評価するためで ある. 偏り $\beta$ を持たせた根拠は, 一般の dice 係数としては同じ一致度となる場合でも, 集合の サイズが大きい場合に一致することを重く評価するためである.

## 3.3 スロットフィリング

意図解析からスロットフィリングへの入力はサービス別タグ付き文, および, 解候補（意図ク ラスと継続性の組のリスト）である。スロットフィリングでは各候補について，スロットフィ リングの操作を試みる。その結果として，スロット値を解候補に添えて出力する。

スロットフィリングは，発話文の各語句についてスロットに代入すべきか否かを判定するも のである，文頭から文末にかけてスキャンを行い，代入判定を行う．また，発話文中での言い 直しがあれば代入したものを棄却することがある（2.1 節，例 4 ）、そこで，スキャン（語句を参照する位置の移動), 代入, 棄却などのアクションを解析状態に応じて適切に実行することでス ロットフィリングを行う手法を提案する．実装上はルールベースによるスロットフィリングで ある。しかし，ルールは強化学習における $Q$ 関数に対応し，コーパスから自動的に獲得する.本節ではスロットフィリングの実行とルールの学習をそれぞれ説明する.

## 3.3.1スロットフィリングの実行

意図解析結果より，想定するサービスおよびメソッドが与えられると，スロットフィリング が始まる。まず，意図クラスおよび継続性の組に対応したルール集を用意する．次に，発話文 のパージング結果のうちサービスに対応するアレイを参照する。解析者をエージェントとする が，エージェントが注目する最初の位置を文頭とする。その後，エージェントは観測する状態 に応じてルールによるアクションを決定し実行する。解析の終了は, エージェントがアクショ ン actSubmit()を実行した時点, もしくは, アクションの実行回数が上限に達した時点である.上限は文長に比例した回数である.

まず，解析用のアクションを表 3 に示す。 スロットは，メソッドに存在するスロットと一時ス ロットの 2 種類がある。 エージェントは, 参照する語句を一時スロットに代入し, 一時スロッ トの内容をメソッドのスロットに移すことができる。文末まで読み進めた後は，解析を終了す ることや，文頭に戻って読み直しをすることが可能である.

次に，観測される状態の素性を表 4 にまとめる．f1 は注目する語句の意味を表す．f2 は注目

表 3 解析用アクションの一覧

表 4 観測される状態の素性

 & 注目する語句の名詞意味属性を 5 種類に大別したもの. \\

先の周辺のタグの 5-gram である. f3 は注目先の周辺の語句がスロットに代入された状況を表 す. f4 は各スロットにおける代入の有無を表す. f5 は一時スロットに代入されている語句の意味を表す. 66 により読み直しが何度も起こらないようにできる．f7 により発話文が訂正を含む かどうかがわかる．f8 は，「〜は〜です」の文体における解析の手助けとなる．ｆ１ から f8を 8 項組にまとめて状態とする.

ルール集は， $Q$ 関数である， $Q$ 関数は， $Q$ : state, action $\mapsto$ score である.つまり，ある状態 state の際にアクション action を選択すると得られるスコアの期待値 score を返す関数である.選択されるアクション $a^{*}$ は高いスコアを導くアクションであり， $Q$ 関数を含む次式で求める.

$
a^{*}=\arg \max _{a \in A} Q(x, a)
$

ここで, $A$ はアクション集合, $a$ はアクション, $x$ は状態である. アクション集合は, 表 3 に 示したアクションの集合である．たたし，slot にはメソッドに応じて具体的なスロット名が必要数だけ展開される， $Q$ 関数の学習については次項で説明する.

## 3.3.2 ルールの学習

強化学習では，様々な状態においてアクションを選択することを繰り返し試行し，より高い 報酬が得られるように $Q$ 関数を学習する。学習過程で行う $Q$ 関数の更新は動的計画法による ものである. 具体的には, 状態 $x$ で行動 $a$ を試行した結果, 報酬 $r_{n}$ が得られ, 状態が $y$ に遷移したとする。このとき, 状態 $x$ で行動 $a$ を選択することへの評価值 $Q(x, a)$ を次式で更新す る.なお， $n$ は学習の時点を表す (Watkins and Dayan 1992).

$
Q_{n}(x, a)=\left(1-\alpha_{n}\right) Q_{n-1}(x, a)+\alpha_{n}\left.\{r_{n}+\gamma \cdot \max _{b \in A} Q_{n-1}(y, b)\right.\}
$

ここで， $\alpha_{n}$ は学習率, $\gamma$ は割引率である. $Q_{n-1}(x, a)$ は更新前の $Q$ 関数を表す. $A$ はアクショ ン集合， $b$ は行動 $a$ の後に予定する行動である. ここでは $b$ は高スコアの期待される行動が仮定されている。なお，本稿では， $Q$ 関数の初期値を $50, \alpha_{n}=0.8, \gamma=0.9$ とした.

報酬の設計を表 5 にまとめる。 スロットフィリングのアクションにおいては，正しいアクショ ンと誤ったアクションを決定論的に定義できる。そこで，アクションの試行時に報酬を与える ことが可能である．報酬の值は，アクションの無駄な反復で全体の報酬が高まることのないよ うにした。例えば，代入と破棄 $(\operatorname{actPush}(), \operatorname{actEmpty}())$ を繰り返すことで報酬の合算値が正 にならないようにした。予想を超えてアクションの組み合わせと繰り返しが行われることがあ るので，報酬の值は実験的に決定した。

以下に，正例の学習，訂正を含む正例の学習，および，負例の学習を例示する．

正例の学習を例 9 を用いて紹介する.

例 9 :

発話文：<loc>鳥取く/loc>の地図を表示してください

サービス：serviceMap

メソッド：comShow(loc)

継続性：new

表 5 報酬の一覧

*cancel 付き語句を正解とみなす.
意図クラスおよび継続性の組が「serviceMap.comShow（loc）/ new」である.loc夕グで囲ま

発生する．文末まで読み進めた際，「loc=鳥取」という代入状態で完了アクション actSubmit() が行われると，正の報酬が発生する。

訂正を含む正例の学習を例 10 を用いて紹介する.

例 10 :

発話文：<loc cancel>鳥取</loc>の地図じゃなくてくloc>島根く/loc>の地図を表示してくだ さい

サービス：serviceMap

メソッド : comShow(loc)

継続性：new

この例も意図クラスと継続性の組が「serviceMap.comShow(loc) / new」であるため, 例 9 で学習された $Q$ 関数に向けて学習が行われる。最初に鳥取を参照中に $\operatorname{actPush}($ )が行われ, そ の後に actApply(loc) が行われると「loc=鳥取」となる. 文の前半を参照中であれば正しいの で，負の報酬は発生しない。文末まで読み進めた時点で「loc=島根」となり actSubmit(）が行 われると正の報酬が発生する。しかし，「loc=鳥取」や「loc=鳥取島根」という代入状態であれ ば actSubmit()の実行に対して負の報酬となる。このように， cancel 属性のある夕グは，代入行動においては正しいが，最終の代入状態では含まれてはならないことを意味する。

負例の学習を例 11 を用いて紹介する（1つの負例は発話文から継続性まで。※印はコメン ト)、スロットフィリングにおいて代入エラーを抑制するように学習を行うことができる。

例 11 :

発話文：地図を表示してください

サービス : serviceMap

メソッド : comShow(loc)

継続性：new

※ 誤ったスロットフィリング：loc=地図

※ 理想のスロットフィリング：loc=なし

※ 理想のメソッド：comShowHere()

意図解析によると，2つの意図クラス「serviceMap.comShow(loc)」と「serviceMap.comShow $\operatorname{Here}() 」$ は最近傍法用事例の特徴が等しい. スロットフィリングには， 2 つの解候補が届けら れる．前者の意図クラスに対応するスロットフィリングを行うと，学習次第では「loc=地図」 という代入結果となることがある。次節で述べる解候補の選択では， スロットへの代入数が多 い解候補を選択するようになっている。そのため，誤った代入があると最終的に誤った選択が 生じる。ゆえに，誤った代入をしないようにスロットフィリングの学習を行う。本稿ではこれ
表 6 負例コーパス（全文）

を負例の学習と呼んでいる．負例の学習では代入する語句のないことを表す事例を強化学習に かける．すると「loc=地図」という状態を導くアクション系列は負の報酬によりスコアが低く 学習される. 負例の学習データを用いた強化学習の実行方法は特別な操作はない. ゆえに, 負例の発見さえできれば，負例の学習は容易である。なお，自明であるが，負例用コーパスから は意図解析のための最近傍法用事例の生成を行ってはならない.

負例を発見する方法は，実験的な方法である。すなわち，クローズドテストでの誤り分析に おいて，スロットに誤った代入が見られた事例に注目する。筆者らの経験では，コーパスや語句辞書に誤りがあるために学習や解析に失敗することが多かった. 次には, 強化学習において 観測する状態の定義が不十分であることが失敗の原因であることがあった. コーパス・語句辞書・状態定義が十分であるが，過剰なスロットフィリングによる失敗が生じる場合に，その失敗する事例を負例コーパスに追加する。なお，誤り分析が不十分なまま，誤り事例を負例コー パスに追加してはいけない.コーパス・語句辞書・観測状態の定義における問題が検出できな くなり，本質的な問題が解決できなくなるからである.

負例コーパスを表 6 に示す. \#2では, 先の説明 $(\# 1)$ と同様にメソッド引数全てへの代入を 抑制した。 $\# 3$ では，一部のメソッド引数 locへの代入を抑制した.

## 3.4 解候補からの選択

解候補からの選択では，意図解析における夕グの一致率，および，スロットフィリングにお けるスロットの代入率を参照する．多くの一致数や代入数となる解候補を優先するために，解候補を次式で評価する。

$
d_{2}(U, T, b, s)=\frac{2|U \cap T|+b}{|U|+|T|+s+\beta}
$

ここで，Uは発話文における夕グの集合， $T$ は意図解析において適合した最近傍法用事例にお けるタグの集合， $s$ はスロットフィリングにおいて代入されるべきスロットの数， $b$ はスロット フィリングにおいて代入されたスロットの数である。ただし，デフォルト値を有するスロット はスロット数 $s$ および $b$ ともに含めない. $\beta$ は偏りのパラメータであり 0.05 とした.

解候補の中から，最も高い評価値を有する候補を選択する。ただ，同率で 1 位となる候補

が複数存在する場合は, 継続性が cont となるものを優先する.

## 4 応用事例および性能評価

自動車旅行を支援する車載器を Raspberry Pi 3 上に実装した。そこでの発話文解析に提案手法を適用し，解析性能を示す。

## 4.1 車載器の構成

車載器は小型計算機 Raspberry Pi 3 Model B（2016 年製, CPU: ARM $1.2 \mathrm{GHz} 4$ cores, 主記憶：1 GB）である ${ }^{2}$. Ruby を用いてサービスおよび発話文解析を実装した. 周辺デバイスと してスマートフォン (Android 8.0), スマートウォッチ (Android 5.1) およびカー・オーディオビ ジュアルを用いる（図 3)，スマートフォンは $\mathrm{WiFi}$ ルータおよび GPS レシーバとして用いる. スマートウォッチは音声認識デバイスとして用いる ${ }^{3}$. 認識結果（文字列）は WiFi 経由で車載器に送られる，スマートフォンのみを用いることは可能であるが，スマートウォッチによる 音声認識の方が口元で音声を集音するため車内では使いやすい（図 4). スマートウォッチによ

(a) 車載器一式

(b) 設置例

図 3 機材の様子. 図 3(a) 上側の機材は, $\mathrm{AV}$ ケーブル, シガーソケット電源. 下側の機材は, スマート フォン，USBメモリと音源ボードを装着した Raspberry Pi 3 Model B，スマートウォッチ，テン キー，収納ケース，図 3(b) コンソールにテンキーを設置。車載器本体をケースに入れて助手席シー トの真下に設置. 電源をスマートフォンと本体に供給.

図 4 使用の様子，スマートウォッチに話し掛けて命令、ステアリングを握ったままでも良いが， 口元に 左手を近づけて発話すると高い可能性で命令できる.

る音声認識は走行中であっても十分である。逆に，スマートウォッチのみを用いることも可能 であるが，終日のドライブにおいてはバッテリーが不足する恐れがある（スマートウォッチは 充電しながらの使用が難しい)，車載器のサービスはカー・オーディオビジュアルにより表出す る. なお, 補助としてテンキーによる操作も可能である.

スマートウォッチでの使用の様子を説明する。通常時でのスマートウォッチへの操作は最小 で 1 タッチ，最大で 2 タッチである，具体的には，スリープ中は電源ボタンへのタッチ，およ び，スクリーンへのタッチにより音声認識が始まる。「ですます調」で発話を行った場合は語尾 により発話文の終了が確定される。それ以外の調子で発話をした場合は「どうぞ」と言うこと で発話文の終了が確定される。発話の途中で「取消」と言うと，始めから発話し直すことがで きる.

車載器は, 2016 年 5 月より走行時に利用しており 2018 年 12 月までの約 2 万キロの走行の 間, 各種サービスの提供を行ってきた。初期は USB ヘッドセット型マイクを備え，音声認識の オープンソフトウエアを利用していた。 2017 年 8 月より Android の音声認識を利用するよう に変更した，安全性の懸念から開発者によるクローズドテストが繰り返し行われ，慣れた利用者においては発話文解析は十分な性能となった。また, サービスの種類を徐々に増やしてきた が，コーパスおよび語句辞書の単純な追加・変更により発話文解析の増強ができた．図 5 に車載器の実行の様子を示す。以下では, クローズドテストの性能および新たな利用者における解析性能を示す.

(a) センターディスプレイへの表示例

(b) 別車種での表示例

図 5 車載器の表示例. 図 5(a) ではカーオーディオビジュアルのセンターディスプレイを使用. Wikipedia の鳥取砂丘の記事を読み上げている場面. 図 5(a) ではレーダー探知機をモニタとして使用.観光スポット SNS サイトをブラウズして大山滝を提示している場面. 背景画像および情報は https://minkara.carview.co.jp/userid/309487/spot/800570/をブラウズした結果である（2018 年 9 月 13 日時点).

## 4.2 性能評価

学習用コーパスは正例コーパスが 2,147 文, 負例コーパスが 3 文である。意図クラスは 181 種類となった. 意図解析のための最近傍法用事例は 890 件となった. ルールベース（ $Q$ 関数） は，「意図クラスおよび継続性」の組ごとに作られ，191 件となった。総ルール数 $(Q$ 関数での 状態・アクションとスコアの対の総数）は 173,864 件となり 1 ルールベースあたり平均 910 件 （最小は 32 件, 最大は 20,917 件）となった. ルールベースの実装にはデータベース GDBM を 用いた。合計約 $26 \mathrm{MB}$ となた。

正例コーパスのパージングは約 71 秒であった. 1 回目の学習では正例コーパスを用いて最近傍法用事例の生成と強化学習を行った。約 9 分 43 秒かかった. 主記憶の使用量は約 $70 \mathrm{MB}$ で あった. 2 回目の学習では負例コーパスを用いて強化学習を行った (約 20 秒). 3 回目の学習 では正例コーパスを用いて強化学習を再度行った（約 8 分 26 秒）.

ここで，コーパスを用いた強化学習では，「意図クラスおよび継続性」の組の一致する文をグ ループ化して, グループ内の文が全て解析できるまで学習を行った. グループ内での全文の学習とテストを繰り返すが, 最大 30 回を限度とした. 文の学習では, アクション系列の試行を 15 回 (のべ 15 文) 行った. アクション系列は最長で文長の 4 倍（語句単位）までとした. 1 ア クションごとに $Q$ 関数を更新した.

クローズドテストによると, 正解率は $0.995 （ 2,136$ 文成功 $/ 2,147$ 文入力）となった. ここで,出力された意図クラスおよびスロット値が正解の值と完全一致したものを成功とした。ユーザ

に約束する発話文が確実に解析できることが確認できた.

主な誤り事例は以下のとおりである。

例 12 :

発話文：「詳しい観光ガイドをしてください」

出力： serviceGuide.comGuideInDetail() / cont

正解： serviceGuide.comGuideAll() / new

例 13 :

発話文：「レーダーに道の駅を表示してくたさい」

出力： serviceRadar.comSearchTarget (obj=道の駅) / new

正解： serviceRadar.comSelectLandmark(obj=道の駅) / new

例 14 :

発話文：「馬の背を見ます」

正解： serviceScheduler.comInformEvent（msg=馬の背を見）／cont

例 12 , 例 13 は, サービスを操作する台詞がそもそも曖昧であるため発話文解析が誤りとなっ ている。例 14 において, loc は移動先を対応させる仕様であるので，「馬の背」だけをみると 観光スポット名であり場所を表す名詞であるため代入可能に思えるが，「馬の背を見」までみる と観測の対象であり必ずしも移動先とはいえないため誤りである．動詞の結合価を解析してい ないため誤りが生じた.

スケジュールサービスや駐車記録サービスではユーザの体験を表す発話文を解析することが 多い. ユーザの体験談に対しては，サービス用の予約語句が対応しないため，粗い品詞夕グの 列における発話文解析となる。特徴的でないため解析に失敗しやすい。すなわち, 自由発話に 対しては本手法は改善の余地がある。サービスを表さない単語を解析することは今後の課題と する。

## 4.3 追加学習

車載器の操作中に発話文が認識されないことがある。車載器に備わる命令文と同じ意味だが 言い方が異なる場合，および，用語が不足する場合については，それぞれ追加学習が可能であ る。追加学習はユーザが学習を要求する発話を行うことで, 対話的に進められる.

## 4.3.1 命令文の学習

新しい命令文と既知の命令文を指定することで，命令文の学習を行うことができる．以下に その様子を示す。
例 15 ：

（音楽サービスを実行中）

1 ユーザ：「曲は前のにしてください」

車載器 (エラーを表示)

2 ユーザ：「発話文を学習してください」

車載器（曲は前のにしてください，を表示）

3 車載器 : 「別の言い方をしてください」

4 ユーザ：「前の曲にしてくたささい」

車載器 (serviceMusic.comSelect(dir) / cont, dir=前, と認識し表示)

車載器（曲は<dir>前</dir>のにしてください，を表示）

車載器 (未知の用語 なし, を表示)

5 車載器：「これで良いですか」

6 ユーザ :「はい構いません」

車載器 (学習を実行)

7 車載器：「学習しました」

こうして, 最近傍法用事例の追加および強化学習によるルールベースの学習が行われた。こ の例での学習の実行時間は約 2 秒である.

## 4.3.2 語句の学習

新しい語句と既存の語句を指定することで，語句辞書への登録が可能である．以下にその様子を示す.

例 16 :

1 ユーザ : 「単語を学習してください」

2 車載器 : 「新しい語句は何ですか」

3 ユーザ：「楽曲です」

4 車載器 : 「類似する既存の語句は何ですか」

5 ユーザ：「音楽です」

車載器 (new：楽曲, org: 音楽, サービス: 全般, を表示)

6 車載器 : 「これで良いですか」

7 ユーザ :「構いません」

車載器 (語句辞書に「楽曲」を登録)

8 車載器 : 「語句を登録しました」

語句辞書への登録により「楽曲」が「一般的な単語」から「予約語句」になった。すなわち,語句辞書において「音楽/ミュージック」というグループから「音楽/ミュージック/楽曲」とい

うグループになった.

以上の通り, 命令文の言い方の違いや用語の不足に対して追加を容易に行うことができた.

## 4.4 オープンテスト

発話で車載器を操作することについてオープンテストを行う。被験者には車載器のサービス 内容を理解しておいてもらい，非走行の状態で発話で操作を行ってもらう．被験者は大学生 4 名である．被験者は一人ずつ操作を行う．被験者間で操作内容がほぼ同一となるように，シナ リオに沿った操作を依頼した。シナリオは，車載器の利用者の心境を「音楽を聴こうと思いま す」などのように記述したものである。サービスの主要な操作を網羅している。

被験者の発話のうち, 音声認識エラーとなった発話 (28 文), 文法が大きく誤っている発話 (3 文)，スマートウォッチの操作ミスを伴う発話（1文), 存在しないサービスへの発話（13文）の 合計 45 文については無効な発話文とした。無効な発話文は, 総文数の $15 \%$ (45/301) という割合で存在した．音声認識エラーにおいて，地名が誤り易かった．被験者側の問題としては，発 する単語が間延びしたことが挙げられる。これは，発話中に音声認識にタイムアウトが発生す る原因である。この不明瞭な発話は, 被験者がサービス内容（機能・名称）を熟知しておらず，言葉を考えながら発話する際に見られた。ゆえに，ユーザが言い慣れた発話文を追加的に学習 する機能により，無効な発話文が減少する可能性がある.

有効な発話文については，成功文と失敗文に分けた。成功文は，サービス，メソッド，スロッ 卜値が正しく解析できた文である。成功文数 $S$, 失敗文数 $F$ を含む次式により解析性能を精度 $A$ で評価する。

$
A=\frac{S}{S+F}
$

実験結果を表 7 に示す。発話文の解析が失敗となった際，別の言い方で発話をしてもらい， シナリオを進めた．被験者からの感想によると，サービス名や操作の言い方を考えることに手間取ったという。もし取扱説明書を読んでおき, 主要な用語を覚えていれば, より円滑に命令

表 7 オープンテストの結果

を発話できたことと思われる。シナリオを達成することができたことより, 全体の精度が 0.81 とは本稿の場合では支障のない水準であると解釈した.

失敗文を分析した結果を表 8 に示す。命令文の網羅性が不足すること，語句の網羅性が不足 することが主な解析誤りの原因である，前者は，格要素の順序の違い，「は」と「を」の使い分 けについて網羅性が不足した。スロットフィリングのために用いた強化学習では，人の目でみ て僅かな違いの状態同士であったとしても，全く異なる状態として扱うため，訓練用コーパス においては格要素の順序や助詞の種類について網羅的に用意する必要がある. 非命令文による 命令とは，ユーザが主語となる操作に見られる意図の表現である。「ブラウザを使いたい」とい う心境がシナリオに示されたことに対して，「ブラウザを使います」という宣言を車載器に伝え ることで「ブラウザの起動」を被験者は狙った。ゆえに，今後，命令文のコーパスを構築する 際，コーパスの基本的な網羅性を高めるために，ユーザを主語にする言い方と，システムを主語にする言い方の両方を想定するべきである.

語句や発話文の網羅性を解消するために，学習サービスが車載器に備わっている．格要素の 順序や助詞の違いによる失敗は学習できる。例えば，「この旅館を説明してくたさい」は既に受理可能であり，「説明する」と「教える」が同義として語句辞書に登録されているので，「を」を 使う事例の他に「について」を使う事例として「この旅館について教えてください」を学習す ることが可能である。「（音楽を）始める」が音楽サービスにおいて「再生する」と同義である ことを語句の登録として実行できる。車載器のユーザは，自分の慣れた言い方を学習させるこ とができる.

本実験において学習の可能な事例は， 37 件であった．語句や発話文の追加学習の効果を表 9 に示す. 以上により，本稿の提案手法はサービスの実行を命令する上で十分な性能を有するこ とが確認できた，たたし，車載器に必ず受理される言い方や語句をユーザが確実に発話する必要がある。実利用においては追加的な学習が不確実である。追加的な学習を確実に行う仕組み については今後の課題である.

表 8 失敗文の分類

表 9 学習可能性の評価結果

## 4.5 比較実験

意図解析およびスロットフィリングにおいて一般的な方法と比較を行う。一般的な方法は,識別器および素性に関して幾つかの組み合わせがある。識別器には，サポートベクトルマシン (SVM)，ロジスティック回帰（ここではLR と略す），ニューラルネットワーク（ここでは NN1， NN2 と略す), 条件付き確率場 (CRF) を挙げる。素性には, 単語のみ, 単語および品詞の n-gram を挙げる。ここで, 提案手法は学習器が最近傍法および強化学習であり, 素性はサービス別アレ イを参照して得られるタグの n-gram である。ゆえに，比較のため SVM/CRF においてもサー ビス別アレイを参照する実験を行う。

評価の観点は, 4.4 節の精度 $A$ だけでなく, 小型計算機での実行可能性も含める. 小型計算機は, サービスの提供が主目的である。言語処理のための学習と解析に CPU および主記憶を多 く使用することは望まない。具体的には，Raspberry Pi 3 を想定し， CPU が $1.2 \mathrm{GHz} 4$ cores,主記憶が 1 GB というハードウエア上での動作を要求する。サービスのために CPU 2 cores,主記憶を $300 \mathrm{MB}$ 使用する。ビデオ RAM および共有メモリ用に $600 \mathrm{MB}$ を使用する。ゆえ に，言語処理には CPU を 2 cores，主記憶を $100 \mathrm{MB}$ を使用することを想定する.

比較手法においては，実装すると実行条件が充足できないものがある。一般的な計算機とし て CPU が Intel Core i5, 3.3 GHz, 4 cores, 主記憶が 16 GB のものを用いる.

クローズドテストを通じて，精度，使用する主記憶，および，学習時間を比較する。オープ ンテストを通じて精度を比較する。

クローズドテストにおける比較結果を表 10 に示す. NN1 および NN2 は, Python, Tensorflow， Keras をバックボーンとし, Embedding + LSTM + MultiDenseLayers という構成とした. NN1 では Dense 層を 2 つ, NN2 では Dense 層を 3 つとした。語彙数の上限を 1,024 , 最大文長を 20 , バッチサイズを 32 , エポック数を 1,600 とした. LR は, Python, scikit-learn をバックボーン とした. SVM は TinySVM を使用し one-vs-rest を行った. ここで正例と負例に同一のべクト ルが与えられ得る際は正例のみを与えた． CRF は CRF++を使用し CPU の割当てを 2 cores に制限した上で $\mathrm{CRF}++$ のサンプルにあるテンプレートを利用した。なお， $\mathrm{NN} 1, \mathrm{NN} 2$ および LR は学習時間および主記憶を多く要するため小型計算機による実行を行っていない。意図解析とスロットフィリングの両方を解析することも, 小型計算機で実行可能な手法のみを示した.

意図解析では曖昧性の問題で精度が 1.0 にはならなかった. NN1, LR および SVM において
表 10 クローズドテストにおける比較結果

} & \multicolumn{2}{|c|}{ 学習時間 } \\

※テスト文数は 2,147 文.

SVM の精度が低い．SVM では単語や品詞の重要度が学習されないためである。サービス別の 素性では重要な語句のみがべクトル化されるため改善したと解釈する．提案手法での最近傍法 も 1-best では SVM と同程度の精度であるかもしれないが, 複数候補を残し，スロットフィリ ングの結果を用いて総合的に選択を行うため精度が高いと解釈する。スロットフィリングにお いては，例えば，都道府県名を<loc>とする場合と<pref>とする場合があるため精度が 1.0 には ならなかった．意図とスロットの両方を正しく解析することを評価したところ，提案手法の精度が良いことを確認できた。素性をサービス別に用意することも有効であることが確認できた。

オープンテストにおける比較結果を表 11 に示す. NN1 および NN2 は単語の網羅性による問題が大きい．多様な表現を含むコーパスからの学習や，外部リソースによる Embedding 層の学習を行えば改善すると思われる（本実験は簡易実装により実行可能性を調べた実験である。一般でのニューラルネットによる手法を否定するものではない)．LR は一般的な識別器において 性能が良かった． CRF はスロットフィリングに有効であることが確認できた． CRF によるス ロットフィリングでは素性による精度の差が小さかった。意図とスロットの両方を解析する際 は意図の識別性能の低さのため精度が悪くなった。提案手法はいずれにおいても相対的に良い 精度であった。

一般的な方法を用いるとすれば，主記憶の使用量からみると SVM+CRF があげられる。し かし，本稿では言い回しの違いを追加的に学習するため, CRF の使用はできない. 数事例の追加であっても全事例を用いた再学習が発生することがデメリットである。ただし, 追加的な学習を不要とするならば CRF の使用は否定されるものではない。一方，提案手法では追加する
表 11 オープンテストにおける比較結果

※テスト文数は 256 文.

事例のぶんだけ強化学習を実行すればよいためこのデメリットがない 4.

## 5 考察

本章では，まず，語句辞書の設計はサービスの設計とともにあるため手動による基礎の構築 は必然であることを述べる．次に，定型的な発話文を受理する予定であってもパターンベース の解析手法では柔軟性に欠けるため採用しなかったことを述べる。最後に, 強化学習ではコー パスの正確性が要求されることを述べる.

## 5.1 語句辞書の設計

一般の自然言語処理では，言語解析結果を利用する側の情報を解析の段階に持ち込まない.す なわち, 言語解析のモジュール性が高い. しかし, 本稿では, サービスと発話文解析のモジュー ルの関係が強いことを前提とする。とりわけ，語句辞書は，サービスを設計すると同時に設計 される必要がある，本節では，語句辞書の設計について述べる.

語句の種類には，サービスや機能を表す語句や，操作量を表す語句があることを述べた。サー ビスの実行のための発話文では, これらの語句が含まれるはずである，例外は，ユーザの体験談や行動予定を車載器に述べる場合，および，音楽や観光地などを検索するクエリのみを発話 する場合である。サービスを設計する際，サービス名，メソッド名，操作量を表す語句を必ず設
^{4}$ ただし，検証のため同一の $Q$ 関数を用いる事例をテストすることが望ましいが，それを行ったとしても，本実験 における識別器の中では最小の時間で学習できる。
}
計する。語句辞書の作成はその過程で生じるため負担ではない。他のサービスと語句のグルー プが競合する場合でも，サービスごとに語句辞書を構築するため，競合に配慮しやすい.

サービス間で共通とする語句辞書を認めている。その場合, 車載器の全体のバージョンアッ プがあり，サービスの追加がある際は注意が必要である．新たに追加されるサービスが，共通 の語句を特別な意味で使うものであれば，共通語句辞書からその語句を外す必要がある．既存 のサービスのうちその語句を用いているならば，そのサービス用の語句辞書にこれまでのその 語句の定義を移動する必要がある。

## 5.2 パターンベース手法との比較

サービスが確定して命令文が確定したならば，発話文の解析方法として文型パターンを用い る方法が挙げられる。本稿で，文型パターンを用いなかった理由を述べる。

文型パターンは，字面，変数，演算子等で構成することがある．大規模なパターン辞書を構築した鳥バンクでは，文の意味を捕まえるためにこれらの記述子が用いられた (池原，阿部，徳久，村上 2004). 文型パターンには次の弱点があるため, 本稿では用いなかった.

・ 発話文の事例から文型パターンを自動的に生成することが難しい

・ 変数や記号が対応する語句を定義することが難しい

・ 文型パターンの一部の特徴を利用することができない

発話文の事例から，変数化する部分を決めることは， スロットの対応する部分を決めること と等価であり，スロット名の夕グ付き文を利用することで実現できる，しかし，文型パターン には，文とパターンの照合が柔軟に行えるように，語順の入れ替え可能な箇所，任意に修飾表現を插入できる箇所を示す記号を組み込む必要がある。また, さらに，名詞句の変数や地名を 表す変数が導入されたとして，その変数に適合する条件を定義する必要がある．任意に修飾表現を挿入できる箇所を示す記号においても同様に定義を与える必要がある。それらの定義は, サービスごとに異なるものであるが, 発話文の事例集が改訂されるごとに見直しが必要である.文型パターンは 1 文の構造を表すのだが，語句の合成の仕方が複数通り存在し，そうした合成 の仕方が複数種類の組み合わせで 1 文が構成されるとき，組み合わせ数が膨大になる．例えば，「場所+に/へ」の言い方と「時間＋に/まで/より/から」の言い方が組み合わさるとき, 16 通り になる，助詞の組み合わせと，格要素の入れ替えを記号で表すことで 1 通りの記述に抑えられ ているが, そのためには手動での分析が必要となる.

本稿の強化学習では, 語句へのタグの 5-gram を参照した状態認識を行っている，字面の 5gram を参照するのでは状態数が多すぎるので，夕グの 5 -gram としている（たたし助詞は字面 と対応したタグ)。これにより，スロットに代入可能な部分の定義や, 助詞の組み合わせ方につ いて強化学習において学習される。なお, チャンキングを簡単なルールで行っているが, その 結果に応じて強化学習が文の部分構造（パターン手法でいうところの変数定義）を学習するた

め，チャンクルールの性能はあまり重要ではない。また， $Q$ 関数をサービスごとに使い分けて いる。そのためサービスに応じた文の部分構造が学習される。

## 5.3 強化学習を用いる上での難しい点

強化学習は，マルコフ決定過程に基づく判定を行っている。ゆえに，必ず解があり十分な状態の定義と十分な試行が行われるのであれば，学習は収束し，解析も正しい，学習用の発話文 コーパスにおいて，スロットの対応箇所を表すタグの付与が一貫していれば正しく学習と解析 が行われる。しかし，コーパスにおいて矛盾する箇所が 1 つでもあれば学習が収束せず，解析時 にも誤りが生じやすくなる，例えば，「地図を<io>拡大</io>してください」とする事例と「鳥取の地図をくio>拡大し</io>てください」とする事例が混ざっている場合，io夕グの範囲に矛盾があるため，正しく学習されない，コーパスを正確に作成する必要がある.

追加学習において，ユーザがスロットの対応箇所を指定するならば，学習に失敗する恐れが 生じる，本稿では，受理された類似文を用いるため，スロットの対応箇所は文字列レベルで一致するようにした。これによりユーザによる誤った学習事例の使用を低減した.

しかし，誤った学習をした場合，そこから回復させる直接的な方法がない．正しい事例の学習を再度行うことで回復が可能だが, 強化学習での試行回数が多くなる場合は学習時間を要し,主たるサービスの実行に支障の生じる恐れがある.

## 6 おわりに

本稿では，小型計算機における多様なサービスを発話で操作することを目標として，発話文 の解析と学習の手法を示した.

小型計算機は，自動車旅行を支援する車載器であり，そこでの 163 種のサービスとその多様 な操作を行うために発話文解析を必要とした。操作のための基礎の発話文が必ず受理され，か つ, 異なる発話文の受理も可能であること, さらにこれらのための言語解析と学習を低い計算 コストで行うことが要件にあった.

本手法の解析は, サービスに依存した品詞・語義・チャンクの解析, 発話意図解析, および, スロットフィリングを行うものである。発話文への品詞や語義などの夕グ付与をサービスの種類ごとに実施し，それぞれのパージングのアレイに結果を格納することとした．語義やチャン クの曖昧性解消がサービスに合わせて行われた。文脈情報として実行中のサービスを参照した ところ，サービスに応じた語句の情報を得ることができ，最近傍法による発話意図の解候補を 限定することができた．強化学習による $Q$ 関数をルールベースとし，ルールベースによるス ロットフィリングを実現した， $Q$ 関数の参照する状態には夕グ n-gram やスロットの代入状況 などを含めた。意図解析の解候補についてスロットフィリングを実行し，意図解析とスロット

フィリングにおいて同時に望ましい解析結果となるものを発話文解析結果として選択した。一方，学習に関しては，サービスの設計時に，語句辞書やチャンクルール，および，規定となる 命令の発話文セット（コーパス）が定まることとした。意図解析のための最近傍法用事例の生成，および，スロットフィリングのためのルールベース（ $Q$ 関数）は車載器のサービスの開始以前にコーパスから学習した。主たるサービスの実行時においても，同義・同類の語句の追加, および，既存の発話意図と同義で新しい言い回しの発話文の追加を可能とした.

評価実験において，発話文の解析精度は，クローズドテストにおいて 0.99 およびオープンテ ストにおいて 0.81 という結果がそれぞれ得られた。小型計算機において，主たるサービスの実行を妨げること無く，発話文の解析と学習をスタンドアロンで行うことが可能であることを確認した。サービスと言語処理の結び付きが強い中で，車載器におけるサービスの増強に対して，本手法はコーパスと語句辞書への単純な追加・修正で対応できた.

以上のとおり，既存の研究において発話文解析に有効とされる要素を踏襲しながら，サービ スに向けたパージングのアレイおよび強化学習によるスロットフィリングを解析手法に導入し た本手法は，小型計算機における応用システムにおいて有効であることが確認された。

## 謝 辞

本研究は JSPS 科研費 JP19K12548 の助成を受けたものです.

## 参考文献

Bunt, H., Petukhova, V., Traum, D., and Alexandersson, J. (2017). "Dialogue Act Annotation with the ISO 24617-2 Standard." In Multimodal Interaction with W3C Standards: Toward Natural User Interfaces to Everything, pp. 109-135.

福岡知隆, 白井清昭 (2017). 対話行為に固有の特徴を考慮した自由対話システムにおける対話行為推定. 自然言語処理, 24 (4), pp. 523-546.

池原悟, 宮崎正弘, 白井諭, 横尾昭男, 中岩浩巳, 小倉健太郎, 大山芳史, 林良彦 (1997). 日本語語彙大系. 岩波書店.

池原悟, 阿部さつき, 徳久雅人, 村上仁一 (2004). 非線形な表現構造に着目した重文と複文の 日英文型パターン化. 自然言語処理, 11 (3), pp. 69-95.

工藤拓, 山本薰, 松本裕治 (2004). Conditional Random Fields を用いた日本語形態素解析. 情報処理学会研究報告自然言語処理 (NL), 2004 (47), pp. 89-96.

Liu, B. and Lane, I. (2016). "Joint Online Spoken Language Understanding and Language Modeling with Recurrent Neural Networks." In the SIGDIAL 2016 Conference, pp. 22-30.

Liu, B. and Lane, I. (2018). "End-to-End Learning of Task-Oriented Dialogs." In NAACL-HLT 2018, Student Research Workshop, pp. 67-73.

長井敦，呉剣明，加藤恒夫，山本誠一 (2018). Attention-based RNN model を用いた日本語モ ジュールの意図クラス推定とスロットフィリングにおける未知語対策. 言語処理学会第 24 回年次大会発表論文集, pp. 1054-1057.

Raymond, C. and Riccardi, G. (2007). "Generative and Discriminative Algorithms for Spoken Language Understanding." In INTERSPEECH 2007, pp. 1605-1608.

Watkins, C. and Dayan, P. (1992). "Q-Learning." Machine Learning, 8, pp. 279-292.

Williams, J. D. and Young, S. (2007). "Partially Observable Markov Decision Processes for Spoken Dialog Systems." Computer Speech and Language, 21, pp. 393-422.

## 付録

## A. オープンテストにおけるシナリオ

ノートパソコンにプレゼンテーションソフトの画面を表示し, シナリオを被験者に提示した.下記の通番は，被験者に提示する 1 画面ぶんの情報である。音楽，地図などの見出し（下線部） も提示した。なお，シナリオ中盤の (13) は，運転手が行うべきでない操作である．実験の緊張 をほぐす目的で状況を設定した。

(1) 実験準備
- 心境を指定するので口頭で命令してください.
- 車載器に命令するときの口調

「ですます」調. 〜してください

音楽

(2) 音楽を聞こうと思います.

(3) 駐車場の人と話をするところです。音楽をとめようと思います.

(4) 再び音楽を聞こうと思います.

(5)この曲に飽きました。別の曲を聞こうと思います.

地図

（6）国道 29 号線を走っています。青い標識を見て，右折した先が気になりました.

※ 実験時には写真を掲載. 写真 : 右折先は国道 429 号線, 朝来方面.

(7) 地図の字が小さくて読めません.

(8) 北の方を見たいと思います.

観光レーダ

(9) 退屈です. 観光地がないかレーダを見たいです.

(10)とりあえず何かガイドをしてもらいたいです.

(11) 鳥取砂丘に着く前に Wikipedia で調べようと思います.

(12) ガイドをとめたいと思います.

ビデオ

(13) 高速道路にのりました. 中国自動車道はガラガラなのでビデオをみようと思います.

(14) 別のものを見ようと思います.

(15) ビデオをやめます.

ブログ

(16) ブログの話を聞こうと思います.

(17) ブログの話はやめます.

駐車記録

(18) 記録を残します.
- 見た物，食べたもの，行ったところ
- 楽しい，つまらない
- 「以上です」で終了

天気

(19) 今日の天気が気になります。天気図を見ようと思います.

(20) 降水状況が心配です.

(21) 岡山の天気を調べようと思います.

観光スポット・ブラウザ

(22) 観光スポットを調べるためにブラウザを使いたいと思います.

(23) ラーメン屋の記事を読みたいと思います.

(24) 場所を知りたいです.

スケジュール

(25) 予定をたてようと思います.
- 18 時にラーメン屋に行きます.
- その前にイオンに行きます
- やっぱり，順番を変えます.
- 「以上です」で終了

シャットダウン

（26）車を駐車しようと思います。シャットダウンをします.

## 略歴

徳久 雅人：1995 年九州工業大学大学院情報工学研究科博士前期課程修了. 1995 年九州工業大学情報工学部助手. 2002 年鳥取大学工学部助手. 2010 年 2 月よ り鳥取大学工学部講師. 博士 (工学). 自然言語処理を応用した観光情報処理 の研究に従事.

木村 周平：1998 年京都大学大学院工学研究科修士課程修了. 2001 年東京工業大学大学院総合理工学研究科博士後期課程修了. 2001 年 4 月理化学研究所ゲ ノム科学総合研究センター研究員. 2004 年 10 月鳥取大学工学部准教授（助教授)。2014 年 1 月より鳥取大学工学部教授. 博士 (工学)。進化計算, バイ オインフォマティクスなどの研究に従事.

(2018 年 12 月 19 日 受付 $)$
$(2019$ 年 4 月 5 日 $\quad$ 再受付 $)$
$(2019$ 年 5 月 22 日 採録)

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