İnternet, özellikle sosyal medya veya kullanıcıların bloglar oluşturmasına ve topluluklarıyla paylaşmasına olanak tanıyan bir web sitesi olan Overblog (Webedia Group) gibi blog platformları aracılığıyla insanların kendilerini özgürce ve kolayca ifade etmelerine olanak sağlamıştır. Zirvedeyken, Overblog ayda on milyondan fazla tekil ziyaretçi topluyordu, ancak kendi başarısının kurbanı olan popülaritesi, kötü niyetli web sitelerine yönlendirmeye çalışarak trafiği emmek için bir fırsat gören ve platformu kirleten birçok kötü niyetli kullanıcıyı kendine çekti. yol.
Site için istenmeyen her blog veya blog gönderisini, genellikle otomatik olarak kötü amaçlı ve toplu olarak oluşturulmuş içeriği (örneğin, şüpheli yazılım indirme veya yasa dışı akış web sitelerine yönlendiren blog gönderileri) spam olarak tanımlarız . Spektrumun diğer ucunda, yasal bloglar veya blog gönderileri, spam olmayan, platforma ve diğer kullanıcılara gerçekten değer katan içeriklerdir.
Büyük spam gönderici dalgalarıyla karşı karşıya kalan Overblog, etkilerini sınırlamak için e-posta/telefon doğrulaması, CAPTCHA'lar, bazı bölgelere erişim kısıtlaması ve daha fazlası gibi bazı araçlar uygulamaya çalıştı. Bununla birlikte, spam gönderenler hızla adapte olabildikleri ve istenmeyen içeriği toplu olarak yayınlamanın yeni yollarını bulabildikleri için bu yöntemler büyük ölçüde verimsiz hale geldi.
Overblog veritabanında, kullanıcı deneyimi, platformun genel kalitesi ve trafiği üzerinde önemli bir olumsuz etkisi olan çok sayıda spam blogu/makalesi ile sonuçlandı.
Bu makalede, Webedia'nın spam bloglarını otomatik olarak algılayan, tüm veritabanını temizlememize ve gelen yeni gönderi akışını filtrelememize olanak tanıyan bir makine öğrenimi algoritmasını nasıl geliştirdiğini ve uyguladığını keşfedeceksiniz.
Her şeyden önce, bir algoritmaya spam ve yasal blog gönderilerini nasıl ayırt edeceğini öğretebilmek için eğitim verilerine ihtiyacımız var. Bizim durumumuzda bir eğitim veri seti, verileri öğrenecek ve bizim için blog makalelerini sınıflandırabilecek bir makine öğrenme algoritmasına beslenecek etiketli gönderiler koleksiyonundan oluşur.
Ancak, o sırada manuel olarak spam veya yasal olarak tanımlanan gönderileri takip edecek hiçbir şey yoktu: spam'ler doğrudan veritabanından silindi ve yasal gönderiler olduğu gibi bırakıldı. Bu nedenle, spam ve yasal olarak iki kategoriye ayrılmış bir veri kümesi çıkaramadık…
Yaklaşımımız, modeli eğitmek için bir başlangıç noktası olarak kullanmak üzere bir veri seti elde etmek için bazı gönderileri manuel olarak kategorize etmek ve aynı zamanda etiketli verileri toplamaya devam etmemizi sağlayacak bir geri bildirim mekanizması ve izleme sistemi kurmaktı. manuel olarak tanımlanır. Bu şekilde, çalışmaya başlamak için etiketli yazılardan oluşan temiz bir veri kümesi elde ettik.
Bir sonraki adım, modelin iyi performanslar elde etmesine yardımcı olacak bir dizi özellik çıkarmaktı. Örneğin, bağlantı sayısını temsil eden bir özellikle, spam göndericilerin asıl amacı trafiği çekmek ve insanları başka web sitelerine yönlendirmek olduğundan, spam blog gönderilerinin meşru olanlardan çok daha fazla giden bağlantıya sahip olma eğiliminde olduğu sezgisini yakalarız. Aynı zamanda, en az bir bağlantı kara listeden bir alanı işaret ediyorsa (spam gönderenler tarafından tekrar tekrar kullanıldığını gözlemlediğimiz, manuel olarak tutulan bir kötü amaçlı alan adları listesi), modeli spam'e yönlendirecek başka bir özelliğimiz var. . Ayrıca, gönderinin metin içeriğinden üst düzey bilgileri çıkarmak ve makine tarafından anlaşılabilir özelliklere dönüştürmek için geleneksel bir NLP (Doğal Dil İşleme) tekniği kullandık.
Model seçimi ve optimizasyonu performansa, hesaplama süresine ve açıklanabilirliğe dayanıyordu.
Performansla ilgili olarak, bu kullanım durumu için en önemlisi yanlış pozitifleri en aza indirmektir. Başka bir deyişle, spam olarak algılamaktan ve yasal gönderileri silmekten gerçekten kaçınmamız gerekiyor, çünkü bunu yaparsak, onları geri yüklemek, kullanıcı şikayetleriyle uğraşmak vb. anlamına gelir. Aynı zamanda, bazı yanlış negatiflere sahip olmak daha kabul edilebilir. , yani kaçırdığımız spam makaleler. Daha teknik bir ifadeyle, spam sınıfı için kesinliği ve sınıf okunaklı için geri çağırmayı en üst düzeye çıkarmayı amaçlıyoruz .
Ayrıca, hesaplama süresinin çoğu model hesaplamalarından değil, işleme sürecinden gelmesine rağmen, büyük hacimlerin kısa bir zaman çerçevesinde işlenmesi gerektiğinden, hesaplama karmaşıklığını en aza indirmeyi de sağladık.
Son olarak, iyi bir açıklanabilirliğe sahip bir modele sahip olmak, iş ekiplerinin sistemin kaputun altında nasıl çalıştığını kavramasını kolaylaştırır, benimsenmesini ve güvenini kolaylaştırır.
Bu kriterleri göz önünde bulundurarak, daha doğru tahminler sağlamak için birlikte çalışan birden çok karar ağacından oluşan basit bir algoritma olan Rastgele Orman modelini kullanmayı seçtik. Bazı parametre optimizasyonlarından sonra, yeni verilerde (yani, modeli eğitmek veya ince ayar yapmak için kullanılmayan veriler), gönderileri %98'den fazla spam olarak sınıflandırırken algoritma doğruydu ve genel doğruluğu %97'ydi.
Eğitimli model, üretimde bir REST API olarak geliştirildi ve esasen Overblog ekibinin istenen gönderiler için tahminler almak için bir gönderi veya toplu gönderi göndermesine izin veriyor.
Overblog ekibine daha fazla esneklik bırakmak için doğrudan bir sınıflandırma yerine spam olma olasılıklarını açıkça döndürmeye karar verdik. Gerçekten de, sonuçlara ve yanlış pozitiflerden ne kadar kaçınmak istediklerine bağlı olarak, gönderiyi spam olarak değerlendirme olasılığının eşiğini kendileri ayarlayabilirler. Örneğin, bu eşiği %90'a ayarlayabilirler; bu, gönderileri yalnızca model spam olduğundan çok emin olduğunda spam olarak kabul edecekleri anlamına gelir. Pratikte, bunu %80'e ayarlamak, spam'lerin çoğunu algılamaya devam ederken iyi sonuçlar (birkaç yanlış pozitif) arasında iyi bir uzlaşmadır. Yasal içeriği silme riskini azaltmanın bir başka yolu, spam olarak algılanan makaleleri doğrudan silmek yerine, tespit edilen spam makalelerinin oranı başka bir ayarlanabilir eşikten daha büyük olduğunda tüm blogları silmekti:
API, Google Cloud Platform'da (AppEngine) dağıtılmıştır ve otomatik olarak ölçeklenir: Uygulamayı çalıştıran sunucuların sayısı, işlemesi gereken yüke uyum sağlar! Bu, uygulama trafiğinin daha düşük olduğu durumlarda maliyetleri düşürürken, gerektiğinde büyük miktarda gönderiyi aynı anda işleme imkanı verir. Bu, platformdaki dalgalı yeni gönderi akışını yönetirken yüz milyonlarca gönderi stoğunu mümkün olduğunca hızlı şekilde işlememizi sağladı.
En büyük zorluklardan biri, spam gönderenlerin geleneksel istenmeyen posta önleme sistemlerini atlamanın yollarını hızla bulmasıdır. Bu nedenle, sürekli olarak uyarlanan ve spam gönderenlerden öğrenen bir araç geliştirdik. API, veri setimizin manuel olarak etiketlediğimiz gönderilerle sürekli olarak genişletilmesi için bir geri bildirim mekanizması içerir. Ve bu süreci kolaylaştırmak için, bizim deyimimizle “Tinder of spam” özel bir araç geliştirildi. Kullanıcıların bir gönderiyi basit bir sağa (yasal ise) veya sola (spam ise) hızlıca kaydırarak hızlı bir şekilde etiketlemesine olanak tanır. Bu gönderiler daha sonra, etiketlenmiş gönderilerin ilk veri kümesiyle birlikte veri ambarında işlenmek ve saklanmak üzere API geri bildirim sistemine gönderilir. Makine öğrenimi modeli daha sonra bu yeni gönderileri hesaba katmak için düzenli olarak yeniden eğitilir. Model tarafından iyi algılanmayan yeni bir spam türüyle her karşılaştığımızda,
Bu yaklaşım, milyonlarca kirletici spam makalesini silerek veritabanını derinlemesine temizlememize ve platformda yayınlanan yeni spam miktarını büyük ölçüde azaltmamıza yardımcı oldu ve bugüne kadar meşru kullanıcıları silmiş olacağımıza dair herhangi bir kullanıcı şikayeti almadık. ' bloglar. Diğer şeylerin yanı sıra, son birkaç aydır platformdaki trafiği iyileştirmeye katıldı.
Bu makine öğrenimi tabanlı sistemin en büyük faydalarından biri, yeni bir çözüm geliştirmeden potansiyel yeni spam gönderici türlerine çok hızlı ve kolay bir şekilde uyum sağlayabilmemizdir. Bu anlamda, artık spam göndericilere karşı mücadelede kendimize daha fazla güveniyoruz.
Bilinç nedir? Yüzyıllardır filozofların ve bilim adamlarının kafasını karıştıran bir sorudur. Bazıları bunun bedenlerimizden bağımsız olarak gerçekten anlayamadığımız geçici bir şey olduğunu söylüyor.
Yasal Uyarı: Bu makale yalnızca eğitim amaçlıdır. Kimseyi web sitelerini, özellikle de bu tür eylemlere karşı hüküm ve koşulları olabilecek web mülklerini kazımaya teşvik etmiyoruz.
Koyu desenli UX tasarımlarında renkler nasıl kullanılabilir? Renkler, UX'te güçlü bir araçtır.
Zor zamanlara girdik ve zor zamanlarda hayatta kalmak kolay değil. Girişim Kapitalistleri aramalarınıza geri dönmez.
Erişilebilirlik nedir? Her kullanıcı çevrimiçi olarak beş yıldızlı bir dijital deneyimi hak eder. Engelli kişiler, engelsiz kişilerle aynı başarılı sonuçla web içeriğini ve web tabanlı hizmetleri deneyimleyebilmelidir.
Cuma günkü Roe v. Wade hakkındaki haberler bekleniyordu, ancak bu, duymayı kolaylaştırmadı.