Zephyrnet Logosu

LinkedIn, Akışınızı Derecelendirmek İçin Makine Öğrenimini Nasıl Kullanır?

Tarih:

LinkedIn feed'i, bu web sitesindeki milyonlarca kullanıcının başlangıç ​​noktasıdır ve kullanıcılarda ilk izlenimi oluşturur ve bu, bildiğiniz gibi kalıcı olacaktır. Her kullanıcı için ilgi çekici, kişiselleştirilmiş bir yayına sahip olmak, LinkedIn'in en önemli temel değerini sunacaktır; bu, kullanıcıları ağlarına ve faaliyetlerine bağlı tutmak ve profesyonel kimlik ve ağ oluşturmaktır.

LinkedIn'in Kişiselleştirilmiş Akışı, kullanıcılara bağlantılarındaki güncellemeleri hızlı, verimli ve doğru bir şekilde görebilme rahatlığını sunar. Buna ek olarak, ilginizi canlı tutmak için spam içerikli, profesyonel olmayan ve alakasız içeriğinizi filtreler. Bunu yapmak için LinkedIn, bir dizi eyleme geçirilebilir gösterge ve tahmin sinyaline dayalı olarak hangi tür içeriğin ait olduğunu belirlemek için bir dizi kural uygulayarak haber akışınızı gerçek zamanlı olarak filtreler. Bu çözüm, Makine Öğrenimi ve Derin Öğrenme algoritmaları tarafından desteklenmektedir.

Bu makalede, LinkedIn'in kullanıcının sıralamasını beslemek için makine öğrenimini nasıl kullandığını ele alacağız. Daha önce bu iki makalede anlatıldığı gibi geleneksel bir makine öğrenimi projesinin iş akışını takip edeceğiz:

Makine öğrenimi projesi iş akışı, iş sorununun ifade edilmesi ve kısıtlamaların tanımlanmasıyla başlar. Daha sonra veri toplama ve veri hazırlama aşaması gelir. Daha sonra modelleme kısmı ve son olarak modelin devreye alınması ve üretime geçirilmesi. Bu adımlar LinkedIn akışının sıralaması bağlamında tartışılacaktır.

 

LinkedIn, Akışınızı Derecelendirmek İçin Makine Öğrenimini Nasıl Kullanır?

LinkedIn / Fotoğraf: Alexander Şatov on Unsplash

1.1. Sorun Bildirimi

Kullanıcının uzun vadeli katılımını en üst düzeye çıkarmak için kişiselleştirilmiş bir LinkedIn akışı tasarlamak. Çünkü LinkedIn feed'i, her kullanıcının uzun vadeli katılımını artırmak için faydalı profesyonel içerik sağlamalıdır. Bu nedenle düşük kaliteli içerikleri ortadan kaldıran ve yalnızca yüksek kaliteli profesyonel içerik bırakan modellerin geliştirilmesi önemlidir. Bununla birlikte, feed'deki içeriği filtrelemek konusunda aşırıya kaçmamak önemlidir, aksi takdirde birçok yanlış pozitifle sonuçlanacaktır. Bu nedenle sınıflandırma modellerinde yüksek kesinlik ve hatırlanabilirlik hedeflenmelidir.

Tıklama olasılığını ölçerek veya şu şekilde bilinir: Kullanıcı etkileşimini ölçebiliriz. Tıklama Oranı (TO). LinkedIn akışında farklı etkinlikler vardır ve her etkinliğin farklı bir TO'su vardır; Veri toplarken ve modelleri eğitirken bu dikkate alınmalıdır. Beş ana faaliyet türü vardır:

  • Bina bağlantıları: Üye başka bir üyeye, şirkete veya sayfaya bağlanır veya onları takip eder.
  • Bilgilendirici: Gönderileri, makaleleri veya resimleri paylaşma
  • Profil tabanlı etkinlik: Profil resmini değiştirme, yeni bir deneyim ekleme, profil başlığını değiştirme vb. profille ilgili etkinlikler.
  • Görüşe özel etkinlik: Beğeni veya yorum yapılması veya belirli bir gönderinin, makalenin veya resmin yeniden yayınlanması gibi üye görüşleriyle ilgili faaliyetler.
  • Siteye özel etkinlik: Onaylama ve iş başvurusu gibi LinkedIn'e özel aktiviteler.

