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

ニューラルネットワークによる教師なし単語分割
友利 涼 † 森 信介 †††京都大学大学院 情報学研究科††
京都大学 学術情報メディアセンター
tomori.suzushi.72e@st.kyoto-u.ac.jp, forest@i.kyoto-u.ac.jp

1

はじめに

ここで、dn はディスカウント係数、θn は Gn が平均的

日本語や中国語のように単語の境界が明示的に与えに基底測度 Gn−1 に似ているかを制御するパラメータである。これによりユニグラム分布からバイグラム分られない言語では、単語分割は構文解析などの後段の布が、バイグラム分布からトライグラム分布が生成さ処理に必要なタスクであり、それらの言語の自然言語れる。実際に文脈 h が与えられたときの n-gram 確率処理において不可欠な技術になっている。一般的な単は、文脈 h が与えられたときの w の出現回数 p(w|h)

語分割では、大量のアノテーション付きテキストを用と単語 w が 1 つ短い文脈 h′ から生成されたと推定さいた教師あり学習手法がよく用いられる。しかし、単れた回数 thw を用いて以下の式から再帰的に計算さ語分割が付与されたコーパスが存在するドメインや言れる。

語は限られており、アノテーション付きテキストを必要としない単語分割手法が求められている。

p(w|h) =教師なし単語分割の研究には Nested Pitman-Yor

Language Model (NPYLM) に基づく単語分割 [3] が提案されている。これは観測された文字列を単語 ngram 言語モデルが最適 (予測力最大) となる単語列へ分割するノンパラメトリックベイズ手法である。しかし、近年、リカレントニューラルネットワーク (RNN) による言語モデルが提案されており、n-gram 言語モデルよりも性能が良いことが知られている。そこで、RNN言語モデルを用いた教師なし単語分割を提案する。

2

関連研究

NPYLM[3] は分かち書きされていない文を単語 ngram 言語モデルが最適 (予測力最大) となる単語列へ分割する手法である。これは階層的 Pitman-Yor 言語モデル (HPYLM)[5] を拡張することで文字列から言語モデルを構築し、言語モデルを最適化するような単語列を得ることができる。
HPYLM は Pitman-Yor 過程に基づくノンパラメト
リックベイズの n-gram モデルであり、以下の式のよ
うに (n − 1)-gram 分布が n-gram 分布を生成すると仮定している。

c(w|h) − d · thw
θ + d · th·+p(w|h′ )θ + c(h)θ + c(h)ここで、th· = Σw thw , c(h) = c(w|h) とした。

NPYLM では部分文字列の単語らしさを推定するために、HPYLM を ∞-gram モデルに拡張した
VPYLM [2] を用いて文字モデルを構築し、単語モデルの HPYLM のゼログラム基底測度に文字モデルのVPYLM をネストする。学習の際には MCMC 法を使い、前向き後向きアルゴリズムにより確率的に単語分割を行う。最大単語長を L としたとき、部分文字列
c1 c2 · · · ct = ct1 の最後の k 文字を単語として生成する
前向き確率 α[t][k] は以下の式で表され、文末まで再帰的に計算していく。
α[t][k] =L∑p(ctt−k+1 |ct−kt−k−j+1 )α[t − k][j]

(1)

j=1

単語分割位置のサンプリングは、文末から後ろ向きに求まる。文末の特別な記号を EOS とし入力文字列の長さを N とすると、p(EOS|cNN −k )α[N ][k] に比例する
確率で k をサンプリングし、文字列の最後の単語が得られる。その前の単語も今決めた単語に前接するようにサンプリングでき、これを文字列の先頭まで繰り返すことで入力文字列から単語列をサンプリングできる。サンプリングした単語列を通常の HPYLM と同Gn ∼ PY(Gn−1 , dn , θn )様に MCMC の中で削除と再追加を繰り返すと言語モデルを最適化するようなパラメータが得られる。

― 913 ―

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

Pitman-YorHidden

Semi-Markov

Model

3.2

(PYHSMM) に よ る 教 師 な し 形 態 素 解 析 も 提 案されている [6]。これは NPYLM を拡張したモデルで、単語の潜在クラスを品詞とみなし、品詞 n-gramと品詞ごとの単語生起確率を計算することで単語とその品詞をサンプリングする。

