Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

ジョブマッチングサービスにおける相互推薦システムの応用事例と課題

Shuhei Goda
November 07, 2024

 ジョブマッチングサービスにおける相互推薦システムの応用事例と課題

第27回情報論的学習理論ワークショップ (IBIS2024)
企画セッション3:ビジネスと機械学習
https://ibisml.org/ibis2024/os/

Shuhei Goda

November 07, 2024
Tweet

More Decks by Shuhei Goda

Other Decks in Technology

Transcript

  1. © 2024 Wantedly, Inc. δϣϒϚονϯάαʔϏεʹ͓͚Δ 
 ૬ޓਪનγεςϜͷԠ༻ࣄྫͱ՝୊ Nov. 7 2024

    - Shuhei Goda ୈ27ճ৘ใ࿦తֶशཧ࿦ϫʔΫγϣοϓ (IBIS2024) اըηογϣϯ3ɿϏδωεͱػցֶश
  2. © 2024 Wantedly, Inc. ໊લɿ 
 ߹ా पฏ Shuhei Goda

    ॴଐͱ໾ׂɿ 
 ΢ΥϯςουϦʔגࣜձࣾ 
 ɾData Team Manager 
 ɾMachine Learning Tech Lead 
 ɾProduct Manager 
 
 Kaggle Tierɿ 
 Kaggle Competitions Grandmaster @jy_msc ࣗݾ঺հ https://www.kaggle.com/shuheigoda
  3. © 2024 Wantedly, Inc. iOS, Android and Web ؾܰʹձࣾ๚໰ ϛογϣϯ΍Ձ஋؍΁ͷڞײͰϚονϯά

    • څ༩΍෱རްੜͳͲͷ৚݅Ͱ͸ͳ͘ɺ૝͍͕͋Ε͹ձࣾͷ ن໛ʹͱΒΘΕͳ͍ ·ͣʮ࿩Λฉ͖ʹߦ͘ʯͱ͍͏৽͍͠ମݧ • ݸਓͱاۀ͕ϑϥοτͳ໨ઢͰग़ձ͑Δ͜ͱͰɺΑΓັྗ తͳ৔ॴΛݟ͚ͭΔ͜ͱ͕Մೳʹ ձࣾ๚໰ΞϓϦʮWantedly Visitʯ
  4. © 2024 Wantedly, Inc. 
 ໨తΛୡ੒͢ΔͨΊʹɺ֤ొ৔ਓ෺͸ҎԼͷΑ͏ʹߦಈ͢Δ αʔϏεΛར༻͢Δਓ෺ͷ໨తͱߦಈ ొ৔ਓ෺ αʔϏεΛར༻͢Δ໨త Ϣʔβʔ

    ௅ઓతͰ΍Γ͕͍ͷ͋Δ࢓ࣄʹͭ͘ اۀ ࣗࣾͰ׆༂Ͱ͖ΔਓࡐΛ࠾༻͢Δ ࣗ਎ͷίϯςϯπ Λ࡞੒͢Δ ૬खͷίϯςϯπ ΛӾཡ͢Δ ૬खʹ໘ஊͷػձ Λਃ͠ࠐΉ
  5. © 2024 Wantedly, Inc. ϓϥοτϑΥʔϜߏ଄ʢίϯςϯπʣ Ϣʔβʔ ձࣾһ ෭ۀ ϑϦʔϥϯε ֶੜ

    اۀ ܦӦ૚ ࣾһ ਓࣄ Wantedly Visit ϓϩϑΟʔϧ ࡞੒ Ӿཡ ձࣾϖʔδɾืू ࡞੒ Ӿཡ
  6. © 2024 Wantedly, Inc. ϓϥοτϑΥʔϜߏ଄ʢϚονϯάʣ Ϣʔβʔ ձࣾһ ෭ۀ ϑϦʔϥϯε ֶੜ

    اۀ ܦӦ૚ ࣾһ ਓࣄ Wantedly Visit Ԡื ࿩Λฉ͍ͯΈ͍ͨͰ͢ ͥͻ͓࿩͠·͠ΐ͏ʂ εΧ΢τ ͓࿩͠·ͤΜ͔ʁ ͓࿩Λฉ͔͍ͤͯͩ͘͞
  7. © 2024 Wantedly, Inc. ϓϥοτϑΥʔϜͷ੒௕Ϟσϧʢུ֓ʣ ܧଓɾ෮ؼ ܧଓɾ෮ؼ Ԡื εΧ΢τ ྲྀೖ

    ৽ن • 2-sided marketplaceͰ͋ΓɺاۀͱϢʔβʔͷ྆ํ͕υϥΠόʔ • ྑ࣭ͳίϯςϯπͷ஝ੵɺ଺Γͳ͍Ϛονϯάʢ੒ޭମݧʣ͕ॏཁ
  8. © 2024 Wantedly, Inc. ϓϥοτϑΥʔϜͷ՝୊ - ੒௕ͷϘτϧωοΫ͸Կ͔ 2024೥8݄ظͷొ࿥਺ͱਪҠ 403ສਓ 4.1ສࣾ

    ෳࡶ౓ͷ૿ՃͱͦΕʹ൐͏Ϛονϯάޮ཰ͷ௿Լ Ϣʔβʔ਺૿Ճʹ൐͏՝୊ • ෳࡶ౓ͷ૿Ճ→Ϛονϯάޮ཰ͷ௿Լ 
 →Ϛονϯά૿Ճ཰ͷಷԽ→੒௕ͷఀ଺ϦεΫ Ϛονϯάޮ཰ 
 ͷ௿Լ Ϣʔβʔ਺ Ϛονϯάޮ཰
  9. © 2024 Wantedly, Inc. ϓϥοτϑΥʔϜͷ੒௕ʹඞཁͳऔΓ૊Έ Ϣʔβʔ਺ Ϛονϯάޮ཰ Ϣʔβʔ਺ Ϛονϯάޮ཰ Ϛονϯάޮ཰

    
 Ϛονϯάޮ཰ 
 Ϛονϯάޮ཰͕ߴ͘ҡ࣋͞ΕΔঢ়ଶΛ࡞Γ 
 αʔϏεશମͷ࣋ଓతͳ੒௕Λ࣮ݱ͢Δ Before After
  10. © 2024 Wantedly, Inc. Ϛονϯάޮ཰͕ߴ͘ҡ࣋͞ΕΔঢ়ଶΛͲ͏࣮ݱ͢Δ͔ p(match = 1|c, j) =

    p(exam = 1|c, j) × p(scout = 1|c, j, exam = 1) × p(reply = 1|c, j, scout = 1) اۀ͸ͲͷϢʔβʔΛ 
 ݟΔ͔ اۀʹͱͬͯͦͷϢʔβʔ͸ 
 ັྗతʹײ͡ΒΕΔ͔ Ϣʔβʔʹͱͬͯͦͷืू͸ 
 ັྗతʹײ͡ΒΕΔ͔ ਪનγεςϜͰϢʔβʔɾاۀ૒ํͷίϯςϯπͷදࣔΛ੍ޚ͢Δ • To اۀɿاۀʹͱͬͯັྗతͰɺͦͷاۀͱϚονϯά͠΍͍͢ϢʔβʔΛදࣔ • To ϢʔβʔɿϢʔβʔʹͱͬͯັྗతͰɺͦͷϢʔβʔͱϚονϯά͠΍͍͢ืूΛදࣔ j … Job seeker c … Company ͜͜ʹհೖ͢Δ p(match = 1| j, c) = p(exam = 1| j, c) × p(apply = 1| j, c, exam = 1) × p(reply = 1| j, c, apply = 1) Ϣʔβʔ͸ͲͷاۀΛ 
 ݟΔ͔ Ϣʔβʔʹͱͬͯͦͷืू͸ 
 ັྗతʹײ͡ΒΕΔ͔ اۀʹͱͬͯͦͷϢʔβʔ͸ 
 ັྗతʹײ͡ΒΕΔ͔ εΧ΢τ༝དྷ 
 ͷϚονϯά֬཰ Ԡื༝དྷ 
 ͷϚονϯά֬཰
  11. © 2024 Wantedly, Inc. ղ͘΂͖ػցֶशλεΫ Ϛονϯά਺͕࠷େͱͳΔΑ͏ͳਪનϦετΛ֤ඃਪનऀʹରͯ͠࡞੒͢ΔλεΫ σ* c := argsortj∈

    𝒥 m(c, j) σ* j := argsortc∈ 𝒞 m(c, j) →֤اۀ c ʹͱͬͯཧ૝తͳϥϯΩϯάɺ m(c, j)͸ਅͷϚονϯά֬཰ →֤Ϣʔβʔ j ʹͱͬͯཧ૝తͳϥϯΩϯά • ཧ૝తͳϥϯΩϯά͸ਅͷϚονϯά֬཰ʹґଘ͍ͯ͠Δ͕ɺͦͷ֬཰ͷ஋͸෼͔Βͳ͍ • ֶशσʔλʹج͍ͮͯਪఆͨ͠Ϛονϯά֬཰Λ࢖ͬͯϥϯΩϯάΛ࡞੒͠ɺ࠷దԽΛਤΔ
  12. © 2024 Wantedly, Inc. Ϛονϯά༧ଌͷయܕతΞϓϩʔν ҎԼͷೋछྨʹେผͨ͠৔߹ɺجຊతʹ࢖ΘΕΔͷ͸ Predict-then-Aggregate ͷܗࣜ • Direct

    Match Prediction (DMP) : ؍ଌ͞ΕͨϚονϯάʹج͍ͮͯϚον֬཰Λ༧ଌ͢Δ • Predict-then-Aggregate (PtA) : ૒ํͷબ޷ΛಠཱʹϞσϧԽ͠ɺͦΕΒͷ༧ଌΛू໿͢Δ Direct Match Prediction Predict-then-Aggregate 𝒟 = {(ci , ji , yc→j i , yj→c i )}n i=1 ֶशσʔληοτɿ 𝒟 = {(ci , ji , mi )}n i=1 ؍ଌ͞ΕͨϚονϯά ̂ m = argmin ̂ m′  n ∑ i=1 ℓ( ̂ m′  (ci , ji ), mi ) Ϛονϯά֬཰ͷ 
 ֶशɾ༧ଌɿ ֶशσʔληοτɿ اۀ͕ϢʔβʔʹΞΫγϣϯ͔ͨ͠ Ϣʔβʔ͔ΒΞΫγϣϯ͔͋ͬͨ ̂ pc→j = argmin ̂ p′  n ∑ i=1 ℓ( ̂ p′  (ci , ji ), yc→j i ) اۀ→Ϣʔβʔͷ 
 બ޷֬཰ɿ Ϣʔβʔ→اۀͷ 
 બ޷֬཰ɿ ̂ pj→c = argmin ̂ p′  n ∑ i=1 ℓ( ̂ p′  (ci , ji ), yj→c i ) ̂ m = M( ̂ pc→j, ̂ pj→c) Ϛονϯά֬཰ɿ ଛࣦؔ਺ ू໿ؔ਺ • DMP͸௚઀తͳϚονϯάͷ༧ଌ͕ՄೳͰ͋Δ • ҰํͰϚονͷϥϕϧ͸ඇৗʹεύʔεͰ͋Γɺֶश͕ࠔ೉ • PtA͸ൺֱతີͳೋछྨͷϥϕϧΛͦΕͧΕ༧ଌ͢Δ 
 λεΫʹ෼ׂ͢Δ͜ͱͰɺεύʔεੑͷ໰୊ʹରॲ ※ ؆୯ԽͷͨΊɺҎ߱͸ 
 اۀଆͷέʔεͷΈΛߟ͑Δ
  13. © 2024 Wantedly, Inc. ૬ޓਪનγεςϜ(Reciprocal Recommender Systems) ૬ޓਪનγεςϜͱ͸ʮαʔϏε಺ͷϢʔβʔΛޓ͍ʹਪન͠߹͏γεςϜʯ • ਪનΛड͚औΔϢʔβʔͱਪન͞ΕͨϢʔβʔͷ྆ํ͕ຬ଍ͯ͠ਪન੒ޭͱ͢Δ

    • ૬ޓਪનγεςϜ͸ Predict-then-Aggregate(PtA) ΞϓϩʔνΛ࠾༻͢Δ ઌߦݚڀͷΞϓϩʔν • ίϯςϯπϕʔε [Pizzato+, 2010] • ڠௐϑΟϧλϦϯάϕʔε [Xia+, 2015] [Neve+, 2019] • ϋΠϒϦοτϕʔε [Neve+, 2020] • DLϕʔε [Yıldırım+, 2021] [Luo+, 2020] [Liu+, 2024] ू໿ؔ਺ • 2ͭͷผʑͷ༧ଌΛ૊Έ߹ΘͤΔ໾ׂΛ࣋ͭ • جຊతʹώϡʔϦεςΟοΫͳ΋ͷɻ୯७ੵɺௐ࿨ ฏۉɺزԿฏۉͳͲ [Pizzato+, 2010] [Neve+, 2019] جຊతͳߏ੒ ̂ pa→b Preference Score from a to b M( ̂ pa→b, ̂ pb→a) Aggregation ̂ pb→a Preference Score from b to a ߦಈϩά΍ 
 ଐੑσʔλ 
 ͳͲ
  14. © 2024 Wantedly, Inc. ࣮ݧ݁Ռͷ֓ཁ ϓϩμΫτͷ࣮ࡍͷσʔλΛ࢖࣮ͬͨݧͷ࣮ࢪ • ΦϑϥΠϯɿDMP ͱෳ਺ͷू໿ؔ਺ͷύλʔϯͷ PtA

    Λൺֱɻ૒ํ޲ͷᅂ޷ͷू໿ͷ༗ޮੑΛ֬ೝ • ΦϯϥΠϯɿPtA(Scout-Only)ͱൺֱͨ͠ PtA(Harmonic Mean) ͷੑೳΛݕূɺେ෯ͳKPIͷ޲্Λ֬ೝ ϕʔεϥΠϯ M( ̂ pc→j, ̂ pj→c) = ̂ pc→j • PtA (Scout-Only)ɿ M( ̂ pc→j, ̂ pj→c) = ̂ pj→c • PtA (Reply-Only)ɿ ݕ౼ख๏ M( ̂ pc→j, ̂ pj→c) = ̂ pc→j ⋅ ̂ pj→c • PtA (Multiplication)ɿ M( ̂ pc→j, ̂ pj→c) = 2 ̂ pc→j ⋅ ̂ pj→c ̂ pc→j + ̂ pj→c • PtA (Harmonic Mean)ɿ ΦϑϥΠϯධՁͷҰࣄྫ
  15. © 2024 Wantedly, Inc. ٕज़త՝୊ - ਪનػձͷภΓʹΑΔҰ෦Ϣʔβʔ΁ͷूத ਪનػձͷภΓ͕ੜ͡Δ͜ͱͰɺϓϥοτϑΥʔϜશମͷརӹ(Ϛον૯਺)͕େ͖͘ͳΒͳ͍ • ֤Ϣʔβʔʹ͸ΩϟύγςΟ(Ϛονͷ্ݶ)͕ଘࡏɺͦΕΛ௒͑Δ޷ҙΛ΋Βͬͯ΋ରԠͰ͖ͳ͍

    • ඃਪનػձͷগͳ͍Ϣʔβʔ͸ɺ੒ޭମݧͱͳΔϚονϯάΛ࣮ݱ͢Δػձ͕ݶΒΕͯ͠·͏ • طଘͷ૬ޓਪનγεςϜ͸ݸผͷϚον਺Λ࠷దԽ͠ϥϯΩϯά͝ͱʹಠཱͯ͠ܭࢉ͍ͯ͠ΔͨΊɺਪ નػձͷภΓΛੜͤͯ͡͞͠·͏ શ෦͸ରԠ Ͱ͖ͳ͍… εΧ΢τ͕ དྷͳ͍… ՝୊ʹର͢ΔΞϓϩʔν • ٻ৬ऀ͕اۀ͔ΒͷεΧ΢τʹԠ౴͢Δ֬཰͕ɺ 
 ٻ৬ऀ͕ΑΓଟ͘ͷεΧ΢τΛड͚ΔʹͭΕͯ 
 ݮগ͢ΔՄೳੑΛߟྀ͠ɺϚον૯਺͕࠷େԽ 
 ͞ΕΔΑ͏ϥϯΩϯάΛ࠷దԽ [Su+, 2022] • Ϛονϯάཧ࿦ʹج͖ͮɺ૒ํ޲ͷϢʔβͷᅂ޷ ͚ͩͰͳ͘ΩϟύγςΟΛߟྀͨ͠ू໿Λߦ͏ [Tomita+, 2022]
  16. © 2024 Wantedly, Inc. ٕज़త՝୊ - ૒ํͷᅂ޷ͷू໿ํ๏ ᅂ޷ͷू໿ํ๏͸αʔϏε΍ͦΕΛར༻͢ΔϢʔβʔͷੑ࣭ʹԠͯ͡ઃܭ͢Δඞཁ͕͋Δ • ૒ํͷᅂ޷༧ଌ݁ՌΛͲͷΑ͏ʹू໿͢Δ͔͸ࣗ໌Ͱͳ͍

    • Ұൠతʹɺௐ࿨ฏۉͱ͍ͬͨɺͲͪΒ͔ยํͷείΞ͕௿͍ͱू໿ͨ͠είΞ΋௿͘ͳΔͱ͍͏ੑ࣭ Λ࣋ͭ͜ͱ͕޷·͍͠ͱ͞Ε͍ͯΔ [Palomares+, 2021] [Neve+, 2019] • ׬ᘳʹ֬཰ΛਪఆͰ͖ͨͷͰ͋Ε͹ɺू໿ 
 ؔ਺͸͍Βͳ͍͸ͣ ɻ 
 ֤ଆͷ༧ଌ෼෍ͷζϨΛमਖ਼͢Δ੹຿Λ 
 ू໿ؔ਺͕୲͍ͬͯΔɺͱղऍͰ͖Δɻ ՝୊ʹର͢ΔΞϓϩʔν • ૒ํͷᅂ޷ͷॏΈΛϢʔβʔ͝ͱʹ࠷దԽ͢Δ 
 ख๏ΛఏҊ [Kleinermann+, 2018] ू໿ํ๏ͷ·ͱΊ [Palomares+, 2021]
  17. © 2024 Wantedly, Inc. ٕज़త՝୊ - Ϛονϯάͷεύʔεੑͷରॲ ϚονϯάϓϥοτϑΥʔϜͰ͸Ϛονϯάͱ͍͏৘ใ͕ಘʹ͍͘ಛੑ͕͋Δ • δϣϒϚονϯάͷ৔߹ʮస৬ʯ͕੒ཱ͢Δͱɺ࣍ͷߦಈΛى͜͢·Ͱʹ௕͍͕͔͔࣌ؒΔ

    • ਪનଆͱඃਪનଆͷ૒ํͷ޷ҙͱߦಈ͕߹கͯ͠ॳΊͯϚονϯά͕੒ཱ͢Δ • Ϛονϯάͷ༧ଌਫ਼౓Λ্͛ΔͨΊʹɺͲͷΑ͏ͳ৘ใΛͲ͏ѻ͏΂͖͔͕՝୊ͱͳΔ ՝୊ʹର͢ΔΞϓϩʔν • ஌ࣝάϥϑ͔ΒϝλύεΛநग़ͯ͠Ϛονϯάͷ ϞσϦϯάʹऔΓೖΕΔ͜ͱͰɺΠϯλϥΫγϣ ϯ͚ͩͰͳ͘ίϯςϯπ৘ใΛ༗ޮతʹ׆༻͢Δ [Lai+, 2024]
  18. © 2024 Wantedly, Inc. ݚڀ։ൃ - Ϛον༧ଌਫ਼౓ͷ޲্ • ϚονϥϕϧΛֶश͢Δ௚઀తͳΞϓϩʔν͕ͩɺ 


    Ϛονϥϕϧͷۃ౓ͳεύʔεੑ͕໰୊ͱͳΓɺ 
 ੑೳͷߴ͍ϞσϧΛ࡞Εͳ͍ →ΞΠσΞɿҟͳΔੑ࣭Λ࣋ͭ2छྨͷ৘ใΛޮՌతʹ૊Έ߹Θͤͯɺີ౓ͱਫ਼౓ͷʮ͍͍ͱ ͜औΓʯΛ࣮ݱ͢Δ Predict-then-Aggregate(PtA)ͷ՝୊ Direct Match Prediction(DMP)ͷ՝୊ • Ϛονϯάͱ͍͏ϞσϧԽΛɺಠཱͨ͠2छྨͷϞσ ϧʹ෼ׂ͢Δ͜ͱʹΑͬͯ໰୊͕ੜ͡Δ • σʔλ΍λεΫͷੑ࣭ʹ߹Θͤͨू໿ؔ਺Λద੾ʹઃ ܭ͠ͳ͍ͱύϑΥʔϚϯε͕ෆे෼ • ֤Ϟσϧͷ༧ଌޡࠩͷ܏޲͕࠷ऴతͳϥϯΩϯάύ ϑΥʔϚϯεʹӨڹ͢Δ छྨ ਫ਼౓ ີ౓ ਅͷϚονϥϕϧ ਖ਼֬ ↑ ૄ ↓ Ϛον༧ଌ஋ ൺֱతෆਖ਼֬ ↓ ີ ↑ S. Goda, Y. Hayashi, Y. Saito, A Best-of-Both Approach to Improve Match Predictions and Reciprocal Recommendations for Job Search. arXiv preprint arXiv:2409.10992 (2024).
  19. © 2024 Wantedly, Inc. ݚڀ։ൃ - Ϛον༧ଌਫ਼౓ͷ޲্ ఏҊख๏ spseudo (c,

    j; αc,j ) = αc,j ⋅ m(c, j) + (1 − αc,j ) ⋅ ̂ pc→j ⋅ ̂ pj→c ਅͷϚονϥϕϧͱϚον༧ଌ஋Λ૊Έ߹Θͤͨ 
 Pseudo Match Scores Λੜ੒͠ɺϝλϞσϧΛֶश ਅͷϚονϥϕϧ Ϛον༧ଌ஋ ̂ f = argminf′  ∑ (c,j) ℓ( f′  (c, j), spseudo (c, j; α)) ΦϑϥΠϯධՁ݁Ռ • ϝλϞσϧΛ࢖༻͢Δ͜ͱͰɺैདྷͷPtAͷू໿ϑΣʔζͰ 
 ൃੜ͢ΔΤϥʔ఻೻ͷӨڹΛ௿ݮ͍ͯ͠ΔՄೳੑ͕͋Δ • ҟͳΔείΞ৘ใΛ૊Έ߹ΘͤΔ͜ͱʹΑͬͯɺΞϯαϯϒϧ 
 తͳޮՌ͕ಘΒΕ͍ͯΔՄೳੑ͕͋Δ ղऍ S. Goda, Y. Hayashi, Y. Saito, A Best-of-Both Approach to Improve Match Predictions and Reciprocal Recommendations for Job Search. arXiv preprint arXiv:2409.10992 (2024).