孫健波 (連云港師范高等專(zhuān)科學(xué)校圖書(shū)館,江蘇 連云港222006)
隨著Internet網(wǎng)絡(luò)資源的日益豐富,傳統(tǒng)高校圖書(shū)館逐漸向數(shù)字化、信息化和網(wǎng)絡(luò)化圖書(shū)館轉(zhuǎn)變,越來(lái)越多的WEB2.0技術(shù)如微博、RSS、WIKI等開(kāi)始應(yīng)用到圖書(shū)館服務(wù)中[1]。圖書(shū)館的服務(wù)以用戶(hù)為中心進(jìn)行職能轉(zhuǎn)變,具體體現(xiàn)在快速閱讀檢索服務(wù)、高效率個(gè)性化智能化推薦服務(wù)、需求驅(qū)動(dòng)館藏構(gòu)建等方面,如何幫助用戶(hù)從海量數(shù)據(jù)中快速檢索出有價(jià)值的信息并主動(dòng)給出相應(yīng)的智能化推薦方案已成為重要研究?jī)?nèi)容。為此,筆者對(duì)高校圖書(shū)館主動(dòng)式個(gè)性化書(shū)籍推薦系統(tǒng)進(jìn)行了設(shè)計(jì)。
根據(jù)目前流行的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),采用B/S結(jié)構(gòu)設(shè)計(jì)高校主動(dòng)式個(gè)性化書(shū)籍推薦系統(tǒng)[2]。該系統(tǒng)的需求驅(qū)動(dòng)邏輯功能可以分為5個(gè)部分,即用戶(hù)管理功能、推薦功能、咨詢(xún)功能、資源檢索功能和評(píng)價(jià)功能 (見(jiàn)圖1)。
圖1 系統(tǒng)功能圖
用戶(hù)管理功能是指提供針對(duì)用戶(hù)個(gè)性化信息需求服務(wù)以及面向用戶(hù)提供友好圖形使用和信息輸入檢索界面,具體包括用戶(hù)注冊(cè)、用戶(hù)登錄和用戶(hù)信息管理 (包括用戶(hù)基本信息顯示、用戶(hù)信息修改、用戶(hù)研究方向和用戶(hù)收藏夾等)。
推薦功能是指采用協(xié)同過(guò)濾推薦算法構(gòu)建推薦列表并輸出推薦信息,包括用戶(hù)研究方向、推薦資源管理、推薦結(jié)果顯示模塊、電子郵件推薦和頁(yè)面定制等功能,由此用戶(hù)可進(jìn)行預(yù)約、續(xù)借等操作。
咨詢(xún)功能是指提供在線(xiàn)、實(shí)時(shí)用戶(hù)咨詢(xún)服務(wù)。用戶(hù)可以隨時(shí)隨地通過(guò)互聯(lián)網(wǎng)絡(luò)接入系統(tǒng),通過(guò)咨詢(xún)功能進(jìn)行圖書(shū)資源相關(guān)咨詢(xún),也可以通過(guò)E-mail將咨詢(xún)情況發(fā)送至用戶(hù)的注冊(cè)電子信箱,以便用戶(hù)查閱和瀏覽。
資源檢索功能包括書(shū)目檢索、分類(lèi)瀏覽和期刊導(dǎo)航等。書(shū)目檢索是指對(duì)書(shū)目、主題、作者、出版時(shí)間等查詢(xún)字段進(jìn)行模糊查詢(xún),分類(lèi)瀏覽是指按科研領(lǐng)域類(lèi)別分類(lèi)實(shí)現(xiàn)圖書(shū)資源查詢(xún),而期刊導(dǎo)航可以為讀者提供相應(yīng)期刊信息。
用戶(hù)通過(guò)登錄后可進(jìn)行顯示或隱式評(píng)分,而系統(tǒng)通過(guò)協(xié)同過(guò)濾推薦算法產(chǎn)生書(shū)籍推薦清單并通過(guò)E-mail發(fā)送到用戶(hù)郵箱,便于用戶(hù)瀏覽 (見(jiàn)圖2)。
圖2 評(píng)價(jià)流程
系統(tǒng)利用用戶(hù)注冊(cè)信息、用戶(hù)研究方向、用戶(hù)收藏夾對(duì)用戶(hù)進(jìn)行建模,通過(guò)Slope One協(xié)同過(guò)濾推薦算法[3]產(chǎn)生推薦圖書(shū)資源列表并向用戶(hù)推薦相應(yīng)書(shū)籍,如圖書(shū)A是否適合推薦給用戶(hù)α,系統(tǒng)先計(jì)算圖書(shū)A和圖書(shū)B(niǎo)之間的平均評(píng)分差值X,再通過(guò)用戶(hù)α對(duì)圖書(shū)B(niǎo)的打分計(jì)算相應(yīng)的推薦值,最后利用推薦值的高低來(lái)選擇要推薦的圖書(shū)。
圖書(shū)的Slope One推薦算法如下[4]:
DiffStorage diffStorage=new MemoryDiffStorage(model,Weighting.UNWEIGHTED,false,
Long.MAX_VALUE)); //計(jì)算線(xiàn)性關(guān)系模型
DiffStorage diffStorage= new MySQLJDBCDiffStorage (model);
Recommender recommender=new SlopeOneRecommender(model,Weighting.WEIGHTED,
Weighting.WEIGHTED,diffStorage); //數(shù)據(jù)庫(kù)產(chǎn)生推薦列表項(xiàng)
推薦圖書(shū)部分JSP頁(yè)面顯示代碼如下:
List<String>books=new Array List<String> (); //加載推薦圖書(shū)列表項(xiàng)
books.a(chǎn)dd (id);
books.a(chǎn)dd (bookname);
books.a(chǎn)dd (isRem);
books.a(chǎn)dd (detail);
for(Iterator<String>iter=books.iterator();iter.has Next();){ //迭代循環(huán)顯示圖書(shū)列表
String []book=iter.next();
rembookslistshow (book);
}
系統(tǒng)在提供書(shū)目檢索功能時(shí),用戶(hù)通過(guò)輸入檢索字段選擇相關(guān)選項(xiàng)并填寫(xiě)檢索關(guān)鍵字來(lái)進(jìn)行檢索。同時(shí),系統(tǒng)支持多條件檢索功能,可使用AND和OR等邏輯關(guān)系組配查詢(xún)表達(dá)式。
書(shū)目檢索功能部分代碼如下:
String bookname=request.getParameter(“txtserach”);
rs=sql.executeQuery(“select*from books where”+pm1+like’“+’%’+key1+’%’+ “’”;); //模糊查詢(xún)
由于傳統(tǒng)高校圖書(shū)館沒(méi)有對(duì)用戶(hù)信息沒(méi)有進(jìn)行科學(xué)分析和歸納總結(jié),因而其便利性和實(shí)效性比較差。針對(duì)上述狀況,根據(jù)用戶(hù)的興趣特點(diǎn)、專(zhuān)業(yè)特長(zhǎng)、借閱主題領(lǐng)域和借閱瀏覽行為等設(shè)計(jì)了高校圖書(shū)館主動(dòng)式個(gè)性化書(shū)籍推薦系統(tǒng)。實(shí)際應(yīng)用表明,該系統(tǒng)能夠準(zhǔn)確定位用戶(hù)的閱讀興趣領(lǐng)域,有效減少用戶(hù)查詢(xún)和檢索信息的時(shí)間,因而能更好地為用戶(hù)提供主動(dòng)式個(gè)性化服務(wù)。
[1]單蓉 .個(gè)性化系統(tǒng)中一種新的用戶(hù)興趣模型的建立 [J].科學(xué)技術(shù)與工程,2009,9(5):1671-1675.
[2]劉魯,任曉麗 .推薦系統(tǒng)研究進(jìn)展及展望 [J].信息系統(tǒng)學(xué)報(bào),2008,2 (1):82-90.
[3]黃希全 .?dāng)?shù)字圖書(shū)館推薦系統(tǒng)中用戶(hù)偏好的建模方法 [J].情報(bào)雜志,2006(1):28-30.
[4]林霜梅,汪更生,陳弈秋 .個(gè)性化推薦系統(tǒng)中的用戶(hù)建模及特征選擇 [J].計(jì)算機(jī)工程,2007(17):196-198.