Instagram Clickbait ismarıclarını proqnozlaşdırmaq

Unsplash-də Ben Kolde-nin şəkli

Bu, İnstagram-da tıklayan yazıları (ikili təsnifat problemi) proqnozlaşdıran bir məlumat elmidir. Məlumat mənbəyi və təqib edə biləcəyiniz kod olan Jupyter Notebook ilə burada tanış ola bilərsiniz. Layihə araşdırma məlumatlarının təhlili ilə başlayır, sonra model sınanma və tənzimləmə aparılır və model seçimi və iş fikirləri ilə başa çatır.

Problem anlayışı

İnstagram moda markaları üçün birbaşa istehlakçıları ilə əlaqə qura biləcəkləri bir dəyərli sosial media platforması olaraq meydana gəldi. Platformanın vizual məzmun cütlüyünə vurğu moda və üsluba uyğun gəlir, buna görə də İnstagram təbii olaraq stil və geyim üçün məhsul kəşf etmə variantına çevrilməyi araşdırdı. Bizim həll etdiyimiz iş problemi, xüsusən də moda markaları kontekstində İnstaqramda istifadəçi əlaqəsini necə inkişaf etdirməkdir.

Clickbait yazıları, bütün sosial media platformalarının həll etdiyi bir mövzudur. Müəyyən bir dərəcədə istifadəçi nişanını stimullaşdıra bilsələr də, ümumi istifadəçi təcrübəsinə mənfi təsir göstərir və İnstagram-da məhsulun açılması prosesinə müdaxilə edə bilərlər. Bu model istifadəçilərin maraqlandıqları məhsulları tapmalarına mane olan Clickbait yazılarını müəyyənləşdirməyə kömək edə bilər və bununla da istifadəçi əlaqəsini, tövsiyə alqoritmini yaxşılaşdırır və İnstagram-a üslub və dəb üçün məhsul axtarış platforması olaraq böyümək imkanı verir.

Məlumat Anlayışı

Məlumatlarda İnstaqram yazılarında olan bəyənmə və şərhlərin sayı, izləyicilərin sayı və afişanın izlənmə sayı kimi standart ölçülər yer alır. Ayrıca, mövzuların uzunluğu, hashtaglar, URL daxil edilməsi və populyar hashtag daxilolmaları araşdırılır. Nəhayət, şəkilin müəyyən bir keyfiyyətə sahib olma ehtimalını göstərən şəkil əlamətləri var, məsələn, açıq bir şəkil və ya şəkildə markanın loqotipi var. Bu ehtimalları 1s və 0-lərə çevirmək üçün bir ərəfə təyin edə bilərik, amma yazıların şəkillərini görmədiyim üçün inamımı bildirmək üçün təsadüfi bir nömrədən istifadə etmək istəmirəm.

Qarşıdakı modelləri müqayisə etmək üçün bir təməl dəqiqlik hesabına sahib olmalıyıq. Bu verilənlər bazasında tıklayan yazıların nisbətinin təxminən 45% olduğunu hesabladım. Verilənlər bazasındakı yazıların təxminən 45% -i Clickbait ismarıcları olduğundan, 55% -i vurulmayan yazıdır. Bir model ismarışların hamısının tıklanmayacağını güman etsə, bu zamanın 55% -i düzgün olardı, buna görə 55% bütün modellər üçün əsas dəqiqlik hesabıdır.

Tədqiqat təhlili

Şəxsi təcrübəmdən (Instagram mənim iPhone-da ən çox istifadə olunan tətbiqetmədir) istifadə edərək, clickbait yazıları və hashtagların uzunluğu arasındakı əlaqəni araşdıraraq başlamağı seçdim.

Skripka süjetləri qutulara nisbətən daha az istifadə olunur, lakin daha çox məlumat təqdim etdikləri üçün mən onlara üstünlük verirəm. Ortadakı ağ nöqtə median, qara çubu dördlülər aralığıdır (25% - 75%), eni isə tezliyi göstərir. Qeyd edək ki, buradakı y oxu hashtagların uzunluğunun təbii qeydidir. Tövsiyə sistemini fırıldaq etmək üçün daha çox hashtag daxil ediləcəyini tıkladığım yazıları gözlədim. Bu qrafik, intuisiyamın əleyhinə olan bir klik vurma yazıları ilə müqayisədə (5-6 arasında) uzunluq tez-tez daha yüksək olduğunu göstərir. Median uzunluğu tıklanmayan yazılara görə daha yüksəkdir. Bu nümunə gözlədiyimin əksinə olsa da, tıklanmayan yazıların proqnozlaşdırılmasında faydalı ola bilər. Bu qrafiki gördükdən sonra İnstaqramdakı hashtag uzunluğunu daha çox yoxlamağa başladım.

