Text Categorization
Text Categorization
HIRAKATA
Univ. of Tokyo, CS
April 28, 2014
Text Categorization
1 Introduction
2 Decision Trees
3 Maximum Entropy Modeling
4 Perceptrons
5 k-nearest neighbor classification
6 比較
Text Categorization
Introduction
classification
NLP における重要な問題 classification あるいは
categorization は任意の object を 2 つ以上の class あるいは
category に割り当てること
上 2 つはもうやった。
Problem Object Categories
tagging context of word the word’s tags
disambiguation context of word the word’s sense
author document authors
language document languages
text categorization document topics
Text Categorization
Introduction
text classification
goal:
document -> topic (theme)
ニュースを興味在るものにフィルタするとかいう適用例が
ある
Text Categorization
Introduction
統計的分類の一般的な特徴づけ
訓練データ object があって各々の object は一つ以上のクラ
スがラベル付けされている
(⃗x, c)
where
⃗x ∈ Rn
is a vector of measurements,
c is the class label.
linear classification
g(⃗x) = ⃗w · ⃗x + w0
これの正負によって二値に分類
Text Categorization
Introduction
keywords
local optimum
手法に依っては大域的最適解が保証されてたりされて
なかったりする
hill climbing
線形分離に就いての山登り法として perceptrons がある
Text Categorization
Introduction
正解率
二値分類の場合自然に recall, precision が定義できる (略)
macro-averaging
三つ以上のカテゴリ (c1, c2, ..) に分類する場合全ての i に就
いて ci v.s. ¬ci という分割で recall, precision を計算して平
均をとる
Text Categorization
Introduction
techniques
本章では次の 4 つの技巧を紹介する
decision trees
maximum entropy modeling
perceptrons
k nearest neighbor classification
Text Categorization
Decision Trees
決定木
1 start at the top node
2 test question, branching
Text Categorization
Decision Trees
K 個の term (word) を定めて document j を次の K 次元の整
数ベクトルで表現する
xj = (sij , . . . , sKj )
where
sij = round
(
10 ×
1 + log(tfij )
1 + log(ℓj )
)
tfij とは document j における term i の出現頻度
ℓj とは document j の長さ
例えば 89 words からなる docuemnt j に 6 回 term i が出現
した場合そのスコアは sij = 10 × 1+log(6)
1+log(89)
≈ 5.09
Text Categorization
Decision Trees
splitting
決定木を作るために次の 2 つの尺度が必要
splitting criterion
stopping criterion
stopping criterion は自明である (!) それ以上分割できなくな
ればつまりあるノードでそこにある要素が全て同じカテゴ
リーならばそこで止めればよい
Text Categorization
Decision Trees
information gain
splitting criterion としてここでは maximum information gain
を用いる
属性 a について 値 y で分割するときその減少量は
G(a, y) = H(t) − H(t|a) = H(t) − (pLH(tL) + pRH(tR))
で表される
Text Categorization
Decision Trees
剪定
過学習を避けるために一旦木を作った後に剪定を行う
よくある剪定の方法はノードごとにそのノードが寄与
してる尺度を計算する (Quinlan 1993)
Text Categorization
Decision Trees
剪定
過学習を避けるために一旦木を作った後に剪定を行う
よくある剪定の方法はノードごとにそのノードが寄与
してる尺度を計算する (Quinlan 1993)
1 1 つずつノードを消していって n 個の木を作る
Text Categorization
Decision Trees
剪定
過学習を避けるために一旦木を作った後に剪定を行う
よくある剪定の方法はノードごとにそのノードが寄与
してる尺度を計算する (Quinlan 1993)
1 1 つずつノードを消していって n 個の木を作る
2 n 個の木について validation を行って (精度を調べて)
最適なものを選択する
Text Categorization
Decision Trees
剪定による精度の絵
Figure 16.4 参照
剪定するノードの数を増やすにつれて
training set に対する精度は下がる
test set に対する精度は中程でピーク
Text Categorization
Decision Trees
cross-validation
validation set を用いた手法は training set の大部分が無
駄になる
もっと良い手法として n-fold cross-validation を用いる
こと
n 個に分割
n − 1 個を training set, 1 個を validation set として精度
の平均をとる
Text Categorization
Decision Trees
決定木まとめ
決定木はナイーブベイズ分類器, 線形回帰, ロジスティ
ク回帰より複雑
データセットが小さい場合 上手く分離できず失敗する
問題が単純ならば より単純な手法を使うほうが好ま
しい
Text Categorization
Maximum Entropy Modeling
最大エントロピーモデルとは
異なるソースから成る情報を分類するためのフレーム
ワーク
Text Categorization
Maximum Entropy Modeling
最大エントロピーモデルとは
異なるソースから成る情報を分類するためのフレーム
ワーク
分類の問題をいくつかの (たいていは大量の)feature と
して記述する
feature とはそのモデルにおける制約
制約を満たす中でエントロピーを最大化する
feature の選択と学習は共に行われる (重み付のこと??)
最大エントロピーモデルを用いる目的はできるだけ不確か
さを保つことにある
Text Categorization
Maximum Entropy Modeling
featureの定義
feature
feature fi とは
fi (⃗xj , c) =
{
1 sij > 0 ∧ c = 1
0 otherwise
sij は前に書いたスコア
c は ⃗xj で記述される document のクラスだけど
注目してるあるクラスならば 1 さもなくば 0 とする
Text Categorization
Maximum Entropy Modeling
loglinear models
maximum entropy modeling の 1 つ
loglinear models
p(⃗x, c) =
1
Z
K∏
i=1
α
fi (⃗x,c)
i
αi が feature fi に対する重みで
実際の分類には p(x, 0) <> p(x, 1) の比較を行えばよい
Text Categorization
Maximum Entropy Modeling
generalized iterative scaling
以下の制約を満たすような最大エントロピーを与える分布
p∗
を探す
制約
訓練データにおける分布 ˜p での feature の期待値と一致する
こと
Ep∗ [fi ] = E˜p[fi ]
generalized iterative scaling とはこのような p∗
を探すための
アルゴリズム
Text Categorization
Maximum Entropy Modeling
先の等式
Ep∗ [fi ] = E˜p[fi ]
を満たすために
fK+1 = C −
K∑
i=1
fi
を追加する
ここで C は (定数ならなんでもよさそうだけど)
C := max
(x,c)
K∑
i=1
fi (x, c)
を用いる
Text Categorization
Maximum Entropy Modeling
等式の右辺は簡単に簡約できて
E˜p[fi ] =
∑
(x,c)
˜p(x, c)fi (x, c)
=
1
N
N∑
j=1
fi (xj , c)
Text Categorization
Maximum Entropy Modeling
左辺は ∀⃗x として訓練データ中の ⃗x1.. ⃗xN に制限をする近似
を用いて計算する (Lau 1004)
Ep[fi ] =
∑
(x,c)
p(x, c)fi (x, c)
=
N∑
j=1
∑
c
1
N
p(c|xj )fi (xj , c)
Text Categorization
Maximum Entropy Modeling
実際には次のようにして αi を学習する
1 p1
= {α1
i }i=1..K+1 ; 何でもいいけど通常は全部 1 にする
2 let n = 1
3 pn+1
← update pn
αn+1
i = αn
i ri
where ri =
(
E˜p[fi ]
En
p [fi ]
)1/C
4 until converged { let n = n + 1; goto 2 }
5 let p∗
= pn
Text Categorization
Perceptrons
パーセプトロン
gradient descent (山登り法) の簡単な例
線形分離する
decide ‘yes’ for ⃗x ⇐⇒ ⃗w · ⃗x > θ
Text Categorization
Perceptrons
学習
ϕ(w′
) = [w1..wK ; θ] · [x1..xK ; −1]T
w′
は左の行ベクトル
ϕ の勾配に沿って w を動かす
∇ϕ(w′
) = [x; −1]
1 訓練データ中の (xj , c); c ∈ {−1, 1} について
2
{
c == (wxj > θ) =⇒ continue
otherwise =⇒ w′
← w′
+ c × [xj ; −1]
Text Categorization
k-nearest neighbor classification
k近傍法; kNN
原理
新しいオブジェクトを分類するには訓練データから一番似
てるものを探せばいい
肝は似てるとする尺度関数を持ってくること
(鷲の絵の例え)
もしそのような尺度を知らないのならば kNN は使え
ない
Text Categorization
k-nearest neighbor classification
1NN algorithm
訓練データ X によって y を分類する
1 simmax (y) = max
x∈X
sim(x, y)
2 let A = {x ∈ X|sim(x, y) = simmax (y)}
3 decide c = arg max
c
size{class(x)|x ∈ A}
k > 1 ならば similality が k 番目に高いものまでを A に含
める
Text Categorization
k-nearest neighbor classification
kNNまとめ
大事なのは、similarity metric
k の値はそれに比べれば重要ではない
他の肝は計算量 訓練データとの類似度を毎回計算した
ら大変
Text Categorization
比較
以上の手法の比較
for Reuters category “earnings”
決定木 96.0 %
最大エントロピーモデル 93.91 %
パーセプトロン 83.3 %
1-NN 95.3 %

More Related Content

PPT
ma52005id336
PDF
トピックモデル
PDF
4thNLPDL
PDF
2016word embbed
PDF
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
PDF
深層生成モデルを用いたマルチモーダル学習
PPTX
Tokyo r27
PDF
TensorFlow math ja 05 word2vec
ma52005id336
トピックモデル
4thNLPDL
2016word embbed
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
深層生成モデルを用いたマルチモーダル学習
Tokyo r27
TensorFlow math ja 05 word2vec

What's hot (11)

PDF
クラシックな機械学習の入門 4. 学習データと予測性能
PDF
クラシックな機械学習の入門  8. クラスタリング
PPTX
機械学習基礎(3)(クラスタリング編)
PDF
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
PPTX
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
PDF
PRMLの線形回帰モデル(線形基底関数モデル)
PPTX
dont_count_predict_in_acl2014
PDF
PPTX
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
PPTX
[DL輪読会]Learning to Generalize: Meta-Learning for Domain Generalization
PDF
テンソル多重線形ランクの推定法について(Estimation of Multi-linear Tensor Rank)
クラシックな機械学習の入門 4. 学習データと予測性能
クラシックな機械学習の入門  8. クラスタリング
機械学習基礎(3)(クラスタリング編)
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
PRMLの線形回帰モデル(線形基底関数モデル)
dont_count_predict_in_acl2014
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
[DL輪読会]Learning to Generalize: Meta-Learning for Domain Generalization
テンソル多重線形ランクの推定法について(Estimation of Multi-linear Tensor Rank)
Ad

Viewers also liked (20)

PPT
20070702 Text Categorization
PPT
Textmining Predictive Models
PPT
[ppt]
PDF
It
PPT
Text categorization
PPTX
Text categorization using Rough Set
PPTX
[DL Hacks] Learning Transferable Features with Deep Adaptation Networks
PPT
Text categorization
PPTX
Text Classification/Categorization
PPT
Text classification
PPTX
Chainerを使ったらカノジョができたお話
PPTX
Text clustering
PPTX
Text categorization
PDF
Text categorization with Lucene and Solr
PPTX
ICML2016読み会 概要紹介
PPTX
Icml読み会 deep speech2
PDF
Meta-Learning with Memory Augmented Neural Network
PDF
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
PPTX
Text mining
PDF
Dropout Distillation
20070702 Text Categorization
Textmining Predictive Models
[ppt]
It
Text categorization
Text categorization using Rough Set
[DL Hacks] Learning Transferable Features with Deep Adaptation Networks
Text categorization
Text Classification/Categorization
Text classification
Chainerを使ったらカノジョができたお話
Text clustering
Text categorization
Text categorization with Lucene and Solr
ICML2016読み会 概要紹介
Icml読み会 deep speech2
Meta-Learning with Memory Augmented Neural Network
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Text mining
Dropout Distillation
Ad

Similar to Text Categorization (20)

PDF
PRML 4.1 Discriminant Function
PDF
社内機械学習勉強会 #5
PDF
Dive into XGBoost.pdf
PDF
[Ridge-i 論文読み会] ICLR2019における不完全ラベル学習
PDF
東京大学工学部計数工学科応用音響学 D2 Clustering
PPTX
T-sne
PDF
20170422 数学カフェ Part1
PDF
NLPforml5
PPTX
Deep Learningについて(改訂版)
PDF
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
PDF
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
PDF
パターン認識 第10章 決定木
PPT
アルゴリズムとデータ構造10
PDF
演習発表 Sari v.1.1
PDF
130323 slide all
PDF
はてなインターン「機械学習」
PDF
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
PDF
3次元レジストレーション(PCLデモとコード付き)
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
PDF
NIPS 2012 読む会
PRML 4.1 Discriminant Function
社内機械学習勉強会 #5
Dive into XGBoost.pdf
[Ridge-i 論文読み会] ICLR2019における不完全ラベル学習
東京大学工学部計数工学科応用音響学 D2 Clustering
T-sne
20170422 数学カフェ Part1
NLPforml5
Deep Learningについて(改訂版)
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
パターン認識 第10章 決定木
アルゴリズムとデータ構造10
演習発表 Sari v.1.1
130323 slide all
はてなインターン「機械学習」
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
3次元レジストレーション(PCLデモとコード付き)
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
NIPS 2012 読む会

Text Categorization