生物信息學(xué)推薦系統(tǒng)研究論文

時(shí)間:2022-09-17 05:15:00

導(dǎo)語(yǔ):生物信息學(xué)推薦系統(tǒng)研究論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢(xún)客服老師,歡迎參考。

生物信息學(xué)推薦系統(tǒng)研究論文

摘要:在生物信息學(xué)系統(tǒng)設(shè)計(jì)中引進(jìn)推薦系統(tǒng),提出具有個(gè)性化服務(wù)的生物信息學(xué)網(wǎng)站模型,完成生物信息學(xué)推薦系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),體現(xiàn)出推薦系統(tǒng)在生物信息學(xué)中使用的必要性和優(yōu)越性。

關(guān)鍵詞:推薦系統(tǒng);生物信息學(xué)

推薦系統(tǒng)(RecommenderSystem)[1]是個(gè)性化信息服務(wù)的主要技術(shù)之一,它實(shí)現(xiàn)的是“信息找人,按需服務(wù)”;通過(guò)對(duì)用戶(hù)信息需要、興趣愛(ài)好和訪問(wèn)歷史等的收集分析,建立用戶(hù)模型,并將用戶(hù)模型應(yīng)用于網(wǎng)上信息的過(guò)濾和排序,從而為用戶(hù)提供感興趣的資源和信息。生物信息學(xué)(Bioinformatics)[2,3]是由生物學(xué)、應(yīng)用數(shù)學(xué)和計(jì)算機(jī)科學(xué)相互交叉所形成的一門(mén)新型學(xué)科;其實(shí)質(zhì)是利用信息科學(xué)的方法和技術(shù)來(lái)解決生物學(xué)問(wèn)題。20世紀(jì)末生物信息學(xué)迅速發(fā)展,在信息的數(shù)量和質(zhì)量上都極大地豐富了生物科學(xué)的數(shù)據(jù)資源,而數(shù)據(jù)資源的急劇膨脹需要尋求一種科學(xué)而有力的工具來(lái)組織它們,基于生物信息學(xué)的二次數(shù)據(jù)庫(kù)[4]能比較好地規(guī)范生物數(shù)據(jù)的分類(lèi)與組織,但是用戶(hù)無(wú)法從大量的生物數(shù)據(jù)中尋求自己感興趣的部分(著名的生物信息學(xué)網(wǎng)站NCBI(美國(guó)國(guó)立生物技術(shù)信息中心),僅僅是小孢子蟲(chóng)(Microsporidia)的DNA序列就達(dá)3399種),因此在生物二次數(shù)據(jù)庫(kù)上建立個(gè)性化推薦系統(tǒng),能使用戶(hù)快速找到自己感興趣的生物信息。特別是在當(dāng)前生物信息數(shù)據(jù)量急劇增長(zhǎng)的情況下,生物信息學(xué)推薦系統(tǒng)將發(fā)揮強(qiáng)大的優(yōu)勢(shì)。

1推薦系統(tǒng)的工作流程

應(yīng)用在不同領(lǐng)域的推薦系統(tǒng),其體系結(jié)構(gòu)也不完全相同。一般而言,推薦系統(tǒng)的工作流程[5]如圖1所示。

(1)信息獲取。推薦系統(tǒng)工作的基礎(chǔ)是用戶(hù)信息。用戶(hù)信息包括用戶(hù)輸入的關(guān)鍵詞、項(xiàng)目的有關(guān)屬性、用戶(hù)對(duì)項(xiàng)目的文本評(píng)價(jià)或等級(jí)評(píng)價(jià)及用戶(hù)的行為特征等,所有這些信息均可以作為形成推薦的依據(jù)。信息獲取有兩種類(lèi)型[6],即顯式獲取(Explicit)和隱式獲取(Implicit),由于用戶(hù)的很多行為都能暗示用戶(hù)的喜好,因此隱式獲取信息的準(zhǔn)確性比顯式高一些。

