Purchase prediction and item prediction with RNN using different user-item interactions
Farklı kullanıcı-ürün etkileşim türlerini kullanarak özyineli sinir ağları ile ürün ve satış tahminlemesi
- Tez No: 559458
- Danışmanlar: DR. ÖĞR. ÜYESİ YUSUF YASLAN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2019
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 73
Özet
Günümüzde çevrimiçi verinin artmasıyla birlikte internet kullanıcıları pek çok seçenekle karşılaşmaktadır. Bu seçenekler en uygun sonuçlara ulaşmayı zorlaştırıp zaman kaybına sebep olmaktadır. Öneri sistemleri, bu sonuç yığınını filtreleyerek ulaşılması istenen esas seçenekleri kullanıcılara sunmaktadır. Bu filtreleme işlemini gerçekleştirmek için uygulamaların, kullanıcı/ürün profillerine veya birbirleriyle olan etkileşimlerine hakim olması gerekmektedir. İnternet üzerinde var olan bilgi, gün geçtikçe daha da fazla arttığından öneri sistemleri için önemli bir kaynak olmaktadır. Son yıllarda özellikle sosyal medyanın etkisiyle kullanıcılara yönelik elde edilen çıkarımlar daha da belirleyici olmaktadır. Örneğin; kullanıcılar aldıkları bir ürün veya hizmet hakkında bir şikayette bulunmak istediklerinde Twitter, Facebook gibi sosyal medya araçlarını kullanmaktadırlar. Satın alınan ürün hakkında e-ticaret uygulamalarından puan verip yorum yapabilmektedirler. Bu sayede hem o ürün ile bir etkileşim sağlayıp hem de diğer kullanıcıları etkileyebiliyorlar. Sistemler, benzer ihtiyaç durumlarında aynı ürünleri inceleyen, satın alan kullanıcılar veya belirli ürünlere aynı puanı veren kullanıcılar benzerdir çıkarımını yapabilmektedir. Bu önermeden yola çıkarak benzer kullanıcılardan birinin aldığı ürün, diğer kullanıcıya da önerilebilir çıkarımı da yapılabilmektedir. Tüm bu çıkarımlar için benzerlik hesaplamaları önemli bir yer tutmaktadır. Benzerlik hesaplamaları ve doğru ürün-kullanıcı ilişkileri ile kullanıcılara en doğru öneri listeleri üretilmektedir. Bu yüzden Google, Amazon, Netflix, Spotify gibi büyük şirketler öneri sistemlerine yatırım yapmaktadırlar. Örneğin; bir kullanıcı Google üzerinde arama yaptığında sonuçlara tıklama sayısına veya önceliğine bağlı olarak bir sonraki sonuç listesi değişmektedir. E-ticaret alanında da, sistem, kullanıcıların bir sonraki alacağı ürünleri saptayıp kişiye göre kampanya üretebilmektedir. Bu, müşteri memnuniyeti ve şirketlerin daha fazla kar sağlamaları için çok önemlidir. Bir sonraki satışı veya ürünü tahmin etmek için, tüm işlemleri tutan oturum yapısı kullanılmaktadır. Ürün, kampanya veya bağlantı tıklamaları, satış işlemleri, oylamalar, kaydedilen bağlantılar gibi hareketler oturum yapısında tutulmaktadır. Bu tez çalışması kapsamında oturum tabanlı veri kümelerine odaklanılmıştır. Bu veri kümeleri, ürün görüntüleme, sepete atma ve satın alma gibi ürün etkileşim sekanslarından oluşmaktadır. Öncelikli olarak, sekans verileri üzerinde farklı makine öğrenmesi yöntemleri kullanılarak bir oturumun satışla sonuçlanıp sonuçlanmayacağı tahmin edilmiştir. Daha sonra etkileşime girilecek bir sonraki ürün tahmini için farklı yöntemler denenmiş kullanıcı-ürün etkileşimini dikkate alan yeni bir yöntem önerilmiştir. Geçmiş kullanıcı oturumları, sonraki kullanıcı davranışlarını tahmin etmek için önemli bir kaynaktır. Eğer bir oturum içinde satın alma işlemi gerçekleşmişse bu oturum 1, aksi durumda ise 0 olarak etiketlenmiştir. İlk olarak, bir oturumun satışa dönüp dönmeyeceği tahmin edilmeye çalışılmıştır. Bunun için topluluk metotları ve tekil (single) modeller kullanılmıştır. Sınıflandırma algoritmalarını kullanmadan önce veri kümesinin dengesizlik problemi çözülmüştür. Veri kümesinin sadece %6'sı satış içeren oturumlardan oluştuğundan dengesiz veri kümesi sorunu oluşmaktadır. Bu durumda, tahmin edilecek her bir test örneği çoğunluk sınıf olarak tahmin edilmeye yatkındır. Dengesizlik sorununu çözmek için SMOTE tekniğini kullanılmıştır. SMOTE, azınlık olan sınıftan örnekler alarak bunları çoğaltıp yeni sentetik örnekler oluşturmaktadır. Sonuç olarak, 0 ve 1 etiketli sınıfların sayısı eşitlenmiştir. Topluluk metotları birden fazla makine öğrenmesi modelini birleştirerek daha başarılı yöntemler elde etmektedir. Temel olarak, iki adımda uygulanmaktadır. İlk olarak, orijinal veri kümesinin alt kümeleri üzerinde tekil (single) modeller öğrenilmektedir. Daha sonra tekil modeller birleştirilmektedir. Bagging ve Boosting en popüler yöntemlerdir. Bu yöntemler ile eğitim veri kümesinden rastgele örnekler seçerek yeni eğitim kümeleri elde edilir. Bagging yönteminde her örnek eşit olasılığa sahiptir fakat Boosting yönteminde her örnek farklı ağırlığa sahip olabilir. Ayrıca, Bagging yönteminde her sınıflandırıcı model birbirinden bağımsızken, Boosting yönteminde bir önceki sınıflandırıcının yanlış sınıflandırdığı örneklerin ağırlığını arttırarak bir sonraki sınıflandırıcıya aktarılır. Bu çalışmada, boosting metodu olarak Gradient Boosting Classifier, bagging metodu olarak da Random Forest Classifier kullanılmıştır. Bunlara ek olarak, Logistic Regression ve K-Nearest Neighbour metodları da tekil (single) metod olarak uygulanmıştır. Bu tez çalışmasının ikinci kısmında, oturum içindeki bir sonraki ürün tahminlemesi için pek çok makine öğrenmesi algoritmaları uygulanmıştır. İlk olarak, aynı oturumda birlikte geçen ürün ikililerinin, tüm oturumlarda kaç kez birlikte bulunduğunu hesaplayan Association Rules (AR) yöntemi uygulanmıştır. Bu sayede, bir ürünün en çok birlikte geçtiği ürünler, bir sonraki ürün olarak önerilebilmektedir. Benzer şekilde, uyguladığımız bir diğer yöntem de Markov Chains (MC) yöntemidir. Markov Chains, aynı oturumdaki ardışık olarak bulunan ürün ikililerinin, tüm oturumlarda kaç kez ardışık şekilde geçtiğini hesaplamaktadır. AR ve MC yöntemlerinin bir uzantısı olarak kural tabanlı Sequential Rules (SR) yöntemi de incelenmiştir. Bu yöntem, ürün ikililerinin arasındaki ürün sayısını ters orantılı olarak ağırlıklandırır. Örneğin, Y ürünü ile X ürünü arasına çok ürün girmişse X ve Y az ilişkilidir ve birbirlerine önerilme olasılığı düşüktür. Bayesian Personalized Ranking (BPR-MF) yöntemi de incelenen bir başka yöntemdir. Bu yöntem, matris tamamlama problemini çözmektedir. Matris, kullanıcı ve ürün latent (gizli) faktörlere ayrıştırılır. Oturum tabanlı veri kümelerinde her bir oturum farklı bir kullanıcıyı temsil ettiği için matrisin her satırı, bir oturumdaki ürün dizisine karşılık gelmektedir. Benzer kullanıcı veya ürünleri bulmak için en yaygın yöntemlerden birisi komşuluk yöntemidir. Bu çalışmada veri kümesi oturumlardan, oturumlar da ürün dizilerinden oluştuğundan aynı oturumlardaki ürünler benzerdir denilebilir. Ayrıca, aynı ürünlerle birlikte aynı oturumda geçen ürünler de benzer kabul edilebilir. İlk kullandığımız yöntem Session-based k-Nearest Neighbours (SKNN) yöntemidir. Oturumlardaki her bir ürün için o ürünün geçtiği en güncel n oturum seçilir. Ürünün geçtiği oturum ile seçilen oturumlar arasında kosinüs benzerliği hesaplanır ve en benzer oturumlar belirlenir. Sonuç olarak ilgili ürüne yönelik en benzer oturumlarda geçen ürünlerden oluşan bir öneri listesi oluşturulur. Benzer şekilde kullandığımız diğer yöntem ise Sequential Session-based k-Nearest Neighbours (S-SKNN) yöntemidir. SKNN'den farklı olarak, ürün oturumda ne kadar güncelse, komşularıyla olan benzerlik değeri o kadar fazla ağırlıklandırılmaktadır. Özyineli Yapay Sinir Ağları, son zamanlarda oturum tabanlı öneri sistemlerinde yüksek başarı veren ve sık uygulanan tekniklerden birisidir. Gated Recurrent Unit (GRU), Özyineli Yapay Sinir Ağlarının bir türüdür. İçerisinde güncelleme ve sıfırlama kapıları sayesinde güncel bilginin sonraki birimlere ne kadarının aktarılacağını veya kısıtlanacağını öğrenmektedir. En güncel çalışmalarda, GRU içeren GRU4REC modeli kullanılmaktadır. Bu tez çalışmasında da bir sonraki ürün veya olayı tahminlemede bu model kullanılmıştır. Oturumlar ürün dizilerinden oluştuğundan sonrakileri tahmin etmek için önceki ürünler girdi olarak verilmiştir. Ancak, oturumların boyutları değişken olduğundan her bir oturum direkt GRU'ya verilememektedir. Bunun için sabit boyutlu bir batch belirlenmektedir. Bu batch boyutu kadar her bir oturumdan bir ürün alınıp girdi olarak sisteme verilir. Tahminlenen bir sonraki ürünler de çıktı olarak beklenir. Bu yaklaşım session-parallel mini-batch olarak geçmektedir. Bu sayede, paralel olarak her bir oturum için tahminleme yapıldığı gibi farklı boyut sorununun da önüne geçilmektedir. Bu tez çalışmasında kullanılan veri kümesi ürün ve olay tiplerinden oluşmaktadır. Kullanıcıların ürünlerle olan etkileşim geçişleri de bir sonraki ürünün belirlenmesindeki etkisi incelenmiştir. Bu sayede, olay tiplerinin geçiş olasılıklarını kullanarak genişletilmiş Sequential Rules (SR) yöntemi önerilmiştir. Eğer olay tipi geçişi, görüntülemeden sepete atmaya doğru veya sepete atmadan satın almaya doğruysa SR skoru geçiş olasılığı ile arttılmış, tam tersi ise azaltılmıştır. Bu genişletilmiş SR metodundan elde edilen ikili ürün skorları GRU4REC yapısına entegre edilmiştir. Bu aşamada Node2Vec algoritması kullanılmıştır. Node2Vec, yönlü ve ağırlıklı çizge (graph) oluşturmakta ve düğümlerin çok boyutlu vektör gösterimlerini yaratmaktadır. Genişletilmiş Sequential Rules (SR) yönteminden elde edilen ikili ürün geçişlerini ve skorlarını kullanarak bu yönlü ve ağırlıklı çizge oluşturulmuştur. Deneysel sonuçlar, hem satın alım tahmini hem de bir sonraki ürün tahmini için birbirinden bağımsız olarak elde edilmiştir. Satın alma tahmini kısmında, sentetik veriden oluşan test veri kümesi ile accuracy açısından Gradient Boosting Classifier ve Random Forest Classifier yöntemleriyle en iyi sonuçlar elde edilmiştir. Genel olarak, dengelenmiş veri üzerindeki sonuçlar, Recall ve Area Under The Curve (AUC) metrikleri açısından dengesiz veriden daha iyidir. Ürün tahminleme aşamasında, en iyi Recall ve Mean Reciprocal Rank (MRR) sonuçları, Sequential Session-based k-Nearest Neighbours (S-SKNN) yöntemiyle elde edilmiştir. Ayrıca, önerilen yöntem GRU-100-Node2Vec'in sonuçları, Recall ve Mean Reciprocal Rank (MRR) açısından GRU-100 yönteminden daha başarılıdır.
Özet (Çeviri)
Increasing online information led to lots of redundant options on the Internet. These options make reaching to most relevant results harder and cause loss of time. The recommendation systems allow us to deal with countless options by filtering a big amount of data. In order to filter data, the system must know about the profiles of users and products. There are many resources especially, social media which becomes larger is an important source for Recommendation Systems (RS) recently. For instance, people can remark their opinions about a product in e-commerce applications, complain of purchased products/services on Twitter, Facebook, etc., rate the products or comment. Therefore, a great deal of information about people can be learned from online systems. Besides, the relationship that is between products can be figure out. Shortly, people who behave similarly mean that they might like similar things or similar products solve similar requirements. In order to find these similarities, the big companies invest in recommendation systems. By doing this, companies such as Google, Amazon, Netflix, Spotify prepare particular recommendation lists to users. When people search something on Google, the order of returned results can change according to past clicks of the current user. In case of shopping on e-commerce websites like Amazon, the system can create campaigns for a user or can predict products that might be next purchase by the user. This provides customer satisfaction and more profit for companies. In order to predict the next purchase or next product, a session structure which holds all transactions is used. Product, campaign or link clicks, purchase transactions, ratings, saved connections are collected in the sessions. Past sessions of users are an important footprint for the next behaviour. If a session contains purchase transaction at least once, it is labelled as purchased, otherwise labelled as a non-purchased session. In this research, we focused on session-based datasets which constituted of item sequences and interaction types such as view, add to cart and purchase. Purchase prediction (buy or not buy) and next item prediction are both implemented with different machine learning methods. First, we aim to predict whether the session will return to purchase. To do this, ensemble algorithms and single models are used. Before applying classification models it is required to deal with the imbalanced dataset. When some classes in the dataset much more than the others, imbalanced dataset problem occurs. As a result of this, the model tends to predict test instances as the dominant class. Since the purchase rate of our dataset is 6%, we used Synthetic Minority Over-sampling Technique (SMOTE). Finally, the count of purchase and non-purchased instances are equalized. Ensemble models combine machine learning models in order to obtain more successful models. In other words, ensembles involve multi classifiers rather than a single classifier. Basically, ensemble models are applied to a problem in two steps. First, the distribution of single models on subsets of the original dataset is generated. Second, the distribution is aggregated into one model. The most popular ways are bootstrap aggregating (Bagging) and Boosting. Bagging and Boosting take n learners by generating new data sample in the training phase. n new training samples are produced by random sampling with replacement from the original set. In Bagging, each data sample has the same probability, however, in Boosting, samples have different weights. Therefore, some samples might be selected often than the others in Boosting method. Each classifier is trained on data by evaluating the previous classifiers' accuracy and after each training epoch, the misclassified data samples updated their weights in Boosting algorithms. In Bagging, each classifier is evaluated independently rather than depending on previous classifiers. In this research, we used Gradient Boosting Classifier as a boosting method and Random Forest Classifier as bagging method. Besides, Logistic Regression and K-Nearest Neighbour are used as a single model. In the next item prediction task, many machine learning algorithms are implemented. First, we applied Association Rules (AR) which measures co-occurrence of item pairs. Association Rules calculate that number of coexistence of two items in the same session for all item pairs. It determines that customers who click on item X also click on item Y. Similarly, another method we used is Markov Chains (MC). Markov Chains focus on which item comes from immediately after which item. All the sequential item pairs in the same session are counted. As an extension of Association Rules and Markov Chains, Sequential Rules (SR) method that is based on the order of items in the session is also used. Item counts between all two items are calculated as inversely proportional in all sessions. It means if item count between item X and item Y is too much, item X is less related to the item Y. Thus, most related items can be recommended to each other. The other method is Bayesian Personalized Ranking (BPR-MF). This method is applied to solve the matrix-completion problem. To evaluate long term user-item interactions, the matrix is factorized into latent factors and item features. In session-based datasets, each session in the training dataset is assumed as a different user. Therefore, each row in the matrix represents a user (sequence of items in a session). In order to find similar items or users, one of the most common ways is the neighbourhood methods. In this thesis, it can be assumed that the items which exist in the same sessions are similar. In order to apply this assumption, the first method that we used is Session-based k-Nearest Neighbours (SKNN). In this method, for each item in the session s, past n most recent sessions which contain that item are selected. The similarity scores between s and its neighbours n are calculated using cosine similarity. As a result, items which are most related to the item i are obtained and recommended. The other method is Sequential Session-based k-Nearest Neighbours (S-SKNN). This method is similar to SKNN, however, it gives weights to recent items in the current session. If an item is the most recent item in the session, its weight is more than the middle items of the session. In order to generate better results for session-based recommendation systems one of the best latest techniques is Recurrent Neural Networks (RNN). Gated Recurrent Unit (GRU) is a model of the RNN that has update/reset gates inside of itself to send or limit current information to the next units. Recently, an approach-GRU4REC is used for recommendation systems. GRU4REC models try to predict the next item or event in sequential data. For our dataset, since sessions are sequences of items, to predict every next item, the previous ones are given as input to GRUs. It means items in the sessions are given to the input layer. However, the length of the sessions is different and all sessions cannot be given directly to the input layer. In order to deal with this, a fixed size batch is determined. Fixed sized events of different sessions are selected as input and predicted next items are generated as output. This approach is called as session-parallel mini-batch. Not only events from different sessions are trained parallel but also different sized session problem is solved with mini-batches. In our thesis, the dataset consists of items and their event types. Therefore, in order to take these interactions of users an account, we used probabilities of event type transitions as an extension of Sequential Rules (SR). If a transition level increases (from view to basket or from basket to purchase etc.), SR score of these two items is increased by transition probability. Otherwise, SR score of them is decreased. We integrated these extended Sequential Rules method to GRU4REC. To do this integration, we used Node2Vec algorithmic framework. Node2Vec creates a graph which is directed and weighted. Besides generates vector representations of nodes through this graph. The nodes represent items and edges represent that transitions of two items and their SR extended score. Experimental results are both obtained for purchase prediction and next item prediction tasks separately. In the purchase prediction tasks, the best results of synthetic testing data are obtained with Gradient Boosting Classifier and Random Forest Classifier methods in terms of accuracy and AUC. Generally, in adjusted data, the results are obtained better than imbalanced data in terms of Recall and Area Under The Curve (AUC) metrics. In the item prediction stage, best Recall and Mean Reciprocal Rank(MRR) results are obtained with Sequential Session-based k-Nearest Neighbours (S-SKNN) method. Besides, the results of our proposed method GRU-100-Node2Vec are better than GRU-100 method in terms of Recall and MRR.
Benzer Tezler
- Adaptive data mining and analytic methods forcontent personalisation in digital marketing
Başlık çevirisi yok
RAMAZAN ESMELİ
- An efficient mining approach of frequent data item sets on large uncertain databases
An efficient mining approach of frequent data item sets on large uncertain databases
ISSE HASSAN SHEIKH NUR
Yüksek Lisans
İngilizce
2015
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. MELİH KIRLIDOĞ
- A comparison of LSTM and GNN based session recommendation systems
LSTM ve GNN tabanlı oturum öneri sistemlerinin karşılaştırılması
ÇAĞRI EMRE YILDIZ
Yüksek Lisans
İngilizce
2021
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ YUSUF YASLAN
- Üretim kaynakları planlaması (MRP II) ve yan sanayi maliyet analizi ve kontrolü sistemi
Manufacturing resources planning (MRPII) and vendor firms cost analysis and control system
SERKAN SANCAN
Yüksek Lisans
Türkçe
1997
Endüstri ve Endüstri Mühendisliğiİstanbul Teknik ÜniversitesiEndüstri Mühendisliği Ana Bilim Dalı
DOÇ. DR. TUFAN VEHBİ KOÇ
- Generating negative samples with a related task for recommendation
Öneri sistemleri için ilgili bir görev kullanılarak negatif örneklerin yaratılması
İPEK KIZIL
Yüksek Lisans
İngilizce
2019
Mühendislik BilimleriKoç ÜniversitesiBilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. BARIŞ AKGÜN