elsur.jpn.org >

« 読了:「THIS IS JAPAN 英国保育士が見た日本」「宝くじで1億円当たった人の末路」 | メイン | 読了:Scott & Varian (2014) ベイジアン構造時系列モデリング »

2017年8月18日 (金)

 これは調べ物をしていて偶然見つけた奴なのだが、結果的に、今年読んだなかでもっとも面白い論文であった。ほんとに、読んでみないとわからないものだ。

Guo, F., Blundell, C., Wallach, H., Heller, K. (2015) The Bayesian Echo Chamber: Modeling Social Influence via Linguistic Accomodation. Proceedings of the 18th International Conference on Artificial Intelligence and Statistics (AISTATS). 315-323.
 少人数の会話について語の生成を確率的にモデル化する。逐語録から推定したパラメータに基づき、参加者間の影響関係をネットワークで表現できる。あきらかに私の手には負えないレベルの論文なんだけど、あまりに面白くて、のめりこんで読んでしまった。

1. イントロ
 社会的相互作用のプロセスについてリアリスティックなモデルを構築するためには、その構造(誰が誰に話したか)、内容、時間的ダイナミクスを考慮しなければならない。
 主に関心が持たれるのは「誰が誰に影響したか」である。伝統的には、影響はネットワークのリンクの分析によって研究されてきた。リンクが明示的には存在しなかったり、信頼できなかったり、行動を安定的に反映していなかったりする分野では、影響の代理変数として、観察された相互作用ダイナミクス、すなわちターン・テイキング行動に注目が集まった。

 我々のアプローチは一味違う。ご紹介しよう、「ベイジアン・エコー・チェンバー」です。[以下BCE]
 このモデルは観察された相互作用内容に注目する。社会言語学によれば、2人が相互作用するとき、一方がある語を使用すると、その後他方がその語を使う確率が高まる。この変化は権力の弱いほうの人が強いほうの人に接近する形で生じる。これを言語的調節という(West & Turner, 2010, 書籍)。
 BCEはHawkes過程(後述)とベイジアン言語モデルを結合した動的言語モデルである。BCEモデルは潜在的影響変数を通じた言語的調節を捉える。これらの変数が影響ネットワークを定義し、それによって「誰が誰に影響したか」があきらかになる。