(2)信息處理。信息獲取階段所獲得的用戶(hù)信息,一般根據(jù)推薦技術(shù)的不同對(duì)信息進(jìn)行相應(yīng)的處理。用戶(hù)信息的存儲(chǔ)格式中用得最多的是基于數(shù)值的矩陣格式,最常用的是用m×n維的用戶(hù)—項(xiàng)目矩陣R來(lái)表示,矩陣中的每個(gè)元素Rij=第i個(gè)用戶(hù)對(duì)第j個(gè)項(xiàng)目的評(píng)價(jià),可以當(dāng)做數(shù)值處理,矩陣R被稱(chēng)為用戶(hù)—項(xiàng)目矩陣。

(3)個(gè)性化推薦。根據(jù)形成推薦的方法的不同可以分為三種,即基于規(guī)則的系統(tǒng)、基于內(nèi)容過(guò)濾的系統(tǒng)和協(xié)同過(guò)濾系統(tǒng)。基于規(guī)則的推薦系統(tǒng)和基于內(nèi)容過(guò)濾的推薦系統(tǒng)均只能為用戶(hù)推薦過(guò)去喜歡的項(xiàng)目和相似的項(xiàng)目,并不能推薦用戶(hù)潛在感興趣的項(xiàng)目。而協(xié)同過(guò)濾系統(tǒng)能推薦出用戶(hù)近鄰所喜歡的項(xiàng)目,通過(guò)用戶(hù)與近鄰之間的“交流”,發(fā)現(xiàn)用戶(hù)潛在的興趣。因此本文所用的算法是基于協(xié)同過(guò)濾的推薦算法。

(4)推薦結(jié)果。顯示的任務(wù)是把推薦算法生成的推薦顯示給用戶(hù),完成對(duì)用戶(hù)的推薦。目前最常用的推薦可視化方法是Top-N列表[7],按照從大到小順序把推薦分值最高的N個(gè)事物或者最權(quán)威的N條評(píng)價(jià)以列表的形式顯示給用戶(hù)。

2生物信息學(xué)推薦系統(tǒng)的設(shè)計(jì)

綜合各種推薦技術(shù)的性能與優(yōu)缺點(diǎn),本文構(gòu)造的生物信息學(xué)推薦系統(tǒng)的總體結(jié)構(gòu)如圖2所示。

生物信息學(xué)推薦系統(tǒng)實(shí)現(xiàn)的主要功能是在用戶(hù)登錄生物信息學(xué)網(wǎng)站時(shí),所留下的登錄信息通過(guò)網(wǎng)站傳遞到推薦算法部分;推薦算法根據(jù)該用戶(hù)的用戶(hù)名從數(shù)據(jù)庫(kù)提取出推薦列表,并返回到網(wǎng)站的用戶(hù)界面;用戶(hù)訪問(wèn)的記錄返回到數(shù)據(jù)庫(kù),系統(tǒng)定時(shí)調(diào)用推薦算法,對(duì)數(shù)據(jù)庫(kù)中用戶(hù)訪問(wèn)信息的數(shù)據(jù)進(jìn)行分析計(jì)算,形成推薦列表。

本系統(tǒng)采用基于近鄰的協(xié)同過(guò)濾推薦算法,其結(jié)構(gòu)可以進(jìn)一步細(xì)化為如圖3所示。算法分為鄰居形成和推薦形成兩大部分,兩部分可以獨(dú)立進(jìn)行。這是該推薦系統(tǒng)有別于其他系統(tǒng)的優(yōu)勢(shì)之一。由于信息獲取后的用戶(hù)—項(xiàng)目矩陣維數(shù)較大,使得系統(tǒng)的可擴(kuò)展性降低。本系統(tǒng)采用SVD矩陣降維方法,減少用戶(hù)—項(xiàng)目矩陣的維數(shù),在計(jì)算用戶(hù)相似度時(shí)大大降低了運(yùn)算的次數(shù),提高了推薦算法的效率。

