吳文慶 修雅慧
【摘要】文章立足于當今社會互聯網飛速發展現狀,簡明扼要地概括了軟件開發推薦技術所涉及的主要內容,并通過理論與實際相結合的方式,對以關聯規則為立足點的推薦技術內容進行了深入、系統的分析,供設計人員參考。
【關鍵詞】關聯規則;軟件開發;推薦技術分析
隨著社會的發展,人們對軟件所具有的要求與之前相比變得越來越高,設計人員在軟件設計的過程中應當將關注的重點轉向軟件智能化方面。現階段在軟件開發過程中所應用的技術無法滿足用戶需求,而推薦技術的出現能夠有效解決這一問題。
一、軟件開發推薦技術的概述
(一)推薦系統
隨著互聯網的發展,現階段互聯網所接入站點以及服務器的數量與之前相比呈現出非常迅猛的增長趨勢。因此。呈現在用戶面前的資源信息數量和種類也變得更多,用戶想在短時間內對自己所需信息進行瀏覽和查找的工作就變得越發困難。推薦系統正是依托傳統搜索引擎無法對用戶所具有的特殊需求加以滿足這一現狀而出現的,作為以信息超載問題的解決為目的延伸出的智能處理系統。推薦系統最主要的作用是在大量的資源信息中幫助用戶對自己所需信息進行挖掘,從根本上對信息超載這一現象所帶來的不利影響進行規避。
(二)主要技術
1.關聯推薦
關聯推薦的出現依托于人們對數據集中項目所具有內在聯系的分析和挖掘。在對關聯推薦技術進行應用時,主要是通過分析用戶對信息選擇所具有的傾向性確定不同項目所存在的關聯規則。以關聯規則為立足點所延伸出來的推薦系統,就是將用戶需要的信息視為規則頭,通過相應的計算方式對滿足推薦結構的規則進行獲取時所應用的軟件系統。
2.聚類推薦
聚類推薦主要是通過對聚類分析技術的應用,實現將信息向目標用戶進行推薦這一目標的技術。對聚類推薦的應用,首先需要將用戶進行聚類,然后再通過特定的計算方式,將需要提供給目標用戶的推薦列表進行計算。該推薦技術最突出的優勢主要有以下兩個,首先是聚類推薦能夠對建模的復雜程度進行降低,這在很大程度上降低了近鄰用戶尋找的難度。需要注意的是,和協同過濾相比,聚類推薦的精度相對較低,這主要是因為聚類計算往往不涉及到近鄰用戶所對應的距離信息。
3.協同過濾
作為出現時間最早并且應用范圍最廣的推薦技術,現階段,協同過濾已經被世界各地的大型網站作為向用戶提供內容推薦的技術。協同過濾主要是以興趣、愛好高度相似的用戶為出發點,通過對其他用戶的分析,完成對目標用戶實際信息需求的預測。對協同過濾技術進行應用的流程主要分為兩步,首先通過對所收集用戶信息進行計算的方式,確定用戶相似度,然后再選擇與目標用戶契合度最高的用戶,對目標用戶實際信息需求進行預測。
由于不同類型的推薦算法都存在無法避免的缺陷,因此在應用過程中,設計人員往往會選擇將不同推薦算法進行結合,用以保證推薦精確度的提高。現階段,較為常見的組合方式共有三種:第一種,根據不同推薦技術所計算的結果對推薦結果進行確定;第二種,對不同推薦技術所獲得的計算結果進行羅列;第三種,根據實際情況對推薦技術進行選擇,確保將推薦技術所具有的積極作用進行最大化發揮。
二、基于關聯規則的軟件開發推薦技術
(一)關聯規則的概述
1.概念
關聯規則的挖掘指的是對數據不同集中項之間所具有的關聯性進行發現的過程。關聯規則的挖掘對數據挖掘領域具有無法替代的作用。而基于關聯規則所推薦的系統指的是,通過對關聯規則所對應挖掘技術的應用,完成數據分析的過程,進而滿足給出推薦結果這一要求的系統。
2.分類
第一種分類方式的依據為規則處理值的類型,按照這種分類方式關聯規則可被分為數值以及布爾兩種。數值關聯規則主要用于對量化項或是其屬性關聯進行描述,而關聯對象往往是處于動態離散狀態下的數值。布爾關聯規則主要用于對項是否存在進行表示,關聯對象主要是離散對象;第二種分類方式的依據為數據抽象的層次,按照這種分類方式關聯規則可被分為單層以及多層兩種。單層的關聯規則通常并不涉及到項所對應的不同層次,多層的關聯規則卻需要對項所對應的不同層次;第三種分類方式的依據為數據維,按照這種分類方式關聯規則可被分為單維以及多維兩種。單維的關聯規則往往只涉及到項的某一個維度,多維的關聯規則需要對涉及不同維度的數據進行處理。
(二)系統設計
想要保證推薦系統的完整性,設計人員需要從模型分析、推薦和行為記錄這三個方面出發,對推薦系統進行設計。行為記錄主要負責的內容在于對用戶偏好以及歷史行為和相關數據進行收集;模型分析需要對行為記錄所收集到的相關信息進行分析和建模,以此保證對用戶特征的獲取;推薦部分則指的用戶特征為基礎,通過推薦算法對信息進行篩選,保證推薦給用戶的信息與用戶愛好和需求相符。以LabVIEw為例,負責關聯規則挖掘的部分為I-Apriori算法,負責推薦候選分析和計算的部分為加權計算策略。行為記錄用于對相關代碼進行收集,同時以公開與否作為主要參考因素對所收集代碼進行分類,并分別儲存在公共或是私有的代碼庫之中,推薦部分則通過交互的方式,對推薦列表進行計算,并提供給用戶供用戶自己選擇。
(三)系統模塊構成
1.采集模塊
采集模塊最主要的作用在于對推薦系統的源代碼進行收集和分析。推薦系統源代碼一般情況下分為公共和私有兩種形式,公共代碼指的是系統自帶代碼以及互聯網共享代碼等,私有代碼指的是用戶代碼,包括用戶自行編寫的代碼、公司內部代碼等。通常來說,推薦系統自帶代碼和私有代碼是比較容易獲得的,互聯網共享代碼由于遍布世界各地。因此,想要對其進行獲取需要首先抓取、收集VI文件,再將其進行下載并且在公共代碼庫中進行保存。雖然在當今社會,互聯網資源始終處于變化的過程中,推薦技術經過數據分析所獲得的推薦結果仍舊具有一定的穩定性,但是如果對互聯網資源進行頻繁的抓取,會導致公共代碼庫所包含代碼內容不斷變化,進而影響推薦結果的穩定性。除此之外,高頻率對互聯網資源進行抓取,必然需要花費相應的時間進行資源的分析和計算,這也會在一定程度上導致推薦系統所具有穩定性降低。通過對這一現象進行分析可以發現,按照特定時間對互聯網資源進行抓取、收集和下載是比較科學的,這樣做不僅能夠提升公共代碼庫所具有的穩定性,還能避免資源抓取對推薦系統性能產生的不利影響。
2.交互模塊
交互模塊主要面對的工作方向為用戶體驗,也就是說以用戶體驗為出發點,對推薦列表進行優化,使其更加符合用戶的使用需求。調查結果顯示,大部分用戶在對推薦技術進行應用的過程中,使用頻率最高的部分通常為快速搜索面板。因此,推薦系統可以按照推薦面板的模式,以不同節點為出發點,對推薦結果進行分類,這樣做能夠在很大程度上縮短用戶對所需節點進行定位的時間。另外,想要對推薦系統所具有的靈活性進行提升,設計人員可以將推薦列表的長度和其他相關選項的設置加入到相應的系統配置項中。
3.監視模塊
作為推薦系統最重要的推薦部分,監視模塊主要用于對開發者一系列的操作行為進行實時監視。關聯規則的核心理念是通過規則頭對規則體進行推測。所以,監視模塊用于對規則頭的相關信息進行獲取,并且將所獲取信息傳遞至推薦模塊,再由推薦模塊對其進行處理。
4.計算模塊
作為推薦技術重要的構成部分,計算模塊可以根據不同的監視模塊分為不同類型。如果監視模塊對VI程序框圖進行檢測發現用戶尚未對節點進行選擇,也就是說關聯頭不具有任何相關信息,那么計算模塊只需要對交易數據相對集中的項集進行計算,如果監視模塊對VI程序框圖進行檢測發現用戶已經對節點進行了選擇,那么計算模塊需要將該節點所對應信息作為模塊頭進行計算。
三、結論
綜上所述,文章核心的內容為軟件開發推薦技術,首先對現階段主要應用的推薦技術進行了敘述,例如關聯推薦、協同過濾、聚類推薦等,然后又以采集、交互、監視和計算模塊作為切入點,對推薦系統的構建進行了細致的分析,希望可以為設計工作的開展提供參考。