999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于本體查詢的圖書推薦方法研究

2017-09-23 15:28:26任武
新世紀圖書館 2017年9期

任武

摘 要 論文從高校圖書館讀者借閱記錄出發,分析讀者的借閱行為,獲取讀者的閱讀偏好值,用于構建讀者偏好的本體模型。通過制定本體推理規則,完善已建立的本體模型。并通過程序腳本將SPARQL書目查詢結果推薦給讀者,從而實現圖書館的個性化推薦服務。實驗表明該方法具有一定的可行性和應用價值。

關鍵詞 本體 個性化推薦 讀者偏好

分類號 G252.1

The Application of Book Recommendation Based on Ontology Queries

Ren Wu

Abstracts This paper utilizes ontology technology and its application in analysis of reader borrowing behaviors and the reader's reading preference for constructing reader's preference ontology model, as well as using ontology reasoning rules to realize the dynamic renewal of the Ontology model, and pushing SPARQL query results to readers by using the script program. Experiments show it is feasible and has certain practical application value.

Keywords Ontology. Personalized recommendation. Reader preference.

0 引 言

隨著信息化時代的到來,圖書館的職能逐漸轉變為“以用戶為中心”的服務模式。如何為廣大師生提供個性化和深層次的書目推薦服務,成為高校圖書館面臨的一個突出問題。書目推送服務需要根據讀者的借閱和檢索記錄,分析讀者的潛在需求和閱讀偏好。由于在聯機公共查詢目錄OPAC系統中存在大量的讀者借閱和檢索信息,能充分揭示讀者對館藏資源的使用情況,因此,對OPAC系統中讀者行為數據的收集和挖掘利用,成為高校圖書館快速建立讀者書目推薦服務的一種有效途徑。

目前,數字圖書館個性化推薦服務已有很多研究成果報道[1-3],根據實現技術的不同,分為基于內容的推薦、基于協同過濾的推薦以及混合推薦等方法?;趦热莸耐扑]需要比較讀者興趣模型與項目內容特征向量之間的相似性;基于協同過濾的推薦則需要計算讀者之間的相似程度,只對讀者閱讀行為和特征進行分析,具有較低的計算復雜度和較高的挖掘質量。

基于本體的用戶建模和檢索是近年來圖書館的研究熱點[4-5],但將本體技術的書目應用于推薦方面的研究還很缺乏[6]。由于本體技術作為語義網的核心,具有良好的概念層次、賦值機制和邏輯推理的功能[7],在個性化的書目信息推薦中具有良好的應用前景。本文在現有的研究方法基礎上,采用用戶協同過濾和本體查詢相結合的方法,挖掘高校圖書館讀者的借閱行為數據,構建書目資源實例與讀者借閱情況的映射關系,通過語義關聯查詢的方式將書目推送給讀者,從而實現個性化服務的目的。

1方法和步驟

1.1 總體流程

本文提出的圖書協同推薦和本體查詢結合方法的總體流程如圖1 所示。

圖1的方法流程主要包括三個步驟:①從OPAC讀者借閱圖書的記錄中構建讀者與圖書的向量空間模型,根據讀者相似度進行聚類并提取讀者偏好值; ②根據讀者偏好的書目資源和讀者基本信息建立本體模型,以RDF三元組的形式存儲;③系統通過Jena rules對新增的本體實例進行推理,并更新生成的本體模型。通過SPARQL查詢本體庫的方式,將獲取的數據以JSON格式返回給JQuery程序,并以網頁的形式推薦給讀者。

1.2數據統計和聚類分析

數據源來自圖書館OPAC的管理系統。在基于關系模型設計的數據庫中,每種圖書對應一條MARC記錄。MARC作為機讀編目格式的一種通訊標準,保存了書目的詳細數據,由于MARC格式不利于檢索,OPAC管理系統設計了書目記錄對MARC格式的相關字段進行映射,因此可以從現有的書目表格中提取相關的字段記錄。

