Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем

Номи ман Павел Пархоменко, ман таҳиягари ML ҳастам. Дар ин мақола ман мехоҳам дар бораи сохтори хидматрасонии Yandex.Zen сухан ронам ва беҳбуди техникиро мубодила кунам, ки татбиқи онҳо имкон дод, ки сифати тавсияҳо баланд гардад. Аз ин паём шумо мефаҳмед, ки чӣ гуна дар байни миллионҳо ҳуҷҷатҳо дар тӯли чанд миллисонияҳо мувофиқтарин барои корбарро пайдо кунед; чӣ гуна тақсимоти пайвастаи матритсаи калон (иборат аз миллионҳо сутунҳо ва даҳҳо миллион сатрҳо) анҷом дода мешавад, то ҳуҷҷатҳои нав вектори худро дар даҳҳо дақиқа қабул кунанд; Чӣ тавр аз нав истифода бурдани таҷзияи матритсаи корбар-мақола барои ба даст овардани муаррифии хуби векторӣ барои видео.

Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем

Пойгоҳи тавсиявии мо миллионҳо ҳуҷҷатҳои форматҳои гуногунро дар бар мегирад: мақолаҳои матние, ки дар платформаи мо сохта шудаанд ва аз сайтҳои беруна, видеоҳо, ривоятҳо ва паёмҳои кӯтоҳ гирифта шудаанд. Рушди чунин хидмат бо шумораи зиёди мушкилоти техникӣ алоқаманд аст. Дар ин ҷо баъзе аз онҳо ҳастанд:

  • Вазифаҳои компютериро тақсим кунед: ҳама амалиётҳои вазнинро офлайн иҷро кунед ва дар вақти воқеӣ танҳо татбиқи зуди моделҳоро иҷро кунед, то 100-200 мс масъул бошед.
  • Амалҳои корбаронро зуд ба назар гиред. Барои ин, зарур аст, ки ҳама рӯйдодҳо фавран ба тавсиядиҳанда расонида шаванд ва ба натиҷаҳои моделҳо таъсир расонанд.
  • Наворро тавре созед, ки барои корбарони нав он ба рафтори онҳо зуд мутобиқ шавад. Одамоне, ки нав ба система пайвастанд, бояд эҳсос кунанд, ки фикру мулоҳизаҳои онҳо ба тавсияҳо таъсир мерасонанд.
  • Зуд фаҳмед, ки мақолаи навро ба кӣ тавсия диҳед.
  • Ба пайдоиши доимии мундариҷаи нав зуд ҷавоб диҳед. Хар руз даххо хазор макола чоп мешавад ва аксари онхо умри махдуд доранд (гуед хабар). Ин он чизест, ки онҳоро аз филмҳо, мусиқӣ ва дигар мундариҷаи дарозмуддат ва гаронарзиш барои эҷод фарқ мекунад.
  • Интиқоли дониш аз як минтақаи домен ба дигараш. Агар системаи тавсияҳо барои мақолаҳои матнӣ моделҳои омӯзонидашуда дошта бошад ва мо ба он видео илова кунем, мо метавонем моделҳои мавҷударо дубора истифода барем, то навъи нави мундариҷа беҳтар ҷой гирад.

Ман ба шумо мегӯям, ки мо ин мушкилотро чӣ гуна ҳал кардем.

Интихоби номзадҳо

Чӣ гуна метавон шумораи ҳуҷҷатҳои баррасишавандаро дар тӯли чанд миллисония ҳазорҳо маротиба кам кард, аммо сифати рейтингро амалан бад накунад?