単語の生成確率

単語の生成確率 p(wt+1 |w1:t ) の計算において、一般的な RNN 言語モデルでは語彙サイズが制限されてしまうが、教師なし単語分割ではすべての部分文字列が単語となりうるため語彙サイズはあらかじめ設定できない。そこで我々はオープンボキャブラリーによるRNN 言語モデル [1] を拡張する。この手法は直前に出現した v 個の単語の分散表現をキャッシュとして保持

提案手法

3

し、式 (4) のように適当な値 g を用いて文字レベルの本手法は、観測文字列 c1:N = c1 , c2 , ..., cn , ..., cN が与えられたとき、RNN 言語モデルが最適となる単語
列 w1:T = w1 , w2 , ..., wt , ..., wT を推定する。提案手法の概要を図 1 に示す。

言語モデルでスムージングを行う。

−→−→wp(wt+1 | h wt ) = (1 − g)pw (wt+1 | h t ) + gpc (wt+1 ) (4)我々は常に v 個の単語を保持するのではなく、NPYLMのようにサンプリングした単語の削除・追加を行うこ

3.1とで動的に変化する語彙集合 V とそれらの単語の分強化学習によるパラメータ更新

本手法は強化学習に基づいている。強化学習はある環境に対して探索とパラメータ更新を繰り返して環境に適応する学習方式である。c1:n , w1:t まで解析済み−→の場合、現在の状態 h wt から行動 at を選択し、報酬−→rt を受け取り次の状態 h wt+1 に遷移する。ここでの状−→w
態 h t は RNN 言語モデルの隠れ状態を指し、行動 atは次の単語 wt+1 を cn+1 , c(n+1):(n+2) , ..., c(n+1):(n+L)
から選択できる。ここで L は単語となりうる文字列の最大の長さである。言語モデルのスコアを式 (2) とすると、次の単語 wt+1 を選択したときの報酬 rt は、散表現の行列 V θ を得る。語彙集合 V に wt+1 が存在−→するならば、pw (wt+1 | h wt ) の計算は、以下のように単語の分散表現の行列 V θ とクエリベクトル q t の積から計算できる。

−→
θpw (wt | h wt ) = softmaxwt (V q t )−→q t = tanh(W q h wt + bq )スムージング係数 g は、ハイパーパラメータ g ′ を V θ とクエリベクトル q t の積のベクトルに連結し、softmaxを計算したものを用いる。

これまでの w1:t を用いて式 (3) と計算する。ここで

g = softmaxg′ (V θ q t : g ′ )θMC (w1:t , c1:N ; S) は、パラメータ θ に従うモンテカ
ルロ探索により文末までの単語列を S 回サンプリング

ハイパーパラメータ g ′ の値が V θ とクエリベクトルすることであり、これにより言語モデルのスコアの期q t の積のベクトルの各要素に対し、相対的に高い値な待値が計算できる。

らば文字レベルの言語モデルでスムージングする割合

1∑
LM(w1:T ) =p(wt |w1:(t−1) )T t=1が高まる。つまり、次の単語が V のいずれでもないとT(2)予測した場合に g の値が大きくなる。

wt+1 を 構 成 す る 文 字 列 を cn+1:n+k と す る と 、
pc (wt+1 ) は以下のように計算する。

rt =

S
∑

1ss
LM(w1:T), w1:T
∈ MCθ (w1:t , c1:N ; S) (3)S s=1

学習では探索とパラメータ更新を繰り返しながら報酬の和を最大化するような方策を求める、つまり言語モデルが最適となる単語列を求めるパラメータ θ を学習する。実際の学習には、行動 at を選択した場合のpc (wt+1 ) =

k−1
k−1−→
←−1∏1∏p(cn+1+i | h ci ) +p(cn+k−i | h ci )2 i=0
2 i=0−→
ここで h c は順方向の文字レベル言語モデルの隠れ状←−態であり、 h c は逆方向の文字レベル言語モデルの隠れ状態である。

言語モデルの期待値 rt と方策勾配法を用いることで、言語モデルを最適化するような行動を学習することが3.3

