国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django框架的智能圖書推薦系統(tǒng)

2018-11-28 05:46:34賈昆霖藍機滿
電子科技 2018年12期
關鍵詞:內核組件可視化

周 君,賈昆霖,藍機滿,宋 艷

(1. 惠州工程職業(yè)學院,廣東 惠州 516001;2. 中南大學 軟件學院,湖南 長沙 410075)

目前,使用傳統(tǒng)管理方法的圖書館面臨著全面的轉型與徹底的變革,全面數(shù)字化和自動化的圖書館管理方法正在逐步取代傳統(tǒng)的圖書館管理技術[1-3]。然而,在轉型過程中最新的管理方法和技術并不一定適應時代與社會的發(fā)展,圖書館管理技術的發(fā)展也需要不斷地進行調整、優(yōu)化與加強。所以,如何設計和實現(xiàn)人性化、智能化的圖書推薦系統(tǒng),成為了眾多高校和科研單位的圖書館關注的問題[4-10]。

為了完成智能圖書推薦系統(tǒng)的設計,本文首先全面分析了圖書推薦系統(tǒng)的設計需求。在此基礎上,以高等院校的歷史借閱信息作為基礎數(shù)據(jù),引入了協(xié)同過濾算法,在Django框架平臺上綜合使用amCharts圖表和D3.js可視化數(shù)據(jù)庫等多種技術,設計了一個具有推薦排行、個性化推薦和數(shù)據(jù)同步等多項功能的智能圖書推薦系統(tǒng)。同時,本文對該系統(tǒng)進行了詳細的測試和驗證。結果表明,該系統(tǒng)的所有功能,包括推薦、數(shù)據(jù)同步、管理和展現(xiàn)等均運行正常,且還具有較好的兼容性和穩(wěn)定性。

1 需求分析

一般而言,一個智能化的圖書推薦系統(tǒng)必須實現(xiàn)4個方面的功能,即系統(tǒng)內核、數(shù)據(jù)同步、前端面板和后臺管理。

1.1 系統(tǒng)內核

圖書推薦系統(tǒng)需要使用具有強大功能的系統(tǒng)內核,完成系統(tǒng)中圖書的分類、排行等多種推薦功能。在本文中,圖書推薦系統(tǒng)的內核需要實現(xiàn)熱門圖書排列、中圖分類排行和智能化推薦。其中,熱門圖書排列功能主要指推薦系統(tǒng)需要精確統(tǒng)計借閱記錄最多的100本圖書,并顯示排序結果;與之類似,中圖分類排行功能是指系統(tǒng)需要將某一類別中借閱記錄最多的10本圖書列舉出來,并顯示該排序結果;智能化推薦功能包括兩方面的內容:(1)系統(tǒng)需要讀取和分析每個用戶的借閱情況,為該用戶推薦個性化的書籍;(2)系統(tǒng)需要對所有用戶進行相似性分析,使用列表為用戶推薦其可能感興趣的書籍。

1.2 數(shù)據(jù)同步

在系統(tǒng)的所有功能中,數(shù)據(jù)同步功能需要實現(xiàn)借閱記錄、用戶信息、圖書信息和數(shù)據(jù)整理存儲等一系列的功能。其中,圖書推薦系統(tǒng)與圖書館信息管理系統(tǒng)保持一致,定期更新所有圖書的借閱記錄和狀態(tài)信息。同時,定期增加圖書館新增用戶的信息,刪除注銷用戶的信息,并將更新后的信息存入推薦系統(tǒng)的關系型數(shù)據(jù)庫中。

1.3 前端面板

在系統(tǒng)的所有功能中,前端面板主要負責展示圖書館的中圖分類示意圖、圖書借閱情況和圖書用戶關系圖。其中,中圖分類示意圖是一種樹狀的圖形。主要展示圖書館藏書的分類和體系,方便讀者的查找與借閱;圖書借閱情況主要展示圖書的總借閱量、借閱記錄、書籍信息等;圖書用戶關系圖主要被用于顯示讀者的借閱記錄、借閱數(shù)量和日志等。

1.4 后臺管理

在圖書推薦系統(tǒng)中,后臺管理的功能主要包括中圖分類、借閱情況、圖書和用戶等項目的管理。其中,中圖分類管理是編輯和查詢館藏圖書的中圖分類信息;借閱情況管理主要是編輯、查詢用戶的圖書借閱信息與記錄。

2 架構設計

