Makine Öğrenmesi İle Öneri Sistemleri?

Burak Yılmaz
BilgeAdam Teknoloji
3 min readDec 23, 2019

Web siteleri yada kullandığımız uygulamalar düzenli olarak bizlere bir şeyler önermekte yada satın aldığımız ürün, yediğimiz bir yemek hakkında düşüncelerimizi yada yaptığımız işlemleri bizlerden oylamamızı istemektedir. Ne satın alınır? Nerede yenir? Hangi iş ilanları size göre yada hangi işe başvurabilirisiniz? Kiminle arkadaş olmalısın? Uygulamalar yada web siteleri bir çok soru ile özellikle bir işi yapmada yada bir şeyi satın almada kararsız kalan insanların hayatını baya kolaylaştırmaktadır.

İnsanların, kişilikleri başta olmak üzere bir çok etken faktöre bağlı olarak zevklerini, ilgi alanlarını değişmektedir. Fakat insanlar ne kadar biricik olsa da genellikle kalıpları yada ananeleri takip ederler. Yani insanların bir şeylerle ilgilenme yada onları sevme konusundaki benzerlikleri onları aynı kategoriye yada aynı özellikleri paylaşan kişilerle gruplanmasına yol açmaktadır. Örneğin yakın bir zamanda antik çağ heykelciliği ile ilgili bir kitap sanat aldığınızı ve bu döneme ait kitapları okumaktan hoşlandığınızı düşünelim. Bu durumda ilerleyen günlerde antik çağ vazo ressamlığı ile ilgili bir kitap almanız pekte şaşırtıcı olmaz.

İnsanlar aynı zamanda hayatlarında yakın olan insanlara benzer zevklere sahip olma eğilimindedir. Tavsiye sistemleri, başka neler isteyebileceğinizi tahmin etmek için bu modelleri ve benzer davranışları yakalamaya çalışır. Tavsiye sistemleri günümüzde neredeyse bütün web sitelerinde bulunmaktadır. Örneğin Amazon, Netflix, Youtube gibi. Aslında, az önce saydığımız web sitelerindeki her şey müşteri seçimine dayanmaktadır. Belirli bir film sık izlenirse, Netflix tavsiye sistemin filmin giderek daha fazla öneri almasına sağlar. Başka bir örnek vermek gerekirse, bir tavsiye motorunun nerede yenileneceğini veya hangi işe başvuracağını önermek için kullandığı günlük kullanımı bir mobil uygulamada bulunabilir.

Sosyal medyada, Facebook veya LinkedIn gibi siteler düzenli olarak arkadaşlıklar önerir. Tavsiye sistemleri, web’deki deneyiminizi kişiselleştirmek için bile kullanılır. Örneğin, bir haber platformu web sitesine gittiğinizde, bir tavsiye sistemi sizin tıkladığınız haberleri, ilgili haberi kaç dakika okuduğunuz gibi bilgileri kaydeder ve siz aynı haber sitesini ziyaret ettiğinizde, haber sitesi size ilgilenebileceğiniz haber konularını öneride bulunur. Web’de bu tür örnekler ile sıkça karşılaşabilirsiniz ve bu örneklerin sayısı gün geçtikçe artmaktadır.

Bir öneri sistemi kullanmanın temel faydalarına daha yakından bakalım. Öneri sistemlerini kullanmanın temel avantajlarından biri, kullanıcıların ilgilendikleri birçok faklı ürüne ve ürünlerin türevlerine daha fazla maruz kalmalarıdır. Bu maruziyet kullanıcıları sürekli olarak ilgili ürünleri kullanmaya veya satın almaya teşvik eder. Bu sadece kullanıcı için daha iyi bir deneyim sağlamakla kalmaz, aynı zamanda artan potansiyel gelir ve müşterileri için daha iyi güvenlik ile servis sağlayıcıyı da fayda sağlar.

Öneri sistemleri genelde ikiye ayrılır: İçerik tabanlı ve işbirlikçi filtreleme.

Her biri arasındaki temel fark, bir tüketicinin yapabileceği ifade türüyle özetlenebilir. Örneğin, içerik tabanlı bir öneri sisteminin ana paradigması şu ifadeden kaynaklanmaktadır: “Bana daha önce izlediklerimin aynısı göster.” İçerik tabanlı sistemler, bir kullanıcının bir öğenin en sevdiği yönlerini almaya çalışır ve daha sonra bu yönleri paylaşan öğeler hakkında önerilerde bulunur.

İşbirlikçi filtreleme, “En yakın arkadaşlarım arasında popüler olanı söyle, çünkü bende sevebilirim” diyen bir kullanıcıya dayanır. İşbirlikçi filtreleme teknikleri benzer kullanıcı grupları bulur ve bu gruptaki benzer zevklere dayalı öneriler sunar. Kısacası bir kullanıcın benzer kullanıcıların ne ile ilgilendiğini var sayar.

Ayrıca, çeşitli mekanizmaları birleştiren Hibrit tavsiye sistemleri de vardır. Tavsiye sistemleri uygulamak açısından 2 tip vardır: Bellek tabanlı ve Model tabanlı. Bellek tabanlı yaklaşımlarda, bir öneri sistemi oluşturmak için tüm kullanıcı öğesi veri kümesini kullanırız. Kullanıcıları veya öğeleri tahmin etmek için istatistiksel teknikler kullanır. Bu tekniklerin örnekleri şunlardır: Pearson Correlation, Cosine Similarity and Euclidean Distance. Model tabanlı yaklaşımlarda, tercihlerini öğrenmek amacıyla bir kullanıcı modeli geliştirilmiştir. Modeller regresyon, kümeleme, sınıflandırma vb. Makine Öğrenimi teknikleri kullanılarak oluşturulabilir.

--

--

BilgeAdam Teknoloji
BilgeAdam Teknoloji

Published in BilgeAdam Teknoloji

BilgeAdam Teknoloji yazılım geliştiricilerinin deneyimlediği makalelerinin bir çatı altında toplandığı tüm yazılım geliştiricilerin faydalanması için oluşturduğu paylaşım sayfasıdır.