李海威,林珠,黃皓璇,鄭偉鴻
(1.廣東省科技基礎條件平臺中心,廣東省高性能計算重點實驗室,廣州 510033;2.廣東工業大學自動化學院,廣州 510046)
面向科技資源需求的推薦方法研究
李海威1,林珠1,黃皓璇2,鄭偉鴻1
(1.廣東省科技基礎條件平臺中心,廣東省高性能計算重點實驗室,廣州 510033;2.廣東工業大學自動化學院,廣州 510046)
圍繞科技資源需求大廳的功能,提出協同過濾與內容相結合的推薦方法,采用向量相似度計算和聚類的進行需求匹配,能夠適應科技資源推薦過程中數據量巨大、數據稀疏、多樣化等特點,為待解決需求者推薦合適的資源。
科技資源;需求大廳;協同過濾;向量空間模型;推薦系統
近年來,廣東省“統一部署、突出重點,整合資源、開放共享,市場導向、創新體制,政府主導、多方聯動”的原則,通過省市共建、科研機構聯合共建、科研機構與高校共建等多種建設模式,充分整合各類科技資源,建設一批科技資源創新服務平臺和公共科技信息服務平臺(以下簡稱“資源平臺”),以提升全省科技服務能力。
資源平臺的建設為科技資源的提供商和使用方提供了資源銜接平臺,在平臺中使用合適的推薦算法能夠有效促進資源的優化配置,促進使用方快速尋找心儀的資源,推進資源平臺建設。該平臺需求大廳的推薦對象為科技工作者、中小微企業等進行科技活動的用戶,這些用戶希望通過平臺獲取相關的科技資源,以協助自己完成相關的科研工作。推薦內容為這些用戶所需的各類資源,如在平臺尋找進行科技活動所需的科學儀器、某特地領域所需要的科技文獻、進行實驗的種質資源等。現階段針對科技資源的利用情況,政府部門、科技工作者均認同建設資源平臺的重要性,專家學者也將電商、O2O模式引入資源平臺,在平臺中運用各種推薦算法,以幫助使用方快速尋找資源,促進資源的高效運用。
由于科技資源存在種類繁多、數據稀疏、熱點資源不夠集中的情況,使用傳統的推薦算法未必合適,因此,本文試圖將基于協同過濾與基于內容的推薦算法相結合,從而尋找更適合科技資源需求大廳的推薦算法。
面對全省眾多的科技資源,以開放服務為主要目的,將科技資源應用于科技創新活動中,推動科技資源“信息連起來,資源用起來”,達到科技資源深度挖掘、綜合集成、有效利用的效果,形成了從標準規范制定、數據整合加工、數據挖掘到開放服務的一套完整的科技資源共享服務體系結構。需建設科技資源服務平臺(以下簡稱“平臺”)進行科技創新服務,通過平臺為中小微企業科技創新活動提供資源與技術服務,為科技工作者、科研院校等的科研工作提供基礎支撐,為政府科技資源配置提供數據支撐,為社會民生發展提供科技資源專題化服務。平臺推動科技資源的開放共享與運行服務,形成資源與利益共享的一個信息化平臺。
為進一步促進資源的優化配置,為資源使用方提供更便利的提供渠道,平臺專設需求大廳模塊?!靶枨蟠髲d”功能主要為資源的提供方和使用方進行對接服務,在平臺中除資源的檢索和展示外,另開設“需求大廳”頁面,主要包括如下功能:
●需求發布:使用方直接在平臺進行資源需求的發布,發布內容包括:標題、內容、附件、聯系人、聯系電話等。
●需求大廳:用于展示發布后的需求。
●成功案例:用于展示成功對接后的信息。
●對接申請:提供商可對自己感興趣的資源進行對接申請,填寫供方信息,包括:標題、內容、聯系人、聯系電話等。
●需求對接:使用方根據對接申請的情況,對各申請對接的提供商進行比較,選擇其中一個進行需求對接,對接成功后,將進入成功案例列表。
需求大廳與其他電子商務網站的推薦方法具有類似之處,它們均根據提供商和需求方發布的歷史數據進行挖掘用戶的行為習慣,從而為用戶推薦更合適的商品或資源。傳統電商網站通常采用基于協同過濾的算法[1]或基于內容的算法進行推薦[2]。
2.1 基于關聯規則的推薦方法
基于關聯規則的推薦方法常常被應用于電子商務系統中,利用用戶點擊率或者購買訂單等歷史記錄來查找存在于商品之間的關聯性,并找出正確的促銷商品組合,根據這些組合為用戶生成推薦[3]。該方法實際運用了數據挖掘中的關聯規則算法,從大量的歷史數據中分析出數據項之間相互聯系的知識,常采用Apriori算法或其改進算法產生Top-N推薦列表,從而進行離線推薦。
2.2 基于協同過濾的推薦方法
協同過濾方法主要是指根據用戶在網站中的綜合協同信息形成總體規則來預測單個用戶的興趣[4]?;趨f同過濾的推薦方法基于如下思想:如果用戶周圍的朋友選擇了某類商品,那么默認他也會優先考慮購買該類商品;如果用戶對某類商品特別喜歡,那么,用戶選擇與該類商品具有很高相似度的商品的概率比較大。
協同過濾方法一般分為基于用戶的協同過濾算法和基于項目的協同過濾算法[5],User-based協同過濾關鍵在于尋找目標用戶的K近鄰,首先根據用戶信息和歷史數據進行用戶之間相似度計算,根據目標用戶與其他用戶之間的相似度而形成目標用戶的K近鄰,然后再根據這些近鄰的用戶的行為記錄產生推薦結果。但隨著用戶數據的不斷增加,User-based協同過濾的用戶相似度計算難度也不斷增加。因此產生了基于項目的協同過濾方法[6],該方法通過用戶的行為歷史記錄進行物品之間的相似度計算,首先對物品之間的相似度進行計算,然后再根據歷史信息中用戶購買記錄與物品的相似度計算,然后再推薦相似度較高的物品給目標用戶。
2.3 基于內容的推薦方法
無論是基于關聯規則的推薦算法,還是協同過濾推薦方法,均需采用過去發生的交易、評價等信息,但對于電商網站,很多產品有時候用戶并沒有留下評價信息或未曾購買過,對于這種情況,往往需要采用基于內容的推薦算法[7]。
基于內容的推薦主要應用于文本信息領域,通常采用鄰近函數、分類等技術對項目的總體文本進行分析或聚類,然后再基于用戶的特征或記錄產生推薦[8]?;趦热莸耐扑]基于如下思想:用戶往往會對內容相似的產品感興趣?;趦热莸耐扑]采用產品本身的內容特征信息進行推薦,如根據產品名稱、類型、用途等基本信息作為推薦的依據,也可以從這些基本信息中延伸出產品的風格、主題等抽象信息進行推薦??梢钥吹剑灰钦鎸嵈嬖诘漠a品,都可以按照一定的標準維度來篩選出產品的內容,也就是說基于內容的推薦的適用面是很廣的。
現階段推薦系統往往采用多種方法的結合,使推薦更加精準,如王明文等作者提出雙向聚類迭代的協同過濾推薦算法實現基于協同過濾和基于內容的結合[9]。
3.1 科技資源數據特征
隨著科技創新工作的開展,科技資源在科技活動中的重要性日益呈現,伴隨著全省對科技資源的重視和整合力度的提升,科技資源數據極速增長,呈現數據量巨大、數據稀疏、多樣化等特點??萍假Y源種類繁多,包括大型儀器、種質資源、實驗動物等多種科技資源,每類資源所在領域不同,有些數據需求較小,導致數據稀疏;數據類型多樣,除資源的名稱、內容、型號、領域等結構數據之外,還具有圖片、地理位置信息等非結構化數據;每個用戶感興趣的科技領域不一樣,導致熱點資源不夠集中,呈現多樣化。
對于不同的科技資源,其在平臺需求大廳發生的行為主要概況為主要有四類數據集,分別是待解決需求的文本、已解決需求的文本、用戶特征的文本、提供商特征的文本。其中,用戶特征的文本主要對每個發生過購買行為的用戶(將購買過資源的用戶視為具備一定的解決需求的能力),抽取他所有購買過的資源的文本描述,將這些文本合并為該用戶的特征文檔;提供商特征文本主要從平臺數據庫中抽取每個提供商旗下所有發布并上架的資源的文本描述,將這些文本合并為該提供商的特征文檔。
3.2 需求大廳推薦方法
科技資源需求大廳推薦重點在于為使用方推薦合適的科技資源,同時,為使用方推薦相似的成功案例,以幫助使用方快速找到解決方案。根據科技資源需求大廳的業務特點,采用協同過濾與內容相結合的推薦方法,采用向量相似度計算和聚類方法進行需求匹配,該方法融合基于協同過濾方法與基于內容推薦方法的優點,解決數據稀疏性,增加推薦結果的準確率和覆蓋率。
該推薦算法結合了協同過濾方法和基于內容的推薦方法,首先,其采用了User-based協同過濾方法,對用戶特征向量進行相似度計算,對待解決需求的用戶推薦與其相似的用戶曾經購買的資源,將這些資源存于用戶-資源表1;然后,對待解決需求與提供商特征向量進行基于項目的協同過濾方法,通過相似度計算,形成資源-資源表2;然后,再通過基于內容的推薦方法,采用Canopy+K-Means算法,對需求進行聚類,將相似需求劃為同一簇,為待解決的需求推薦其同簇中被用于解決需求的資源,形成需求-資源表3;最后,對3個表進行整合,為需求優先推薦重復度高的資源,然后再推薦單表中存在的資源。
在該推薦方法中,聚類主要采用Canopy+K-Means算法,K-Means算法需人為確定簇的數量K值,并且初始簇心是隨機選擇確定的,因此,在對數據不了解的情況下,很難給定合理的K值。因此,引入Canopy算法,首先通過Canopy算法進行聚類,以確定簇數以及初始簇心的,接著通過K-Means算法進行迭代運算,收斂出最后的聚類結果[10]。

