Slide 1

Slide 1 text

©2019 Wantedly, Inc. ʓʓ2vec ࠶ߟ Builderscon 2019 Aug 31, 2019 - Naomichi Agata Photo by Mika Baumeister on Unsplash

Slide 2

Slide 2 text

©2019 Wantedly, Inc. Naomichi Agata @agatan_ ࣗݾ঺հ - 2018/04~ Wantedly, Inc. - Wantedly People ͷػցֶशΤϯδχΞ - Data Driven Developer Meetup ӡӦϝϯόʔ - https://d3m.connpass.com

Slide 3

Slide 3 text

©2019 Wantedly, Inc. ػցֶश΍ͬͯ·͢! Ξϯέʔτ

Slide 4

Slide 4 text

©2019 Wantedly, Inc. word2vecͱ͍͏ݴ༿Λ
 ฉ͍ͨ͜ͱ͕͋Δ! Ξϯέʔτ “ύϦϑϥϯε ೔ຊ౦ژzͰ༗໊ͳ͋ΕͰ͢

Slide 5

Slide 5 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ  άϥϑߏ଄Λ࢖ͬͨ○○2vec  ޮՌతʹ͔ͭ͏ͨΊʹ  ·ͱΊ ΞδΣϯμ

Slide 6

Slide 6 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ  άϥϑߏ଄Λ࢖ͬͨ○○2vec  ޮՌతʹ͔ͭ͏ͨΊʹ  ·ͱΊ ΞδΣϯμ

Slide 7

Slide 7 text

©2019 Wantedly, Inc.  ○○2vec ֓ཁ w ○○2vecͱ͸ w ͳʹ͕͏Ε͍͠ͷ͔ w ݁ہͲΜͳΞϓϦέʔγϣϯʹ͔ͭ͑Δͷ͔ ΞδΣϯμ

Slide 8

Slide 8 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ w ○○2vecͱ͸ w ͳʹ͕͏Ε͍͠ͷ͔ w ݁ہͲΜͳΞϓϦέʔγϣϯʹ͔ͭ͑Δͷ͔ ΞδΣϯμ

Slide 9

Slide 9 text

©2019 Wantedly, Inc. ○○2vec ͓͍͍͠ ͏·͍ ΤϯδχΞ Word2vec y x word2vec: ୯ޠΛ௿࣍ݩͷϕΫτϧʹม׵͢Δ ͓͍͍͠
   ͏·͍   ΤϯδχΞ  

Slide 10

Slide 10 text

©2019 Wantedly, Inc. ○○2vec ͱ͸ word2vec͸
 ʮ୯ޠʯ Λ ʮҙຯ͕ࣅͨ୯ޠ͸ࣅͨϕΫτϧʹͳΔʯ Λຬͨ͢ϕΫτϧʹม׵͢Δ Paris Tokyo France word2vec ( 0.1, 0.3, -0.2, …) (-0.7, -0.6, 0.9, …) ( 0.8, 0.4, -0.7, …)

Slide 11

Slide 11 text

©2019 Wantedly, Inc. ○○2vec ͱ͸ Entity 1 Entity 2 Entity 3 … ○○2vec ( 0.1, 0.3, -0.2, …) (-0.7, -0.6, 0.9, …) ( 0.8, 0.4, -0.7, …) … ○○2vec͸
 ʮ○○ʯ Λ ʮ͋Δੑ࣭ʯ Λຬͨ͢ϕΫτϧʹม׵͢Δ

Slide 12

Slide 12 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ w ○○2vecͷఆٛʹ͍ͭͯ w ͳʹ͕͏Ε͍͠ͷ͔ w ݁ہͲΜͳΞϓϦέʔγϣϯʹ͔ͭ͑Δͷ͔ ΞδΣϯμ

Slide 13

Slide 13 text

©2019 Wantedly, Inc. ○○2vec Λ࢖͏͜ͱͰɺෳࡶͰந৅తͳ৘ใΛ
 ػցతʹѻ͍΍͍͢ϕΫτϧʹม׵Ͱ͖Δʂ ○○2vec֓ཁ ͳʹ͕͏Ε͍͠ͷ͔

