370 likes | 2.56k Views
Mining the Web. Chapter 4 SIMILARITY AND CLUSTERING Dao Vinh Ninh 2005/5/2. Vector-space Model-1. 検索対象のデータベースは文章の集合と見る。 DB = { D1 、 D2 、 D3 、 … } 文章はトークンの集合と見る。 Di = { T1 、 T2 、 T3 、 … } 各列は文章に対応し、各行は各トークンの出現回数に対応する行列を Term-Document 行列と呼ぶ。. Vector-space Model-2 (例).
E N D
Mining the Web Chapter 4 SIMILARITY AND CLUSTERING Dao Vinh Ninh 2005/5/2
Vector-space Model-1 • 検索対象のデータベースは文章の集合と見る。 • DB = {D1、D2、D3、…} • 文章はトークンの集合と見る。 • Di = {T1、T2、T3、…} • 各列は文章に対応し、各行は各トークンの出現回数に対応する行列をTerm-Document行列と呼ぶ。
Vector-space Model-2(例) -------------------------------------------------------------- 電気 電子 情報 言語 政治 文化 -------------------------------------------------------------- 文章1 3 5 1 1 0 0 文章2 0 0 2 3 3 5 文章3 1 3 1 3 0 1 ・・・ ------------------------------------------------------- 参考: tf(i,j) = 文章Diにおける語Tjの出現回数 idf(j) = log(全文章数/語T(j)を含む文章数)
Vector-space Model-3 Documentの内部表現 • 文章1=(3,5,1,1,0,0…) • 文章2=(0,0,2,3,3,5…) • 文章3=(1,3,1,3,0,1…) 探索要求 {電子・情報} =(0,1,1,0,0,0…) 類似度 = 文章と探索要求の内積 参考:探索結果 Σtf×idf
Vector-space Model-4 • 各トークンは独立に生成していると仮説している。 • 意味関係がある為に、トークンの次元数は必要以上に使われている。
Latent Semantic Indexing (LSI) • 各トークンの意味関係を利用して、Term-Document行列の次元数を減らす。 • 例:car & automobile ,cows & sheep, can & bottle … • 各トークンの意味関係を考慮することで、クラスタリングするときのノイズを減らす。
Latent Semantic Indexing - 1 • Term-Document行列をAと呼ぶ。 • 各行列のノードA[t,d]にトークン-tがドキュメント-dの中に出現する事象を0/1の値に当てる。
Latent Semantic Indexing –例 -------------------------------------------------------------- 電気 電子 情報 言語 政治 文化 -------------------------------------------------------------- 文章1 1 1 1 1 0 0 文章2 0 0 1 1 1 1 文章3 1 1 1 1 0 1 ・・・ ------------------------------------------------------- • Token Vector : T(i) • Document Vector : D(j)
Latent Semantic Indexing – 2 • Tの次数をmとし、Dの次数をnとすると意味関係があることより Rank (A) <min(m,n) • SVD – Singular Value Decomposition Amxn = Umxr(σ1 … 0)VTrxn ( 0 … σr) ⇒Amxn = UmxrΣrxrVTrxn • Σの固有値を減少順に並べる σ1≧σ2≧σ3・・・
Latent Semantic Indexing – 3 • ドキュメント間の類似度を測定するcosine法は行列A=(D1,D2,D3,…)に対して ATA= {DiTDj}=VΣ2VT で表現することが出来る • 同じようにトークンに対しても類似度が定義できる AT= (T1,T2,T3,…)に対して AAT= {TiTTj}=UΣ2UT
Latent Semantic Indexing – 4 • ドキュメントのベクトル表現Dに対して、トークンに対してドキュメントによるベクトル表現Tの概念が出来る。 • 行列Vnxrの行iはドキュメント-iの精製したベクトル表現 • 行列Umxrの行jはトークン-jの精製したベクトル表現 • ドキュメントとトークンの精製した表現は両方ともr次元空間で表現する。
Latent Semantic Indexing – 5 • 検索文字列をドキュメントQと見ると、検索文字列をr-次元“LSI空間”に射影する Qmx1 = UmxrΣrxrQ´rx1 ⇒Q´rx1 = ⇒ 検索結果 =UmxrQ´rx1 • 行列Aを次のように次元を減少して近似することだ出来る • Ak = (1≦i≦k)ΣuiσiviT
Probabilistic Approaches to Clustering • ベクトル空間を扱わない • トークンの需要度を表すTDF指数が必要ない • ドキュメントの間の距離や類似度を扱わない • 意味トークンとノイズトークンを区別する • ドキュメントを生成するランダムなプロセスの各パラメタを発見することでクラスタを作る。
Generative Distributions for Document-1 • ドキュメントを生成するプロセスは任意である分布に従う。 • 各トークンの生成は独立事象である。(independencies and ordering) • トークンがドキュメント内の出現回数を考慮しないこと、出現する/しない事象を1/0で表現する。 ⇒binary model (または multivariate binary model)
Generative Distributions for Document-2 • トークンtの出現確率はφtとすると、辞書Wの各トークンに対して出現確率の集合をΦとして、ドキュメントdを生成する確率は • Pr(d|Φ) = (td)Πφc,t(twtd)Π(1-φc,t) ⇒短いドキュメントは確率が低い ⇒有り得ないドキュメントも高い確率で生成できる。
Generative Distributions for Document-3 • トークンの出現回数を考慮するとき、サイコロを投げるモデルを用いる。 ⇒multinomial model • 各面の出現確率はθtで、その集合はΘとする。 • 長さldのドキュメントdを生成するとき、トークンtが出現した回数はn(d,t) Σn(d,t) = L
Generative Distributions for Document-4 ⇒ドキュメントの生成確率は Pr(ld,{n(d,t)}|Θ) = Pr(L=ld|Θ)Pr({n(d,t)}|ld,Θ) =Pr(L=ld|Θ)(ld→ {n(d,t)})Πθtのn(d,t)乗 • トークンの独立性の仮説を直していない!
Mixture Models - 1 • 各トークンはトピックごとに出現確率が異なり、だからトピック毎にトークンの出現確率を設定する必要がある。 ⇒Θscience,Θpolitics,Θarts… • トピックをクラスタまたコンポーネントと呼ばれて、ひとつのドキュメントの中に1つのトピックを含む。 ⇒Mixture model for document generation
Mixture Models- 2 • トピックの選択(生成)は確率事象と考えて、各トピックを確率α1、α2…αmで生成される。 α1+α2+・・・+αm=1 • トピックγに対して、トークンtの生成確率はθγ,tとする。 パラメタスペースの定義は Θ= (m;α1…α2;{θγ,t ∀γ,t})
Mixture Models - 2 • モデルを簡単化するためにドキュメントの生成プロセスはPoisson分布に従うと仮定し、ドキュメントの長さxを生成する確率は Pr(X=x)=e-μμx/x! • トピックiに対してドキュメント生成パラメタをμiと仮定すると、パラメタスペースは Θ= (m;α1…α2;μ1…μm)
Mixture Models - 3 • ドキュメントxの生成確率は Pr(x|Θ) = (j=1→m)ΣαjPr(x|μj) • ドキュメントの集合 X={x1…xm} が与えられたとき、クラスタするためにパラメタ空間を探す必要がある。 より、次の確率が極大になるように Pr(X|Θ) = (i=1→n)ΠPr(xi|Θ)≜L(Θ|X)
Mixture Models - 4 • より logL(Θ|X) = (i)Σlog((j)ΣαjPr(xi|μj)) • ドキュメントを生成したトピックは未知なので、ランダムな事象と見る必要がある。 Y={γi}は未知トピックの集合 ⇒ L(Θ|X)をより正確にL(Θ|X,Y)と書く 未知変数: ΘとY
Expectation Maximization (EM) - E • L(Θ|X,Y)=Pr(X,Y|Θ)を計算する為に初期値Θ´を与える。Yに対してLの期待値を計算すると Q(Θ,Θ´)=Ey(logL(Θ|X,Y)|X,Θ´) … =(l=1→m)Σ(i=1→n)ΣPr(l|xi,Θ´)x log(αlPr(xi|μl))
Expectation Maximization (EM) – 2 • 計算された期待値に対して極大値を求める ⇒M-step • トピックを生成する確率に対して Σαi = 1 Lagrang法により次の結果がえらえる αk = (1/λ)(i=1→n)ΣPr(k/xi,Θ´) • ドキュメント生成事象はPoisson分布に従うので μk = (i=1→n)ΣxiPr(k|xi,Θ´)/(i=1→n)ΣPr(k|xi,Θ´)
Expectation Maximization (EM) – 3 • トピックの数はクラスタの数を決めるのでmを定めるのは問題である。 • Mを予め定める事を supervised learning • Mを自動的に決めることをunsupervised learningと呼ばれ、普段2つの方法がある。 ⇒5章で説明する
Expectation Maximization (EM) – 4 • InitializeΘ(0),i=0 • While L(Θ|X,Y) can be increased do • Estimate α(i+1) • Extimateμ(i+1) • i←i+1 • End while
Mixture Models - 5 • 生成するときは沢山のトピックに属する可能性があるが、生成したドキュメントは一つのトピックにしか属しない。
Multiple Cause Mixture Model - 1 • 考え方 • ドキュメントdはトピックcに(完全または部分的に)属するとき、トピックcに関係があるトークンtの出現可能性が高くなる。 • トピックcを含むためにトークンtの出現確率が高くなる部分はγc,t(0<γ<1)とする。 • ドキュメントdにトピックcが出現する確率はad,cとする。
Multiple Cause Mixture Model - 2 • トークンtがドキュメントdに出現する可能性は bd,t = 1 – (c)Π(1-ad,cγc,t) • ドキュメントdの生成プロセスはbinary modelに従うとする。そのときn(d,t) = {0,1} • 良さの評価g(d) = log(Πbd,tΠ(1-bd,t)) = Σlog(n(d,t)bd,t + (1-n(d,t))(1-bd,t))
Multiple Cause Mixture Model - 3 • ドキュメントの集合{d}に対して集合の良さは Σgと定める。 • 良さの値を最大になるように山登り法を利用する。 • トピックを初期値として与える • Σgが最大になるようにγを固定してaを変化する • Σgが最大になるようにaを固定してγを変化する
Multiple Cause Mixture Model - 4 • 改良されたad,cを利用して、ドキュメントをクラスタに分けることができる。 • 山登り法を採用しているので、極大点を探索する時間がかかる。
Aspect Models and Probabilistic LSI • 複数のトピックを含むことが出来るドキュメントのモデル • ドキュメント生成プロセスはmultinomial modelに従う。ドキュメントdに出現するトークンtの回数n(d,t) ≧ 0 • ドキュメントdの中に各トピックの出現確率は Pr(c)のとき、ドキュメントdの中にトークンtの出現確率は Pr(d,t)=(c)ΣPr(c)Pr(d,t|c)
Aspect Models and Probabilistic LSI • トピックcに対してドキュメントdとトークンtの生成は独立事象と仮定する。 • Pr(d,t) = (c)ΣPr(c)Pr(d|c)Pr(t|c) • 逆にペア(d,t)が与えられたときそれはトピックcに属する可能性を表す • Pr(c|d,t) = Pr(c,d,t)/Pr(d,t) • Pr(c,d,t) = Pr(c)Pr(d|c)Pr(t|c) • Pr(c) = (d,t)Σn(d,t)Pr(c|d,t)/ (γ)Σ(d,t)Σn(d,t)Pr(γ|d,t) Pr(c),Pr(d|c),Pr(t|c)を求める。
Aspect Models and Probabilistic LSI • Pr(c),Pr(d|c),Pr(t|c)を求めるためにEM法を利用して上記の式を繰り返し清算し、改良が少なくなるまで繰り返す。 • EM法を使うときと同じ様にクラスタ数が予め固定する必要がある。 • クラスタ数を決めるにはLSI法で求められたクラスタ数を使うとよい。
Aspect Models and Probabilistic LSI • クラスタリングするためにドキュメントdがクラスタcに属する確立は • Pr(c|d)=Pr(c)Pr(d|c)/(γ)ΣPr(γ)Pr(d|γ) • 右辺の項目は以上の式で求めた。
Aspect Models and Probabilistic LSI • 検索文字列qが与えられるとき、クラスタcに属する確立は Pr(c|q,t) とクラスタcに対して検索文字列が生成する確立は Pr(q|c) • Pr(c|q,t) = Pr(c)Pr(q|c)Pr(t|c)/ (γ)ΣPr(γ)Pr(q|γ)Pr(t|γ) • Pr(q|c) = (t)Σn(q,t)Pr(c|q,t)/ (t)Σn(q,t)Pr(c|q,t) +(d)Σ(t)Σn(d,t)Pr(c|d,t) ドキュメントの類似度ΣPr(c|q)Pr(c|d) or ΣPr(c)Pr(c|q)Pr(c|d)
Aspect Models and Probabilistic LSI • 検索結果の評価 • 以上です