特集／機械学習の数理 ―基礎概念と実世界における役割―

言語とテキストの機械学習

持 橋

大 地

1. 身近にあふれるテキスト

0.05

世界の IT 化が進むにつれ, われわれの周りには電子化されたテキストがあふれるようになりました. われわれは毎日, 大量の電子メールや SNS の文章を読み書きしていますし, Web ページや SNSにある情報源は, そのほとんどがテキストからなっています. こうしたテキストは, 数学的にはどのようにモデル化されるでしょうか.
いま, 日本語も英語のように単語に分けられているとすると ∗1）, 例えば, 藤原正彦『若き数学者のアメリカ』に出てくる単語を辞書順に横軸に, 頻度を縦軸にとってプロットすると, 図 1 のようになります. 作品の全単語数を N (この場合 N = 104232),
単語 i の頻度を ni と表せば, i の確率 pi はほぼ

pi =niN(1)と思っていいでしょう. 例えば, この作品で「アメリカ」は 231 回現れるので,pアメリカ =231
≃ 0.0022
104232になります. 図 1 はこうした単語の確率を並べたもの, つまり離散的な確率分布ということになります.

0.040.02✁✁☛

0.010.00

数学アメリカ0.03

✁✁✁☛

✁

、が にを人図 1 藤原正彦『若き数学者のアメリカ』における単語の確率分布. 横軸は辞書順の単語です.

p は当然, 作品の内容によって異なりますから,p の確率分布, つまり確率分布の確率分布を考えるのが自然です. このための最も簡単な分布がディリクレ分布とよばれる確率分布で,PV
Γ( V αi ) Y αi −1p(p) = QV i=1pii=1 Γ(αi ) i=1(2)と表され, パラメータ α = (α1 , α2 , . . . , αV ) の値によって図 2 のようにさまざまな形をとります.

αi > 1 のときは上に凸ですが, αi = 1 のときは式(2) により一様分布, αi < 1 のときは下に凸な分布となり, 一部の pi が非常に大きく, 残りが 0 に近い偏った分布となります. 図 1 でみたように, 言語の場合はほぼ αi < 1 が当てはまるのは明らかでしょう. ディリクレ分布に従う p の期待値は, α

語彙が V 個のとき, これを p = (p1 , p2 , . . . , pV )を総和 1 に正規化したと書きましょう. こうした p は離散分布, またはα2αV (3),...,α ααPとなります. ここで, α = i αi と書きました.

サンプル数を 1 に固定した多項分布とよばれます.
*1） 日本語の場合, MeCab のような形態素解析器とよばれるソフトウェアを使うと, % mecab -O wakati input.txt のようにして入力テキストを単語に分割できます.

数理科学

NO. 662, AUGUST 2018

E[p|α] =α1,ディリクレ分布を使うと, あるテキスト w =1

p(w) =
62.5
2

==

PV
Γ( i αi ) Y Γ(αi +ni )PΓ(N + i αi ) i=1 Γ(αi )

1.5

2
0
1

0.8

0.6

0.4

0.2

0

1

0
0.2
0.4
0.6
0.8

00.5
01

0.2
0.4
0.8

0.4

0.8
0.2

1.0

1.0

1.0

1.0

0.8

0.8

0.8

0.8

0.6

0.6

0.6

0.6

0.4

0.4

0.4

0.4

0.2

0.2

0.2

0.2

0.0

0.0

0.0

0.0

01(7)PVVYni Γ( i=1 αi )i −1
pi · QVpαdpiΓ(α)
ii=1i=1i=10.6
0.6p(w|p)p(p)dp

Z YV41Z(8)と表すことができます. これをディリクレ–多項分
布あるいは Pólya 分布とよびます1) .

α = (0.2, 0.2, · · · , 0.2)

式 (8) は α が与えられた下での一つの w の確率

図 2 ディリクレ分布の確率密度 (3 次元の場合)と, そこからサンプルされた多項分布 p の例 (5 次元の場合).

であり, これから α を知ることはできません ∗2）.

w1 w2 · · · wN ) は次のようにして生成されたとモがあり, d 番目のテキスト wd での単語 i の頻度をデル化できます.

ndi とおけば, 全体の確率は式 (8) の積ですから,α = (2, 2, · · · , 2)•

