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

?

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

2017-09-23 15:28:26任武
新世紀(jì)圖書館 2017年9期
關(guān)鍵詞:個(gè)性化推薦本體

任武

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

關(guān)鍵詞 本體 個(gè)性化推薦 讀者偏好

分類號 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 引 言

隨著信息化時(shí)代的到來,圖書館的職能逐漸轉(zhuǎn)變?yōu)椤耙杂脩魹橹行摹钡姆?wù)模式。如何為廣大師生提供個(gè)性化和深層次的書目推薦服務(wù),成為高校圖書館面臨的一個(gè)突出問題。書目推送服務(wù)需要根據(jù)讀者的借閱和檢索記錄,分析讀者的潛在需求和閱讀偏好。由于在聯(lián)機(jī)公共查詢目錄OPAC系統(tǒng)中存在大量的讀者借閱和檢索信息,能充分揭示讀者對館藏資源的使用情況,因此,對OPAC系統(tǒng)中讀者行為數(shù)據(jù)的收集和挖掘利用,成為高校圖書館快速建立讀者書目推薦服務(wù)的一種有效途徑。

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

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

1方法和步驟

1.1 總體流程

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

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

1.2數(shù)據(jù)統(tǒng)計(jì)和聚類分析

數(shù)據(jù)源來自圖書館OPAC的管理系統(tǒng)。在基于關(guān)系模型設(shè)計(jì)的數(shù)據(jù)庫中,每種圖書對應(yīng)一條MARC記錄。MARC作為機(jī)讀編目格式的一種通訊標(biāo)準(zhǔn),保存了書目的詳細(xì)數(shù)據(jù),由于MARC格式不利于檢索,OPAC管理系統(tǒng)設(shè)計(jì)了書目記錄對MARC格式的相關(guān)字段進(jìn)行映射,因此可以從現(xiàn)有的書目表格中提取相關(guān)的字段記錄。

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

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

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

圖3 讀者借閱統(tǒng)計(jì)轉(zhuǎn)換表

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

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

其中,

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

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

1.3構(gòu)建讀者偏好本體模型

讀者偏好本體模型包括讀者類、借閱記錄類、書目類、讀者偏好類和部門類等,類的屬性可基本采用關(guān)系數(shù)據(jù)庫表的字段:根據(jù)關(guān)系表的依賴關(guān)系設(shè)置類中對象屬性的值域與定義域,數(shù)據(jù)屬性的值域設(shè)置為關(guān)系表格中對應(yīng)字段類型。本體概念模型中的每一個(gè)類都是一個(gè)概念節(jié)點(diǎn),從數(shù)據(jù)源中自動提取對象實(shí)例和對象間關(guān)系,關(guān)系表的內(nèi)容作為實(shí)例(Individual)由程序?qū)氲奖倔w模型中。本體的構(gòu)建包括讀者和圖書的基本信息,描述讀者的借閱偏好的屬性,以及對圖書推薦有作用的概念。

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

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

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

部分對象屬性的關(guān)系表示為:

( hasBorrowRecord) = {}

(hasBorrowinBook) = {}

(hasBorrowPref) = {}

(hasSimilarPreference) = {}

(hasDepartment) = {}

(hasRecommandBook) = {} …

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

在定義上述本體類及對象屬性和數(shù)據(jù)屬性的基礎(chǔ)上,分析各類資源之間的語義關(guān)聯(lián),得到如圖 4所示的關(guān)系圖,其中用實(shí)線表示明確的關(guān)系,用虛線表示經(jīng)過推理得到的語義關(guān)聯(lián)。

1.4推理規(guī)則的制定

本文在Jena Eclipse開發(fā)環(huán)境下采用Jena推理機(jī)定義的規(guī)則形式編寫規(guī)則[10],類和方法主要在com.hp.hpl.jena包,編寫的規(guī)則保存在項(xiàng)目的 rules文件中,推理機(jī)通過綁定這些規(guī)則并對本體模型進(jìn)行推理,并將推理后的生成結(jié)果重新寫入到ReaderBook.rdf本體模型中,從而實(shí)現(xiàn)本體模型的動態(tài)更新。

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

規(guī)則 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 )]

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

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語義關(guān)系查詢

采用Jena開發(fā)包,Jena支持的搜索與推理功能由SPARQL信息搜索語言實(shí)現(xiàn)。查詢RDF格式返回給調(diào)用程序,調(diào)用程序以JSON格式輸出,返回給指定頁面的腳本程序。以 RDF三元組語義數(shù)據(jù)信息來描述SPARQL查詢語法,比如查詢所有館藏的計(jì)算機(jī)網(wǎng)絡(luò)的書籍編號:

String queryStr="PREFIX lx:

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

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

" FILTER regex(str(? title) ,"計(jì)算機(jī)網(wǎng)絡(luò)")}";