立信圖書館的OPAC系統采用的是圖創的Interlib管理軟件,ORACLE數據庫結構。每條書目包含傳統的MARC數據具有的書目信息,自動從網上獲取的圖書封面、互動標簽等內容[8]。主要的數據表包括READER (讀者表),HODING(館藏信息),LOAN_WORK(在借記錄),LOG_CIR(借閱歷史記錄),BIBLIOS(書目信息表),COMMEND(書目預定表)等。通過逆向工程獲取實體關系E-R模型,部分表之間的主外鍵關系如圖2所示。根據顯示的字段和表的連接,去除圖書館業務數據中與數據挖掘不相關的冗余項,編寫相關的SQL語句進行數據的提取、篩選、合并以及轉換等操作。

提取的信息包括書目表(書目記錄號、書名、中圖分類號、索書號、作者、版本、出版社、館藏地),讀者表(讀者證號、姓名、專業、讀者類型、學歷、證件啟用日、證件終止日)以及讀者借閱表(讀者證號、書目記錄號、借閱時間、續借時間、歸還時間)等數據記錄。其中,索書號由分類號和種次號組成,讀者借閱表的讀者證號和書目記錄號作為外鍵分別與讀者表和書目表中的字段相對應。

通過編寫程序循環提取圖書館借閱時間為2015-2016年的借閱數據。圖3顯示讀者數據表的轉換。根據讀者表和借閱表中的記錄,計算借閱天數和續借天數,聚類形成讀者的借閱偏好和有共同偏好的用戶記錄。endprint

圖3 讀者借閱統計轉換表

為了比較讀者借閱偏好的相似性,將讀者與圖書的關系表示成為一個二維的矩陣,行向量代表某個讀者對各圖書的偏好值,列向量代表不同讀者對某一圖書的偏好值。如表1所示。

通過讀者對圖書的預訂、借閱時間和續借時間的長短,獲取該讀者對該圖書的偏愛程度。保存圖書的時間越長,表明讀者對該類書籍的興趣越大[9]。因此可以利用這部分數據來代替讀者的主觀偏好程度。使用向量模型來描述讀者興趣,通過公式1計算相應的偏好值,填入表1中。

其中,

公式1主要依據讀者訪問圖書資源的預訂、借閱天數以及續借天數確定。其中Rj表示第j個圖書資源,Pref(Ui,Rj) 表示Ui借閱Rj時的偏好值,設置Reservationk(Ui,Rj) 取布爾值1或0,分別表示是否預定過該本圖書資源。BorrowTime(Ui,Rj) 和RenewTime(Ui,Rj) 分別表示Ui借閱和續借Rj的天數,MaxBorrowTime(Ui)和MaxRenewTime(Ui) 分別表示Ui擁有的最大借閱天數和續借天數的權值,在公式1中,當出現借閱或續借時間大于規定的最大時間時,兩者的比值取為1;讀者借閱行為權重的貢獻大小不同,續借3 預約1=借閱2,例如依次取值為0.4、0.3和0.3。將每行讀者偏好值按大小排序,將排列在前的記錄保存為“有借閱偏好”,對應的借閱信息存入讀者本體記錄中。

將表1所得到的數據引入聚類分析的k均值算法程序,對閱讀偏好相似的讀者進行聚類處理,得到當前讀者所屬分類里的所有讀者所借閱的圖書,根據這些圖書的借閱量對圖書進行排序并且排除當前讀者已經借閱過的圖書,寫入本體的讀者偏好的記錄中,將同一簇的讀者記錄作為有共同偏好的本體類中,值為聚類分析的結果。

1.3構建讀者偏好本體模型

讀者偏好本體模型包括讀者類、借閱記錄類、書目類、讀者偏好類和部門類等,類的屬性可基本采用關系數據庫表的字段:根據關系表的依賴關系設置類中對象屬性的值域與定義域,數據屬性的值域設置為關系表格中對應字段類型。本體概念模型中的每一個類都是一個概念節點,從數據源中自動提取對象實例和對象間關系,關系表的內容作為實例(Individual)由程序導入到本體模型中。本體的構建包括讀者和圖書的基本信息,描述讀者的借閱偏好的屬性,以及對圖書推薦有作用的概念。

