Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

単語の分散表現と構成性の計算モデルの発展

25,295 views

Published on

岡崎直観. 2015. 単語の分散表現と構成性の計算モデルの発展. 2015年度人工知能学会全国大会(第29回), OS-1 意味と理解のコンピューティング (2), 2F5-OS-01b-1.

Published in: Science
  • Be the first to comment

単語の分散表現と構成性の計算モデルの発展

  1. 1. 単語の分散表現と構成性の 計算モデルの発展 東北大学大学院情報科学研究科 岡崎 直観(okazaki@ecei.tohoku.ac.jp) http://www.chokkan.org/ @chokkanorg 2015-05-31 OS-1 (2)意味と理解のコンピューティング 1
  2. 2. 分散表現 (Hinton+ 1986) • 局所表現(local representation) • 各概念に1つの計算要素 (記号, ニューロン, 次元) を割り当て • 分散表現(distributed representation) • 各概念は複数の計算要素で表現される • 各計算要素は複数の概念の表現に関与する 2015-05-31 OS-1 (2)意味と理解のコンピューティング 2 バス 萌えバス … … #2948 … … #19023840334 バス 萌えバス萌えトラック ニューロンの 興奮パターン ≒ベクトル表現 http://ja.wikipedia.org/wiki/富士急山梨バス http://saori223.web.fc2.com/
  3. 3. 構成性(Frege 1892) • Partee (1984) • The meaning of an expression is a function of the meanings of its parts and of the way they are syntactically combined. • Montague文法の話はしません出来ません • The meaning of a phrase or sentence is its truth conditions which are expressed in terms of truth relative to a model. • 今日のテーマ • 単語の分散表現から句や文の分散表現を構成する 2015-05-31 OS-1 (2)意味と理解のコンピューティング 3
  4. 4. 分散表現と構成性の因縁 • コネクショニズム論争 (@第二次NNブーム) • 分散表現は体系性を欠いている (Fodor+ 1988) • 分散表現では,“John loves Mary”と”Mary loves John” 差と類似性をうまく表せない • 文の構成要素を単純に追加: 主語と目的語の区別ができない {John, loves, Mary} vs {Mary, loves, John} • 意味役割ごとに分散表現を構成: 共通性が失われる {John-agent, loves, Mary-patient} vs {Mary-agent, loves, John-patient} • テンソル積で構造を扱う (Smolensky 1990) • Recursive Auto-Associative Memory (Pollak 1990) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 4
  5. 5. 概要 • イントロダクション(5分) • 単語の分散表現 • 潜在意味解析(5分) • Skip-gram(5分) • GloVe(5分) • 構成性(句ベクトルの合成) • 加法構成性,線形変換(5分) • Recursive Neural Network (RNN)(5分) • 我々の取り組み(2分) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 5
  6. 6. 単語の分散表現 2015-05-31 OS-1 (2)意味と理解のコンピューティング 6
  7. 7. … packed with people drinking beer or wine. Many restaurants … … as some of the world's most beer-loving people with an aver… into alcoholic drinks such as beer or hard liquor and derive … …ző is a pub offering draught beer and sometimes meals. The b… …able bottles and for draught beer and cider in British pubs. … in miles per hour, pints of beer, and inches for clothes. M… …ns and for pints for draught beer, cider, and milk sales. The carbonated beverages such as beer and soft drinks in … …g of a few young people to a beer blast or fancy formal party. and alcoholic drinks, like beer and mead, contributed to People are depicted drinking beer, listening to music, flirt… … and for the pint of draught beer sold in pubs (see Metricat… 分布仮説 (Harris 1954; Firth 1957) You shall know a word by the company it keeps 2015-05-31 OS-1 (2)意味と理解のコンピューティング 7
  8. 8. 単語文脈行列 2015-05-31 OS-1 (2)意味と理解のコンピューティング 8 beer wine car ride have new drink bottle train book speed read 36 108 578 291 841 14 14 284 94 201 72 92 3 3 0 57 86 2 0 0 3 0 37 72 2 0 1 44 43 1 1 2 3 2 338 単 語 文 脈 コ ー パ ス 中 の 単 語 (例)単語の前後ℎ語に出現する単語 𝑛𝑛列 𝑚𝑚 行 𝑀𝑀𝑖𝑖,𝑗𝑗: 単語𝑖𝑖と文脈𝑗𝑗の共起頻度 (例: trainとdrinkは3回共起) “beer”の意味を表すベクトル (𝑀𝑀𝑖𝑖で表す)
  9. 9. 単語の類似度 • 単語の意味ベクトル𝑀𝑀𝑖𝑖, 𝑀𝑀𝑗𝑗のコサイン類似度 cos 𝜃𝜃 = 𝑀𝑀𝑖𝑖�𝑀𝑀𝑗𝑗 𝑀𝑀𝑖𝑖 𝑀𝑀𝑗𝑗 (𝜃𝜃: 𝑀𝑀𝑖𝑖と𝑀𝑀𝑗𝑗のなす角) • beerとwine • 𝑀𝑀beer�𝑀𝑀wine 𝑀𝑀beer 𝑀𝑀wine = 0.941 • beerとtrain • 𝑀𝑀beer�𝑀𝑀train 𝑀𝑀beer 𝑀𝑀train = 0.387 2015-05-31 OS-1 (2)意味と理解のコンピューティング 9 beer wine car ride have new drink bottle train book speed read 36 108 578 291 841 14 14 284 94 201 72 92 3 3 0 57 86 2 0 0 3 0 37 72 2 0 1 44 43 1 1 2 3 2 338 単 語 文 脈
  10. 10. 正の相互情報量に基づく単語文脈行列 (Bullinaria+ 07) 𝑀𝑀𝑖𝑖,𝑗𝑗 = max 0, log 𝑃𝑃(𝑖𝑖, 𝑗𝑗) 𝑃𝑃 𝑖𝑖 𝑃𝑃(𝑗𝑗) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 10 beer wine car ride have new drink bottle train book speed read 0 0 0.09 0.03 0.09 0 0 0.49 0.02 0 2.04 1.78 0 0 0 1.97 1.87 0 0 0 0 0 0.13 1.43 0 0 0 0.55 1.16 0 0 0 0 0 0.85 単 語 文 脈 出現頻度の多い単語の 影響を軽減する 負のPMI(独立事象よりも共起が少ない場合)は0にする
  11. 11. 単語文脈行列の潜在意味解析 (Deerwester, 1990) • 単語文脈行列𝑀𝑀を特異値分解 (SVD) 𝑀𝑀 = 𝑈𝑈 ⋅ Σ ⋅ 𝑉𝑉∗ • 𝑑𝑑(≤ 𝑟𝑟)個の特異値で低ランク近似 𝑀𝑀 ≈ 𝑈𝑈(𝑑𝑑) ⋅ Σ(𝑑𝑑) ⋅ 𝑉𝑉 𝑑𝑑 ∗ (←L2近似誤差を最小化) • 𝑛𝑛次元単語ベクトル (高次元・疎) を𝑑𝑑次元 (低 次元・密) に圧縮 (→文脈を一般化する効果?) • 𝑈𝑈(𝑑𝑑) ⋅ Σ(𝑑𝑑): 単語と文脈に関して非対称 • 𝑈𝑈(𝑑𝑑) ⋅ Σ(𝑑𝑑)もしくは𝑈𝑈(𝑑𝑑) : 対称性を保持 2015-05-31 OS-1 (2)意味と理解のコンピューティング 11 (𝑚𝑚 × 𝑛𝑛) (𝑚𝑚 × 𝑟𝑟) (𝑟𝑟 × 𝑟𝑟)(𝑟𝑟 × 𝑛𝑛) 𝑈𝑈: ユニタリ行列 Σ: 特異値を対角成分とする対角行列 𝑉𝑉∗ : ユニタリ行列 𝑟𝑟: 行列𝑀𝑀の階数(ランク) (𝑚𝑚 × 𝑛𝑛) (𝑚𝑚 × 𝑑𝑑) (𝑑𝑑 × 𝑑𝑑) (𝑑𝑑 × 𝑛𝑛)
  12. 12. SVDによる単語分散表現の計算例 (𝑑𝑑 = 3) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 12 beer wine car ride have new drink bottle train book speed read 36 108 578 291 841 14 14 284 94 201 72 92 3 3 0 57 86 2 0 0 3 0 37 72 2 0 1 44 43 1 1 2 3 2 338 単 語 文 脈 ≈ −0.034 0.064 −0.572 −0.092 0.083 −0.808 −0.539 0.718 0.140 −0.261 0.325 0.034 −0.795 −0.606 0.012 ⋅ 1153 0 0 0 243 0 0 0 156 ⋅ −0.925 −0.294 −0.012 −0.009 −0.035 −0.031 −0.235 0.046 0.473 0.064 0.051 0.202 0.186 −0.832 −0.044 0.167 −0.736 −0.652 0.038 0.044 0.015 𝑈𝑈(3) Σ(3) 𝑉𝑉 3 ∗ 𝑈𝑈(3) ⋅ Σ(3) beer: ( -1.15 1.00 -7.14) wine: ( -3.13 1.30 -10.09) car: (-18.30 11.19 1.75) train: ( -8.87 5.06 0.43) book: (-26.99 -9.44 0.15) • SVD適用後の単語類似度 • 𝒗𝒗beer�𝒗𝒗wine 𝒗𝒗beer 𝒗𝒗wine = 0.990 > 0.941 (次元圧縮前より高い) • 𝒗𝒗beer�𝒗𝒗train 𝒗𝒗beer 𝒗𝒗train = 0.164 < 0.387 (次元圧縮前より低い)
  13. 13. ニューラル言語モデル (Bengio+ 2003) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 13 𝒙𝒙 = 𝒗𝒗𝑤𝑤𝑡𝑡−1 , 𝒗𝒗𝑤𝑤𝑡𝑡−2 , … , 𝒗𝒗𝑤𝑤𝑡𝑡−𝑛𝑛+1 draughtofferpubs beer, 𝒚𝒚 = 𝒃𝒃 + 𝑊𝑊𝒙𝒙 + 𝑈𝑈 tanh 𝒛𝒛 + 𝐻𝐻𝒙𝒙 𝑃𝑃 𝑤𝑤𝑡𝑡 𝑤𝑤𝑡𝑡−1, … , 𝑤𝑤𝑡𝑡−𝑛𝑛+1 = exp(𝑦𝑦𝑤𝑤𝑡𝑡 ) ∑𝑖𝑖 exp(𝑦𝑦𝑖𝑖) tanh + 𝒙𝒙 𝐻𝐻 𝑊𝑊 𝑈𝑈 𝒚𝒚 𝒗𝒗 𝑤𝑤𝑡𝑡−3 𝒗𝒗𝑤𝑤𝑡𝑡−2 𝒗𝒗𝑤𝑤𝑡𝑡−1 単語ベクトル𝒗𝒗𝑤𝑤 (𝑑𝑑次元) (𝒚𝒚の各次元が𝑤𝑤𝑡𝑡 = 単語𝑖𝑖 を予測するスコア) (𝑑𝑑(𝑛𝑛 − 1)次元) (ℎ × 𝑑𝑑(𝑛𝑛 − 1)) (|𝑉𝑉| × 𝑑𝑑(𝑛𝑛 − 1)) (|V| × ℎ)
  14. 14. Skip-gram with Negative Sampling (SGNS) (Mikolov+ 2013b) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 14 draughtofferpubs beer, cider, and wine last use place people make city full know build time group have new game rather age show take take team season say 個 の 単 語 を ユ ニ グ ラ ム 分 布 か ら サ ン プ リ ン グ し , こ れ ら が 予 測 さ れ な い よ う に 更 新 ( 負 例 ) 個 の 文 脈 語 を 予 測 す る よ う に 更 新 同じ単語がサン プルされること もあり得る 単語ベクトル𝒗𝒗𝑤𝑤 (𝑑𝑑次元) 文脈ベクトル�𝒗𝒗𝑐𝑐 (𝑑𝑑次元) : 内積 → +∞ へ : 内積 → −∞ へ ベクトルの更新方針 コーパス (文脈幅ℎ = 2, 負例サンプル数𝑘𝑘 = 1の場合の例)
  15. 15. word2vecに実装されているSGNS • パラメータ • 𝑑𝑑: 単語ベクトルの次元(50や300など) • ℎ: 文脈の範囲(前後ℎ単語,典型的にはℎ = 5など) • 𝑘𝑘: 負例サンプル数(1, 5, 10, 15など) • 初期化: コーパス𝐷𝐷中の各単語𝑤𝑤に対して • 単語ベクトル𝒗𝒗𝑤𝑤をランダム値で初期化 • 文脈ベクトル�𝒗𝒗𝑤𝑤を0に初期化 • 学習 (確率的勾配降下法): コーパス中で単語𝑤𝑤 ∈ 𝐷𝐷が出現すると, • 単語𝑤𝑤の前後ℎ単語を文脈語集合𝐶𝐶𝑤𝑤とする • 単語𝑤𝑤の文脈語𝑐𝑐 ∈ 𝐶𝐶𝑤𝑤に対して(𝛼𝛼は学習率), • 𝑔𝑔 = 1 − 𝜎𝜎 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 ; 𝒗𝒗𝑤𝑤 ← 𝒗𝒗𝑤𝑤 + 𝛼𝛼𝑔𝑔�𝒗𝒗𝑐𝑐; �𝒗𝒗𝑐𝑐 ← �𝒗𝒗𝑐𝑐 + 𝛼𝛼𝑔𝑔𝒗𝒗𝑤𝑤 • 𝑘𝑘個の単語をユニグラム分布からランダムにサンプル(集合𝑅𝑅) • 𝑟𝑟 ∈ 𝑅𝑅に対し: 𝑔𝑔 = 𝜎𝜎 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 ; 𝒗𝒗𝑤𝑤 ← 𝒗𝒗𝑤𝑤 + 𝛼𝛼𝑔𝑔�𝒗𝒗𝑟𝑟; �𝒗𝒗𝑟𝑟 ← �𝒗𝒗𝑟𝑟 + 𝛼𝛼𝑔𝑔𝒗𝒗𝑤𝑤 2015-05-31 OS-1 (2)意味と理解のコンピューティング 15 Mikolov+ (2013b)
  16. 16. SGNSの目的関数 • 目的関数(対数尤度最大化) • 𝑃𝑃(𝑐𝑐|𝑤𝑤)はlog-bilinearモデル • 𝑃𝑃(𝑐𝑐|𝑤𝑤)をロジスティック回帰で近似 2015-05-31 OS-1 (2)意味と理解のコンピューティング 16 𝐽𝐽 = − � 𝑤𝑤∈𝐷𝐷 � 𝑐𝑐∈𝐶𝐶𝑤𝑤 log 𝑃𝑃(𝑐𝑐|𝑤𝑤) 𝑃𝑃 𝑐𝑐 𝑤𝑤 = exp 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 ∑ 𝑤𝑤′ exp(𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑤𝑤′) log 𝑃𝑃 𝑐𝑐 𝑤𝑤 ≈ log 𝜎𝜎 𝒗𝒗𝑤𝑤 ⋅ �𝒗𝒗𝑐𝑐 + 𝑘𝑘 � Ε 𝑟𝑟∼𝑃𝑃𝑛𝑛 log 𝜎𝜎 −𝒗𝒗𝑤𝑤 ⋅ �𝒗𝒗𝑟𝑟 ユニグラム分布𝑃𝑃𝑛𝑛から単語𝑟𝑟を𝑘𝑘回サンプリング 𝐷𝐷: コーパス(単語列) 𝐶𝐶𝑤𝑤: 単語𝑤𝑤の前後±ℎの範囲に出現する語 コーパス中の全単語𝑤𝑤′ に関する 内積のexp和で正規化したいが, 計算が重たすぎる 単語𝑤𝑤から周辺の語𝑐𝑐 ∈ 𝐶𝐶𝑤𝑤を 予測する確率 Mikolov+ (2013b)
  17. 17. SGNSで学習した分散表現は加法構成性を持つ? • 有名な例: king − man + woman ≈ queen 2015-05-31 OS-1 (2)意味と理解のコンピューティング 17 Mikolov+ (2013b) 国名と首都名が同じ向きに並ぶ Mikolov+ (2013b)
  18. 18. アナロジータスクでの評価 2015-05-31 OS-1 (2)意味と理解のコンピューティング 18 Mikolov+ (2013a) Semanticの例: Athens Greece Tokyo Japan Syntacticの例: cool cooler deep deeper Mikolov+ (2013b)
  19. 19. SGNSはShifted PMIと等価 (Levy+ 2014) • SGNSは以下の共起行列をモデル化 𝑀𝑀𝑖𝑖,𝑗𝑗 = PMI 𝑤𝑤𝑖𝑖, 𝑐𝑐𝑗𝑗 − log 𝑘𝑘 ≈ 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 • 単語と文脈の共起をPMIで計測して,分散表現 (低次元ベクトル)を構成するのに近い • 加法構成性はSGNS以前でも,PMIを用いた 従来手法でも実現できていた! 2015-05-31 OS-1 (2)意味と理解のコンピューティング 19
  20. 20. Shifted PMIの導出 コーパス中の共起回数#(𝑤𝑤, 𝑐𝑐)や出現頻度#(𝑤𝑤)を用いてSGNSの目的関数を変形すると, 𝐽𝐽 = − � 𝑤𝑤∈𝐷𝐷 � 𝑐𝑐∈𝐶𝐶𝑤𝑤 log 𝜎𝜎 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 − 𝑘𝑘 � Ε 𝑟𝑟∼𝑃𝑃𝑛𝑛 log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 = = − � 𝑤𝑤∈𝑉𝑉𝑤𝑤 � 𝑐𝑐∈𝑉𝑉𝑐𝑐 #(𝑤𝑤, 𝑐𝑐) log 𝜎𝜎 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 − � 𝑤𝑤∈𝑉𝑉𝑤𝑤 #(𝑤𝑤) ⋅ 𝑘𝑘 � Ε 𝑟𝑟∼𝑃𝑃𝑛𝑛 log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 期待値の部分を明示的に計算すると, Ε 𝑟𝑟∼𝑃𝑃𝑛𝑛 log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 = � 𝑟𝑟∈𝑉𝑉𝑐𝑐 #(𝑟𝑟) |𝐷𝐷| log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 = #(𝑐𝑐) |𝐷𝐷| log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 + � 𝑟𝑟∈𝑉𝑉𝑐𝑐∖{𝑐𝑐} #(𝑟𝑟) |𝐷𝐷| log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑟𝑟 目的関数のうち,𝑤𝑤と𝑐𝑐に関する部分だけを取り出すと, 𝑙𝑙 𝑤𝑤, 𝑐𝑐 = −#(𝑤𝑤, 𝑐𝑐) log 𝜎𝜎 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 − # 𝑤𝑤 ⋅ 𝑘𝑘 ⋅ #(𝑐𝑐) |𝐷𝐷| log 𝜎𝜎 −𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 𝑥𝑥 = 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐として,𝑙𝑙 𝑤𝑤, 𝑐𝑐 を𝑥𝑥で偏微分して0とおくと, 𝜕𝜕𝑙𝑙( 𝑤𝑤, 𝑐𝑐) 𝜕𝜕𝑥𝑥 = −#(𝑤𝑤, 𝑐𝑐)𝜎𝜎 −𝑥𝑥 + 𝑘𝑘# 𝑤𝑤 #(𝑐𝑐) 𝐷𝐷 𝜎𝜎 𝑥𝑥 = # 𝑤𝑤, 𝑐𝑐 𝜎𝜎 𝑥𝑥 − 1 + 𝑘𝑘# 𝑤𝑤 #(𝑐𝑐) 𝐷𝐷 𝜎𝜎 𝑥𝑥 = 0 等式を整理すると, 1 + 𝑘𝑘#(𝑤𝑤)#(𝑐𝑐) 𝐷𝐷 #(𝑤𝑤, 𝑐𝑐) 𝜎𝜎 𝑥𝑥 = 1 ⇔ exp −𝑥𝑥 = 𝑘𝑘#(𝑤𝑤)#(𝑐𝑐) 𝐷𝐷 #(𝑤𝑤, 𝑐𝑐) したがって, 𝑥𝑥 = 𝒗𝒗𝑤𝑤 𝑇𝑇 �𝒗𝒗𝑐𝑐 = log 𝐷𝐷 #(𝑤𝑤, 𝑐𝑐) 𝑘𝑘#(𝑤𝑤)#(𝑐𝑐) = log 𝐷𝐷 #(𝑤𝑤, 𝑐𝑐) #(𝑤𝑤)#(𝑐𝑐) − log 𝑘𝑘 = PMI 𝑤𝑤, 𝑐𝑐 − log 𝑘𝑘 2015-05-31 OS-1 (2)意味と理解のコンピューティング 20
  21. 21. Glove (最小二乗法による単語ベクトルの学習) (Pennington+ 2014) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 21 𝐽𝐽 = � 𝑖𝑖,𝑗𝑗=1 𝑉𝑉 𝑓𝑓(𝑀𝑀𝑖𝑖,𝑗𝑗) (𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑗𝑗 − log 𝑀𝑀𝑖𝑖,𝑗𝑗)2 目的関数: 𝑓𝑓 𝑥𝑥 = (𝑥𝑥/𝑥𝑥max)𝛼𝛼 (if 𝑥𝑥 < 𝑥𝑥max) 1 (otherwise) 単語𝑖𝑖と単語𝑗𝑗の共起頻度単語の総数 単語𝑖𝑖のベクトル 文脈𝑗𝑗のベクトル‘ 単語𝑖𝑖のバイアス項 単語𝑗𝑗のバイアス項’ 1系統 2系統 ※各単語に対してパラメタが2系統あるのは SGNSと同様.本研究は単語𝑖𝑖のベクトルを 最終的に(𝒘𝒘𝑖𝑖 + �𝒘𝒘𝑖𝑖)とする(精度が向上する) 𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 = 100, α = 0.75 の場合 → AdaGrad (SGD)で学習
  22. 22. 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑗𝑗 − log 𝑀𝑀𝑖𝑖,𝑗𝑗 の理由(1/4) • 単語𝑖𝑖と単語𝑗𝑗のある側面(aspect)における関係 を,文脈単語𝑘𝑘で表すことを考える • 例: 「熱力学」におけるiceとsteam • 𝑃𝑃𝑖𝑖,𝑘𝑘 = 𝑃𝑃(𝑘𝑘|𝑖𝑖)よりも𝑃𝑃𝑖𝑖,𝑘𝑘/𝑃𝑃𝑗𝑗,𝑘𝑘の方が単語𝑖𝑖と単語𝑗𝑗の 特徴を捉える文脈として有用そう • 例: waterやfashionよりもsolidやgasの方が有用 2015-05-31 OS-1 (2)意味と理解のコンピューティング 22 Pennington+ (2014)
  23. 23. 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑗𝑗 − log 𝑀𝑀𝑖𝑖,𝑗𝑗 の理由(2/4) • 単語𝑖𝑖, 𝑗𝑗, 𝑘𝑘のベクトルをそれぞれ𝒘𝒘𝑖𝑖, 𝒘𝒘𝑗𝑗, �𝒘𝒘𝑘𝑘とする • 単語ベクトルで𝑃𝑃𝑖𝑖,𝑘𝑘/𝑃𝑃𝑗𝑗,𝑘𝑘を表現するには, 𝐹𝐹 𝒘𝒘𝑖𝑖 − 𝒘𝒘𝑗𝑗, �𝒘𝒘𝑘𝑘 = 𝑃𝑃𝑖𝑖,𝑘𝑘/𝑃𝑃𝑗𝑗,𝑘𝑘 • 左辺の引数(ベクトル)と右辺(スカラー)の型 を合わせるための最もシンプルな方法は, 𝐹𝐹 𝒘𝒘𝑖𝑖 − 𝒘𝒘𝑗𝑗 𝑇𝑇 �𝒘𝒘𝑘𝑘 = 𝑃𝑃𝑖𝑖,𝑘𝑘/𝑃𝑃𝑗𝑗,𝑘𝑘 2015-05-31 OS-1 (2)意味と理解のコンピューティング 23 単語𝑖𝑖と単語𝑗𝑗の特徴の対比をベクトルの 差で表現(加法構成性を予め考慮) 関数の形は これから絞り込む 𝒘𝒘𝑘𝑘とは別系統のベクトル 内積をとってスカラー値にする Pennington+ (2014)
  24. 24. 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑗𝑗 − log 𝑀𝑀𝑖𝑖,𝑗𝑗 の理由(3/4) • 単語と文脈の役割は入れ替えが可能であるべき • 𝒘𝒘𝑖𝑖 ↔ �𝒘𝒘𝑖𝑖と𝑀𝑀 ↔ 𝑀𝑀𝑇𝑇の入れ替えを同時に考慮すべき • 𝐹𝐹として加法群から乗法群への準同型写像 exp: ℝ → ℝ+を採用する exp 𝒘𝒘𝑖𝑖 − 𝒘𝒘𝑗𝑗 𝑇𝑇 �𝒘𝒘𝑘𝑘 = exp 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 exp 𝒘𝒘𝑗𝑗 𝑇𝑇 �𝒘𝒘𝑘𝑘 = 𝑃𝑃𝑖𝑖,𝑘𝑘 𝑃𝑃𝑗𝑗,𝑘𝑘 • したがって, exp 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 = 𝑃𝑃𝑖𝑖,𝑘𝑘 = 𝑀𝑀𝑖𝑖,𝑘𝑘/𝑀𝑀𝑖𝑖 • 両辺の対数をとると, 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 = log 𝑀𝑀𝑖𝑖,𝑘𝑘 − log 𝑀𝑀𝑖𝑖 2015-05-31 OS-1 (2)意味と理解のコンピューティング 24 Pennington+ (2014)
  25. 25. 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑗𝑗 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑗𝑗 − log 𝑀𝑀𝑖𝑖,𝑗𝑗 の理由(4/4) • まだ単語と文脈の入れ替えができない 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 = log 𝑀𝑀𝑖𝑖,𝑘𝑘 − log 𝑀𝑀𝑖𝑖 • 𝑘𝑘に関する定数項がないため • log 𝑋𝑋𝑖𝑖をバイアス項𝑏𝑏𝑖𝑖で表し,新たに𝑘𝑘に関 するバイアス項�𝑏𝑏𝑘𝑘を導入 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 = log 𝑀𝑀𝑖𝑖,𝑘𝑘 − 𝑏𝑏𝑖𝑖 − �𝑏𝑏𝑘𝑘 𝒘𝒘𝑖𝑖 𝑇𝑇 �𝒘𝒘𝑘𝑘 + 𝑏𝑏𝑖𝑖 + �𝑏𝑏𝑘𝑘 = log 𝑀𝑀𝑖𝑖,𝑘𝑘 2015-05-31 OS-1 (2)意味と理解のコンピューティング 25 Pennington+ (2014)
  26. 26. 𝑓𝑓(𝑀𝑀𝑖𝑖,𝑗𝑗)で重み付けする理由 • 𝑀𝑀𝑖𝑖,𝑗𝑗 = 0のときlog 𝑀𝑀𝑖𝑖,𝑗𝑗が計算できない • 共起行列𝑀𝑀の要素はほとんどが0(疎行列) • 影響力を0とする • 低頻度の共起頻度は重視しない • 低頻度な共起事象をベクトルで符号化するのは大変 • 𝑀𝑀𝑖𝑖,𝑗𝑗 < 𝑥𝑥maxならば影響力を(𝑀𝑀𝑖𝑖,𝑗𝑗/𝑥𝑥max)𝛼𝛼 とする • 高頻度の共起要素も重視しすぎない • 高頻度な共起事象は平等にベクトルで符号化 • 𝑀𝑀𝑖𝑖,𝑗𝑗 ≥ 𝑥𝑥maxならば影響力を1とする 2015-05-31 OS-1 (2)意味と理解のコンピューティング 26 Pennington+ (2014)
  27. 27. GloVeとSGNSの性能の比較 (Levy+ 2015) • パラメータや経験則を合わせると,Shifted PMI, SGNS, GloVeは同程度の性能 • GloVeの論文 (Pennington+ 2014) では,GloVeが SGNSを圧倒する実験結果が報告されていた • 手法の本質以外で重要なポイント • 単語ベクトルは𝒘𝒘𝑖𝑖よりも(𝒘𝒘𝑖𝑖 + �𝒘𝒘𝑖𝑖)の方がよい • ユニグラムの確率分布は0.75乗する方がよい • SGNSでは負例サンプルは多いほうがよい • Shifted PMIでは𝑘𝑘の値を大きくしない方がよい • SVDでは𝑈𝑈(𝑑𝑑) Σ(𝑑𝑑) よりも𝑈𝑈(𝑑𝑑) Σ(𝑑𝑑)や𝑈𝑈(𝑑𝑑) がよい 2015-05-31 OS-1 (2)意味と理解のコンピューティング 27
  28. 28. 構成性(句ベクトルの合成) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 28
  29. 29. 句ベクトルの合成 (Mitchell+ 2010) • 構成性の原理に基づき一般的な式を導入 𝒑𝒑 = 𝑓𝑓(𝒖𝒖, 𝒗𝒗, 𝑅𝑅, 𝐾𝐾) • 𝒖𝒖, 𝒗𝒗: 2つの単語に対応するベクトル • 𝑓𝑓: ベクトルから句ベクトルを合成する関数 • 𝑅𝑅: 𝒖𝒖と𝒗𝒗の間の文法的な関係 (Partee 1995) • 𝐾𝐾: 合成に必要な背景知識 (Lakoff 1977) • ※ 実際に実験した式の一般性はかなり狭い 2015-05-31 OS-1 (2)意味と理解のコンピューティング 29
  30. 30. 句ベクトルの正解データ (Mitchell+ 2010) • BNCコーパスから抽出された句のペア • 対象: 形容詞-名詞,名詞-名詞,動詞-目的語 • 108ペアに18人の類似性判定が付与されている • 句のペアの類似性の判定基準 • 6-7点: 類似性が高いもの • professional advise - expert opinion • 3-5点: 違うものではあるが関連はあるもの • human behavior – social activity • 1-2点: 無関係のもの • Increasing taxation – public protest 2015-05-31 OS-1 (2)意味と理解のコンピューティング 30
  31. 31. 句ベクトル合成の実験結果 (スピアマンの順位相関係数; 単語ベクトルはlogを取らないPMI) Model Function JJ-NN NN-NN VB-NN Additive 𝑝𝑝𝑖𝑖 = 𝑢𝑢𝑖𝑖 + 𝑣𝑣𝑖𝑖 .36 .39 .30 Kintsch 𝑝𝑝𝑖𝑖 = 𝑢𝑢𝑖𝑖 + 𝑣𝑣𝑖𝑖 + 𝑛𝑛𝑖𝑖 .32 .22 .29 Multiplicative 𝑝𝑝𝑖𝑖 = 𝑢𝑢𝑖𝑖 ⋅ 𝑣𝑣𝑖𝑖 .46 .49 .37 Tensor product 𝑝𝑝𝑖𝑖,𝑗𝑗 = 𝑢𝑢𝑖𝑖 ⋅ 𝑣𝑣𝑖𝑖 .41 .36 .33 Circular convolution 𝑝𝑝𝑖𝑖 = ∑𝑗𝑗 𝑢𝑢𝑖𝑖 ⋅ 𝑣𝑣 𝑖𝑖−𝑗𝑗 mod 𝑛𝑛 .09 .05 .10 Weighted additive 𝑝𝑝𝑖𝑖 = 𝛼𝛼𝑢𝑢𝑖𝑖 + 𝛽𝛽𝑣𝑣𝑖𝑖 .44 .41 .34 Dilation 𝑝𝑝𝑖𝑖 = 𝑣𝑣𝑖𝑖 ∑𝑗𝑗 𝑢𝑢𝑗𝑗 𝑢𝑢𝑗𝑗 + (𝜆𝜆 − 1)𝑢𝑢𝑖𝑖 ∑𝑗𝑗 𝑢𝑢𝑗𝑗 𝑣𝑣𝑗𝑗 .44 .41 .38 Head only 𝑝𝑝𝑖𝑖 = 𝑣𝑣𝑖𝑖 .43 .34 .29 Target unit 𝑝𝑝𝑖𝑖 = 𝑣𝑣𝑖𝑖(𝑡𝑡1 𝑡𝑡2) .43 .17 .24 Human .52 .49 .55 2015-05-31 OS-1 (2)意味と理解のコンピューティング 31 • dilation, multiplicative, (weighted) additiveあたりがよい性能 Mitchell+ (2010)
  32. 32. 線形変換による句ベクトル合成 (Baroni+ 2010) • 加法構成性で良さそうな合成 • red plastic: red + plastic • 加法構成性ではまずそうな合成 • fake gun (←これはgunではない) • 形容詞+名詞の合成において,名詞をベク トル,形容詞を線形変換行列で表現する 𝒑𝒑 = 𝐵𝐵𝒗𝒗 • 行列𝐵𝐵は形容詞ごとに用意 • 形容詞+名詞の句ベクトルをコーパスから求め, そのベクトルを構成出来るように行列𝐵𝐵を学習 2015-05-31 OS-1 (2)意味と理解のコンピューティング 32
  33. 33. Recursive Neural Network (RNN) (Socher+ 2011) • 句ベクトルを次式で合成 𝒑𝒑 = 𝑓𝑓 𝒖𝒖, 𝒗𝒗 = 𝑔𝑔 𝑊𝑊 𝒖𝒖 𝒗𝒗 • 𝑊𝑊: ℝ2𝑑𝑑 → ℝ𝑑𝑑 の変換行列 (𝑑𝑑 × 2𝑑𝑑) • 𝑔𝑔: 活性化関数 (𝜎𝜎やtanh) • 文の句構造に従って再帰的に 句(文)ベクトルを計算 • 𝑊𝑊はオートエンコーダーやタ スクでの誤差を用いて学習 • 単語ベクトルも同時に学習 • ニューラル言語モデル (Collobert+ 2008) 等で初期化 2015-05-31 OS-1 (2)意味と理解のコンピューティング 33 moviegoodvery 𝑊𝑊 (𝑑𝑑 × 2𝑑𝑑) ・ ・ very good very good movie 𝑊𝑊 (𝑑𝑑 × 2𝑑𝑑)
  34. 34. Matrix-Vector Recursive Neural Network (MV-RNN) (Socher+ 2012) • 句のベクトルと行列を再帰的に合成していく 𝒑𝒑 = 𝑓𝑓𝐴𝐴,𝐵𝐵 𝒂𝒂, 𝒃𝒃 = 𝑓𝑓 𝐵𝐵𝒂𝒂, 𝐴𝐴𝒃𝒃 = 𝑔𝑔 𝑊𝑊 𝐵𝐵𝒂𝒂 𝐴𝐴𝒃𝒃 𝑃𝑃 = 𝑓𝑓𝑀𝑀 𝐴𝐴, 𝐵𝐵 = 𝑊𝑊𝑀𝑀 𝐴𝐴 𝐵𝐵 • 句の評価極性や関係ラベルを教師信号として学習 𝒚𝒚𝑝𝑝 = softmax 𝑊𝑊label 𝒑𝒑 2015-05-31 OS-1 (2)意味と理解のコンピューティング 34 • Baroni+ (2010) の 単語による線形変 換の考え方をRNN に統合 • 各単語をベクトル と行列で表現
  35. 35. Recursive Neural Tensor Network (Socher+ 2013) • MV-RNNは全ての単語が行列を持つので,学習す るパラメータが多すぎる 2015-05-31 OS-1 (2)意味と理解のコンピューティング 35 • テンソルで単語ベクト ルを行列に変換してか ら,単語ベクトルとの 積を計算
  36. 36. Stanford Sentiment Treebank (Socher+ 2013) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 36 映画のレビューコーパス (Pang+ 2005) の文を Stanford Parser句構造解 析し,句ノードに評価極性 (--, -, 0, +, ++)を3人 のアノテータで付与 評価極性を示す単語と 否定表現,活性・不活 性表現による構成性を 扱うことを目的として 作られたコーパス
  37. 37. 統語的な関係を考慮した線形変換 (Muraoka+ 2014) • Mitchell+ (2010) の句ベクトル構成 𝒑𝒑 = 𝑓𝑓(𝒖𝒖, 𝒗𝒗, 𝑅𝑅, 𝐾𝐾) • 実際には,統語的な関係𝑅𝑅は使われない • RNNの行列を統語関係𝑅𝑅ごとに学習(𝑊𝑊𝑅𝑅) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 37
  38. 38. SGNSとRNNの統合 (高瀬+ 2015) 2015-05-31 OS-1 (2)意味と理解のコンピューティング 38 prevent the initial growth of bacteriasoaps + x 内容語の意味 ベクトルの平均 機能語の 意味変換行列 構成性に基いて計算した 句の意味ベクトル 句(単語の連接)に対してベクトルを割り当てる 機能語(動詞の一部)に行列,内容語(名詞)にベクトルを割り当てる 予測 予測 予測予測 従来手法 提案手法 疎データ問題により,句の意味ベクトルの質が低下する 学習時に存在しなかった句の意味ベクトルを計算できない 動詞による意味の変性をモデル化できる(promote, preventなど) 学習時に存在しなかった句の意味を構成的に計算できる
  39. 39. まとめ • 分散表現と構成性の因縁 • SGNSで分散表現の研究が再び盛り上がる • 様々なタスクで分散表現の有用性が報告される • 加法構成性という面白い特徴 • 加法構成性を予め考慮したGloVe • SGNSは古典的なPMI+SVDとほぼ等価 • 加法構成性の理論的な解析も進む • (R)NNを使って意味の合成を柔軟に学習 • 今後の課題 • 単語の機能的な側面(否定など)の取り扱い • 形式論理との融合 2015-05-31 OS-1 (2)意味と理解のコンピューティング 39
  40. 40. 参考文献 (1/3) • M Baroni and R Zamparelli. 2010. Nouns are vectors, adjectives are matrices: representing adjective-noun constructions in semantic space. EMNLP-2010, pp. 1183- 1193. • Y Bengio, R Ducharme, P Vincent, C Janvin. 2003. A neural probabilistic language model. Journal of Machine Learning Research, 3:1137-1155. • J Bullinaria and J Levy. 2007. Extracting semantic representations from word co- occurrence statistics: A computational study. Behavior Research Methods, 39:510–526. • R Collobert and J Weston. 2008. A unified architecture for natural language processing: Deep neural networks with multitask learning. ICML-2008, pp. 160-167. • S Deerwester, S Dumais, G Furnas, T Landauer, R Harshman. 1990. Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41(6):391- 407. • J Firth. 1957. A synopsis of linguistic theory 1930-1955. In Studies in Linguistic Analysis, pp. 1-32. • J Fodor, Z Pylyshyn. 1988. Connectionism and cognitive architecture: A critical analysis. Cognition, 28:3-71. • G Frege. 1892. Über Begriff und Gegenstand. Vierteljahresschrift für wissenschaftliche Philosophie XVI:25–50. • Z Harris. 1954. Distributional structure. Word, 10(23):146-162. 2015-05-31 OS-1 (2)意味と理解のコンピューティング 40
  41. 41. 参考文献 (2/3) • G Hinton, J McClelland, and D Rumelhart. 1986. Distributed representations. In Parallel distributed processing: Explorations in the microstructure of cognition, Volume I. Chapter 3, pp. 77-109, Cambridge, MA: MIT Press. • G Lakoff. 1977. Linguistic gestalts. In Papers from the 13th regional meeting, pp. 236– 287. • O Levy and Y Goldberg. 2014. Neural word embedding as implicit matrix factorization. NIPS 2014, pp. 2177–2185. • O Levy, Y Goldberg, and I Dagan. 2015. Improving distributional similarity with lessons learned from word embeddings. TACL, 3:211-225. • T Mikolov, K Chen, G Corrado, and J Dean. 2013a. Efficient estimation of word representations in vector space. In Proceedings of Workshop at ICLR, 2013. • T Mikolov, I Sutskever, K Chen, G Corrado, and J Dean. 2013b. Distributed representations of words and phrases and their compositionality. In NIPS 2013, pp. 3111–3119. • J Mitchell and M Lapata. 2010. Composition in distributional models of semantics. Cognitive Science, 34:1388–1429. • M Muraoka, S Shimaoka, K Yamamoto, Y Watanabe, N Okazaki and K Inui. 2014. Finding the best model among representative compositional models. PACLIC-28, pp. 65-74. 2015-05-31 OS-1 (2)意味と理解のコンピューティング 41
  42. 42. 参考文献 (3/3) • B Partee. 1984. Compositionality. Varieties of formal semantics: Proceedings of the 4th Amsterdam colloquium (Groningen-Amsterdam studies in semantics, No. 3, pp. 281– 311. • B Partee. 1995. Lexical semantics and compositionality. Invitation to cognitive science part I: Language, pp. 311–360. • J Pennington, R Socher, and C Manning. 2014. Glove: Global vectors for word representation. In EMNLP-2014, pp. 1532–1543. • J Pollack. 1990. Recursive distributed representations. Artificial Intelligence, 46(1):77-105. • P Smolensky. 1990. Tensor product variable binding and the representation of symbolic structures in connectionist networks. Artificial Intelligence, 46:159-216. • R Socher, J Pennington, E Huang, A Ng, and C Manning. 2011. Semi-supervised recursive autoencoders for predicting sentiment distributions. EMNLP-2011, pp. 151- 161. • R Socher, B Huval, C Manning and A Ng. 2012. Semantic compositionality through recursive matrix-vector spaces. EMNLP-2012, pp. 1201-1211. • R Socher, A Perelygin, J Wu, J Chuang, C Manning, A Ng and C Potts. Recursive deep models for semantic compositionality over a sentiment treebank. EMNLP-2013, pp. 1631-1642. • 高瀬翔, 岡崎直観, 乾健太郎. 構成性に基づく関係パタンの意味計算. 言語処理学会第21 回年次大会, pp. 640-643, 2015. 2015-05-31 OS-1 (2)意味と理解のコンピューティング 42

×