skimlinks

2014年12月31日水曜日

word2vec の2014総括

あと3時間ほどで今年2014年も終わり、という大晦日の現在。
4日前にtwitterで呟いた word2vec の実験総括エントリーを宣言通り書き残しておく。
#電王戦リベンジマッチと紅白歌合戦を見ながら書いている。

今年8月から実験開始して5ヶ月間継続して年越し。
そもそも何故 word2vec の実験を開始したのか、いまや当初の動機が曖昧になってしまった。おそらく twitter で機械学習や自然言語処理に明るい識者による興味深い報告例が流れ始めたのが今年の前半だったように思う。それで自分でも追試してみたくなって実験を開始したのが8月上旬。今から5ヶ月前。

で、word2vec のコーパス選定として、wikipedia や青空文庫などの候補もあったが、結局 twitter を選択した。ネットスラング、流行語などの生の言葉の意味を word2vec がどの程度とらえらえる(=ベクトル化できる)のか、また、大規模ユーザ群の趣味趣向の総体を意味演算可能な形式で表現可能なのか、等を考慮すると、twitter が適していると感じられた。

twitter のクロールは8月上旬に開始
そんな感じで 24時間体制で twitter の日本語ツイートを収集し続け、mecab でわかち書きされたツイートの固まりを word2vec の学習データとして入力し、その学習結果を味見して「あーでもない、こーでもない」と主観的な評価をする実験がスタートした。

中間語の初期実験。頻出語なのでコーパスが小規模でもうまくいきやすい。
コーパスに用いるツイートは twitter 特有のバイアスをある程度除去すべく、ハッシュタグやURLを含むツイート等は対象外とした。また対象言語も日本語に限定した。それらの結果、1日あたり数万ツイート程度がコーパスとして蓄積され続けることになった。
大晦日の現在は 800万ツイート超 のコーパスが得られているが、下記は数十万ツイートしか蓄積されていない、実験開始1週間後のコーパスの学習結果である。

対義語に対して、ある程度の類義語が得られるようになってきた
実験開始から2週間ほど経過し、コーパス規模が100万ツイートを突破し始めた頃、word2vec らしい意味演算とおぼしき結果が得られ始めた。ご当地アイドルの算出である。

AKB:東京、NMB:大阪、HKT:博多、の関係を学習したようにみえる。
「東京」を「アキバ」に置き換えても、ご当地アイドルの関係を保持して算出された。
SKE:名古屋、を追加しても同様にうまくいった。

ご当地アイドルの意味演算結果。「AKB」は「東京」にも「アキバ」にも関係が強い。
しかし、実際、ご当地アイドルの算出は安定してうまくいくわけではない。アイドルグループ間の差異を、地域(ご当地)の差異としてロバストに学習している実感は現在でも正直なところない。ツイートが蓄積されてコーパスが更新されると、算出結果を間違えることが今でもある。ベクトル次元数を含め、ハイパーパラメータを調整して対応可能なのか、それともコーパスを増やしても word2vec の理論限界として意味演算を安定して実行することは困難なのか、このへんは今後の実験を継続して知見をためていきたい。

意味演算は word2vec の最大の特徴ではあるものの、上記のような課題もありそうなので、コーパス規模と類似語の精度がどのように変化していくかを実験評価の基本ポリシーとして継続していった。

「オタク」の類似語。twitter ならでは。wikipedia コーパスだとこうはいかないだろう。
類似語の精度と、ハイパーパラメータ(最たるベクトル次元数)やコーパス種類の関係も時々調べたりもしたが、次元数や種類よりも、まずはコーパスの規模が最重要、という認識は、このブログを書いている大晦日の現在でも変わらない。

「オタク」の類似語の変化をベクトル次元数、コーパス種類に対して評価。
でもやっぱり、類似語よりも、意味演算の方が実験してて楽しいので、ご当地アイドルの算出精度をコーパスが成長するたびに適時確認していた。

8月末の結果。今から振り返ると別に安定した訳ではなかった。

コーパス規模が大きくなってくると、ベクトル次元数を増やす効果が出てくる。
現在は 50次元〜800次元くらいの範囲で実験しているが、9月頃は100〜600次元で試していた。

