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