(1)信息獲取。用戶(hù)對(duì)項(xiàng)目的評(píng)價(jià)是基于用戶(hù)對(duì)某一個(gè)項(xiàng)目(為表示簡(jiǎn)單,以下提及的項(xiàng)目均指網(wǎng)站上的生物物種)的點(diǎn)擊次數(shù)來(lái)衡量的。當(dāng)一個(gè)用戶(hù)注冊(cè)并填寫(xiě)好個(gè)人情況以后,系統(tǒng)會(huì)自動(dòng)為該用戶(hù)創(chuàng)建一個(gè)“信息矩陣”,該矩陣保存了所有項(xiàng)目的ID號(hào)以及相應(yīng)的用戶(hù)評(píng)價(jià),保存的格式為:S+編號(hào)+用戶(hù)評(píng)價(jià),S用于標(biāo)記項(xiàng)目,每個(gè)項(xiàng)目編號(hào)及其評(píng)價(jià)都以“S”相隔開(kāi);編號(hào)是唯一的,占5位;用戶(hù)評(píng)價(jià)是用戶(hù)點(diǎn)擊該項(xiàng)目的次數(shù),規(guī)定其范圍是0~100,系統(tǒng)設(shè)定當(dāng)增加到100時(shí)不再變化。這樣做可防止形成矩陣時(shí)矩陣評(píng)價(jià)相差值過(guò)大而使推薦結(jié)果不準(zhǔn)確。(2)信息處理。信息處理是將所有用戶(hù)的信息矩陣轉(zhuǎn)換為用戶(hù)—項(xiàng)目矩陣,使用戶(hù)信息矩陣數(shù)值化,假設(shè)系統(tǒng)中有M個(gè)用戶(hù)和N個(gè)項(xiàng)目,信息處理的目的就是創(chuàng)建一個(gè)M×N的矩陣R,R[I][J]代表用戶(hù)I對(duì)項(xiàng)目J的評(píng)價(jià)。

(3)矩陣處理。協(xié)同過(guò)濾技術(shù)的用戶(hù)—項(xiàng)目矩陣的數(shù)據(jù)表述方法所帶來(lái)的稀疏性嚴(yán)重制約了推薦效果,而且在系統(tǒng)較大的情況下,它既不能精確地產(chǎn)生推薦集,又忽視了數(shù)據(jù)之間潛在的關(guān)系,發(fā)現(xiàn)不了用戶(hù)潛在的興趣,而且龐大的矩陣增加了計(jì)算的復(fù)雜度,因此有必要對(duì)該矩陣的表述方式做優(yōu)化,進(jìn)行矩陣處理。維數(shù)簡(jiǎn)化是一種較好的方法,本文提出的算法應(yīng)用單值分解(SingularValueDecomposition,SVD)技術(shù)[8],對(duì)用戶(hù)—項(xiàng)目矩陣進(jìn)行維數(shù)簡(jiǎn)化。

(4)相似度計(jì)算。得到降維以后的用戶(hù)矩陣US,就可以尋找每個(gè)用戶(hù)的近鄰。近鄰的確定是通過(guò)兩個(gè)用戶(hù)的相似度來(lái)度量的。本文采用Pearson相關(guān)度因子[9]求相似度。(5)計(jì)算用戶(hù)鄰居。該方法有兩種[10],即基于中心的鄰居(Center-BasedNeighbor)和集合鄰居(AggregateNeighbor)。本系統(tǒng)采用了第一種方法,直接找出與用戶(hù)相似度最高的前N個(gè)用戶(hù)作為鄰居,鄰居個(gè)數(shù)N由系統(tǒng)設(shè)定,比如規(guī)定N=5。

(6)推薦形成。推薦形成的前提是把當(dāng)前用戶(hù)的鄰居ID號(hào)及其與當(dāng)前用戶(hù)的相似度保存到數(shù)據(jù)庫(kù)中,而在前面的工作中已找出各用戶(hù)的鄰居以及與用戶(hù)的相似度,推薦形成部分只需要對(duì)當(dāng)前登錄用戶(hù)進(jìn)行計(jì)算。推薦策略是:對(duì)當(dāng)前用戶(hù)已經(jīng)訪問(wèn)過(guò)的項(xiàng)目不再進(jìn)行推薦,推薦的范圍是用戶(hù)沒(méi)有訪問(wèn)的項(xiàng)目,其目的是推薦用戶(hù)潛在感興趣的項(xiàng)目;考慮到系統(tǒng)的項(xiàng)目比較多,用戶(hù)交互項(xiàng)目的數(shù)量很大,所以只篩選出推薦度最大的N個(gè)項(xiàng)目,形成Top-N推薦集,設(shè)定N=5。

