財津大夏, 三宅悠介 GMOペパボ株式会社 ペパボ研究所 2020.05.15 第49回 情報処理学会 インターネットと運用技術研究会
ࡒେՆ, ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc.2020.05.15 ୈ49ճ ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձECαΠτʹ͓͚ΔӾཡཤྺΛ༻͍ͨߪങʹܨ͕ΔߦಈͷมԽݕग़
View Slide
1. ݚڀͷత2. ՝3. ఏҊख๏4. ࣮ݧͱߟ5. ·ͱΊͱࠓޙ2࣍
1.ݚڀͷత
• ECαΠτΛ๚ΕΔϢʔβʔෳͷతΛ࣋ͭ• ྫʣʮΟϯυγϣοϐϯάʯʮͷ୳ࡧʯʮಛఆͷߪങʯͳͲ• ECαΠτͷӡӦऀ͕؍ଌՄೳͳϢʔβʔͷߦಈతʹΑͬͯมԽ͢Δ• ྫʣʮͷݕࡧʯʮͷӾཡʯʮͷߪങʯͳͲͷ୳ࡧ͕త ➡ ͷछྨͰݕࡧͯ͠ݕࡧ݁ՌΛϖʔδӾཡಛఆͷߪങ͕త ➡ ໊Ͱݕࡧͯ͠ϖʔδΛৄ͘͠Ӿཡ4ECαΠτͷϢʔβʔͷతͱߦಈ
• ϢʔβʔͷߦಈͷมԽʹ߹ΘͤͯECαΠτͷγεςϜΛదԠతʹมԽͤ͞Δ͜ͱͰߪങͷ্͕ظ͞ΕΔ• Λ୳ࡧ͍ͯ͠Δ ➡ ଟ༷ੑͷ͋Δਪનख๏ʹΓସ͑ͯڵຯΛऒ͘• ಛఆͷߪങΛߦ͓͏ͱ͍ͯ͠Δ ➡ ܾࡁಋઢΛࣔͯ͠ߪങΛଅ͢• ECαΠτͷγεςϜͷదԠతͳมԽΛ࣮ݱ͢ΔͨΊʹɼϢʔβʔ͕ԿΒ͔ͷߦಈΛऔͬͨޙʹมԽΛݕग़͍ͨ͠5Ϣʔβʔͷߦಈʹ߹ΘͤͨECαΠτͷదԠతͳมԽ
• ECαΠτͷγεςϜͷదԠతͳมԽΛ࣮ݱ͢ΔͨΊʹɼϢʔβʔ͕ԿΒ͔ͷߦಈΛऔͬͨޙʹมԽΛݕग़͍ͨ͠• Ϣʔβʔ͕औΓ͏ΔߦಈECαΠτ͝ͱʹ༷ʑ• ຊใࠂͰECαΠτʹڞ௨ͷߦಈͱͯ͠ߪങʹܨ͕ΔߦಈͷมԽݕग़ΛఏҊ6ࠓճͷใࠂͷൣғ
2.՝
• ECαΠτ͝ͱʹར༻Մೳͳಛྔͷ͏ͪɼͲΕΛߪങʹܨ͕ΔߦಈͷมԽݕग़ʹ༻͍Δ͖͔͕ະ• ಛྔΛશͯ༻͍ΔਂֶशHMMͳͲͷֶशϕʔεͷख๏͕͋Δ͕ɼ• ࣍ݩ͕૿͑Δ΄ͲඞཁͳαϯϓϧαΠζ͕૿େ͢Δ• Ϟσϧͷ൚ԽੑೳΛ্ͤ͞Δ͜ͱ͕ࠔʹͳΔ• ࣍ݩͷগͳ͍୯७ͳಛྔͰߦಈͷมԽΛݕग़Ͱ͖Δ͜ͱ͕·͍͠8՝ᶃมԽݕग़ʹ༻͍Δ͖ಛྔ͕ະ
• طଘݚڀʹ͓͚ΔʮϢʔβʔͷతʹରԠ͢ΔӾཡύλʔϯͷྨʯ(*1,2)• ॳظஈ֊ɿΧςΰϦʔϖʔδͱϖʔδΛଟ͘Ӿཡ͢Δ• ߪങͷલɿগͷϖʔδʹӾཡ͕ूத͢Δ• Ϣʔβʔ͝ͱͷ͋ΔظؒͷʮӾཡճʯͱʮͷछྨͷʯ࣍ݩͷগͳ͍ಛྔʹͳΓ͏Δ*1 Moe, W.W.: Buying, searching, or browsing: Differentiating between online shoppers using in-store navigational clickstream, Journal of ConsumerPsychology, Vol.13, Is-sues 1-2, pp.113-123 (2003).*2 Οϥϫϯɾυχɾμϋφ:ใ୳ࡧͷతΛߟྀͨ͠ߪങܾఆϞσϧ,ϚʔέςΟϯάɾαΠΤϯε, Vol.25, No.1,pp.15-35 (2017).9طଘݚڀ͔Βͷಛྔͷީิ
• Ϣʔβʔ͝ͱͷ͋ΔظؒͷʮӾཡʯͱʮͷछྨͷʯECαΠτϢʔβʔ͝ͱʹಛྔͷ͕औΔൣғʹࠩҟ͕͋Δ• શͯͷϢʔβʔʹֶ͍ͭͯशσʔλΛ४උ͢Δ͜ͱࠔ• ֶशෆཁͳΞϓϩʔνͰߦಈͷมԽΛݕग़͢Δ10՝ᶄڥ͝ͱʹಛྔͷ͕औΔൣғʹࠩҟ͕͋Δ
3.ఏҊख๏
• ᶃߪങʹܨ͕ΔߦಈͷมԽݕग़ʹ༻͍Δ͖ಛྔ͕ະ• ࣍ݩͷগͳ͍୯७ͳಛྔͰߦಈͷมԽΛݕग़Ͱ͖Δ͜ͱ͕·͍͠• ᶄڥ͝ͱʹಛྔͷ͕औΔൣғʹࠩҟ͕͋Γֶशσʔλͷ४උ͕ࠔ• ֶशෆཁͳΞϓϩʔνͰߦಈͷมԽΛݕग़͢Δ12՝ͷཧ
• ECαΠτͷγεςϜͷదԠతͳมԽΛ࣮ݱ͢ΔͨΊʹɼϢʔβʔ͕ԿΒ͔ͷߦಈΛऔͬͨޙʹมԽΛݕग़͍ͨ͠• ᶃ࣍ݩͷগͳ͍୯७ͳಛྔΛ༻͍ͯᶄֶशෆཁͳΞϓϩʔνͰߪങʹܨ͕ΔߦಈͷมԽݕग़Λߦ͏• ᶃͷӾཡճʹର͢Δͷଐੑͷछྨͷൺ• ઌߦݚڀΑΓɼ͜ͷߪങʹ͚ͯখ͘͞ͳΔͱԾఆ• ᶄ౷ܭతԾઆݕఆʹΑΔฏۉͷࠩͷݕఆ13ఏҊख๏
• ͷӾཡճʹର͢Δͷଐੑͷछྨͷൺ• Ϣʔβʔ ͷߦಈཤྺ• ʹӾཡ ݕࡧ ͳͲ͕͋Δ• ͷҙͷҐஔͷΟϯυ Λߟ͑Δ• ୠ͠ɼΟϯυαΠζ ͱ ͔ͭ Λຬͨ͢࠷খͷࣗવ Λ༻͍ͯu Su= (a1, a2, …, al)a aview asearchSuWu(t) = (a′1, a′2, a′3, …, at)w 1 < n < w t − w + n > 0 na′1= at−w+na′2= at−w+n+1a′3= at−w+n+214ಛྔͷఆٛᶃ
• ͷӾཡճʹର͢Δͷଐੑͷछྨͷൺ• ͷҙͷҐஔͷΟϯυ ʹ͓͚Δ• ͷଐੑ ͷछྨʹؔ͢Δू߹ Λ༻͍ͯಛྔ• ͕খ͍͞΄Ͳߪങʹ͔͍ͬͯΔSuWu(t) = (a′1, a′2, a′3, …, at)aview ͷରͱͳͬͨͷଐੑ attr ͷछྨͷӾཡ aview ͷճattr rattr(Wu(t)) =||count(aview)15ಛྔͷఆٛᶄ
• Ϣʔβʔɹͷߦಈཤྺ• ͰͷIDʹؔ͢Δಛྔ• ͱ ͷରͷID=1ɼ ͷରͷID=2ͱ͢ΔͱSu= (asearch1, aview2, aview3, asearch4, aview5, aview6, aview7, aview8, aview9, apurchase10)Wu(5) = (asearch1, aview2, aview3, asearch4, aview5)aview2aview3aview5rID(Wu(5)) =||count(aview)=2316ಛྔͷྫu Wu(5)
• ಛྔͷਪҠͷΟϯυ Λߟ͑Δ• ୠ͠ɼΟϯυαΠζ ͱ ͔ͭ Λຬͨ͢࠷খͷࣗવ Λ༻͍ͯ(*)• ΛҙͷͰೋͨ͠Οϯυ ͱ ʹରͯ͠౷ܭతԾઆݕఆʹΑΔฏۉͷࠩͷݕఆΛద༻• ༗ҙਫ४ Ͱ༗ҙࠩ͋Γͱݟͳͨ͠߹ʹ ͷ࠷ॳͷཁૉΛมԽͱݟͳ͢* r' ΛٻΊΔࣜΛݚڀใࠂͷ͔࣌Βमਖ਼͍ͯ͠·͢W′u(t) = (r′1, r′2, r′3, …, rattr(Wu(t)))w′ 1 < m < w′ t − w′ + m > 0 mr′1= rattr(Wu(t − w′ + m))r′2= rattr(Wu(t − w′ + m + 1))r′3= rattr(Wu(t − w′ + m + 2))W′u(t) W′1W′2s W′217ಛྔͷਪҠΛ༻͍ͨมԽݕग़ͷఆٛᶃ
• ౷ܭతԾઆݕఆʹΑΔฏۉͷࠩͷݕఆʹ Welch ͷ ݕఆΛ༻͍Δ• Student ͷ ݕఆͷվྑ• ࢄ͕͍͜͠ͱΛԾఆ͠ͳ͍• ͷΈʹରԠ͕Մೳ• ඪຊͷࢄ͕͘͠ͳ͍߹ʹൣʹରԠ͠͏Δtt18ಛྔͷਪҠΛ༻͍ͨมԽݕग़ͷఆٛᶄ
• ͷͱ͖ͷ֤ʹ Welch ͷ ݕఆΛద༻• ͱ ͷͰ༗ҙࠩ͋Γͱݟͳͨ͠߹ͷ࣌ࠁ ΛมԽͱݟͳ͢W′u(t) = (r′1, r′2, r′3, r′4, r′5)W′1= (r′1) W′2= (r′2, r′3, r′4, r′5)W′1= (r′1, r′2) W′2= (r′3, r′4, r′5)W′1= (r′1, r′2, r′3) W′2= (r′4, r′5)W′1= (r′1, r′2, r′3, r′4) W′2= (r′5)tW′1= (r′1, r′2) W′2= (r′3, r′4, r′5)r′3= rattr(Wu(t − w′ + m + 2)) t19ಛྔͷਪҠΛ༻͍ͨมԽݕग़ͷྫ
4.࣮ݧͱߟ
• ࣮ࡍͷECαΠτͷӾཡཤྺʹ͓͚ΔఏҊख๏ͷ༗ޮੑͷݕূ• GMOϖύϘגࣜձࣾͷӡӦ͢ΔECαΠτʮminneʯͷӾཡཤྺʹద༻ͨ͠1. ϋΠύʔύϥϝʔλͷݕ౼2. ఏҊख๏ʹదͨ͠࡞ଐੑͷߟ3. ݸผͷϢʔβʔʹର͢ΔมԽݕग़ͷ݁Ռͷ֬ೝ• ECαΠτͷߦಈੳʹ༻͍ΒΕΔӅΕϚϧίϑϞσϧͱͷਫ਼ͷൺֱ• ܭࢉ࣌ؒͷ֬ೝ࣮ݧͷతͱํ๏21
• ECαΠτʮminneʯͷϓϩμΫγϣϯڥʹ͓͚ΔӾཡཤྺ• 20203݄10͔࣌Β24࣌·Ͱͷσʔλ• Ӿཡཤྺ ͷܥྻ ͷ 96,984 Ϣʔβʔ• ൺֱͷͨΊߪങΛߦͬͨϢʔβʔͱߦΘͳ͔ͬͨϢʔβʔʹׂ• ࡞ʹඥͮ͘4ͭͷଐੑͰ࣮ݧ• ࡞IDɼ࡞ͷग़ऀIDɼ࡞ͷΧςΰϦάϧʔϓɼ࡞ͷΧςΰϦSul ≥ 6σʔληοτ22
• ΧςΰϦάϧʔϓ• ྫʣʮϑΝογϣϯʯΧςΰϦάϧʔϓͷΧςΰϦ• TγϟπɼϫϯϐʔεɼτοϓεɼίʔτɼεΧʔτ ͳͲ࡞ଐੑ - ࡞ͷΧςΰϦάϧʔϓͱΧςΰϦ23
ϋΠύʔύϥϝʔλͷݕ౼• Ӿཡཤྺ͔ΒಛྔͷΛٻΊΔࡍͷΟϯυͷ෯ Λ {5,10} Ͱ࣮ݧ• ಛྔͷͷมԽΛݕग़͢ΔࡍͷΟϯυͷ෯ Λ {3,5} Ͱ࣮ݧ• ߪങϢʔβʔʹؔͯ͠ΑΓଟ͘ͷมԽΛݕग़͠ɼඇߪങϢʔβʔʹؔͯ͠গͳ͍มԽΛݕग़ͨ͠ ͱ ΛҎ߱ͷ࣮ݧʹ༻͍ͨ• ༗ҙਫ४• ׳ྫతͳͱͯ͠ Λ༻͍ͨww′w = 10 w′ = 5ss = 0.0524
• ࡞ଐੑ͝ͱͷಛྔͷͷਪҠΛശͻ͛ਤͰ֬ೝ• ྫఏҊख๏ʹద͢Δ࡞ଐੑͷߟ25• ԣ࣠ɿ࣌ܥྻ• ॎ࣠ɿಛྔͷ• ശͷ্ɿୈࡾ࢛Ґ• ശͷԼɿୈҰ࢛Ґ• ശͷதͷԣઢɿதԝ• ͻ͛ͷ্ɿୈࡾ࢛Ґʴ࢛Ґൣғͷ1.5ഒ• ͻ͛ͷԼɿୈҰ࢛Ґ−࢛Ґൣғͷ1.5ഒ• ͻ͛ͷ্Լͷɿ֎Ε• ͍ॎઢɿதԝʹରͯ͠ఏҊख๏Λద༻ͯ͠ݕग़ͨ͠มԽ
ఏҊख๏ʹద͢Δ࡞ଐੑߪങϢʔβʔ ඇߪങϢʔβʔ࡞*%࡞ͷग़ऀ*%26• ߪങϢʔβʔɿಛྔͷ͕Լ͕ΔʹมԽΛݕग़• ඇߪങϢʔβʔɿ΄΅มԽΛݕग़͍ͯ͠ͳ͍ʢߦಈͷॳظಛྔͷͷมಈ͕େ͖͍ͨΊ1Օॴݕग़ʣ➡ ఏҊख๏ͷಛྔʹ༻͍Δ࡞ଐੑͱͯ͠ద͍ͯ͠Δ
ఏҊख๏ʹద͞ͳ͍࡞ଐੑߪങϢʔβʔ ඇߪങϢʔβʔ࡞ͷΧςΰϦάϧʔϓ࡞ͷΧςΰϦ27• ߪങϢʔβʔͱඇߪങϢʔβʔͷ྆ํͰ࣌ܥྻͷॳظʹಛྔͷ͕Լ͕ΓɼͦͷޙมԽ͠ͳ͘ͳΔ• minne ͰΧςΰϦͷߜΓࠐΈ͕ߪങͷ༗ແͱؔͳ͘ߦಈͷॳظʹߦΘΕΔ➡ ఏҊख๏ͷಛྔʹ༻͍Δ࡞ଐੑͱͯ͠ద͍ͯ͠ͳ͍
ӅΕϚϧίϑϞσϧʢHMMʣͱͷൺֱᶃ• ݸผͷϢʔβʔʹର͢Δਫ਼ͷݕ౼• Ϟσϧͷग़ྗΛ༧ଌϥϕϧʮߪങϢʔβʔʯʹϚοϐϯά͢Δ• ఏҊख๏ɿมԽΛݕग़ͨ͠߹• HMMɿӅΕঢ়ଶ2ͷ͏ͪಛྔͷͷฏۉ͕͍ঢ়ଶʹભҠͨ͠߹• HMMͷϞσϧͷߏஙͷͨΊσʔληοτΛ9:1ʹׂ• ܇࿅σʔλɿ87,285Ϣʔβʔ• ςετσʔλɿ9,523Ϣʔβʔ28
ӅΕϚϧίϑϞσϧʢHMMʣͱͷൺֱᶄ• ఏҊख๏ΑΓHMMͷํ͕ੵۃతʹʮߪങϢʔβʔʯͷϥϕϧΛ͚ͨ࡞IDΛಛྔʹ༻͍ͨ߹ͷࠞಉߦྻ ਖ਼ղϥϕϧߪങ ඇߪങ༧ଌϥϕϧఏҊख๏ߪങ 526 4551ඇߪങ 201 4245HMMߪങ 662 5571ඇߪങ 65 3225࡞ͷग़ऀIDΛಛྔʹ༻͍ͨ߹ͷࠞಉߦྻ ਖ਼ղϥϕϧߪങ ඇߪങ༧ଌϥϕϧఏҊख๏ߪങ 483 5719ඇߪങ 244 3077HMMߪങ 679 7047ඇߪങ 48 174929
ӅΕϚϧίϑϞσϧʢHMMʣͱͷൺֱᶅ• ఏҊख๏• ਅͷඇߪങϢʔβʔʹର͢Δਫ਼͕ߴ͍• ِཅੑʹରِͯ͠ӄੑ͕͍• ߪങʹܨ͕ΔϢʔβʔͷߦಈͷมԽݕग़ͷతʹԊ͍ͬͯΔ• HMM• ਅͷߪങϢʔβʔʹର͢Δਫ਼͕ߴ͍• ʮߪങ͠ͳ͔ͬͨʯʹϚοϐϯά͞ΕΔӅΕঢ়ଶͷ͕ฏۉ1.0ɼඪ४ภࠩ1.16*10−8ͱͳ͓ͬͯΓɼ͔ᷮͰಛྔͷ͕ݮগ͢Δͱʮߪങͨ͠ʯӅΕঢ়ଶʹભҠ͍ͯͨ͠30
ܭࢉ࣌ؒ• 3.1GHz ΫΞουίΞ Intel Core i7 Λར༻͢ΔධՁڥʹ͓͍ͯɼΟϯυ ͋ͨΓͷܭࢉ࣌ؒ1.71ϛϦඵʙ1.75ϛϦඵ• ΣϒαΠτͷಡΈࠐΈ࣌ؒ1,000ϛϦඵະຬ͕·͍͠ͱ͞Ε͓ͯΓɼఏҊख๏ʹΑΔมԽݕग़ʹֻ͔Δ࣌ؒेʹখ͍͞W′u(t)31
5.·ͱΊͱࠓޙ
·ͱΊ• ߪങʹܨ͕ΔϢʔβʔͷߦಈͷมԽݕग़• Ӿཡཤྺ͔ΒಛྔΛ࡞ͯ͠౷ܭతԾઆݕఆʹΑͬͯมԽݕग़Λߦ͏• ࣮ࡍͷECαΠτͷσʔλΛ༻͍ͯಛྔʹ༻͍Δଐੑͷݕ౼ͱਫ਼͓Αͼܭࢉ࣌ؒͷ֬ೝΛߦͬͨ• HMMͱͷൺֱͰඇߪങϢʔβʔʹؔ͢Δਫ਼ʹ্ؔͯ͠ճΓɼࣄલͷֶश͕ෆཁ33
ࠓޙʹ͍ͭͯ• ఏҊख๏ͷਫ਼ͷվળ• ಛྔͷ͕มԽ͢Δࡍͷਖ਼ෛํͷϞσϧͷΈࠐΈ• ಛྔͷͷมಈ͕େ͖͍ظؒͷআ֎ͳͲ• ܭࢉ࣌ؒͷॖ• มԽݕग़ʹ༻͍ΔΟϯυΛ֤ཁૉͰׂͤͣҰՕॴͰׂ͢Δ• খඪຊʹରͯ͠ؤ݈ͳ౷ܭతԾઆݕఆͷख๏ͷݕ౼34