圖1
科技資源需求大廳推薦如圖1所示具體步驟如下:
step1:進行數據抓取及數據清洗,構建待解決需求的文本、已解決需求的文本、用戶特征的文本、提供商特征的文本,形成文本集合。
step2:對文本集合的所有文檔,進行中文分詞、去停用詞處理。
step3:使用向量空間模型(VSM)向量化文本文檔,構建文檔-詞語矩陣,并利用TF-IDF(詞頻-逆文檔頻率)方法計算權重。
step4:將向量存儲于哈希表Map〈String,Vector>中,其中key為文檔名,value為向量。
step5:使用余弦距離測度,計算提供商向量與待解決需求按相關性高低進行匹配,結果形成用戶-資源表1。
step6:使用余弦距離測度,計算q用戶特征向量與待解決需求用戶向量的相關性,推薦相關性較高的用戶其購買過的資源給待解決需求用戶,結果形成資源-資源表2。
step7:針對發布了需求的用戶,對需求文檔集合,使用Canopy+K-Means算法進行聚類,根據最終的結果簇進行推送,幫助用戶發現與其相似的需求是如何被解決的,結果形成需求-資源表3。
step8:對3個表進行整合,為需求優先推薦重復度高的資源,然后再推薦單表中存在的資源。
3.3 算法實現
主要算法實現如下:
輸入:變量con為文本集合(待解決需求的文本、已解決需求的文本、用戶特征的文本、提供商特征的文本);
輸出:變量rc為推薦資源
3.4 算法效果
該推薦算法應用在廣東省科技創新服務平臺和公共科技信息服務平臺,在平臺首頁右側,開設專欄“猜您喜歡”,展示該推薦系統計算出的TOP5資源。為驗證該算法的優勢,平臺首先采用協同過濾算法、基于內容的推薦算法進行推薦,在分別收集了1000次的平臺首頁登陸后,再使用本文中的算法進行推薦。對于三種算法收集的1000次訪問數據中,通過URL跳轉記錄統計進入“猜您喜歡”的次數,得出實驗結果如表1所示。