1.2. Değerlendirme Metrikleri Tasarımı

İki ana metrik türü vardır: çevrimdışı ve çevrimiçi değerlendirme metrikleri. Eğitim ve modelleme aşamasında modelimizi değerlendirmek için çevrimdışı metrikleri kullanıyoruz. Bir sonraki adım, gerçek trafiğin küçük bir yüzdesini test etmek için bir hazırlama/korumalı alan ortamına geçmektir. Bu adımda, modelin iş metrikleri üzerindeki etkisini değerlendirmek için çevrimiçi metrikler kullanılır. Gelirle ilgili iş ölçümleri tutarlı bir iyileşme gösteriyorsa, modelin gerçek trafiğin daha büyük bir yüzdesine sunulması güvenli olacaktır.

Çevrimdışı Metrikler

TO'yu en üst düzeye çıkarmak, denetimli bir ikili sınıflandırıcı modelinin eğitimi olarak resmileştirilebilir. Bu nedenle çevrimdışı metrikler için normalleştirilmiş çapraz entropi kullanılabilir çünkü modelin arka plan TO'suna daha az duyarlı olmasına yardımcı olur:

 

LinkedIn, Akışınızı Derecelendirmek İçin Makine Öğrenimini Nasıl Kullanır?

 

Çevrimiçi Metrikler

Çevrimiçi ölçümlerin, model dağıtıldığında kullanıcıların etkileşim düzeyini yansıtması gerektiğinden, yayın başına tıklama oranı olan dönüşüm oranını kullanabiliriz.

1.3. Teknik Gereklilikler

Teknik gereksinimler iki ana kategoriye ayrılacaktır: Eğitim ve sırasında sonuç. sırasında teknik gereksinimler Eğitim şunlardır:

  • Büyük eğitim seti: Eğitim sırasında temel gereksinimlerden biri büyük eğitim veri setini yönetebilmektir. Bu, dağıtılmış eğitim ayarları gerektirir.
  • Veri kayması: Sosyal ağlarda, veri dağılımının çevrimdışı eğitim verilerinden çevrimiçi verilere doğru kayması çok yaygındır. Bu soruna olası bir çözüm, modelleri günde birden çok kez aşamalı olarak yeniden eğitmektir.

Çıkarım sırasındaki teknik gereksinimler şunlardır:

  • Ölçeklenebilirlik: 300 milyondan fazla kullanıcıya özelleştirilmiş kullanıcı yayınları sunabilmek.
  • gecikme: Kullanıcılara sıralanmış feed'i 250 ms'den daha kısa sürede sunabilmek için kısa gecikme süresine sahip olmak önemlidir. Faaliyetleri sıralama modellerine beslemeden önce birden fazla işlem hattının çok sayıda kaynaktan veri çekmesi gerektiğinden, tüm bu adımların 200 ms içinde yapılması gerekir. Bu yüzden
  • Veri tazeliği: Modellerin kullanıcının daha önce gördüklerinden haberdar olması önemlidir, aksi takdirde yayınlar tekrarlanan içerik gösterecek ve bu da kullanıcı katılımını azaltacaktır. Bu nedenle verilerin gerçekten hızlı çalışması gerekiyor.

1.4. Teknik zorluklar

