文章のトピック 文章には様々なトピックが存在する Cuomo to Push for Broader Ban on Assault Weapons 2012 Was Hottest Year in U.S. History 2

Similar documents
NLP プログラミング勉強会 5 HMM による品詞推定 自然言語処理プログラミング勉強会 5 隠れマルコフモデルによる品詞推定 Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1

言語モデルの基礎 2

NLP プログラミング勉強会 6 かな漢字変換 自然言語処理プログラミング勉強会 6 - かな漢字変換 Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1

Graham Neubig ノンパラメトリックベイズ法 ノンパラメトリックベイズ法 Graham Neubig 2011 年 5 月 10 1

NLP プログラミング勉強会 4 単語分割 自然言語処理プログラミング勉強会 4 - 単語分割 Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

自然言語は曖昧性だらけ! I saw a girl with a telescope 構文解析 ( パージング ) は構造的な曖昧性を解消 2

生命情報学

トピックモデルの応用: 関係データ、ネットワークデータ

Microsoft Word - 補論3.2

PowerPoint プレゼンテーション

統計的データ解析

Microsoft Word - 3new.doc


Variational Auto Encoder

Probit , Mixed logit

様々なミクロ計量モデル†

NLMIXED プロシジャを用いた生存時間解析 伊藤要二アストラゼネカ株式会社臨床統計 プログラミング グループグルプ Survival analysis using PROC NLMIXED Yohji Itoh Clinical Statistics & Programming Group, A

