Jinsi Yandex.Taxi hutafuta magari wakati hakuna

Jinsi Yandex.Taxi hutafuta magari wakati hakuna

Huduma nzuri ya teksi inapaswa kuwa salama, ya kuaminika na ya haraka. Mtumiaji hataingia kwa maelezo: ni muhimu kwake kubofya kitufe cha "Agizo" na kupokea gari haraka iwezekanavyo ambayo itamchukua kutoka kwa uhakika A hadi B. Ikiwa hakuna magari karibu, huduma inapaswa mara moja taarifa kuhusu hili ili mteja hana kulikuwa na matarajio ya uongo. Lakini ikiwa ishara ya "Hakuna magari" inaonekana mara nyingi sana, basi ni busara kwamba mtu ataacha tu kutumia huduma hii na kwenda kwa mshindani.

Katika makala hii nataka kuzungumza juu ya jinsi, kwa kutumia kujifunza mashine, tulitatua tatizo la kutafuta magari katika maeneo ya chini ya wiani (kwa maneno mengine, ambapo, kwa mtazamo wa kwanza, hakuna magari). Na nini kilikuja kutoka kwake.

kabla ya historia

Kuita teksi, mtumiaji hufanya hatua chache rahisi, lakini nini kinatokea ndani ya huduma?

Mtumiaji Hatua Nyuma ya Yandex.Taxi
Huchagua mahali pa kuanzia Pini Tunazindua utafutaji uliorahisishwa wa wagombeaji - utaftaji wa pini. Kulingana na madereva yaliyopatikana, wakati wa kuwasili unatabiriwa - ETA kwenye pini. Mgawo unaoongezeka katika hatua fulani huhesabiwa.
Huchagua unakoenda, nauli, mahitaji Toa Tunaunda njia na kuhesabu bei kwa ushuru wote, kwa kuzingatia mgawo unaoongezeka.
Bonyeza kitufe cha "Piga Teksi". Agizo Tunazindua utafutaji kamili wa gari. Tunachagua dereva anayefaa zaidi na kumpa agizo.

juu ya ETA kwenye pini, hesabu ya bei ΠΈ kuchagua dereva anayefaa zaidi tayari tumeandika. Na hii ni hadithi kuhusu kutafuta madereva. Wakati agizo limeundwa, utaftaji hufanyika mara mbili: kwenye Pini na kwa agizo. Utafutaji wa amri unafanyika katika hatua mbili: kuajiri wagombea na cheo. Kwanza, madereva wanaopatikana wanapatikana ambao wako karibu na grafu ya barabara. Kisha bonuses na kuchuja hutumiwa. Wagombea waliosalia wameorodheshwa na mshindi hupokea ofa ya agizo. Ikiwa anakubali, anapewa amri na huenda kwenye hatua ya kujifungua. Ikiwa anakataa, basi ofa inakuja kwa inayofuata. Ikiwa hakuna wagombeaji zaidi, utafutaji utaanza tena. Hii hudumu si zaidi ya dakika tatu, baada ya hapo amri hiyo inafutwa na kuchomwa moto.

Kutafuta kwenye Pini ni sawa na kutafuta kwa amri, tu utaratibu haujaundwa na utafutaji yenyewe unafanywa mara moja tu. Mipangilio iliyorahisishwa ya idadi ya watahiniwa na eneo la utaftaji pia hutumiwa. Urahisishaji kama huo ni muhimu kwa sababu kuna mpangilio wa pini zaidi kuliko maagizo, na kutafuta ni operesheni ngumu sana. Jambo kuu la hadithi yetu: ikiwa wakati wa utafutaji wa awali hakuna wagombea wanaofaa waliopatikana kwenye Pin, basi hatukuruhusu kuweka agizo. Angalau ndivyo ilivyokuwa zamani.

Hivi ndivyo mtumiaji aliona kwenye programu:

Jinsi Yandex.Taxi hutafuta magari wakati hakuna

Tafuta magari bila magari

Siku moja tulikuja na nadharia: labda katika hali zingine agizo bado linaweza kukamilika, hata ikiwa hakukuwa na magari kwenye pini. Baada ya yote, muda fulani hupita kati ya pini na utaratibu, na utafutaji wa utaratibu ni kamili zaidi na wakati mwingine hurudiwa mara kadhaa: wakati huu, madereva inapatikana yanaweza kuonekana. Pia tulijua kinyume chake: ikiwa madereva walipatikana kwenye pini, haikuwa ukweli kwamba wangepatikana wakati wa kuagiza. Wakati mwingine hupotea au kila mtu anakataa agizo.