Dört ana teknik zorluk vardır:

  • Ölçeklenebilirlik: Temel teknik zorluklardan biri, ölçeklenebilirlik sistemin. Hizmet verilmesi gereken LinkedIn kullanıcılarının sayısı son derece fazla olduğundan 300 milyon civarında kullanıcı bulunmaktadır. Her kullanıcı ziyaret başına ortalama 40 etkinlik görür ve her kullanıcı ayda ortalama 10 kez ziyaret eder. Dolayısıyla yaklaşık 120 milyar gözlemimiz veya örneğimiz var.
  • Depolama: Bir diğer teknik zorluk ise büyük veri boyutudur. Tıklama oranının her ay %1 olduğunu varsayalım. Bu nedenle toplanan pozitif veriler yaklaşık 1 milyar veri noktası olacak ve negatif etiketler 110 milyar negatif olacaktır. Her veri noktası için 500 özellik bulunduğunu ve hesaplama kolaylığı açısından her özellik satırının saklanmak için 500 bayta ihtiyaç duyacağını varsayabiliriz. Dolayısıyla bir ay boyunca her biri 120 bayt olan 500 milyar satır olacak, dolayısıyla toplam boyut 60 Terabayt olacak. Bu nedenle veri gölünde sadece son altı aya veya son yıla ait verileri tutmak, geri kalanını ise soğuk depoda arşivlemek zorunda kalacağız.
  • Kişiselleştirme: Bir başka teknik zorluk da şu olacak: Kişiselleştirme Farklı ilgi alanlarına hizmet edecek farklı kullanıcılarınız olacağından, modellerin her kullanıcı için kişiselleştirildiğinden emin olmanız gerekir.
  • İçerik Kalitesi Değerlendirmesi: Mükemmel bir sınıflandırıcı olmadığından. Bu nedenle içeriğin bir kısmı, iki insanın bile kullanıcılara gösterilmeye uygun içerik olup olmadığı konusunda anlaşmakta zorluk çekebileceği gri bir bölgeye düşecektir. Bu nedenle içerik kalitesi değerlendirmesi için insan+makine çözümlerini birleştirmek önemli hale geldi.

Makine öğrenimi sınıflandırıcısını eğitmeden önce, modelin eğitilebilmesi ve değerlendirilebilmesi için öncelikle etiketli verileri toplamamız gerekir. Veri toplama, veri bilimi projelerinde kritik bir adımdır çünkü çözmeye çalıştığımız problemin temsili verilerini toplamamız ve model üretime alındığında görülmesi beklenenlere benzer olması gerekir. Bu vaka çalışmasında amaç, alt bölüm 1.1'de belirtildiği gibi, farklı türdeki gönderiler ve içerikler üzerinden çok sayıda veri toplamaktır.

Bizim durumumuzda toplamak istediğimiz etiketli veriler, kullanıcının akışlarındaki etiketli verilere tıklanacak veya tıklanmayacak. Tıklama ve tıklama olmayan verileri toplamak için üç ana yaklaşım vardır:

  • Kullanıcının feed'ini kronik olarak sıralayın: Veriler, kronik olarak sıralanacak olan kullanıcı feed'inden toplanacaktır. Bu yaklaşım veri toplamak için kullanılabilir. Ancak kullanıcının dikkatini ilk birkaç beslemeye çekmesi esas alınacaktır. Ayrıca bu yaklaşım, iş değişiklikleri gibi bazı faaliyetlerin diğer faaliyetlerle karşılaştırıldığında nadiren gerçekleşmesi ve dolayısıyla verilerinizde yeterince temsil edilmemesi nedeniyle veri seyrekliği sorununa yol açacaktır.
  • Rastgele sunum: İkinci yaklaşım, feed'i rastgele sunmak ve tıklama ve tıklama yok verilerini toplamak olacaktır. Bu yaklaşım, kötü bir kullanıcı deneyimine ve temsili olmayan verilere yol açacağı ve veri seyrekliği sorununa da yardımcı olmayacağı için tercih edilmemektedir.
  • Yayını sıralamak için bir algoritma kullanın: Kullanabileceğimiz son yaklaşım, kullanıcının yayınını sıralamak için bir algoritma kullanmak ve ardından en iyi yayınları rastgele karıştırmak için permütasyon kullanmaktır. Bu, feed'e bir miktar rastgelelik sağlayacak ve farklı etkinliklerden veri toplanmasına yardımcı olacaktır.

