Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean

Is e m ’ainm Pavel Parkhomenko, tha mi nam leasaiche ML. Anns an aiste seo, bu mhath leam bruidhinn mu structar an t-seirbheis Yandex.Zen agus a 'roinn leasachaidhean teicnigeach, a tha ga dhèanamh comasach àrdachadh càileachd molaidhean. Bhon phost seo ionnsaichidh tu mar a lorgas tu an fheadhainn as buntainniche don neach-cleachdaidh am measg milleanan de sgrìobhainnean ann an dìreach beagan mhilleanan-tomhais; mar a nì thu lobhadh leantainneach air matrix mòr (air a dhèanamh suas de mhilleanan de cholbhan agus deichean de mhilleanan de shreathan) gus am faigh sgrìobhainnean ùra an vectar ann an deichean de mhionaidean; mar as urrainn dhut an lobhadh matrix artaigil cleachdaiche ath-chleachdadh gus deagh riochdachadh vectar fhaighinn airson bhidio.

Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean

Anns an stòr-dàta molaidhean againn tha milleanan de sgrìobhainnean de dhiofar chruthan: artaigilean teacsa air an cruthachadh air an àrd-ùrlar againn agus air an toirt bho làraich taobh a-muigh, bhideothan, aithrisean agus puist ghoirid. Tha leasachadh seirbheis mar seo co-cheangailte ri àireamh mhòr de dhùbhlain theicnigeach. Seo cuid dhiubh:

  • Roinn gnìomhan coimpiutaireachd: dèan a h-uile gnìomhachd trom far-loidhne, agus ann an àm fìor na dèan ach cur an gnìomh mhodalan gu sgiobalta gus a bhith cunntachail airson 100-200 ms.
  • Thoir aire gu sgiobalta do ghnìomhan luchd-cleachdaidh. Gus seo a dhèanamh, feumar a h-uile tachartas a lìbhrigeadh sa bhad chun neach-molaidh agus buaidh a thoirt air toraidhean nam modalan.
  • Dèan am biadhadh gus an atharraich e gu sgiobalta don ghiùlan aca airson luchd-cleachdaidh ùr. Bu chòir do dhaoine a tha dìreach air a dhol a-steach don t-siostam a bhith a’ faireachdainn gu bheil am fios air ais a’ toirt buaidh air molaidhean.
  • Tuig gu sgiobalta cò dha a mholas tu artaigil ùr.
  • Freagair gu sgiobalta ri nochdadh cunbhalach susbaint ùr. Bidh deichean de mhìltean de artaigilean air am foillseachadh gach latha, agus tha beatha cuibhrichte aig mòran dhiubh (can, naidheachdan). Is e seo a tha gan eadar-dhealachadh bho fhilmichean, ceòl agus susbaint eile a tha fada beò agus daor ri chruthachadh.
  • Cuir thairis eòlas bho aon raon fearainn gu raon eile. Ma tha siostam molaidh air modalan a thrèanadh airson artaigilean teacsa agus gun cuir sinn bhidio ris, is urrainn dhuinn na modalan a th’ ann ath-chleachdadh gus am bi an seòrsa susbaint ùr nas fheàrr.

Innsidh mi dhut mar a dh’ fhuasgail sinn na duilgheadasan sin.

Taghadh thagraichean

Ciamar a lùghdaicheas tu an àireamh de sgrìobhainnean air a bheilear a’ beachdachadh mìltean de thursan ann am beagan mhilleanan-tomhais, le cha mhòr gun chrìonadh ann an càileachd rangachadh?

Seach gun do rinn sinn trèanadh air mòran mhodalan ML, chruthaich sinn feartan stèidhichte orra, agus rinn sinn trèanadh air modal eile a bhios a’ rangachadh sgrìobhainnean airson an neach-cleachdaidh. Bhiodh a h-uile dad gu math, ach chan urrainn dhut dìreach na soidhnichean airson a h-uile sgrìobhainn a ghabhail agus a chunntadh ann an àm fìor, ma tha milleanan de na sgrìobhainnean sin ann, agus feumar molaidhean a thogail ann an 100-200 ms. Is e an obair fo-sheata sònraichte a thaghadh bho mhilleanan, a thèid a rangachadh airson an neach-cleachdaidh. Mar as trice canar taghadh tagraiche ris an ìre seo. Tha grunn riatanasan ann air a shon. An toiseach, feumaidh an taghadh tachairt gu math luath, gus am bi an ùine as urrainn dhut air fhàgail airson an rangachadh fhèin. San dàrna h-àite, le bhith a’ lughdachadh gu mòr an àireamh de sgrìobhainnean airson rangachadh, feumaidh sinn sgrìobhainnean a tha buntainneach don neach-cleachdaidh a ghleidheadh ​​​​cho iomlan sa ghabhas.