まず多項分布 p ∼ p(p) が生成され,•n = 1, . . . , N について, wn ∼ p を生成.
このとき, w の中で単語 i が現れた回数を niとおけば, p(w|p) =nii=1 pi ですから, 逆に w

QV

しかし, テキストが複数あれば最適な α を知ることができます. いま, D 個のテキスト w1 , . . . , wD

p(w1 , . . . , wD )PDVY
Γ( i αi ) Y Γ(αi +ndi )P=(9)Γ(Nd + i αi ) i=1 Γ(αi )d=1を知ったときの p の確率分布は, ベイズの定理にとなります. 式 (9) は二階微分をとると α につよれば, 式 (2) を用いるといて上に凸であることがわかりますので, 例えば

p(p|w) ∝ p(w|p)p(p)(4)PVVYΓ(αi ) Y αi −1pipni i · Q i=i Γ(αi ) i=1i=1∝VYpiαi +ni −1(5)i=1となり, これは (α1 +n1 , . . . , αV +nV ) を新しいパラメータにもつディリクレ分布です. よって, その期待値は式 (3) から,

ni + αini + αiE[pi |w] = P=(n+α)
N +αii id/dx log Γ(x) としてPD
Ψ(ndi + αi ) − Ψ(αi )′αi = αi · PD d=1
PPi αi )i αi ) − Ψ(d=1 Ψ(Nd +(10)を各 i = 1, . . . , V について収束するまで繰り返すことにより, α を最適化することができます.
たとえば『若き数学者の〜』には「カナダ」は(6)となります. これは, 頻度がゼロ (ni = 0) の単語にも, αi /(N + α) の確率を与えることに注意しま
しょう. これにより, 式 (1) と異なって, たまたま頻度が 0 でもすべての単語に正の確率を与えることができます.
なお, p について期待値をとって積分消去してみると, w の確率はNewton 法を用いて求めることができます. 導出は若干面倒なため, 文献1) に譲りますが, Ψ(x) =一度も現れませんが, 標準的な新聞記事 10000 記
事を使って最適化すると, αカナダ = 0.03,i αi =454.11 となりましたので, 式 (6) による確率は 0ではなく,pカナダ =0 + 0.03= 2.87×10−7104232 + 454.11と計算することができます.
*2） 単独の w について式 (8) を α に関して最大化すると,αi = 0 が解として得られてしまいます.

2P図3

隠れマルコフモデル (HMM) の構造.

2. 潜在状態の導入
上の話では簡単のため, 各単語は独立に生成されるとしていました. 実際には単語の間には依存関係があり, 上の話をその場合に拡張する (n グラムモデルとよばれています) ことも可能ですが, ここでは別の生成過程を考えてみましょう.
言語の単語には一般に, 動詞や名詞, 形容詞のように品詞があると言われています. 英語の場合は主語である名詞の後には動詞が, 形容詞の後には修飾される名詞が続くことが多いので, たとえば
「名詞–動詞–冠詞–形容詞–名詞」という品詞列がまずあり, それぞれの品詞から表層の単語が生成されて “She reads a long book.” のような文が生まれた, という単純なモデルが考えられるでしょう. このモデルは, 機械学習や統計学では隠れマルコフモデル (HMM) とよばれています.
数学的には, 隠れマルコフモデルは次のように表現されます. 隠れ状態が K 個あるとし, テキ
スト w = w1 , . . . , wN の各時刻 n での状態を

sn ∈ {1, . . . , K} とおきましょう. このとき, wと隠れ状態の全体 s の同時確率は図 3 のように,p(w, s) =NY

p(wn |sn )p(sn |sn−1 )(11)n=1と表すことができます. ここで p(wn |sn ) は状態

sn から単語 wn への出力確率で, その全体は snごとに, 図 1 でみたような語彙上の確率分布になります. p(sn |sn−1 ) は状態 sn−1 から sn に遷移する遷移確率で, 全体は K ×K 次元の行列です.
すべての単語 wn についてその隠れ状態 sn が分かっていれば, 出力確率と遷移確率は sn ごとにそこから出力された単語と, 次に遷移した状態の数理科学

NO. 662, AUGUST 2018

1
she
to
i
it
you
alice
and
they
there
hethat
who

432
387
324
265
218
166
147
76
61
55
39
37

2
theaher
very
its
myno
his
this
anyour
as

4
andof
in
said
toas
that
for
at
but
with
on

466
343
262
174
163
163
125
123
122
121
114
83

5way
mouse
thing
queen
headcathatterduchess
welltime
tonerabbit

1026
473
116
84
50
46
44
443937363145
4139
3736
35
3434
31
3128
28

3
was
had
said
beis
wentwere
see
could
know
thoughtherself
6
littlegreat
very
longlarge
right
same
good
white
otherpoor
first

277
126
113
77
73
58
56
52
52
50
44429223222222201717
11111010

表 1 『不思議の国のアリス』で無限 HMM の隠れ状態に割り当てられた単語とその回数. 「主語」「動詞」「一般名詞」などの概念が, 自動的に学習されていることがわかります.

頻度を数えて式 (1) または式 (6) を計算すれば得られます. しかし, 通常何百万個もある各単語に人手で状態番号 1, . . . , K を振るのは大変な作業ですし, 未知の言語であればそもそも不可能です.
こうした場合, sn を潜在変数とみなし, 式 (11) の確率を最大化する sn を推定していくことになります. 機械学習の分野では, こうしたモデルは潜在変数モデルとよばれています.
潜在変数 s1 , . . . , sN はどのようにして推定すればよいでしょうか. 単純にはすべての可能性を考えて, 式 (11) による確率を比較すればよさ
そうですが, この組み合わせは K N 個 (たとえばK = 10, N = 1000000 の場合 101000000 個) あり,現実的に計算不可能です. 古典的にはこのために,

Baum-Welch アルゴリズムとよばれる動的計画法

3

図 4 無限木構造 HMM(iTHMM) の概要図. 無限個の分岐と深さをもつ隠れた木構造上の状態遷移を, 単語列のみから学習します.

図 5 2003 年に最初に提案されたニューラルネッ
ト言語モデル5) の概要図.

