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

2 ツイートを用いた対話モデルの構築
東中竜一郎 1

1

川前徳章 2

貞光九月 1 南泰浩 3 目黒豊美 3 堂坂浩二 3
1
NTT サイバースペース研究所
2
NTT コムウェア株式会社
3
NTT コミュニケーション科学基礎研究所

はじめに

稲垣博人 1

表 1: ツイッターコーパスの統計情報

対話モデルとは，対話における発話の遷移を有限状態オートマトンなどの状態と遷移を持つ構造で表したも会話数
ツイート数
単語数
ユニーク単語数のである．このようなモデルがあると，対話において話者がどのような流れで話をしているのかを分析でき

food63312
1322032517179
74865

sports
37292
78123
187038275309

all1211725
2500918
40098705
452099たり，対話システムが次にどのような発話を行えばよいかに関する知見を得ることが可能である．対話モデ

表 2: N ツイートを含む会話数

ルとしては，隠れマルコフモデル（HMM）が用いられることが多く，たとえば，目黒らは，人同士が傾聴を行っている対話を HMM によりモデル化している [2]．
対話のモデル化をするためには元となる対話データが必要である．しかし，被験者を雇って対話データを収集することは，コストが高い．そして，大量に収集できないため，データの内容も特定の話題に限られてN
foodsportsall
2 58269 (92.03%) 34114 (91.48%) 1140201 (94.10%)66223 (5.47%)
3 4565 (7.21%) 2865 (7.68%)4426 (0.67%)
273 (0.73%)
4729 (0.39%)
46 (0.07%)
34 (0.09%)506 (0.04%)
56 (0.01%)
5 (0.01%)62 (0.01%)
60 (0.00%)
0 (0.00%)
3 (0.00%)780 (0.00%)
1 (0.00%)
1 (0.00%)
3 ≤ 5043 (7.97%) 3178 (8.52%)
71524 (5.90%)

しまう．
この解決策として，近年流行しているツイッターのの少ない会話のうち，ほとんどが 2 つのツイートからデータを用いる手法が提案されている．ツイッターで成り立っている．

はユーザ同士がやりとりを行うため，そのデータは対表 1 に，我々が独自にクロールしたツイッターデー話的な側面を持つ．ツイッターの投稿数は一日に数億タ（ツイッターコーパスと呼ぶ）の統計情報を示す．とも言われ，非常に量が多く，また，多くのユーザがアクセスレベルは Spritzer である．food と sports のカ

投稿するため，内容に多様性があり，従来のデータ収ラムについては詳しくは後述するが，食事，および，集では不可能だった対話データの量と質を確保できるスポーツに関するツイート集合を表し，all がコーパス可能性がある．Ritter らは，ツイッターのデータから全体を表す．全部で 1,211,725 の会話がある．なお，収対話モデルの構築に取り組んでおり [3]，ツイッターの集したツイートは全部で 95,501,894 あったが，そのうデータにおいて 3 回以上のやりとりを抽出し，それら

ち，会話であったものは 2,500,918 ツイートであるこを用いて HMM を学習することで対話モデルを構築しとから，会話は全体の 2.62% しかないことが分かる．ている．3 回以上のやりとりを用いているのは，単純

表 2 は，会話がいくつのツイートから構成されるな一問一答ではない対話をモデル化するためには 3 回以上のやりとりを用いることが直接的だからである．
なお，本研究では，やりとりは返信関係にある一連のイートと呼ぶ）からなっていることが分かる．このよ
うに，ツイッターにおいて会話は非常に少なく，また，ツイートとし，一連のツイートを「会話」と呼ぶ．

そのほとんどが 2 ツイートからなっている．一般に，しかしながら，Ritter らの手法を用いて，ツイッター対話コーパスには，長い会話が含まれることが望ましのデータから対話モデルを構築する場合，大きな問題がある．それは，ツイッターデータには，そもそも，会話のデータが非常に少ないことである．そして，そかを示しているが，90%以上が 2 つのツイート（2 ツいが，そのようなデータは非常に少ないことになる．

Ritter らの方法では，非常に数が少ない 3 ツイート以上の会話（ロングツイートデータとも呼ぶ）からしか― 567 ―

Copyright(C) 2012 The Association for Natural Language Processing.
All Rights Reserved対話モデルが学習できない．これでは，せっかくのツここで，ct はツイート t がアサインされたクラスタをイッターデータのデータ量や多様性を活用しきれてい指す．会話においては，ツイートは順序を持っている；