Фарз мекунем, ки мо бисёр моделҳои ML-ро омӯзонидем, дар асоси онҳо хусусиятҳо тавлид кардем ва модели дигареро омӯзонидем, ки ҳуҷҷатҳоро барои корбар рейтинг мекунад. Ҳама чиз хуб мебуд, аммо шумо наметавонед танҳо дар вақти воқеӣ ҳама аломатҳоро барои ҳама ҳуҷҷатҳо гирифта ҳисоб кунед, агар миллионҳо ин ҳуҷҷатҳо вуҷуд дошта бошанд ва тавсияҳо бояд дар 100-200 мс сохта шаванд. Вазифа аз он иборат аст, ки як зермаҷмӯаи муайян аз миллионҳо интихоб карда шавад, ки барои корбар дараҷабандӣ карда мешавад. Ин марҳила одатан интихоби номзад номида мешавад. Барои он якчанд талабот вуҷуд дорад. Аввалан, интихоб бояд хеле зуд сурат гирад, то ки барои худи рейтинг ҳарчи бештар вақт боқӣ монад. Сониян, шумораи ҳуҷҷатҳоро барои рейтинг хеле кам карда, мо бояд ҳуҷҷатҳои марбут ба корбарро то ҳадди имкон пурра нигоҳ дорем.

Принсипи интихоби номзадҳои мо таҳаввул ёфт ва дар айни замон мо ба нақшаи бисёрмарҳила расидаем:

Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем

Аввалан, ҳамаи ҳуҷҷатҳо ба гурӯҳҳо тақсим карда мешаванд ва аз ҳар гурӯҳ ҳуҷҷатҳои маъмултарин гирифта мешаванд. Гурӯҳҳо метавонанд сайтҳо, мавзӯъҳо, кластерҳо бошанд. Барои ҳар як корбар дар асоси таърихи ӯ гурӯҳҳои ба ӯ наздиктарин интихоб карда мешаванд ва беҳтарин ҳуҷҷатҳо аз онҳо гирифта мешаванд. Мо инчунин индекси kNN-ро барои интихоби ҳуҷҷатҳое истифода мебарем, ки дар вақти воқеӣ ба корбар наздиктаранд. Якчанд усулҳои сохтани индекси kNN вуҷуд доранд; усули мо беҳтарин кор кард HNSW (Графикҳои иерархивии ҷаҳонии хурд). Ин модели иерархӣ мебошад, ки ба шумо имкон медиҳад, ки N вектори наздиктаринро барои корбар аз пойгоҳи додаҳои миллионҳо дар чанд миллисония пайдо кунед. Мо аввал тамоми базаи ҳуҷҷатҳои худро офлайн индексатсия мекунем. Азбаски ҷустуҷӯ дар индекс хеле зуд кор мекунад, агар якчанд дохилкунии қавӣ вуҷуд дошта бошад, шумо метавонед якчанд индексҳо (як индекс барои ҳар як дохилкунӣ) эҷод кунед ва ба ҳар яки онҳо дар вақти воқеӣ дастрасӣ пайдо кунед.

Мо то ҳол барои ҳар як корбар даҳҳо ҳазор ҳуҷҷат дорем. Ин барои ҳисоб кардани ҳамаи хусусиятҳо ҳанӯз бисёр аст, бинобар ин дар ин марҳила мо рейтинги сабукро истифода мебарем - модели рейтинги вазнини сабук бо хусусиятҳои камтар. Вазифа иборат аз он аст, ки кадом ҳуҷҷатҳои модели вазнин дар боло дошта бошанд. Ҳуҷҷатҳои дорои пешгӯии баландтарин дар модели вазнин, яъне дар марҳилаи охирини рейтинг истифода мешаванд. Ин равиш ба шумо имкон медиҳад, ки пойгоҳи додаҳои ҳуҷҷатҳои барои корбар баррасӣшударо дар даҳҳо миллисонияҳо аз миллионҳо то ҳазорҳо кам кунед.

ALS қадам дар вақти кор

Чӣ гуна бояд фикру мулоҳизаҳои корбаронро фавран пас аз клик ба назар гирифт?

Омили муҳими тавсияҳо вақти вокуниш ба фикру мулоҳизаҳои корбарон мебошад. Ин махсусан барои корбарони нав муҳим аст: вақте ки шахс танҳо ба истифода аз системаи тавсиявӣ шурӯъ мекунад, вай як канали шахсии ҳуҷҷатҳои мавзӯъҳои гуногунро мегирад. Ҳамин ки ӯ бори аввал клик мекунад, шумо бояд фавран инро ба назар гиред ва ба манфиатҳои ӯ мутобиқ шавед. Агар шумо ҳамаи омилҳоро офлайн ҳисоб кунед, вокуниши зуди система аз сабаби таъхир ғайриимкон мегардад. Аз ин рӯ, зарур аст, ки амалиёти корбарон дар вақти воқеӣ коркард карда шаванд. Бо ин мақсадҳо, мо қадами ALS-ро дар вақти корӣ барои сохтани намояндагии вектории корбар истифода мебарем.