2. ターン・テイキングを通じた影響
 BCEはBlundell, et al. (2012 NIPS)のターン・テイキング・モデルにインスピレーションを受けている。まずはこのモデルを紹介しよう(ただしセッティングはオリジナルと異なる)。
 グループ・ディスカッションのように、複数の参加者がいてどの人の発話も全員に聞こえる場面について考える。
 参加者$p$が観察期間$[0, T)$に行った発話の数を$N^{(p)}(T)$とする。個々の発話にはタイムスタンプ$\mathcal{T}^{(p)} = \{t_n^{(p)}\}_{n=1}^{N^{(p)}(T)}$がつく。個々の発話の持続時間$\Delta t_n^{(p)}$も観察されているとする。よって発話終了時間$t_n^{'(p)} = t_n^{(p)} + \Delta t_n^{(p)}$もわかっている。

 [以下しばらくのあいだ、全く理解不能なのだが、虚心にメモを取る]
 Blundellらのモデルの基盤にあるのはHowkes過程(Hawkes, 1971)である。
 Hawkes過程とは、自己・相互励起型の二重ストカスティック点過程のクラスである(a class of self- and mutually exciting doubly stocastic point processes)。Howkes過程は非等質ポワソン過程(inhomogeneous Poisson process)の一形式であり、条件付きストカスティック速度関数 a conditional stochastic rate function $\lambda(t)$が、時点$t$に先行するすべての事象のタイムスタンプに依存する。
 Blundellらは2つのHawkes過程を組み合わせて二人のターン・テイキングをモデル化しているのだが、ここでは$p$人のディスカッションを表す多変量Hawkes過程を定義しよう。

 期間$[a, b)$を引数にとり、対象者$p$がその間隔のあいだに行う発話の数を返す関数を$n^{(P)}(\cdot)$とする。参加者$p$のHawkes過程のストカスティック速度関数は
 $\lambda^{(p)}(t)$
 $\displaystyle =\lambda_0^{(p)} + \sum_{q \neq p} \int_0^{t^{-}} g^{(qp)} (t,u)d N^{(q)}(u)$
 $\displaystyle =\lambda_0^{(p)} + \sum_{q \neq p} \sum_{n:t_n^{'(q)} < t} g^{(qp)} (t, t_n^{'q})$
ただし$\lambda_0^{(p)}$は参加者$p$の発話のベース速度。$g(t,u)$は非負で定常のカーネル関数で、時点$u < t$におけるある出来事が、時点$t$における即時的速度を増大させる程度、ならびにこの増大の時間的減衰の程度を表す。参加者$p$の速度関数と、他の$P-1$人の人々のHawkes過程とは、他のそれぞれの人のカウンティング指標$\{N^{(q)}(\cdot)\}_{q \neq p}$と、カーネル関数$g(t,u)$によって結びつく。なお、タイムスタンプ$t_n^{'(q)}$は、参加者$q$の$n$番目の発話の終了時間である。従って、$q$によるある発話が$p$の即時的速度を増大させるのは、その発話が完了してからである。
 Bulundellらはカーネル関数として標準的な指数関数
$g^{(qp)}(t,u) = \nu^{(qp)} \exp(-(t-u)/\tau_T^{(p)})$
を使った(別にノンパラメトリックでもよいのだけれど)。ここで$\nu^{(qp)}$は非負のパラメータで、参加者$q$から$p$への即時的励起が生じる程度を表す。ここでの目標は、人々の間の影響関係のモデル化だから、自己励起は0、すなわち$\nu^{(pp)}=0$とする。このパラメータのマトリクスは「誰が次に喋りそうか」「それはいつ起きそうか」のネットワークを表現する。$\tau_T^{(p)}$は対象者$p$の励起が減衰する速度を表す。

 [オーケー。もういいよ。あんたたちがすごく頭がいいことはわかった。俺が頭悪いこともわかった。
 ここまでの話を俺にもわかる程度にざっくり説明すると、こういうことなんじゃなかろうか。
 いまここに、グループ・ディスカッションの逐語録があって、各発話の開始と終了のタイムスタンプが記録されている。発話の内容を無視すると、時間を横軸、累積発話数を時間にとって、個々の対象者の累積発話数の曲線が得られる。
 Blundellたちのアプローチを使うと、この累積発話数曲線を生成するモデル、いいかえれば、個々の対象者の任意の時点での「発話力」みたいなものを生成するモデルを作ることができる。モデルのインプットは、その瞬間までの全員の発話の開始・終了タイムスタンプ。
 このモデルの中にはいくつかパラメータがあるんだけど、その一つが人数x人数の正方行列の形をしたパラメータ行列、つまりは参加者の有向ネットワークであり、リンクの重みは「誰が喋ると誰の発話力が上がるか」を表している。
 ってことですよね?]

3. 言語的調整による影響
 いよいよBECモデルの説明である。

 期間$[0, T)$における参加者$p$の発話数を$N^{(p)}(T)$とする。$V$個のユニークな語タイプがある。参加者$p$の$n$番目の発話は$L_n^{(p)}$個の語トークン$\{w_{1,n}^{(p)}, w_{2,n}^{(p)}, \ldots, w_{L_n^{(p)},n}^{(p)} \}$からなっている。

 個々のトークンの生成過程は、動的ベイジアン言語モデリングと多変量Hawkes過程の両方から得たアイデアに基づいている。
 まず、参加者$p$の$n$番目の発話の$l$番目のトークンは、その発話に対してspecificなカテゴリ分布からドローされる。つまり
 $w_{l,n}^{(p)} \sim Categorical(\phi_n^{(p)})$
ここで$\phi_n^{(p)}$は$V$次元の離散確率ベクトルである。

 次に、確率ベクトル$\phi_n^{(p)}$はディリクレ分布からドローされていて、そのconcentrationパラメータは人にspecific、base measureは発話にspecificである。つまり
 $\phi_n^{(p)} \sim Dirichlet (\alpha^{(p)}, B_n^{(p)})$
concentrationパラメータ$\alpha^{(p)}$は正のスカラーで、分布の分散を決定している。base measure $B_n^{(p)}$は$V$次元の離散確率ベクトルで、分布の平均を決定している。
 [ここでまた疑問符で頭がいっぱいに...
 ふつう、$V$次元のディリクレ分布のパラメータはひとつで、それは$V$次元の正値ベクトルで、これを集中度と呼ぶと思う。でもこの論文では、ディリクレ分布のパラメータが集中度$\alpha^{(p)}$とベース尺度$B_n^{(p)}$の2つにわかれ、前者を個人レベルのパラメータ、後者を発話レベルのパラメータとしている。次の段落に出てくるように、後者には和が1という制約を掛けている。あてずっぽうだけど、おそらく$\alpha^{(p)} B_n^{(p)}$が通常の表現でいうところのディリクレ分布のパラメータなのだろう]

 $B_n^{(p)}$は以下の条件を満たすものとする。
 $B_{v,n}^{(p)} \propto \beta_v^{(p)} + \sum_{q \neq p} \rho^{(qp)} \phi_{v,n}^{(qp)}$
 $\sum_{v=1}^{V} B_{v,n}^{(p)} = 1$
$V$次元の正値ベクトル$\beta_v^{(p)}$は、参加者$p$に固有な言語使用を表す。$\rho^{(qp)}$は非負のパラメータで、参加者$q$が参加者$p$に与える言語的励起の程度を表す。自己励起はなし、すなわち$\rho^{(pp)} = 0$とする。最後に、$\phi_{v,n}^{(qp)}$は$V$次元の正値ベクトルで
 $\displaystyle \phi_{v,n}^{(qp)} = \sum_{m:t_m^{'(q)} < t_n^{(p)}} \left( \sum_{l=1}^{L_m^{(q)}} 1(w_{l,m}^{(q)} = v) \right) \times \exp \left( -\frac{t_n^{(p)}-t_m^{'(q)}}{\tau_L^{(p)}}\right)$
 [こういうのはビビっては負けだ。順に見ていこう。
 内側のサメーションの右側$1(w_{l,m}^{(q)} = v)$は、「参加者$q$の$m$番目の発話の$l$番目の語が$v$だった」。
 内側のサメーションは「参加者$q$の$m$番目の発話における語$v$の出現個数」。
 それに掛けているのは、「参加者$q$の$m$番目の発話の終了時間から、参加者$p$の$n$番目の発話開始時間までの経過時間を、参加者$p$が持つ謎のパラメータ$\tau_L$で割って負にして指数をとったもの」で、直後であれば1, 時間経過とともに0に近づく。つまり、参加者$q$の$m$番目の発話が与える影響を経過時間にともなって指数的に減衰させており、その減衰の強さが$\tau_L$なのである。
 最後に、外側のサメーションは、以上を「参加者$q$の発話のうち、参加者$p$の$n$番目の発話が始まる前に終わった奴すべて」について合計している。
 つまり$\phi_{v,n}^{(qp)}$は、おおざっぱにいえば「参加者$p$の$n$番目の発話までに、参加者$q$が単語$v$を使った程度」を表しているわけだ。
 なるほどね、いっけんややこしいけど、実は素直なモデリングだ]

 以上をまとめると、推定すべきパラメータは以下となる。参加者$p$について、
 $\alpha^{(p)}$: スカラー。ディリクレ分布の分散を表す。
 $\beta^{(p)}$: $V$次元ベクトル。この参加者に固有な言語使用を表す。
 $\{\rho^{(qp)}\}_{q \neq p}$: スカラー。他の参加者$q$が言語的調整を引き起こす程度。
 $\tau_L^{(p)}$: スカラー。言語的調整の減衰の程度。
 パラメータ推定の方法は...[略。collapsed slice-within-Gibbs samplingというのを使うのだそうだ。知らんがな]

 [あーっ!!!いま気が付いた!
 BECモデルは発話の発生時間はモデル化しないんだ! Hawkes過程ってのは発想を説明するために登場しただけで、BECモデル自体はHawkes過程についてなにも知らなくても、普通の言語生成モデルとして理解できるんじゃないですか、これ?!
 うわぁー。びびって損した... 俺には絶対理解できない論文なんじゃないかと思っちゃったよ...]

4. 関連研究 [ここは詳しくメモする]
 時間的ダイナミクスから影響関係やその他の社会的関係を推論する確率過程のモデルとして以下が挙げられる。中心となっているのはHawkes過程である。

相互作用の内容もモデルに入れる研究としては:

本研究のポイントは、言語的調整からの推論とターンテイキングからの推論を比較するところ、生成モデルをつくるところ。

5. 実験 [ここはめくっただけ]

 人工データを使ってパラメータが復元できるかどうかを試した。うまくいきました。

 米最高裁の審理の3つのトランスクリプト、映画「12人の怒れる男」のトランスクリプト、連邦公開市場委員会(FOMC)の会議32回分のトランスクリプトを分析した。
 [以下略。ちゃんと読んでないんだけど、「12人の怒れる男」の参加者間ネットワークはなんだかそれっぽい感じで面白かった。Blundellらのターンテイキングの分析ではこうはうまくいかないとのこと。これ、三谷幸喜「12人の優しい日本人」で試してみたいなあ...]

 ためしに、BlundellらのモデルとBECモデルを結合してみた。すなわち、$\rho^{(qp)} = rv^{(qp)}$として同時に推定した。結果、ホールドアウトへの事後確率は低下した。推定されたパラメータはBECのそれとそっくりだった。おそらく、ターンテイキングにおける参加者間の影響より、言語的調整のほうがより情報豊かなのであろう。

6. 考察
 今後の課題:(1)語の機能や内容別に言語的調整をモデリングする。(2)影響ネットワークの動的変化を陽にモデル化する。[←どっちも面白そう]

 ... いやー、おおかた私の能力を超える内容ではあるのだが、それにしても超・面白かった。集団での議論って、ある人が議論をリードしているとき、その人が繰り出す単語がその後の全員の発話の土俵になったりするじゃあないですか。このモデルではこの現象を、対象者間の影響関係のネットワークとして視覚化できるわけだ。
 あんまり詳しく書けないけど、私自身の仕事ともものすごく関係する話である。読み終えてからの後知恵だけど、そうそう!こういう研究がないかなあと思ってたんだよ!という内容であった。

 どうせなら、ネットワークが動的に変わっていけば超面白いのに。で、「振り返るとあの構造変化は、あの人が繰り出したあの発言のあの単語のせいだった」なんてことが定量化できたら、これはめちゃくちゃ面白いのに。
 ... とメモを取りながら気が付いたけど、そういう動的可視化の面白さだけを求めるならば、別に苦労して生成的確率モデルを作ってパラメータをまじめに推定しなくても、もう少し簡便な方法があるかもしれない。考えてみよう。

論文:データ解析(2015-) - 読了:Guo, Blundell, Wallach, Heller (2015) ベイジアン・エコー・チェンバー

rebuilt: 2020年11月16日 22:55
validate this page