主要概念(Classes):Book(圖書)、BorrowRecord(借閱記錄)、Reader(讀者)、BorrowPreference(借閱偏好)、Department(讀者部門)、Review(書評)…

對象屬性(Object Properties): hasBorrowRecord (有借閱記錄)、hasBookBorrow (有借閱書目)、hasBookRecord(有相關圖書)、hasBorrowPreference(有借閱偏好)、hasSimilarPreference(有共同偏好)、hasReviewof(有書評)、hasDepartment(讀者所在部門)、hasRecommandBook(有推薦的圖書)…

數據屬性(Data Properties): bookISBN(ISBN)、 bookNo(圖書編號)、dayofBorrow(借閱天數)、freqofBorrow(借閱頻次)、preferenceValue(讀者偏好值)、publisher(出版社)、readerNo(讀者編號)、dayofRenew(續借天數)、reservation(預訂圖書)、yearofPublication(出版年份)…

部分對象屬性的關系表示為:

( hasBorrowRecord) = {}

(hasBorrowinBook) = {}

(hasBorrowPref) = {}

(hasSimilarPreference) = {}

(hasDepartment) = {}

(hasRecommandBook) = {} …

將上述本體詞匯保存在ReaderBook.rdf中,以RDF/XML格式保存,定義命名空間前綴為 lx: http:// semantic.lixin.edu.cn/ReadBook#。

在定義上述本體類及對象屬性和數據屬性的基礎上,分析各類資源之間的語義關聯,得到如圖 4所示的關系圖,其中用實線表示明確的關系,用虛線表示經過推理得到的語義關聯。

1.4推理規則的制定

本文在Jena Eclipse開發環境下采用Jena推理機定義的規則形式編寫規則[10],類和方法主要在com.hp.hpl.jena包,編寫的規則保存在項目的 rules文件中,推理機通過綁定這些規則并對本體模型進行推理,并將推理后的生成結果重新寫入到ReaderBook.rdf本體模型中,從而實現本體模型的動態更新。

Rule1: [( ?a lx:hasBorrowPreference ?c ), ( ?b lx: hasBorrowPreference ?c ), not Equal( ?a, ?b ) → ( ?a lx: hasSimilarPreference ?b )]

規則 1:如果讀者a 和讀者b都對資源c有借閱偏好,則讀者a和b有共同偏好。

Rule2: [( ?a lx:hasSimilarPreference ?b ), ( ?a lx: hasBorrowRecord ?c ), ( ?b lx:hasBorrowRecord ?d ), not Equal(?c, ?d) → ( ?a lx: hasRecommandBook ?d ), (?b lx: hasRecommandBook ?c )]

規則2:如果讀者a與讀者b有共同偏好,a的借閱記錄是圖書c,b 的借閱記錄是圖書d,而且 c與d不同,那么將c推薦給b,將d推薦給a。在Java中實現簡單推理的部分代碼如下:

Model data = ModelFactory.createDefaultModel();

data.read ( new FileInputStream ( new File ( "ReaderBook.rdf")),"");

Reasoner reasoner1 = new GenericRuleReasoner (Rule.parseRules( rule1 ));

Reasoner reasoner2 = new GenericRuleReasoner (Rule.parseRules( rule2 ));

1.5語義關系查詢

采用Jena開發包,Jena支持的搜索與推理功能由SPARQL信息搜索語言實現。查詢RDF格式返回給調用程序,調用程序以JSON格式輸出,返回給指定頁面的腳本程序。以 RDF三元組語義數據信息來描述SPARQL查詢語法,比如查詢所有館藏的計算機網絡的書籍編號:

String queryStr="PREFIX lx:

"lixin.edu.cn/ReaderBook/> " +

"SELECT DISTINCT ?x ?sn WHERE { ?x lx: bookISBN ?sn; lx: hasTitle ? title. " +

" FILTER regex(str(? title) ,"計算機網絡")}";

InfModel inf =

ModelFactory. createInfModel(reasoner,model);

Query query=QueryFactory.create(queryStr);

ResultSet rs = QueryExecutionFactory.create(query,inf).execSelect();

在以下檢索中需要用到推理,利用推理規則1和規則2,然后將獲取的數據格式化為JSON數據。

