999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XGBoost的搜索結果智能排序系統

2019-02-07 05:32:15趙晗孟曉景張春勇
軟件導刊 2019年12期

趙晗 孟曉景 張春勇

摘要:針對傳統基于模型的搜索引擎排序及特征獲取慢、非數值特征處理復雜等問題,提出一種基于XG-Boost的搜索結果智能排序模型。基于XGBoost算法構建排序模型,使用獨熱編碼和Apriori算法對非數值特征進行處理和篩選,利用Redis對用戶和商家特征數據進行緩存,通過并行預測的方式加快模型預測商家得分速度,最后利用XGBoost自帶的模型評價函數對最終訓練出來的模型進行評估,結果顯示模型預測準確率為0.76,說明模型給符合用戶偏好的商家打出了較高的分數。其中在訓練集上的AUC為0.72,在測試集上的AUC為0.69,兩者相差不大,表明模型沒有出現明顯的過擬合現象,而且準確率較高,可用于構建商家排序模型。

關鍵詞:XGBoost;特征緩存;特征篩選;并行預測

DOI:10.11907/rjdk.191138

中圖分類號:TP303 文獻標識碼:A 文章編號:1672-7800(2019)012-0056-05

0引言

搜索引擎的任務是在用戶輸入一個查詢詞后返回給用戶可能相關的結果。搜索引擎對于不同搜索結果的質量(結果相關性評分)進行判斷(預測),返回結果越相關,用戶滿意度越高,對搜索引擎的依賴度和忠實程度越高,從而為搜索引擎帶來更多流量。因此,搜索結果質量是搜索引擎最重要的評價指標之一。

為了返回高質量的排序列表,現代商用搜索引擎(如Google、百度、搜狗等)在對候選結果進行排序時,使用了多種相關性預測方法。其中包括傳統基于詞頻的相關性評分,如TF-IDF、BM25,也包含基于互聯網網頁鏈接結構的相關性評分,如PageRank、HITS、TrustRank、BrowseRank、ClickRank等,以及近年來以點擊模型為代表,利用用戶與搜索引擎的交互信息計算搜索結果相關性評分的方法。

(1)基于詞頻的相關性評分。這是搜索結果質量最傳統的評價方法,該方法評價流程可以概括為:首先選取衡量結果相關性的特征(如TF-IDF和BM25),對獲取到的用戶查詢詞和文檔進行處理以提取特征,使用特征相似程度代表各個搜索結果與用戶查詢詞之間的相關性。該方法可以快速并且相對準確地從基于內容的搜索結果中提取出用戶想要的結果,是最基礎的排序策略。但是基于詞頻的相關性評分并不能完美解決基于內容的結果相關性問題,Lv等指出,當搜索結果的內容長度非常大時,BM25指標會失效。所以,除內容信息之外,搜索引擎應該尋找更多的有效信息去更有效地衡量搜索結果的相關性,這樣才能為用戶提供更滿意的結果排序。

(2)基于鏈接的相關性評分。由于全文搜索引擎中的搜索結果基本上是網頁,而網頁中一般都攜帶有多個超鏈接,這些超鏈接使網頁之間可以相互連接,構成了一種網格結構,所以搜索引擎的研發者們可用互聯網網頁的鏈接結構推斷不同結果的重要性、可靠性等,從而對搜索結果的相關性進行更加合理的評估策略。該方法對全文搜索引擎的結果排序相關性估計有極大促進作用,但是不能應用于搜索結果為非網頁的搜索引擎上。

(3)基于搜索引擎與用戶交互信息的相關性評分。近些年來,隨著大規模數據處理技術及機器學習技術的發展,利用用戶與搜索引擎的交互信息計算搜索結果相關性評分的方法逐漸受到關注。由于用戶與搜索引擎的交互信息主要是點擊信息,所以研究人員提出構建描述用戶點擊行為的點擊模型,嘗試利用點擊信息對結果相關性進行評價。點擊模型嘗試利用大規模的用戶點擊信息去推測用戶對搜索結果的點擊概率,以達到更好利用點擊信息的目的。由于可以有效利用用戶交互信息,點擊模型得到了學術界廣泛關注,在工業界也得到了大規模應用。例如Etsy、雅虎、Airbnb均使用了點擊模型,根據客戶偏好進行搜索排序工作。