Ili kujaribu nadharia hii, tulianzisha jaribio: tuliacha kuangalia uwepo wa magari wakati wa utafutaji kwenye Pin kwa kikundi cha watumiaji wanaojaribu, yaani, walipata fursa ya "kuagiza bila magari." Matokeo yalikuwa yasiyotarajiwa kabisa: ikiwa gari halikuwa kwenye pini, basi katika 29% ya kesi ilipatikana baadaye - wakati wa kutafuta kwa amri! Zaidi ya hayo, maagizo bila magari hayakuwa tofauti sana na maagizo ya kawaida katika suala la viwango vya kughairi, ukadiriaji na viashirio vingine vya ubora. Uhifadhi bila magari ulichangia 5% ya nafasi zote, lakini zaidi ya 1% ya safari zote zilizofaulu.

Ili kuelewa ni wapi watekelezaji wa maagizo haya wanatoka, hebu tuangalie hali zao wakati wa utafutaji kwenye Pin:

Jinsi Yandex.Taxi hutafuta magari wakati hakuna

  • Inapatikana: ilipatikana, lakini kwa sababu fulani haikujumuishwa katika wagombea, kwa mfano, alikuwa mbali sana;
  • Kwa agizo: alikuwa na shughuli nyingi, lakini aliweza kujikomboa au kupatikana utaratibu wa mnyororo;
  • Ana shughuli nyingi: uwezo wa kukubali maagizo ulizimwa, lakini kisha dereva akarudi kwenye mstari;
  • Haipatikani: dereva hakuwa mtandaoni, lakini alionekana.

Wacha tuongeze kuegemea

Maagizo ya ziada ni mazuri, lakini 29% ya utafutaji uliofaulu inamaanisha kuwa 71% ya muda ambao mtumiaji alisubiri kwa muda mrefu na kuishia kwenda popote. Ingawa hili si jambo baya kutokana na mtazamo wa ufanisi wa mfumo, kwa kweli huwapa mtumiaji matumaini ya uwongo na kupoteza muda, baada ya hapo hukasirika na (ikiwezekana) kuacha kutumia huduma. Ili kutatua tatizo hili, tulijifunza kutabiri uwezekano kwamba gari kwa utaratibu litapatikana.

Mpango ni kama hii:

  • Mtumiaji anaweka pini.
  • Utafutaji unafanywa kwenye pini.
  • Ikiwa hakuna magari, tunatabiri: labda wataonekana.
  • Na kulingana na uwezekano, tunaruhusu au hatukuruhusu kuweka amri, lakini tunakuonya kwamba wiani wa magari katika eneo hili kwa wakati huu ni mdogo.

Katika maombi ilionekana kama hii:

Jinsi Yandex.Taxi hutafuta magari wakati hakuna

Kutumia mfano hukuruhusu kuunda maagizo mapya kwa usahihi zaidi na usiwahakikishie watu bure. Hiyo ni, kudhibiti uwiano wa kuegemea na idadi ya maagizo bila mashine kwa kutumia mfano wa kukumbuka kwa usahihi. Kuegemea kwa huduma huathiri hamu ya kuendelea kutumia bidhaa, i.e. mwishowe yote inakuja kwa idadi ya safari.

Kidogo kuhusu usahihi-kumbukaMojawapo ya kazi za msingi katika kujifunza kwa mashine ni kazi ya uainishaji: kugawa kitu kwa moja ya madarasa mawili. Katika kesi hii, matokeo ya algorithm ya kujifunza mashine mara nyingi inakuwa tathmini ya nambari ya uanachama katika moja ya madarasa, kwa mfano, tathmini ya uwezekano. Hata hivyo, vitendo vinavyofanywa kwa kawaida ni vya binary: ikiwa gari linapatikana, basi tutakuwezesha kuagiza, na ikiwa sio, basi hatuwezi. Ili kuwa mahususi, hebu tuite algorithm ambayo hutoa makadirio ya nambari kuwa mfano, na kiainishaji sheria ambayo huiweka kwa moja ya madarasa mawili (1 au -1). Ili kufanya kiainishaji kulingana na tathmini ya mfano, unahitaji kuchagua kizingiti cha tathmini. Jinsi hasa inategemea sana kazi.

Tuseme tunafanya mtihani (kiainisha) kwa ugonjwa fulani adimu na hatari. Kulingana na matokeo ya mtihani, tunaweza kumtuma mgonjwa kwa uchunguzi wa kina zaidi, au kusema: "Sawa, nenda nyumbani." Kwetu sisi, kumtuma mgonjwa nyumbani ni mbaya zaidi kuliko kumchunguza mtu mwenye afya bila sababu. Hiyo ni, tunataka mtihani ufanye kazi kwa wagonjwa wengi iwezekanavyo. Thamani hii inaitwa kukumbuka =Jinsi Yandex.Taxi hutafuta magari wakati hakuna. Kiainishi bora kina kumbukumbu ya 100%. Hali ya kuzorota ni kutuma kila mtu kwa uchunguzi, basi kukumbuka pia itakuwa 100%.