Sağlamlığı yoxlamaq üçün şəkilləri xarakterizə edən ehtimalların məna verib-verməməsini araşdıra bilərik. Dəniz dibindəki cüt sahələr bunun üçün əladır.

Məsələn, Üz və Selfie çox oxşar əlamətlərdir, buna görə bir selfie ehtimalı nə qədər yüksəkdirsə, bir üzü ehtiva etmək ehtimalı da o qədər yüksəkdir. ProductOnly və Selfie əks cəhətlərdir və dağınıq yer bunu göstərir. Maraqlı bir əlaqə BrandLogo və BodySnap-dır. Bəlkə də bədən şəkilləri ilə marka loqotipi o qədər kiçikdir ki, gözə çarpmır, amma mövcud ola bilər. Üz və Təbəssüm də bir qədər müsbət əlaqəlidir. Bəlkə üzləri olan şəkillər gülümsəməyə daha çox meyllidir. Bəzi kombinasiyalar loqotip və açıq havada olduğu kimi hər yerdə var.

Hashtagların və başlıqların uzunluğu arasındakı əlaqəni də araşdıra bilərik.

Hashtaglardan daha uzun yazıların olduğunu və bir çox yazıların alt yaşıl çubuklara görə ümumiyyətlə hashtagların olmadığını görürük. Təəccüblüdür, başlıq uzunluğu 4603 olan bir yazı var. İnstaqramın da bir yazıya icazə verdiyini düşünmədim. Gözlədiyim kimi, bu tıklayıcı idi. Mən də ən uzun hashtag (1702) ilə yazıları yoxladım, amma o, əslində klikbait deyildi.

Modelləşdirmə

Logistik Reqressiya

Burada ən sadə model, dəyişənlərin əmsallarını göstərən daha aydın bir model olan logistik reqressdir. Sadə bir logistik reqress, 10 qat çarpaz təsdiqləndikdən sonra 0.62 dəqiqliyinə malikdir. Əsas vəziyyətdən biraz daha yaxşıdır. Modelin seçdiyi ən vacib 10 xüsusiyyət, əmsallarının mütləq dəyəri ilə sıralanan aşağıdakılardır. Diqqət yetirin ki, şəkil qeyri-stil və açıq havada olma ehtimalı azdırsa, tıklanmayan yazı sayılır. Daha çox şərh və Logos və ProductOnly şəkillərinin daxil olma ehtimalının Clickbait olma ehtimalı daha yüksəkdir.

Qərar ağacı

Sadə qərar ağacı modeli 0.783 dəqiqliyinə malikdir, bu da Logistik Reqressiya dəqiqliyi hesabından daha yaxşıdır.

Hansı parametrlərin modelin daha yaxşı nəticələr verməyə imkan verdiyini görmək üçün ağacı da düzəldə bilərik. Max_depth populyar bir şeydir, buna görə maksimum_defth'i 1-dən 32-ə qədər sınayırıq və düzəldirik. Təlim dəstinin AUC-ın daima artdığını görə bilərik, amma test toplusu təxminən 10-dan sonra azalma tendensiyasındadır. Gözlədiyimiz kimi, dərinlik artdıqca həddindən artıq uyğunlaşma daha çox məsələyə çevrilir. Yeddi ağacda test dəsti AUC ən yüksəkdir: 0.858.

Xxx edən min_samples_leaf parametrlərini yoxlayırıq. Bu ikisini ən yaxşı model parametrlərini tapdığımız 10 qat çarpaz təsdiqləmə ilə bir şəbəkə axtarışına qoyun: 4 maksimum dərinlik, 0.12 min_samples_leaf. Burada AUC 0.875-dir, yalnız max_depth-i tənzimlədiyimizdən daha yüksəkdir.

Təsadüfi Meşə

Təsadüfi meşə modelinə keçmək. Sadə bir uyğunluq və proqnozdan doğruluq hesabı qərar ağacı modelindən daha yaxşı olduğunu göstərir. Təsadüfi meşəni n_estimatorlarda (ağacların sayı) və min_samples_leaf () da düzəldirik. Bu bir az vaxt tələb edir, lakin ən yaxşı parametrlər toplusundakı AUC balı 0.912-dir.