表1 各種算法訪問次數比較
實驗表明,文中所采用的結合基于協同過濾和基于內容的推薦方法的推薦方法,融合兩者的優點,解決數據稀疏性,增加推薦結果的準確率和覆蓋率,訪問效果與傳統算法相比具有一定的優勢。
本文首先介紹了科技資源共享服務平臺建設的必要性和意義,闡述了科技資源需求大廳的主要功能,然后介紹了現階段電商網站常用的推薦方法,在基于協同過濾和基于內容的推薦方法基礎上,提出了結合協同過濾和內容的需求大廳推薦方法。該方法能夠適應科技資源數據特征,不僅使用了余弦距離測度,同時也采用了Canopy+K-Means算法進行聚類,從待解決需求與提供商向量、待解決需求與用戶特征向量、待解決需求與已解決需求等多方面進行需求大廳推薦。
[1]Kim H N,Ji A T,Ha I,et al.Collaborative Filtering Based on Collaborative Tagging for Enhancing the Quality of Recommendation[J].Electronic Commerce Research and Application,2010(9):73-83.
[2]牟春苗.O2O電子商務模式中推薦方法的研究[D].東北石油大學,2014.
[3]Brzozowski M J,Romero D M.Who Should I Follow?Recomendiing People in Directed Social Networks.CSCW'11.Hangzhou,China, 2011:1-10.
[4]何鵬.Roster——一種開發者潛在同行推薦方法[J].計算機學報.2014(37):859-872.
[5]劉永康.個性化推薦技術的發展[J].電子世界.2015(24):61-62.
[6]韋素云,業寧,吉根林,等.基于項目類別和興趣度的協同過濾推薦算法[J].南京大學學報:自然科學版,2013,49(2):142-149.
[7]LIANG C,LENG Y.Collaborative Filtering Based on Information-Theoretic Co-Clustering[J].International Journal of Systems Science,2014,45(3):589-597.
[8]田耕.基于關系和內容的推薦算法研究[D].北京交通大學,2015.
[9]王明文,陶紅亮,熊小勇.雙向聚類迭代的協同過濾推薦算法[J].中文信息學報,2008,22(4):61-65.
[10]趙慶.基于Hadoop平臺下的Canopy+K-Means高效算法[J].電子科技,2014,27(2):29-31.
Research on the Recommendation Method for the Demand Hall of Scientific and Technological Resources
LI Hai-wei1,LIN Zhu1,HUANG Hao-xian2,ZHENG Wei-hong1
(1.Guangdong Science&Technology Infrastructure Center;Guangdong Province Key Laboratory of HPC,Guangzhou 510033;
2.Guangdong University of Technology Automation Subject,Guangzhou510046)
With the surging importance of scientific and technological resources appears in scientific and technological activities,increasing areas are making efforts to establish shared service platform to promote cooperation between source users and providers.As to the function of scientific and technological resources’demand hall,puts forward a recommendation method of integrating collaborative filtering and contents.It matches demands by vector quantity similarity calculation and clustering,recommending resources to demanders from whatever huge,sparse or diversified data.
Science and Technology Resources;Demand hall;Collaborative Filtering;VSM;Recommendation System
1007-1423(2017)11-0060-05
10.3969/j.issn.1007-1423.2017.11.012
李海威(1979-),男,廣東興寧人,高級工程師,本科,研究方向為計算機科學與技術
林珠(1983-),女,廣東梅州人,高級工程師,碩士,研究方向為數據挖掘和人工智能、信息系統
黃皓璇(1991-),男,廣東汕頭人,助理工程師,碩士,研究方向為數據挖掘與人工智能
鄭偉鴻(1989-),男,廣東潮州饒平人,工程師,雙學士,研究方向為虛擬化技術、軟件研發
2017-01-17
2017-03-15
廣東省科技基礎條件平臺公共服務能力提升研究及資源網絡建設(No.2014A080804007)、科技資源數據分析與開放共享服務平臺建設(No.2014B070706004)