Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ指向モデリング「テキストマイニングの基礎」

Avatar for yuri yuri
October 14, 2025

 データ指向モデリング「テキストマイニングの基礎」

データ指向モデリング講義資料

Avatar for yuri

yuri

October 14, 2025
Tweet

More Decks by yuri

Other Decks in Education

Transcript

  1. テキスト 複数 トピック 確率分 布によって構成され、トピック さま ざまな語句とそ 出現頻度によって 表される •

    どんな話題(トピック)がある か? • トピック毎にどんな語句が関連 するか? データから自動的に学習できる! トピックモデル 学習例 4 (Blei+ 2003)より
  2. “car”を検索するときに “automobile”も検索対象にしたい -> “car” 潜在的意味と ? • 情報検索 分野で開発されたLatent Semantic

    Indexing (LSI) (Deerwester+ 1990) 、特異値分解による低ラン ク近似により定式化 • X=USVTを満たすような行列U, S, Vそれぞれに対し、各 列ベクトルを特異値(S 対角要素) 大きい順にK個並 べた行列U~, S~, V~を用いることで、X 低ランク近似行 列を得る 古典的手法:Latent Semantic Indexing 5 X ~ U ~ S ≃ N×W N×K K×K K×W ~ VT
  3. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 7 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ U ~ S ~ VT
  4. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 8 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ U ~ S ~ VT 複数 単語 共起性によって 表されるベクトル=潜在トピック
  5. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 9 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ U ~ S ~ VT 複数 単語 共起性によって 表されるベクトル=潜在トピック 「音楽」トピック 「車」トピック
  6. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 10 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ U ~ S ~ VT 複数 単語 共起性によって 表されるベクトル=潜在トピック 「音楽」トピック 「車」トピック 文書 クラスタリ ング
  7. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 11 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2.38 2.29 0.85 0 0 文書B 1.32 1.27 0.47 0 0 文書C 0 0 0 2.36 1.37 文書D 0 0 0 2.67 1.55 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ X ~ U ~ S ~ VT
  8. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 12 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2.38 2.29 0.85 0 0 文書B 1.32 1.27 0.47 0 0 文書C 0 0 0 2.36 1.37 文書D 0 0 0 2.67 1.55 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ X ~ U ~ S ~ VT 頻度が0で なくなった!
  9. 文書と語彙 共起行列Xに対し、低ランク近似した行列X~を計算 低ランク行列分解による潜在意味解析 例 13 drive automobile car play music

    トピック1 0 0 0 0.86 0.50 トピック2 0.70 0.67 0.25 0 0 トピック1 トピック2 トピック1 4.13 0 トピック2 0 3.9 トピック1 トピック2 文書A 0 0.87 文書B 0 0.48 文書C 0.66 0 文書D 0.75 0 drive automobile car play music 文書A 2.38 2.29 0.85 0 0 文書B 1.32 1.27 0.47 0 0 文書C 0 0 0 2.36 1.37 文書D 0 0 0 2.67 1.55 drive automobile car play music 文書A 2 3 0 0 0 文書B 2 0 2 0 0 文書C 0 0 0 2 2 文書D 0 0 0 3 1 X ~ X ~ U ~ S ~ VT 潜在トピックを介して間接的に文書と単語 共起性を抽出すること で、文書Aと”car” ような潜在的共起性を抽出できる 頻度が0で なくなった!
  10. • U~, V~ 要素 何を表している か? ◦ 負 値をとりうるため、擬似的な頻度と 考えづらく、意味付けがない

    • 確率モデルとして再定式化 (1998~) ◦ 要素 値 確率値になる • ナイーブベイズ ◦ 文書 トピックが与えられているとき 簡単な生成モデル ◦ 未知 文書 トピックを予測できる LSI 問題点 14
  11. トピックモデル 歴史 15 • ナイーブベイズ トピックを潜在変数としてEMアルゴリズムで推定 • Mixture of unigrams

    (Nigam+ 2000) 文書にトピック分布が存在 • Probabilistic LSI (PLSI) (Hofmann 1999) 完全なベイズ化 • Latent Dirichlet Allocation (LDA) (Blei+ 2001, 2003)
  12. 複数 文書に対して、文書ごと 特徴を分析するに ? 特徴分析 16 文書A: apple, iphone, apple,

    iphone, watch, take, charge, iphone 文書B: make, get, apple, get, charge, virtual
  13. 複数 文書に対して、文書ごと 特徴を分析するに ? 要素 出現頻度を用いる場合: 特徴分析 17 文書A: apple,

    iphone, apple, iphone, watch, take, charge, iphone 文書B: make, get, apple, get, charge, virtual apple iphone watch take charge make get virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1
  14. 複数 文書に対して、文書ごと 特徴を分析するに ? 要素 出現頻度を用いる場合: 特徴分析 18 文書A: apple,

    iphone, apple, iphone, watch, take, charge, iphone 文書B: make, get, apple, get, charge, virtual apple iphone watch take charge make get virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1 より多く 文書に出現する語 特徴として役に立 たない で ? →文書を特徴づける「重要語」を計算したい! 例) 開腹、恢復
  15. • 重要語抽出について最もよく用いられる計算方法 • TF (Term Frequency): 文書dにおける語w 頻度 • IDF

    (Inversed Document Frequency): 語wを含む文書 頻度 逆数 D: 文書集合 df: 語wを含む文書 頻度 TF-IDF 19
  16. • 重要語抽出について最もよく用いられる計算方法 • TF (Term Frequency): 文書dにおける語w 頻度 • IDF

    (Inversed Document Frequency): 語wを含む文書 頻度 逆数 D: 文書集合 df: 語wを含む文書 頻度 TF-IDF 20 文書dにおける語w 重要度 語wが文書dに 多く含まれる 語w 他 文書に 出にくい と高くなる かつ
  17. TF-IDF 計算 21 apple iphone watch take charge make get

    virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1 文書ごと 各語 出現頻度
  18. TF-IDF 計算 22 apple iphone watch take charge make get

    virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1 文書ごと 各語 出現頻度 apple iphone watch take charge make get virtual 文書A 文書B 文書ごと 各語 TF-IDF ※ 底を2とする
  19. TF-IDF 計算 23 apple iphone watch take charge make get

    virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1 apple iphone watch take charge make get virtual 文書A 0 文書B 文書ごと 各語 出現頻度 文書ごと 各語 TF-IDF 文書Aにおける 語”apple” 頻度 語”apple”を含む 文書 頻度 文書 総数 ※ 底を2とする
  20. TF-IDF 計算 24 apple iphone watch take charge make get

    virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1 apple iphone watch take charge make get virtual 文書A 0 3 1 1 0 0 0 0 文書B 0 0 0 0 0 1 2 1 文書ごと 各語 出現頻度 文書ごと 各語 TF-IDF 文書Aにおける 語”apple” 頻度 語”apple”を含む 文書 頻度 文書 総数 ※ 底を2とする
  21. 文書ごと 特徴を捉えたベクトルが得られた ベクトル間 類似度や距離を計算することで、文書相互 似ている度合いを測る 文書相互 関係 分析 27 文書A:

    apple, iphone, apple, iphone, watch, take, charge, iphone 文書B: make, get, apple, get, charge, virtual [0, 3, 1, 1, 0, 0, 0, 0] [0, 0, 0, 0, 0, 1, 2, 1]
  22. x=(x 1 , x 2 , …, x i ,

    …, x n ), y=(y 1 , y 2 , …, y i , …, y n ) ピアソン 積率相関係数 (Pearson product-moment correlation coefficient)(また ピアソン相関係数、 あるい 単に相関係数) つぎ ように定義: x, y 変数x, y 平均 r xy -1から1まで 実数値をとり、 • r xy が1に近いほどx, y間に 強い正 相関がある • r xy が-1に近いほどx, y間に 強い負 相関がある • r xy が0に近いときx, y 無相関 類似度 指標① ピアソン 積率相関係数 28 ‾ ‾
  23. 文書Aと文書B コサイン類似度を計算 まず、文書をベクトル化する 各単語が何回出現したかを表現したbag-of-words表現(頻度ベクトル)を用いる コサイン類似度 計算 30 文書A: apple, iphone,

    apple, iphone, watch, take, charge, iphone 文書B: make, get, apple, get, charge, virtual apple iphone watch take charge make get virtual 文書A 2 3 1 1 1 0 0 0 文書B 1 0 0 0 1 1 2 1
  24. 距離 35 非負性 同一性 対称性 三角不等式 つぎ 4つ 条件が真であるとき、関数d(x, y)

    距離である 距離 公理 ※ 同一性 条件を抜いたも を擬距離という
  25. カルバック=ライブラー・ダイバージェンス (KL: Kullback-Leibler divergence) • 二つ 確率分布間 異なり具合を測る • 二つ

    確率分布P, Qが与えられたとき、PからみたQ KLダイバージェンス DKL(P||Q) つぎ ように計算: • KLダイバージェンス 対称性と三角不等式を満たさないため、数学的に 厳密な 距離で ない • 例え 、単語間 意味的な遠さを測ったり、文書全体からみたある文書に特徴的 な単語を抽出するために用いられる 距離 指標① カルバック=ライブラー・ダイバージェンス 36
  26. ジェンセン=シャノン・ダイバージェンス (JS: Jensen-Shannon divergence) • 平均的な確率分布まで KLダイバージェンス 平均 • JSダイバージェンス

    対称性を満たす が、三角不等式を満たさないため厳密な距 離で ない 距離 指標② ジェンセン=シャノン・ダイバージェンス 37
  27. ナイーブベイズ分類器 (naive Bayes classifier) • 「ベイズ 定理」を用いた確率に基づく「素朴な」分類器 • 例え 、データ集合Dが与えられたとき、新たなメールを普通

    メールか迷惑メール に分類したいとする ナイーブベイズ分類器 38 w1 w2 w3 w4 d1 3 1 0 0 普通メール D= d2 2 0 1 1 普通メール d3 0 2 1 1 迷惑メール ? ? ベイズ 定理
  28. 確率 復習:周辺化 39 y1 y2 y3 y4 x1 0.1 0.05

    0 0.2 x2 0 0.25 0.05 0.15 x3 0 0.1 0.05 0.05 周辺化 (marginalization)
  29. 確率 復習:連鎖則 40 y1 y2 y3 y4 x1 0.1 0.05

    0 0.2 x2 0 0.25 0.05 0.15 x3 0 0.1 0.05 0.05 連鎖則 (chain rule) ← 周辺化
  30. 確率 復習:連鎖則 41 y1 y2 y3 y4 x1 0.1 0.05

    0 0.2 x2 0 0.25 0.05 0.15 x3 0 0.1 0.05 0.05 連鎖則 (chain rule)
  31. • p(d|c)を多項分布でモデル化 ◦ pw,c: クラスがc ときに単語wが選 れる確率 ◦ nw,d: 文書d内で単語wが起こる回数

    多項モデル ナイーブベイズ分類器 47 単語wが確率pw,cでnw,d回出るかを n回決めていくことで文書が生成される
  32. • p(d|c)を多項分布でモデル化 ◦ pw,c: クラスがc ときに単語wが選 れる確率 ◦ nw,d: 文書d内で単語wが起こる回数

    多項モデル ナイーブベイズ分類器 48 単語wが確率pw,cでnw,d回出るかを n回決めていくことで文書が生成される そもそもn、つまり文書 長さが決まる確率
  33.            と書けることを保証する仮定である • 独立な で積に分解でき、同一 確率分布に従う で1種類 確率関数p(x)で書ける • データ

    生成確率p(D)を尤度 (likelihood) とよぶ • 積 形 扱いにくい で対数をとった値を用いることが多く、log p(D)を対数尤度 (log-likelihood) とよぶ i.i.d.と尤度 51 「データ 独立に同一 確率分布に従う (independently, identically distributed; i.i.d.) 」 と 、確率変数X サンプルデータ 生成確率p(D)が
  34. • 最尤推定 (maximum likelihood estimation): ◦ 対数尤度log p(D)を最大化するように パラメータθを決定 最尤推定と最大事後確率推定

    52 データD 確率分布 生成 パラメータθ? 推定 ※ θ パラメータな でp(x|θ)とp(x;θ) 実質的に同じだと思って良い
  35. • 最尤推定 (maximum likelihood estimation): ◦ 対数尤度log p(D)を最大化するように パラメータθを決定 •

    最大事後確率推定 (MAP: maximum a posteriori estimation): ◦ パラメータがどんな値をとりやすいかが事前にわかっている場合 ◦ 事後確率 対数をとった値 log p(θ|D)を最大化するようにパラメータθを 決定 最尤推定と最大事後確率推定 53 パラメータ 事 前確率分布 データD 確率分布 生成 パラメータθ? 推定 生成 ※ θ パラメータな でp(x|θ)とp(x;θ) 実質的に同じだと思って良い
  36. • 最尤推定 (maximum likelihood estimation): ◦ 対数尤度log p(D)を最大化するように パラメータθを決定 •

    最大事後確率推定 (MAP: maximum a posteriori estimation): ◦ パラメータがどんな値をとりやすいかが事前にわかっている場合 ◦ 事後確率 対数をとった値 log p(θ|D)を最大化するようにパラメータθを 決定 最尤推定と最大事後確率推定 54 パラメータ 事 前確率分布 データD 確率分布 生成 パラメータθ? 推定 生成 ※ θ パラメータな でp(x|θ)とp(x;θ) 実質的に同じだと思って良い
  37. ディリクレ分布 (Dirichlet distribution) • x = (x1,...,xn) に対して α =

    (α1,...,αn): パラメータ ディリクレ分布 55 引用 (2023/11) https://ja.wikipedia.org/wiki/ディリクレ分布 とき
  38. ディリクレ分布 (Dirichlet distribution) • x = (x1,...,xn) に対して α =

    (α1,...,αn): パラメータ ディリクレ分布 56 引用 (2023/11) https://ja.wikipedia.org/wiki/ディリクレ分布 ディリクレ分布に従う確率変数 一 般に極端な値をとりにくい とき
  39. ディリクレ分布 (Dirichlet distribution) • x = (x1,...,xn) に対して α =

    (α1,...,αn): パラメータ ディリクレ分布 条件 xが多項分布 パラメータとなる条件と同じ つまり、ディリクレ分布 多項分布 パラメータ 確率分布を表す ことができる ただし、そ 場合、多項分布 パラメータ 極端な値になりにくいことを仮定 ディリクレ分布 57 引用 (2023/11) https://ja.wikipedia.org/wiki/ディリクレ分布 ディリクレ分布に従う確率変数 一 般に極端な値をとりにくい とき
  40. 小 大 g(x) = 0 A B g(x) = 0

    条件下で目的関数 f(x) を最大化したい: 例え 、xが2次元空間に存在し、制約を表す関数g(x)が1次関数である場合を考える 制約がないとき:最適点 点A 制約があるとき:直線 g(x) = 0上で目的関数 f(x) が最大となる点を求め、最適点 点B 最適点において直線 g(x) = 0と等高線 接し ていなくて ならない 等式制約付き凸計画問題とラグランジュ 未定乗数法 60
  41. 等位面 法線ベクトルと関数g(x) = 0 法線ベクトル 平行な で、変数λを導入して つぎ ような関数 L(x,

    λ) を定義する: こ 関数をラグランジュ関数 (Lagrangian) と呼び、変数λをラグランジュ乗数 (Lagrange multiplier) と呼ぶ (1), (2) 連立方程式を解くと最適点が得られ、こ 手法をラグランジュ 未定乗数法 (the method of Lagrange multipliers) と呼ぶ 等式制約付き凸計画問題とラグランジュ 未定乗数法 61 一般化すると
  42. 多項モデル パラメータ MAP推定 65 クラスcに属する訓練文書全体で w 出現回数 クラスcに属する訓練文書全体で 全単語 出現回数

    ここで、W 単語 種類数、|C| クラス数を表す をそれぞれ0とし、 と合わせると、 0にならないよ うにしている =ディリクレス ムージング
  43. 多項モデル パラメータ MAP推定 66 クラスcに属する訓練文書全体で w 出現回数 クラスcに属する訓練文書全体で 全単語 出現回数

    訓練文書数 クラスcに属する訓練文書数 0にならないよ うにしている =ディリクレス ムージング 0にならな いようにし ている ここで、W 単語 種類数、|C| クラス数を表す をそれぞれ0とし、 と合わせると、
  44. • 坂地 泰紀『テキストマイニング 基礎』データ指向モデリング講義資料,2022年. • 高村 大也『言語処理 ため 機械学習入門』コロナ社,2012年. •

    持橋 大地『確率的トピックモデル』 https://www.ism.ac.jp/~daichi/lectures/H24-TopicModel/ISM-2012-TopicModels-d aichi.pdf (参照 2023年11月),2013年. • 佐藤 一誠『トピックモデルによる統計的潜在意味解析』コロナ社,2015年. • 金 明哲『テキストアナリティクス 基礎と実践』岩波書店,2021年. • 那須川 哲哉ほか『テキストマイニング 基礎技術と応用』岩波書店,2020年. 参考文献 71