でき、単語の生成確率と報酬 rt の積から勾配を計算できる。

ギブスサンプリングによる学習

本手法は NPYLM と同様にギブスサンプリングを行うことで学習を行う。文字列 c1:N があたえられた― 914 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

'()%&!"%& '%&(%) '%&(!"# % & !$##$!

*+,%% %& . /, 0 1 ,%& '%&( 2 1,%) ,'%&(BC!"# #$ !$#;2<=>?@A

6 &'8 &'9: ()*+,6 &'89 &': ()*+,-%!"# " !$#.
% % + , -$ '%(/0 * % %& + -$ '%&(,% %&6 + -$ '%&6(12342-$ %& 3, 7( &'" &'#$ &'%& &568 &'9:()*+,-

図 1: 提案手法の概要
とき、文頭の特別な記号 BOS の分散表現を入力し、−→p(c1:k′ | h w0 ) · r0 (c1:k′ ) に比例する確率で最初の単語

for epoch = 1 to E do

c1:k′ をサンプリングする。その次の単語も同様に c1:k′if epoch > 1 thenfor c1:N , w1:T = randperm(corpus) do
Remove parameters of w1:T from V, V θの分散表現を入力し、サンプリングできる。これを文末まで繰り返す。

end if

サンプリングした単語列は NPYLM と同様にパラSample w1:T , r1:T according to (c1:N , θ)

メータとして削除・追加を行う。本手法では、サンプ

update RNN according to w1:T , r1:T

リングした単語列に対し、方策勾配法に基づき単語レ

Add parameters of w1:T to V, V θ

ベルの RNN の学習を行い、文字レベルの RNN では

end for

通常の RNN 言語モデルと同様に次の文字を予測する

end forよう学習を行う。

図 2: 教師なし単語分割の学習アルゴリズム

V と V θ に単語の追加を行う場合、その単語が V に存在しないのであれば V と V θ に単語とその分散表

表 1: 将棋解説コーパスの諸元
文数 文字数 文字種類数現をそれぞれ追加する。その単語が語彙集合 V に存在するのではあればその単語の出現カウントを 1 増や学習 (分割なし)し、その単語の分散表現を更新する。ここで単語の分散表現には以下のように、文字レベルの順方向と逆方向の最後の隠れ状態を連結して用いる。

−→←−Embed(cn+1:n+k ) = tanh( h ck−1 : h ck−1 )ら単語とその分散表現をそれぞれ削除する。
図 2 に学習アルゴリズムを示す。

46,065

1,167

実験
提案手法の有効性を確認するために、プログラムを実装1 し実験を行った。表 1 に実験で用いたコーパス

単語の削除を行う場合、その単語の出現カウントを 1減らし、もし出現カウントが 0 になれば V と V

42,041

θかの諸元を示す。コーパスには将棋解説コーパス [4] を用いた。このコーパスの単語は UniDic の短単位の基準の活用語尾を分割した超短単位に基づいている。学習に用いた文の 491 文をテストの際に解析した。実験
1 https://github.com/tomoris/unsupervised_nn_ws― 915 ―

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

を行う。パラメータの更新には、ギブスサンプリング
表 2: 単語分割結果
再現率 適合率と強化学習を用いて言語モデルが最適となるように学F値

習を行う。

NPYLM

26.09

41.24

31.96

比較手法よりも提案手法が単語分割を精度よく行え

PYHSMM

34.20

56.05

42.48

提案手法た。今後の課題として、半教師あり学習の際の精度変

60.72

56.10

58.32

化を調査したい。ニューラルネットワークを用いることにより実世界情報を参照しやすくなったため、テキ#$%&'!"# !"$% !"& !"'( !")* !"+ !"&,-./$%()''!"# !"$% !"& !"'( !")* !"+ !"&,-. !"/0123!" !"# !"$%& !"' !"( !")* !"+ !"& !", !"- !"./

ストに付随する実世界情報を参照した場合の分析も行いたい。また、本手法は計算コストが大きいため、高速化についても検討したい。今回は教師なしの単語分割

45!" !"# !"$% !"& !"' !"( !") !"* !"+ !"& !", !"- !". !"/なので、開発セットを用いてハイパーパラメータ等の調節は行わなかった。そのため、比較手法が超短単位の基準から大きく外れてしまった可能性がある。今後

図 3: 提案手法の概要

はハイパーパラメータを変化させたときの分析や異なでは比較手法として NPYLM と PYHSMM を用いた。

NPYLM は、PYHSMM のプログラムで品詞数 Z = 1とし、PYHSMM では品詞数 Z = 15 とした。

るコーパスでの実験、単語長の補正なども行いたい。

謝辞

提案手法のハイパーパラメータとして、文字の分本研究を進めるにあたり、プログラムの一部を提供

散表現の次元数、文字レベルの順方向 RNN と逆方向して頂いたデンソーアイティーラボラトリ及び同社のRNN の隠れ状態の次元数をそれぞれ 100 とし、単語内海 慶氏に謝意を表する。

レベルの順方向 RNN の次元数を 200 とした。RNNのネットワークモデルとして GRU を用いた。スムージング係数を決める g ′ = 0、最大単語長 L = 8 とした。また、提案手法は計算コストが大きく収束が遅いため、PYHSMM ですでに学習・分割された文字列を初期状態として用いた。また、報酬を求めるモンテカルロ探索も計算コストが大きいため、学習の際には S = 1 とした。テストの際には S = 5 とし−→て、p(cn+1:n+k | h wt ) · rt (cn+1:n+k ) が最も大きい文字列 cn+1:n+k を単語として分割した。
表 2 に実験結果を示す。提案手法の単語分割精度が比較手法よりも高いことがわかる。分割結果の一部を
図 3 に示す。提案手法では、文献 [3, 6] のように単語長の補正を行わなかったため、高頻度に出現する文字列を除いて、1 文字単位で分割することが多かった。
そのため、超短単位の基準に適応し、比較手法よりも精度が向上したと考えている。参考としてすべての文字間に単語境界があるとして分割した場合の再現率、適合率、F 値はそれぞれ 72.13、54.54、62.11 である。

5

おわりに
本稿では、ニューラルネットワークに基づく教師なし単語分割を提案した。本手法は、語彙サイズを制限しない RNN 言語モデルに基づいており、適当な値と文字レベルの RNN 言語モデルを用いてスムージング

参考文献[1] Kazuya Kawakami, Chris Dyer, and Phil Blunsom. Learning to create and reuse words in open-vocabulary neurallanguage modeling. In Proceedings of the 55th Annual
Meeting of the Association for Computational Linguistics(Volume 1: Long Papers), pp. 1492–1502, 2017.
[2] Daichi Mochihashi and Eiichiro Sumita. The infinite
markov model. In Advances in Neural Information Processing Systems 20, Proceedings of the Twenty-First Annual Conference on Neural Information Processing Systems, Vancouver, British Columbia, Canada, December
3-6, 2007, pp. 1017–1024, 2007.
[3] Daichi Mochihashi, Takeshi Yamada, and Naonori Ueda.
Bayesian unsupervised word segmentation with nested
pitman-yor language modeling. In Proceedings of the Joint
Conference of the 47th Annual Meeting of the Associationfor Computational Linguistics and the 4th International
Joint Conference on Natural Language Processing of theAFNLP, pp. 100–108, 2009.
[4] Shinsuke Mori, John Richardson, Atsushi Ushiku, Tetsuro
Sasada, Hirotaka Kameko, and Yoshimasa Tsuruoka. A
japanese chess commentary corpus. In Proceedings of theTenth International Conference on Language Resources
and Evaluatio, pp. 1415–1420, 2016.
[5] Yee Whye Teh. A hierarchical bayesian language model
based on pitman-yor processes. In Proceedings of the 21stInternational Conference on Computational Linguistics
and 44th Annual Meeting of the Association for Computational Linguistics, pp. 985–992, 2006.
[6] Kei Uchiumi, Hiroshi Tsukahara, and Daichi Mochihashi.
Inducing word and part-of-speech with pitman-yor hidden
semi-markov models. In Proceedings of the 53rd Annual
Meeting of the Association for Computational Linguistics
and the 7th International Joint Conference on Natural
Language Processing (Volume 1: Long Papers), pp. 1774–1782, 2015.

― 916 ―

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