次元数と類似語の関係性を「オタク」を例に解釈しようとした。解釈は怪しいかも。
「オタク」以外の言葉でも次元数の影響を評価しようと、いくつか試みた。

「AKB」の類似語は次元数の差異がわかりづらい。

「アキバ」に関してはむしろ次元数が少ない方が類似語の精度が良い気さえした。

「コンビニ」の類似語でも次元数の差異はわからず。
10月頃になると台風に関するツイートが増えたせいか、類似語がまともになってきた。
とにかく、コーパスの中にワート登場頻度が増えるほど word2vec の精度が向上することだけは間違いない、と言えそう。


ネットスラングというか、略語(略称)も類似語として学習できるようになった。

正式名称と略称などの表記揺れも捉えられるようだ
秋から冬になり、フトンが恋しい11月末になると「オフトゥン」などのネットスラングもコーパスに頻出し始めるようになったためか、類似語もそれっぽい言葉がヒットしている。

「オフトゥン」の類似語。いかにも twitter らしい。

とまぁ、2014年は word2vec の可能性を実験した。来年はこの実験を継続しつつ、次のステップに進みたい。

2014年12月23日火曜日

年末 Ingress 京都遠征

10日前の2014/12/13(土)に盛大に行われた DARSANA TOKYO により、醒めかけていた Ingress モチベーションが再度活性化。

12/13 DARSANA TOKYO での戦利品
そこで年末休暇を利用して、東京を超える日本一のポータル密集地帯との噂の京都に遠征することに。奇遇にも時を同じくして、来年3月末になんと京都での Ingress イベントも発表された。

東京から2時間で京都に到着。

東京では幻のセブンイレブンドーナツ。京都では普通に買える。

Ingress Mission に従い祇園方面へ散策開始

祇園祭の舞台、八坂神社

着物姿の参拝客。いかにも京都

京都っぽい舞妓画像の Mission を記念にクリア!

嵐山の竹林ライトアップが Ingress 色に!

渡月橋は冬でも人混みが凄かった

Ingress Mission が観光ガイドとして重宝

「そうだ、京都へ行こう」で有名になった寺の「悟りの窓」

凛とした冬の青空に金閣寺が映える

普通のポータルとは異なる満足感が金閣寺にはある

受験の予定は無いが、学問の神様を表敬訪問

北野天満宮に飾られた百人一首が壮観

Ingress に相応しい北野天満宮の鳥居

北野天満宮、二条城、京都御苑まで散歩可能な物件

京都遠征の目的地「喫茶チロル」に到着!

名物「厚切りカツカレー」目玉焼きのせ。激ウマ!

山小屋風の昭和レトロな空間。居心地が最高。

喫茶チロルのそばにある二条城をついでに見物

足腰に縁のある護王神社。ランナーやローディ向け。

滞在30時間の京都遠征、大満足で終了。また行くぞ。


2014年10月18日土曜日

2014年の株主優待(飲食物)まとめ

年末まで2ヶ月半ほど残ってるが、ここらで今年もらった株主優待品を振り返ってみる。現時点で13企業(12月23日時点で21企業?)から貰ったようだ。来年はもう少し株を増やして株主優待生活を充実させたい。

4月21日:シベール(洋菓子)
6月10日:寿スピリッツ(お菓子)
6月17日:日清食品(インスタント食品)
6月28日:理研ビタミン(インスタント食品)
6月28日:なとり(おつまみ)
7月10日:大塚ホールディングス(健康食品)
7月12日:マルハニチロ(缶詰め)
8月2日:スターゼン(ハム)
9月9日:ダイドードリンコ(清涼飲料水)
9月27日:フレンテ(スナック菓子)
10月10日:田中精密工業(米)
10月11日:日本エスリード(みかん)
追記:10月31日:シベール(洋菓子)
追記:11月1日:前澤給装工業(米)
追記:11月1日:オーエムツーネットワーク(ホエー豚)
追記:11月4日:システムインテグレータ(米)
追記:11月6日:フコク(米)
追記:11月8日:丸大食品(ハム)
追記:11月29日:理研ビタミン(インスタント食品)
追記:12月23日:日清食品(インスタント食品)