岩堀研究室トップページ 岩堀研究室トップページ 名古屋工業大学 情報メディア教育センター
[  研究紹介  ]  メンバー   FAQ   地図   リンク   目次 
 ご挨拶   画像情報処理   仮想現実感  [  情報メディア教育  ]  最適化アルゴリズム   論文検索   用語集 

Education Asistance
レポート類似度判定システム 

ここでは、以下の3つの文書の類似度を判定します。

文書1:1次元配列とは、共通の名前を使用してアクセスすることが可能な、同じ型を持つ一連の変数のことです。
文書2:配列を使用すると、インデックスの異なる、同じ名前の変数にアクセスすることが可能となります。
文書3:1次元配列に対して多次元配列というものが存在し、配列の配列として実装されています。

手順1

形態素解析し、有効な形態素として動詞・名詞を抽出します。判りやすいように、その文書における出現回数(=tf)も併記します。

文書1の有効な形態素とその出現回数 文書2の有効な形態素とその出現回数 文書3の有効な形態素とその出現回数
単語 名詞or動詞 出現回数(tf)
1 名詞 1
次元 名詞 1
配列 名詞 1
共通 名詞 1
使用 名詞 1
する 動詞 2
アクセス 名詞 1
こと 名詞 2
可能 名詞 1
名詞 1
持つ 動詞 1
一連 名詞 1
変数 名詞 1
単語 名詞or動詞 出現回数(tf)
配列 名詞 1
使用 名詞 1
する 動詞 2
インデックス 名詞 1
異なる 動詞 1
名前 名詞 1
変数 名詞 1
アクセス 名詞 1
こと 名詞 1
可能 名詞 1
なる 動詞 1
単語 名詞or動詞 出現回数(tf)
1 名詞 1
次元 名詞 2
配列 名詞 4
名詞 1
もの 名詞 1
存在 名詞 1
する 動詞 2
実装 名詞 1
れる 動詞 1
いる 動詞 1

手順2

3つの文書における有効な形態素に番号を割り当てて、それぞれに対してidfを求めます。

番号 単語 出現する文書の数 idf
1 1 2 0.4055
2 次元 2 0.4055
3 配列 3 0
4 共通 1 1.0986
5 使用 2 0.4055
6 する 3 0
7 アクセス 2 0.4055
8 こと 2 0.4055
番号 単語 出現する文書の数 idf
9 可能 2 0.4055
10 1 1.0986
11 持つ 1 1.0986
12 一連 1 1.0986
13 変数 2 0.4055
14 インデックス 1 1.0986
15 異なる 1 1.0986
16 名前 1 1.0986
番号 単語 出現する文書の数 idf
17 なる 1 1.0986
18 1 1.0986
19 もの 1 1.0986
20 存在 1 1.0986
21 実装 1 1.0986
22 れる 1 1.0986
23 いる 1 1.0986

手順3

手順1と2で作成した表のtfとidfを用いて文書ベクトルを作成します。

この例では全体で23の有効な形態素があるので、文書ベクトルは23次元となります。そして{「1」のtf・idf, ... ,「いる」のtf・idf}のように、手順2の表で付けた番号の順にtfとidfの積をベクトルの成分として割り当てていきます。その結果、3つの文書は以下のように表されます。

	文書1 = {0.4055, 0.4055, 0,      1.0986, 0.4055, 0,      0.4055, 0.8110,
	         0.4055, 1.0986, 1.0986, 1.0986, 0.4055, 0,      0,      0,
	         0,      0,      0,      0,      0,      0,      0}
	文書2 = {0,      0,      0,      0,      0.4055, 0,      0.4055, 0.4055,
	         0.4055, 0,      0,      0,      0.4055, 1.0986, 1.0986, 1.0986,
	         1.0986, 0,      0,      0,      0,      0,      0}
	文書3 = {0.4055, 0.8110, 0,      0,      0,      0,      0,      0,
	         0,      0,      0,      0,      0,      0,      0,      0,
	         0,      1.0986, 1.0986, 1.0986, 1.0986, 1.0986, 1.0986}
	

手順4

ベクトル同士のなす角の余弦値を求めて、その値を元に類似度を求めます。

まずは手順3で求めた文書ベクトル間のなす角の余弦を求めます。各ベクトル間のなす角の余弦は以下のような値になります。

文書1の文書ベクトルと文書2の文書ベクトルがなす角の余弦:0.1631
文書1の文書ベクトルと文書3の文書ベクトルがなす角の余弦:0.0683
文書2の文書ベクトルと文書3の文書ベクトルがなす角の余弦:0

求めた余弦値を逆関数にかけて2つのベクトルがなす角度を求め、角度を正規化により0〜1の類似度とすると

文書1と文書2の類似度:0.1042
文書1と文書3の類似度:0.0435
文書2と文書3の類似度:0

のように類似度が求められます。

この研究に関連する論文 UPBACK お問い合わせ