Təsadüfi Meşə xüsusiyyətlər üçün əmsallar vermir, lakin modelin tıklamaları təsnif etmə prosesindəki xüsusiyyətlərin əhəmiyyətini göstərir. NonFashion, ən vacib dəyişəndir, ardınca BrandLogo və Logo. Görünür şəkillər və ya yazıların digər hissələri, məsələn şərhlər və ya populyar hashtagların istifadəsi kimi göstəricilər daha çox idi. Lakin, bu rəqəmlər əmsal olmadığından, bu xüsusiyyətlərdən hər hansı birinin artması və ya azalmasının yazının tıklanmayan yazı olma ehtimalı və ya daha az olacağını müəyyənləşdirə bilmərik. Onlar sadəcə modelin proqnozlaşdırılan nəticəyə güclü təsir göstərən dəyişənlərin tapdığı bəzi işığa işıq saldılar.

XGBoost

XGBoost üçün grid axtarış tənzimləmə prosesini təkrarlayırıq. Ən yaxşı parametrlər dəsti üçün AUC balı, təsadüfi meşə modelini bir qədər məğlub edərək 0.915-dir.

İlk fərq etdiyim şey, bu dəyişənlərin təsadüfi meşə modeli ilə seçilənlərə çox bənzəyir, lakin ölçüləri ilə bir fərqdir. İki qrafikdən ardıcıl bir nümunə tapa bilərik: moda olmayan şəkillər, loqotiplərlə şəkillər, yazılarda istifadə olunan hashtagların uzunluğu klik yazısının təyin olunmasında əhəmiyyətli rol oynayır. Əvvəlki qrafikdən fərqli olaraq açıq bir üst 3 var. URL daxil edilməsi burada da vacibdir, lakin təsadüfi meşə modeli üçün deyil.

Dərin öyrənmə

Bu layihədə dərin öyrənmə və sinir şəbəkələrini sınamaq istədim. Dərin öyrənmə çox vaxt böyük məlumat məcmusu (on və ya yüz minlərlə satır) və xüsusiyyətlər arasında çox sayda (çox dəyişən) dəyişmək üçün daha çox istifadə olunur. Mətn mədəni, görüntü tanınması kimi istifadə hallarında bu modellərdən üstündür, buna görə xüsusilə təsadüfi meşə və XGBoost yüksək dəqiqlik skorları yaradan bu vəziyyətdə əla olacağını gözləmirəm. Hər biri 50 ədəd olmaqla iki təbəqə ilə model yalnız 0.463 dəqiqlik balı yaratdı ki, bu da ilkin göstəricidən daha pisdir.

Daha mürəkkəb və daha dərin bir modeli sınayaraq, başqa bir qat (3 cəmi) əlavə etdim və hər təbəqədəki vahidləri 100-ə dəyişdim. Performans 0.523 səviyyəsinə yüksəldi, bu da indiki bazadan daha pisdir. Buna baxmayaraq, bu vasitədən istifadə etmək yaxşı idi, amma sinir şəbəkəsini daha da təhlil etməyəcəyik.

Model seçimi

Əvvəlcə performans düşüncəsinə sahib olmaq üçün ROC əyrilərini düzəldirik. Xgboost və təsadüfi meşə modellərinin qərar ağacını əhəmiyyətli dərəcədə üstələdiyini tez bir zamanda təsbit edə bilərik, lakin performansları çox oxşardır.

Nisbi performansını görüntüləmək üçün üç modelin AUC puanlarını (ROC əyrisi altındakı sahə) və dəqiqlik ballarını da çəkə bilərik. Modelin getdikcə artan mürəkkəbliyini göstərmək üçün burada bir xətt cədvəlindən istifadə etdim və bir bar sahəsi ilə fərq 0-dan başlayan y oxu səbəbindən nəzərə çarpacaq dərəcədə nəzərə çarpır. Görürük ki, təsadüfi meşə modeli qərar ağacını kəskin dərəcədə üstələyir; lakin XBGoost modeli təsadüfi meşə ilə eyni şəkildə həyata keçirir.

AUC və dəqiqlik qiymətləndirmə üçün geniş istifadə olunan ölçülər olsa da, model üçün istifadə vəziyyətinə ən uyğun olan bir metrik seçməliyik. Dəqiqlik, modelin ümumi performansını dəqiq və qeyri-dəqiq proqnozlarda qiymətləndirir və səhv təsnifləşdirmə xərclərinin yanlış müsbət və ya yanlış mənfi cəhətləri ilə eyni olduğunu güman edir.