Slide 14

Slide 14 text

©2019 Wantedly, Inc. w ෳࡶͳੑ࣭΍ؔ܎ੑ͕ѻ͍΍͘͢ͳΔ w l୯ޠͷҙຯzͷΑ͏ͳෳࡶͰந৅తͳ΋ͷ͸ѻ͍ͮΒ͍ w lϕΫτϧz͸ͨͩͷ਺ࣈͳͷͰ؆୯ʂ w Entityͷੑ࣭ɺEntityؒͷؔ܎ੑ͕਺ࣈͰදݱͰ͖Δ w ϕΫτϧʹ͸Entityͷੑ࣭͕ຒΊࠐ·Ε͍ͯΔʢ͸ͣʣ w ϕΫτϧಉ࢜ͷԋࢉͰEntityؒͷؔ܎ੑ͕දͤΔ w ࣅ͍ͯΔॱʹ୯ޠΛฒͼସ͑Δͱ͍ͬͨૢ࡞͕ՄೳʹͳΔ ○○2vec֓ཁ ͳʹ͕͏Ε͍͠ͷ͔

Slide 15

Slide 15 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ w ○○2vecͷఆٛʹ͍ͭͯ w ͳʹ͕͏Ε͍͠ͷ͔ w ݁ہͲΜͳΞϓϦέʔγϣϯʹ͔ͭ͑Δͷ͔ ΞδΣϯμ

Slide 16

Slide 16 text

©2019 Wantedly, Inc. w ಉ͡ਓ෺͕͍ࣸͬͯΔը૾͕ࣅͨϕΫτϧʹͳΔΑ͏ʹ إը૾ݕࡧ CNN ( 0.1, 0.3, -0.2, …) (-0.7, -0.6, 0.9, …) (-0.7, -0.5, 0.7, …)

Slide 17

Slide 17 text

©2019 Wantedly, Inc. w ϕΫτϧಉ࢜ͷൺֱͰʮඃࣸମͷಉҰੑʯΛ൑ఆͰ͖Δ w ը૾Λ௚઀ൺֱ͢Δͷͱൺ΂ͯʜ w ܭࢉ͕ߴ଎ʢ಺ੵऔΔ͚ͩʣ w ࡱӨ؀ڥͷҧ͍ͳͲΛٵऩͰ͖Δ إը૾ݕࡧ CNN ⃗ ⃗ ⃗ ⃗ ⃗ ⃗ ⃗ ⃗ ⃗ Index ྨࣅϕΫτϧ Λݕࡧ

Slide 18

Slide 18 text

©2019 Wantedly, Inc. w ○○2vec ͱผͷΞϧΰϦζϜΛ૊Έ߹Θͤͯ࢖͏͜ͱ΋Α͋͘Δ w ྫDoc2vec + NNͰจॻͷΧςΰϦ෼ྨ จॻ෼ྨ Doc2vec ( 0.1, 0.3, -0.2, …) “builderscon͸
 ʮ஌Βͳ͔ͬͨɺΛฉ͘ʯΛ
 ςʔϚͱٕͨ͠ज़ΛѪ͢Δ
 શͯͷΪʔΫୡͷ͓ࡇΓͰ͢ɻ” Neural Network ΧςΰϦ༧ଌ

Slide 19

Slide 19 text

©2019 Wantedly, Inc. ○○2vec Λ࢖͏͜ͱͰɺෳࡶͰந৅తͳ৘ใΛ
 ػցతʹѻ͍΍͍͢ϕΫτϧʹม׵Ͱ͖Δʂ ○○2vec֓ཁ ͳʹ͕͏Ε͍͠ͷ͔ʢ࠶ܝʣ

Slide 20

Slide 20 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ  άϥϑߏ଄Λ࢖ͬͨ○○2vec  ޮՌతʹ͔ͭ͏ͨΊʹ  ·ͱΊ ΞδΣϯμ

Slide 21

Slide 21 text

©2019 Wantedly, Inc. άϥϑߏ଄ ϊʔυͱϊʔυ͕ΤοδͰͭͳ͕͍ͬͯΔߏ଄ ൚༻ੑ͕ߴ͘ɺ͍ΖΜͳ৘ใΛάϥϑͰදͤΔ

