next up previous contents
Next: 2値化処理 Up: 実験に関する手法 Previous: 潜在的意味解析   目次


ベクトル空間法

ベクトル空間法(Vector Space Model)は、各文書を多次元空間上のベクトルとして表現することにより、そのベクトル同士を比較して類似度を計算する手法である。文書間の類似度はそれらのベクトルの成す角が小さいほど大きく、逆に成す角が大きいほど小さいことになる。以下に、この手法の原理を説明する。

まず、ある文書$D$を形態素解析して$m$個の用語があると分かり、その重要度が $\mbox {\boldmath$I$}_{D}$であった時、文書$D$は以下のようにベクトル表現される。


\begin{displaymath}
\vec {D} = \left (
\begin {array}{cccc}
I_{D1} & I_{D2} & \cdots & I_{Dm}
\end {array}
\right )
\end{displaymath} (3.14)

また、別のある文書$E$$n$個の用語をもち、その重要度が $\mbox {\boldmath$I$}_{E}$であった時、この文書ベクトルは先程と同様に表すことが出来る。


\begin{displaymath}
\vec {E} = \left (
\begin {array}{cccc}
I_{E1} & I_{E2} & \cdots & I_{En}
\end {array}
\right )
\end{displaymath} (3.15)

ここで文書$D$$E$がどれほど似ているかを知るには、これらの文書ベクトルの成す角$\theta$を求めればよいので、その類似度$sim$は以下の式から算出される。


$\displaystyle sim(\vec {D}, \vec {E})$ $\textstyle =$ $\displaystyle \cos \theta$  
  $\textstyle =$ $\displaystyle \frac {\vec {D} \cdot \vec {E}} {\left \vert\vec {D} \right \vert\left \vert\vec {E} \right \vert}$  
  $\textstyle =$ $\displaystyle \frac {I_{D1} I_{E1} + I_{D2} I_{E2} + \ldots + I_{Dn} I_{En}}
{...
...ots + I_{Dm}^2} \sqrt {I_{E1}^2 + I_{E2}^2 + \ldots + I_{En}^2}}
\; (m \leq n)$ (3.16)


以上のことを用いて、実際に計算を行う例を示す。例文としては以下のものを用いる。

例文$D$
ベクトルは大きさと向きを持っている。
基本ベクトルはある成分が1、それ以外は0のベクトルである。
例文$E$
ベクトルの成分による計算を行う。

これらの文書の用語抽出をMeCabによって行ったところ、表 3.1のような結果になった。これを用いて例文$D$, $E$を式(3.14), 式(3.15)のようにベクトル表現すると、次のようになった。



表 3.1: 例文の用語抽出結果
用語 例文書Dにおける重要度 例文書Eにおける重要度
ベクトル 2.83 1.41
基本ベクトル 1.41 0.00
成分 1.00 1.00
向き 1.00 0.00
計算 0.00 1.00

\begin{eqnarray*}
\vec {D} = (2.83, 1.41, 1.00, 1.00, 0.00) \\
\vec {E} = (1.41, 0.00, 1.00, 0.00, 1.00)
\end{eqnarray*}

これらと式(3.16)を用いると、以下に示すように2つの文書の類似度を計算することが出来た。

\begin{eqnarray*}
sim(\vec {D}, \vec {E}) &=&
\frac {2.83 \times 1.41 + 1.41 \...
...sqrt {1.41^2 + 0^2 + 1.00^2 + 0^2 + 1.00^2}} \\
&\simeq& 0.72
\end{eqnarray*}


next up previous contents
Next: 2値化処理 Up: 実験に関する手法 Previous: 潜在的意味解析   目次
Deguchi Lab. 2011年3月4日