3生物信息學(xué)推薦系統(tǒng)的實(shí)現(xiàn)

生物信息學(xué)推薦系統(tǒng)的實(shí)現(xiàn)可以用圖4來(lái)表示。數(shù)據(jù)庫(kù)部分主要存儲(chǔ)用戶(hù)信息和項(xiàng)目信息,用SQLServer2000實(shí)現(xiàn)。

數(shù)據(jù)訪問(wèn)層實(shí)現(xiàn)了與用戶(hù)交互必需的存儲(chǔ)過(guò)程以及觸發(fā)器,也使用SQLServer2000,主要完成以下功能:初始化新用戶(hù)信息矩陣;插入新項(xiàng)目時(shí)更新所有用戶(hù)的信息矩陣;用戶(hù)點(diǎn)擊項(xiàng)目時(shí)更新該用戶(hù)對(duì)項(xiàng)目的評(píng)價(jià);刪除項(xiàng)目時(shí)更新所有用戶(hù)的信息矩陣。用戶(hù)訪問(wèn)層主要涉及網(wǎng)頁(yè)與用戶(hù)的交互和調(diào)用數(shù)據(jù)訪問(wèn)層的存儲(chǔ)過(guò)程,在這里不做詳細(xì)的介紹。

推薦算法完成整個(gè)個(gè)性化推薦的任務(wù),用Java實(shí)現(xiàn)。(1)數(shù)據(jù)連接類(lèi)DataCon。該類(lèi)完成與SQLServer2000數(shù)據(jù)庫(kù)的連接,在連接之前必須要下載三個(gè)與SQLServer連接相關(guān)的包,即msutil.jar、msbase.jar和mssqlserver.jar。

(2)數(shù)據(jù)操作類(lèi)DataControl。該類(lèi)負(fù)責(zé)推薦算法與數(shù)據(jù)庫(kù)的數(shù)據(jù)交換,靜態(tài)成員Con調(diào)用DataCon.getcon()獲得數(shù)據(jù)庫(kù)連接,然后對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。把所有方法編寫(xiě)成靜態(tài),便于推薦算法中不創(chuàng)建對(duì)象就可以直接調(diào)用。

(3)RecmmendSource與CurrentUserNeighbor。這兩個(gè)類(lèi)作為FCRecommand類(lèi)的內(nèi)部類(lèi),RecmmendSource用于保存當(dāng)前用戶(hù)的推薦列表,包括推薦項(xiàng)目號(hào)和推薦度;CurrentUserNeighbor用于保存鄰居信息,包括鄰居ID號(hào)、相似度及其訪問(wèn)信息。

(4)協(xié)同過(guò)濾推薦算法FCRecommand。該類(lèi)實(shí)現(xiàn)了整個(gè)推薦算法,主要分為鄰居形成方法FCArithmetic和推薦形成方法GenerateRecommend。

下面給出方法FCArithmetic的關(guān)鍵代碼:

Matrixuser_item=this.User_Item_Arry();//獲取用戶(hù)—項(xiàng)目矩陣

user_item=this.SVD_Calculate(user_item);//調(diào)用SVD降維方法

Vectorc_uservector=newVector();//當(dāng)前用戶(hù)向量

Vectoro_uservector=newVector();//其他用戶(hù)向量

Vectorc_user_correlate_vector=newVector();

//當(dāng)前用戶(hù)與其他用戶(hù)之間相似度向量

