Ctrip'in temel iş araştırma ve geliştirme departmanı-veri ürünleri ve hizmetleri grubu, değer üretmek için kişiselleştirilmiş öneri, doğal dil işleme, görüntü tanıma ve diğer yapay zeka alanları gibi turizm endüstrisindeki gelişmiş teknolojilerin uygulanmasına odaklanır. Şu anda ekip, Ctrip'e genelleştirilmiş kişiselleştirilmiş öneri sistemi, akıllı müşteri hizmetleri sistemi ve yapay zeka platformu gibi bir dizi olgun ürün ve hizmet sağladı.
Çin'de lider bir OTA olarak Ctrip, her gün milyonlarca kullanıcıya eksiksiz bir seyahat hizmetleri yelpazesi sunmaktadır. Bu kadar çok kullanıcı için uygun seyahat ürünleri ve hizmetleri nasıl keşfedilir, potansiyel ilgi alanlarına dokunulur, aşırı bilgi yükünden kurtarılır ve kişiselleştirilmiş öneri sistemleri ve algoritmaları Vazgeçilmez bir rol oynayan. OTA'nın kişiselleştirilmiş önerisi her zaman zor bir nokta olmuştur ve öğrenilecek çok başarılı deneyim yoktur. Bu makale, kişiselleştirilmiş öneri uygulamasında Ctrip'in bazı girişimlerini ve keşiflerini paylaşmaktadır.
Öneri süreci kabaca üç kısma ayrılabilir: geri çağırma, sıralama ve tavsiye sonucu oluşturma Genel yapı aşağıdaki şekilde gösterilmektedir.
Geri çağırma aşaması, temel olarak on milyonlarca üründen belirli bir aday setini kilitlemek ve ürünlerin ön taramasını tamamlamak için veri mühendisliği ve algoritmaları kullanır; bu, belirli bir dereceye kadar sıralama aşamasının verimliliğini ve öneri sonuçlarının kalitesini belirler. .
Sektördeki daha geleneksel algoritmalar esas olarak CF, istatistiksel tabanlı Bağlamsal öneri ve LBS'dir. Son zamanlarda, derin öğrenme yaygın bir şekilde tanıtıldı ve algoritma büyük ölçüde geliştirildi.Örneğin, 2015 yılında Netflix ve Gravity RD Inc, RNN kullanarak bir oturum önerdi. 2016'da Recsys, Bağlama duyarlı öneriyi uygulamak için CNN ve PMF'yi birleştirmeyi önerdi. 2016'da Google, modele kolayca rastgele sürekli ve sınıflandırma özellikleri ekleyebilen DNN'nin MF olarak tanıtımını önerdi. 2017'de IJCAI konferansında sıra önerisi için LSTM kullanılması önerildi. 2017'de AAAI toplantısında Ctrip kişiselleştirme ekibi tarafından önerilen derinlemesine model aSDAE, ek yan bilgileri girdiye entegre ederek veri seyrekliğini ve soğuk başlatma sorunlarını iyileştirebilir.
Geri çağırma aşamasında elde edilen aday seti için daha karmaşık ve doğru puanlama ve yeniden sıralama olacak ve ardından kullanıcıların ilgisini çekebilecek daha küçük bir ürün listesi elde edilecektir. Ctrip'in öneri sıralaması yalnızca tıklama oranını veya dönüşüm oranını takip etmekle kalmaz, aynı zamanda mesafe kontrolü ve ürün kalite kontrolü gibi faktörleri de dikkate almalıdır. Arama sıralaması, metin alaka düzeyine erişme ve diğer alanlar için uygun olan ikili ve liste halinde yöntemlerle karşılaştırıldığında, noktasal yöntem, diğer kontrol öğelerini üst üste koyarak müdahale edebilir ve çok amaçlı optimizasyon problemleri için uygundur.
Endüstride önerilen yöntem, doğrusal model + çok sayıda yapay özellik mühendisliği deneyimlemiştir. > Karmaşık doğrusal olmayan model > Derin öğrenmenin gelişimi. Microsoft, ilk olarak 2007'de arama ağı reklamlarının tıklama oranını tahmin etmek için Logistic Regression kullanımını önermiş ve aynı yıl, LR problemini L1 normalleştirme ile çözmek için OWLQN optimizasyon algoritmasını önermiştir. Daha sonra 2010'da, L2 düzenlemesine dayalı olarak Ad Predictor'ın çevrimiçi öğrenme sürümünü önermiştir.
2013'te Google, L1 düzenlemesine dayalı olarak LR optimizasyon algoritması FTRL-Proximal'i önerdi. 2010'da önerilen Faktorizasyon Makinesi algoritması ve 2014'te önerilen Dosyaya Duyarlı Faktorizasyon Makinesi, seyrek veriler altında özellik kombinasyonu sorununu çözmek için tasarlanmıştır, böylece LR kullanılırken gereken büyük miktarda manuel özellik kombinasyonu işinden kaçınılmış olur.
Ali, 2011 yılında orijinal uzaydaki özellikler arasındaki doğrusal olmayan ilişkiyi doğrudan öğrenmek için Karışım Lojistik Regresyon'u önerdi. Facebook, 2014 yılında Lojistik Regresyonu entegre ederken otomatik özellik kombinasyonu için GBDT kullanmayı önerdi.
Son yıllarda derin öğrenme, öneri sıralaması alanına da başarıyla uygulanmıştır. Google, modelin bellek ve genelleme yeteneklerini entegre etmek için 2016 yılında geniş ve derin bir öğrenme yöntemi önerdi. Ayrıca Huawei, wdl'deki yapay özellik kombinasyonu parçasının yerini alacak DeepFM modelini önerdi. Ali, 2017'de dikkat mekanizmasını tanıttı ve Derin İlgi Ağı'nı önerdi.
Ctrip, en yaygın olarak kullanılan lojistik regresyon modeli (Lojistik Regresyon), ağaç modeli (GBDT, Random Forest), çarpanlara ayırma makinesi (Faktorizasyon Makinesi) ve yakın zamanda önerilen wdl modeli olsun, ilgili modellerin uygulanmasında belirli bir deneyime sahiptir. Aynı zamanda, günümüzde derin öğrenmenin popüler olduğu zamanlarda bile, iyileştirilmiş özellik mühendisliğinin hala vazgeçilmez olduğuna inanıyoruz.
Sıralanan listeye dayalı olarak, nihai öneri sonucu çeşitlilik, yenilik, Yararlanma ve Keşfetme gibi faktörler kapsamlı bir şekilde değerlendirildikten sonra oluşturulur. Bu makale, hatırlama ve sıralama ile ilgili çalışma ve uygulamaya odaklanacaktır.
1. Veriler
Makine öğrenimi = veri + özellikler + model
Geri çağırma ve sıralamayı tanıtmadan önce, kullanılan verileri kısaca anlayalım. Büyük bir OTA şirketi olarak Ctrip, her gün çok sayıda kullanıcı tarafından ziyaret edilmekte ve büyük miktarda ürün verisi ve kullanıcı davranışıyla ilgili veri biriktirmektedir. Aslında, aşağıdaki veriler geri çağırma ve sıralama sürecinde kabaca kullanıldı:
İstatistiksel bilgiler için bazı düzeltmelerin gerekli olabileceğine dikkat etmek önemlidir. Örneğin, geçmiş CTR geri bildirimi için, ön işleme için Bayes yumuşatma kullanılır.
2. Geri Çağırma
Geri çağırma aşaması, öneri sürecinin temel bir basamağıdır Binlerce maddeden sınırlı sayıda aday kümesi oluşturulur ve bu, bir dereceye kadar sıralama aşamasının verimliliğini ve öneri sonuçlarının kalitesini belirler. Ve OTA'nın öznitelikleri tarafından belirlenir, kullanıcının erişim davranışı çoğunlukla düşük frekanstır. Bu, kullanıcı-öğe etkileşim verilerini son derece seyrek hale getirir ve bu da hatırlanması büyük bir zorluk teşkil eder. İş uygulamalarında, çeşitli etkili yöntemleri filtrelemek ve keşfetmek için mevcut genel öneri yöntemlerini ve iş senaryolarını birleştirdik:
Gerçek zamanlı niyet sistemimiz, kullanıcının son göz atma ve sipariş davranışına dayalı Markov tahmin modeline dayalı ürünler önerebilir veya çapraz tavsiye edebilir. Bu aday ürünler, kullanıcıların son isteklerini doğru bir şekilde yansıtabilir.
İş kuralları, kurallar olarak kabul edilir ve önerilen içeriğin kapsamını sınırlamak için kullanılır. Örneğin, uçak biletlerinin otelleri ittiği senaryoda, önerilen ürünleri otellerle sınırlandırmak için iş kuralları kullanılmalıdır ve diğer seyahat ürünleri tavsiye edilmeyecektir.
Bağlama dayalı öneri senaryoları, mevsimle ilgili turizm ürünleri (kış kayağı, Yılbaşı, Yılbaşı Gecesi vb.) Gibi Bağlamın kendisiyle yakından ilgilidir.
Kullanıcının mevcut konum bilgisine bağlı olarak, filtrelenmiş çevredeki oteller, turistik yerler, yiyecekler, vb. Sektördeki sahnelerin önerisi için daha uygundur. Coğrafi mesafe GeoHash algoritması ile hesaplanır, alan yinelemeli olarak normal dikdörtgenlere bölünür ve her dikdörtgen kodlanır, benzer GeoHash kodlu POI'ler seçilir ve ardından gerçek mesafe hesaplanır.
İşbirlikçi filtreleme algoritması, pratik problemleri çözmek için öneri sistemlerinde yaygın olarak kullanılan bir yöntemdir. Ctrip kişiselleştirme ekibi, derin öğrenme ve öneri sistemlerini birleştirme alanında ilgili araştırma ve uygulamaları gerçekleştirdi ve mevcut derin modeli geliştirerek derin bir aSDAE modeli önerdi. Hibrit işbirlikçi filtreleme modeli, SDAE'nin bir çeşididir. Girişe ek yan bilgileri entegre ederek, veri seyrekliği ve soğuk başlatma sorunları iyileştirilebilir. Ayrıntılar için lütfen literatüre bakın.
Mevcut Matris Ayrıştırma yöntemi, kullanıcıların uzun vadeli ilgi ve tercihlerini öğrenmek için geçmiş kullanıcı-öğe etkileşimine dayanmaktadır ve Markov zinciri, öğeler arasındaki geçiş grafiğini öğrenerek kullanıcının sıra davranışını modeller. Aslında, turizm sahnesinde, kullanıcının karar verme sürecini daha iyi yansıtmak için kullanıcı davranışının sırası eklenir. Her kullanıcı için kişiselleştirilmiş bir transfer matrisi oluşturmak için Matrix Factorization ve Markov zincirini birleştiriyoruz, böylece kullanıcının geçmiş davranışına göre kullanıcının sonraki davranışını tahmin ediyoruz. Seyahat senaryolarında, kullanıcının bir sonraki varış noktasını veya POI'sini tahmin etmek için kullanılabilir.
Ek olarak, RNN ayrıca Oturum bazlı öneri ve bir sonraki maddeyi önermek için zaman aralığı bilgisini dikkate alan LSTM gibi sıra önerileri için de kullanılabilir.
Ayrıca öneri sistemine bazı yaygın derin modeller (DNN, AE, CNN vb.) Uygulanabilir, ancak farklı alanlardaki öneriler için daha verimli modellere ihtiyaç vardır. Derin öğrenme teknolojisinin gelişmesiyle birlikte derin öğrenmenin öneri sistemleri alanında çok önemli bir teknik araç olacağına inanılmaktadır. Yukarıdaki geri çağırma yöntemlerinin kendi avantajları vardır Uygulamada, kullanıcılara en iyi tavsiyeleri sağlamak için farklı senaryolar için birden fazla yöntemin bir kombinasyonu kullanılır, böylece kullanıcı deneyimi geliştirilir ve kullanıcı bağlılığı artar.
Üç, sırala
Sektörün reklam, arama, öneri vb. Alanlardaki pratik deneyimlerine dayanarak, verilerin koşulları göz önüne alındığında, basit bir doğrusal modelden + çok sayıda yapay özellik mühendisliğinden karmaşık doğrusal olmayan bir modele + otomatik özellik öğrenmeye doğru evrimi deneyimlemiştir. Ctrip'in kişiselleştirilmiş öneri sistemini oluşturma pratiğinde, hem özelliklerden hem de modellerden geliştirilecek olan özel öneri sıralaması sorunu hakkında bazı düşüncelerim ve özetlerim var.
Kişiselleştirilmiş sıralama modeli, özünde çok görevli öğrenme olarak kabul edilebilecek kendi sıralama modelini oluşturmak için her kullanıcının geçmiş davranış veri setini kullanmayı amaçlamaktadır. Aslında, bağlantı özellikleri ekleyerek, yani kullanıcı ve ürünün kesişim özelliklerini ekleyerek, belirli bir çok görevli görev tek görevli bir modele basitleştirilebilir.
Bilim ve teknoloji endüstrisinde uygulanan sıralama modeli, aşağıdaki şekilde gösterildiği gibi kabaca üç aşamadan geçmiştir:
Bu makale, yukarıdaki şekildeki algoritmanın ayrıntılarını ayrıntılı olarak tanıtmayı amaçlamamaktadır.İlgili okuyucular ilgili makaleleri görüntüleyebilir.Aşağıdaki noktalar, pratik deneyim ve deneyimlerimizden bazılarıdır.
Aslında, derin öğrenme ve diğer yöntemler, karmaşık özellik mühendisliği çalışmasını bir ölçüde azaltmış olsa da, iyi tasarlanmış özellik mühendisliğinin hala vazgeçilmez olduğuna ve özellik kombinasyonunun nasıl yapılacağına inanıyoruz ve pratikte kesinlikle dikkate aldığımız bir sorun. Genel olarak ikiye ayrılabilir Açık özellik kombinasyonu ve yarı açık özellik kombinasyonu.
Açık özellik kombinasyonu
Özellikler ayrıklaştırılır ve ardından kartezyen çarpım, iç çarpım ve diğer yöntemler kullanılarak çapraz çarpılır.
Çapraz özellikler oluşturma sürecinde, özellik ayrıklaştırma gerçekleştirmek gerekir; farklı özellik türleri için farklı işleme yöntemleri vardır.
1. Sayısal özellik
2. Sıra özelliği
Kodlama, değerler arasındaki sıra ilişkisini temsil eder. Örneğin, sıhhi koşulların özellikleri için üç düzeyde zayıf, orta ve iyi vardır, bunlar (1,0,0), (1,1,0), (1,1,1) olarak kodlanabilir.
3. Kategorik özellik (düzensiz özellik)
Ayrıklaştırma yöntemi
özel yöntemler
OHE (bir sıcak kodlama)
H düzeylerini temsil etmek için h değişkenlerini kullanın
Sahte Kodlama
H seviyeli bir değişkeni h-1 değişkenlerine dönüştürün
Hash Trick
Sabit uzunlukta bir hash değişkenine dönüştürüldü
Yarı açık özellik kombinasyonu
Açık kombinasyon yorumlama bilgisine sahip açık özellik kombinasyonundan farklı olarak, yarı açık özellik kombinasyonunun olağan yöntemi, ağaç yöntemine dayalı olarak özellik bölümü oluşturmak ve karşılık gelen kombinasyon yolunu vermektir.
Genel yaklaşım, numunenin sürekli değer özelliklerinin topluluk ağacına girilmesidir ve her karar ağacı, sonunda, numarasını almak için belirli bir dal yolu boyunca belirli bir yaprak düğümüne düşecektir. Esasen, bu özelliklerin belirli bir değer aralığında bir kombinasyonudur. Topluluk ağacı, Gbdt veya rastgele orman kullanılarak uygulanabilir. Her yineleme turunda, aşağıdaki şekilde gösterildiği gibi, nihayet tek sıcak kodlama ile bir ikili vektöre dönüştürülen yeni bir ağaç oluşturulur.
Aşağıdaki noktalar, sonuçlarımızdan ve pratikteki düşüncelerimizden bazılarıdır.
Ek olarak, pratikte, Xgboost tarafından otomatik olarak öğrenilen yüksek sıralı kombinasyon özelliklerini kullanmanın ve ardından LR modeline girişin yapay özellik mühendisliğinin rolünün tamamen yerini alamayacağı; orijinal özellikler ve bazı yapay olarak birleştirilen yüksek dereceli çapraz özellikler, xgboost tarafından öğrenilen özelliklerle birleştirilebilir. Daha iyi sonuçlar elde etmek için sonraki modelleri bir araya getirin.
Dört, özet
Tam öneri sistemi, birden çok yönü içeren devasa bir sistemdir.Geri çağırma, sıralama ve liste üretimi gibi adımlara ek olarak, veri hazırlama ve işleme, mühendislik mimarisi ve uygulama, ön uç görüntüleme vb. De vardır. Uygulamada bu modülleri bir araya getirerek, 10'dan fazla alanda ve 60'tan fazla sahnede uygulanan, harici push hizmetleri sağlayan ve iyi sonuçlar elde eden bir grup genel öneri sistemi oluşturulmuştur. Bu makale, geri çağırma ve sıralama algoritmaları ile ilgili bazı mevcut çalışma ve uygulamalara odaklanmaktadır. Bir sonraki adımda, geri çağırma ve sıralama problemleriyle başa çıkmak için daha derinlemesine modeller sunmayı ve çevrimiçi öğrenmenin ilerlemesini, pekiştirmeli öğrenmeyi, göç öğrenimi vb. , Önerilerin genel kalitesini optimize edin.
Referanslar
Koren, Yehuda, Robert Bell ve Chris Volinsky. "Tavsiye sistemleri için matris çarpanlara ayırma teknikleri." Bilgisayar 42.8 (2009).
Sedhain, Suvash, ve diğerleri. "Autorec: Otomatik kodlayıcılar işbirliğine dayalı filtrelemeyle buluşuyor." 24. Uluslararası World Wide Web Konferansı Bildirileri. ACM, 2015.
Rendle, Steffen, Christoph Freudenthaler ve Lars Schmidt-Thieme. "Sonraki sepet tavsiyesi için kişiselleştirilmiş markov zincirlerini faktoring." World wide web üzerine 19. uluslararası konferansın bildirileri. ACM, 2010.
Dong, Xin, etal. "Bir Karma İşbirlikçi Filtreleme Modeli, Önerici Sistemler için Derin Yapı." AAAI. 2017.
Hidasi, Balázs, et al. "Tekrarlayan sinir ağları ile oturuma dayalı öneriler." ArXiv ön baskı arXiv: 1511.06939 (2015).
Zhu, Yu, ve diğerleri. "Sonra Ne Yapmalı: Kullanıcı Davranışlarını Zaman-LSTM'ye Göre Modelleme." Yirmi Altıncı Uluslararası Yapay Zeka Ortak Konferansı Bildirileri, IJCAI-17. 2017.
Barkan, Oren ve Noam Koenigstein. "Item2vec: işbirliğine dayalı filtreleme için nöral öğe yerleştirme." Sinyal İşleme için Makine Öğrenimi (MLSP), 2016 IEEE 26th International Workshop on. IEEE, 2016.
Wang, Hao, Naiyan Wang ve Dit-Yan Yeung. "Öneri sistemleri için işbirliğine dayalı derin öğrenme." 21. ACM SIGKDD Uluslararası Bilgi Keşfi ve Veri Madenciliği Konferansı Bildirileri. ACM, 2015.
Covington, Paul, Jay Adams ve Emre Sargın. "Youtube tavsiyeleri için derin sinir ağları." Önerici Sistemler Üzerine 10. ACM Konferansı Bildirileri. ACM, 2016.
Kim, Donghyun, et al. "Belge bağlamına duyarlı öneri için evrişimli matris ayrıştırması." Önerici Sistemlerde 10. ACMConference Bildirileri. ACM, 2016. https://mli.github.io/2013/03/24/the-end -of-feature-engineering-and-linear-model / Richardson, Matthew, Ewa Dominowska ve Robert Ragno. "Tıklamaları tahmin etmek: yeni reklamlar için tıklama oranını tahmin etmek." World Wide Web'deki 16. uluslararası konferansın bildirileri. ACM, 2007 Andrew, Galen ve Jianfeng Gao. "L1 ile düzenlenmiş log-lineer modellerin ölçeklenebilir eğitimi." Makine öğrenimi üzerine 24. uluslararası konferansın bildirileri. ACM, 2007. Graepel, Thore, ve diğerleri. "Web ölçeğinde bayesci tıklama -Microsoft'un bing arama motorunda sponsorlu arama reklamcılığı için genel oran tahmini. "Omnipress, 2010.
McMahan, H. Brendan, ve diğerleri. "Reklam tıklama tahmini: siperlerden bir görünüm." Bilgi keşfi ve veri madenciliği konulu 19. ACM SIGKDD uluslararası konferansının bildirileri. ACM, 2013.
Chen, Tianqi ve Carlos Guestrin. "Xgboost: Ölçeklenebilir bir treeboosting sistemi." 22. acm sigkdd uluslararası konferansın bilgi keşfi ve veri madenciliği üzerine bildirileri. ACM, 2016.
Rendle, Steffen. "Faktorizasyon makineleri." Veri Madenciliği (ICDM), 2010 IEEE 10. Uluslararası Konferansı. IEEE, 2010.
Juan, Yuchin, ve diğerleri. "TO tahmini için alan farkında olan çarpanlara ayırma makineleri." Önerici Sistemler Üzerine 10. ACM Konferansı Bildirileri. ACM, 2016.
Gai, Kun, et al. "Reklam Tıklaması Tahmini için Büyük Ölçekli Verilerden Parçalı Doğrusal Modeller Öğrenin." ArXiv ön baskı arXiv: 1704.05194 (2017).
He, Xinran ve diğerleri. "Facebook'ta tıklama reklamlarının tahmin edilmesinden pratik dersler." Çevrimiçi Reklamcılık için Veri Madenciliği üzerine Sekizinci Uluslararası Çalıştayın Bildirileri. ACM, 2014.
Cheng, Heng-Tze, et al. "Tavsiye sistemleri için geniş ve derin öğrenme." Önerici Sistemler için Derin Öğrenme 1. Çalıştayı Bildirileri. ACM, 2016.
Guo, Huifeng ve diğerleri. "DeepFM: CTR Tahmini için Faktörlere Ayırma-Makine Tabanlı Sinir Ağı." ArXiv ön baskı arXiv: 1703.04247 (2017).
Zhou, Guorui ve diğerleri. "Tıklama Oranı Tahmini için Derin İlgi Ağı." ArXiv ön baskı arXiv: 1706.06978 (2017).
Blondel, Mathieu, et al. "Yüksek dereceli fastorizasyon makineleri." Nöral Bilgi İşleme Sistemlerinde Gelişmeler. 2016.
https://en.wikipedia.org/wiki/Categorical_variable
https://www.zhihu.com/question/48674426
EAA ne kadar yüksek? https://zhuanlan.zhihu.com/p/24217322
Orijinal metin WeChat Resmi Hesabı-Ctrip Teknoloji Merkezi'nde (ctriptech) yayınlandı