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
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-po...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
odanado
PRO
September 18, 2018
Programming
5.8k
3
Share
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-poke2vec
odanado
PRO
September 18, 2018
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
5.5k
@nestjs/bull の活用について
odanado
PRO
0
1.6k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.3k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2.1k
nuxtjs-axios-error-handling
odanado
PRO
0
410
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
460
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
280
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
560
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.4k
Other Decks in Programming
See All in Programming
New "Type" system on PicoRuby
pocke
1
270
誰も頼んでない機能を出荷した話
zekutax
0
150
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
220
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.5k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.2k
[BalkanRuby 2026] Drop your app/services!
palkan
3
710
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
210
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
460
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
280
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
420
AIエージェントの隔離技術の徹底比較
kawayu
0
440
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
260
How to build a perfect <img>
jonoalderson
1
5.5k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Six Lessons from altMBA
skipperchong
29
4.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
190
4 Signs Your Business is Dying
shpigford
187
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
Designing Experiences People Love
moore
143
24k
Side Projects
sachag
455
43k
Code Review Best Practice
trishagee
74
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Transcript
PyCon JP 2018 LT 【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 1 @odan3240
自己紹介 • Twitter: @odan3240 • 新卒エンジニア • 五反田のIT企業に所属 • 大学では自然言語処理の研究
• 今はフロントエンドエンジニア • PyCon JP初参加!! • 登壇も初!! • 緊張してます 2
目次 • 分布仮説 • word2vec • ポケモンにおける役割 • ポケモンへの応用 •
実験結果の可視化 • まとめ 3
分布仮説 4
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 5
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 XXXは食べ物? 6
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 XXXはそこまで固くない 7
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 XXXはいちごの仲間? 8
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 ジャムにできる :thiking_face: 9
分布仮説 「彼女はxxxを食べる」 「包丁を使ってxxxを切った」 「xxxといちごをお見舞いに持っていく」 「xxxジャムを作る」 「xxxの絵を赤で描く」 赤色として描かれる 10
分布仮説 「彼女はりんごを食べる」 「包丁を使ってりんごを切った」 「りんごといちごをお見舞いに持っていく」 「りんごジャムを作る」 「りんごの絵を赤で描く」 りんご! 11
分布仮説 「彼女はりんごを食べる」 「包丁を使ってりんごを切った」 「りんごといちごをお見舞いに持っていく」 「りんごジャムを作る」 「りんごの絵を赤で描く」 周辺の単語からその単語の意味が決まる仮説 12
word2vec 13
word2vec • word2vec => 単語をベクトル化する手法 • 周辺の単語を元に単語のベクトルを計算 • 単語ベクトルを使うことで 意味に基づく単語の計算が可能になる
14 王 女 男 女王
word2vec 単語ベクトルを2次元に プロットすると意味が近い単語が近くに集まる 15
ポケモンにおける役割 16
ポケモンにおける役割 • ポケモンのeスポーツ化 • 賞金がかかった世界大会が開催されている • ポケモン対戦にガチで取り組む人が一定数いる 17 出典 pokemon.co.jp
ポケモンにおける役割 ポケモンは6匹のパーティを組んで オンライン上で対戦する 18 出典 ポケモングローバルリンク
ポケモンにおける役割 • ポケモンの役割 ◦ e.g. 同じほのおタイプなので似た役割を持つ 19 出典 ポケモングローバルリンク
ポケモンにおける役割 • ポケモンの役割 ◦ e.g. ほのおタイプはくさタイプに強い 20 出典 ポケモングローバルリンク
ポケモンへの応用 21
モチベーション ポケモンの”役割”を自動計算したい これまではポケモンの 特徴から人間が意味付けていた 22
ポケモンの役割に関する仮説 似たようなパーティで使用される ポケモン同士は似た役割を持つのでは? 23 出典 ポケモングローバルリンク
ポケモンの役割に関する仮説 ある単語の意味は同じ文中で 同時に使用される単語によって決まる (分布仮説) あるポケモンの役割は同じパーティで 同時に使用されるポケモンによって決まる 24
実験 • データセット作り a. ネット上からポケモンの対戦データをクロール b. ポケモンの並びを無視してデータの重複を取り除く 約 5,000件 •
学習 ◦ ポケモンのパーティを文とみなしてword2vec (CBoW) を PythonのNeural Networkフレームワークのchainerで学習 • リポジトリ ◦ odanado/poke2vec 25
実験結果の可視化 26
デモサイト • https://bit.ly/poke2vec ◦ 役割ベクトルの加減算 ◦ 2次元可視化 ◦ 3次元可視化 27
役割ベクトルの加減算 28
可視化 29
可視化 30
まとめ • 分布仮説は周囲の単語の出現頻度から 単語の意味が決まる仮説 • 同時にパーティに採用されるポケモンの頻度から ポケモンの役割ベクトルを学習した • 今後 ◦
持ち物を考慮したベクトルを学習したい ▪ 現状だとデータ数が圧倒的に不足 ◦ パーティのうち5匹決まっている時に 残り1匹をレコメンドとかしたい 31
Appendix 32
Continuous Bag-of-Words Model 33
Continuous Bag-of-Words Model • 単語をベクトル化 (word2vec) する手法の1つ 34 りんご 彼女
は を 食べる 総和 ベクトル化 誤差計算
Continuous Bag-of-Words Model • 単語をベクトル化 (word2vec) する手法の1つ 35 りんご 彼女
は を 食べる 総和 ベクトル化 誤差計算