InfModel inf =

ModelFactory. createInfModel(reasoner,model);

Query query=QueryFactory.create(queryStr);

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

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

查詢1:查詢向讀者號為“151080”的讀者推薦的所有圖書名稱,每本圖書借閱次數(shù)不少于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”有共同偏好的并在同一個(gè)部門的讀者所推薦的書籍名稱和編號。

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查詢難以構(gòu)建復(fù)雜的查詢,而在本體系統(tǒng)中,本體的類和實(shí)例通過屬性描述關(guān)聯(lián)在一起,檢索過程可以通過概念和語義間的匹配實(shí)現(xiàn)復(fù)雜的語義查詢,而本體的推理規(guī)則通過對讀者查詢的語義推理,完成對蘊(yùn)含信息的檢索,因此語義的個(gè)性化推薦能夠比較容易的實(shí)現(xiàn)各種組合查詢的目的。圖5為讀者登錄后,系統(tǒng)提供的相似讀者的協(xié)同推薦及同一部門讀者推薦的書目顯示效果。

2討論

2.1關(guān)于關(guān)系表的轉(zhuǎn)換

在獲取底層數(shù)據(jù)結(jié)構(gòu)時(shí),從OPAC系統(tǒng)提取相關(guān)字段構(gòu)建新的二維表,這個(gè)過程可能造成部分表之間的關(guān)聯(lián)缺失,因此需要進(jìn)行手工的調(diào)整。在設(shè)計(jì)本體的基本類時(shí),可以考慮結(jié)合開源軟件D2RQ將關(guān)系表轉(zhuǎn)換為 RDF 三元組,為此需要將對應(yīng)的隱性約束轉(zhuǎn)化為明確的主外鍵的關(guān)聯(lián),如下式所示:

# 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語義方面的查詢

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

借助于本體的語義層次,以及SPARQL語言的強(qiáng)大功能,通過SPARQL查詢的方式進(jìn)行個(gè)性化推薦服務(wù),本文在這方面做了初步的探討:從讀者OPAC的借閱數(shù)據(jù)出發(fā),構(gòu)建讀者偏好本體和通過本體推理完善本體模型,并采用腳本語言將SPARQL查詢結(jié)果反饋到讀者的登錄頁面,從而實(shí)現(xiàn)讀者的個(gè)性化推薦服務(wù)。實(shí)驗(yàn)表明該方法具有一定的可行性和應(yīng)用價(jià)值。

2.3需要完善的方面

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

參考文獻(xiàn):

[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]奉國和,梁曉婷.協(xié)同過濾推薦研究綜述[J].圖書情報(bào)工作,2011(16):126-130.

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

[5]李志隆,王道平,關(guān)忠興.基于領(lǐng)域本體的用戶興趣模型構(gòu)建方法研究[J].情報(bào)科學(xué),2015(11): 69-73.

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

[7]白海燕,喬曉東.基于本體和關(guān)聯(lián)數(shù)據(jù)的書目組織語義化研究[J].現(xiàn)代圖書情報(bào)技術(shù),2010(9): 18-27.

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

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

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

任 武 上海立信會計(jì)金融學(xué)院工程師。 上海,200000。

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

猜你喜歡
個(gè)性化推薦本體
Abstracts and Key Words
對姜夔自度曲音樂本體的現(xiàn)代解讀
基于遠(yuǎn)程教育的個(gè)性化知識服務(wù)研究
東方教育(2016年8期)2017-01-17 19:47:27
基于鏈?zhǔn)酱鎯Y(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計(jì)與實(shí)現(xiàn)
個(gè)性化推薦系統(tǒng)關(guān)鍵算法探討
基于協(xié)同過濾算法的個(gè)性化圖書推薦系統(tǒng)研究
文本數(shù)據(jù)挖掘在電子商務(wù)網(wǎng)站個(gè)性化推薦中的應(yīng)用
商(2016年34期)2016-11-24 16:28:51
無線定位個(gè)性化導(dǎo)覽關(guān)鍵技術(shù)在博物館中的運(yùn)用
《我應(yīng)該感到自豪才對》的本體性教學(xué)內(nèi)容及啟示
專題
延寿县| 伽师县| 托里县| 揭东县| 宁蒗| 北辰区| 禹州市| 扬州市| 高雄市| 梓潼县| 余姚市| 内丘县| 南京市| 清新县| 聂拉木县| 民权县| 武胜县| 南岸区| 丹巴县| 雅安市| 汉寿县| 浪卡子县| 乌苏市| 唐山市| 班玛县| 龙陵县| 高要市| 富裕县| 邮箱| 永城市| 泾川县| 宜都市| 江城| 涡阳县| 河西区| 新蔡县| 盐池县| 南京市| 辛集市| 唐海县| 托克逊县|