Tha ar prionnsapal de thaghadh thagraichean air a thighinn air adhart, agus aig an àm seo tha sinn air sgeama ioma-ìre a ruighinn:

Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean

An toiseach, tha na sgrìobhainnean uile air an roinn ann am buidhnean, agus tha na sgrìobhainnean as mòr-chòrdte air an toirt bho gach buidheann. Faodaidh buidhnean a bhith nan làraich, nan cuspairean, nan cruinneachaidhean. Airson gach neach-cleachdaidh, stèidhichte air an eachdraidh aige, tha na buidhnean as fhaisge air a thaghadh agus na sgrìobhainnean as fheàrr a thoirt bhuapa. Bidh sinn cuideachd a’ cleachdadh clàr-amais kNN gus na sgrìobhainnean as fhaisge air an neach-cleachdaidh a thaghadh ann an àm fìor. Tha grunn dhòighean ann airson clàr-amais kNN a thogail; b’ e sinne a dh’obraich as fheàrr HNSW (grafaichean Saoghal Beag a ghabhas seòladh le rangachd). Is e modal rangachaidh a tha seo a leigeas leat na vectaran N as fhaisge a lorg airson neach-cleachdaidh bho stòr-dàta de mhilleanan ann am beagan mhillean-sheiceadan. Bidh sinn an-toiseach a’ clàr-amais ar stòr-dàta sgrìobhainnean gu lèir far-loidhne. Leis gu bheil sgrùdadh sa chlàr-amais ag obair gu math luath, ma tha grunn in-ghabhail làidir ann, faodaidh tu grunn chlàran-amais a chruthachadh (aon chlàr-amais airson gach in-ghabhail) agus faighinn gu gach aon dhiubh ann an àm fìor.

Tha deichean de mhìltean de sgrìobhainnean againn fhathast airson gach neach-cleachdaidh. Tha seo fhathast gu mòr airson a h-uile feart a chunntadh, agus mar sin aig an ìre seo bidh sinn a 'cleachdadh rangachadh aotrom - modail rangachadh aotrom trom le nas lugha de fheartan. Is e an obair ro-innse dè na sgrìobhainnean a bhios aig modal trom anns a’ mhullach. Thèid sgrìobhainnean leis an ro-innsear as àirde a chleachdadh anns a ’mhodail throm, is e sin, aig an ìre mu dheireadh den rangachadh. Leigidh an dòigh-obrach seo leat an stòr-dàta de sgrìobhainnean air a bheilear a’ beachdachadh airson an neach-cleachdaidh a lughdachadh bho mhilleanan gu mìltean ann an deichean milliseconds.

Ceum ALS ann an ùine ruith

Ciamar a bheir thu aire do bheachdan luchd-cleachdaidh dìreach às deidh cliog?

Is e feart cudromach ann am molaidhean an ùine freagairt do bheachdan luchd-cleachdaidh. Tha seo gu sònraichte cudromach do luchd-cleachdaidh ùr: nuair a tha neach dìreach a 'tòiseachadh a' cleachdadh an t-siostam molaidh, bidh e a 'faighinn biadh neo-phearsanta de sgrìobhainnean de dhiofar chuspairean. Cho luath ‘s a nì e a’ chiad cliog, feumaidh tu seo a thoirt fa-near sa bhad agus atharrachadh a rèir na h-ùidhean aige. Ma nì thu àireamhachadh a h-uile feart far-loidhne, bidh freagairt siostam sgiobalta do-dhèanta air sgàth an dàil. Mar sin tha e riatanach gnìomhan luchd-cleachdaidh a phròiseasadh ann an àm fìor. Airson na h-adhbharan sin, bidh sinn a’ cleachdadh ceum ALS aig àm ruith gus riochdachadh vectar den neach-cleachdaidh a thogail.