を用いた方法がありますが2), この方法は統計モきわめて複雑なモデルになります. ノードは無限デルの最尤推定を行うため, 容易に品質の悪い局所解に陥ってしまいます. かわりに, s1 , . . . , sNをランダムに初期化した後で, 図 3 からわかる

sn ∈ {1, . . . , K} の事後確率個あるため, 通常の方法では学習することができませんが, 統計学の分野で提案されたスライスサンプリングと遡及的サンプリングという方法を巧妙に組み合わせることで, 無限の潜在状態の中から適切な状態を Gibbs サンプリングすることがでp(sn |s\sn , w) ∝ p(wn |sn )p(sn+1 |sn )p(sn |sn−1 )きます.

に従ってランダムに sn を更新する Gibbs サンプリングを行うことで, 局所解に陥りにくい隠れマルコフモデルのベイズ推定が行え, 高い性能を示すことが知られています. 上の式は, 統計物理学
でイジング模型の計算などに用いられる熱浴法と基本的に同じものです.
なお, 言語での「品詞」の数にあたる潜在状態の数 K は, ディリクレ分布の無限次元版ともいえるディリクレ過程を使った無限隠れマルコフモ
デルを使うと推定することができます3) .

表1に, 無限 HMM によって『不思議の国のアリス』のテキストの各単語に割り当てられた状態とその回数を示しました. 最近筆者は, 無限隠れマルコフモデルをさらに拡張し, 潜在状態を sn =[ 2 1 3 ], [ 4 ], [ 5 12 7 2 ] のように木構造で推定可能にした無限木構造隠れマルコフモデル (iTHMM)を提案・実装しました4). iTHMM では図 4 のよ
うに, 無限個の分岐と無限の深さをもつ潜在状態の木構造から, データを最もよく説明する木とそ

3. 非線形モデル
上の隠れマルコフモデルでは, 状態 sn は1, . . . , K または [ 2 1 5 ] のような離散値をとっていました. より表現力を高めるために, これを D次元の実数ベクトルとしてみたらどうでしょうか.
これが現在の深層学習ブームのきっかけとなった,2003 年に発表されたニューラル言語モデル5) です.
ニューラル言語モデルでは, 各時刻での sn ∈ RDに対し, 単語 w にも同じ次元のベクトル表現#– ∈ RD があると考えます. s からの w のwn確率は, 基本的に内積#–T sw
n(12)に比例して定まる, としましょう. 式 (12) は負になることもありますから, e の肩に乗せてp(w|sn ) =#–T s +b 
exp w
nw
Z(13)の間の状態遷移を学習します. この場合, 状態遷と定義すれば, 単語の出力確率が得られます. こ移は通常の HMM のように K ×K 次元の行列でこで bw は単語 w の平均的な確率の対数にあたる書くことはできず, 無限木構造の各ノードに, 次のバイアス項, 分母は分子のすべての単語について時刻の木構造の各ノードへの確率分布が存在するの和である分配関数 Z =4PV