ない．

ti−1 と ti+1 はそれぞれ，ti の会話における直前，直後のツイートを指す．P (ck |cj ) はクラスタ間の遷移確

2

提案手法率を表し，以下のように定義される．

ツイッターデータにおけるやりとりの大部分を占める，transitions(cj , ck ) + β

P(ck |cj ) = K

2 ツイートを用い，対話モデルを学習することを考える．ツイッターの会話データで従来使用されていなかっ

l=1 transitions(cj , cl ) + K · β + α,たデータを使用できるようになることで，対話モデル

ここで，α はツイートが新しいクラスタにアサインさの性能を向上させることができ，より質の高い対話分れる度合いを示すハイパーパラメタである．この値が，析にも繋がると考えられる．

大きければ大きいほど新しいクラスタが生成されやすくなる．transitions(cj , ck ) は cj から ck への遷移回数

2.1 基本的な考え方を返す．cj に含まれるツイートの直後のツイートが ck

課題は 2 ツイートのデータから 2 回を超えるやりとりにアサインされていると，この回数が多くなる．β はをモデル化することである．ここに，A→B という会ハイパーパラメタである．P(ti |cj ) は ti が cj から生話があり，B’→C という２つの会話があったとする．

成される確率であり，以下の式で得られる．

ここで，A，B，B’ ，C はそれぞれ発話であり，矢印P(ti |cj ) =は返信関係を示す．B と B’ は内容が近い発話である．

P(w|cj )count(ti ,w) ,w∈W

近さは，含まれる単語の一致度などから計算できるとする．こうした状況で，B と B’ を一つにまとめると，

P(w|cj ) = 

count(cj , w) + γ,w∈W count(cj , w) + |W | · γ

A→{B,B’} →C というロングツイートが構成できる．
このように，似た発話をクラスタリングし，2 ツイート

ここで，W は特徴量の集合であり，count(∗, w) はからロングツイートを構成していくことで，2 ツイーツイートまたはクラスタにおいて，特徴量 w が何トからでも 2 回を超える会話のモデル化が実現できる回生起したかを表す．γ はハイパーパラメタである．

ことが分かる．データをクラスタリングし，状態間のP(ti |cnew ) には一様分布を用いる．新しいクラスタが作られる場合の確率は遷移を求めていくことは，HMM における学習過程と同じである．そのため，2 ツイートデータから HMMを学習することになる．

P(cnew |cti−1 ) · P(cti+1 |cnew ) · P(ti |cnew ),2.2 無限 HMM の学習であるが，そのときの P(cnew |cti−1 ) と P(cti+1 |cnew )HMM の学習には無限 HMM を用いる．無限 HMM はは以下のように導出される：

ノンパラメトリックベイズの手法の一つであり，状態P(cnew |cti−1 ) = Kαl=1 transitions(cti−1 , cl ) + α数がデータ依存で決定されるモデルである [4]．

HMM の学習には EM アルゴリズムが用いられるこ

1,K +1とが多いが，文献 [3] でも触れられているように，ベP(cti+1 |cnew ) =イズ学習を用いた手法の方が性能がよいことが分かっ

ここで，P(ti |cnew ) には一様分布を用いる．ている．また，ツイッターデータは内容が多様であるため，予め状態数を決定してモデル化することは難しい．そこに，無限 HMM を用いる利点がある．
無限 HMM の学習では，会話中のツイートが一つずつ処理される．最初のツイートはまず最初のクラスタ（状態）にアサイン（割り当て）される．最初は一つ,すべてのツイートを順番に配置した後，ギブスサンプリングによりツイートを再配置する．各ツイートにつき十分な回数のサンプリングが行われたら，収束したとみなし，そのときのツイートのクラスタにおける配置をクラスタリング結果とする．全体の構造が学習された HMM となる．のクラスタしか存在しない．そして，次のツイート tiはすでに何らかのツイートがアサインされたクラスタ

3

cj か新しいクラスタ cj=new に次の確率でアサインされる．

ツイッターコーパスのすべてのデータを用いて HMM

P(cj |ti ) ∝ P(cj |cti−1 ) · P(cti+1 |cj ) · P(ti |cj ),分集合を実験データとした．
「食事」と「スポーツ」に実験を学習するのは計算コストが高いため，今回はその部― 568 ―

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