Slide 22

Slide 22 text

©2019 Wantedly, Inc. άϥϑߏ଄ ͨͱ͑͹ʜ

Slide 23

Slide 23 text

©2019 Wantedly, Inc. άϥϑߏ଄ Ϣʔβ͕follow͍ͯ͠ΔϢʔβ

Slide 24

Slide 24 text

©2019 Wantedly, Inc. άϥϑߏ଄ Ϣʔβ͕ॴଐ͍ͯ͠Δاۀ

Slide 25

Slide 25 text

©2019 Wantedly, Inc. άϥϑߏ଄ Ϣʔβ͕likeͨ͠هࣄ

Slide 26

Slide 26 text

©2019 Wantedly, Inc. άϥϑߏ଄ χϡʔεʹొ৔͢Δاۀ

Slide 27

Slide 27 text

©2019 Wantedly, Inc. άϥϑߏ଄ දݱྗ͸ߴ͍ʜ͕ɺѻ͍ʹ͍͘

Slide 28

Slide 28 text

©2019 Wantedly, Inc. w άϥϑߏ଄ੈͷதͷ͞·͟·ͳෳࡶͳσʔλΛදݱͰ͖Δ w ○○2vec ෳࡶͳσʔλΛѻ͍΍͘͢Ͱ͖Δ άϥϑߏ଄Λ͔ͭͬͨ ○○2vec ૊Έ߹ΘͤͨΒศརͦ͏

Slide 29

Slide 29 text

©2019 Wantedly, Inc. άϥϑߏ଄ ͨͱ͑͹ʜ άϥϑߏ଄Λ࢖ͬͨ○○2vec

Slide 30

Slide 30 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ○○2vec ○○2vec ( 0.1, 0.3, -0.2, …) (-0.7, -0.6, 0.9, …) ( 0.8, 0.4, -0.7, …) … 
 ʮάϥϑதͷ֤ϊʔυʯ Λ ʮྡΓ߹ͬͨϊʔυ͕ࣅͨϕΫτϧʹͳΔʯ Λຬͨ͢ϕΫτϧʹม׵͢Δ

Slide 31

Slide 31 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ྡΓ߹͍ͬͯΔ ཭Ε͍ͯΔ ͨ͘͞Μͷख๏͕ݚڀ͞Ε͍ͯͯ೔ਐ݄าɻ ͜͜Ͱ͸γϯϓϧͳ࣮૷Πϝʔδ͚ͩ࿩͠·͢ɻ

Slide 32

Slide 32 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ࠷ॳ͸ద౰ͳϕΫτϧ͔Βελʔτ

Slide 33

Slide 33 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ྡΓ߹ͬͨϊʔυͷϕΫτϧΛ͚ۙͮΔ

Slide 34

Slide 34 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ཭Ε͍ͯΔϊʔυͷϕΫτϧΛԕ͚͟Δ

Slide 35

Slide 35 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ͜ΕΛऩଋ͢Δ·Ͱ܁Γฦ͢

Slide 36

Slide 36 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ͜ΕΛऩଋ͢Δ·Ͱ܁Γฦ͢

Slide 37

Slide 37 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͱ ͸ྡΓ߹͍ͬͯΔ ͸཭Ε͍ͯΔ y x ͜ΕΛऩଋ͢Δ·Ͱ܁Γฦ͢

Slide 38

Slide 38 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ͋ΔϊʔυͷϕΫτϧ͸ɺपลϊʔυͱͷؔ܎ੑʹΑܾͬͯఆ͢Δ

Slide 39

Slide 39 text

©2019 Wantedly, Inc. Ͳ͏΍ֶͬͯश͢Δͷ͔ ࣅͨϊʔυͱͭͳ͕͍ͬͯΔϊʔυಉ࢜͸ࣅͨϕΫτϧʹͳΔ

Slide 40

Slide 40 text

©2019 Wantedly, Inc. ͲΜͳ͜ͱ͕Ͱ͖Δ͔ άϥϑߏ଄Λ͔ͭͬͨʓʓ2vecͷΞϓϦέʔγϣϯ