1系統構造

1.1系統設計

排序模塊用模型對召回模塊獲得的搜索結果列表進行排序,以獲取質量更高的搜索結果列表。排序模塊首先獲取緩存特征,其中有用戶特征、商家特征以及交叉特征,再用模型對每個結果的特征向量進行打分,最后按分數降序構造最終結果。

1.2緩存設計

Redis是一款開源的高性能NoSQL數據庫。為了滿足高性能的需求,Redis采用了內存數據集。Redis還具有高效的持久化機制,以保證數據不會丟失,很適合本文排序模塊中緩存特征數據的場景,因此本文使用Redis緩存特征以加快模型預測速度。

本文使用的特征包含商家特征、用戶特征以及用戶商家交叉特征,系統如果直接從數據庫中讀取數據,則存在速度慢和數據庫壓力過大的隱患,因此本文將數據庫中的特征數據定期(每日)存人緩存之中,既減輕了數據庫壓力,也提高了系統讀取特征的速度,美中不足的是對本文所述的小型服務器而言,數據量太大會提高對內存的要求,不過可以使用Redis集群的方法緩解壓力。各種特征在緩存中的存儲格式如表1所示。

1.3并行預測

商家數量較多時,模型使用串行方式進行打分會造成額外的時間開銷,本文將商家分組分到多個線程進行并行打分,最后將結果匯集,可以大幅減少時間開銷。例如若候選集中有180家,本系統會將180家商品分成4組,分別是50、50、50、30,分配到4個縣城中進行預測操作,可有效節約預測時間,經過并行化后預測耗時平均會下降至串行預測耗時的1/2。具體設計方案如圖l所示。

2模型構造

2.1XGBoost

本文使用XGBoost(Extreme Gradient Boosting)訓練搜索結果排序模型,XGBoost是GMB(Gradient Boosting Ma-chine)的一個c++實現,其作者是華盛頓大學的陳天奇。XGBoost在Kaggle等算法比賽上的成績十分亮眼,以其高效的訓練速度以及優秀的學習效果獲得了機器學習界各類人士的廣泛關注,工業界也有很多公司開始使用XG-Boost作廣告點擊率(click Through Rate,CTR)預估。作為一種提升算法,XGBoost不僅支持分類回歸樹(classifica-tion and Regression Trees,CART)作為其基分類器,而且還支持線性分類器(如邏輯斯蒂回歸和線性回歸)作為其基分類器,本文以CART作為XGBoost的基分類器對模型進行訓練。

2.2數據介紹

實驗選取Kaggle提供的Yelp數據集。本文用到的Yelp數據集是Yelp業務、評論和用戶數據的子集,最初出現于Yelp數據集挑戰賽,該項活動是一個讓學生對Yelp數據進行研究分析并分享研究成果的機會。在數據集中,可以找到4個國家11大都市的商業點評信息。總共有5200000條用戶評論、174000家商戶信息,并提供JSON和CSV兩種格式。本文篩選出商家表、用戶表、來訪表作為實驗數據。

2.3模型訓練

本文模型訓練流程為數據預處理、特征選取、模型訓練和模型調參以及最終模型確定。本文首先對沒有到店記錄的用戶以及沒有來訪記錄的商家進行清洗,對用戶單條評分、商家總來訪次數等數據進行規范化處理,對城市、商家類別等屬性進行獨熱編碼處理以產生更多特征。

2.4基礎特征選擇

本文根據現有與商家相關的數據,挑選和構造了城市、平均評分、規范來訪數、標簽、近半年來訪數和近一年來訪數等6種數據作為基礎模型的訓練特征,特征的詳細類型、值域以及處理方式見表2。

2.4.1商家特征

2.4.2用戶特征