Pia hutokea kwa njia nyingine kote. Kwa mfano, tunatengeneza mfumo wa kuwapima wanafunzi, na una kigunduzi cha kudanganya. Ikiwa ghafla hundi haifanyi kazi kwa baadhi ya matukio ya kudanganya, basi hii haipendezi, lakini sio muhimu. Kwa upande mwingine, ni mbaya sana kuwashutumu wanafunzi isivyo haki kwa jambo ambalo hawakufanya. Hiyo ni, ni muhimu kwetu kwamba kati ya majibu mazuri ya darasani kuna mengi sahihi iwezekanavyo, labda kwa uharibifu wa idadi yao. Hii ina maana kwamba unahitaji kuongeza usahihi = Jinsi Yandex.Taxi hutafuta magari wakati hakuna. Ikiwa kuchochea hutokea kwenye vitu vyote, basi usahihi utakuwa sawa na mzunguko wa darasa lililofafanuliwa kwenye sampuli.

Ikiwa algorithm hutoa thamani ya uwezekano wa nambari, basi kwa kuchagua vizingiti tofauti, unaweza kufikia maadili tofauti ya kukumbuka kwa usahihi.

Katika shida yetu hali ni kama ifuatavyo. Kumbuka ni idadi ya maagizo tunayoweza kutoa, usahihi ni kuegemea kwa maagizo haya. Hivi ndivyo curve ya kukumbuka kwa usahihi ya mfano wetu inaonekana kama:
Jinsi Yandex.Taxi hutafuta magari wakati hakuna
Kuna matukio mawili makubwa: usiruhusu mtu yeyote kuagiza na kuruhusu kila mtu kuagiza. Ikiwa hauruhusu mtu yeyote, basi kukumbuka itakuwa 0: hatuunda maagizo, lakini hakuna hata mmoja wao atakayeshindwa. Ikiwa tunaruhusu kila mtu, basi kukumbuka itakuwa 100% (tutapokea maagizo yote iwezekanavyo), na usahihi utakuwa 29%, yaani 71% ya maagizo itakuwa mbaya.

Tulitumia vigezo mbalimbali vya mahali pa kuanzia kama ishara:

  • Wakati/mahali.
  • Hali ya mfumo (idadi ya mashine zilizochukuliwa za ushuru na pini zote zilizo karibu).
  • Vigezo vya utafutaji (radius, idadi ya wagombea, vikwazo).

Zaidi kuhusu ishara

Kwa dhana, tunataka kutofautisha kati ya hali mbili:

  • "Msitu wa kina" - hakuna magari hapa kwa wakati huu.
  • "Bahati mbaya" - kuna magari, lakini wakati wa kutafuta, hakukuwa na yoyote inayofaa.

Mfano mmoja wa "Bahati mbaya" ni ikiwa kuna mahitaji mengi katika kituo hicho Ijumaa jioni. Kuna maagizo mengi, watu wengi tayari, na madereva haitoshi kwa kila mtu. Inaweza kugeuka kama hii: hakuna madereva wanaofaa kwenye pini. Lakini kwa kweli ndani ya sekunde wanaonekana, kwa sababu kwa wakati huu kuna madereva mengi mahali hapa na hali yao inabadilika kila wakati.

Kwa hivyo, viashiria anuwai vya mfumo karibu na uhakika A viligeuka kuwa sifa nzuri:

  • Jumla ya idadi ya magari.
  • Idadi ya magari kwa utaratibu.
  • Idadi ya magari ambayo hayapatikani kwa ajili ya kuagizwa katika hali ya "Busy".
  • Idadi ya watumiaji.

Baada ya yote, magari mengi zaidi, kuna uwezekano mkubwa zaidi kwamba moja yao itapatikana.
Kwa kweli, ni muhimu kwetu kwamba sio magari tu iko, lakini pia safari za mafanikio zinafanywa. Kwa hiyo, iliwezekana kutabiri uwezekano wa safari yenye mafanikio. Lakini tuliamua kutofanya hivi, kwa sababu thamani hii inategemea sana mtumiaji na dereva.

Algorithm ya mafunzo ya mfano ilikuwa CatBoost. Data iliyopatikana kutoka kwa jaribio ilitumika kwa mafunzo. Baada ya utekelezaji, data ya mafunzo ilipaswa kukusanywa, wakati mwingine kuruhusu idadi ndogo ya watumiaji kuagiza dhidi ya uamuzi wa mfano.

Matokeo ya

Matokeo ya jaribio yalikuwa kama inavyotarajiwa: kutumia mfano hukuruhusu kuongeza kwa kiasi kikubwa idadi ya safari zilizofanikiwa kwa sababu ya maagizo bila magari, lakini bila kuhatarisha kuegemea.

Kwa sasa, utaratibu umezinduliwa katika miji na nchi zote na kwa msaada wake, karibu 1% ya safari za mafanikio hutokea. Aidha, katika baadhi ya miji yenye msongamano mdogo wa magari, sehemu ya safari hizo hufikia 15%.

Machapisho mengine kuhusu teknolojia ya teksi

Chanzo: mapenzi.com

Kuongeza maoni