0
1

More than 1 year has passed since last update.

[WIP] Word2vecで久しぶり遊ぶ

Last updated at Posted at 2022-11-02

Word2vec

自然言語処理の初期

  • 言語は記号で実数値ではないからそのままの形では深層学習ができない
  • One-hotベクトル:ベクトルのすべての要素のうちひとつだけが1であり、残りはすべて0であるベクトル で対応

分散表現の登場

  • 「文字・単語をベクトル空間に埋め込み、その空間上のひとつの点として捉える」

例:
markdown難しい...

\begin{align}
女+Royal=女王 ...(a)\\
男+Royal=王様 ...(b)\\
\end{align}
\begin{align}
女-男=女王-王様 ...(a)-(b)\\
⇔  王様-男+女=女王
\end{align}

One-hot

王様 女王
1 0 0 0
0 1 0 0
王様 0 0 1 0
女王 0 0 0 1

男=[1,0,0,0]
女=[0,1,0,0]
王様=[0,0,1,0]
女王=[0,0,0,1]

分散表現

性別(女である具合) Royal
王様 男(0) Yes(1)
女王 女(1) Yes(1)

男=[0,0]
女=[1,0]
王様=[0,1]
女王=[1,1]

次元下げに成功(簡易化のため、 0,1で表現している)

CBoWモデルとskip-gramモデル

  • CBOWモデル: 周辺語から中心語を予測するモデル

    • 明日は〇〇が降りそうだ→雨、ひょう、あられ
  • skip-gramモデル:中心語から周辺語を予測するモデル

    • 雨→は、が

skip-gramモデルのロジック

https://www.randpy.tokyo/entry/word2vec_skip_gram_model
One-hot(中心語)からOne-hot(周辺語)の間の隠れ層を vocuburaryの数✖️なんだっけ、、、で作っていく、
最終的に隠れ層のの中心語の、、、
(投げ出す)

やりたかったこと

  • 宇多田ヒカルの First Loveと初恋における考え方の違いなんかを出したかったので、それぞれのアルバムの歌詞を読み込ませて、どういう差があるか見てみたかったが、アルバムに含まれる十数曲を食わせてもそもそもボキャブラリーリストに「初恋」が出てこないし、それに、読み込ませるデータを見て、ある程度自分でもこのデータじゃ意味ないだろうなということは分かっている。

  • けど、「ぱくぱく」の類似語に'kiss'が来るから、例えば「パクチー kiss kiss」って感じで歌詞を書き換えたりして遊べるかもねー。こっちの方やってみようかな。

  • おすすめの対談記事:https://www.utadahikaru.jp/zadankai/s1.html

source code

  • まとまったら載せます
0
1
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
1