本文根據現有與用戶相關的數據,挑選和構造了規范訪問數、平均評分、平均評論字數、近半年訪問數和近一年訪問數等5種數據作為基礎模型的訓練特征,特征的詳細類型、值域以及處理方式見表3。

2.4.3交叉特征(用戶一商家特征)

本文根據現有與用戶和商家的交互信息數據,挑選和構造了以規范化到店數、平均評分、平均評論字數、近半年到店數和近一年到店數等5種數據作為基礎模型的訓練特征,特征的詳細類型、值域以及處理方式見表4。

2.5特征篩選

先驗算法(Apriori Algorithm)是一種經典的關聯規則學習算法。先驗算法需要在數據挖掘過程中通過多次掃描數據庫不斷尋找候選集,然后進行剪枝操作。先驗算法通過對最小支持度閾值的設置,可系統地控制候選項數量無序增長。

本文使用獨熱編碼將非數值型特征轉換為數值型特征,經獨熱編碼處理后的特征有上百個,特征非常稀疏,所以本文使用先驗算法處理經過獨熱編碼處理后的商家類別特征,目的是挖掘出與用戶訪問記錄(flag)相關的商家類別。本文使用先驗算法從100多個商家標簽特征中挑選出17個支持度和置信度較高的特征。最終選出的商家分類特征見表5。

2.6模型評價標準

本文使用ROC曲線下方的面積(Area Under the CurveofROC,AUC)作為模型評價指標,AUC一般只能用于二分類模型評價,而本文模型屬于回歸模型,但是由于將排序模型的預測結果(用戶對商家評分)規范化到了區間[0,1]中,所以可以將該問題看作一種特殊的分類問題,故本文訓練的回歸模型AUC也是可以計算的。

2.7模型調參

選取完特征后,將用戶的每條評分記錄與選取的特征結合起來,以特征向量為自變量,以規范化后的用戶評分為預測變量構建訓練集,進行模型訓練,同時通過交叉驗證的方法對模型進行參數調節。XGBoost參數分為3類:通用參數、Booster參數和學習目標參數。通用參數用于宏觀的函數控制,例如選擇樹模型;Booster參數用來控制模型訓練過程中每一步的優化情況;學習目標參數用來控制訓練目標的表現情況。本文采用XGBoost回歸樹(XGBRegressor),在前文所述特征的基礎上建立基礎模型,在基礎模型的基礎上使用交叉驗證(cross-validation)的方法進行參數調節,調節結果及相應參數含義如表6所示。

3實驗分析

3.1實驗環境介紹

本文實驗環境為在一臺安裝有CentOS 7.0系統的云主機,擁有16G內存,Elasticsearch版本6.2.2,Java版本1.8.0_161,Redis版本4.0.8。

3.2模型評分

本文使用XGBoost自帶的模型評價函數對最終訓練出來的模型進行結果評估,結果如表7所示,其中模型預測準確率為0.76,說明模型給用戶偏好的商家打出了較高的分數。其中在訓練集上的AUC為0.72,在測試集上的AUC為0.69,兩者相差不大,表明模型沒有出現明顯的過擬合現象,而且準確率較高,可用于構建商家排序模型。

3.3排序結果對照

為了證明模型對搜索結果的提升效果,本文構造實驗對比系統在使用排序模型和不使用排序模型(使用Elastic-search默認的排序分數)情況下的搜索結果。如圖2所示,本文用一位在“Hotels & Travel”和“Transportation”標簽下有過訪問數據的用戶的身份進行搜索操作,模擬該用戶在多倫多市搜索“subway”。

在不使用模型排序的情況下(圖2左界面),Elastic-search召回10個結果,排名前八的都是“Subway”快餐店,而后面的是兩個“Subway Station”。在使用模型排序的情況下(圖2右界面),由于該用戶訪問過的商家中沒有“FastFood”和“Restaurants”標簽,雖然“Subway”快餐店對于t,SUb-way”這個查詢詞來說是精準匹配,但用戶經常與具有“no-tels & Travel”和“Transportation”標簽的商家進行交互,所以在模型預測時給“Subway Station”的評分會較高,最終排序模型還是將兩個“Subway Station”排在了前面。