先 週 の 復 習 : 文 の 確 率 計 算 文 の 確 率 が 欲 しい W = speech recognition system 変 数 で 以 下 のように 表 す ( 連 鎖 の 法 則 を 用 いて ): P( W = 3, w 1 = speech, w 2 = recognitio

プレポスト【解説】

トピックモデルを用いた歌声特徴量の分析

スライド 1

Microsoft PowerPoint - 14回パラメータ推定配布用.pptx

SAP11_03

概要 協調フィルタリング Start-up問題 利用者が少ないとうまくいかない 集団協調フィルタリング 複数サイトの情報をマルチタスク学習を利用して集める 広域ネットワーク上に分散 通信量を抑制 個人情報の保護 個人嗜好データは局所サイト内でのみ保持 各サイトの個性の保持 個別の推薦モデルの獲得 実

OpRisk VaR3.2 Presentation

プログラミング入門1

日心TWS

スライド 1

Formal Model for Kana-Kanji Conversion (KKC) In Japanese input, users type in phonetic Hiragana, but proper Japanese is written in logographic Kanji K

メソッドのまとめ

序 本冊子は 2015 年 1 月 5-6 日に行われた統計数理研究所共同利用研究集会 生物に見られる時空間パターンと統計数理: 同調 認知 行動 において行われた統計手法チュートリアル 離散データの確率的トピックモデル ( 統計数理研究所持橋大地 ) の講義録です チュートリアル講義を録音し テー

0 スペクトル 時系列データの前処理 法 平滑化 ( スムージング ) と微分 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

Microsoft PowerPoint - 03ModelBased.ppt

メソッドのまとめ

講義「○○○○」

Rの基本操作

6 2 2 x y x y t P P = P t P = I P P P ( ) ( ) ,, ( ) ( ) cos θ sin θ cos θ sin θ, sin θ cos θ sin θ cos θ y x θ x θ P

PowerPoint プレゼンテーション

研修コーナー

™…{,

tnbp59-21_Web:P2/ky132379509610002944

Microsoft PowerPoint 新道路研究会_公開用.pptx

main.dvi

mnal_HDR4ex_5ex.pdf

Taro13-第6章(まとめ).PDF


スライド 1

切断安定分布による資産収益率のファットテイル性のモデル化とVaR・ESの計測手法におけるモデル・リスクの数値的分析

パーキンソン病治療ガイドライン2002

PowerPoint プレゼンテーション

ビジネス統計 統計基礎とエクセル分析 正誤表

日本内科学会雑誌第97巻第7号

楽天事業報告2006_PDF用

表紙入稿

6


4 段階推定法とは 予測に使うモデルの紹介 4 段階推定法の課題 2

ベイズ統計入門

memo

ii 3.,. 4. F. (), ,,. 8.,. 1. (75% ) (25% ) =9 7, =9 8 (. ). 1.,, (). 3.,. 1. ( ).,.,.,.,.,. ( ) (1 2 )., ( ), 0. 2., 1., 0,.


Microsoft PowerPoint - H17-5時限(パターン認識).ppt


TC1-31st Fuzzy System Symposium (Chofu, September -, 15) cremental Neural Networ (SOINN) [5] Enhanced SOINN (ESOINN) [] ESOINN GNG Deng Evolving Self-

Microsoft PowerPoint - e-stat(OLS).pptx

日本内科学会雑誌第98巻第4号

(3) 検定統計量の有意確率にもとづく仮説の採否データから有意確率 (significant probability, p 値 ) を求め 有意水準と照合する 有意確率とは データの分析によって得られた統計値が偶然おこる確率のこと あらかじめ設定した有意確率より低い場合は 帰無仮説を棄却して対立仮説

統計学 - 社会統計の基礎 - 正規分布 標準正規分布累積分布関数の逆関数 t 分布正規分布に従うサンプルの平均の信頼区間 担当 : 岸 康人 資料ページ :

Microsoft Word - Time Series Basic - Modeling.doc

ii 3.,. 4. F. (), ,,. 8.,. 1. (75%) (25%) =7 20, =7 21 (. ). 1.,, (). 3.,. 1. ().,.,.,.,.,. () (12 )., (), 0. 2., 1., 0,.

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

_0212_68<5A66><4EBA><79D1>_<6821><4E86><FF08><30C8><30F3><30DC><306A><3057><FF09>.pdf

PowerPoint プレゼンテーション

プログラミング基礎

カイ二乗フィット検定、パラメータの誤差

Kumamoto University Center for Multimedia and Information Technologies Lab. 熊本大学アプリケーション実験 ~ 実環境における無線 LAN 受信電波強度を用いた位置推定手法の検討 ~ InKIAI 宮崎県美郷

プログラミング基礎

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

Otsuma Nakano Senior High School Spring Seminar Mathematics B

1. (8) (1) (x + y) + (x + y) = 0 () (x + y ) 5xy = 0 (3) (x y + 3y 3 ) (x 3 + xy ) = 0 (4) x tan y x y + x = 0 (5) x = y + x + y (6) = x + y 1 x y 3 (

スライド 1

Microsoft PowerPoint - 資料3 BB-REVIEW (依田構成員).ppt

PowerPoint プレゼンテーション

経済統計分析1 イントロダクション

Pr(X=1) 異文化言語教育評価論 2014/10/15 Many-Facet Rasch Measurement 第 2 章ラッシュ測定 : 基礎 担当 :N.I 2.1 ラッシュ測定の要素 値ラッシュモデル 2 値項目 (dichotomous items) というのは 例えば

自動車感性評価学 1. 二項検定 内容 2 3. 質的データの解析方法 1 ( 名義尺度 ) 2.χ 2 検定 タイプ 1. 二項検定 官能検査における分類データの解析法 識別できるかを調べる 嗜好に差があるかを調べる 2 点比較法 2 点識別法 2 点嗜好法 3 点比較法 3 点識別法 3 点嗜好

基礎統計

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

生命情報学

kubo2015ngt6 p.2 ( ( (MLE 8 y i L(q q log L(q q 0 ˆq log L(q / q = 0 q ˆq = = = * ˆq = 0.46 ( 8 y 0.46 y y y i kubo (ht

snkp-14-2/ky347084220200019175

Excelにおける回帰分析(最小二乗法)の手順と出力

nlp1-04a.key

2014 BinN 論文セミナーについて

5 Basis Expansions and Regularization 5.3 Filtering and Feature Extraction 5.4 Smoothing Splines Degrees of Freedom and Smoother Matrices

1

ii 2. F. ( ), ,,. 5. G., L., D. ( ) ( ), 2005.,. 6.,,. 7.,. 8. ( ), , (20 ). 1. (75% ) (25% ). 60.,. 2. =8 5, =8 4 (. 1.) 1.,,

untitled

Stanによるハミルトニアンモンテカルロ法を用いたサンプリングについて

Transcription:

自然言語処理プログラミング勉強会 7 - トピックモデル Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1

文章のトピック 文章には様々なトピックが存在する Cuomo to Push for Broader Ban on Assault Weapons 2012 Was Hottest Year in U.S. History 2

文章のトピック 文章には様々なトピックが存在する Cuomo to Push for Broader Ban on Assault Weapons ニューヨーク政治武器犯罪 2012 Was Hottest Year in U.S. History 天気気候統計アメリカ 3

トピックモデル トピックモデルでは文章 X に対してトピック Y を発見 X Y Cuomo to Push for Broader Ban on Assault Weapons ニューヨーク政治武器犯罪 2012 Was Hottest Year in U.S. History 天気気候統計アメリカ Topic Modeling 4

確率的生成モデル 文章 X とトピック Y が何かの過程によって同時に生成されたとする P(Y, X ) 同時確率が高ければ 条件付き確率も高い : argmax Y P (Y X )=argmax Y P(Y, X) 5

トピックを考慮した文の生成モデル 単語列 X とトピック列 Y: X = Cuomo to Push for Broader Ban on Assault Weapons Y = NY 機能政治機能政治政治機能犯罪 まずトピックを独立に生成 : P(Y )= i=1 その次 各単語をトピックに基づいて生成 : I P ( y i ) 犯罪 P( X Y )= i=1 I P(x i y i ) P( X,Y )=P( X Y )P(Y )= i=1 I P(x i y i )P( y i ) 6

トピックが付与された場合の確率学習 X = Cuomo to Push for Broader Ban on Assault Weapons Y = NY 機能政治機能政治政治機能犯罪 犯罪 最尤推定で学習可能 トピック確率 単語確率 P(y=NY) = c(y=ny)/ Y = 1/9 P(y= 政治 ) = c(y= 政治 )/ Y = 3/9 P(x=Assault y= 犯罪 ) = c(x=assault,y= 犯罪 )/c(y= 犯罪 ) = 1/2 ( 実際は文ではなく 文章 ) 7

教師なしトピックモデル 文章 X のみからトピックらしいクラス Y を発見 Cuomo to Push for Broader Ban on Assault Weapons 2012 Was Hottest Year in U.S. History X Y 32 24 10 19 5 18 49 37 教師なしトピックモデル 前と違って Y の記された学習データがない! どうしよう 8

教師なし学習 観測変数 X 隠れ変数 Y パラメータ θ に対する分布を定義 P(Θ,Y, X ) (θ はモデル確率を定義 Y はある X に対応 という差 ) これを使って 例えば最尤推定 で θ と Y を推定 ^Θ, ^Y =argmax Θ,Y P (Θ,Y, X) 9

潜在的ディリクレ配分法 (Latent Dirichlet Allocaton: LDA) トピックモデルの中で最も一般的 まずモデルのパラメータ θ を生成 : 各文章に対して X: 文章のトピック分布 T i を生成 : P(θ) P(T i θ) X i の各単語 x i,j に対して : トピック y i,j を生成 : 単語 x i,j を生成 : P( y i, j T i,θ) P(x i, j y i, j,θ) P( X,Y )= θ P (θ) i P(T i θ) j P ( y i, j T i, θ) P(x i, j y i, j,θ) 10

最尤推定 単語 X とトピック Y が与えられたとしたら : X 1 = Cuomo to Push for Broader Ban on Assault Weapons Y 1 = 32 7 24 7 24 24 7 10 10 各文章のトピック分布を決定 : P( y Y i )=c( y, Y i )/ Y i e.g.: P( y=24 Y 1 )=3/9 各トピックの単語分布を決定 : P(x y)=c(x, y)/c( y) e.g.: P(x=assault y=10)=1/2 11

隠れ変数 問題 : y i,j の値は与えられていない 解決策 : 教師なし学習を利用 教師なし学習の手法例 : EM アルゴリズム 変分ベイズ サンプリング 12

サンプリングの例 ある分布に従ってサンプルを生成 : 分布 : P(A)=0.5 P(B)=0.3 P(C)=0.2 サンプル : B B C A A C A B B A サンプルを数え上げて割ったら確率が近似可能 : P(A)= 4/10 = 0.4, P(B)= 4/10 = 0.4, P(C) = 2/10 = 0.2 サンプルが増えれば近似の精度も増える : Probability 1 0.8 0.6 0.4 0.2 0 1E+00 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06 Samples A B C 13

SampleOne(probs[]) z = Sum(probs) remaining = Rand(z) アルゴリズム for each i in 0.. probs.size-1 remaining -= probs[i] if remaining <= 0 return i 確率の和 ( 正規化項 ) を計算 [0,z) の乱数を一様分布によって生成 probs の各項目を検証 現在の確率を引く 0 より小さい場合 返す 全ての確率が終わっても返さない場合はバグでエラー終了! 14

ギブスサンプリング 2 つの変数を分布 P(X,Y) からサンプルしたい P(X,Y) からサンプリングすることが不可 P(X Y) と P(Y X) からサンプリングすることが可 ギブスサンプリングでは 変数を 1 個ずつサンプリングする 各イタレーション : X を固定し Y を P(Y X) に従ってサンプリング Y を固定し X を P(X Y) に従ってサンプリング 15

ギブスサンプリングの例 親 A と子 B は買い物している それぞれの性別は? P( 母 娘 ) = 5/6 = 0.833 P( 母 息子 ) = 5/8 = 0.625 P( 娘 母 ) = 2/3 = 0.667 P( 娘 父 ) = 2/5 = 0.4 初期状態 : 母 / 娘 A をサンプル : P( 母 娘 )=0.833, 母を選んだ! B をサンプル : P( 娘 母 )=0.667, 息子を選んだ! c( 母, 息子 )++ A をサンプル : P( 母 息子 )=0.625, 母を選んだ! B をサンプル : P( 娘 母 )=0.667, 娘を選んだ! c( 母, 娘 )++ 16

実際にやってみると 確率 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1E+00 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06 サンプル数 母 / 娘母 / 息子父 / 娘父 / 息子 同時確率の式を手で解いてこの結果を確認できる 17

トピックモデルのサンプリング (1) y i,j を 1 つずつ : X 1 = Cuomo to Push for Broader Ban on Assault Weapons Y 1 = 5 7 4 7 3 4 7 6 6 まず y i,j をカウントから削除 確率を再計算 {0, 0, 1/9, 2/9, 1/9, 2/9, 3/9, 0} {0, 0, 1/8, 2/8, 1/8, 2/8, 2/8, 0} 18

トピックモデルのサンプリング (2) y i,j を 1 つずつ : X 1 = Cuomo to Push for Broader Ban on Assault Weapons Y 1 = 5 7 4??? 3 4 7 6 6 トピック確率と単語確率を掛け合わせる : P(y i,j Y i ) = { 0, 0, 0.125, 0.25, 0.125, 0.25, 0.25, 0} P(x i,j y i,j, θ) ={0.01, 0.02, 0.01, 0.10, 0.08, 0.07, 0.70, 0.01} * コーパス全体から計算 P(x i,j y i,j Y i, θ)={ = 0, 0,0.00125,0.01,0.01,0.00875,0.175, 0}/Z 正規化係数 19

トピックモデルのサンプリング (3) 確率分布から 1 つの値をサンプリング : P(x i,j, y i,j T i, θ)={ 0, 0,0.00125,0.01,0.01,0.00875,0.175, 0}/Z トピックを更新 : X 1 = Cuomo to Push for Broader Ban on Assault Weapons Y 1 = 5 7 4 6 3 4 7 6 6 カウントと確率を更新 : {0, 0, 1/8, 2/8, 1/8, 2/8, 2/8, 0} {0, 0, 1/9, 2/9, 1/9, 3/9, 2/9, 0} 20

ディリクレ分布による平滑化 : 問題 : 多くのカウントが 0 多くの確率が 0 局所解に陥る 解決策 : 確率の平滑化 平滑化なし P(x i, j x i, j )= c(x i, j, y i, j ) c( y i, j ) 平滑化有り P(x i, j y i, j )= c(x i, j, y i, j )+ α c( y i, j )+ α N x P( y i, j Y i )= c( y i, j,y i ) P( y i, j Y i )= c( y i, j Y i )+ β c(y i ) c(y i )+ β N y N x と N y はそれぞれ単語とトピックの異なり数 確率に対してディリクレ分布に基づく事前分布の利用と等しい ( LDA の論文を参照 ) 21

実装 : 初期化 make vectors xcorpus, ycorpus # 各 x, y を格納 make map xcounts, ycounts # カウントの格納 for line in file docid = size of xcorpus # この文章の ID を獲得 split line into words make vector topics # 単語のトピックをランダム初期化 for word in words topic = Rand(NUM_TOPICS) # [0,NUM_TOP) の間 append topic to topics AddCounts(word, topic, docid, 1) # カウントを追加 append words (vector) to xcorpus append topics (vector) to ycorpus 22

実装 : カウントの追加 AddCounts(word, topic, docid, amount) xcounts[ topic ] += amount xcounts[ word topic ] += amount P(x i, j y i, j )= c(x i, j, y i, j )+ α c( y i, j )+ α N x ycounts[ docid ] += amount ycounts[ topic docid ] += amount P( y i, j Y i )= c( y i, j, Y i )+ β c(y i )+ β N y バグチェック < 0 の場合はエラー終了 23

実装 : サンプリング for many iterations: for i in 0:Size(xcorpus): for j in 0:Size(xcorpus[i]): x = xcorpus[i][j] y = ycorpus[i][j] AddCounts(x, y, i, -1) # 各カウントの減算 (-1) make vector probs for k in 0.. NUM_TOPICS-1: append P(x k) * P(k Y) to probs # トピック k の確率 new_y = SampleOne(probs) ll += log(probs[new_y]) # 対数尤度の計 AddCounts(x, new_y, i, 1) # 各カウントの加算 ycorpus[i][j] = new_y print ll print out xcounts and ycounts 24

演習課題 25

Exercise 実装 learn-lda テスト (NUM_TOPICS=2) 入力 : test/07 train.txt 正解 : 正解はない! ( サンプリングはランダムなので ) しかし a b c d と e f g h に分かれる確率が高い 学習 data/wiki en documents.word を使って 検証発見されたトピックは直感に沿うのか?( 機能語を削除して 各トピックで頻度の高い内容語を見ると良い ) チャレンジトピック数を事前に決めなくても良いようにモデルを変更 ( ノンパラメトリックベイズで検索 ) 26

Thank You! 27