丁 一, 沈至榕, 謝穎華
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
校園二手書交易網(wǎng)站推薦引擎的設(shè)計與實現(xiàn)
丁 一, 沈至榕, 謝穎華
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
大學(xué)二手書交易同一般網(wǎng)絡(luò)購物不同,直接應(yīng)用普通推薦算法設(shè)計推薦引擎不能很好地進行推薦。為了使大學(xué)生二手書購物網(wǎng)站能夠更好地為用戶推薦書籍,提高推薦結(jié)果的準(zhǔn)確性及推薦效率,在原有推薦模塊的基礎(chǔ)上針對大學(xué)生用戶的特殊性提出了一種適用于二手書購物網(wǎng)站的推薦算法模塊優(yōu)化推薦引擎。該算法模塊有以下特性:①在基于物品推薦算法的基礎(chǔ)上,結(jié)合書籍評分、新舊等因子優(yōu)化推薦結(jié)果;②為方便用戶購書新增打包推薦功能,使用戶可以一鍵購買多本所需書籍;③根據(jù)用戶群體購書可預(yù)測的特性加入了基于時間節(jié)點的推薦算法,即按時得需,按需推薦。
推薦算法; 評分機制; 新舊因子; 打包推薦; 時間節(jié)點
隨著可持續(xù)發(fā)展理念的進一步加強,為了節(jié)約書本資源,二手書交易在高校蓬勃發(fā)展。在信息化時代的背景下,二手書互聯(lián)網(wǎng)交易平臺應(yīng)運而生。二手書購物網(wǎng)站出售的書籍種類繁多,涉及到教材、課外讀物等多個領(lǐng)域,此外,教材類書籍又包含學(xué)校多個專業(yè)的不同教材,簡單的站內(nèi)搜索引擎[1]已不能很好地滿足用戶需要,因此二手書購物網(wǎng)站同樣面臨著信息過載[2]的問題,個性化推薦引擎的應(yīng)用與創(chuàng)新便更加具有價值。而大學(xué)二手書交易同一般網(wǎng)絡(luò)購物不同,大學(xué)二手書交易具有以下特點:①用戶群體的特殊性,均為在校大學(xué)生;②購書需求的特殊性及可預(yù)測性,一般為科本教材、輔導(dǎo)讀物等;③大學(xué)二手書與普通新書交易不同,具有新舊、時間等影響因子[3-4]。因此,直接應(yīng)用普通推薦算法設(shè)計推薦引擎不能很好進行推薦。推薦算法是推薦引擎的核心內(nèi)容,也是決定推薦效率以及推薦品質(zhì)的關(guān)鍵。推薦的個性化以及合理化是衡量推薦算法的重要指標(biāo)。本文結(jié)合實際情況合理設(shè)計與改進推薦算法,完善推薦引擎,使得網(wǎng)站的用戶能夠得到及時、有效且相對滿意的推薦結(jié)果。
1.1 基于物品的推薦算法的應(yīng)用
第一部分:基于物品的推薦算法(Item-Based Method)[5],該算法是為物品分類標(biāo)簽,將與用戶曾經(jīng)購買過的物品屬性相同或相似的另一種物品推薦給該用戶。針對本次應(yīng)用對象——大學(xué)生,本文將書籍分類為小說、課本、輔導(dǎo)書等,并且在各大類的每本書上加上相關(guān)標(biāo)簽。例如《模擬電子技術(shù)基礎(chǔ)同步輔導(dǎo)及習(xí)題全解》這本書,其標(biāo)簽有①作者:于登峰,邊文思;②類別:輔導(dǎo)書;③適用課程:模擬電子技術(shù)基礎(chǔ)④專業(yè)大類:電氣信息類等。如果該用戶之前買過《模擬電子技術(shù)基礎(chǔ)》這本書,便將該書推薦給該用戶。同時,基于用戶具有特殊性[6-7]的事實,根據(jù)用戶所在學(xué)院,專業(yè)以及年級的不同,對其進行相應(yīng)的推薦,使推薦結(jié)果更具針對性,實效性。
第二部分:基于物品的協(xié)同過濾算法(Item-Based Collaborative Filtering Recommendation Algorithms)[8]。本文針對書籍的標(biāo)簽機制[9-10],將該算法應(yīng)用于此次推薦算法中。在兩本書之間有兩個以上的相同標(biāo)簽的情況下,根據(jù)以下公式計算兩個物品之間的相似度[11-12]:
(1)
式中:N(u)是含有用戶喜歡的物品的集合;S(j,K)是和物品j最相似的K個物品的集合,這里根據(jù)書籍標(biāo)簽相似度取K為10,即取與書籍j相似度排名前十的書籍的集合;wji是書籍j與書籍i的相似度;rui是用戶u對物品i的興趣。利用該公式以及標(biāo)簽機制,可以在用戶數(shù)據(jù)缺乏的時候?qū)τ脩糇龀霰M可能準(zhǔn)確對推薦。
1.2 一般推薦算法未能解決的問題
以上算法是基本算法,利用物品之間對的相似度以及相互之間的聯(lián)系(課本與該課本輔導(dǎo)書的關(guān)系)對用戶進行推薦,這樣的好處是簡單高效。由于大學(xué)校園二手書交易的特殊性,這樣的算法有以下待解決的問題:①推薦結(jié)果未考慮二手書交易特有的影響因子——新舊程度;②重復(fù)推薦,即推薦給用戶其已有或不需要的物品,例如學(xué)生只需要1本關(guān)于《模擬電子技術(shù)基礎(chǔ)》的輔導(dǎo)書,而推薦給他內(nèi)容相近的3本輔導(dǎo)書,那么對于用戶而言推薦后仍然需要篩選,降低推薦效率;③用戶購書需一本一本查找選擇,不能使用戶方便高效地購物;④推薦結(jié)果具有滯后性,不能預(yù)測用戶購物需求,即完全依賴用戶購買記錄,沒有用到用戶基本屬性的預(yù)測作用。⑤結(jié)合標(biāo)簽機制的協(xié)同過濾算法面臨的問題是標(biāo)簽數(shù)量有限導(dǎo)致相似度處于同一等級的書籍?dāng)?shù)量較多,會使推薦結(jié)果繁多。
2.1 推薦引擎的結(jié)構(gòu)
2.1.1 推薦系統(tǒng)的結(jié)構(gòu)功能[13]
(1) 數(shù)據(jù)收集和存儲模塊。UI系統(tǒng)負(fù)責(zé)給用戶展示網(wǎng)頁并和用戶交互。網(wǎng)站會通過日志系統(tǒng)將用戶在UI上的各種各樣的行為記錄到用戶行為日志中(見圖1)。
圖1 推薦引擎結(jié)構(gòu)圖
(2) 推薦引擎模塊。它是推薦系統(tǒng)的最核心部分,采用的推薦技術(shù)決定著推薦系統(tǒng)的性能優(yōu)劣(見圖2)。本文所采用的推薦函數(shù)一共有4個,分別對應(yīng)下文結(jié)合新舊因子的推薦、基于評分機制的推薦、打包推薦、基于時間節(jié)點的推薦算法的應(yīng)用。
圖2 推薦引擎模塊結(jié)構(gòu)
2.1.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫用于保存和管理用戶行為數(shù)據(jù)和所售商品的特征數(shù)據(jù),是推薦引擎的數(shù)據(jù)存儲模塊。本文針對此次應(yīng)用實例將數(shù)據(jù)庫設(shè)計如圖3所示。
圖3 數(shù)據(jù)庫ER圖
2.2 推薦算法模塊的設(shè)計
推薦算法模塊是推薦引擎的核心部分,該部分所采用的推薦技術(shù)直接決定推薦引擎推薦效果的品質(zhì)。本文針對大學(xué)校園二手書交易平臺的實際情況設(shè)計完善推薦引擎的推薦算法模塊,以解決上文分析的待解決的問題。
2.2.1 結(jié)合新舊因子的推薦
二手書交易不同于新書購物,具有特定影響因子:新舊程度??梢詾闀驹鎏硇碌臉?biāo)簽用來記錄書本新舊程度。書籍上架前,由工作人員根據(jù)一定的標(biāo)準(zhǔn)將書籍劃分為1~4個等級,其中等級1為九成新;等級2為八成新;等級3為七成新;等級4為六成新及以下。等級對應(yīng)書籍品質(zhì)參閱京東網(wǎng)對二手書分級標(biāo)準(zhǔn),結(jié)果見表1。
將二手書新舊等級賦值變量Icr用于推薦價值計算。
2.2.2 基于評分機制的推薦算法
針對原有基于物品推薦算法的重復(fù)推薦的問題,本文采用建立評分機制[14],并結(jié)合書籍熱度對推薦結(jié)果進行優(yōu)化的方法(見圖4)。在本文中熱度指的是一本書被評分的次數(shù)。為了避免因出現(xiàn)一本書雖然評分人數(shù)較少但卻評分很高這種情況,導(dǎo)致其推薦次序靠后的問題,本文采用對評分結(jié)果和熱度進行加權(quán)相加來計算推薦價值的大小。
針對基于物品的協(xié)同過濾算法計算相似度式(1)做出以下調(diào)整:N(u)表示所有含有用戶喜歡的標(biāo)簽的書的集合,rui的值:當(dāng)用戶u對書籍i評分過為“1”,否則為“0”;并增添wji的求解公式[11-12]:
表1 二手書新舊程度對應(yīng)等級表
注:常見問題1殘缺、粘連、水漬、變形、蟲蛀、修補;常見問題2墨跡、污損、簽章、磨損
圖4 基于評分機制的推薦算法流程圖
(3)
式中:Mji為M對書籍j和書籍i評分過的用戶;Iui對書籍i評分過的用戶數(shù);Juj為對書籍j評分過的用戶數(shù)。
推薦價值計算公式如下:
(4)
式中:Pi為書籍i的推薦價值;a、b為比例系數(shù),本文采用a=b=0.5;Si為書籍i的評分值;Hi為書籍i的熱度(即被評分次數(shù)),Ion為書籍新舊等級。
加入評分機制后,可以更加客觀地對書籍的推薦價值進行排名,基于“擇優(yōu)推薦”的基本構(gòu)想,便可以大大提高推薦質(zhì)量;同時為對推薦數(shù)量進行限制,進一步優(yōu)化推薦結(jié)果;結(jié)合熱度的加權(quán)算法可以提高推薦結(jié)果的準(zhǔn)確度。
2.2.3 打包推薦功能
在原有推薦算法模塊的基礎(chǔ)上,結(jié)合用戶群體的特質(zhì)進行改進,加入打包推薦的功能。通過調(diào)查,用戶購書高峰期一般為學(xué)期末和開學(xué)前,用戶主要購書需求是對下一學(xué)年所開課程的課本。二手書購物網(wǎng)的書籍一般是按本出售的,所以用戶面臨的問題是①一學(xué)期所開設(shè)的課程內(nèi)容需要到學(xué)校教務(wù)網(wǎng)查詢;②挑選課本時需要按課程表一一查找,費時費力。針對以上問題在原有的算法基礎(chǔ)上加入了“打包推薦”的理念,在后臺服務(wù)系統(tǒng)中將學(xué)院不同專業(yè)各個學(xué)期所開設(shè)的課程以及課程所需課本(不含輔導(dǎo)書)記錄下來,將其中所設(shè)計的圖書打包為“XXX專業(yè)大X第X學(xué)期課本包”,將這一選項添加到推薦結(jié)果中去。
增加該功能的優(yōu)點是可以將多本圖書一步推薦,同時解決了學(xué)生不清楚課本的種類的問題,免去了學(xué)生查詢教務(wù)網(wǎng)、按課表一一查找的繁瑣,提高了推薦效率和用戶使用體驗。該項功能的缺點是需要保證后臺數(shù)據(jù)的正確性與實時性,即專業(yè)課程安排要正確,并且當(dāng)學(xué)校課程安排有變化時要及時更新打包推薦的內(nèi)容。同時要確保推薦內(nèi)容與推薦對象的匹配正確,即推薦內(nèi)容要與用戶的專業(yè)和學(xué)期相對應(yīng)。
2.2.4 基于時間節(jié)點的推薦算法
通過分析得出購書高峰期為學(xué)期末或?qū)W期始,這時候大家對下學(xué)期的課本具有需求,我們可以發(fā)現(xiàn)這之間有一個很明確的關(guān)系:時間與需求的關(guān)系。即在不同的時間推薦不同的書籍[15],其流程見圖5。
該算法將原本的根據(jù)購物數(shù)據(jù)的推薦拓展為結(jié)合時間的動態(tài)推薦,這樣能在不同的時刻滿足用戶不同的需求,及時提供他們需要的商品推薦,或者潛在需要的商品,例如用戶本學(xué)期按學(xué)校安排需要參加CET4的考試,那么在本學(xué)期開學(xué)前便將《星火英語-黑旋風(fēng)試卷》(上海交大出版社出版)推薦給他,在推薦給他的同時也起到了提醒作用。
3.1 結(jié)合新舊因子及評分機制推薦算法的實現(xiàn)
為每一本書添加“用戶評分”標(biāo)簽,使用戶在購買或瀏覽圖書時能為書籍進行評分,根據(jù)用戶的評分對書籍進行排名,將用戶普遍評分高的書籍推薦給有需求的用戶;結(jié)合書籍熱度利用加權(quán)求和的算法將推薦結(jié)果進行優(yōu)化,同時結(jié)合書籍新舊因子計算推薦價值,
圖5 基于時間節(jié)點的推薦算法流程圖
將最終推薦價值較高的書推薦給用戶,這樣便可以實現(xiàn)對推薦結(jié)果的優(yōu)化。
部分相關(guān)php代碼如下:
?
〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8" /〉
〈title〉推薦規(guī)則4_新上架的10(非專業(yè))本書按照評價數(shù)量(熱度)來推薦〈/title〉
〈/head〉
〈?php
function function_recommend_rule4(db)
{
$query="select book_id from (select * from book where course_id=111 order by register_timedesc limit 0,10) as temp order by book_heatdesc "; //無輸入,返回rcmd_rule4數(shù)組
$result=mysqli_query(db,query);
$num_result=mysqli_num_rows(result);
for($i=0;$i<$num_result;$i++)
{
$row=mysqli_fetch_assoc(result);
$output_rcmd_rule4[i]=row[‘book_id’];
}
mysqli_free_result(result);
return output_rcmd_rule4;
}
?>
?
$like_book=a_array_unique(like_book);
foreach (like_book as key=>value)//對評分進行排序
{
$id[$key] = $value[‘id’];
$score[key] = value[‘score’];
}
array_multisort(score,SORT_DESC,SORT_NUMERIC,$like_book);
foreach ($like_book as $key=>value)//只返回id
{
$id[key] = $value[‘id’];
$score[$key] = $value[‘score’];
}
return id;
}
?>
?
3.2 打包推薦功能的實現(xiàn)
采用從學(xué)校教務(wù)處對課程安排進行統(tǒng)計,確保課程包的正確性,同時隨時關(guān)注教務(wù)網(wǎng)的動態(tài),一旦有課程更新,及時對課程包數(shù)據(jù)進行修正。針對推薦匹配問題,采用的解決辦法為:在用戶注冊時要求用戶注明自己的院系專業(yè)及入學(xué)年份,記錄在用戶數(shù)據(jù)庫中,可以直接根據(jù)其記錄屬性進行相關(guān)推薦。
3.3 基于時間節(jié)點推薦算法的實現(xiàn)
首先這是根據(jù)時間節(jié)點的推薦算法,那么就要將用戶的時間分為幾個部分,首先是假期,在該時間段內(nèi)學(xué)生處于無功課狀態(tài),此時便可以為其推薦能力提高類,旅游娛樂類,文學(xué)作品類,以再提高和休息娛樂為主要目的進行推薦,在這幾類推薦給用戶的同時也讓他們發(fā)現(xiàn)新的興趣點,得到意外驚喜發(fā)掘出潛在需求,例如該學(xué)生本來對文學(xué)作品不太感興趣,對推薦結(jié)果中的書名《盜墓筆記》產(chǎn)生一點點興趣,他開始去嘗試,結(jié)果使他喜歡上了小說,從而獲得驚喜。然后是在校期間,這個時間段還會繼續(xù)細(xì)分成開學(xué)前、期中和期末,同時要根據(jù)安排加入社會考試時期,如四六級、計算機二級等。在開學(xué)前(期末),就推薦課本包,將本(下)一學(xué)期要用到的課本打包推薦給用戶,同時要對本(下)學(xué)期有社會考試的同學(xué)進行相關(guān)題庫復(fù)習(xí)資料的推薦;在期中時則對有期中考試的同學(xué)進行題庫、復(fù)習(xí)資料的推薦;期末同期中類似也是針對考試進行備考資料的推薦。
部分相關(guān)php代碼如下:
?
〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8" /〉
〈title〉推薦規(guī)則3(在選課以及開學(xué)期間推送新學(xué)期所用到的專業(yè)書)
〈/head〉
〈body〉
〈?php
function
function_recommend_rule3(&phpmajor,&$cur_grade,$db)
{
$query="select book_id from major,course,book where major.major_id=phpmajor
andmajor.course_id=course.course_id
andcourse.course_term=cur_grade
andcourse.course_id=book.course_id";
$result=mysqli_query($db,$query);
$num_result=mysqli_num_rows($result);
if($num_result==0)
return;
for($i=0;$i { $row=mysqli_fetch_assoc($result); $output_rcmd_rule3[$i]=$row[‘book_id’]; } mysqli_free_result(result); return output_rcmd_rule3; } ?〉 〈/body〉 ? 3.4 算法檢驗結(jié)果分析 為了驗證新設(shè)計的算法的性能,采用對比應(yīng)用傳統(tǒng)基于物品的推薦算法Item-Based Method以及Item-Based Collaborative Filtering Recommendation Algorithms這兩種算法與應(yīng)用設(shè)計后的算法的推薦結(jié)果指標(biāo)的方法。采用本校信息學(xué)院各專業(yè)學(xué)生作為測試數(shù)據(jù)集,推薦指標(biāo)采用準(zhǔn)確P[1]率和平均購書時間Ta。其中測試平均購書時間的數(shù)據(jù)集為4個專業(yè)隨機挑選的5名學(xué)生,分別為:電氣專業(yè)1名(男),大三;通信專業(yè)2名(男、女)大三;自動化專業(yè)1名(男),大二;電子專業(yè)1名(女)大一。測量準(zhǔn)確率的數(shù)據(jù)集為隨機抽取購書學(xué)生50名通過走訪各班,以問卷調(diào)查方式得出其對推薦欄書的滿意度。 測試方法為線下本地測試。在同學(xué)有較大購書需求的學(xué)期初,通過邀請本學(xué)院不同學(xué)生(數(shù)據(jù)集上文已介紹),先使用傳統(tǒng)推薦算法進行本地運行,使學(xué)生進行購書行為,利用后臺記錄其操作數(shù)據(jù),并發(fā)放問卷對第一次滿意度和準(zhǔn)確率進行調(diào)查;再加入新的推薦算法再次使同一用戶進行購書行為,記錄其操作數(shù)據(jù),發(fā)放問卷調(diào)查第二次滿意度及準(zhǔn)確率。 平均購書時間Ta:該指標(biāo)為檢測新算法的加入是否提高了用戶的購書效率,計算公式為 (5) 式中:T為用戶從登錄購物網(wǎng)頁到完成下單操作所使用的全部時間;n為該用戶購買書籍的本書。 準(zhǔn)確率:推薦列表中用戶喜歡的產(chǎn)品和所有被推薦產(chǎn)品的比率,計算方法為 (6) 式中:Nrs推薦內(nèi)容中用戶喜歡的產(chǎn)品個數(shù);Nr用戶喜歡的所有產(chǎn)品的個數(shù);Ns為所有被推薦產(chǎn)品的個數(shù)。 從圖6中數(shù)據(jù)可以看出單純使用基于物品的推薦算法Item-Based Method以及Item-Based Collaborative Filtering Recommendation Algorithms的算法用戶平均購買時間絕大部分是要高于加入新算法后用戶平均購買時間的,可以反映出用戶購書效率有了一定程度的提高。 從圖7中可以得出,準(zhǔn)確率在加入新的算法后有了一定程度的提升,而在用戶購買書本較少時由于推薦書本數(shù)一般大于用戶購買數(shù),所以導(dǎo)致準(zhǔn)確率較低;當(dāng)用戶購買的書本在5~6本時準(zhǔn)確率最高,此時推薦滿意度最好;當(dāng)購買書籍超過6本后準(zhǔn)確率變化不大,維持在一個恒定水平。由于購書用戶通常一次購買書籍不超過10本所以沒有測得當(dāng)用戶一次購書超過10本的數(shù)據(jù)。同時課本打包推薦的加入也極大的提高了推薦的準(zhǔn)確率。 圖6 平均購書時間Ta前后對比圖7 準(zhǔn)確率隨購買本書變化及前后對比圖 針對推薦引擎直接應(yīng)用普通推薦算法不能很好地滿足大學(xué)校園二手書交易平臺推薦需求這一問題,提出了應(yīng)用結(jié)合新舊因子的推薦、基于評分機制的推薦,增加打包推薦功能以及采用基于時間節(jié)點的推薦的方法。結(jié)合新舊因子的方法將所售書籍中成色較好的優(yōu)先推薦給用戶;引入評分機制后可以將大多數(shù)用戶評價較高的書籍推薦給用戶;增加一鍵購書功能后可以使用戶更方便更快捷地完成購物;應(yīng)用基于時間節(jié)點的推薦算法[16]后使推薦結(jié)果更加貼近用戶群體(大學(xué)生)的學(xué)習(xí)、生活,能及時滿足用戶的購書需求。通過對用戶購買數(shù)據(jù)的統(tǒng)計,以準(zhǔn)確率和平均購買時間為評價指標(biāo),得出的結(jié)果顯示此次算法的改進進一步提高了推薦引擎的推薦質(zhì)量。以上方法的使用極大地優(yōu)化了二手書交易平臺的推薦功能,使用戶有了更好的使用體驗,為大學(xué)校園二手書交易發(fā)展提供了推動力。 而在本次研究應(yīng)用中,由于學(xué)生購書本書一般不超過10本,故所獲得數(shù)據(jù)缺乏購書本書更多的數(shù)據(jù),不能進一步驗證當(dāng)一次性購書較多時本系統(tǒng)對推薦準(zhǔn)確率和效率的影響;而當(dāng)購書本書較少時,由于推薦本書較多,所以準(zhǔn)確率會偏低,這也是未解決的問題之一。希望后續(xù)工作者能研究解決。 [1] 王國霞,劉賀平.個性化推薦系統(tǒng)綜述[J].計算機工程與應(yīng)用,2012(7):66-76. [2] Resnick P,Iacovou N,etal. GroupLens: an open architecture for collaborative filtering of netnews[C]// Proceedings of the 1994 ACM con-Ference on Computer Supported Cooperative Work.ChapelHill,NorthCarolina,UnitedStates,October 22-26,1994. [3] Adomavicius G,Sankaranarayanan R,Shahana S,etal.Incorpo-rating contextual information in recommendation systems using a multidimensional approach[J].ACM Transactions on Infor- mation Systems,2005,23(1):103-145. [4] Weng S S,Lin B S,Chen W J.Using contextual information and multidimensional approach for recommendation[J].ExpertSystem with Applications,2009(36):1268-1279. [5] 劉 瑋.電子商務(wù)系統(tǒng)中的信息推薦方法研究[J].情報科學(xué),2006, 24(2):300-303. [6] Zhao Jinghe,Liu Guiquan.Automatic modeling based on interest clustering[J].AI Commun,2001,14(3):129-147. [7] Zhang Yulian,Wang Quan.User profile mining of combining Web behavior and content analysis[J].New Technology of Library and Information Service,2007(6):52-55. [8] 查大元. 個性化推薦系統(tǒng)的研究和實現(xiàn)[J]. 計算機應(yīng)用與軟件, 2011,28(1): 47-49,98. [9] Zhou T C, Ma H, King I,etal. UserRec: A user recommendation framework in social tagging systems[C]//In: Proc. of the 24th AAAI Conf. on Artificial Intelligence. AAAI Press, 2010. 1486-1491. [10] Wu L, Chen EH, Liu Q,etal. Leveraging tagging for neighborhood-aware probabilistic matrix factorization. In: Proc. of the ACM Int’l Conf. on Information and Knowledge Management. ACM Press, 2012. 1854-1858. [doi: 10.1145/ 2396761.2398531] [11] 項 亮.推薦系統(tǒng)實踐[M].北京:人民郵電出版社,2012. [12] Luke Welling,Laura Thomson.PHP和MySQL Web開發(fā)[M].北京:機械工業(yè)出版社,2009. [13] 許海玲.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報,2009,20(2): 350-362. [14] Liu Q, Chen EH, Xiong H,etal. Enhancing collaborative filtering by user interests expansion via personalized ranking[J]. IEEE Trans on Systems, Man and Cybernetics—B, 2012,42(1):218-233. [doi: 10.1109/TSMCB.2011.2163711] [15] Li B, Zhu XQ, Li RJ,etal. Cross-domain collaborative filtering over time[C]//In: Proc. of the 22nd Int’l Joint Conf. on Artificial Intelligence. IJCAI/AAAI Press, 2011. 2292-2298. [doi: 10.5591/978-1-57735-516-8/IJCAI11-382] [16] 孫光福, 吳 樂, 劉 淇, 等.基于時序行為的協(xié)同過濾推薦算法[J].軟件學(xué)報,2013,24(11):2721-2733. Design and Implementation of Recommendation Engine Based on University Campus’ Used Book Shopping Network DINGYi,SHENGZhirong,XIEYinghua (School of Information Science and Technology, Donghua University, Shanghai 201620, China) College used book trade is different from the general online shopping. Recommendation engine applied common recommendation algorithm cannot be very good to recommend. In order to make students’ used book shopping site better to recommend books to users, to improve the accuracy of the results and the efficiency of recommendation, based on the original recommendation module, the paper proposed a suitable mode for shopping website of used books recommendation engine with an optimal recommendation algorithm module. The new algorithm module has the following characteristics: (1) Based on the items of the recommendation algorithm, books’ scores and "old and new" factors are taken into consideration to optimize recommendation results; (2) For the convenience of users purchase, a new packaged recommendation function is added, so users can buy the required books by pushing one key; (3) According to the fact that the needs of students can be predicted, the recommendation algorithm was designed based on time nodes. recommendation algorithm; scoring mechanism; “old and new” factors; packaged recommendation function; time-based 2016-08-22 丁 一(1994-),男,河北張家口人,本科生,主要研究方向:數(shù)據(jù)挖掘。Tel.:18818010121;E-mail:200188881@qq.com 謝穎華(1972-),女,上海人,碩士,副教授,主要研究方向:大數(shù)據(jù)。Tel.:13701773541;E-mail:yh_xie@dhu.edu.cn TP 39 A 1006-7167(2017)05-0148-064 結(jié) 語