雖然本文構建的商家排序模型犧牲了一些文本相關性,但是可以提升迎合用戶偏好的搜索結果排名,滿足了用戶對于搜索結果個性化、地域化、實時化的需求,證明了本文系統的智能性。

4結語

本文構建了基于XGBoost的用戶個性化商家排序模型,利用XGBoost訓練速度快及模型效果明顯的優點,使用XGBoost構造搜索引擎的排序模型。在訓練模型時對數據按照規范化、獨熱編碼等方式進行處理以生產特征,通過Apriori算法對稀疏特征進行篩選,利用商家特征、用戶特征以及用戶與商家交互信息特征訓練模型,使用交叉驗證的方式進行參數調節和特征選擇,同時使用Redis緩存對用戶和商家的特征數據進行存儲,使用并行的方式加快模型預測分數的速度。

此外在查詢分析階段,本搜索引擎使用分析方法,將Elasticsearch自帶的分析器組合使用得到最終的查詢分析器,而且該查詢分析器的使用范疇僅限于英文,沒有對中文的支持。未來研究將加入對中文的支持,并盡可能將查詢分析從Elasticsearch中獨立出來,獨立查詢分析模塊可以更方便地控制查詢分析過程,更便捷地對用戶輸人的關鍵詞進行語義分析,更方便地使用自然語言處理和人工智能新技術。

主站蜘蛛池模板: 日本少妇又色又爽又高潮| 在线色国产| 91区国产福利在线观看午夜| 国产在线观看成人91 | 在线国产三级| 大乳丰满人妻中文字幕日本| 伊人大杳蕉中文无码| 香蕉视频在线观看www| 午夜福利在线观看入口| 人妻精品久久无码区| 国产精品天干天干在线观看| 99久久性生片| 国产91小视频| 亚洲成a人片| 国产成人做受免费视频| 丁香婷婷激情网| 国产午夜精品鲁丝片| 久久综合色88| 国产农村妇女精品一二区| 久久77777| 久青草网站| 国内精品九九久久久精品| 亚洲第一黄色网| 三级国产在线观看| 色偷偷综合网| 国产三级成人| 精品综合久久久久久97超人| av在线无码浏览| 伊人久久婷婷五月综合97色| 国产精品亚洲а∨天堂免下载| 亚洲国产一区在线观看| 五月天久久综合| 亚洲第一视频区| 午夜日b视频| 国产主播福利在线观看| 国产在线一区二区视频| 国产嫖妓91东北老熟女久久一| 高清无码不卡视频| 国产在线观看91精品| 欧美特黄一级大黄录像| 国产三级视频网站| 久久香蕉国产线看观| 亚洲日本在线免费观看| 国产第二十一页| 色婷婷色丁香| 最新日本中文字幕| 色综合久久综合网| 巨熟乳波霸若妻中文观看免费| 精品无码一区二区三区电影| 国产精欧美一区二区三区| 亚洲高清资源| 亚洲国产精品久久久久秋霞影院| 在线观看免费人成视频色快速| 久久公开视频| 国产成本人片免费a∨短片| 99re热精品视频中文字幕不卡| 久久精品国产91久久综合麻豆自制| 欧美成人午夜视频| 992Tv视频国产精品| 国产精品对白刺激| 先锋资源久久| 欧美性精品| 亚洲日韩精品无码专区97| 狂欢视频在线观看不卡| 亚洲欧洲日产国产无码AV| 极品国产在线| 偷拍久久网| 久无码久无码av无码| 91久久夜色精品国产网站| 亚洲天堂自拍| 老汉色老汉首页a亚洲| 国产在线八区| 午夜在线不卡| 在线欧美日韩国产| 黄色一级视频欧美| 在线欧美a| 国内99精品激情视频精品| 手机在线国产精品| 日韩精品专区免费无码aⅴ| 亚洲大尺度在线| 中文字幕va| 国产一区二区精品福利|