財津大夏*, 三宅悠介**, 松本亮介** *GMOペパボ株式会社 技術部 デザイン戦略チーム / **GMOペパボ株式会社 ペパボ研究所 2018.05.17 第41回 情報処理学会 インターネットと運用技術研究会
ࡒେՆ*, ࡾ༔հ**, দຊ྄հ***GMOϖύϘגࣜձࣾ ٕज़෦ σβΠϯઓུνʔϜ / **GMOϖύϘגࣜձࣾ ϖύϘݚڀॴ2018.05.17 ୈ41ճ ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձϋϯυϝΠυ࡞Λରͱͨ͠ECαΠτʹ͓͚Δେྔੜ࢈ͷݕग़
View Slide
1. େྔੜ࢈ݕग़ͷഎܠͱຊݚڀͷత2. ैདྷͷେྔੜ࢈ݕग़ͷ՝3. ఏҊख๏i. ΞΧϯτ໊͔Βେྔੜ࢈ͷग़ऀΛݕग़͢Δii. ໊ͱઆ໌จ͔Βେྔੜ࢈ͷग़ऀΛݕग़͢Δ4. ࣮ݧͱߟ5. ·ͱΊͱࠓޙ2࣍
1.େྔੜ࢈ݕग़ͷഎܠͱຊݚڀͷత
• ECαΠτ = ΠϯλʔωοτΛ௨ͯ͠ͷചങΛߦ͑ΔαΠτ• ϋϯυϝΠυ࡞Λରͱͨ͠ECαΠτʮminneʯ• ݸਓ͕ͷలࣔചങΛߦ͑Δ• αΠτ্Ͱചങ͞ΕΔΛʮϋϯυϝΠυ࡞ʯͱදݱ͍ͯ͠Δ• ΞΫηαϦʔɺόοάɺࡒɺՈ۩ͳͲΛѻ͏4ϋϯυϝΠυ࡞Λରͱͨ͠ECαΠτͱ
IUUQTNJOOFDPN
• ϋϯυϝΠυ࡞Λରͱͨ͠ECαΠτͷීٴ• ࢢͷ֦େʹ͍େྔੜ࢈ΛϋϯυϝΠυ࡞ͱِΔग़ऀ͕ग़ݱ• ECαΠτͷϒϥϯυΠϝʔδͷᆝଛ৴པੑͷԼʹܨ͕ΔͨΊ ӡӦऀେྔੜ࢈ͷআग़ऀͷΞΧϯτఀࢭΛߦ͍ͬͯΔ6େྔੜ࢈ݕग़ͷഎܠ
IUUQTXXXXJSFEDPNFUTZOPUHPPEGPSDSBGUFST
• minneʹग़Ͱ͖Δͷ• ग़ऀ͕ʹରͯ͠ԿΒ͔ͷ࡞ۀΛߦ͏͜ͱͰͱཱͯ͢͠Δͷ = ϋϯυϝΠυ࡞ ྫ1ʣख࡞ΓͰҰͷΞΫηαϦʔ ྫ2ʣख࡞Γ͕ͩྔ࢈͍ͯ͠Δܳ ྫ3ʣσβΠϯͷΈߦͬͨϓϦϯτTγϟπ8ϋϯυϝΠυ࡞ͱେྔੜ࢈ͷఆٛ (1)
• minneʹग़Ͱ͖ͳ͍ͷ• ग़ऀ͕ʹରͯ͠ԿΒ͔ͷ࡞ۀΛߦΘͳͯ͘ͱཱͯ͢͠Δͷ ྫʣଞॴ͔ΒೖΕͨ = େྔੜ࢈• ๏ྩྫʹ৮ΕΔͷɺଞऀͷݖརΛ৵͍ͯ͠Δͷ ຊݚڀͷର֎9ϋϯυϝΠυ࡞ͱେྔੜ࢈ͷఆٛ (2)
• ैདྷ໊ɾઆ໌จɾը૾ͳͲminne্ͷଐੑใͷΈ͔Β େྔੜ࢈Ͱ͋Δͱஅ͢Δ͜ͱࠔ10େྔੜ࢈ݕग़ͷ՝ (1)େྔੜ࢈ ϋϯυϝΠυ࡞໊ ख๓͍γϣϧμʔόοά ͓ࡒγϣϧμʔը૾
• minneͰ࠾͍ͬͯΔճආࡦ େྔੜ࢈͕ग़͞Ε͍ͯΔҰൠతͳECαΠτͷͱࢹͰൺֱΛߦ͍ɺ ओʹը૾͕Ұக͢Δ߹ʹେྔੜ࢈ͱஅ͍ͯ͠Δ• ࢹͰ૯ݕग़ʹݶք͕͋ΔͨΊܧଓతͳݕग़͕ࠔ• ҰൠతͳECαΠτͱͷൺֱΛػցతʹߦ͏͜ͱඇݱ࣮త• ଟଘࡏ͢ΔαΠτͷཏతͳΫϩʔϦϯά͕ඞཁ• ཧԼʹͳ͍αΠτͷΫϩʔϦϯάྙཧతʹߦ͏͖Ͱͳ͍11େྔੜ࢈ݕग़ͷ՝ (2)
• ݱࡏͷαʔϏεӡӦʹ͓͍ͯࢹʹཔ͍ͬͯΔ͕ίετ͕ߴ͍• େྔੜ࢈Λߋʹྨ͢Δ͜ͱͰɺ Ұ෦ͰminneͷଐੑใͷΈ͔Βݕग़Ͱ͖ͳ͍͔վΊͯΞϓϩʔν͢Δ12ຊݚڀͷత (1)
minneͷଐੑใͷΈΛར༻ͯ͠ ܧଓత͔ͭػցతʹେྔੜ࢈Λݕग़͢Δ13ຊݚڀͷత (2)
2.ैདྷͷେྔੜ࢈ݕग़ͷ՝
ࢹʹΑͬͯେྔੜ࢈Λݕग़͢Δ͜ͱͷ՝• ࢹʹΑΓҰൠతͳECαΠτͱ໌Β͔ʹಉҰͳͷΈΛݕग़͢Δ͜ͱͰ ϋϯυϝΠυ࡞ʹରͯ͠ޡͬͯআΞΧϯτఀࢭΛߦ͏͜ͱΛ͙• ݕग़͢Δ1݅͋ͨΓ10લޙ͕ඞཁ• minneͷ676ສ• ཏతɾܧଓతͳݕग़͕ࠔ15ैདྷͷେྔੜ࢈ݕग़ͷ՝ (1)
ը૾ൺֱʹΑͬͯػցతʹେྔੜ࢈Λݕग़͢Δ͜ͱͷ՝• ߏਤ͕શ͘ҟͳΔը૾͔ΒඃࣸମͷᐆດҰகΛߦ͏͜ͱ͕ࠔ• ଟগͷߏਤͷҧ͍Ͱ͋Εը૾ॲཧCNNʹΑΔྨՄೳ• ൺֱରͱͯ͠େྔੜ࢈͕ग़͞Ε͍ͯΔECαΠτͷը૾͕ඞཁ• ΫϩʔϦϯάͷқ͕ߴ͍• ΫϩʔϦϯάྙཧతʹ·͘͠ͳ͍16ैདྷͷେྔੜ࢈ݕग़ͷ՝ (2)
ϒϥϯυ໊ඪͳͲͷΩʔϫʔυʹΑͬͯେྔੜ࢈Λݕग़͢Δ͜ͱͷ՝• minneͰϒϥϯυొඪΛؚΉͷݕग़ʹར༻• ECαΠτͰ͕ৗʹՃ͞Εଓ͚ΔͨΊະͷޠኮʹର͢Δै͕ࠔ• ϋϯυϝΠυ࡞Λِ͓ͬͯΓطͷޠኮΛؚ·ͳ͍ େྔੜ࢈ݕग़Ͱ͖ͳ͍17ैདྷͷେྔੜ࢈ݕग़ͷ՝ (3)
3.ఏҊख๏
• ҰൠతͳECαΠτͱͷൺֱΛඞཁͱ͠ͳ͍அج४Ͱେྔੜ࢈Λݕग़͢Δ• ػցԽՄೳͳํ๏ʹΑͬͯେྔੜ࢈Λݕग़͢Δ19ैདྷͷେྔੜ࢈ݕग़ͷ՝Λղܾ͢ΔͨΊͷཁ݅
1.ӡӦऀ͕େྔੜ࢈ͷग़ऀͷΞΧϯτΛఀࢭ͢Δ ɹɹɹɹɹɹɹɹɹɹ‑2.େྔੜ࢈ͷग़ऀ͕ผΞΧϯτΛ࡞͢Δ ɹɹɹɹɹɹɹɹɹɹ‑3.େྔੜ࢈ͷग़ऀ͕ಉ͡ͷ࠶ग़Λߦ͏ ɹɹɹɹɹɹɹɹɹɹ‑4.ӡӦऀ͕େྔੜ࢈ͷग़ऀΛ࠶ݕग़͢Δ20େྔੜ࢈ͷग़ऀͷҰ෦ʹݟΒΕͨಛతͳߦಈ
ಛతͳߦಈΛͱΔେྔੜ࢈ͷग़ऀͷΞΧϯτ• ΞΧϯτ໊ʹແҙຯͳจࣈྻΛઃఆ͍ͯ͠Δ• ΞΧϯτΛఀࢭ͞ΕͯผͷΞΧϯτΛ࡞ͯ͠࠶ग़Λߦ͏ͨΊ• ւ֎ECαΠτͷใΛػց༁͓ͯ͠Γ໊આ໌จ͕ෆࣗવ• ւ֎͔ΒೖΕ͍ͯΔྔ࢈Λ؆୯ʹग़͢ΔͨΊ21େྔੜ࢈ͷग़ऀͷಛ
͜ΕΒͷಛΛ༻͍ͨେྔੜ࢈ͷग़ऀͷݕग़՝ʹର͢Δཁ݅Λຬͨ͢• ҰൠతͳECαΠτͱͷൺֱΛඞཁͱ͠ͳ͍அج४Ͱେྔੜ࢈Λݕग़͢Δ ➡ΞΧϯτ໊ͷଐੑใҰൠతͳECαΠτͱͷൺֱ͕ෆཁ• ػցԽՄೳͳํ๏ʹΑͬͯେྔੜ࢈Λݕग़͢Δ ➡ςΩετॲཧʹΑΔಛྔநग़ͱྨثͷ࣮ͰػցԽ͕Մೳ22େྔੜ࢈ͷग़ऀͷݕग़
• N-GramτʔΫϯʹΑͬͯจࣈ୯ҐͷڞىؔΛಛྔͱͯ͠ѻ͏• ୯७ϕΠζྨثʹΑͬͯτʔΫϯͷಉ࣌ൃੜ֬ΛϞσϧʹΈࠐΉ• ྨثͱͯ͠ݹయత• ςετσʔλʹ͓͍ͯेͳਫ਼Λࣔ͢• 1ͷొ࡞ͷྨʹֻ͔Δ͕࣌ؒ100msఔͱߴͰ͋Δ• ͜Ε·ͰػցԽ͞Εͯ͜ͳ͔ͬͨͨΊӡ༻ʹҠ͢ࡍͷ؆ศ͞Λߟྀ• τʔΫϯͷ࣍ͷΈ߹ΘͤʹΑͬͯใྔΛ૿͠ਫ਼Λ্͛Δ23ख๏1 ΞΧϯτ໊Λ༻͍ΔྨثʹΑΔݕग़
• ໊ͱઆ໌จΛ࿈݁ͨ͠จࣈྻΛग़ऀ͝ͱʹ1ͭͷจষͱݟͳ͠ จষʹग़ݱ͢Δ୯ޠΛಛྔͱͯ͠ѻ͏• ຊޠͷ୯ޠׂʹMeCabΛར༻• ࢺ͝ͱʹಛΛଊ͑Δఔʹ͕ࠩ͋Δͱ༧͞ΕΔͨΊ ୯ޠׂ࣌ʹಛఆͷࢺͷΈऔΓग़͢• ΞΧϯτ໊ͱಉ༷ʹ୯७ϕΠζྨثΛ༻͍Δ24ख๏2 ໊ͱઆ໌จΛ༻͍ΔྨثʹΑΔݕग़
4.࣮ݧͱߟ
• minneͷӡӦऀʹΑΓਖ਼ղϥϕϧ͕༩͞Ε͍ͯΔग़ऀͷΞΧϯτΛ ܇࿅σʔλͱͯ͠༻• ࢹͰݕग़͞Εͨେྔੜ࢈ͷग़ऀ• ӡӦऀʹΑͬͯϋϯυϝΠυ࡞Ͱ͋Δͱ֬ೝ͞Ε͍ͯΔग़ऀ26ྨثͷߏங
• ༧Ί܇࿅σʔλͱׂͨ͠ςετσʔλͷਫ਼ʹΑΔධՁ• ྨثͷߏஙʹ༻͍͍ͯͳ͍ະͷσʔλͷਫ਼ʹΑΔධՁ• ྨػʹΑΔྨͷ݁ՌΛӡӦऀ͕ࢹͯ͠ޙ͔Βਖ਼ղϥϕϧΛ༩ େྔੜ࢈ͷग़ऀΛݕग़͢Δ͜ͱ͕Ͱ͖͔ͨ֬ೝ27ྨثͷධՁ
• େྔੜ࢈ͷग़Λ͙͜ͱͰߪೖऀϒϥϯυΠϝʔδΛकΔ͜ͱ͕త• ϋϯυϝΠυ࡞ͷग़ऀΛେྔੜ࢈ͷग़ऀͰ͋Δͱޡͬͯஅͯ͠ ΞΧϯτఀࢭͳͲͷରԠΛߦ͏ͱ٫ͬͯϒϥϯυΠϝʔδΛଛͳ͏• ِཅੑΛॏࢹͯ͠ධՁ28ྨثͷِཅੑʹΑΔධՁ
• MacBook Pro (Retina, 13-inch, Early 2015)• CPU: 3.1GHz Intel Core i7• RAM: 16GB 1,867MHz DDR3• Python 3.6.0• scikit-learn 0.19.1• ngram 3.3.2• Mecab 0.99629࣮ݧڥ
ख๏1 ΞΧϯτ໊Λ༻͍ΔྨثͷධՁ
• ೖྗͨ͠ग़ऀͷΞΧϯτ େྔੜ࢈181 / ϋϯυϝΠυ࡞326• ϋϯυϝΠυ࡞ͷग़ऀͷ1-GramτʔΫϯ ຊޠͷԻͰ͋Δa,i,e,oͷ͕ߴ͘ ࣈຊޠͷࢠԻʹݱΕͳ͍q,v,x,zͷ͕͍• 1-GramτʔΫϯͱ2-GramτʔΫϯͷ Έ߹ΘͤΛಛྔͱͯ͠༻͍Δ31ΞΧϯτ໊Λ༻͍ΔྨثͷධՁϋϯυϝΠυ࡞ͷग़ऀେྔੜ࢈ͷग़ऀΞΧϯτ໊ͷ(SBNτʔΫϯͷ
• ςετσʔλʹ͓͚Δਫ਼92.16%• ಛʹ͍͜ͱ͕·ِ͍͠ཅੑ51݅த1݅• 1-Gram·ͨ2-GramτʔΫϯ୯ମΑΓਫ਼ͷ্͕ݟΒΕͨ32ΞΧϯτ໊Λ༻͍ΔྨثͷධՁςετσʔλͷྨ݁Ռਖ਼ղϥϕϧେྔੜ࢈ ϋϯυϝΠυ࡞༧ଌϥϕϧେྔੜ࢈ ϋϯυϝΠυ࡞
• ྨثͷߏஙʹ༻͍͍ͯͳ͍ະͷσʔλ544ݸΛྨثʹద༻• 70ݸ (12.9%) Λେྔੜ࢈ͷग़ऀͱྨ• ྨ݁ՌΛӡӦऀ͕ࢹͯ͠17ݸ (24.3%) ͕େྔੜ࢈ͷग़ऀͩͬͨ• େྔੜ࢈ͷग़ऀͱྨ͞Εͳ͔ͬͨͷͷதʹ ࣮ࡍʹେྔੜ࢈ͷग़ऀ͕ଘࡏ͢ΔՄೳੑ͕͋Δ͕ݱ࣌Ͱະݕূ33ΞΧϯτ໊Λ༻͍ΔྨثͷධՁ
• ϋϯυϝΠυ࡞ͷग़ऀͰϥϯμϜจࣈྻͷΑ͏ͳID͕ଘࡏ͢ΔͨΊ ج४ͷՃ͕ඞཁͱߟ͑ΒΕΔ• ྨثʹΑΓେྔੜ࢈ͱྨ͞Εͨग़ऀͷΛࢹ͢Δ߹ ࣌ؒతίετશͷࢹݕࠪʹൺͯ1/8ʹѹॖ͞ΕΔ34ΞΧϯτ໊Λ༻͍ΔྨثͷධՁ
ख๏2 ໊ͱઆ໌จΛ༻͍ΔྨثͷධՁ
• ೖྗͨ͠ग़ऀͷΞΧϯτେྔੜ࢈181ɺϋϯυϝΠυ࡞326• ໊ͱઆ໌จΛࢺ͝ͱʹ୯ޠׂͯ͠ग़ݱճΛಛྔԽ• ςετσʔλʹ͓͚Δਫ਼໊ࢺΛ༻͍ͨϞσϧ͕࠷ߴ͘98.04%• େྔੜ࢈ͷग़ऀͷಠಛͷݴ༿ݣ͍Λଊ͍͑ͯΔͱߟ͑ΒΕΔ36໊ͱઆ໌จΛ༻͍ΔྨثͷධՁਖ਼ղϥϕϧେྔੜ࢈ ϋϯυϝΠυ࡞༧ଌϥϕϧେྔੜ࢈ ϋϯυϝΠυ࡞
• ྨثͷߏஙʹ༻͍͍ͯͳ͍ະͷσʔλ720ݸΛྨثʹద༻• 142ݸ (19.7%) Λେྔੜ࢈ͷग़ऀͱྨ• ྨ݁ՌΛӡӦऀ͕ࢹͯ͠11ݸ (7.7%) ͕େྔੜ࢈ͷग़ऀͩͬͨ• େྔੜ࢈ͷग़ऀͱྨ͞Εͳ͔ͬͨͷͷதʹ ࣮ࡍʹେྔੜ࢈ͷग़ऀ͕ଘࡏ͢ΔՄೳੑ͕͋Δ͕ݱ࣌Ͱະݕূ37໊ͱઆ໌จΛ༻͍ΔྨثͷධՁ
• ςετσʔλʹରͯ͠ߴਫ਼ʹྨ͍ͯ͠Δ• ະͷσʔλʹରͯ͠ϋϯυϝΠυ࡞ͷग़ऀΛେྔੜ࢈ͷग़ऀͱ ޡͬͯྨ͢Δʹ͋Δ• ྨثʹΑΓେྔੜ࢈ͱྨ͞Εͨग़ऀͷΛࢹ͢Δ߹ ࣌ؒతίετશͷࢹݕࠪʹൺͯ1/5ʹѹॖ͞ΕΔ38໊ͱઆ໌จΛ༻͍ΔྨثͷධՁ
5.·ͱΊͱࠓޙ
• ϋϯυϝΠυ࡞Λରͱͨ͠ECαΠτʹ͓͚Δେྔੜ࢈ͷݕग़ΛػցԽ• minneͷଐੑใҎ֎ʹґଘ͠ͳ͍ େྔੜ࢈ͷग़ऀͷҰ෦͕࣋ͭ2ͭͷಛΛ༻͍ͯྨΛߦͬͨ• ςετσʔλʹରͯ͠ߴਫ਼ʹྨΛߦ͏͜ͱ͕Մೳͱͳͬͨ• େྔੜ࢈ͱྨ͞ΕͨΛࢹ͢Δͱ͍͏લఏʹ͓͍ͯ ैདྷͷࢹʹΑΔݕग़Λશʹରͯ͠ߦ͏߹ʹൺͯ ࣌ؒతίετΛݮͰ͖Δ40·ͱΊ
• ະͷσʔλʹର͢Δਅཅੑͷׂ߹ΛߴΊΔ• minneͷଐੑใͷΈ͔Βେྔੜ࢈ͷग़ऀΛྨͰ͖ΔՄೳੑࣔ͞Εͨ• ग़ऀͷߦಈʹΑΓఆ·Δҙʹ੍ޚࠔͳಛྔΛ༻͍Δ ྫʣΞΧϯτొ͔Βൢച։࢝·Ͱͷ࣌ؒ ྫʣ୯Ґ࣌ؒ͋ͨΓͷग़41ࠓޙʹ͍ͭͯ