{"id":71852,"date":"2020-02-28T20:59:58","date_gmt":"2020-02-28T17:59:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij"},"modified":"2020-03-03T16:14:08","modified_gmt":"2020-03-03T13:14:08","slug":"kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij","title":{"rendered":"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>M\u00eb quajn\u00eb Pavel Parkhomenko, jam zhvillues i ML. N\u00eb k\u00ebt\u00eb artikull do t\u00eb doja t\u00eb flas p\u00ebr m\u00ebnyr\u00ebn se si funksionon sh\u00ebrbimi Yandex.Dzen dhe t\u00eb ndaj p\u00ebrmir\u00ebsimet teknike q\u00eb lejuan rritjen e cil\u00ebsis\u00eb s\u00eb rekomandimeve. Nga ky postim do t\u00eb m\u00ebsoni se si t\u00eb gjeni n\u00eb vet\u00ebm disa milisekonda dokumentet m\u00eb relevante p\u00ebr p\u00ebrdoruesin nga miliona dokumente; si t\u00eb b\u00ebni nj\u00eb shkrirje t\u00eb vazhdueshme t\u00eb nj\u00eb matrice t\u00eb madhe (e cila p\u00ebrb\u00ebhet nga miliona kolona dhe dhjet\u00ebra miliona rreshta), n\u00eb m\u00ebnyr\u00eb q\u00eb dokumentet e reja t\u00eb marrin vetor\u00ebt e tyre brenda dhjet\u00ebra minutash; si t\u00eb rip\u00ebrdorni shkrirjen e matric\u00ebs p\u00ebrdorues-artikull p\u00ebr t\u00eb marr\u00eb nj\u00eb p\u00ebrfaq\u00ebsim t\u00eb mir\u00eb vektorial p\u00ebr videon.<\/p>\n<p><img decoding=\"async\" alt=\"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve\" src=\"\/wp-content\/uploads\/2020\/02\/d63caf9162ca3533548fdef9cd740c24.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <br \/>\nBaza jon\u00eb e rekomandimeve p\u00ebrmban miliona dokumente t\u00eb formatit t\u00eb ndrysh\u00ebm: artikuj tekstual\u00eb, t\u00eb krijuar n\u00eb platform\u00ebn ton\u00eb dhe t\u00eb marr\u00eb nga faqe t\u00eb jashtme, video, narracione dhe postime t\u00eb shkurtra. Zhvillimi i nj\u00eb sh\u00ebrbimi t\u00eb till\u00eb \u00ebsht\u00eb i lidhur me nj\u00eb num\u00ebr t\u00eb madh sfidash teknike. Ja disa prej tyre:<\/p>\n<ul>\n<li>T\u00eb ndan\u00eb detyrat llogarit\u00ebse: t\u00eb gjitha operacionet e r\u00ebnda t\u00eb b\u00ebhen offline, nd\u00ebrsa n\u00eb koh\u00eb reale t\u00eb kryhen vet\u00ebm aplikimi i shpejt\u00eb i modeleve p\u00ebr t\u00eb u p\u00ebrgjigjur brenda 100-200 ms.<\/li>\n<li>T\u00eb konsideroni shpejt veprimet e p\u00ebrdoruesve. P\u00ebr k\u00ebt\u00eb, \u00ebsht\u00eb e nevojshme q\u00eb t\u00eb gjitha ngjarjet t\u00eb d\u00ebrgohen menj\u00ebher\u00eb n\u00eb rekomandues dhe t\u00eb ndikojn\u00eb n\u00eb rezultatet e pun\u00ebs s\u00eb modeleve.<\/li>\n<li>T\u00eb b\u00ebni q\u00eb feed-i t\u00eb jet\u00eb i till\u00eb q\u00eb p\u00ebr p\u00ebrdoruesit e rinj t\u00eb p\u00ebrshtatet shpejt me sjelljen e tyre. Njer\u00ebzit q\u00eb sapo kan\u00eb ardhur n\u00eb sistem duhet t\u00eb ndiejn\u00eb se feedback-u i tyre ka ndikim n\u00eb rekomandime.<\/li>\n<li>T\u00eb kuptoni shpejt se kujt t'i rekomandoni nj\u00eb artikull t\u00eb ri.<\/li>\n<li>T\u00eb p\u00ebrgjigjeni shpejt ndaj shfaqjes s\u00eb vazhdueshme t\u00eb p\u00ebrmbajtjes s\u00eb re. Dhjet\u00ebra mij\u00ebra artikuj publikohen \u00e7do dit\u00eb, dhe shum\u00eb prej tyre kan\u00eb nj\u00eb koh\u00eb t\u00eb kufizuar ekzistence (p.sh., lajme). Kjo \u00ebsht\u00eb dallimi nd\u00ebrmjet tyre dhe filma, muzik\u00eb dhe p\u00ebrmbajtje tjet\u00ebr q\u00eb ka jet\u00ebgjat\u00ebsi m\u00eb t\u00eb madhe dhe \u00ebsht\u00eb m\u00eb e shtrenjt\u00eb p\u00ebr t'u krijuar.<\/li>\n<li>T\u00eb transferoni njohurit\u00eb nga nj\u00eb fush\u00eb domeni n\u00eb nj\u00eb tjet\u00ebr. N\u00ebse n\u00eb sistemin e rekomandimeve ka modele t\u00eb trajnuara p\u00ebr artikuj tekstual\u00eb dhe ne shtojm\u00eb video, \u00ebsht\u00eb e mundur t\u00eb rip\u00ebrdorim modelet ekzistuese p\u00ebr t\u00eb renditur m\u00eb mir\u00eb p\u00ebrmbajtjen e llojit t\u00eb ri.<\/li>\n<\/ul>\n<p>\nDo t\u00eb flas p\u00ebr m\u00ebnyrat se si i kemi zgjidhur k\u00ebto sfida.<\/p>\n<h2>P\u00ebrzgjedhja e kandidat\u00ebve<\/h2>\n<p>\n<b>Si t\u00eb reduktoni nj\u00eb s\u00ebr\u00eb dokumentesh n\u00eb mij\u00ebra her\u00eb n\u00eb disa milisekonda, pa p\u00ebrkeq\u00ebsuar ndjesh\u00ebm cil\u00ebsin\u00eb e renditjes?<\/b><\/p>\n<p>Le t\u00eb supozojm\u00eb se kemi trajnuar shum\u00eb modele ML, kemi gjeneruar karakteristika mbi baz\u00ebn e tyre dhe kemi trajnuar nj\u00eb model tjet\u00ebr q\u00eb rendit dokumentet p\u00ebr p\u00ebrdoruesin. Gjith\u00e7ka do t\u00eb ishte mir\u00eb, por nuk mund t'i llogarisim t\u00eb gjitha karakteristikat p\u00ebr t\u00eb gjitha dokumentet n\u00eb koh\u00eb reale, n\u00ebse k\u00ebto dokumente jan\u00eb miliona dhe rekomandimet duhet t\u00eb nd\u00ebrtohen brenda 100-200 ms. Detyra \u00ebsht\u00eb t\u00eb zgjidhni nga miliona nj\u00eb n\u00ebngrup t\u00eb caktuar, i cili do t\u00eb renditet p\u00ebr p\u00ebrdoruesin. Ky hap zakonisht quhet p\u00ebrzgjedhja e kandidat\u00ebve. Ka disa k\u00ebrkesa p\u00ebr k\u00ebt\u00eb faz\u00eb. S\u00eb pari, p\u00ebrzgjedhja duhet t\u00eb ndodh\u00eb shum\u00eb shpejt, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mbetet sa m\u00eb shum\u00eb koh\u00eb p\u00ebr renditje. S\u00eb dyti, duke reduktuar ndjesh\u00ebm numrin e dokumenteve p\u00ebr renditje, duhet t\u00eb ruajm\u00eb sa m\u00eb plot\u00ebsisht dokumentet e r\u00ebnd\u00ebsishme p\u00ebr p\u00ebrdoruesin.<\/p>\n<p>Principi yn\u00eb i p\u00ebrzgjedhjes s\u00eb kandidat\u00ebve \u00ebsht\u00eb evoluar, dhe deri m\u00eb tani kemi arritur n\u00eb nj\u00eb skem\u00eb me shum\u00eb nivele:<\/p>\n<p><img decoding=\"async\" alt=\"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve\" src=\"\/wp-content\/uploads\/2020\/02\/ed9657ed1febe871f36dc7cf7e585963.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nFillimisht, t\u00eb gjith\u00eb dokumentet ndahen n\u00eb grupe, dhe nga \u00e7do grup merren dokumentet m\u00eb popullore. Grupet mund t\u00eb jen\u00eb faqe interneti, tema, klastera. P\u00ebr \u00e7do p\u00ebrdorues, bazuar n\u00eb historin\u00eb e tij, p\u00ebrzgjidhen grupet m\u00eb t\u00eb af\u00ebrta dhe nga ato merren dokumentet m\u00eb t\u00eb mira. Gjithashtu, ne p\u00ebrdorim indeksin kNN p\u00ebr t\u00eb gjetur dokumentet m\u00eb t\u00eb af\u00ebrta p\u00ebr p\u00ebrdoruesin n\u00eb koh\u00eb reale. Ekzistojn\u00eb disa metoda p\u00ebr nd\u00ebrtimin e indeksit kNN, dhe p\u00ebr ne m\u00eb mir\u00eb funksionoi <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1603.09320\">HNSW<\/a><\/noindex> (Grafi Hierarchical Navigable Small World). Kjo \u00ebsht\u00eb nj\u00eb model hierarkik q\u00eb lejon t\u00eb gjeni N vektor\u00ebt m\u00eb t\u00eb af\u00ebrt p\u00ebr p\u00ebrdoruesin n\u00eb nj\u00eb baz\u00eb prej miliona. Para se t\u00eb fillojm\u00eb gjenerimin, ne indeksojm\u00eb t\u00eb gjith\u00eb baz\u00ebn ton\u00eb t\u00eb dokumenteve offline. Duke qen\u00eb se k\u00ebrkimi n\u00eb indeks funksionon mjaft shpejt, me disa embeddime t\u00eb forta \u00ebsht\u00eb e mundur t\u00eb krijojm\u00eb disa indekse (nj\u00eb p\u00ebr \u00e7do embeddim) dhe t\u00eb drejtojm\u00eb k\u00ebrkesa p\u00ebr secilin prej tyre n\u00eb koh\u00eb reale.<\/p>\n<p>Ne kemi dhjet\u00ebra mij\u00ebra dokumente p\u00ebr \u00e7do p\u00ebrdorues. Kjo \u00ebsht\u00eb ende shum\u00eb p\u00ebr t\u00eb num\u00ebruar t\u00eb gjitha karakteristikat, k\u00ebshtu q\u00eb n\u00eb k\u00ebt\u00eb faz\u00eb aplikojm\u00eb nj\u00eb renditje t\u00eb leht\u00eb \u2014 nj\u00eb model t\u00eb leht\u00ebsuar t\u00eb renditjes s\u00eb r\u00ebnd\u00eb me nj\u00eb num\u00ebr m\u00eb t\u00eb vog\u00ebl karakteristikash. Q\u00ebllimi \u00ebsht\u00eb t\u00eb parashikohet se cilat dokumente do t\u00eb ishin n\u00eb krye n\u00eb modelin e r\u00ebnd\u00eb. Dokumentet me parashikimin m\u00eb t\u00eb lart\u00eb do t\u00eb p\u00ebrdoren n\u00eb modelin e r\u00ebnd\u00eb, gjegj\u00ebsisht n\u00eb faz\u00ebn e fundit t\u00eb renditjes. Ky qasje lejon q\u00eb n\u00eb disa milisekonda t\u00eb reduktojm\u00eb baz\u00ebn e dokumenteve t\u00eb konsideruara p\u00ebr p\u00ebrdoruesin nga miliona n\u00eb mij\u00ebra.<\/p>\n<h2>Hapi ALS n\u00eb koh\u00eb reale<\/h2>\n<p>\n<b>Si t\u00eb m\u00ebsojm\u00eb p\u00ebr feedback-un e p\u00ebrdoruesit menj\u00ebher\u00eb pas klikimit?<\/b><\/p>\n<p>Nj\u00eb faktor i r\u00ebnd\u00ebsish\u00ebm n\u00eb rekomandime \u00ebsht\u00eb koha e reagimit p\u00ebr feedback-un e p\u00ebrdoruesit. Kjo \u00ebsht\u00eb ve\u00e7an\u00ebrisht e r\u00ebnd\u00ebsishme p\u00ebr p\u00ebrdoruesit e rinj: kur nj\u00eb person sapo fillon t\u00eb p\u00ebrdor\u00eb sistemin rekomandues, ai merr nj\u00eb fluks t\u00eb papersonalizuar t\u00eb dokumenteve t\u00eb ndryshme. Sapo ai t\u00eb b\u00ebj\u00eb klikimin e par\u00eb, \u00ebsht\u00eb e nevojshme t\u00eb merret parasysh menj\u00ebher\u00eb dhe t\u00eb p\u00ebrshtatet me interesat e tij. N\u00ebse kemi p\u00ebr t\u00eb llogaritur t\u00eb gjitha faktor\u00ebt offline, reagimi i shpejt\u00eb i sistemit do t\u00eb b\u00ebhet i pamundur p\u00ebr shkak t\u00eb vones\u00ebs. Prandaj \u00ebsht\u00eb e nevojshme t\u00eb p\u00ebrpunojm\u00eb veprimet e p\u00ebrdoruesit n\u00eb koh\u00eb reale. P\u00ebr k\u00ebto q\u00ebllime ne p\u00ebrdorim hapin ALS n\u00eb koh\u00eb reale p\u00ebr t\u00eb nd\u00ebrtuar nj\u00eb p\u00ebrfaq\u00ebsim vektorial t\u00eb p\u00ebrdoruesit.<\/p>\n<p>Supozoni se p\u00ebr t\u00eb gjitha dokumentet kemi nj\u00eb p\u00ebrfaq\u00ebsim vektorial. P\u00ebr shembull, ne mund t\u00eb nd\u00ebrtoshim embedding-e offline n\u00eb baz\u00eb t\u00eb tekstit t\u00eb artikujve duke p\u00ebrdorur ELMo, BERT ose modele t\u00eb tjera t\u00eb m\u00ebsimit t\u00eb makin\u00ebs. Si mund t\u00eb marrim nj\u00eb p\u00ebrfaq\u00ebsim vektorial t\u00eb p\u00ebrdoruesve n\u00eb t\u00eb nj\u00ebjtin hap\u00ebsir\u00eb n\u00eb baz\u00eb t\u00eb nd\u00ebrveprimeve t\u00eb tyre n\u00eb sistem?<\/p>\n<p><b class=\"spoiler_title\">Princi i p\u00ebrgjithsh\u00ebm i formimit dhe dekompozimit t\u00eb matric\u00ebs p\u00ebrdorues-dokument<\/b>Le t\u00eb themi se kemi m p\u00ebrdorues dhe n dokumente. P\u00ebr disa p\u00ebrdorues dihet lidhja e tyre me disa dokumente. At\u00ebher\u00eb kjo informacion mund t\u00eb paraqitet n\u00eb form\u00ebn e nj\u00eb matrice m x n: rreshtat p\u00ebrfaq\u00ebsojn\u00eb p\u00ebrdoruesit, nd\u00ebrsa kolonat \u2014 dokumentet. Duke qen\u00eb se shumica e dokumenteve nuk jan\u00eb par\u00eb nga individ\u00ebt, nj\u00eb pjes\u00eb e madhe e qelizave t\u00eb matric\u00ebs do t\u00eb mbeten bosh, nd\u00ebrsa t\u00eb tjerat do t\u00eb jen\u00eb t\u00eb plota. P\u00ebr \u00e7do ngjarje (p\u00eblqim, mosp\u00eblqim, klik) n\u00eb matric\u00eb parashikohet nj\u00eb vler\u00eb \u2014 por le t\u00eb shqyrtojm\u00eb nj\u00eb model t\u00eb thjeshtuar, n\u00eb t\u00eb cilin p\u00eblqimi p\u00ebrfaq\u00ebsohet me 1, nd\u00ebrsa mosp\u00eblqimi me -1.<\/p>\n<p>Le t\u00eb zb\u00ebrthejm\u00eb matric\u00ebn n\u00eb dy: P (m x d) dhe Q (d x n), ku d \u2014 dimensionali i p\u00ebrfaq\u00ebsimit vektorial (zakonisht nj\u00eb num\u00ebr i vog\u00ebl). At\u00ebher\u00eb \u00e7do objekti do t'i p\u00ebrgjigjet nj\u00eb vektor d-dimensional (p\u00ebrdoruesit \u2014 rreshti n\u00eb matric\u00ebn P, dokumentit \u2014 kolona n\u00eb matric\u00ebn Q). K\u00ebta vektor\u00eb do t\u00eb jen\u00eb embedding-e t\u00eb objekteve p\u00ebrkat\u00ebse. P\u00ebr t\u00eb parashikuar n\u00ebse p\u00ebrdoruesit do t'i p\u00eblqej\u00eb dokumenti, ne mund thjesht t\u00eb shumzojm\u00eb embedding-et e tyre.<\/p>\n<p><img decoding=\"async\" alt=\"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve\" src=\"\/wp-content\/uploads\/2020\/02\/a0c721bccb3806f2c4a18693a9458a89.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNj\u00eb nga m\u00ebnyrat e mundshme p\u00ebr zb\u00ebrthimin e matric\u00ebs \u00ebsht\u00eb ALS (Alternating Least Squares). Ne do t\u00eb optimizojm\u00eb funksionin e humbjes s\u00eb m\u00ebposht\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve\" src=\"\/wp-content\/uploads\/2020\/02\/aab8a1ae1cdf39de21e7469864c5190a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nK\u00ebtu rui \u2014 nd\u00ebrveprimi i p\u00ebrdoruesit u me dokumentin i, qi \u2014 vektori i dokumentit i, pu \u2014 vektori i p\u00ebrdoruesit u.<\/p>\n<p>At\u00ebher\u00eb vektori optimal n\u00eb raport me gabimin mesatar me katror do t\u00eb gjendet analitikisht duke zgjidhur regresionin p\u00ebrkat\u00ebs.<\/p>\n<p>Ky quhet 'hapi ALS'. Algoritmi i ALS p\u00ebrfshin se ne alternojm\u00eb duke fixuar nj\u00ebr\u00ebn prej matricave (p\u00ebrdoruesit dhe artikujt) dhe azhurnojm\u00eb tjetr\u00ebn, duke gjetur zgjidhjen optimale.<\/p>\n<p>Fatmir\u00ebsisht, gjetja e p\u00ebrfaq\u00ebsimit vektorial t\u00eb p\u00ebrdoruesit \u00ebsht\u00eb nj\u00eb operacion mjaft i shpejt\u00eb, i cili mund t\u00eb realizohet n\u00eb koh\u00eb reale duke p\u00ebrdorur instruksionet vektoriale. Ky truk lejon menj\u00ebher\u00eb t\u00eb merret parasysh feedback-u i p\u00ebrdoruesit n\u00eb renditje. I nj\u00ebjti embedding mund t\u00eb p\u00ebrdoret gjithashtu n\u00eb indeksin kNN p\u00ebr t\u00eb p\u00ebrmir\u00ebsuar p\u00ebrzgjedhjen e kandidat\u00ebve.<\/p>\n<h2>Filtrimi kolaborativ i shp\u00ebrndar\u00eb<\/h2>\n<p>\n<b>Si t\u00eb b\u00ebjm\u00eb faktorimin e matric\u00ebs s\u00eb shp\u00ebrndar\u00eb n\u00eb m\u00ebnyr\u00eb inkrementale dhe t\u00eb gjejm\u00eb shpejt p\u00ebrfaq\u00ebsimin vektorial t\u00eb artikujve t\u00eb rinj?<\/b><\/p>\n<p>P\u00ebrmbajtja nuk \u00ebsht\u00eb burimi i vet\u00ebm i sinjaleve p\u00ebr rekomandime. Nj\u00eb burim tjet\u00ebr i r\u00ebnd\u00ebsish\u00ebm \u00ebsht\u00eb informacioni kolaborativ. Karakteristika t\u00eb mira n\u00eb renditje zakonisht mund t\u00eb p\u00ebrfitohen nga zb\u00ebrthimi i matric\u00ebs p\u00ebrdorues-dokument. Por kur u p\u00ebrpoq\u00ebm t\u00eb b\u00ebnim nj\u00eb zb\u00ebrthim t\u00eb till\u00eb, u ndesh\u00ebm me probleme:<\/p>\n<p>1. Ne kemi miliona dokumente dhe dhjet\u00ebra miliona p\u00ebrdorues. Matr\u00edcula nuk mund t\u00eb ruhet n\u00eb nj\u00eb makin\u00eb t\u00eb vetme, dhe zb\u00ebrthimi do t\u00eb jet\u00eb shum\u00eb i gjat\u00eb.<br \/>\n2. P\u00ebr shumic\u00ebn e p\u00ebrmbajtjes n\u00eb sistem, koha e jet\u00ebs \u00ebsht\u00eb e shkurt\u00ebr: dokumentet mbeten relevante vet\u00ebm p\u00ebr disa or\u00eb. Prandaj \u00ebsht\u00eb e nevojshme t\u00eb nd\u00ebrtohet sa m\u00eb shpejt p\u00ebrfaq\u00ebsimi i tyre vektorial.<br \/>\n3. N\u00ebse b\u00ebhet nj\u00eb dekompozim menj\u00ebher\u00eb pas publikimit t\u00eb dokumentit, nuk do t\u00eb arrij\u00eb t\u00eb vlej\u00eb nj\u00eb num\u00ebr i mjaftuesh\u00ebm p\u00ebrdoruesish. Prandaj, p\u00ebrfaq\u00ebsimi i tij vektorial me shum\u00eb mund\u00ebsi nuk do t\u00eb jet\u00eb shum\u00eb i mir\u00eb.<br \/>\n4. N\u00ebse p\u00ebrdoruesi ka vendosur nj\u00eb p\u00eblqim ose nj\u00eb antip\u00eblqim, ne nuk mund ta marrim menj\u00ebher\u00eb parasysh k\u00ebt\u00eb n\u00eb dekompozim.<\/p>\n<p>P\u00ebr t\u00eb zgjidhur problemet e p\u00ebrmendura, ne kemi realizuar nj\u00eb dekompozim t\u00eb shp\u00ebrndar\u00eb t\u00eb matric\u00ebs p\u00ebrdorues-dokument me p\u00ebrdit\u00ebsim t\u00eb shpesht\u00eb inkremental. Si funksionon kjo?<\/p>\n<p>Supozoni q\u00eb kemi nj\u00eb grup prej N makinash (N num\u00ebrohet me qindra) dhe ne duam t\u00eb realizojm\u00eb nj\u00eb dekompozim t\u00eb shp\u00ebrndar\u00eb t\u00eb matric\u00ebs, e cila nuk mund t\u00eb vendoset n\u00eb nj\u00eb makin\u00eb t\u00eb vetme. Pyetja \u00ebsht\u00eb \u2014 si t\u00eb realizojm\u00eb k\u00ebt\u00eb dekompozim, n\u00eb m\u00ebnyr\u00eb q\u00eb, nga nj\u00ebra an\u00eb, \u00e7do makin\u00eb t\u00eb ket\u00eb mjaft t\u00eb dh\u00ebna dhe, nga ana tjet\u00ebr, llogaritjet t\u00eb jen\u00eb t\u00eb pavarura? <\/p>\n<p><img decoding=\"async\" alt=\"Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve\" src=\"\/wp-content\/uploads\/2020\/02\/9170b0fecb6efcd41754ec20ee539a15.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDo t\u00eb p\u00ebrdorim algoritmin e p\u00ebrshkruar m\u00eb lart p\u00ebr dekompozimin ALS. Le t\u00eb shohim se si t\u00eb realizojm\u00eb nj\u00eb hap t\u00eb shp\u00ebrndar\u00eb ALS \u2014 hapat e tjer\u00eb do t\u00eb jen\u00eb t\u00eb ngjash\u00ebm. Supozoni se kemi ndalur matric\u00ebn e dokumenteve dhe duam t\u00eb ndjekim matric\u00ebn e p\u00ebrdoruesve. P\u00ebr k\u00ebt\u00eb, do ta ndajm\u00eb at\u00eb n\u00eb N pjes\u00eb sipas rreshtave, \u00e7do pjes\u00eb do t\u00eb p\u00ebrmbaj\u00eb nj\u00eb num\u00ebr t\u00eb ngjash\u00ebm rreshtash. Do t\u00eb d\u00ebrgojm\u00eb n\u00eb \u00e7do makin\u00eb qelizat e pa bosh t\u00eb rreshtave p\u00ebrkat\u00ebs, si dhe matric\u00ebn e embeddingut t\u00eb dokumenteve (n\u00eb t\u00ebr\u00ebsi). Duke qen\u00eb se ajo nuk ka nj\u00eb madh\u00ebsi shum\u00eb t\u00eb madhe, dhe matrica p\u00ebrdues-dokument \u00ebsht\u00eb zakonisht shum\u00eb e p\u00ebrhapur, k\u00ebto t\u00eb dh\u00ebna do t\u00eb vendosen n\u00eb nj\u00eb makin\u00eb t\u00eb zakonshme.<\/p>\n<p>Ky truk mund t\u00eb p\u00ebrs\u00ebritet p\u00ebr disa epoka deri n\u00eb konvergjenc\u00ebn e modelit, duke nd\u00ebrruar gradualisht matric\u00ebn e ndaluar. Por edhe at\u00ebher\u00eb, dekompozimi i matric\u00ebs mund t\u00eb zgjas\u00eb disa or\u00eb. Dhe kjo nuk zgjidh problemin q\u00eb duhet t\u00eb marrim shpejt embeddinget e dokumenteve t\u00eb reja dhe t\u00eb p\u00ebrdit\u00ebsojm\u00eb embeddinget e atyre q\u00eb kishin pak informacion gjat\u00eb nd\u00ebrtimit t\u00eb modelit. <\/p>\n<p>Na ndihmoi implementimi i nj\u00eb p\u00ebrdit\u00ebsimi t\u00eb shpejt\u00eb inkremental t\u00eb modelit. Supozoni se kemi modelin e tanish\u00ebm t\u00eb trajnuar. Q\u00eb nga momenti i trajnimit, jan\u00eb shfaqur artikuj t\u00eb rinj, me t\u00eb cil\u00ebt p\u00ebrdoruesit tan\u00eb kan\u00eb nd\u00ebrvepruar, si dhe artikuj q\u00eb gjat\u00eb trajnimit kishin pak nd\u00ebrveprime. P\u00ebr t\u00eb marr\u00eb shpejt embeddingun e k\u00ebtyre artikujve, ne p\u00ebrdorim embeddinget e p\u00ebrdoruesve t\u00eb marr\u00eb gjat\u00eb trajnimit t\u00eb par\u00eb t\u00eb madh t\u00eb modelit dhe b\u00ebjm\u00eb nj\u00eb hap ALS p\u00ebr t\u00eb llogaritur matric\u00ebn e dokumenteve me matric\u00ebn e ndaluar t\u00eb p\u00ebrdoruesve. Kjo na lejon t\u00eb marrim embeddinget mjaft shpejt \u2014 brenda disa minutash pas publikimit t\u00eb dokumentit \u2014 dhe t\u2019i p\u00ebrdit\u00ebsojm\u00eb shpesh embeddinget e dokumenteve t\u00eb reja.<\/p>\n<p>P\u00ebr t\u00eb marr\u00eb parasysh menj\u00ebher\u00eb veprimet e njeriut p\u00ebr rekomandimet, n\u00eb koh\u00ebn e ekzekutimit ne nuk p\u00ebrdorim embeddinget e p\u00ebrdoruesve t\u00eb marr\u00eb offline. N\u00eb vend t\u00eb k\u00ebsaj, ne b\u00ebjm\u00eb nj\u00eb hap ALS dhe marrim vektorin aktual t\u00eb p\u00ebrdoruesit.<\/p>\n<h2>Transferimi n\u00eb nj\u00eb domen tjet\u00ebr<\/h2>\n<p>\n<b>Si t\u00eb p\u00ebrdorim feedback-un e p\u00ebrdoruesve p\u00ebr artikujt tekstual\u00eb p\u00ebr t\u00eb nd\u00ebrtuar nj\u00eb p\u00ebrfaq\u00ebsim vektorial t\u00eb videove?<\/b><\/p>\n<p>Fillimisht ne rekomanduam vet\u00ebm artikuj tekstual\u00eb, prandaj algoritmet tona jan\u00eb t\u00eb orientuara p\u00ebr k\u00ebt\u00eb lloj p\u00ebrmbajtjeje. Por me shtimin e p\u00ebrmbajtjes s\u00eb llojeve t\u00eb tjera, u p\u00ebrball\u00ebm me nevoj\u00ebn p\u00ebr t\u00eb adaptuar modelet. Si e zgjidh\u00ebm k\u00ebt\u00eb problem duke marr\u00eb shembull videon? Nj\u00eb nga mund\u00ebsit\u00eb ishte t\u00eb rip\u00ebrdoreshim t\u00eb gjitha modelet nga e para. Por kjo \u00ebsht\u00eb e gjat\u00eb, gjithashtu disa algoritme k\u00ebrkojn\u00eb sasi t\u00eb madhe t\u00eb t\u00eb dh\u00ebnave p\u00ebr trajnim, t\u00eb cilat nuk jan\u00eb akoma n\u00eb sasin\u00eb e nevojshme p\u00ebr p\u00ebrmbajtjen e llojeve t\u00eb reja n\u00eb momentet e para t\u00eb jet\u00ebs s\u00eb saj n\u00eb sh\u00ebrbim.<\/p>\n<p>Ne ndoq\u00ebm nj\u00eb rrug\u00eb tjet\u00ebr dhe rip\u00ebrdor\u00ebm modelet tekstuale p\u00ebr videon. N\u00eb krijimin e p\u00ebrfaq\u00ebsimeve vektoriale t\u00eb videove na ndihmoi prap\u00eb truku me ALS. Ne mor\u00ebm p\u00ebrfaq\u00ebsimin vektorial t\u00eb p\u00ebrdoruesve t\u00eb bazuar n\u00eb artikujt tekstual\u00eb dhe b\u00ebm\u00eb nj\u00eb hap ALS, duke p\u00ebrdorur informacionin mbi shikimet e videove. K\u00ebshtu ne mor\u00ebm pa asnj\u00eb v\u00ebshtir\u00ebsi p\u00ebrfaq\u00ebsimin vektorial t\u00eb videove. Dhe n\u00eb koh\u00ebn e ekzekutimit ne thjesht llogarisim af\u00ebrsin\u00eb midis vektorit t\u00eb p\u00ebrdoruesit, t\u00eb marr\u00eb mbi baz\u00ebn e artikujve tekstual\u00eb, dhe vektorit t\u00eb videos.<\/p>\n<h2>P\u00ebrfundimi<\/h2>\n<p>\nZhvillimi i b\u00ebrtham\u00ebs s\u00eb sistemit rekomandues n\u00eb koh\u00eb reale \u00ebsht\u00eb i lidhur me shum\u00eb detyra. Duhet t\u00eb p\u00ebrpunojm\u00eb t\u00eb dh\u00ebnat shpejt dhe t\u00eb aplikojm\u00eb metoda ML p\u00ebr t\u00eb p\u00ebrdorur k\u00ebto t\u00eb dh\u00ebna n\u00eb m\u00ebnyr\u00eb efektive; t\u00eb nd\u00ebrtojm\u00eb sisteme t\u00eb nd\u00ebrlikuara t\u00eb shp\u00ebrndara, t\u00eb cilat jan\u00eb n\u00eb gjendje t\u00eb p\u00ebrpunojn\u00eb sinjalet e p\u00ebrdoruesve dhe nj\u00ebsit\u00eb e reja t\u00eb p\u00ebrmbajtjes p\u00ebr nj\u00eb koh\u00eb minimale; dhe shum\u00eb detyra t\u00eb tjera.<\/p>\n<p>N\u00eb sistemin aktual, i cili \u00ebsht\u00eb p\u00ebrshkruar, cil\u00ebsia e rekomandimeve p\u00ebr p\u00ebrdoruesit rritet bashk\u00eb me aktivitetin dhe q\u00ebndrimin e tij n\u00eb sh\u00ebrbim. Por natyrisht, k\u00ebtu q\u00ebndron dhe v\u00ebshtir\u00ebsia kryesore: sistemi ka t\u00eb v\u00ebshtir\u00eb t\u00eb kuptoj\u00eb menj\u00ebher\u00eb interesat e nj\u00eb personi q\u00eb ka nd\u00ebrvepruar pak me p\u00ebrmbajtjen. P\u00ebrmir\u00ebsimi i rekomandimeve p\u00ebr p\u00ebrdoruesit e rinj \u00ebsht\u00eb detyra jon\u00eb kryesore. Ne do t\u00eb vazhdojm\u00eb t\u00eb optimizojm\u00eb algoritmet, n\u00eb m\u00ebnyr\u00eb q\u00eb p\u00ebrmbajtja relevante t\u00eb arrij\u00eb m\u00eb shpejt n\u00eb feed-in e tij, nd\u00ebrsa ajo q\u00eb nuk \u00ebsht\u00eb relevante t\u00eb mos shfaqet.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/490140\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0432\u0435\u043b \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e, \u044f ML-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0437\u0435\u043d \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439. \u0418\u0437 \u043f\u043e\u0441\u0442\u0430 \u0432\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u043e \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f; \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0435 \u0440\u0430\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b (\u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0438\u0437 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":71853,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-71852","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0432\u0435\u043b \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e, \u044f ML-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0437\u0435\u043d \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0432\u0435\u043b \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e, \u044f ML-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0437\u0435\u043d \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-28T17:59:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:14:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Si punojm\u00eb p\u00ebr cil\u00ebsin\u00eb dhe shpejt\u00ebsin\u00eb e rekomandimeve | ProHoster","description":"M\u00eb quajn\u00eb Pavel Parhomenko, jam zhvillues ML. N\u00eb k\u00ebt\u00eb artikull do t\u00eb doja t\u00eb flas p\u00ebr funksionimin e sh\u00ebrbimit Yandex.Dzen dhe t\u00eb ndaj p\u00ebrmir\u00ebsimet teknike q\u00eb lejuan rritjen e cil\u00ebsis\u00eb s\u00eb rekomandimeve.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0432\u0435\u043b \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e, \u044f ML-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0437\u0435\u043d \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-rabotaem-nad-kachestvom-i-skorostyu-podbora-rekomendaczij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-28T17:59:58+00:00","article:modified_time":"2020-03-03T13:14:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"71852","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:55:28","updated":"2022-10-09 15:47:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/71852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=71852"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/71852\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/71853"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=71852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=71852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=71852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}