Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
October 09, 2020
Technology
1
530
不自然言語の自然言語処理: コード補完を支える最新技術
Sansan自然言語処理勉強会
https://sansan.connpass.com/event/190157/
takegue
October 09, 2020
Tweet
Share
More Decks by takegue
See All by takegue
takegue
1
5.4k
takegue
3
3.3k
takegue
4
630
takegue
0
600
takegue
0
96
takegue
0
160
takegue
0
59
takegue
0
31
takegue
0
75
Other Decks in Technology
See All in Technology
sumi
0
580
viva_tweet_x
5
2.7k
hololab
0
340
redhatopenshift
0
590
kanaugust
PRO
0
180
nozomiito
0
160
hisaichi5518
0
190
papix
0
230
clustervr
0
210
fu3ak1
0
630
kyonmm
1
2.4k
bells17
0
480
Featured
See All Featured
trishagee
20
2.1k
chriscoyier
145
19k
malarkey
192
8.6k
morganepeng
92
14k
jensimmons
207
10k
sferik
610
54k
jcasabona
7
520
michaelherold
225
8.5k
destraynor
223
47k
jacobian
255
20k
caitiem20
308
17k
paulrobertlloyd
71
1.4k
Transcript
फ़ี !UBLFHVF ෆࣗવݴޠͷࣗવݴޠॲཧٕज़: ίʔυิΛࢧ͑Δ࠷৽ٕज़ Sansan ࣗવݴޠॲཧษڧձ (2020/10/09)
ͳͥίʔυิʁ ʢࣗ͜͜વݴޠॲཧษڧձͰʜʣ
5BC/JOF IUUQTXXXUBCOJOFDPN ΑΓχϡʔϥϧϞσϧΛར༻ͨ͠ίʔυิ
ίϯςΩετͷใ ˠܥྻ༧ଌͷͱͯͦ͠ͷ··ఆࣜԽՄೳ 5BC/JOF IUUQTXXXUBCOJOFDPN ΑΓχϡʔϥϧϞσϧΛར༻ͨ͠ίʔυิ
ͳͥίʔυิʁ z࣮༻తͳࣗવݴޠॲཧzͷ͍ํΛίʔυิͰֶͿ w ։ൃऀͷͨΊͷ*.&ࣗવݴޠॲཧٕज़͕ͦͷ··స༻Մೳͷ w ਫ਼ͪΖΜଈԠੑɺܰྔ͞ͱ͍ͬͨෳͷࢦඪͰ ߴ͍ਫ४Ͱͷୡ͕ٻΊΒΕΔ ˠτϐοΫࣗવݴޠॲཧͷਂֶशϞσϧͷ࣮༻ͷน ˠτϐοΫ3//ɺ$//ͦΕͱ5SBOTGPSNFSʁ w
نଇੑ͕ߴ͍ιʔείʔυ֤छ੩తղੳπʔϧͷൃୡͷഎܠ͕͋Δ ˠτϐοΫࣝϕʔεͦΕͱࣄྫϕʔεʁ
ۙʹ͓͚ΔίʔυิपΓͷݚڀ w ౷ܭϞσϧʹΑΔίʔυิ #SVDIFUBM w ϕΠδΞϯΞϓϩʔνʹΑΔίʔυิ 1SPLTDIFUBM ˠ&DMJQTF֦ுͱͯ͠ΈࠐΈ
w ݴޠϞσϧʹΑΔΞϓϩʔν w OHSBNϞσϧʹΑΔίʔυิ<)JOEMFFUBM> w ΩϟογϡܕݴޠϞσϧʹΑΔίʔυͷہॴར༻<'SBOLTFUBM> w ߏจҙຯղੳ݁Ռͷར༻<3BZDIFWFUBM> ΑΓ͍ҙຯͰͷίʔυར༻ͷݚڀ<"MMBNBOJTFUBM>Λࢀর
w .JDSPTPGUͷݚڀνʔϜʹΑΔ ίʔυิͷݚڀ 74$PEF֦ு7JTVBM4UVEJP*OUFMMJ$PEFͷதͷ w ਫ਼͚ͩͰͳ͘ଈԠੑ αΠζͷ ෳͷ؍ͰෳͷχϡʔϥϧϞ
σϧͷੑೳΛൺֱ w .#ͰNTͰ3FDBMM!Ͱ հ͢Δจ ֤छϞσϧͷৄࡉͳ࣮σϓϩΠϝϯτʹؔ͢ΔผγεςϜจͰհ͞Ε͍ͯΔ 4WZBULPWTLJZFUBM ,%%Λࢀর ҎޙਤࣜͳͲจதΑΓҾ༻͠·͢
࣮Ԡ༻ͷࣗવݴޠॲཧٕज़ ΤϯυϢʔβڥͰಈࣗ͘વݴޠॲཧΞϓϦέʔγϣϯͷน w ίʔυิΤϯυϢʔβڥͰϦΞϧλΠϜͰಈ࡞͢Δ w ༷ʑͳ࣮ߦڥͰɺ༷ʑͳϓϩδΣΫτͰͷಈ࡞ཁ w ݪଇ$16 (16͕͋Δ͜ͱظͰ͖ͳ͍
w ߴ͍ଈԠੑ w ϝϞϦ w ϓϥΠϕʔτˍΦϑϥΠϯϓϩϓϥΤλϦ w ͜ΕΒͷ݅Λߴ͍ਫ४Ͱୡ͢Δ͜ͱ͕ٻΊΒΕΔɻ
࣮Ԡ༻ͷࣗવݴޠॲཧٕज़ͷน
.# ࣮༻తͳϞσϧͷαΠζ
࣮Ԡ༻ͷࣗવݴޠॲཧٕज़ͷน ޠኮʹΑΔϞσϧαΠζͷӨڹ w ϞσϧͷύϥϝʔλʹޠኮͷӨڹେ͖͍ ޠኮY࣍ݩ w Ұൠతͳ*1"%*$ͷγεςϜࣙॻͰ.# ສऑΤϯτϦ
w NFDBCJQBEJDOFPMPHEͰ.# ສΤϯτϦݱࡏ w ϞσϧબॏཁͰ͋Δ͕ɺͦͦޠኮαΠζΛௐ͢Δඞཁ͕͋Δ w ྔࢠԽɺৠཹͱ͍ͬͨϞσϧͷޙॲཧख๏ 'FBUVSF)BTIJOHͱ͍ͬͨѹॖख๏͕ଘࡏ͢Δ ࠓճׂѪ
࣮Ԡ༻ͷࣗવݴޠॲཧٕज़ͷน ˠޠኮΛݮΒ͢Λߟ͑Δ w 50,&/ۭന͗͘ΓͰͦͷ··ར༻ w 46#50,&/TOBLF@DBTF$BNFM$BTFͳͲ໋໊׳शׂՄೳ w #ZUF1BJS&ODPEJOH #1& σʔλ͔ΒαϒτʔΫϯͷׂΛ֫ಘ
ޠኮΛઃఆՄೳ JFBSSBZ@JOOFS@QSPEVDUˠBSSBZ @ JO OOFS QSPE VDU w $)"3จࣈɻτʔΫϯྻΛ࣍ݩͷը૾ͱߟ͑ͯ$//͕ద༻Ͱ͖Δ
NT Ԡ࣌ؒͷ҆
࣮Ԡ༻ͷࣗવݴޠॲཧٕज़ͷน ੑೳͱϞσϧͷαΠζͷτϨʔυΦϑ w ۙͷಈσΧ͍΄Ͳ͍͍ެ։ࡁΈͷχϡʔϥϧݴޠϞσϧ w #&35 5SBOTGPSNFS ԯύϥϝʔλ (#ʙ
w Ϟσϧ͕େ͖͍ˠܭࢉίετߴ͍ˠ͘ͳΔ w TPGUNBYܭࢉ͕ॏ͍ w <:BPFUBM>ஈ֊తͳ༧ଌީิͷߋ৽ʹΑΓഒͷߴԽ
ͦͦ
ͦͦχϡʔϥϧϞσϧඞཁ͔ʁ
ͦͦχϡʔϥϧϞσϧඞཁ͔ʁ The right tools should be used for the right
job.
ͦͦχϡʔϥϧϞσϧඞཁ͔ʁ ίʔυิͰOHSBNϞσϧχϡʔϥϧϞσϧΑΓڧ͍ <)FMMFOEPPSOBOE%FWBOCV> Ϟσϧͷෳࡶ͞ ଈԠੑɺϞσϧͷαΠζ ͕ ૬ԠͷՁ͕͋Δͷ͔ΛΑۛ͘ຯ͠ͳ͚ΕͳΒͳ͍ ˠઃఆͷ࡞Γํ࣍ୈ The right
tools should be used for the right job.
ઃఆΛߟ͑Δ ࣝϕʔε͔ͦΕͱࣄྫϕʔε͔ ࣝϕʔεࣙॻنଇ֫ಘʹΑΔԋ៷తΞϓϩʔν ࣄྫϕʔεσʔλʹΑΔؼೲతΞϓϩʔν
ઃఆΛߟ͑Δ ࣝϕʔε͔ͦΕͱࣄྫϕʔε͔ ࣝϕʔεࣙॻنଇ֫ಘʹΑΔԋ៷తΞϓϩʔν ࣄྫϕʔεσʔλʹΑΔؼೲతΞϓϩʔν ˠ྆ํΈ߹Θͤͯ͑Δͷ͕ྑ͍ ίʔυิͷจ຺ͷ੩తղੳ 45"/ ͱ͍͏༗༻ͳࣝͷଘࡏ
ઃఆΛߟ͑Δ w &ODPEFSEFDPEFSͷΑ͏ͳग़ྗ͕ΫϥεʙޠኮͷྨΛΊΔ w ग़ྗۭ͕ؒૄɻֶशޮѱ͘༧ଌͷܭࢉίετߴ͍ w ੩తղੳπʔϧͱΈ߹ΘͤΔ͜ͱΛߟ͑ΔͱɺΧελϚΠζੑ͍ ˠฒͼସ͑ͱͯ͠ଊ͑͢ ੜܕΞϓϩʔν͔Βฒͼସ͑Ξϓϩʔν
ੜ͔Βฒͼସ͑ͷͨΊͷֶश ੩తղੳ 45"/ PSࣄྫϕʔε 70$"# χϡʔϥϧϞσϧ (36 $// 53"/4'03.&3 χϡʔϥϧϞσϧίϯςΩετͷຒΊࠐΈͱީิฒͼସ͑ͷΈ୲
ˠੑೳ͚ͩͰͳ͘ɺଈԠੑϞσϧͷܰྔԽʹߩݙ ޙड़
࣮ݧઃఆ σʔληοτ (JUIVC্ͷελʔͷ1ZUIPOϓϩδΣΫτ͔Β lzʹΑΔิҐஔΛऔಘ͠σʔληοτͷߏங ධՁ ϞσϧαΠζύϥϝʔλY'-0"5Ͱܭࢉ ̏ͭͷࢦඪ3FDBMM! 3FDBMM! .33ͰධՁ จࣈྻͷׂํ๏
& ɺީิϓϩόΠμ 1 ɺຒΊࠐΈํ๏ $ ͭͷΈ߹ΘͤͰͦΕͧΕϋΠύϥύϥϝʔλΛ̎෦୳ࡧ ϕʔεϥΠϯ45"/ͷީิͷ࠷සΛબ 50,&/ 45"/ʹ૬
࣮ݧ݁ՌϞσϧͷ֤छൺֱ
࣮ݧ݁ՌϞσϧͷ֤छൺֱ ੩తղੳ 45"/ ͔ͳΓڧ͍ ˠֶशࣄྫʹ͓͍ͯ45"/ͷͳ͍ͱ ੑೳ͕dQUམͪΔ ίϯςΩετใΛ͏͜ͱͰ ੑೳ͕ʙQUͷվળ
࣮ݧ݁ՌϞσϧͷ֤छൺֱ #1&ʙ46#50,&/$)"350,&/ ׂͷͨΊͷϝλσʔλͷอ࣋Λߟ͑Δͱɺ46#50,&/͕ແ
࣮ݧ݁ՌϞσϧͷ֤छൺֱ 3//WT$//WT53"/4'03.&3ʁ $)"3.#Ͱ༏ल .# .# #1& 46#50,&/ͷੑೳࠩΘ͔ͣ
࣮ݧ݁ՌϞσϧͷ֤छൺֱ 3//WT$//WT53"/4'03.&3ʁ ΦʔιυοΫεͳ3// (36 ͕όϥϯε͕औΕ࠷༏ΕΔ݁Ռ
࣮ݧ݁ՌϞσϧͷ֤छൺֱ 3//WT$//WT53"/4'03.&3ʁ $// 53"/4'03.&3ϞσϧαΠζʹͬͯϨΠςϯγ͕ஶ͘͠ѱԽ
࣮ݧ݁Ռ൚༻ੑͷධՁ ੩తղੳ 45"/ ͕ॏཁͳׂΛ͠Ί͍ͯΔ ࣄྫϕʔε 17"$# ͚ͩͰదͳิީิΛબͿ͜ͱࠔͰ͋Δ
·ͱΊ w ࣮༻తͳࣗવݴޠॲཧͷͱͯ͠ίʔυิͰͷऔΓΈΛհ w /-1ͱಉ༷ʹχϡʔϥϧݴޠϞσϧʹΑΔมԽ͕๚Ε͍ͯΔ w ੑೳ͚ͩͰͳ͘ଈԠੑϞσϧαΠζΛؑΈͨൺֱ࣮ݧ w ΦʔιυοΫεͳ3//5SBOTGPSNFS$//ΑΓ࣮༻త w
൚༻తͳѹॖख๏ࣝৠཹྔࢠԽΛར༻͢Δ͜ͱͰ͞ΒͳΔѹॖ͕Մೳ w ੩తղੳπʔϧͷॆ࣮ͷഎܠ͔Βࣗવݴޠॲཧ͔ΒΈͯࣔࠦత w ࣝͱσʔλͷΈ߹ΘͤΔͨΊͷઃఆΞʔΩςΫνϟ
ࢀߟจݙ 5BC/JOF5FBN5BC/JOFIUUQTUBCOJOFDPN7JTJUFE.BS +JBMJ:BPFUBM &OBCMJOH3FBMUJNF/FVSBM*.&XJUI*ODSFNFOUBM7PDBCVMBSZ4FMFDUJPO /""$- 4WZBULPWTLJZFUBM 'BTUBOE.FNPSZ&⒏DJFOU/FVSBM$PEF$PNQMFUJPO BS9JW 4WZBULPWTLJZFUBM 1ZUIJB"*BTTJTUFE$PEF$PNQMFUJPO4ZTUFN
,%% "MMBNBOJTFUBM "4VSWFZPG.BDIJOF-FBSOJOHGPS#JH$PEFBOE/BUVSBMOFTT "$.$PNQVUJOH4VSWFZT $463 4FCBTUJBO1SPLTDI +PIBOOFT-FSDI BOE.JSB.F[JOJ*OUFMMJHFOUDPEFDPNQMFUJPOXJUI#BZFTJBOOFUXPSLT"$.5SBOTBDUJPOTPO4PGUXBSF &OHJOFFSJOHBOE.FUIPEPMPHZ 504&. "CSBN)JOEMF &BSM5#BSS ;IFOEPOH4V .BSL(BCFM BOE1SFNLVNBS%FWBOCV0OUIFOBUVSBMOFTTPGTPGUXBSF*O1SPDFFEJOHTPGUIF *OUFSOBUJPOBM$POGFSFODFPO4PGUXBSF&OHJOFFSJOH *$4& $ISJTUJOF'SBOLT ;IBPQFOH5V 1SFNLVNBS%FWBOCV BOE7JODFOU)FMMFOEPPSO$BDIFDB"DBDIFMBOHVBHFNPEFMCBTFEDPEF TVHHFTUJPOUPPM*O1SPDFFEJOHTPGUIF*OUFSOBUJPOBM$POGFSFODFPO4PGUXBSF&OHJOFFSJOH *$4& 7FTFMJO3BZDIFW .BSUJO7FDIFW BOE"OESFBT,SBVTF1SFEJDUJOH1SPHSBN1SPQFSUJFTGSPNl#JH$PEFz*O1SPDFFEJOHTPGUIF 4ZNQPTJVNPO1SJODJQMFTPG1SPHSBNNJOH-BOHVBHFT 101- 1BWPM#JFMJL 7FTFMJO3BZDIFW BOE.BSUJO7FDIFW1)0(1SPCBCJMJTUJD.PEFMGPS$PEF*O1SPDFFEJOHTPGUIF*OUFSOBUJPOBM$POGFSFODF PO.BDIJOF-FBSOJOH *$.-