Фарз мекунем, ки мо барои ҳама ҳуҷҷатҳо намояндагии векторӣ дорем. Масалан, мо метавонем дар асоси матни мақола бо истифода аз ELMo, BERT ё дигар моделҳои омӯзиши мошинсозӣ дар офлайн насб кунем. Чӣ тавр мо метавонем тасвири вектории корбаронро дар як фазо дар асоси ҳамкории онҳо дар система ба даст орем?

Принсипи умумии ташаккул ва таҷзияи матритсаи истифодабаранда-ҳуҷҷатБиёед m корбар ва n ҳуҷҷат дошта бошем. Барои баъзе корбарон, муносибати онҳо ба ҳуҷҷатҳои муайян маълум аст. Пас ин маълумотро метавон ҳамчун матритсаи m x n муаррифӣ кард: сатрҳо ба истифодабарандагон ва сутунҳо ба ҳуҷҷатҳо мувофиқат мекунанд. Азбаски шахс аксари ҳуҷҷатҳоро надидааст, аксари ҳуҷайраҳои матритса холӣ мемонанд, дар ҳоле ки дигарон пур мешаванд. Барои ҳар як ҳодиса (писанд кардан, нописанд кардан, клик кардан) дар матритса арзише пешбинӣ шудааст - аммо биёед модели соддакардашударо дида бароем, ки дар он лайк ба 1 ва нописандӣ ба -1 мувофиқат мекунад.

Биёед матритсаро ба ду тақсим кунем: P (m x d) ва Q (d x n), ки дар он d андозаи муаррифии вектор (одатан адади хурд) мебошад. Он гоҳ ҳар як объект ба вектори d-ченака мувофиқ хоҳад буд (барои корбар - сатр дар матритсаи P, барои ҳуҷҷат - сутун дар матритсаи Q). Ин векторҳо ҷойгиркунии объектҳои мувофиқ хоҳанд буд. Барои пешгӯӣ кардани он, ки оё ба корбар ҳуҷҷат маъқул мешавад, шумо метавонед танҳо дохилкунии онҳоро зиёд кунед.

Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем
Яке аз роҳҳои имконпазири таҷзияи матритса ALS (Alternating Least Squares) мебошад. Мо функсияи талафоти зеринро оптимизатсия мекунем:

Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем

Дар ин ҷо rui таъсири мутақобилаи корбари u бо ҳуҷҷати i, qi вектори ҳуҷҷати i, pu вектори корбар u мебошад.

Сипас вектори оптималии корбар аз нуқтаи назари хатои миёнаи квадратӣ (барои векторҳои ҳуҷҷати собит) ба таври аналитикӣ бо роҳи ҳалли регрессияи хаттии мувофиқ пайдо мешавад.

Ин "қадами ALS" номида мешавад. Ва худи алгоритми ALS ин аст, ки мо ба таври навбатӣ яке аз матритсаҳоро ислоҳ мекунем (истифодабарандагон ва мақолаҳо) ва дигареро навсозӣ карда, ҳалли оптималиро пайдо мекунем.

Хушбахтона, дарёфти муаррифии вектори корбар як амалиёти хеле зуд аст, ки онро дар вақти корӣ бо истифода аз дастурҳои векторӣ анҷом додан мумкин аст. Ин ҳилла ба шумо имкон медиҳад, ки фавран фикру мулоҳизаҳои корбаронро дар рейтинг ба инобат гиред. Барои беҳтар кардани интихоби номзадҳо, дар индекси kNN низ ҳамон дохилкунӣ истифода мешавад.

Филтри муштараки тақсимшуда

Чӣ тавр факторизатсияи матритсаи тақсимшудаи афзоянда ва зуд пайдо кардани намояндагии вектории мақолаҳои нав?