関するキーワードを含む会話集合を抽出し，それぞれ，Food-Set，Sports-Set とした．これら部分集合の詳細は表 1，表 2 に示した通りである．

• 最も尤度が高かった順番をそのシステムが最も適切と判断した順番とする．
• 上記適切と判断した順番と，テストデータでの順番（正解）を比較し，下記の式により τ を得る．

Food-Set と Sports-Set のデータから，前節のアルゴリズムにより，無限 HMM を学習した．α, β, および γ には，すべて 0.01 を用いた．特徴量には bag-of-τ (R, H) =unigrams を用い，文献 [3] や文献 [1] に倣って，2 ツ
イートデータにおける最頻の 5,000 単語を用いた．ギn+ (R, H) − n− (R, H),combination(R)

ここで， R と H はそれぞれ正解と仮説を表し，2 ツイートから作成される対話モデルの有効性を評

n+ (R, H) は仮説中のツイートのペアのうち順番が正しかったものの数，n− (R, H) は仮説中のツ価するために，ロングツイートから作成した対話モデ

イートのペアのうち順番が誤っていたものの数，ルと比較を行った．まず，Food-Set と Sports-Set のそcombination(R) は仮説中のツイートが取り得るれぞれを，2 ツイートデータとロングツイートデータペアの数である．

ブスサンプリングのイタレーション数は 1,000 とした．に分けた．そして，ロングツイートデータをランダムに 2 分割した．片方を，ロングツイート学習データ，もう片方を，ロングツイートテストデータと呼ぶ．つ3.1 結果図 1 と図 2 はそれぞれ Food-Set と Sports-Set における対数尤度と τ であり，2 ツイートのデータを 1,000まり，各セットは，2 ツイートデータ，ロングツイー会話ずつ増やした場合に性能がどう変化するかを示し

ト学習データ，ロングツイートテストデータの 3 つにている．対数尤度はデータを増やすにつれ，ロングツ分けられたことになる．

イートオープンモデルに漸近したり，場合によっては，評価は，2 ツイートデータから作ったモデル（2 ツイートモデル）と，ロングツイート学習データから作ったモデル（ロングツイートオープンモデル）が，ロン超えることもある．τ については，データを増やすにつれ，ロングツイートオープンモデルを超えて，ロングツイートクローズドモデルも超えていく傾向にあるグツイートテストデータをどれだけ説明できるかを調ことが分かる．この結果は，2 ツイートデータの有効べることにより行った．

性を示すものである．また，どちらのデータでも，τ加えて，ロングツイートテストデータから学習したモデル（ロングツイートクローズドモデル）を使って，自分自身をどれだけ説明できるかも評価した．これは，上限を確かめるためである．また，2 ツイートデータが急に上昇するポイントが見られる．我々は，これらのポイントで，HMM の構造が 3 ツイート以上を扱えるようになっているのではないかと考えている．
図 3 に，2 ツイートデータの 1,000 会話ずつ増やしの量によってどのようにモデルが改善するかを確かめるため，2 ツイートデータを 1,000 会話ごとのブロックに区切り，ブロックを一つずつ加えて学習していくた場合の，無限 HMM の状態数の推移を示す．前述の通り，無限 HMM では予め状態数を決めず，データを最もよく表す状態数が自動的に決定される．この図かことで，性能改善を確かめた．

ら，状態数は 35〜40 程度が良いことが分かる．この学習したモデルがどれだけテストデータを説明する

状態数は文献 [3] において，性能が飽和する際の状態かの評価尺度として，対数尤度とケンドールの τ （タ数に近く，このことは，2 ツイートから学習したモデウ）を用いた．対数尤度はテストデータを生成する確

ルが，ロングツイートから学習したモデルと近い可能率であり，テストデータを生成しやすいモデルがいい性を示していると言える．

モデルだと考えられることから採用した．τ は発話の図 4 に，状態遷移数の推移を示す．ここで，遷移数並び替えの尺度であり，会話中のツイートを適切に並とは，状態の遷移テーブル（M 状態であれば，M × Mび替えられるようなモデルが会話の流れを理解した良のセルからなる）における，値が 0 でない（遷移が存いモデルであると考えられることから採用した．τ は在する）セルの数を指す．この値が大きくなればなる

具体的に以下のような流れで計算する：