Slide 41

Slide 41 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ ϢʔβʹfollowͷਪનΛ͍ͨ͠ʂ

Slide 42

Slide 42 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Ϣʔβؒͷfollowؔ܎ user2vec

Slide 43

Slide 43 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ w ڞ௨ͷͭͳ͕Γ͕ଟ͍ਓ͸ࣅͨϕΫτϧʹͳΔ w ϕΫτϧ͕ࣅ͍ͯΔϢʔβΛਪન͢Δ

Slide 44

Slide 44 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ ϢʔβʹχϡʔεͷਪનΛ͍ͨ͠ʂ

Slide 45

Slide 45 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Ϣʔβͱχϡʔεͷlikeؔ܎ user2vec & news2vec

Slide 46

Slide 46 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ w ҟͳΔछྨͷϊʔυͰ΋௚઀ϕΫτϧΛൺֱͰ͖Δʂ w ϢʔβʹʮϕΫτϧ͕ࣅ͍ͯΔهࣄʯΛਪન͢Δ

Slide 47

Slide 47 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Follower͕ಡΜͩχϡʔε͸
 ڵຯ͕͋ΔͷͰ͸ʁ

Slide 48

Slide 48 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Ϣʔβͱχϡʔεͷlikeؔ܎ user2vec & news2vec Ϣʔβؒͷfollowؔ܎

Slide 49

Slide 49 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Ϣʔβ͸followerͷձࣾͷχϡʔεʹ
 ڵຯ͕͋Δͷ͔΋ʁ

Slide 50

Slide 50 text

©2019 Wantedly, Inc. άϥϑߏ଄Λ͔ͭͬͨ ʓʓ2vec ͷΞϓϦέʔγϣϯ Ϣʔβͱχϡʔεͷlikeؔ܎ user2vec & news2vec
 & company2vec Ϣʔβؒͷfollowؔ܎ اۀͱؔ࿈χϡʔεͷؔ܎ Ϣʔβͱاۀͷॴଐؔ܎

Slide 51

Slide 51 text

©2019 Wantedly, Inc.  ○○2vec֓ཁ  άϥϑߏ଄Λ࢖ͬͨ○○2vec  ޮՌతʹ͔ͭ͏ͨΊʹ  ·ͱΊ ΞδΣϯμ

Slide 52

Slide 52 text

©2019 Wantedly, Inc. w ͱʹ͔͘൚༻ੑ͕ߴ͍ɻ͍͍ͩͨͷ͜ͱ͸දݱ͸Ͱ͖Δɻ w ༩͑Δάϥϑ͸มΘͬͯ΋ΞϧΰϦζϜ͸ҰॹͰྑ͍ w ͞·͟·ͳཁҼΛಉ࣌ʹߟֶྀͨ͠श͕Ͱ͖Δ w ͭͳ͕Γɺॴଐاۀɺهࣄͱاۀͷؔ܎ੑɺʜ w ͍ΖΜͳαϒλεΫʹస༻Ͱ͖Δ○○2vec͕Ͱ͖Δ άϥϑߏ଄Λ͔ͭͬͨʓʓ2vec ͷྑ͍ͱ͜Ζ

Slide 53

Slide 53 text

©2019 Wantedly, Inc. • ͭΒ͍͜ͱ΋݁ߏ͋Δ w άϥϑͷͲͷ෦෼͕Ͳ͏ޮ͍͍ͯΔͷ͔෼͔ΓͮΒ͍ w ߋ৽ɺ࠶ֶश͕େมόʔδϣχϯά w ʢαϒλεΫͰϦʔΫ͢Δࣄނ͕ൃੜ͠΍͍͢ʣ ਖ਼͘͠࢖͏ͨΊʹ

Slide 54

Slide 54 text

