Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
slide
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
h1dia
July 20, 2015
0
180
slide
test
h1dia
July 20, 2015
Tweet
Share
More Decks by h1dia
See All by h1dia
アレ
h1dia
0
130
CTRL - 2016/03/02 DP勉強会
h1dia
0
160
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
エンジニアに許された特別な時間の終わり
watany
106
230k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
79
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The Spectacular Lies of Maps
axbom
PRO
1
510
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
The browser strikes back
jonoalderson
0
360
Transcript
Twitterとword2vecを用いた 自然言語処理(仮)
Twitterとword2vecを用いた 自然言語処理
Twitterとword2vecを用いた 自然言語処理
Twitterとword2vecを用いた 自然言語処理
word2vecとは • Googleのすごいひとが作った • 文章を食べさせてあげると単語をベクトルで表現できる • Neural Network
word2vecでできること • ベクトルは計算できる つまり単語同士の演算ができるようになる ex) 日本 + 首都 -> 東京
word2vecでできること • ベクトルの内積を取ると単語同士の類似度を測れる – なす角θが小さいほど似たベクトルになる – cos(0) = 1 –
cos(π) = -1
やってみよう
某恋愛AVGのシナリオを word2vecに食べさせる • 某ゲームのシナリオファイルをword2vecに食べさせる • 単語を与えると類似した単語が出てくる
None
考察 • 単語を与えると類似した単語が出てくることがある (データの量を増やすことでより正確になる) • 英語の文章を与えると類似した英単語が出てくる • 日本語の文章を与えると類似した日本語の単語が出てくる
考察 • 与えたのは「ゲームのシナリオ」 • 「アルプ」という単語はゲーム内において「魔女」という 単語が深く関わっている • word2vecの結果より、類似した単語に「魔女」が出てき た •
ゲーム内における「アルプ」の持つ意味合いが推定できた
しくみ • 分布仮説(Distributional Hypothesis) • 同じ文脈で出現する単語は同じ意味を持つ – 私 は 椎葉
です – 私 は 因幡 です -> 椎葉と因幡には大きな関係がある • 単語は文脈によって決まる
しくみ • 統計的意味論(Statistical Semantics) • 単語の周辺文脈の統計的性質から単語の意味を推定する – あ 、 紬
先輩! ちゃろー! – じゃあじゃあ、 紬 先輩 も 思い切って 買っちゃいましょうよ! -> 紬と先輩には大きな関係がある • 文脈は単語によって決まる • この2つをうまく組み合わせている(らしい)
テーマ内容
やりたいこと • ゲーム内特有の単語「アルプ」の意味を類似した単語に よっておよそ説明することができていた • 未知語が使われている文を与えることで、未知語の意味 を推定できるのではないか?
None
None
None
Twitterとword2vecを用いた バブみの意味推定
バブみ • 2015年初頭から用いられるようになった表現 • 各所で考察が行われているが確立した意味はない – 母性? 包容力? 甘え? •
Twitterの投稿データからバブみの意味を推定してみる
流れ • Twitterからうまく文章を引っ張る (どんな文章を?誰の?) • 文章をクリーニングする (どのようにして?) • word2vecに突っ込んで”バブみ”との各単語の類似度を測る •
類似度が高い単語を”バブみ”の意味として推定
ポイント • word2vecは与えられる文章に大きく依存する – 文章の与え方、クリーニングの方法をどうすればよいか – 複数のデータを用意し、それぞれ与えたときにどのような違いが 生まれるのか検証 • 未知語(バブみ)の意味を推定するのはおまけ
– うまく推定できなくても泣かない 最終目標ではある
現状の問題点 • word2vecがすごいデリケート – シナリオファイルのノイズを取り除いたら逆に精度が悪くなった ことがある – 今回はデータ量が実質無限なので大丈夫だとは思うが…? – 与えるデータによってどう転ぶか全然わからない(文献もほとんど
ない)
現状の問題点 • Twitterのオタクが日本語をしゃべってくれない – テキストデータを整形する際に辞書データを使う必要がある – オタク構文をうまく解析できるようにしないと精度が落ちそう
解析すらできていない
環境 • Ubuntu 14.04 – mecab, word2vec • Python (word2vec)
• Ruby (文章処理等)