Üçüncü adım, modelleme adımı için verilerin hazırlanması olacaktır. Bu adım veri temizlemeyi, veri ön işlemeyi ve özellik mühendisliğini içerir. Veri temizleme, eksik verilerle, aykırı değerlerle ve gürültülü metin verileriyle ilgilenecektir. Veri ön işleme, standardizasyon veya normalleştirmeyi, metin verilerinin işlenmesini, dengesiz verilerle baş edilmesini ve verilere bağlı diğer ön işleme tekniklerini içerecektir. Özellik Mühendisliği, özellik seçimini ve boyut azaltmayı içerecektir. Bu adım, veriler ve bu adımda nasıl ilerleyeceğiniz hakkında daha fazla anlayış kazanacağınız ve daha iyi sezgilere sahip olacağınız için esas olarak veri araştırma adımına bağlıdır.

Verilerden çıkarılabilecek özellikler şunlardır:

  • Kullanıcı profili özellikleri: Bu özellikler arasında iş unvanı, kullanıcı sektörü, demografik, eğitim, önceki deneyim vb. yer alır. Bu özellikler kategorik özelliklerdir, dolayısıyla modellerin çoğu kategorik özellikleri işleyemediğinden sayısala dönüştürülmeleri gerekecektir. Daha yüksek kardinalite için özellik yerleştirmeleri kullanabiliriz ve daha düşük kardinalite için bir sıcak kodlama kullanabiliriz.
  • Bağlantı gücü özellikleri: Bu özellikler kullanıcılar arasındaki benzerlikleri temsil etmektedir. Benzerliği hesaplamak için kullanıcılar için yerleştirmeler kullanabilir ve aralarındaki mesafeyi ölçebiliriz.
  • Aktivite yaşı özellikleri: Bu özellikler her aktivitenin yaşını temsil eder. Bu, sürekli bir özellik olarak ele alınabilir veya tıklama hedefinin hassasiyetine bağlı olarak gruplandırılabilir.
  • Etkinlik özellikleri: Bu özellikler aktivite türünü temsil eder. Hashtag'ler, medya, gönderiler vb. Bu özellikler aynı zamanda kategorik olacaktır ve daha önce olduğu gibi, önem düzeyine bağlı olarak özellik yerleştirmeleri veya bir sıcak kodlama kullanılarak sayısala dönüştürülmeleri gerekir.
  • Yakın ilgi özellikleri: Bu özellikler kullanıcılar ve aktiviteler arasındaki benzerliği temsil eder.
  • Görüş özellikleri: Bu özellikler, kullanıcının gönderiler, makaleler, resimler, iş değişiklikleri ve diğer etkinliklerdeki beğenilerini/yorumlarını temsil eder.

