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