w=1 exp#–T s +b wnw

式 (13) の分母で通常は数万以上になる語彙全体について和をとる分配関数の計算が各時刻 n ごとに必要になるため, 非常に計算量が大きいことに注意してください.
現在ではさらに, LSTM とよばれるより複雑なニューラルネットを使うと, 言語らしい文を簡単に生成できることが知られています. 特に, 機
図 6 Google ニューラル機械翻訳の概要図 (文献 7) から引用). □ は LSTM の状態です.

です. この定義から, 式 (12) は一種のハミルトニアンともいえ, 言語の統計モデルは統計物理とも繋がりを持っていることがわかります.
状態 sn はどのように決めたらよいのでしょう
か. ニューラル言語モデルでは, 図 5 のように直#–#–近の m 個の単語ベクトル w
n−1 , . . . , w n−m を並べたベクトル xn−1 を行列 W で D 次元に線形変換し, tanh で二値化した

sn = tanh(W xn−1 )加えた式で単語の確率を計算します.

その後 2007 年に, n からの位置 j ごとに異なる
行列 Cj を用いて, 二値化なしに

sn =

#–
Cj w
n−j

とき, 対応する目標言語 (たとえば日本語) の文y を生成する問題, つまり p(y|x) からの生成ととらえることができますから, 翻訳関係にある文対 {hxn , yn i|n = 1, . . . , N } を集め, 全体の確率n=1 p(yn |xn ) を最大にする統計モデルを学習

QN

すれば, x から y への機械翻訳を行うことができます.

Google 社は実際に, 2016 年に機械翻訳システムをニューラルネット化し, 翻訳精度が大きく改善されたことが話題になりました. そのシステムは図(14)を状態とし, 式 (13) で bw に x の線形変換 Ax をmX

械翻訳は原言語 (たとえば英語) の文 x を聞いた

6 のように, 入力文の単語列に対応する LSTM の隠れ状態をさらに上位の LSTM の入力とするカスケードを 8 段も重ね, 最終層をまた 8 段の LSTMで目標言語の単語列 y に戻す, という驚異的な構造を持っています. その他にも様々な改善が取り入れられており7) , 仏語 → 英語の 3600 万文対を(15)j=1使用して, 学習には 96 個の GPU を用いて高速化しても 6 日間を要したと報告されています.とするモデルがより性能が高いことが示されました6) . 式 (15) を式 (13) に代入すれば,p(w|wn−1 , . . . , wn−m )Pm #–T#–exp
j=1 w Cj w n−j + bw
=Z

4. 論理表現の機械学習
今までは, テキストの実体としての言葉の確率(16)モデルについてみてきました. 実際には, テキス
トは何か伝えたい命題を表す意味内容を持っておの形になり, 分子の対数が式 (15) の双線形形式

り, 意味内容を捉えることがより重要であるはずになることから, このモデルは対数双線形 (Log-です. 古典的には意味解析とよばれるこの分野も,bilinear) 言語モデルとよばれています.

機械学習の高度化によってより数理的に捉えられこうしたモデルのパラメータ θ は, 観測語 wnが得られるごとに, 最も基本的には確率的勾配法

θ(t) = θ(t−1) + ǫ∂
log p(wn |wn−1 , . . . , wt−m )∂θによって最適化します. 上式での微分の計算には,数理科学

NO. 662, AUGUST 2018

るようになりつつあります.
例えば, “He reads the book.” と “The bookreads him.” は意味が異なりますし (後者は通常あり得ないでしょう), 前者から「誰かに読まれる本がある」という命題は真であることが導かれるは

5

πIOBJ (F2 ) = F3

TF2 "= ∅­J{ ⊂ ¬g 4T­J{ ⊂ F1F3 ⊂ ­J{
F3 ⊂ F 1
F3 ⊂ F1 ∩ F4F3 ⊂ F4F3 "= ∅¬g 5F5 "= ∅

