Twitter ұсыныс алгоритмі
Бірнеше күн бұрын бұл жаңалық шықты Twitter бастапқы кодты шығарды жиынтық үшін «Ұсыныс алгоритмі», іске қосу уақыт шкаласында пайдаланушыға көрсетілетін ұсынылған хабар арнасын жасау үшін пайдаланылатын қызметтер мен драйверлерді қамтиды.
Ашықтықты қамтамасыз етумен және пайдаланылатын алгоритмдердің тәуелсіз аудитін жүргізуге мүмкіндік берумен қатар, Twitter тарту сұрауларын қабылдауға дайын екенін білдірді Алгоритмдерді жақсартатын өзгертулері бар қауымдастықтан, оларды қарап шыққаннан кейін Twitter жұмыс кодтық базасына көшіруге болады.
Twitter 2.0 жүйесінде біз Интернеттегі қоғамдық алаң ретінде платформамызды ашық ету үшін жауаптымыз деп есептейміз. Сондықтан бүгін біз жаңа ашықтық дәуірінің алғашқы қадамын жасаймыз және бастапқы кодымыздың көп бөлігін жаһандық қауымдастыққа ашып отырмыз.
Шығарылған код туралы, ұсыныстар лентасын құру үш кезеңге бөлінгені айтылады негізгі:
- Әртүрлі көздерден ең жақсы твиттерді алыңыз (кандидаттарды іздеу). Бұл кезеңде дереккөздер ретінде мыналар пайдаланылады: жазылымы бар адамдардың хабарламаларын қамтитын іздеу индексін индекстеу жүйесі (In-Network); жазылмаған (желіден тыс) адамдардың хабарламаларын қамтитын әртүрлі көмекші қызметтерден хабарламаларды шығаруға арналған cr-миксер қабаты; пайдаланушының ағымдағы өзара әрекеттесу графигі негізінде хабарламаларды шығару үшін пайдаланушы-твит-нұсқа-график (UTEG) құрамдас бөлігі; Ұсынысты бақылау қызметі (FRS) бақыланатын пайдаланушылардың белсенділігіне негізделген ұсыныстарды жасау үшін. Арнада жазбалардың жартысына жуығы жазылымы бар адамдардан келеді.
- Таңдалған твиттер классификациясы машиналық оқыту моделін пайдалану. Екі рейтингтік жүйе қолданылады: іздеу индексін пайдаланатын жеңіл рейтинг үлгісі және ең сәйкес кандидаттарды таңдау үшін ауыр дәрежелі нейрондық желі.
- Хабарларды жою үшін сүзгілер мен эвристиканы қолдану бұғатталған, әдепсіз немесе әлдеқашан көрген. Үйдегі араластырғыш құрамдас бөлігі арнаны қалыптастыру үшін және сүзу үшін көріну сүзгі жүйесі пайдаланылады. Сонымен қатар, іздеу индексінен твиттерді алу үшін пайдаланылған ескі timelineranker жүйесі ашық кодталған.
Twitter ұсыныстарының негізі Tweet, пайдаланушы және келісім деректерінен жасырын ақпаратты алатын негізгі үлгілер мен мүмкіндіктер жиынтығы болып табылады. Бұл модельдер Twitter желісі туралы маңызды сұрақтарға жауап беруге бағытталған, мысалы, «Сіздің болашақта басқа пайдаланушымен әрекеттесу ықтималдығы қандай?». немесе «Твиттердегі қауымдастықтар және олардың ішіндегі трендті твиттер қандай?» Бұл сұрақтарға нақты жауап беру Twitter-ге көбірек сәйкес ұсыныстарды ұсынуға мүмкіндік береді.
Сонымен қатар, көмекші компоненттердің коды да бөлектелген ол да ашық:
- simclusters-ann: мүдделері ұқсас қауымдастықтарды анықтау үшін пайдаланылады.
- TwHIN: бұл пайдаланушылар мен твиттер (жазылушылар, пайдаланушы таңдаған твиттер, жарнамаларды басу) туралы білім графиктерін құру функциясына ие.
- сенім және қауіпсіздік үлгілері: орынсыз, әдепсіз және қорлайтын мазмұнды анықтауға арналған үлгілер.
- нақты график: әртүрлі пайдаланушылар арасындағы өзара әрекеттесуді болжауға арналған модель.
- tweepcred : олардың жазбаларына сілтемелер негізінде пайдаланушының беделін есептеу алгоритмі (Page-Rank).
recos-инжектор: GraphJet қызметтері үшін кірістерді генерациялайтын оқиғалар ағынының контроллері болып табылады. - граф-функция-қызмет: "A" пайдаланушысы "B" пайдаланушысының твиттерін қаншалықты бағалайтыны сияқты екі пайдаланушының өзара әрекеттесуін бағалауға арналған график функциялары.
- кеме: машиналық оқыту үлгілерін өңдеуге арналған жоғары өнімді сервер болып табылады (Rust тілінде жазылған).
- өнім араластырғыш: әртүрлі көздерден алынған мазмұн бар жем генераторы.
- twml: ескі машиналық оқыту жүйесі (TensorFlow v1 шанышқысы).
Нені атап өткен жөн көз AGPLv3 лицензиясы бойынша ашық. Іске асыруда Scala (53,8%), Java (29,7%), Starlark (6,3%), Python (4,7%), C++ (2,4%) және Rust (1,5%) бағдарламалау тілдері қолданылды.
Twitter-де қолданылатын машиналық оқыту үлгілерімен байланысты код жеке репозиторийде жарияланады (үлгілердің өзі қауіпсіздік және құпиялылық себептері бойынша жарияланбайды). Жарнамалық ұсыныстарды жасауға арналған құрамдас бөліктер де шығарылмаған.
Егер сіз болсаңыз бұл туралы көбірек білуге мүдделі, егжей-тегжейін тексере аласыз келесі сілтеме.
Бірінші болып пікір айтыңыз