ほど，各状態から多くの状態に遷移していることを示• テストデータにおける会話のそれぞれについて，し，複雑なネットワークになっていると言える．図にすべての可能なツイートの順列（順番）を列挙

よれば，遷移数は，概ね線形に伸びている．図 3 によする．

ると，状態数は一定値で飽和しているが，学習データ• それぞれのツイートの順番について，対話モデルによって尤度を計算する．の増加に応じて，内部ではモデルが複雑になっている様子が見て取れる．

― 569 ―

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

tau (long-tweet open)
LL (2-tweet)tau (2-tweet)

310

LL (long-tweet closed)
LL (long-tweet open)
tau (long-tweet closed)

0.35

tau (long-tweet open)
LL (2-tweet)tau (2-tweet)
0.4

0.3

0.252900.2

280

0.15

Negative log likelihood

0.35

300

Kendall’s tau

Negative log likelihood

350

340
0.3
0.25

330

0.2
320

Kendall’s tau

LL (long-tweet closed)
LL (long-tweet open)
tau (long-tweet closed)

0.15
0.1

0

10000

20000

30000

40000

50000

310

0.1
60000

0

Training data size (number of conversations)

5000

10000

15000

20000

25000

30000

0.05
35000

Training data size (number of conversations)

図 1: Food-Set 対する結果：2 ツイートの学習データ

図 2: Sports-Set に対する結果．赤色と青色の実線と点を変化させたときの，テストデータに対する対数尤度線の意味は図 1 を参照．

（マイナスをかけており，値が低いほどよい）と τ ．赤色の実線と点線はそれぞれロングツイートクローズドモデルとロングツイートオープンモデルの対数尤度．

50

青色の実線と点線はそれぞれ，ロングツイートクロー

4540

4

Number of states

ズドモデルとロングツイートオープンモデルの τ ．

まとめと今後の課題

本稿では，ツイッターデータから対話モデルの学習をする際に問題となる，長いやりとりが少ないというこ

3530
25
20
15
Food-Set (long-tweet closed)
Food-Set (long-tweet open)
Sports-Set (long-tweet closed)
Sports-Set (long-tweet open)
Food-Set (2-tweet)
Sports-Set (2-tweet)

10とに対処するために，ワンショットのやりとりである，

50

2 ツイートのみから対話モデルの構築を提案した．2つのデータセットについて，その有効性を確認するこ

010000

20000

30000

40000

50000

60000

Training data size (number of conversations)とができた．2 ツイートが有効に機能したということ

図 3: 状態数の推移：赤色の実線と点線はそれぞれ Food-

は，ツイートのさらに大部分を占める 1 ツイートの利

Set のロングツイートクローズドモデルとロングツイー用にも可能性が広がる．たとえば，HMM の構造に大トオープンモデルの状態数．青色の実線と点線はそれきな影響は与えないと考えられるが，状態の出力分布

ぞれ，Sports-Set のロングツイートクローズドモデルを，より精緻なものにできる可能性がある．加えて，とロングツイートオープンモデルの状態数．

今後は，ツイッターデータから学習した対話モデルを元に，対話システムの構築に繋げていく予定である．

500450

参考文献
Number of Transitions

400[1] Shaﬁq Joty, Giuseppe Carenini, and Chin-Yew Lin. Unsupervised approaches for dialog act modeling of asynchronous conversations. In Proc. IJCAI, 2011.
[2] Toyomi Meguro, Ryuichiro Higashinaka, Kohji Dohsaka,
Yasuhiro Minami, and Hideki Isozaki.
Analysis oflistening-oriented dialogue for building listening agents. InProc. SIGDIAL, pp. 124–127, 2009.

300
25020015010050[3] Alan Ritter, Colin Cherry, and Bill Dolan. Unsupervised
modeling of Twitter conversations. In Proc. NAACL-HLT,
pp. 172–180, 2010.
[4] Y.W. Teh, M.I. Jordan, M.J. Beal, and D.M. Blei. Sharing
clusters among related groups: Hierarchical Dirichlet processes. In Proc. NIPS, 2004.

350

Food-Set (2-tweet)

00

10000

20000

Sports-Set (2-tweet)
30000

40000

50000

60000

Training data size (number of conversations)

図 4: 遷移数の推移：状態間の遷移テーブルにおける，値が 0 でないセルの数．

― 570 ―

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