查詢1:查詢向讀者號為“151080”的讀者推薦的所有圖書名稱,每本圖書借閱次數不少于3次。

SELECT ?title

WHERE { ?x rdf:type lx:reader.

?x lx:readNo "151080".

?x lx:hasRecommendBook ?book.

?book lx:hasTitle ?title.

?book lx:FreqofBorrow ?freq.

FILTER( ?freq >=3) }

ORDER BY DESC(? freq )

查詢2:輸出與讀者號為“151080”有共同偏好的并在同一個部門的讀者所推薦的書籍名稱和編號。

SELECT ?title, ?sn

WHERE { ?x rdf:type lx:reader;lx:readNo "151080".

?x lx:hasDepartment ?dept1.

?x lx: hasSimilarPreference ?y.

?y foaf:name ?name.

?y lx:hasDepartment ?dept2;

lx:hasRecommendBook ?book.

?book lx: bookISBN ?sn; lx: hasTitle ? title.

FILTER( ?dept1 = ?dept2 )}

讀者通過簡單的OPAC查詢難以構建復雜的查詢,而在本體系統中,本體的類和實例通過屬性描述關聯在一起,檢索過程可以通過概念和語義間的匹配實現復雜的語義查詢,而本體的推理規則通過對讀者查詢的語義推理,完成對蘊含信息的檢索,因此語義的個性化推薦能夠比較容易的實現各種組合查詢的目的。圖5為讀者登錄后,系統提供的相似讀者的協同推薦及同一部門讀者推薦的書目顯示效果。

2討論

2.1關于關系表的轉換

在獲取底層數據結構時,從OPAC系統提取相關字段構建新的二維表,這個過程可能造成部分表之間的關聯缺失,因此需要進行手工的調整。在設計本體的基本類時,可以考慮結合開源軟件D2RQ將關系表轉換為 RDF 三元組,為此需要將對應的隱性約束轉化為明確的主外鍵的關聯,如下式所示:

# Foreign keys for table book

ALTER TABLE "book"

ADD CONSTRAINT "book_ibfk_1" FOREIGN KEY ( "readerNo" ) REFERENCES "reader " ( "readerNo " );

# Foreign keys for table reader

ALTER TABLE "reader ".

ADD CONSTRAINT "reader_ibfk1" FOREIGN KEY ( "deptID" ) REFERENCES "department " ( " deptID " );

2.2語義方面的查詢

目前,圖書館在個性化推薦方面運用本體推薦的方法較少,在查詢方面主要是以關鍵詞為單位進行查詢,在用戶和資源信息的描述方面,缺乏語義的關聯,容易造成語義信息的缺失。本體通過規范化描述概念、術語,形式化定義某一領域的相關概念間的關系,描述出相關知識結構和規范。因而具有較完整的概念層次描述,及對邏輯推理的支持,完善本體中的關系描述,通過構建本體模型可以較好解決資源描述不足的問題。

借助于本體的語義層次,以及SPARQL語言的強大功能,通過SPARQL查詢的方式進行個性化推薦服務,本文在這方面做了初步的探討:從讀者OPAC的借閱數據出發,構建讀者偏好本體和通過本體推理完善本體模型,并采用腳本語言將SPARQL查詢結果反饋到讀者的登錄頁面,從而實現讀者的個性化推薦服務。實驗表明該方法具有一定的可行性和應用價值。

2.3需要完善的方面

目前的個性化推薦方法已經有很多相關的研究成果,如何將現有的研究方法與本文的方法進行比較,以及如何將較為成熟的推薦方法應用到本文的本體模型中,將是我們下一步的工作。同時考慮到SPARQL語句對于普通的用戶,需要開發基于本體的字段檢索界面,系統提供SPARQL查詢模板,將讀者查詢填寫的字段,自動嵌入到對應模板的相應槽中生成完整的SPARQL語句。因此,在推薦算法的實現和用戶界面的統一性方面,還需要進一步的工作和完善。

參考文獻:

[1] CRESPO R G,MARTINEZ O S.Recommendation System Based on User Interaction Data Applied to Intelligent Electronic Books [J].Computers in Human Behavior,2011,27(4):1445-1449.

