<var id="3oqca"><source id="3oqca"><font id="3oqca"></font></source></var><button id="3oqca"><acronym id="3oqca"></acronym></button>
    <th id="3oqca"></th>
    <tbody id="3oqca"><pre id="3oqca"></pre></tbody>
    <th id="3oqca"></th>
      1. <th id="3oqca"></th>

          基于用戶特征聚類聯合情境特征的多維度應用推薦系統

          文:吳嘉澍 饒華梟 范小朋 王洋 | 2021年第三期 (0) | (0)

          隨著移動設備的普及、同時大數據時代數據過載問題的日益嚴重,如何更準確地根據用戶的興趣及行為向用戶推薦其可能感興趣的應用軟件成為亟待解決的問題,F有的推薦系統方法大多面臨著推薦內容較為單一乏味等問題,且在推薦時沒有將用戶所處情境加以考慮,導致推薦效果欠佳。該文提出一種基于用戶特征聚類聯合情境特征的多維度應用推薦系統。經奇異值分解降維并去噪后的用戶特征數據會被層次聚類為多個用戶組,之后與用戶所處情境信息聯合輸入至貝葉斯模型,得到應用推薦準確概率的降序推薦列表,從而實現更加準確的應用推薦。該文在分布式框架下實現了所提出的推薦系統,使其運行高效可靠。經驗證,經過奇異值分解處理后的數據組內平均差值降低至 0.4,聚類后得到的應用推薦召回率提升至 73%,較基于用戶協同過濾與基于關聯規則的方法有 5%~16% 的顯著提升,且貝葉斯模型的量化指標均有約 10% 的提升,充分驗證了所提出算法及系統的有效性。

          1 引言

          隨著數字時代的到來以及智能移動設備的廣泛應用,人們可獲取的信息量急劇增多,信息過載問題也因此變得日趨嚴重。為應對信息過載帶來的弊端,將真正有用的信息以個性化的形式推薦給用戶,推薦系統成為解決信息過載問題的有力工具之一,其應用也變得愈發廣泛,且受到了眾多的關注和研究。面對海量的信息,推薦系統可以根據用戶的信息需求、興趣愛好等,將用戶可能感興趣的信息、產品等進行個性化推薦。與傳統的搜索引擎相比,推薦系統可以通過收集用戶的興趣偏好,進行個性化的學習,從而自動化地發現用戶的興趣點,無需用戶人為輸入其興趣點。這使得推薦系統在引導用戶發現其信息需求的同時更加簡潔易用。

          雖然經過了長期的發展與演化,但推薦系統算法仍存在一些不足。例如,有限的數據收集能力無法應對當前海量的信息,以及數據收集過程較差的連續性造成較嚴重的數據稀疏性等問題。這勢必會給推薦系統算法對用戶行為的分析、用戶興趣的挖掘帶來困難。同時,現有的絕大多數推薦系統算法著重于對用戶和所推薦的商品屬性進行分析并輔助推薦,在推薦過程中往往缺失對用戶所處情境的考慮,如用戶上一個瀏覽的應用類型、用戶在某類應用中的啟動次數、停留時間等,從而使得推薦系統的推薦效果欠佳。此外,推薦系統算法還面臨著推薦同質化的問題。絕大多數的推薦系統更善于推薦與用戶歷史興趣相似的資源,推薦的內容缺乏新穎性,同類資源的重復推薦無法引導用戶發現更多新的潛在興趣點,從而使得推薦系統存在較大的局限性,其推薦準確性也因此而受損。

          針對上述推薦系統面臨的局限性,以及推薦過程中對用戶自身所處情境考慮的缺失,本文旨在對傳統推薦系統算法做進一步優化,提出基于用戶特征聚類聯合場景特征的多維度應用推薦系統。該推薦系統將根據不同用戶群體、不同應用軟件特征以及用戶所處情境信息為用戶進行個性化的應用程序推薦。具體地,首先對用戶群體的特征矩陣進行奇異值分解(Singular Value Decomposition)操作,得到降維并且去噪的用戶向量表示。其中,對用戶群體特征進行的奇異值分解可以去除數據中重要性較低的成分,從而對用戶特征的表示進行精簡。同時,這種精簡同樣可以使得所提出推薦系統的運行更加高效。其次,對用戶群體的特征向量進行層次聚類分析,從而將具有相似用戶特征的用戶聚類,并利用各用戶類的均值向量作為其特征表示。在此基礎上,算法結合用戶所處情境因素,以用戶為出發點、情境為補充,依據貝葉斯模型預測最佳的應用推薦列表,從而實現為用戶進行更為優化的應用軟件推薦,提高用戶對海量信息的使用精準度與使用效率。

          在推薦系統運行性能及拓展性能方面,為滿足推薦系統的高并發處理海量數據的需求,本文使用分布式集群服務器運行所提出的系統,使得數據存儲、模型運算等方面的性能有了極大提升。此外,計算集群使得本文推薦系統具備良好的拓展性,對推薦系統在運行中的穩定性起到了重要的作用。

          為驗證所提出算法的有效性,本文將所提出的基于奇異值分解的用戶特征層次聚類結合情境特征信息,并利用貝葉斯模型的推薦系統算法與傳統的推薦系統算法進行推薦質量及模型量化指標的效果對比,從而驗證系統的有效性與優勢。

          本文將在第 2 小節介紹所涉及算法的相關理論研究;第 3 小節陳述所提出算法的細節以及其在現有研究基礎上的創新性;第 4 小節介紹推薦系統的架構與具體實現;第 5 小節展示本文推薦系統的實驗驗證結果;最后小節對本文進行概括與總結。

          2 算法介紹及相關理論研究

          2.1 聚類算法在推薦系統中的應用

          聚類算法是一種探索性的分析方法,在聚類過程中,無需事先給出聚類的具體標準。聚類算法能夠從樣本數據出發,自動發現空間實體的屬性間所具有的關聯關系并進行聚類,從而將本身沒有類別的樣本聚集成不同的類(簇),其目的在于使屬于同一個類的樣本之間能夠彼此相似,而屬于不同類的樣本之間在特征上應該足夠疏遠。同時,聚類算法對大型數據集具有良好的可拓展性,這對于數據需求量大的推薦系統而言是極其適用的。此外,聚類結果的可解釋性以及運行的高效性也為其能夠應用在推薦系統中打下了良好的基礎。Shinde 和 Kulkarni提出了基于用戶評價聚類的個性化推薦系統算法。該算法首先將用戶根據其對商品的評價進行分類,之后,對商品具有類似評價、類似興趣與偏好的用戶組進行個性化的商品推薦,從而使得推薦系統的推薦更加精準。經過驗證,聚類算法有效地提升了推薦系統對于商品的推薦質量。Hsu則在為學生推薦英語學習課程的推薦系統中運用聚類算法,先將具有不同學習行為習慣的學生聚類為不同的學生組,隨后優化推薦系統算法,為具有不同學習習慣的學生組推薦適合他們的英語課程,從而使得推薦系統更加人性化。

          然而,上述聚類算法應用于推薦系統中的工作時,存在兩個缺點。首先,這些方法均未在聚類前使用矩陣分解的方法對用戶特征信息進行降維并去噪,這使得特征信息中不僅存在冗余以及表示能力弱的特征,而且具有較高的維度,從而損害推薦系統的運行效率。其次,這些方法并未充分利用用戶自身所處的情境信息,使得推薦系統在進行推薦時具有局限性。

          2.2 情境信息在推薦系統中的應用

          情境信息可以輔助推薦系統分析用戶的背景、興趣愛好等個性化信息。在推薦系統模型中,情境可以是用戶打開某類應用的次數、用戶在某類應用中的停留時長以及用戶上一個使用的應用種類等能夠反映用戶決策的額外信息。例如,通過用戶上一個使用的應用可以輔助預測用戶下一個可能會使用的應用,通過實時地獲取用戶所處的情境信息,進而在原有用戶數據和應用數據的基礎上,更為人性化、智能化地分析用戶的信息需求,從而提高應用推薦的效果。

          然而,當前基于情境因素的推薦系統算法均利用用戶情境信息來分析所推薦產品的特征,而并非對用戶自身喜好特征進行分析。Hu等在為用戶推薦電視節目的推薦系統中借助了用戶瀏覽歷史、購買歷史、搜索歷史甚至是用戶鼠標移動等用戶情境信息,對電視節目特征進行分析,并將電視節目更好地推薦給用戶。而 Abbas等則利用 YouTube 視頻的用戶評分與評價信息,獲得對視頻更好的特征分析與定位,從而輔助推薦系統為用戶推薦更加準確、合適的 YouTube 視頻。

          然而,上述算法均利用用戶情境信息分析產品的特征,而現有的推薦系統算法較少有利用用戶情境信息對用戶喜好進行分析。此外,用戶評分、評價等信息不僅需要用戶的額外參與,而且不同用戶擁有不同的評分、評價標準,這導致此類用戶情境信息收集困難,且利用難度大,從而對推薦系統的推薦效果產生影響。

          3 算法設計

          為了更加準確高效地為用戶進行應用推薦,本文提出了基于用戶特征聚類聯合情境特征的多維度推薦系統。首先,對用戶特征進行奇異值分解;然后,對分解后的用戶特征進行層次聚類操作,并用每一個用戶類的均值向量作為代表該類用戶的特征信息;最后,結合用戶所處情境信息,利用貝葉斯模型,對用戶可能感興趣的應用進行預測并按照概率降序排序,形成應用推薦列表。

          3.1 用戶特征奇異值分解

          首先,推薦系統所需的用戶特征將以矩陣形式進行初始化。每一個用戶都使用 T 維的向量表示該用戶的 T 個特征(A1-AT),如年齡、性別、愛好、所在地區等。因此,N 個用戶(U1-UN)將構成一個N行T列的用戶特征矩陣,如圖1所示。

          圖 1 用戶 - 特征矩陣 M 示意圖.jpg

          然而,對于表示用戶特征的 T 個特征維度而言,并非每個特征維度都能有效地用來表示用戶信息,其中部分特征包含噪聲、或是大量的冗余信息,從而使得其不具備良好的表示能力。同時,不同特征也擁有不同的重要程度,并非所有的特征維度在表示用戶時都具有相同的重要程度。此外,初始時的特征維度 T 可能較大,從而造成用戶特征矩陣維度較高,若直接將龐大的用戶特征矩陣輸入至推薦系統算法,將使得算法運行效率較低。為解決上述問題,本文算法使用奇異值分解算法對用戶特征矩陣進行分解,從而達到降維和去噪的效果。

          奇異值分解算法可以將用戶-特征矩陣M分解為用戶-精簡特征空間矩陣 U、奇異值對角矩陣Σ 和精簡特征空間-特征矩陣 V 的矩陣乘積,如公式(1)所示。通過奇異值分解操作,用戶特征表示能力最強的一部分特征將會被保留,而特征中影響程度不大或表示能力不強的次要特征將會被剔除。通過將主要的影響因素保留,可以使得特征具有對用戶更強的表示能力。此外,在經過奇異值分解后,特征維度的下降也使得所生成的用戶-精簡特征空間矩陣 U 擁有較低的維數,從而使得后續的推薦運算變得更加高效。

          (1).jpg

          在對用戶特征矩陣進行奇異值分解之后,算法基于用戶特征使用層次聚類算法(Hierarchical Clustering)對用戶進行聚類,從而將用戶們聚類到特征相似、興趣愛好相仿的用戶組中。從下至上的層次聚類算法的算法流程如圖2所示。首先,算法將所有用戶數據都初始化為一個葉子節點。在每一次迭代中,算法會計算葉子節點之間的相似性(如歐氏距離);隨后,葉子節點之間的這種相似性信息將決定它們是否會被合并至新的聚類簇。層次聚類算法會不斷地進行迭代合并,直到迭代終止條件達成,比如算法已經生成指定數目的聚類簇,或聚類簇之間的距離滿足一定的條件。

          圖 2 層次聚類訓練流程圖.jpg

          本文算法將奇異值分解后的用戶特征信息輸入至層次聚類算法中進行迭代,直到每組聚類簇的均值向量之間的距離都大于或等于一個距離閾值 λ 時,停止聚類迭代。每一次迭代后,各個聚類簇的均值向量之間的歐式距離均會被計算。在圖 3 中,圖左側的 λ 值表示當前聚類狀態下各個類的均值向量之間的最小距離。若預先設定的聚類迭代停止閾值 λ 為 1.5,則聚類算法會在生成4個聚類簇時停止迭代,因為此時聚類簇之間的歐式距離均已大于預先設定的閾值 λ。此時,用戶G1、G2、G8會被分為一類,用戶G3、G4、G9會被分為一類,用戶G5和G7會被分為一類,用戶G6自成一類。迭代停止條件的滿足意味著每個用戶聚類簇之間已經擁有一定的差異性,從而能夠避免用戶被模棱兩可地錯分入其本不應屬于的用戶組。

          圖 3 聚類過程的譜系圖.jpg

          (2).jpg

          通過這種方式,雖然同處一類的用戶具有大體相似的特征,但處于同類的用戶與用戶之間也多少存在一定的差異性與多樣性,并非完全相同。對每一類用戶的特征取均值向量可以很好地將同類用戶的特征進行融合,在不破壞用戶原有興趣取向的同時適當地引入同類用戶帶來的多樣性,從而使得算法可以借助與某一用戶興趣大體相同的同類用戶的平均特征,來幫助該用戶發現同類用戶具有的其他興趣點,從而引導該用戶發現同類用戶可能擁有的潛在興趣,使得推薦算法更加有效。

          3.3 用戶特征與情境因素的聯合及貝葉斯預測模型的使用

          與傳統的推薦系統算法不同的是,本文算法在利用數據特征進行分析與應用推薦時,不再局限于用戶自身特征(如年齡、性別、愛好等)。在傳統的用戶特征與應用特征的基礎上,通過聯合實時用戶情境信息,實現利用多個維度的信息進行推薦的應用推薦系統。通過聯合用戶情境因子信息,推薦系統可以將實時獲得的用戶情境與原有的用戶特征融合為多維度的特征空間,從而使得推薦系統更人性化、智能化地分析用戶所需,優化應用推薦效果。本文算法所使用的部分用戶情境特征及其表示示例見表 1。

          表 1 情境特征及其表示示例.jpg

          (3).jpg

          根據公式(3),算法可以計算出對于一個給出的用戶特征及其所處情境特征,不同的應用被使用的概率。公式(3)中,按照 A 被使用條件下U的概率、A被使用條件下S的概率、以及U 和S同時發生的概率,可計算得到在給定用戶特征U 與情境特征S的情況下,不同應用A被使用的概率值。其中,所得到的概率越高,該應用就越值得被推薦。故概率最大的前K個應用,即是最值得被推薦的K個應用。由此,算法得到一個以概率降序排列的應用推薦列表。

          同時,所提出算法可以接受并處理用戶所處情境信息容易隨時間發生變化的特點,算法可以通過用戶反饋的實時用戶行為信息,如直接點擊、收藏、停留時長長短、點擊次數等,更新公式(3)中的概率信息,從而達到算法的實時更新,以使得應用推薦具有更好的實時性。

          3.4 算法整體流程

          本文算法的整體流程如圖 4 中花括號所指部分所示。首先,算法對用戶數據進行奇異值分解,并在分解得到的降維并去噪的用戶特征上進行層次聚類迭代,直到滿足終止條件,得到距離較遠的各組用戶聚類簇,并用各簇的均值向量作為該聚類簇中的用戶特征;然后,利用貝葉斯模型,聯合用戶特征與情境特征,對應用被使用的概率進行預測并排序,最終形成應用推薦列表。

          圖 4 系統架構.jpg

          4 系統架構與實現

          4.1 系統總體架構

          本文系統的總體架構分為 5 個部分,如圖 4 所示。位于最底層的基礎數據層主要包含用戶基礎屬性數據,如年齡、性別、所在地、手機設備屬性等基礎數據;應用的基本信息,如某款應用屬于某類、評分高低等,以及用戶訪問應用的數據,即算法所需要用到的情境信息。為獲取所需數據信息,需要進行數據采集,其主要目標是將業務系統的數據同步至數據存儲系統中進行保存,供下一步處理和使用。

          本文推薦系統的第 2 層為離線計算層,其職責是進行數據處理與模型訓練。首先,對所收集到的數據進行數據清洗與整理;其次,按照本文第 3 小節的算法流程進行模型訓練;最后,形成可以為用戶推薦應用的模型。算法流程如圖 4 中圓括號所指部分所示。

          推薦系統的第 3~5 層分別為存儲及接口封裝層、業務處理層和應用層。首先,系統會在推薦的排序內容基礎上做數據接口的封裝;然后,如有必要,業務處理層將按照市場變化等信息對推薦內容信息做必要的微調;最后,將業務干預的推薦數據傳送至前端用戶。整套系統需滿足以下幾點要求:

          (1)建立及時、全面的互聯網信息處理能力,通過探索網絡資源對各種不同類型的常用應用軟件信息進行基礎抓取;

          (2)基于云計算框架,建立分布式存儲、大規模數據并行計算水平拓展的技術能力,實現對系統橫向擴展,方便進行大量數據的流式處理;

          (3)建立高內聚低耦合的架構,復用基礎能力,完善系統之間的接口設計,減少抓取、分析、可視化以及應用之間的強關聯;

          (4)在增強推薦的準確度時,不斷提高用戶體驗,利用所提出算法,提高推薦的精確度和召回率。

          本文系統通過在傳統推薦系統的基礎上做出優化,將奇異值分解后的用戶特征進行聚類,并與情境信息聯合,通過貝葉斯模型分析預測用戶所需要的應用,實現應用推薦效果的增強。同時,系統充分考慮了運行性能及擴展性,以及系統應對實時數據反饋補充、快速適應用戶的特征屬性變化的實時處理能力,通過在分布式架構上構建應用推薦系統,實現海量數據并行化處理,從而有效提高系統的吞吐量性能。

          4.2 系統構建

          在本文所提出的多維度應用推薦系統的構建過程中,使用了如下技術:本文系統采用MySQ存儲用戶屬性數據,采用 HBase存儲用戶畫像數據。存儲數據時使用 HDFS分布式文件系統。系統采用了基于 Spark搭建的底層平臺,利用 Spark Streaming 進行實時計算、特征向量計算與排序列表的生成。系統在轉發數據時使用 Kafka實現實時數據的集群轉發。因為所構建的系統需要對數據庫進行大量的復雜數據檢索,所以,使用 ElasticSearch分布式系統架構成為一個良好的解決方案。此外,本文系統的可視化平臺使用流行的 J2EE應用架構,平臺層采用 JAVA 標準庫以及 J2EE 服務器,J2EE 項目在 Tomcat服務上運行,通過 SpringMVC 框架集成實現網頁開發。通過利用上述技術并合理協調配合,使得本文系統可以高效地滿足所需的要求。本文所構建的系統可以支持系統實時獲取并處理數據,系統在采集與處理數據時,可以支持至少百萬級的數據處理吞吐量。在進行應用推薦時,本系統可以支持至少百級別的并發操作,并保持系統可用。在數據實時查詢時,時延不會超過 4 s。與此同時,為滿足系統拓展性的要求,增加系統處理數據的能力,本文系統額外準備了備用服務器,以避免出現數據處理量過大而導致的負荷超限。

          5 實驗結果分析

          本文對所實現的應用推薦系統進行了充分且系統的測試,首先驗證了所采用的奇異值分解與層次聚類具有良好的效果,隨后從推薦結果與度量指標兩個層面驗證了所提出算法整體的有效性。同時,本文還對系統性能進行了測試,從而驗證了系統的高效性與穩定性。

          5.1 奇異值分解前后聚類有效性對比

          為驗證在層次聚類前進行奇異值分解的有效性,本文分別對進行與未進行奇異值分解的用戶特征進行層次聚類,并隨機抽取用戶 #1056 所在的用戶聚類簇,計算同組用戶的屬性平均差值。經過對比,層次聚類前未進行奇異值分解的數據平均差值可高達 0.6,而經過奇異值分解處理后數據的差值范圍最大為 0.4。這表明用戶特征數據在經過奇異值分解消除冗余信息之后進行層次聚類,其得到的聚類簇內保留了原始數據的主要信息,且數據更加精煉,聚類效果更好。圖5則進一步地對算法的聚類效果進行了可視化:經過奇異值分解后進行層次聚類的聚類簇中出現錯分的次數得到了明顯的降低,這表明經過奇異值分解后進行聚類的有效性。

          圖 5 進行與不進行奇異值分解后聚類的效果對比.jpg

          5.2 基于奇異值分解的層次聚類與傳統聚類算法

          召回率效果對比為進一步驗證基于奇異值分解的層次聚類算法的有效性,將本文方法與傳統的機器學習聚類算法進行對比,并以用戶聚類結果召回率作為衡量不同算法有效性的指標。本文在基于Hadoop生態系統的Mahout上做用戶聚類,如圖 6 所示,對比試驗中所采用的對比方法分別為決策樹模型、K-means 算法以及數據未經過奇異值分解的傳統層次聚類方法。通過將進行了去除錯誤數據等預處理步驟之后的用戶數據集 M′輸入到不同聚類算法中,使用不同聚類算法得到 R1、R2、R3 與 R4 四種不同的聚類結果。其中,聚類結果 R4 是將數據 M′先通過奇異值分解算法進行數據分解,之后輸入至層次聚類算法中得到的聚類結果。

          傳統聚類算法.jpg

          在驗證過程中,本文采用 10 份交叉驗證的方式,分別對上述 3 種傳統聚類算法以及本文算法進行驗證,并計算召回率。

          如圖 6~7 所示,采用傳統的 K-means 聚類方式,平均召回率約為 57%,決策樹算法的平均召回率則達 60% 左右。層次聚類前未進行奇異值分解的方法的平均召回率約為 68%,而進行奇異值分解后再進行層次聚類的方法的平均召回率可達73%左右,比前者提高約 5%。這充分表明本文方法相較于傳統聚類算法的有效性。

          圖 7 不同聚類算法的召回率對比.jpg

          5.3 推薦算法推薦結果質量對比與分析

          如圖 4 算法流程圖所示,在用戶特征數據通過奇異值分解并進行層次聚類后,算法將采用每一個用戶聚類簇的均值向量代表該用戶聚類簇中的用戶特征。隨后,算法將聯合情境特征,通過貝葉斯模型輸出最后為用戶推薦的應用結果列表。

          為將本文算法與傳統算法推薦結果的質量進行對比分析,本文采用基于協同過濾的推薦算法以及基于關聯規則的推薦算法作為對比方法。在基于協同過濾的推薦算法中,算法通過分析其他具有相似特征的用戶的喜好,為用戶推薦可能喜歡的應用。而基于關聯規則的推薦算法則利用發掘到的應用之間的關聯規則,根據用戶使用的部分應用信息為用戶推薦可能感興趣的應用。在所對比的兩種方法中,均未利用奇異值分解處理特征表示、層次聚類以及用戶所處的情境信息。表 2 為不同算法針對同一用戶的推薦效果。

          表 2 使用不同應用算法為用戶推薦應用的效果對比.jpg

          以所收集的數據集中隨機抽取的用戶 #0013 作為示例,在分布式框架上運行不同算法的預測應用結果中,概率值最高的前 5 個推薦結果的數據如表 2 所示。在 3 種方法中,只有本文方法為用戶推薦的應用與用戶實際所使用的應用相匹配,且相比其他算法而言,本文算法所推薦的其他應用也與用戶實際所使用的應用具有較高的相關性,表明本文方法在推薦效果上的優越性。

          5.4 推薦算法推薦結果質量量化指標對比與分析

          為進一步對本文算法與現有傳統的推薦算法進行推薦結果質量的量化對比,本文根據應用推薦的相關性計算了平均絕對誤差(Mean Absolute Error,MAE),即實際使用應用與推薦應用的匹配程度。推薦應用與實際使用應用類別一致時的MAE 值低于類別不同時的MAE值,故更小的MAE值意味著更高的搜索結果質量。此外,貝葉斯模型產生的均方根誤差(Root Mean SquaredError,RMSE)與推薦結果的 Recall 值也被用作算法推薦結果質量的量化對比指標。其中,更小的RMSE值與更大的 Recall 值都表明模型具有更理想的效果。實驗對比結果如圖8所示。

          圖 8 推薦算法結果量化指標對比.jpg

          在驗證過程中,本文采用了常用的 10 份交叉驗證方法,并對 10 組結果求平均結果。從圖 8 可明顯看出,與傳統推薦算法對比,本文算法擁有最小的 MAE 與 RMSE 值,且擁有最大的 Recall 值。本文方法的 MAE、RMSE 值都小于 0.6,基于關聯規則算法的 RMSE 值則約為 0.7,而對于基于協同過濾的算法而言,其 RMSE 值則接近0.8。與此同時,本文算法所產生的 Recall 值較兩種對比方法而言也有較大提升。因此,這充分地從量化指標的角度表明了本文算法推薦結果的有效性與準確性。

          5.5 推薦系統運行性能分析

          在實際測試過程中,本文還對所構建系統的性能進行了充分的測試與分析,以檢測其在真實運行環境下的系統負載能力。

          在性能檢測過程中,通過添加 2000 個虛擬用戶,以此測試系統的平均響應時間。測試單頁面用戶點擊時的事務平均響應時間情況如圖9所示。經檢測,系統功能的平均響應時間約為1.4s,最長響應時間約為3.8s,最短響應時間約0.1s,符合系統的并發要求。

          與此同時,本文還對所構建系統進行了性能測試并將結果匯總在表 3 中。測試結果充分表明了所構建系統的高效性與可靠性。

          圖 9 事務平均響應時間.jpg

          表 3 系統性能記錄.jpg

          綜合來看,本文推薦系統在應用推薦方面相較于所對比方法而言具有較大的提升,推薦有效性較高,且在系統性能方面高效可靠。通過實驗驗證與結果分析,相比于對比方法而言,本文系統在算法上的優化使得應用推薦更為準確,從而為用戶更好地推薦適合的應用。同時,系統還可以接受實時更新的數據,智能化程度提升,從而減少運營復雜度。最后,本文所使用的系統架構確保了系統運行的高效性、可靠性與高擴展性,使得系統可以被更廣泛的應用。

          5.6 討論與分析

          本文通過在應用推薦系統中利用奇異值分解算法對用戶特征信息進行降維去噪、利用層次聚類算法對用戶信息進行聚類,同時考慮用戶所處情境信息,從而提升應用推薦系統為用戶推薦應用的準確性。相較于文獻中未在聚類前使用矩陣分解對用戶特征信息進行降維并去噪的方法而言,本文方法通過奇異值分解算法,既去除了用戶特征信息中的冗余成分,增強了特征信息的表示能力,又提升了算法的運行效率。

          此外,對用戶特征信息進行層次聚類,并利用聚類均值向量作為用戶類的表示有效地在不破壞用戶組大體特征的情況下提升了特征的多樣性,從而提升了推薦系統的推薦有效性。相較于文獻中利用用戶情境信息分析產品特征的方法,本文方法利用用戶情境信息分析用戶的喜好特征,從而更好地輔助推薦系統為用戶推薦更加適合的應用。綜上所述,本文推薦系統算法相較于上文所述對比方法具有更好的應用推薦能力。

          6 總結

          本文針對傳統的推薦系統方法在為用戶推薦應用時所面臨的對用戶所處情境考慮的缺失等問題,提出一種新的基于用戶特征聚類聯合情境特征的多維度推薦系統。所提出推薦系統使用的算法的關鍵技術在于,首先利用奇異值分解對用戶特征進行降維、去噪,使得分解后的用戶數據不再冗余,具有更強的表示能力,且更低的維度使得所提出推薦系統運行更加高效。隨后,基于分解過的用戶特征對用戶進行層次聚類,并用聚類簇的均值向量作為代表該聚類簇中用戶的特征信息。這種做法在不破壞聚類簇內用戶相似性的基礎上通過求聚類簇的均值將簇內用戶的特征融合,適當為用戶特征引入多樣性,從而避免推薦過于乏味單一導致長久以來用戶對自己感興趣的事物產生疲勞。之后,算法利用得到的用戶特征聯合情境特征信息組成多維度的特征并利用貝葉斯模型對推薦應用的概率進行預測,從而得到應用關于推薦概率降序排列的推薦應用列表,實現向用戶進行更加高質量的應用推薦。與此同時,算法可以應對隨時間發生改變的用戶情境特征,從而使得推薦具有實時性。

          本文基于分布式架構實現了所提出的推薦系統,并通過充分的測試數據驗證,表明系統在具備準確的應用推薦能力的同時,同樣具備運行的高效性與穩定性,為所提出推薦系統的應用打下堅實基礎。

          文章轉載自《集成技術》

          雜志訂閱

          填寫郵件地址,訂閱精彩資訊:
          国语自产偷拍精品视频偷拍
          <var id="3oqca"><source id="3oqca"><font id="3oqca"></font></source></var><button id="3oqca"><acronym id="3oqca"></acronym></button>
            <th id="3oqca"></th>
            <tbody id="3oqca"><pre id="3oqca"></pre></tbody>
            <th id="3oqca"></th>
              1. <th id="3oqca"></th>