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
odanado
PRO
September 18, 2018
Programming
3
5.6k
【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
3.9k
@nestjs/bull の活用について
odanado
PRO
0
1.4k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.1k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
340
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
400
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
220
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
480
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
Other Decks in Programming
See All in Programming
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
エンジニアが挑む、限界までの越境
nealle
1
330
ComposeでのPicture in Picture
takathemax
0
140
医療系ソフトウェアのAI駆動開発
koukimiura
1
110
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
130
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
260
データベースの技術選定を突き詰める ~複数事例から考える最適なデータベースの選び方~
nnaka2992
2
1.4k
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
390
カウシェで Four Keys の改善を試みた理由
ike002jp
1
140
flutter_kaigi_mini_4.pdf
nobu74658
0
150
実践Webフロントパフォーマンスチューニング
cp20
45
10k
Cloudflare Workersで進めるリモートMCP活用
syumai
5
530
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Building Adaptive Systems
keathley
41
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
840
The Invisible Side of Design
smashingmag
299
50k
Fireside Chat
paigeccino
37
3.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing Experiences People Love
moore
142
24k
The Language of Interfaces
destraynor
158
25k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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 りんご 彼女
は を 食べる 総和 ベクトル化 誤差計算