Gabhamaid ris gu bheil riochdachadh vectar againn airson a h-uile sgrìobhainn. Mar eisimpleir, is urrainn dhuinn greimeachadh a thogail far loidhne stèidhichte air teacsa artaigil a’ cleachdadh ELMo, BERT no modalan ionnsachaidh inneal eile. Ciamar a gheibh sinn riochdachadh vectar de luchd-cleachdaidh san aon àite stèidhichte air an eadar-obrachadh san t-siostam?

Prionnsabal coitcheann a bhith a 'cruthachadh agus a' lobhadh na matrix sgrìobhainnean cleachdaicheLeig leinn m luchd-cleachdaidh agus n sgrìobhainnean a bhith againn. Airson cuid de luchd-cleachdaidh, tha fios air an dàimh aca ri cuid de sgrìobhainnean. An uairsin faodar am fiosrachadh seo a riochdachadh mar mhaitrix mxn: bidh sreathan a ’freagairt ri luchd-cleachdaidh, agus tha colbhan a’ freagairt ri sgrìobhainnean. Leis nach fhaca an neach a ’mhòr-chuid de na sgrìobhainnean, bidh a’ mhòr-chuid de na ceallan matrix falamh, agus thèid cuid eile a lìonadh. Airson gach tachartas (coltach, nach toil leat, cliog) tha cuid de luach air a thoirt seachad anns a’ mhaitrix - ach beachdaichidh sinn air modal nas sìmplidhe anns a bheil a leithid a’ freagairt ri 1, agus nach toil leis a’ freagairt ri -1.

Leig leinn an matrix a bhriseadh sìos ann an dà: P (mxd) agus Q (dxn), far a bheil d na mheudachd riochdachadh feòir (mar as trice àireamh bheag). An uairsin bidh gach nì a’ freagairt ri vectar d-thomhas (airson neach-cleachdaidh - sreath anns a’ mhaitrix P, airson sgrìobhainn - colbh anns a’ mhaitris Q). Bidh na vectaran sin mar bhunaitean de na nithean co-fhreagarrach. Gus ro-innse am bu toil le neach-cleachdaidh sgrìobhainn, faodaidh tu dìreach na freumhan aca iomadachadh.

Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean
Is e aon de na dòighean a dh’ fhaodadh matrix a bhriseadh sìos ALS (Alternating Lower Squares). Nì sinn an fheum as fheàrr den obair call a leanas:

Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean

Seo rui an eadar-obrachadh eadar neach-cleachdaidh u le sgrìobhainn i, is e qi vectar sgrìobhainn i, is e pu vectar cleachdaiche u.

An uairsin lorgar an vectar cleachdaiche as fheàrr bho shealladh na mearachd ceàrnagach cuibheasach (airson vectaran sgrìobhainnean stèidhichte) gu mion-sgrùdaichte le bhith a’ fuasgladh an ais-tharraing sreathach co-fhreagarrach.

Canar "ceum ALS" ris an seo. Agus is e an algorithm ALS fhèin gum bi sinn mu seach a’ càradh aon de na matrices (luchd-cleachdaidh agus artaigilean) agus ag ùrachadh am fear eile, a’ lorg am fuasgladh as fheàrr.

Gu fortanach, is e obrachadh gu math luath a th’ ann a bhith a’ lorg riochdachadh vectar an neach-cleachdaidh a ghabhas dèanamh aig àm ruith a’ cleachdadh stiùireadh vectar. Leigidh an cleas seo leat fios air ais bho luchd-cleachdaidh a thoirt fa-near sa bhad ann an rangachadh. Faodar an aon stèidheachadh a chleachdadh ann an clàr-amais kNN gus taghadh thagraichean a leasachadh.

Filter Co-obrachail air a chuairteachadh

Mar a nì thu factar matrix sgaoilte mean air mhean agus gu luath lorg riochdachaidhean vector de artaigilean ùra?

