手順4 : クラスタリング結果を表に整理

2.1節の手順3のクラスタリング結果を,行を文書,列をクラスタとする表に整理する. ここで,クラスタリングの際に,情報がどの文書に含まれていたかは考慮されないため,1つのセルに複数の情報が含まれる場合がある. また,表の可読性を高めるために,列を重要度の高い順にソートする.

クラスタリング結果を整理した表の列には,表2.1の列1のように関連する文だけで構成される重要度の高い列もあれば,列2のように関連しない文が混在した重要度の低い列もある.

表: 列の重要度の例
\scalebox{1}{
\begin{tabular}{\vert c\vert l\vert l\vert c\vert} \hline
& \m...
...文書5& 重量は約150gである。 &1月より発売予定。 & … \\ \hline
\end{tabular}
}


ここでは列の重要度を,密集率と文書カバー率に基づいて定義する.

まず密集率について,$k$番目の列の密集率$d_k$を式2.1のように定める. ここで,$N_k$$k$番目の列に含まれる文の総数であり,$S_{k,l}$$k$番目の列に含まれる$l$番目の文のベクトルであり, $S_{k,mean}$$k$番目の列に含まれる文のベクトルの平均である.

\begin{displaymath}
d_k = \frac{1}{N_k} \sum_{l=1}^{N} \frac{S_{k,l} \cdot S_{k,mean}}{\vert S_{k,l}\vert\vert S_{k,mean}\vert}
\end{displaymath} (2.1)

2.1で求めた列の密集率$d_k$を,式2.2を用いて,最小値が0,最大値が1になるように正規化する. ここで,$nd_k$$k$番目の列の正規化された列の密集率であり,$K$は列の総数である.

\begin{displaymath}
nd_k = \frac{d_k - d_{min}}{d_{max} - d_{min}}
\end{displaymath} (2.2)


\begin{displaymath}
d_{min} = \min_{1 \leq k \leq K} d_k
\end{displaymath} (2.3)


\begin{displaymath}
d_{max} = \max_{1 \leq k \leq K} d_k
\end{displaymath} (2.4)

次に文書カバー率について,$k$番目の列の文書カバー率$c_k$を式2.5のように定める. $p_k$$k$番目の列において文を抽出できた文書の数であり,$P$は文書の総数である.

\begin{displaymath}
c_k = \frac{p_k}{P}
\end{displaymath} (2.5)

2.5で求めた文書カバー率$c_k$を,式2.6を用いて,最小値が0,最大値が1になるように正規化する. ここで,$nc_k$$k$番目の列の正規化された文書カバー率であり,$K$は列の総数である

\begin{displaymath}
nc_k = \frac{c_k - c_{min}}{c_{max} - c_{min}}
\end{displaymath} (2.6)


\begin{displaymath}
c_{min} = \min_{1 \leq k \leq K} c_k
\end{displaymath} (2.7)


\begin{displaymath}
c_{max} = \max_{1 \leq k \leq K} c_k
\end{displaymath} (2.8)

$k$番目の列の重要度$i_k$を式2.9のように定義する.

\begin{displaymath}
i_k = nd_k × nc_k
\end{displaymath} (2.9)