Мундариҷа ягона манбаи сигналҳои тавсиявӣ нест. Сарчашмаи дигари муҳим ин иттилооти муштарак аст. Хусусиятҳои рейтингии хубро одатан аз таҷзияи матритсаи ҳуҷҷати корбар ба даст овардан мумкин аст. Аммо ҳангоми кӯшиши анҷом додани чунин таҷзия, мо ба мушкилот дучор шудем:

1. Мо миллионҳо ҳуҷҷат ва даҳҳо миллион корбар дорем. Матритса ба як мошин комилан мувофиқат намекунад ва таҷзия вақти хеле тӯлониро мегирад.
2. Аксарияти мундариҷа дар система мӯҳлати кӯтоҳ доранд: ҳуҷҷатҳо танҳо барои чанд соат аҳамияти худро нигоҳ медоранд. Бинобар ин, ҳарчи зудтар тасвири вектории онҳоро сохтан лозим аст.
3. Агар шумо фавран пас аз нашри ҳуҷҷат таҷзия созед, шумораи кофии корбарон барои арзёбии он вақт надоранд. Аз ин рӯ, муаррифии вектории он эҳтимолан чандон хуб нахоҳад буд.
4. Агар корбар писанд бошад ё нописанд бошад, мо наметавонем инро фавран дар таҷзия ба назар гирем.

Барои ҳалли ин мушкилот, мо тақсимоти тақсимшудаи матритсаи корбар-ҳуҷҷатро бо навсозии зуд-зуд афзоянда амалӣ кардем. Он маҳз чӣ гуна кор мекунад?

Фарз мекунем, ки мо як кластери N мошин дорем (N дар садҳо аст) ва мо мехоҳем таҷзияи тақсимшудаи матритсаро дар онҳо кунем, ки ба як мошин мувофиқат намекунад. Саволе ба миён меояд, ки ин декомпозицияро чй тавр бояд ичро кард, то ки аз як тараф, дар хар як машина маълумоти кофй мавчуд бошад ва аз тарафи дигар, хисобхо мустакил бошанд?

Чӣ тавр мо дар сифат ва суръати интихоби тавсияҳо кор мекунем

Мо алгоритми таҷзияи ALS-ро дар боло тавсиф мекунем. Биёед бубинем, ки чӣ гуна як қадами ALS-ро ба таври тақсимшуда иҷро кардан мумкин аст - қадамҳои боқимонда монанд хоҳанд буд. Фарз мекунем, ки мо матритсаи собит ҳуҷҷат дорем ва мо мехоҳем матритсаи корбаронро созем. Барои ин, мо онро ба N қисм бо сатрҳо тақсим мекунем, ки ҳар як қисм тақрибан ҳамон шумораи сатрҳоро дар бар мегирад. Мо ба ҳар як мошин ячейкаҳои холии сатрҳои мувофиқ, инчунин матритсаи дохилкунии ҳуҷҷатҳоро (комилан) мефиристем. Азбаски андозаи он чандон калон нест ва матритсаи ҳуҷҷати корбар одатан хеле кам аст, ин маълумот ба мошини муқаррарӣ мувофиқат мекунад.

Ин ҳилла метавонад дар тӯли якчанд давраҳо такрор карда шавад, то он даме, ки модел ба ҳам наздик шавад ва матритсаи собитро як ба як иваз кунад. Аммо ҳатто дар ин ҳолат, таҷзияи матритса метавонад якчанд соатро дар бар гирад. Ва ин масъаларо ҳал намекунад, ки ба шумо лозим аст, ки воридкунии ҳуҷҷатҳои навро зуд қабул кунед ва воридкунии ҳуҷҷатҳоеро, ки дар бораи онҳо ҳангоми сохтани модел маълумот кам буд, навсозӣ кунед.