Chan e susbaint an aon thùs de chomharran molaidh. Is e stòr cudromach eile fiosrachadh co-obrachail. Gu traidiseanta gheibhear deagh fheartan rangachadh bho bhith a’ lobhadh matrix sgrìobhainn luchd-cleachdaidh. Ach nuair a bha sinn a 'feuchainn ri leithid de lobhadh a dhèanamh, choinnich sinn ri duilgheadasan:

1. Tha milleanan de sgrìobhainnean againn agus deichean de mhilleanan de luchd-cleachdaidh. Chan eil am matrix a 'freagairt gu tur air aon inneal, agus bheir lobhadh ùine mhòr.
2. Tha beatha ghoirid aig a’ mhòr-chuid den t-susbaint san t-siostam: tha sgrìobhainnean fhathast buntainneach airson dìreach beagan uairean a thìde. Mar sin, feumar an riochdachadh vector aca a thogail cho luath ‘s a ghabhas.
3. Ma thogas tu lobhadh sa bhad às deidh an sgrìobhainn fhoillseachadh, cha bhi ùine aig àireamh gu leòr de luchd-cleachdaidh airson a mheasadh. Mar sin, tha e coltach nach bi an riochdachadh vector aige fìor mhath.
4. Ma tha neach-cleachdaidh a 'còrdadh no a' còrdadh ris, cha bhith e comasach dhuinn seo a thoirt a-steach sa bhad anns an lobhadh.

Gus na duilgheadasan sin fhuasgladh, chuir sinn an gnìomh lobhadh sgaoilte den mhaitrix sgrìobhainnean cleachdaiche le ùrachaidhean mean air mhean tric. Ciamar a tha e ag obair gu dìreach?

Seach gu bheil cruinneachadh de dh'innealan N againn (tha N anns na ceudan) agus tha sinn airson lobhadh sgaoilte de mhaitris a dhèanamh orra nach eil a' freagairt air aon inneal. Is e a 'cheist ciamar a nì thu an lobhadh seo gus am bi, air an aon làimh, gu bheil dàta gu leòr air gach inneal agus, air an làimh eile, gus am bi an àireamhachadh neo-eisimeileach?

Mar a tha sinn ag obair air càileachd agus astar taghadh mholaidhean

Cleachdaidh sinn an algairim lobhadh ALS a tha air a mhìneachadh gu h-àrd. Bheir sinn sùil air mar a nì sinn aon cheum ALS ann an dòigh sgaoilte - bidh an còrr de na ceumannan coltach. Canaidh sinn gu bheil matrix stèidhichte de sgrìobhainnean againn agus tha sinn airson matrix de luchd-cleachdaidh a thogail. Gus seo a dhèanamh, bidh sinn ga roinn ann am pàirtean N le loidhnichean, bidh timcheall air an aon àireamh de loidhnichean anns gach pàirt. Cuiridh sinn gu gach inneal ceallan neo-falamh de na sreathan co-fhreagarrach, a bharrachd air matrix de sgeadachadh sgrìobhainnean (gu tur). Leis nach eil a mheud glè mhòr, agus mar as trice tha am matrix sgrìobhainn cleachdaiche gu math gann, bidh an dàta seo a ’freagairt air inneal àbhaisteach.

Faodar an cleas seo a dhèanamh a-rithist thar grunn amannan gus am bi am modail a’ tighinn còmhla, ag atharrachadh a’ mhaitrix stèidhichte aon às deidh aon. Ach eadhon an uairsin, faodaidh lobhadh matrix grunn uairean a thìde a thoirt. Agus chan eil seo a 'fuasgladh na duilgheadas a dh'fheumas tu a bhith a' faighinn a-steach gu luath de sgrìobhainnean ùra agus ag ùrachadh an fheadhainn nach robh mòran fiosrachaidh mu bhith a 'togail a' mhodail.

