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
Ethics towards AI in product and experience design
skipperchong
2
190
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
62
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Typedesign – Prime Four
hannesfritz
42
2.9k
GitHub's CSS Performance
jonrohan
1032
470k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Navigating Weather and Climate Data
rabernat
0
100
Building Applications with DynamoDB
mza
96
6.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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 (文章処理等)