Ҷорӣ кардани навсозиҳои босуръати модел ба мо кӯмак кард. Фарз мекунем, ки мо модели ҳозира омӯзонидашуда дорем. Аз замони омӯзиши ӯ, мақолаҳои наве мавҷуданд, ки корбарони мо бо онҳо муошират мекарданд, инчунин мақолаҳое, ки дар давоми омӯзиш каме ҳамкорӣ доштанд. Барои зуд ба даст овардани ҷобаҷогузории ин гуна мақолаҳо, мо воридкуниҳои корбареро, ки дар давраи омӯзиши аввалини модел ба даст оварда шудаанд, истифода мебарем ва як қадами ALS-ро барои ҳисоб кардани матритсаи ҳуҷҷате, ки ба матритсаи собити корбар дода шудааст, иҷро мекунем. Ин ба шумо имкон медиҳад, ки дохилкуниро хеле зуд қабул кунед - дар давоми чанд дақиқа пас аз интишори ҳуҷҷат - ва аксар вақт дохилкунии ҳуҷҷатҳои охиринро навсозӣ кунед.

Барои фавран ба инобат гирифтани тавсияҳо амалҳои инсон, дар вақти корӣ мо воридкунии корбарро, ки офлайн гирифта шудаанд, истифода намебарем. Ба ҷои ин, мо як қадами ALS мекунем ва вектори воқеии корбарро мегирем.

Интиқол ба минтақаи домени дигар

Чӣ гуна фикру мулоҳизаҳои корбарро дар мақолаҳои матнӣ барои сохтани намоиши вектории видео истифода бурдан мумкин аст?

Дар аввал, мо танҳо мақолаҳои матниро тавсия додем, аз ин рӯ бисёре аз алгоритмҳои мо ба ин намуди мундариҷа мутобиқ карда шудаанд. Аммо ҳангоми илова кардани намудҳои дигари мундариҷа, мо ба зарурати мутобиқ кардани моделҳо дучор шудем. Чӣ тавр мо бо истифода аз мисоли видео ин мушкилотро ҳал кардем? Як вариант ин аст, ки ҳама моделҳоро аз сифр бозомӯзед. Аммо ин вақти зиёдро талаб мекунад ва баъзе алгоритмҳо андозаи намунаи таълимро талаб мекунанд, ки барои намуди нави мундариҷа дар лаҳзаҳои аввали ҳаёти худ дар хидмат ҳанӯз ба миқдори зарурӣ дастрас нест.

Мо бо роҳи дигар рафтем ва моделҳои матниро барои видео дубора истифода бурдем. Ҳамин ҳиллаи ALS ба мо кӯмак кард, ки тасвирҳои вектории видеоҳоро эҷод кунем. Мо дар асоси мақолаҳои матнӣ намояндагии вектории корбаронро гирифтем ва бо истифода аз маълумоти намоиши видео қадами ALS анҷом додем. Ҳамин тавр, мо ба осонӣ тасвири вектории видеоро гирифтем. Ва дар вақти кор мо танҳо наздикии вектори корбаре, ки аз мақолаҳои матнӣ гирифта шудааст ва вектори видеоро ҳисоб мекунем.

хулоса

Таҳияи асосии системаи тавсиядиҳии вақти воқеӣ мушкилоти зиёдеро дар бар мегирад. Шумо бояд маълумотро зуд коркард кунед ва усулҳои ML-ро истифода баред, то ин маълумотро самаранок истифода баред; сохтани системаҳои мураккаби тақсимшуда, ки қодир ба коркарди сигналҳои корбар ва воҳидҳои нави мундариҷа дар муддати ҳадди аққал; ва бисьёр дигар вазифахо.

Дар системаи ҷорӣ, ки тарҳи онро ман тавсиф кардам, сифати тавсияҳо барои корбар баробари фаъолият ва давомнокии будубоши ӯ дар хидмат меафзояд. Аммо, албатта, душвории асосй дар ин чост: барои система фавран фахмидани манфиатхои шахсе, ки бо мазмун кам алока дорад, душвор аст. Такмили тавсияҳо барои корбарони нав ҳадафи асосии мост. Мо оптимизатсияи алгоритмҳоро идома медиҳем, то мундариҷаи марбут ба шахс зудтар ба канали ӯ ворид шавад ва мундариҷаи номувофиқ нишон дода нашавад.

Манбаъ: will.com

Илова Эзоҳ