Chuidich toirt a-steach ùrachaidhean modail mean air mhean sinn. Canaidh sinn gu bheil modal trèanaidh againn an-dràsta. Bhon trèanadh aice, tha artaigilean ùra air a bhith ann leis an robh an luchd-cleachdaidh againn ag eadar-obrachadh, a bharrachd air artaigilean aig nach robh mòran eadar-obrachaidh rè trèanadh. Gus an leithid de dh’ artaigilean fhaighinn gu sgiobalta, bidh sinn a’ cleachdadh an innleachadh luchd-cleachdaidh a fhuaireadh tron ​​chiad trèanadh mòr den mhodail agus a’ dèanamh aon cheum ALS gus matrix sgrìobhainn obrachadh a-mach le matrix cleachdaiche stèidhichte. Leigidh seo leat greimeachadh fhaighinn gu math luath - taobh a-staigh beagan mhionaidean às deidh an sgrìobhainn fhoillseachadh - agus gu tric ùrachadh a dhèanamh air na sgrìobhainnean a chaidh a chuir a-steach o chionn ghoirid.

Gus molaidhean a dhèanamh sa bhad thoir aire do ghnìomhan daonna, ann an ùine ruith cha bhith sinn a’ cleachdadh in-ghabhail luchd-cleachdaidh a gheibhear far-loidhne. An àite sin, bidh sinn a’ dèanamh ceum ALS agus a’ faighinn an fhìor vectar cleachdaiche.

Gluasad gu raon fearainn eile

Mar a chleachdas tu fios air ais bho luchd-cleachdaidh air artaigilean teacsa gus riochdachadh vector de bhidio a thogail?

An toiseach, mhol sinn dìreach artaigilean teacsa, agus mar sin tha mòran de na h-algorithms againn air an dèanamh freagarrach don t-seòrsa susbaint seo. Ach nuair a chuir sinn seòrsaichean eile de shusbaint ris, bha sinn mu choinneimh an fheum air na modalan atharrachadh. Ciamar a fhuair sinn fuasgladh air an duilgheadas seo le bhith a’ cleachdadh eisimpleir bhidio? Is e aon roghainn a h-uile modal ath-thrèanadh bhon fhìor thoiseach. Ach bheir seo ùine mhòr, agus tha cuid de na h-algorithms a 'cur feum air meud an t-sampall trèanaidh, nach eil fhathast ri fhaighinn anns an ìre riatanach airson susbaint de sheòrsa ùr anns a' chiad amannan de bheatha air an t-seirbheis.

Chaidh sinn an rathad eile agus chleachd sinn na modalan teacsa airson a’ bhidio a-rithist. Chuidich an aon chleas ALS sinn le bhith a’ cruthachadh riochdachaidhean vector de bhideothan. Ghabh sinn riochdachadh vector de luchd-cleachdaidh stèidhichte air artaigilean teacsa agus rinn sinn ceum ALS a’ cleachdadh fiosrachadh sealladh bhidio. Mar sin fhuair sinn gu furasta riochdachadh vectar den bhidio. Agus aig àm ruith bidh sinn dìreach a’ tomhas dè cho faisg ‘s a tha an vectar cleachdaiche a gheibhear bho artaigilean teacsa agus an vectar bhidio.

co-dhùnadh

Tha iomadh dùbhlan an lùib leasachadh cridhe siostam molaidh fìor-ùine. Feumaidh tu dàta a phròiseasadh gu sgiobalta agus dòighean ML a chuir an sàs gus an dàta seo a chleachdadh gu h-èifeachdach; togail siostaman sgaoilte iom-fhillte a tha comasach air comharran luchd-cleachdaidh agus aonadan susbaint ùra a ghiullachd ann an ùine as ìsle; agus iomadh obair eile.

Anns an t-siostam a th 'ann an-dràsta, an dealbhadh air an do mhìnich mi, tha càileachd molaidhean airson an neach-cleachdaidh a' fàs còmhla ris a 'ghnìomhachd aige agus fad a' fuireach air an t-seirbheis. Ach gu dearbh, tha am prìomh dhuilgheadas an seo: tha e duilich don t-siostam ùidhean neach nach eil air mòran eadar-obrachadh leis an t-susbaint a thuigsinn sa bhad. Is e ar prìomh amas a bhith ag adhartachadh mholaidhean do luchd-cleachdaidh ùr. Leanaidh sinn oirnn a’ dèanamh an fheum as fheàrr de na h-algorithms gus am bi susbaint a tha iomchaidh do dhuine a’ faighinn a-steach don bhiadh aige nas luaithe, agus nach tèid susbaint neo-iomchaidh a shealltainn.

Source: www.habr.com

Cuir beachd ann