針對系統(tǒng)需要實現(xiàn)的所有功能,本文對圖書推薦系統(tǒng)進行總體設計。根據(jù)上面對系統(tǒng)的需求分析,將推薦系統(tǒng)劃分為系統(tǒng)內核、數(shù)據(jù)同步、前端面板和后臺管理4個子模塊。

圖1 圖書推薦系統(tǒng)架構圖

在此架構下,文中引入了基于Python語言開發(fā)的Django應用框架。該框架是一個優(yōu)秀的開源平臺,集合了消息傳遞、系統(tǒng)和用戶管理等多種復用站點組件,減小了系統(tǒng)所需編寫的代碼數(shù)量,并大幅簡化了網(wǎng)站的開發(fā)過程。另外,Django框架還將分離了系統(tǒng)的邏輯實現(xiàn)和前端展示,這進一步提高了系統(tǒng)開發(fā)的代碼編寫速度。

2.1 Django框架

開源的Django框架使用了比較常見的模型-模板-視圖模式,也被稱為MTV模式。使用該模式的目的在于控制系統(tǒng)內多個組件的耦合關系,保證各個組件的設計不影響其他組件的運行。其中,“M”、“T”和“V”分別是“Model”、“Templates”、“Views”的縮寫。在該模式的作用下,Django框架的結構如圖2所示。

圖2 Django框架結構圖

由于Django框架是基于Python語言平臺開發(fā)的,因此Django框架擁有功能多樣的數(shù)據(jù)接口,設計者可以使用ORM機制定義具體的數(shù)據(jù)模型,從而大幅減小了數(shù)據(jù)庫開發(fā)的編程壓力。Django框架使用分發(fā)的方法設計URL映射,避免了系統(tǒng)亂碼的出現(xiàn)。另外,該框架在系統(tǒng)內置的模板中增加了擴展功能,開發(fā)者能夠自主設計頁面樣式、控制等系統(tǒng)的編碼方式。該框架的網(wǎng)絡請求處理,如圖3所示。

圖3 系統(tǒng)的網(wǎng)絡請求處理流程圖

由圖3可知,系統(tǒng)的用戶使用瀏覽器提出網(wǎng)絡請求,mod_python處理器對這些請求進行處理,同時發(fā)送到請求中間設備、URL映射、顯示等設備進行具體處理。無法執(zhí)行的請求提交異常處理中間設備進行判斷,同時反饋給響應中間設備進行處理,再返回到mod_python處理器進行集中處理。

2.2 信息可視化

信息可視化是利用具有交互功能的計算機展示抽象數(shù)據(jù)的過程,這項技術涉及到心理學、語言學和計算機等多門學科,其核心內容主要包括視覺設計與人機交互。在本文中,主要使用了D3.js和amCharts組件完成信息可視化的功能。D3.js組件被廣泛應用于信息可視化的領域中,D3表示“Documents”、“Driven”和“Data”,即文件、驅動與數(shù)據(jù)。D3.js組件能夠將對應的數(shù)據(jù)發(fā)送到文檔對象的模型,進而使用SVG和CSS等多種技術處理這些數(shù)據(jù)完成驅動的轉換,最終實現(xiàn)抽象數(shù)據(jù)的可視化。該種組件具有三個優(yōu)點,即計算資源需求少,運行效率較高、代碼編寫量較少,適用于大規(guī)模數(shù)據(jù)的可視化。

amCharts組件也是一種被廣泛應用的信息可視化組件,是一個可視化的圖標庫,可以使用多樣的形式展示大規(guī)模的數(shù)據(jù)。其形式包括但不限于面積、扇形、柱狀等形狀的圖形。另外,該組件屬于獨立的JavaScript庫,可以利用矢量圖形的技術,完整實現(xiàn)渲染圖標的功能,兼容IE、Opera和Firefox等多種主流瀏覽器。

3 系統(tǒng)實現(xiàn)

在完成圖書推薦系統(tǒng)的設計之后,本文在PyCharm3.0開發(fā)平臺上,使用Python語言完成了具體的編程,從而實現(xiàn)了完整的智能圖書推薦系統(tǒng)。由于前端面板和后臺管理模塊只需要在Django框架上進行簡單的修改,故在此對這兩個模塊的實現(xiàn)不再做詳細介紹,重點敘述系統(tǒng)內核和數(shù)據(jù)同步的實現(xiàn)方法。

3.1 系統(tǒng)內核的實現(xiàn)

