テキストの類似度計算 2010.2.18
Agenda ・導入 ・類似度とは ・TFIDF
1. 類似度とは?
What is the similarity? 【人間にとっての類似性の基準】 「意味」 「表現」 「なんとなく」
What is the similarity? 【人間にとっての類似性の基準】 「意味」 「表現」 「なんとなく」 抽象度の高い判断
What is the similarity? 機械で「意味」を理解することは困難
What is the similarity? 機械で「意味」を理解することは困難 統計的・数理的判断
What is the similarity? 機械で「意味」を理解することは困難 統計的・数理的判断 何の統計を取るの?
2. Bag Of Words model
Bag Of Words model "単語がつまったかばん、 つまり、文章を単語の集合とする表現のこと。" http://nlp.nagaokaut.ac.jp/bag-of-words
Bag Of Words model ・単語(形態素)とは?
Bag Of Words model ・単語(形態素)とは? mecabが単語と判断したものです!(キリッ
Bag Of Words model
Bag Of Words model ・単語(形態素)とは? …言語学の分野でも厳密に定義されているわけではない。 mecabが単語と判断したものです!(キリッ …言語学の分野でも厳密に定義されているわけではない。
Bag Of Words model ・単語(形態素)とは? 単語をどう使うの? …言語学の分野でも厳密に定義されているわけではない。 mecabが単語と判断したものです!(キリッ …言語学の分野でも厳密に定義されているわけではない。 単語をどう使うの?
3. Cosine Similarity
Cosine Similarity cosine similarity = cos α ・単語情報を使って文書をベクトル化 ・文書ベクトル同士の角度から類似度を算出 cosine similarity = cos α α°
文書ベクトルの作り方 Cosine Similarity ・step.1 この世のあまねく単語を収集 ・step.2 抽出した単語のスコア(後述)を空間にマッピング
文書ベクトルの例 Cosine Similarity ・step.1 この世のあまねく単語 = 2単語(「紫蘇」「破滅」) ・step.2 (みんなの大好きな)2次元空間を想定 ・step.3 対象文書から単語を抽出(「紫蘇」「紫蘇」「破滅」) ・step.4 空間U = {(紫蘇),(破滅)} ベクトルD = {2,1}
Cosine Similarity {2,1}
Cosine Similarity {2,1} 単語のスコアって、頻度だけ?
4. TF*IDF
TF*IDF "索引語の重み付け方法のひとつ。 ・TF(Term Frequency)は文書dに置ける検索語tの頻度 ・IDF(Inverted Document Frequency)は索引語が現れる相対文書頻度の逆数の対数" http://nlp.nagaokaut.ac.jp/TF%E3%83%BBIDF
TF*IDF TFの考え方: 一文書内にたくさん出てきた単語は重要 IDFの考え方: たくさんの文書に多く共通している単語は非重要
TF*IDF IDFの計算例 紫蘇:2 紫蘇:0 紫蘇:0 紫蘇:3 破滅:0 破滅:2 破滅:1 破滅:10 「紫蘇」のIDF : log10(4 / 2) + 1 「破滅」のIDF : log10(4 / 3) + 1
6. Essence
Essence ・機械は意味を読み取れないので・・・ ・類似度を判定するために・・・ ・ベクトルの要素の重みを決めるために・・・ 単語を使って統計的に類似度を判定 ・類似度を判定するために・・・ ベクトルモデルからコサイン類似度を算出 ・ベクトルの要素の重みを決めるために・・・ TF*IDFという指標を使用 ・それらを使って・・・ 入力と類似した増田の記事を検索してみた ・全体的に・・・ 今回用いたのは例のひとつ。他にも様々な手法がある