AI web sitelerini gerçek insanları taklit ederek değerlendiriyor ve hatta onları geride bırakıyor. Nasıl oldu?

Bugün akıllı bir web sitesi yeniden tasarım sistemi olan uKit AI'nın bileşenlerinden biri halka açılıyor. Web sayfalarının güzelliğini değerlendirmek için prototip bir modül. Sıradan bir ziyaretçinin web sitesinin tasarımına verdiği tepkiyi taklit etmek için sinir ağını ve karar ağaçlarını birleştirir.

Gelecekte, böyle bir modül, mevcut içeriğe ve etkili olmayan bir web sitesi ile arasındaki farkın “bilgisine” dayanarak, insan müdahalesi olmadan sayfalar tasarlayacak olan, uKit AI'nın anahtar öğesi olan üretici tasarım algoritmasının çalışmalarını değerlendirecektir. biri dönüşüm oranını arttırmayı hedefliyordu.

Mevcut WebScore AI sürümü, ortalama bir İnternet kullanıcısının web sitesinin görünümü hakkındaki görüşlerini yansıtmaktadır. Her ne kadar başka seçenekler oluşturabilsek de, örneğin, bir web sitesinin kullanılabilirliğini derecelendirmek mümkündür.

Sistemin eğitimi için kullanılan web siteleri. Öncelikle, farklı platformlarda ve farklı dillerde farklı yıllarda yaratılmış 12.000 site ve çevrimiçi mağaza topladık. Asıl görev, oldukça kötü web sitelerinden çok iyi örneklere kadar yeterince görsel derecelendirme örneği elde etmekti. Bu şekilde, sisteme modern web'de neler yapabileceğini gösterdik.

Eğitim örneğindeki birkaç web sitesi.

Her derecelendirme bir ölçekle ölçülür ve bu ölçeğin, görüşünü modellemeye çalıştığımız sıradan bir kişi tarafından anlaşılması gerekir. Bu yüzden, hizmetimizde kullanılan “1'den 10'a kadar” ölçeği hakkında bir fikir edindik.

WebScore AI tarafından taklit edilen insanlar. Çeşitli web sitelerinden veri seti (eğitim modeli için veri kümesi) oluşturmak için iki şeye ihtiyacımız vardı:

  • sistemin çekici olup olmadığını belirlemek için sistemin belirleyeceği işaretler;
  • Belirli bir web sitesi için ölçeğimizin yardımı ile yapılan değerlendirmeler (işaretler). Sistem için bir model olacaklar.

Birisi bu ilk değerlendirmeleri yapmalı. Daha açık bir ifadeyle böyle bir “öğretmen” veya bir “öğretmen” grubu modelin nasıl çalışacağını büyük ölçüde etkileyecektir.

Web siteleri değerlendirme arayüzü: Yakında GitHub'ımızdan alın ve kullanın.

Odak grubu toplamak için 1500 web sitesi örneğinde ön aday seçimlerini yaptık. Rutin bir çalışma, ancak sorumlu bir kişi ve büyük odak gerektiren. Ön seçim, uygun olmayan adayları elememize ve “tartışmalı” (biri 1, diğeri 10 olarak değerlendirdiğinde) web sitelerini örneklemden çıkarmamıza yardımcı oldu.

İlk önce değerlendirme yöntemlerini denedik.

Örneğin, bir kerede bir web sitesini, ardından aynı anda iki web sitesini değerlendirmeyi veya en çekici iki web sitesinden birini seçmeyi teklif ettik. Ankete katılanların tek bir web sitesi gördükleri ve değerlendirdikleri yaklaşım en iyi sonucu verdi. Kalan web sitelerinin 10.000'ini değerlendirmek için kullandık.

Bir web sitesinin güzel olup olmadığını bir kişi değerlendirdi. Makine bunu nasıl yapacak? Sen ve ben, bir şeyin genel güzelliği hakkında fikir edinmek için sadece bir bakış açısına ihtiyacımız var. Ama şeytanın ayrıntıda olduğunu biliyoruz.

Modeli yönlendirecek olan web sitesinin görsel çekiciliği işaretleri tüm proje için önemli bir an. İngiltere'den web sitesi oluşturucu tasarım ekibine bir el sorduk, çalışmaları yüz binlerce web sitesi için temel olarak kullanılıyor ve milyonlarca insan bunu görüyor. Birlikte, profesyonellerin bir web sitesi tasarımı geliştirirken dikkat etmesi gereken genişletilmiş bir özellikler listesi derledik. Ve sonra en önemlilerinden ayrılarak onu kesmeye çalıştım.

İngiltere.com tasarım ekibi.

Sonuç olarak, on beş kategoride gruplandırılmış oldukça farklı fakat önemli kriterlerden oluşan 125'in bir kontrol listesini aldık. Örneğin, listede: popüler ekranlara uyarlama, çeşitli font boyutları, renklerin saflığı, başlıkların uzunluğu, tüm sayfadaki görüntülerin oranı vb. Geriye kalan şey, bu kuralları kullanarak modeli eğitmektir.

Bir algoritma oluşturun. Tam olarak bir “öğretim modeli” nedir? Belirli bir özellik setine dayanan ve seçilen web sitesini değerlendirebilen bir algoritmanın oluşturulmasıdır. Sistem değerlendirmesinin ve ortalama öğretmenin değerlendirmesinin nihai değerlendirmelerinde asgari bir açığı paylaşması arzu edilir.

Karar ağaçları için degrade artırma yöntemini kullanmaya karar verdik, çünkü en popüler ve etkili yaklaşımlardan biri. Temel algoritmaları kullanarak, genel sonucu ayrı bir algoritmanın sonuçlarını aşan bir küme oluşturur.

Dahası, her bir sonraki temel algoritmayı ekleyerek, tüm kümenin cevaplarının kalitesini iyileştirmeye çalışır.

Süreci hızlandırmak ve kolaylaştırmak için Yandex'in “kayıtsız karar ağaçları” olarak adlandırılan bir degrade tabanlı güçlendirici oluşturmaya izin veren CatBoost kütüphanesini kullandık. ) yeni nesneler için.

Bir sinir ağı ekleme. Temel algoritma hazır olduğunda, bir deney yapmaya karar verdik: bir sinir ağı eklersek sonuçlar iyileşir mi? Aslında, bir web sitesine ve tasarımına nasıl “bakılacağını” zaten biliyorduk ve şimdi sisteme daha fazla ayrıntı göstermek için kullanabileceği bir tür 'büyüteç' vermeye karar verdik.

En popüler ağlardan birini seçtik, resnet50, bu, üst düzey özellikler çıkarmak için iyi bir algoritma olarak bilinir. Ayrıca, web sitesi değerlendirmesi için nasıl 1000 ek özellik alabileceğimizi öğrendik. Sonuç olarak, sistem artık toplam 1125 özellikten oluşan bir URL'yi karakterize etmekte ve web sitesinin ‘yerini’ 10 puanlık bir ölçekte bulmaktadır. İşlem birkaç düzine saniyeye kadar sürebilir, bu nedenle değerlendirme kalitesini aynı seviyede tutarken işaret sayısını azaltarak modeli hızlandırmayı düşünüyoruz.

İlk sonuç Bu şekilde eğitilen model, bireysel ‘öğretmenler’inkine göre 3 kat daha doğru tahminler yapabilir.

Odak grup tahminleri, ortalama birinden sinir ağının tahmininden daha büyük farklılıklar gösterdiğinden, modelin ilk öğretmenlerini aştığını söyleyebiliriz. Şimdi algoritmayı ileri eğitim için ağa koyduk. Ve onun öğretmeni de olabilirsin.