[2]TSUJI K,TAKIZAWA N,SATO S,et al.Book recommendation based on library loan records and bibliographic information[J].Social and Behavioral Sciences,2013(147):478-486.

[3]奉國和,梁曉婷.協同過濾推薦研究綜述[J].圖書情報工作,2011(16):126-130.

[4]袁靜.基于本體的數字圖書館個性化服務研究 [J].圖書館建設,2009(1):66-69.

[5]李志隆,王道平,關忠興.基于領域本體的用戶興趣模型構建方法研究[J].情報科學,2015(11): 69-73.

[6]鄭美玉.基于本體論的高校圖書館個性化書目推送系統[J].圖書情報工作,2010(11): 108-11 ,135.

[7]白海燕,喬曉東.基于本體和關聯數據的書目組織語義化研究[J].現代圖書情報技術,2010(9): 18-27.

[8]李田章.基于Mashup模式的OPAC資源整合:以整合豆瓣網圖書封面為例[J].圖書館論壇,2011(5): 119-121.

[9]邱均平,張聰.高校圖書館館藏資源協同推薦系統研究[J].圖書情報工作,2013(22):132-137.

[10] APACHE.Apache Jena [EB/OL].[2016-10-20]. http://jena.apache.org/index.html.

任 武 上海立信會計金融學院工程師。 上海,200000。

(收稿日期:2016-- 編校:方瑋)endprint

主站蜘蛛池模板: 五月婷婷丁香综合| 一级毛片免费的| 国产精品太粉嫩高中在线观看| AV色爱天堂网| 国产熟女一级毛片| 国产成人亚洲欧美激情| 真实国产乱子伦视频| 伊人久综合| 国产人妖视频一区在线观看| 精品一区二区三区自慰喷水| 国产精品分类视频分类一区| 精品国产美女福到在线直播| 91在线精品免费免费播放| 亚洲国产日韩在线成人蜜芽| 伊人色婷婷| 色综合色国产热无码一| 国产区人妖精品人妖精品视频| 成年人国产网站| 手机成人午夜在线视频| 六月婷婷激情综合| 欧美区国产区| 韩国v欧美v亚洲v日本v| 亚洲黄色片免费看| 久久久精品无码一区二区三区| 67194成是人免费无码| 中文字幕亚洲第一| 欧美日韩国产在线观看一区二区三区| 香蕉久久永久视频| 精品久久国产综合精麻豆| 欧美成人第一页| 国产精品香蕉| 97国产精品视频人人做人人爱| 国产午夜一级毛片| 中国国产A一级毛片| 免费人成网站在线观看欧美| 精品国产污污免费网站| 2019年国产精品自拍不卡| 国产精品专区第一页在线观看| 亚洲成人手机在线| 成人在线视频一区| 日本一本在线视频| 综合五月天网| 欧美爱爱网| 精品無碼一區在線觀看 | 香蕉伊思人视频| 99视频在线精品免费观看6| 呦视频在线一区二区三区| 亚洲第一区在线| 精品国产电影久久九九| 成年av福利永久免费观看| 久久久久中文字幕精品视频| 二级毛片免费观看全程| 中文字幕永久视频| 在线中文字幕网| 欧美一区二区啪啪| 少妇人妻无码首页| 国产午夜精品鲁丝片| 精品福利网| 国产小视频在线高清播放| 国产一区二区三区日韩精品 | 好吊日免费视频| 日韩精品免费在线视频| 日韩精品亚洲一区中文字幕| 啪啪永久免费av| 热这里只有精品国产热门精品| 成AV人片一区二区三区久久| 一级毛片在线播放| 欧美色亚洲| 免费AV在线播放观看18禁强制| 久久99热66这里只有精品一| 日韩在线永久免费播放| 国产美女精品人人做人人爽| 婷婷六月激情综合一区| 国产一区二区三区免费观看| 国产一区二区三区在线观看视频| 午夜日b视频| 美女啪啪无遮挡| 91精品国产综合久久香蕉922| 青青热久免费精品视频6| 99re在线免费视频| 成人一区在线| 亚洲激情99|