©2019 Wantedly, Inc. • શϚγͷڊେάϥϑΛೖྗʹֶश͢Δͱɺ
 ༷ʑͳϊʔυؒͷӨڹΛߟྀͨ͠ਪનΛ࡞Ε͍ͯΔؾ෼ʹͳΕΔ • ຊ౰ʹͦͷؔ܎ੑ͸ʮࠓղ͖͍ͨ՝୊ʯʹͱͬͯ༗༻ͳͷ͔ʁ • υϝΠϯ஌ࣝΛ׆༻͢Δ + ࣮ݧͯ͠ධՁ͢Δ͔͠ͳ͍ άϥϑͷͲͷ෦෼͕Ͳ͏ޮ͍͍ͯΔͷ͔෼͔ΓͮΒ͍

Slide 55

Slide 55 text

©2019 Wantedly, Inc. • ৽͍͠ϊʔυɺΤοδ͕௥Ճ͞ΕΔͨͼʹશମΛ࠶ֶश͢Δ • ࠩ෼ߋ৽తͳ͜ͱ΋ݚڀ͸͞Ε͍ͯΔ͕େม • ࠶ֶशલͱޙͰ͸ಘΒΕΔϕΫτϧ͸׬શʹผ෺ʹͳΔ • ಉ͡ Entity Ͱ΋·ͬͨ͘ผ෺ʹͳΔ • ؒҧͬͯݹ͍ϕΫτϧͱ৽͍͠ϕΫτϧͰԋࢉ͢ΔͱյΕΔ • ʓʓ2vec ͷޙΖʹผͷϞσϧΛͭͳ͍͛ͯΔ৔߹͸
 ͦͷϞσϧ΋ಉ࣌ʹ࠶ֶश͢Δඞཁ͕͋Δ ߋ৽ɺ࠶ֶश͕ͭΒ͍όʔδϣχϯά

Slide 56

Slide 56 text

©2019 Wantedly, Inc. ΑΓޮՌతʹ࢖͏ͨΊʹ • ߴ଎ʹ࡞Εͯͦͦ͜͜༏लͳϕʔεϥΠϯͱͯ͠࢖͏ • ݶΒΕͨϦιʔεͰ੒ՌΛ࠷େԽ͢Δ • ͻͱཻͰ N ౓͓͍͍͠ঢ়ଶΛ࡞Δ • σʔλΛάϥϑతʹѻ͍΍͍͢Α͏ʹͯ͠ੵΈॏͶΔ • ಉ͡ Entity ͕ʮಉ͡ʯͰ͋Δͱѻ͑ΔΑ͏ʹ͓ͯ͘͠ • ͦͷυϝΠϯʹ͓͚Δ Knowledge Base Λ࡞Δ • λεΫʹΑͬͯద੾ͳαϒάϥϑΛఆٛ͢Δ • ҋӢͳϞσϧڞ༗ / άϥϑڞ༗͸͠ͳ͍

Slide 57

Slide 57 text

©2019 Wantedly, Inc. w ൚༻ੑ͕ͱͯ΋ߴ͍ w ͞·͟·ͳαϒλεΫʹస༻͠΍͍͢ w ߴ଎ʹ༏लͳϕʔεϥΠϯϞσϧΛ࡞ΕΔ ·ͱΊ άϥϑߏ଄Λ࢖ͬͨ ○○2vec ͸ͱͯ΋ศར ○○2vec Ͱෳࡶͳ΋ͷΛѻ͍΍͘͢͠Α͏ w ୯ޠͷҙຯ ඃࣸମͷ৘ใ ʜ w ϕΫτϧʹ͢Ε͹ػցతʹѻ͍΍͍͢ʂ

Slide 58

Slide 58 text

©2019 Wantedly, Inc. ࢀߟจݙ - Efficient Estimation of Word Representations in Vector Space - Tomas Mikolov, et al., 2013, ICLR - https://arxiv.org/abs/1301.3781 - FaceNet: A Unified Embedding for Face Recognition and Clustering - Florian Schroff, et al., 2015, CVPR - https://arxiv.org/abs/1503.03832 - PyTorch-BigGraph: A Large-scale Graph Embedding Framework - Adam Lerer, et al., 2019, SysML - https://arxiv.org/abs/1903.12287 - StarSpace: Embed All The Things! - Ledell Wu, et al. - https://arxiv.org/abs/1709.03856