Bu vəziyyətdə, dəyəri təxminən eynidır? Yalançı Pozitivlərə (tıklamanı qeyri-klikbait kimi proqnozlaşdırmaqda) və / və ya Yalan Mənfi (klik vurmağı qeyri-clickbait kimi proqnozlaşdırmada) daha çox vurğu etməliyik? Sonuncu, clickbait ismarışlarının sistemdə mövcud olmalarına və istifadəçi təcrübəsini müəyyən dərəcədə sulandırmasına imkan verəcəkdir, lakin birincisi, postun tövsiyə kanallarından çıxarılmasına səbəb ola bilər və pullu bir yazı olsaydı böyük xəyal qırıqlığına səbəb ola bilər. Afişa, pullu yazıların pis məruz qalması səbəbindən maddi itkiyə də səbəb ola bilər. Düşüncəm budur ki, saxta pozitivlər daha çox zərər verə bildikləri üçün daha ağır cəzalandırılmalıdırlar, buna görə də dəqiq hesabladığı dəqiqliyi yoxlamaq lazımdır.

XGboost, sadəcə bu metrikada təsadüfi meşədən üstündür: 0.884 və 0.828. Bunun üçün daha çox hesablama gücünü tələb etməsi və daha uzun müddət davam etməsi, xərcin mükafata haqq qazandıracağını düşünmürəm. Günün sonunda gələcək proqnozlar üçün təsadüfi meşə modelini tövsiyə edirəm.

Yerləşdirmə və istifadə

Bu model İnstaqrama tövsiyə alqoritmindən tıklayan yazıları silmək və bununla da moda məhsulunun kəşf prosesindəki məzmunun keyfiyyətini, eləcə də ümumi istifadəçi təcrübəsini yaxşılaşdırmaq məqsədi ilə qurulmuşdur. Tövsiyə olunan model, təsadüfi meşə, alqoritmi yerləşdirildiyi andan etibarən yazılarda yerləşdirilməsini təmin edən bəyənmə və şərh sayı kimi əhəmiyyətli dərəcədə fərqlənə biləcək xüsusiyyətləri nəzərə almır. Bu, istifadəçi təcrübəsi və nişanlanmanı yaxşılaşdıraraq tövsiyə yemindən erkən çıxararaq yayımlanan klik yazılarının sayını azaldır. Bunu etmək, modelin möhkəmliyi üçün geniş sınaqdan sonra edilməlidir.

İstifadəçi nişanının həqiqətən yaxşılaşdırıldığını yoxlamaq üçün istifadəçilərin tövsiyə olunan yazılara baxmasına sərf etdiyi ortalama vaxt kimi ölçüləri yoxlaya bilər, tıklayan yazıları tıklayan istifadəçilərin fərqinə vardıqdan sonra vəzifəni tez tərk edəcəklərini və qiymətli olmayan yazıları təqdim edən yazıları tez bir zamanda buraxacağını ehtimal etməklə. məlumat istifadəçilərə baxdıqlarına daha çox vaxt sərf etmələrini təmin edər.

Məhdudiyyətlər

Nəticə vəd etsə də, giriş məlumatlarının keyfiyyətinə şübhə ilə yanaşıram. Əl ilə məlumat bazasına daxil edilmiş poçt URL-lərinə daxil olduqdan və yazının klik vurma və ya düzgün göstərilməməsini yoxladıqdan sonra nümunəmdəki bir sıra yazılarla razı deyiləm. Bütün mesajlar əl ilə orijinal kağızdakı izahatla birlikdə etiketləndi, buna görə bir yazıın həqiqətən bir klik yazı olduğu olub olmadığına dair mübahisə üçün əhəmiyyətli bir yer var. Bu analizin məqsədləri üçün etiketlənmənin düzgün aparıldığını güman etdim.

Nəticə

0.853 bir dəqiqlik balı ilə təsadüfi meşə modeli, ilkin dəqiqliyə görə əhəmiyyətli bir inkişafdır: 0.55. Onun icrası, şübhəsiz ki, tövsiyə alqoritmini yaxşılaşdırmağa kömək edərsə, səhv təsnifləşdirmə səhvlərini, xüsusən də saxta pozitivləri bilməlidir. Çıxış prosesini yaxından izləmək lazımdır.

Ümid edirəm ki, bu əsəri oxumağınızdan zövq aldınız və yaxşılaşdırmaq üçün hər hansı bir şərhiniz və ya təklifiniz varsa, lütfən aşağıda şərh verin və ya birbaşa mənə müraciət edin!

Əlavə mənbələr

Seçmək üçün hansı təsnifat ölçümləri