for(inti=0;ifor(intj=0;jc_uservector.addElement(user_item.get(i,j));

//1.獲得當(dāng)前用戶(hù)向量

for(intk=0;ko_uservector.clear();

for(intl=0;lo_uservector.addElement(user_item.get(k,l));

//2.獲得其他用戶(hù)的向量

//3.計(jì)算當(dāng)前用戶(hù)與其他用戶(hù)的相似度

usercorrelativity=this.Correlativity(c_uservector,o_uservector);

c_user_correlate_vector.addElement(usercorrelativity);

}

//4.根據(jù)當(dāng)前用戶(hù)與其他用戶(hù)的相似度,計(jì)算其鄰居

this.FindUserNeighbor(i,c_user_correlate_vector);

}

根據(jù)鄰居形成方法FCArithmetic,可以得到每個(gè)用戶(hù)的鄰居。作為測(cè)試用例,圖6顯示用戶(hù)Jack與系統(tǒng)中一部分用戶(hù)的相似度,可以看出它與自己的相似度必定最高;并且它與用戶(hù)Sugx訪問(wèn)了相同的項(xiàng)目,它們之間的相似度也為1,具有極高的相似度。

4結(jié)束語(yǔ)

在傳統(tǒng)推薦系統(tǒng)的基礎(chǔ)上,結(jié)合當(dāng)前生物信息學(xué)網(wǎng)站的特點(diǎn),提出一個(gè)基于生物信息平臺(tái)的推薦系統(tǒng),解決了傳統(tǒng)生物信息網(wǎng)站平臺(tái)信息迷茫的缺點(diǎn),為用戶(hù)推薦其感興趣物種的DNA或蛋白質(zhì)序列。

優(yōu)點(diǎn)在于協(xié)同過(guò)濾的推薦算法能發(fā)現(xiàn)用戶(hù)潛在的興趣,能促進(jìn)生物學(xué)家之間的交流;推薦算法的鄰居形成與推薦形成兩部分可以單獨(dú)運(yùn)行,減少了系統(tǒng)的開(kāi)銷(xiāo)。進(jìn)一步的工作是分析生物數(shù)據(jù)的特點(diǎn)及生物數(shù)據(jù)之間的關(guān)系,增加用戶(hù)和項(xiàng)目數(shù)量,更好地發(fā)揮推薦系統(tǒng)的優(yōu)勢(shì)。

參考文獻(xiàn):

[1]PAULR,HALRV.Recommendersystems[J].CommunicationsoftheACM,1997,40(3):56-58.

[2]陳新.生物信息學(xué)簡(jiǎn)介[EB/OL].(2001).166.111.68.168/bioinfo/papers/Chen_Xin.pdf.

[3]林毅申,林丕源.基于WebServices的生物信息解決方案[J].計(jì)算機(jī)應(yīng)用研究,2005,22(6):157-158,164.[4]邢仲璟,林丕源,林毅申.基于Bioperl的生物二次數(shù)據(jù)庫(kù)建立及應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004(11):58-60.

[5]AIRIAS,TAKAHISAA,HIROYAI,etal.Personalizationsystembasedondynamiclearning:InternationalSemanticWebConference[C].Sardinia:[s.n.],2002.

[6]BREESEJS,HECKERMAND,KADIEC.Empericalanalysisofpredictivealgorithmsforcollaborativefiltering:proceedingsoftheFourteenthConferenceonUniversityinArtificialIntelligence[C].Madison:WI,1998:43-52.

[7]SCHAFERJB,KONSTANJ,RIEDLJ.Recommendersystemsine-commerce:proceedingoftheACMConferenceonElectronicCommerce[C].Pittsburgh:PA,1999:158-166.

[8]PRYORMH.Theeffectsofsingularvaluedecompositiononcollaborativefiltering[EB/OL].(1998).www.cs.dartmouth.edu/reports/TR98-338.pdf.

[9]SARWARB,KARYPISG,KONSTANJ,etal.Analysisofrecommendationalgorithmsfore-commerce:proceedingsofthe2ndACMConferenceonElectronicCommerce[C].Minneapolis:[s.n.],2000:158-167.

[10]SUNTong,ANDR’ET.Animplementede-commerceshoppingsystemwhichmakespersonalrecommendations[EB/OL].(2001-10).www.stfx.ca/academic/mathcs/apics2001/Papers/tsun.pdf.