Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-po...
Search
odanado
PRO
September 18, 2018
Programming
3
5.7k
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-poke2vec
odanado
PRO
September 18, 2018
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
5.1k
@nestjs/bull の活用について
odanado
PRO
0
1.5k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.2k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2.1k
nuxtjs-axios-error-handling
odanado
PRO
0
370
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
440
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
250
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
530
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
Other Decks in Programming
See All in Programming
チームをチームにするEM
hitode909
0
390
ゲームの物理 剛体編
fadis
0
370
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
300
AIコーディングエージェント(NotebookLM)
kondai24
0
230
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.4k
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
190
Navigating Dependency Injection with Metro
l2hyunwoo
1
190
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
AtCoder Conference 2025
shindannin
0
600
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
4
1.3k
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
4 Signs Your Business is Dying
shpigford
186
22k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
How to Ace a Technical Interview
jacobian
281
24k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
230
Context Engineering - Making Every Token Count
addyosmani
9
550
Large-scale JavaScript Application Architecture
addyosmani
515
110k
WENDY [Excerpt]
tessaabrams
8
35k
Designing Experiences People Love
moore
143
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
960
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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 りんご 彼女
は を 食べる 総和 ベクトル化 誤差計算