図7

¬g 8
¬g 6
¬g 4F1 ∩ F4 "= ∅OBJ (F5 ) = F1 ∩ F4!"#$ %&'()*+teacherskill
heshe!,#$ %&'()*+skilllessontechniqueexperience-./012 %&'()*+otherness
intimacy
femininitylife

集合論に基づく論理的推論 (左) と, ベクトル表現と論理の組み合わせによる, 動詞に役割別に関係している語の学習 (右).

ずです.
これを数学的に表すために, 田ら∗3）は最近,3456 7,#$ 8

u渡す , 主語や目的語を取り出す行列 MSBJ , MOBJを最適化します. これにより, 同じ “learn” でもDCS と呼ばれる意味表現を拡張し, 集合に対す主語や目的語, 補語になるものを図 7 右のようにる論理演算として意味を表現する方法を示しまし

区別して学習でき, 複合動詞も表現できるなど多た . 入力文が係り受け解析されているとき, 例え

くのメリットがあり, 意味関係のタスクでも高いば「太郎が本を渡す」は図 8 上段のように解析さ精度を出すことが報告されています. 言語の深いれ, これを集合数理モデルは, まだ研究が始まったばかりです.

8)渡す ∩ (太郎SBJ × 本OBJ )参考文献で表します. これは,「渡す」を行いうる主語 (SBJ)

1) Thomas P. Minka. Estimating a Dirichlet distribution, 2000. http://research.microsoft.com/と目的語 (OBJ) の集合の直積と, 具体的に「太郎」
˜minka/papers/dirichlet/.
2) Christopher D. Manning and Hinrich Schütze.と「本」の意味する集合の直積との交わりをとっFoundations of Statistical Natural Language Proた集合が命題の内容であることを意味します (偽cessing. MIT Press, 1999.
であれば空集合になります). こうして全てを集合
3) Jurgen Van Gael, Andreas Vlachos, and Zoubin
Ghahramani. The infinite HMM for unsupervisedで表すと, 集合に対する公理と包含関係から推論PoS tagging. In EMNLP 2009, pages 678–687,が行えます. たとえば, 図 7 左では「太郎が教科書
2009.
4) 持橋大地, 能地宏. 無限木構造隠れ Markov モデルにを読む」と「竹取物語が教科書にある」から, 「太よる階層的品詞の教師なし学習. 情報処理学会研究報郎は竹取物語のある教科書を読む」が真であるこ
告 2016-NL-226, 12:1–11, 2016.
5) Y. Bengio, R. Ducharme, P. Vincent, and C. Jauとが推論されています.
vin. A neural probabilistic language model. Jour上では「本」や「読む」とnal of Machine Learning Research, 3:1137–1155,
2003.
いった言葉の意味を表す集合
6) Andriy Mnih and Geoffrey Hinton. Three newを事前に準備しておく必要
graphical models for statistical language modelling. In ICML 2007, pages 641–648, 2007.
がありましたが, 田らはさらCopyright(C) 2014 The Association for Natural Language Processing.
7) Yonghui Wu, Mike Schuster, Zhifeng Chen,にそれらをベクトルで表し,Quoc V. Le, and Mohammad Norouzi. Google’s
Neural Machine Translation System: Bridging the
教師なし学習する Vector図 8 DCS 木.
Gap between Human and Machine Translation,
9)valued DCS を提案しまし!
$ $)* $ 2016. arXiv:1609.08144.
8) Ran Tian, Yusuke Miyao, and Takuya Matsuzaki.
た. この方法では, 「花子が読む本を太郎に渡す」
Logical Inference on Dependency-based Compoという文を表す図 8 の DCS 木において, そうしsitional Semantics. In ACL 2014, pages 79–89,て渡された本が存在することから, 部分パスに当2014.
9) Ran Tian, Naoaki Okazaki, and Kentaro Inui.
たるLearning Semantically and Additively Compositional Distributional Representations. In ACL
−1−1
Tv読む
MOBJ MSBJ
MSBJ MOBJu渡す
2016, pages 1277–1287, 2016.

✂✄☎
✆✝

✁

✞✟

✠✡の値を大きくするように, 言葉のベクトル v読む ,*3） 田然氏 (産総研) は, 数学 (代数幾何) で博士号を持っています.

6✄☎✁☛☞（もちはし・だいち，統計数理研究所）