在圖書推薦系統(tǒng)中,系統(tǒng)內核即推薦系統(tǒng)引擎,是系統(tǒng)最核心的模塊。系統(tǒng)內核需要處理圖書館中圖書的借閱數(shù)據(jù),從而計算得到面向用戶的推薦信息。本文在系統(tǒng)內核中使用了混合推薦算法,其流程圖如圖4所示。

在圖書推薦系統(tǒng)內核工作時,對沒有借閱數(shù)據(jù)的用戶,協(xié)同過濾和內容過濾的算法均不能較好地發(fā)揮作用,系統(tǒng)將根據(jù)用戶的歸屬信息查詢該用戶所屬單位其他用戶的借閱數(shù)據(jù),得到借閱數(shù)量較多的圖書信息,從而推薦給用戶;對借閱數(shù)據(jù)比較少的用戶,協(xié)同過濾算法難以產生準確地推薦信息,系統(tǒng)內核只能使用基于內容的推薦算法,詳細地分析圖書信息,建立所有圖書的關鍵詞和屬性數(shù)據(jù)庫,并利用大規(guī)模的數(shù)據(jù)分析用戶的借閱習慣,使用余弦相似性的方法計算出相應的推薦信息,完成相應的推薦;對借閱數(shù)據(jù)比較多的用戶,系統(tǒng)便可采用協(xié)同過濾算法計算用戶的推薦信息。一般而言,系統(tǒng)將首先使用Jaccard相似度的方法計算圖書之間的相似度,并根據(jù)相應的計算結果再將相似度較高的圖書推薦給相似度較高的用戶。

圖4 圖書推薦系統(tǒng)內核流程圖

3.2 數(shù)據(jù)同步的實現(xiàn)

根據(jù)系統(tǒng)的需求分析,數(shù)據(jù)同步是指獲取所有圖書的管理信息,從而建立系統(tǒng)的推薦算法的數(shù)據(jù)基礎。在本文中,使用了定時器完成系統(tǒng)的數(shù)據(jù)同步。一般而言,圖書館需要嚴格管理館藏圖書的多種信息,包括還書時間、圖書題名、編號、版本等。以某高校圖書館的信息系統(tǒng)為例,其館藏圖書的部分信息記錄如表1所示。

表1 某高校圖書館的館藏圖書部分信息

根據(jù)以上格式,系統(tǒng)可以精準地獲取所有圖書的準確屬性,這些信息也是系統(tǒng)數(shù)據(jù)同步模塊的操作對象。為了提高數(shù)據(jù)同步的運行效率,系統(tǒng)使用表2的格式采集館藏圖書的屬性信息。

表2 館藏圖書屬性采集格式

此外,本文還引入了新浪云的數(shù)據(jù)庫引擎存儲圖書屬性等數(shù)據(jù)。該數(shù)據(jù)庫引擎是一種分布式的鍵值型引擎,具有海量的存儲空間和快速的讀寫速度,適用于圖書推薦系統(tǒng)的數(shù)據(jù)管理。

4 結束語

為了設計智能化的圖書推薦系統(tǒng),本文全面分析了系統(tǒng)的多項需求,通過引入Django框架和信息可視化等多項技術,設計了一個利用混合推薦算法的推薦系統(tǒng),使用協(xié)同過濾和內容過濾等算法對該系統(tǒng)進行了實現(xiàn)。

猜你喜歡
內核組件可視化
萬物皆可IP的時代,我們當夯實的IP內核是什么?
基于CiteSpace的足三里穴研究可視化分析
無人機智能巡檢在光伏電站組件診斷中的應用
能源工程(2022年2期)2022-05-23 13:51:50
基于Power BI的油田注水運行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
強化『高新』內核 打造農業(yè)『硅谷』
新型碎邊剪刀盤組件
重型機械(2020年2期)2020-07-24 08:16:16
基于CGAL和OpenGL的海底地形三維可視化
U盾外殼組件注塑模具設計
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
基于嵌入式Linux內核的自恢復設計
体育| 庆云县| 怀集县| 卢氏县| 阿拉善右旗| 库伦旗| 额敏县| 浦县| 肥城市| 安平县| 清丰县| 南川市| 泸水县| 措美县| 油尖旺区| 闻喜县| 潢川县| 南召县| 旌德县| 苍南县| 历史| 德庆县| 昌乐县| 德惠市| 浪卡子县| 武胜县| 奉新县| 夏河县| 龙陵县| 林州市| 西贡区| 大余县| 哈巴河县| 三门峡市| 手机| 双城市| 太康县| 思南县| 饶平县| 沅江市| 德庆县|