0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【IT Text自然言語処理の基礎】第3章演習問題を解いてみた

Posted at

本記事の概要

この記事では「IT Text 自然言語処理の基礎」(オーム社)の 第3章「単語ベクトル表現」 に付いている演習問題を詳しく解説します。

書籍にも略解はありますが、解説が省略されていたりします。
略解でわからなくなったときは、この記事を参考にしてもらえればと思います!

問1

PMIの定義式
$$\text{PMI}=\log\frac{P(x_i,c_j)}{P(x_i)P(c_j)}$$
および式$(3.7)\sim(3.9)$を用いて,式$(3.6)$の最右辺を導け.

\begin{align*}
\text{PMI} &= \log\frac{P(x_i,c_j)}{P(x_i)P(c_j)} = \log\frac{Z\cdot\#(x_i,c_j)}{\#(x_i)\#(c_j)}\tag{3.6}\\
\#(x_i) &= \sum_{c_j\in\mathbb{V}_c} \#(x_i,c_j)\tag{3.7}\\
\#(c_j) &= \sum_{x_i\in\mathbb{V}} \#(x_i,c_j)\tag{3.8}\\
Z &= \sum_{x_i\in\mathbb{V}} \sum_{c_j\in\mathbb{V}_c} \#(x_i,c_j)\tag{3.9}
\end{align*}

$x_i$は単語、$c_j$は文脈単語で、$P(x_i,c_j)$は単語$x_i$と文脈単語$c_j$が共起する確率、$P(x_i)$は単語$x_i$が出現する確率、$P(c_j)$は文脈単語$c_j$が出現する確率を表します。

また、$\#(x_i,c_j)$は単語$x_i$と文脈単語$c_j$の共起回数、$\#(x_i),\#(c_j)$はそれぞれ単語$x_i$の出現回数、文脈単語$c_j$の出現回数を表します。

では、$Z$は何を意味するでしょうか。式$(3.9)$を変形してみましょう。

\begin{align*}
Z &= \sum_{x_i\in\mathbb{V}} \sum_{c_j\in\mathbb{V}_c} \#(x_i,c_j)\\
&= \sum_{x_i\in\mathbb{V}} \#(x_i)\quad(\because (3.7))\\
\end{align*}

単語$x_i$の出現回数を全語彙$\mathbb{V}$にわたって和を取っているので、$Z$は全単語数を表すことがます。
よって、$P(x_i,c_j),P(x_i),P(c_j)$は次のように表せます。

P(x_i,c_j)=\frac{\#(x_i,c_j)}{Z},\quad P(x_i)=\frac{\#(x_i)}{Z},\quad P(c_j)=\frac{\#(c_j)}{Z}

こいつらをPMIの式にぶち込むと…

\begin{align*}
\text{PMI} &= \log\frac{P(x_i,c_j)}{P(x_i)P(c_j)}\\
&= \log\frac{\frac{\#(x_i,c_j)}{Z}}{\frac{\#(x_i)}{Z}\cdot\frac{\#(c_j)}{Z}}\\
&= \log\frac{Z\cdot\#(x_i,c_j)}{\#(x_i)\#(c_j)}
\end{align*}

となり、示せました。

問2

$\boldsymbol{w}_1=(0.1,0.4,0.2)^\top$と$\boldsymbol{w}_2=(0.8,0.3,0.6)^\top$のコサイン類似度を求めよ.

コサイン類似度の定義は

\text{cos_sim}(\boldsymbol{w}_{x_i}, \boldsymbol{w}_{x_j}) = \frac{\boldsymbol{w}_{x_i}\cdot\boldsymbol{w}_{x_j}}{||\boldsymbol{w}_{x_i}||\ ||\boldsymbol{w}_{x_j}||}\tag{3.34}

です。いま、

\begin{align*}
\boldsymbol{w}_1 \cdot \boldsymbol{w}_2 = 0.1\cdot0.8+0.4\cdot0.3+0.2\cdot0.6=0.32\\
||\boldsymbol{w}_1|| = \sqrt{0.1^2+0.4^2+0.2^2}=\sqrt{0.21}\\
||\boldsymbol{w}_2|| = \sqrt{0.8^2+0.3^2+0.6^2}=\sqrt{1.09}\\
\end{align*}

なので、求めるコサイン類似度は

\text{cos_sim}(\boldsymbol{w}_1, \boldsymbol{w}_2) = \frac{\boldsymbol{w}_1\cdot\boldsymbol{w}_2}{||\boldsymbol{w}_1||\ ||\boldsymbol{w}_2||} = \frac{0.32}{\sqrt{0.21}\sqrt{1.09}} = 0.66884\cdots

です。

問3

引数となるベクトルが正規化されているとき,ユークリッド距離とコサイン距離の間に式$(3.37)$が成立することを示せ.

\text{euc_dist}(\boldsymbol{w}_{x_i},\boldsymbol{w}_{x_j})^2 = 2\text{cos_dist}(\boldsymbol{w}_{x_i},\boldsymbol{w}_{x_j})

左辺を変形して、右辺を導きます。

「引数となるベクトルが正規化されているとき」とあるので、
$$||\boldsymbol{w}_{x_i}|| = ||\boldsymbol{w}_{x_j}|| = 1$$
に注意して変形します。

\begin{align*}
\text{euc_dist}(\boldsymbol{w}_{x_i},\boldsymbol{w}_{x_j})^2 
&= ||\boldsymbol{w}_{x_i} - \boldsymbol{w}_{x_j}||^2\\
&= ||\boldsymbol{w}_{x_i}||^2 - 2\boldsymbol{w}_{x_i}\cdot\boldsymbol{w}_{x_j} + ||\boldsymbol{w}_{x_j}||^2\\
&= 1 - 2\boldsymbol{w}_{x_i}\cdot\boldsymbol{w}_{x_j} + 1 \quad(\because ||\boldsymbol{w}_{x_i}||=||\boldsymbol{w}_{x_j}||=1)\\
&= 2\cdot(1 - \boldsymbol{w}_{x_i}\cdot\boldsymbol{w}_{x_j})\\
&= 2\left(1 - \frac{\boldsymbol{w}_{x_i}\cdot\boldsymbol{w}_{x_j}}{||\boldsymbol{w}_{x_i}||\cdot||\boldsymbol{w}_{x_j}||}\right)\quad(\because ||\boldsymbol{w}_{x_i}||=||\boldsymbol{w}_{x_j}||=1)\\
&= 2\text{cos_dist}(\boldsymbol{w}_{x_i},\boldsymbol{w}_{x_j})
\end{align*}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?