TO genellikle çok küçük olduğundan (%1'den az) dengesiz bir veri kümesiyle sonuçlanacaktır. Bu nedenle veri ön işleme aşamasındaki kritik bir adım, verilerin dengeli olduğundan emin olmaktır. Bu nedenle, az temsil edilen sınıfı artırmak için verileri yeniden örneklememiz gerekecek.

Ancak bu, üretimde görülmesi beklenen verileri temsil etmesi gerektiğinden doğrulama ve test setine değil, yalnızca eğitim setine yapılmalıdır.

Artık veriler modelleme kısmı için hazır, sıra modeli seçip eğitmeye geldi. Belirtildiği gibi bu bir sınıflandırma problemidir ve bu sınıflandırma probleminde hedef değer tıklamadır. Bu sınıflandırma görevi için Lojistik Regresyon modelini kullanabiliriz. Veriler çok büyük olduğundan Spark'ta lojistik regresyon kullanarak veya Çarpanlar Yöntemini kullanarak dağıtılmış eğitimi kullanabiliriz.

Derin öğrenme modellerini dağıtılmış ortamlarda da kullanabiliriz. Son katmanlara uygulanan sigmoid aktivasyon fonksiyonu ile tamamen bağlı katmanların kullanılacağı yer.

Değerlendirme için iki yaklaşımı takip edebiliriz; birincisi, verilerin geleneksel olarak eğitim ve doğrulama setlerine bölünmesidir. Önyargılı çevrimdışı değerlendirmeyi önlemeye yönelik başka bir yaklaşım, tekrarlanan değerlendirmeyi aşağıdaki şekilde kullanmaktır:

  • T zaman noktasına kadar eğitim verimiz olduğunu varsayalım. Doğrulama verileri T+1'den başlayacak ve eğitilen modeli kullanarak sıralamalarını sıralayacağız.
  • Daha sonra modelin çıktısı gerçek tıklamayla karşılaştırılır ve eşleşen tahmini tıklamaların sayısı hesaplanır.

Optimize edilmesi gereken çok sayıda hiper parametre vardır; bunlardan biri eğitim verilerinin boyutu ve modelin tutulma sıklığıdır. Modeli güncel tutmak için mevcut derin öğrenme modeline örneğin son altı ayın eğitim verileriyle ince ayar yapabiliriz.

Yem sıralamasının tüm sürecini şekil 1'de gösterilen bu üst düzey tasarımla özetleyebiliriz.

Aşağıdaki şekilde gösterildiği gibi feed sıralama sürecinin akışının nasıl gerçekleştiğini görelim:

  • Kullanıcı LinkedIn ana sayfasını ziyaret ettiğinde istekler Uygulama sunucusu beslemeler için.
  • Uygulama sunucusu besleme isteklerini şuraya gönderir: Yem Hizmeti.
  • Yem Hizmeti daha sonra en son modeli alır model mağazası ve doğru özellikler Özellik Mağazası.
  • Özellik Mağazası: Özellik deposu, özellik değerlerini saklar. Çıkarım sırasında puanlamadan önce özelliklere erişimde düşük gecikme olmalıdır.
  • Yem Hizmeti tüm beslemeleri alır ItemStore.
  • Ürün Mağazası: Öğe mağazası, kullanıcılar tarafından oluşturulan tüm etkinlikleri saklar. Buna ek olarak farklı kullanıcılara yönelik modelleri de saklar. Her kullanıcıya aynı feed sıralama yöntemini sağlayarak tutarlı bir kullanıcı deneyimi sağlamak önemli olduğundan. Öğe Mağazası Doğru kullanıcılara doğru modeli sunar.
  • Yem Hizmeti daha sonra modele tahmin alma özelliklerini sağlayacak. Buradaki yayın hizmeti, daha iyi görselleştirme için hem alma hem de sıralama hizmetini temsil eder.
  • Model, daha sonra CTR olasılığına göre sıralanan feed'leri döndürecektir. uygulama sunucusu.

 

LinkedIn, Akışınızı Derecelendirmek İçin Makine Öğrenimini Nasıl Kullanır?

Şekil 1. LinkedIn yayın sıralaması üst düzey tasarımı.

 

Feed sıralama sistemini ölçeklendirmek için bir Yük dengeleyici önünde Uygulama Sunucuları. Bu, yükü sistemdeki çeşitli uygulama sunucuları arasında dengeleyecek ve dağıtacaktır.

 

LinkedIn, Akışınızı Derecelendirmek İçin Makine Öğrenimini Nasıl Kullanır?

Şekil 2. Ölçeklendirilmiş LinkedIn besleme sıralaması üst düzey tasarımı.

 

  1. LinkedIn Akışını İlgili Tutmaya Yönelik Stratejiler
  2. Makine Öğrenimi Tasarımı Röportajı

 
 
Yusuf Hüsnü Elfehres'in Kurucu Ortağıdır, Ph.D. Araştırmacı – Bilgisayarla Görme ve Veri Bilimcisi

 
orijinal. İzinle yeniden yayınlandı.
 

spot_img

En Son İstihbarat

spot_img