邱京偉
推薦系統(tǒng)是根據用戶的興趣愛好推薦符合用戶興趣的對象,也稱為個性化推薦系統(tǒng)。商品推薦系統(tǒng)依據收集到的顧客的信息和交易記錄等有關數據,查找具有某些特性的顧客與他們購買的商品間存在的關聯規(guī)則,大致確定顧客喜歡的商品的種類范圍,向客戶推薦與客戶購買的商品存在一定關聯的其他商品,既為客戶購買商品提供了方便,又可提高網站的銷售量。近年來,隨著人民生活水平的提高和網絡購物的發(fā)展,各購物網站中商品的數量和種類都大大增加,為了方便顧客在海量的商品中盡快尋找到所需要的商品,可靠高效的商品推薦系統(tǒng)必不可少。
在粗糙集相關理論中,知識被定義為對論域的劃分模式,知識具有顆粒性,稱為信息粒度或知識粒度,簡稱粒度。由于每個粒度都帶有一定的屬性,這使粒度間存在相互包含的關系,而粒度存在的關聯規(guī)則在其包含粒度中也同樣存在,例如,當存在所有男人都喜歡籃球的時候,就可以推導出中國男人都喜歡籃球。依據粒度間屬性的特性編寫的算法稱為屬性特性算法,該算法通過組織相關包含數組等方法,避免在某個粒度的包含粒度上挖掘相同的粒關聯規(guī)則,達到節(jié)省時間,提高挖掘效率的目的。
將屬性特性算法應用到商品推薦系統(tǒng)中,其優(yōu)點有:
一般顧客在超市購物時,往往不會只購買一種商品,這種現象在網絡購物平臺也同樣存在。但是,現有推薦系統(tǒng)大多根據顧客搜索的關鍵字提供同一類型的商品。由于單個顧客面對不同商家的同一類商品時往往只會選擇其中一家的商品,這樣對購物網站的交易量提高幅度有限。屬性特性算法基于粒計算,關注的重點是帶有相同屬性的粒度間存在的關聯規(guī)則,因此不限制推薦商品的種類,其挖掘結果涉及多種商品,這樣在給顧客更多選擇的同時,有利于提高購物網站的交易數量和交易額。
傳統(tǒng)算法雖然可以較準確地推測出某位客戶感興趣的商品,但是在大數據背景下,當數據的規(guī)模增大后,傳統(tǒng)算法所需的時間消耗隨之增加,這大大影響了系統(tǒng)的運行速度。屬性特性算法利用某粒度存在的關聯規(guī)則在其包含粒度中同樣存在的特性,通過減少判斷關聯規(guī)則的次數的方法,提高每次比較中輸出關聯規(guī)則的數量,從而減少系統(tǒng)在運行中的時間消耗。在有關數據集的實驗表明,在同等要求下,屬性特性算法可以有效提高挖掘效率,有利于在數據量增加的情況下,降低系統(tǒng)反應時間,提升系統(tǒng)性能。
一、屬性特性算法基本原理
在實際應用中,往往根據具體要求將信息按照所含屬性的多少劃分為不同的粒度,這使各個粒度間由于所含屬性的多少而相互包含,例如粒度<種類:酒>就包含<種類:酒>∧<顏色:紅>等粒度。
源覆蓋度、目標覆蓋度、源置信度和目標置信度是衡量粒關聯規(guī)則強度的4個度量標準。在粒計算中,每個大小不一的粒度都帶有一定數量的屬性和屬性值,這些屬性和屬性值使部分粒度存在著一定的包含關系。當源覆蓋度為100%,而目標覆蓋度也為100%的時候,稱為完全匹配。在完全匹配的情況下,一個粒度與其他粒度間存在的所有關聯規(guī)則,在它的所有的包含項中同樣存在,例如,當100%的美國人(粒度<國籍:美國>)喜歡100%的白色商品(粒度<顏色:白>)的時候,可以得出100%的美國已婚人士(粒度<婚姻:已婚>∧<國籍:美國>)喜歡100%的白色美國產商品(粒度<顏色:白>∧<產地:美國>。
利用粒度屬性的特性設計屬性特性算法,將粒度的包含項放入該粒度的包含數組中,當挖掘到粒度A和粒度B建存在粒關聯規(guī)則時,采用遍歷的方法直接輸出粒度A的包含粒度粒度與粒度B的包含粒度間存在同樣的粒關聯規(guī)則,這樣就節(jié)省了在其包含粒度上判斷是否存在粒關聯規(guī)則的時間,提高了挖掘的時間效率,具體做法如下:
為每個粒度開辟有關包含數組,該粒度為該數組的第1個元素;
在屬性比自身不多1的粒度中為每個粒度查找其包含粒度,并放入其包含數組中,形成該粒度的初步包含數組;
從粒度的初步包含數組第2個元素(第1個子粒度)開始,查找其初步包含數組里的粒度,把它們放入父粒度的包含數組中,形成完全包含數組,其過程如圖2所示;
按要求兩個數據集中的粒度相互比較,如果存在關聯規(guī)則,則輸出兩個粒度完全包含數組中的所有關聯規(guī)則。
算法流程圖如圖2所示,當發(fā)現兩個粒度間存在粒關聯規(guī)則時,屬性特性算法一次可以輸出多條粒關聯規(guī)則,與一般采用的逐個比較的方法相比,可以節(jié)省在某粒度的包含粒度上挖掘粒關聯規(guī)則的時間,提高了挖掘效率。
二、屬性特性算法的應用
本設計基于特點相似的人感興趣的商品范圍也相似的理念,將粒計算的思想和屬性特性算法應用到商品推薦系統(tǒng)里,在把數據庫中的用戶信息和商品信息根據包含屬性的多少劃分為大小不一的粒度的基礎上,根據近期的購買情況,結合粒度相關設定的源置信度和目標置信度等相關要素,利用屬性特性算法查找相關粒度間的粒關聯規(guī)則,快速從海量數據中挖掘出顧客特點與所購買商品間的聯系,指導系統(tǒng)向特定顧客推薦特定范圍的商品。
三、商品推薦系統(tǒng)模型設計
基于屬性特征的粒關聯規(guī)則挖掘算法的商品推薦系統(tǒng)以網上購物平臺數據庫為基礎,主要圍繞對數據的處理和分析展開設計。本商品推薦系統(tǒng)的全部功能模塊圖如圖3所示
(一)數據模型及數據庫設計
本商品推薦系統(tǒng)的系統(tǒng)的數據庫由顧客信息表、商品信息表和購買情況表3張表構成,顧客信息表主要負責記錄網站注冊的會員相關信息,如年齡、籍貫和愛好等,商品信息表記錄網站上出售的商品的種類、顏色、價格等信息,購買情況表的數據主要記錄近一段時間內顧客在該網站上購買商品的記錄。
(二)主要模塊設計
本系統(tǒng)負責數據處理的主要功能模塊有:數據導入模塊、粒度化處理模塊、關聯規(guī)則挖掘模塊和數據導出模塊。
數據導入模塊主要負責將數據庫里的3個數據表進行識別后加載到系統(tǒng)中。在這個過程中。數據導入模塊不但要讀取數據表中的有關信息并對其進行轉化,還要將有關數據項轉化為一定數據類型且?guī)в幸欢〝抵档臄祿?/p>
粒度化處理模塊主要涉及顧客信息表和商品信息表,它根據各個數據自身所含屬性的多少按一定順序把它們分解為一定大小的粒度,然后對所得粒度進行一定的清洗,去除重復的數據后,完成對重要信息進行必要的統(tǒng)計并設置相關標志位等操作。
在關聯規(guī)則挖掘模塊中,整理好的粒度按照屬性特征算法有關步驟,首先為各粒度組織完全包含數組,再在比較中通過公式挖掘出存在的粒關聯規(guī)則,通過遍歷有關粒度的保護數組輸出相關的粒度,并設置相關標志位,將結果記錄到系統(tǒng)中。
數據導出模塊通過對照當用戶屬性和關聯規(guī)則挖掘模塊所得出的粒關聯規(guī)則,選出帶有與當前顧客所涉及粒度相同的那些粒關聯規(guī)則,依此列出顧客可能感興趣的商品的目錄。
(三)其他模塊設計
為完善相關功能,系統(tǒng)加入用戶識別和數據分析兩個模塊。用戶識別模塊通過輸入的用戶名和密碼,分辨用戶是系統(tǒng)管理員還是顧客,從而引導不同用戶進入不同頁面進行相關操作。數據分析模塊的作用是統(tǒng)計查詢的次數和符合要求的客戶、商品數量等具有一定商業(yè)價值的相關數據,對商品受關注程度等信息進行反饋。
四、模型應用分析
商品推薦系統(tǒng)的數據流程如圖4所示。
當系統(tǒng)啟動后,管理人員通過系統(tǒng)管理員界面,可以讀取有關數據的查詢統(tǒng)計結果,還可以設置需要導入的數據表位置,修改覆蓋率等參數。
數據表由數據導入模塊進行加工,數據導入模塊將客戶信息表、商品信息表的數據進行編碼,使之能被系統(tǒng)識別和處理,同時將購買情況表的數據轉化為布爾型數據,方便下一步的數據挖掘。
從數據導入模塊得到數據后,粒度化處理模塊根據顧客信息表和商品信息表數據自身所含屬性的多少,按元組和屬性種類由少到多的順序,把表中的信息劃分為大小不同的粒度,同時計算粒度總個數。由于在已經得到的數據中,不僅存在著許多重復的粒度,同時也缺少了如支持度等重要信息,所以要進行近一步的整理。在這個過程中,粒度化處理模塊不僅要去除一定的冗余,還要計算每個粒度出現的頻率并算出每個粒度的置信度,然后根據設置的置信度度對粒度進行篩選。最后,對只要數據設置有關計數位,為導出有關統(tǒng)計表格做準備。
關聯規(guī)則挖掘模塊在接收處理好的粒度的基礎上,根據設定的條件(如源置信度和目標置信度)和有關統(tǒng)計結果(如粒度總個數),為各個粒度組織包含數組和所需標志位數組,然后利用有關公式挖掘各個粒度的包含項,放入該粒度的包含數組中。在挖掘顧客有關粒度與商品有關粒度間的粒關聯規(guī)則過程中,當發(fā)現兩個粒度存在關聯規(guī)則的時候,按照屬性特征算法有關步驟,輸出兩個粒度及其包含粒度間的相同粒關聯規(guī)則。
當顧客登錄購物網站時,數據導出模塊將當前顧客所含相關粒度調出,與挖掘結果進行對比,選擇那些帶有與顧客相同粒度的粒關聯規(guī)則,經過數據清洗后得到推薦結果,顯示在相關頁面上。
數據分析模塊在這一過程中,收集有關數據,如近一段時間內各個粒度被推薦的次數、各商品被推薦的次數等,為有關人員下一階段的商業(yè)活動提供必要的依據。
五、結束語
商品推薦系統(tǒng)不僅為顧客購物提供方便,也是電子購物網站提高銷售量和銷售額的重要手段之一。本文將粒計算的思想和屬性特性算法引入到商品推薦系統(tǒng)設計中,通過分析顧客信息粒度與商品信息粒度間的粒關聯規(guī)則來推薦有關商品,同時利用粒度屬性間的特性減少時間消耗,在擴展推薦商品種類的同時,也提高了數據挖掘速度,不僅為客戶購買商品提供了便利,還有利于提升網站的銷售量。