蘇玉召 (中科院國家科學(xué)圖書館 北京 100190)
牛曉太 趙 妍 (鄭州航空工業(yè)管理學(xué)院 河南鄭州 450015)
隨著網(wǎng)絡(luò)信息技術(shù)和智能軟件技術(shù)的發(fā)展,數(shù)字圖書館服務(wù)質(zhì)量也得到了大幅度提高。一些數(shù)字圖書館網(wǎng)站不但能夠利用網(wǎng)絡(luò)信息技術(shù)提供圖書館員和讀者在線互動(dòng),而且實(shí)現(xiàn)了個(gè)性化推薦服務(wù)。這樣的服務(wù)不但提高了圖書館服務(wù)效率,而且方便了讀者獲取相關(guān)文獻(xiàn)和定期更新的內(nèi)容。這是一種智能服務(wù)系統(tǒng),由系統(tǒng)自動(dòng)將用戶感興趣的圖書、文獻(xiàn)和服務(wù)信息推送給用戶,并以用戶電子郵箱、注冊賬戶頁面和手機(jī)屏幕等方式呈現(xiàn)。同時(shí),這種服務(wù)可以采用商業(yè)化模式運(yùn)行,實(shí)現(xiàn)讀者付費(fèi)方式購買和網(wǎng)絡(luò)下載。記錄了用戶訪問網(wǎng)站過程的查詢、下載和交易等操作信息的Web日志數(shù)據(jù)就是一種這樣的數(shù)據(jù)。[1]通過對(duì)這些數(shù)據(jù)的處理和分析,能為企業(yè)發(fā)展做出正確的決策和預(yù)測提供事實(shí)依據(jù)。同時(shí),個(gè)性化推薦系統(tǒng)實(shí)現(xiàn)了吸引用戶、增加人氣和增值服務(wù)的目標(biāo)。
通常,個(gè)性化推薦系統(tǒng)分為基于規(guī)則過濾、基于內(nèi)容過濾、基于協(xié)作過濾的方法以及這三種方法混合的具有智能性的推薦方法。[2]普通的Web日志格式采集到的數(shù)據(jù)無法滿足用戶分析、預(yù)測和推薦精度的需要,大部分定制專門的Web日志格式暫時(shí)能夠滿足目前業(yè)務(wù)需要。同時(shí),各個(gè)企業(yè)定制的Web日志都是根據(jù)自己的需要,沒有統(tǒng)一的規(guī)范和標(biāo)準(zhǔn)化可以遵循,不利于將來數(shù)據(jù)中心進(jìn)行數(shù)據(jù)集成和業(yè)務(wù)擴(kuò)展。
本文通過對(duì)個(gè)性化推薦和數(shù)據(jù)建模研究,指出普通Web日志格式存在的不足,提出定制Web日志數(shù)據(jù)建模的過程及方法,建立了基于NSTL嵌入式系統(tǒng)的定制Web日志模型原型。通過定制Web日志的方式采集數(shù)據(jù),實(shí)現(xiàn)發(fā)現(xiàn)關(guān)聯(lián)規(guī)則、內(nèi)容分類和用戶聚類分析,從而提高個(gè)性化推薦的精度。
NSTL定制Web日志數(shù)據(jù)建模的目的,主要是通過捕獲用戶訪問活動(dòng)操作瀏覽、查詢、下載、收藏、興趣定制和購買等信息,借助數(shù)據(jù)挖掘技術(shù)發(fā)現(xiàn)用戶訪問偏好,進(jìn)行個(gè)性化推送服務(wù),實(shí)現(xiàn)NSTL更好的數(shù)字圖書館服務(wù)功能。通過記錄Web日志的方式,在線收集讀者文獻(xiàn)查詢、下載和購買等信息的數(shù)據(jù)。系統(tǒng)對(duì)讀者訪問的這些日志數(shù)據(jù)進(jìn)行分析、挖掘和預(yù)測,為其提供相關(guān)文獻(xiàn)推薦和定期更新內(nèi)容推送服務(wù)。
Web日志數(shù)據(jù)是一種特殊的數(shù)據(jù)類型,因此,數(shù)據(jù)建模理論適用于進(jìn)行 Web 日志數(shù)據(jù)建模的應(yīng)用研究。[3][4][5]個(gè)性化推薦內(nèi)容的準(zhǔn)確性,依賴于挖掘后獲取的用戶訪問內(nèi)容的具體分類。Web日志中記錄的操作對(duì)象屬性完整性、準(zhǔn)確性和唯一性,能夠提高定制Web日志的數(shù)據(jù)質(zhì)量。
Web日志數(shù)據(jù)的特殊性在于:采集的數(shù)據(jù)都是基于用戶在Web頁面上的訪問行為,包括用戶在前臺(tái)的操作活動(dòng)和應(yīng)用程序在后臺(tái)記錄訪問的信息。因此,Web日志數(shù)據(jù)記錄的是用戶和網(wǎng)站的交換行為。進(jìn)行Web日志數(shù)據(jù)建模應(yīng)明確以下幾方面:
(1)建模采用的模型類型,在不同的建模階段,分別采用概念建模、邏輯建模和物理建模。
(2)建模方法,步驟:①弄清要做的事情包括哪些;②弄清捕獲的數(shù)據(jù)固有的質(zhì)量水平;③重點(diǎn)弄清需要捕獲用戶訪問需要記錄的Web日志數(shù)據(jù)的定義;④重視數(shù)據(jù)質(zhì)量;⑤弄清不同用戶對(duì)不同層次建模的不同需求。
(3)建模項(xiàng)目類型,主要有三類:①企業(yè)項(xiàng)目模型,需要捕獲全部動(dòng)態(tài)數(shù)據(jù);②交易項(xiàng)目模型捕獲一次一個(gè)用戶活動(dòng)的具體信息;③數(shù)據(jù)倉庫/企業(yè)報(bào)表項(xiàng)目空間模型收集一次一個(gè)用戶活動(dòng)的具體信息,并選擇和集成為簡化準(zhǔn)確的報(bào)表。
(4)項(xiàng)目使用目標(biāo),是通過定制的Web日志數(shù)據(jù),在數(shù)據(jù)質(zhì)量方面實(shí)現(xiàn)提高個(gè)性化推薦的精度。
(5)業(yè)務(wù)類型,捕獲的數(shù)據(jù)對(duì)象和用戶與網(wǎng)站的交互活動(dòng)有關(guān)。在Web日志數(shù)據(jù)建模方案中,與用戶活動(dòng)相關(guān)的操作包括:瀏覽、查詢、下載、個(gè)人收藏、興趣和偏好定制和商品購買等,應(yīng)用程序的業(yè)務(wù)根據(jù)這些用戶活動(dòng)捕獲日志數(shù)據(jù)對(duì)象。
(6)業(yè)務(wù)對(duì)象,捕獲的Web日志數(shù)據(jù)對(duì)象,就是建模過程中需要處理的業(yè)務(wù)對(duì)象。在不同的業(yè)務(wù)平臺(tái),用戶活動(dòng)操作的對(duì)象也各不相同。在數(shù)字圖書館領(lǐng)域,業(yè)務(wù)對(duì)象主要是文獻(xiàn),這些文獻(xiàn)可能是期刊、會(huì)議、書籍、專利或者報(bào)告等。
(7)對(duì)象屬性,不同的業(yè)務(wù)平臺(tái),捕獲的Web日志數(shù)據(jù)對(duì)象屬性也各不相同。數(shù)字圖書館文獻(xiàn)的屬性主要包括題名、作者、關(guān)鍵詞、出版社、文獻(xiàn)類型、所屬領(lǐng)域和出版日期等。
(8)屬性命名規(guī)則,由于Web頁面存在結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)對(duì)象,因此,需要將捕獲的日志進(jìn)行結(jié)構(gòu)化處理,記錄的日志數(shù)據(jù)嚴(yán)格按照設(shè)計(jì)的命名規(guī)則處理。
(9)用戶信息,主要記錄用戶注冊信息、興趣和偏好定制、個(gè)人收藏等。
(10)訪問時(shí)間,用戶的瀏覽、查詢、下載、個(gè)人收藏、興趣和偏好定制和商品購買等活動(dòng)的時(shí)間變化,能夠體現(xiàn)其對(duì)該網(wǎng)站訪問的習(xí)慣、忠誠度和偏好的變化。
(11)使用數(shù)據(jù)的用戶,捕獲的Web日志數(shù)據(jù)要滿足不同用戶的需求。在建模階段,考慮使用模型的用戶,不但包括建模技術(shù)人員,而且將來的用戶還會(huì)包括數(shù)據(jù)分析師、決策者和進(jìn)行業(yè)務(wù)擴(kuò)展的應(yīng)用程序開發(fā)技術(shù)員。
NSTL日志模型屬于交易項(xiàng)目,捕獲一次一個(gè)用戶活動(dòng)的操作信息,采集的日志數(shù)據(jù)主要用于統(tǒng)計(jì)分析、個(gè)性化推薦。
在原型系統(tǒng)中,采集的Web日志信息主要包括4個(gè)部分:用戶信息、用戶操作信息、購物籃信息、訂購信息。①用戶信息主要記錄用戶注冊的的個(gè)人信息,主要包括個(gè)人聯(lián)系方式、訪問Web頁面的操作統(tǒng)計(jì)信息等,包括:用戶標(biāo)識(shí)號(hào)、登錄名、真實(shí)姓名、電話號(hào)碼、地址、注冊日期、最后一次訪問時(shí)間、登錄次數(shù)、電子郵件、簡單搜索次數(shù)、高級(jí)搜索次數(shù)、訂購次數(shù)和訂購總金額;②用戶操作信息主要記錄用戶訪問Web的方式、操作類型和操作對(duì)象,包括:用戶標(biāo)識(shí)號(hào)、訪問時(shí)間、返回代碼、客戶IP地址、操作類型和操作對(duì)象;③購物籃信息主要記錄用戶已經(jīng)放入購物籃,但還沒有提交訂購的信息。主要包括訂購文獻(xiàn)的名稱、價(jià)格列表,金額和訂單狀態(tài)信息,包括:用戶標(biāo)識(shí)號(hào)、文獻(xiàn)列表、文獻(xiàn)數(shù)量、價(jià)格列表、購物籃金額、訂單號(hào)和是否發(fā)送郵件確認(rèn);④訂購信息主要記錄用戶訂單號(hào)、日期和訂單處理狀態(tài),包括:用戶標(biāo)識(shí)號(hào)、訂單號(hào)、訂單日期和訂單狀態(tài)。
本文實(shí)驗(yàn)所用數(shù)據(jù)來自NSTL嵌入式資源服務(wù)系統(tǒng)2周內(nèi)采集到的用戶訪問日志數(shù)據(jù)。按照日志數(shù)據(jù)清洗、轉(zhuǎn)換、加載的流程對(duì)日志數(shù)據(jù)進(jìn)行了預(yù)處理(見圖1)。
數(shù)據(jù)清洗主要分為兩個(gè)步驟:去除冗余和無效記錄、分割關(guān)鍵字段。去除冗余是為了減少重復(fù)出現(xiàn)的字段,降低在數(shù)據(jù)挖掘階段權(quán)重重復(fù)的可能。去除無效記錄是為了減少一些錯(cuò)誤的記錄數(shù)據(jù)、刪除沒有登錄的用戶訪問記錄,目的是有針對(duì)性地為注冊用戶提供個(gè)性化推薦服務(wù)。將用戶訪問時(shí)輸入的關(guān)鍵詞、操作類型和操作對(duì)象分割開來,增加數(shù)據(jù)挖掘是用戶興趣和偏好的比重,便于更好的提供個(gè)性化推薦服務(wù)。
圖1 NSTL日志數(shù)據(jù)預(yù)處理
數(shù)據(jù)轉(zhuǎn)換的目的是將清洗過的數(shù)據(jù)轉(zhuǎn)換為挖掘工具易于識(shí)別的數(shù)據(jù)類型和格式,為的是得出理想的挖掘結(jié)果,從而便于發(fā)現(xiàn)用戶興趣和偏好。數(shù)據(jù)轉(zhuǎn)換主要分為兩個(gè)步驟:格式化標(biāo)簽與生成arff格式文件。統(tǒng)計(jì)分析日志數(shù)據(jù)中重復(fù)出現(xiàn)的數(shù)據(jù)對(duì)象、操作類型、關(guān)鍵詞,用標(biāo)簽的方式進(jìn)行唯一標(biāo)示,這樣做的好處是易于生成數(shù)據(jù)挖掘工具需要的數(shù)據(jù)格式,也節(jié)省了挖掘計(jì)算時(shí)間。生成的arff文件格式,可以方便地導(dǎo)入一些挖掘工具,例如Weka和RapidMiner等。
在個(gè)性化推薦應(yīng)用領(lǐng)域,通過Web日志挖掘技術(shù),發(fā)現(xiàn)用戶興趣、使用偏好,推薦用戶可能感興趣的內(nèi)容,幫助用戶快速找到需要的內(nèi)容,吸引用戶對(duì)本系統(tǒng)的忠誠度,提高個(gè)性化服務(wù)能力和水平,實(shí)現(xiàn)價(jià)值增值。定制Web日志數(shù)據(jù)的方式能夠提高個(gè)性化推薦的精度,并且能夠簡化數(shù)據(jù)預(yù)處理工作、提高系統(tǒng)效率。用于Web日志挖掘的技術(shù)主要分為三類:關(guān)聯(lián)規(guī)則分析、分類分析和聚類分析。
在Web日志挖掘研究中,關(guān)聯(lián)規(guī)則分析目的是找出用戶訪問的日志中,所執(zhí)行的操作與操作、操作和訪問對(duì)象、對(duì)象和對(duì)象之間的關(guān)系,進(jìn)而預(yù)測用戶行為、興趣和偏好。
表1 關(guān)聯(lián)項(xiàng)目標(biāo)識(shí)定義
圖2 FileteredAssociator發(fā)現(xiàn)的關(guān)聯(lián)規(guī)則
在實(shí)驗(yàn)中,根據(jù) Apriori算法[6][7],枚舉出 10 個(gè)經(jīng)過過濾的規(guī)則,在枚舉過程中,不斷減小最少支持度需找需要的并能滿足最小置信度的規(guī)則(實(shí)驗(yàn)結(jié)果找到的前10條FilteredAssociator規(guī)則見圖2,其關(guān)聯(lián)項(xiàng)目標(biāo)識(shí)定義見表1)??梢钥闯觯哂泻軓?qiáng)的關(guān)聯(lián)關(guān)系的屬性是檢索類型、檢索方法、文獻(xiàn)類型和檢索內(nèi)容,根據(jù)這些關(guān)聯(lián)規(guī)則預(yù)測更喜歡的推薦方式,將會(huì)更加吸引注冊用戶的興趣。同時(shí)發(fā)現(xiàn),用戶一旦將訂購的文獻(xiàn)放入購物車,其購買項(xiàng)目的可能性就很大。可以推斷,此類用戶有很強(qiáng)烈的需求,在個(gè)性化推薦的時(shí)候,要重視推薦給此類用戶的質(zhì)量,以維護(hù)其較高的客戶忠誠度。
通過關(guān)聯(lián)分析,能夠發(fā)現(xiàn)隱藏在定制Web日志數(shù)據(jù)里的操作對(duì)象和內(nèi)容之間的關(guān)系,找到用戶的訪問興趣偏好、訪問習(xí)慣,預(yù)測用戶可能的需求。
實(shí)驗(yàn)采用J48算法生成剪枝的C4.5決策樹[8],以用戶操作類型為分類的類標(biāo),主要針對(duì)用戶操作進(jìn)行分類(類標(biāo)說明見表2,分類結(jié)果見圖3)。
表2 用戶操作類型
從圖3實(shí)驗(yàn)結(jié)果可以看出,用戶最常使用的方法是簡單檢索,分析原因可能有兩點(diǎn):用戶不熟悉本系統(tǒng)的檢索方法或者是系統(tǒng)沒有提供個(gè)性化的服務(wù)功能。同時(shí),還可以從圖中看出,有一些顯著的特征,分別是:高級(jí)檢索、從檢索結(jié)果獲取全文、選購文獻(xiàn)和提交訂單。從特征的顯著性程度看,高級(jí)檢索與選購文獻(xiàn)、提交訂單有著相似之處,因此,分析他們之間有較強(qiáng)的相關(guān)性,個(gè)性化推薦時(shí)候,可以考慮這種類別的用戶,重視推薦質(zhì)量。相比較而言,用戶更喜歡直接從檢索結(jié)果中獲取全文,符合人們的常規(guī)習(xí)慣和方法。
通過分類挖掘,可以發(fā)現(xiàn)用戶感興趣的內(nèi)容、類別、屬性,可以預(yù)測其潛在的客戶價(jià)值并實(shí)現(xiàn)個(gè)性化內(nèi)容推薦。
圖3 J48分類用戶操作類別
實(shí)驗(yàn)采用 Cobweb 算法[9][10],其特點(diǎn)是:通過添加新葉子節(jié)點(diǎn)、合并或者分裂的方法實(shí)現(xiàn)聚類,是一種增量學(xué)習(xí)算法(對(duì)用戶和實(shí)例數(shù)目進(jìn)行聚類實(shí)驗(yàn)結(jié)果見圖4)。從圖中可以看出,聚類結(jié)果為4類典型的用戶特征。最顯著聚類用戶的特征是使用簡單搜索、訂購數(shù)量少和檢索期刊等,這是大多數(shù)用戶使用的方法。
圖4 Cobweb用戶-訪問實(shí)例聚類結(jié)果
找到為用戶推薦的內(nèi)容是聚類分析的關(guān)鍵,將用戶訪問的內(nèi)容進(jìn)行聚類,為相似用戶推薦,實(shí)驗(yàn)結(jié)果見圖5。圖5中橫向坐標(biāo)表示檢索內(nèi)容的領(lǐng)域,縱向坐標(biāo)表示文獻(xiàn)類型。從圖中可以看出,用戶訪問的文獻(xiàn)領(lǐng)域分布比較廣泛,但是文獻(xiàn)類型主要分為兩種。出現(xiàn)這種情況的原因是,采集到的日志數(shù)據(jù)時(shí)間間隔較短,可能用戶研究方向各不相同,但是訪問的文獻(xiàn)類型較集中,再根據(jù)分類和關(guān)聯(lián)實(shí)驗(yàn)結(jié)果分析,推測用戶具有類似的訪問行為。因此,推薦的時(shí)候,可以根據(jù)這些文獻(xiàn)類型進(jìn)行推薦,例如,重點(diǎn)推薦期刊相關(guān)的文獻(xiàn)內(nèi)容。
通過聚類分析,可以發(fā)現(xiàn)相似用戶的訪問行為和興趣偏好,通過系統(tǒng)對(duì)相似用戶的推薦,可以提高系統(tǒng)性能和效率,實(shí)現(xiàn)個(gè)性化推薦。定制的Web日志數(shù)據(jù)具有針對(duì)性強(qiáng)的特點(diǎn),能夠準(zhǔn)確地記錄用戶的訪問行為和操作內(nèi)容,提高個(gè)性化推薦的精度。
圖5 Cobweb檢索領(lǐng)域—文獻(xiàn)類型聚類結(jié)果
在實(shí)驗(yàn)過程中,分別選取了幾個(gè)操作類型進(jìn)行記錄日志前后計(jì)算時(shí)間的對(duì)比(實(shí)驗(yàn)結(jié)果見圖6)。
圖6 記錄日志前后時(shí)間對(duì)比
從圖中可以看出,記錄日志前后消耗的時(shí)間差別不明顯。實(shí)際上,由于記錄是在用戶客戶端收集信息,不消耗服務(wù)器的資源。同時(shí),寫回到服務(wù)器端的數(shù)據(jù)庫表執(zhí)行的是在表的尾部插入操作,不需要執(zhí)行查找的操作。因此,記錄日志的代價(jià)很小。
Web日志分類實(shí)驗(yàn)中,主要檢驗(yàn)記錄的操作對(duì)象屬性完整性、準(zhǔn)確性和唯一性,是否能夠提高日志的數(shù)據(jù)質(zhì)量。其中,完整性體現(xiàn)在用戶操作過程是否連貫、完全,這些必要的信息缺失或者缺省會(huì)導(dǎo)致生成的日志數(shù)據(jù)無法識(shí)別用戶偏好內(nèi)容;信息準(zhǔn)確或者精度不夠,可能導(dǎo)致推薦精度不夠,無法滿足用戶需求;數(shù)據(jù)的唯一性是數(shù)據(jù)庫中該文獻(xiàn)是否存在及存在情況等信息。
實(shí)驗(yàn)中,采用傳統(tǒng)的關(guān)聯(lián)、分類和聚類算法的目的有兩個(gè):一是保證實(shí)驗(yàn)的算法在成熟的情況下,實(shí)驗(yàn)結(jié)果具有普遍意義;二是利于發(fā)現(xiàn)實(shí)驗(yàn)中的Web日志模型存在的問題,促進(jìn)該模型以后進(jìn)一步完善。根據(jù)實(shí)驗(yàn)結(jié)果分析,生成的關(guān)聯(lián)規(guī)則具有可用性,實(shí)驗(yàn)結(jié)果與人工分析進(jìn)行比較,能夠發(fā)現(xiàn)數(shù)據(jù)中存在的關(guān)聯(lián)規(guī)則。用戶操作方法的分類結(jié)果也基本與實(shí)際情況相符。聚類分析實(shí)驗(yàn)中,分別對(duì)用戶訪問的實(shí)例和操作對(duì)象進(jìn)行分析,實(shí)驗(yàn)結(jié)果基本能夠識(shí)別出用戶所在類別,但是存在聚類不集中的情況。
根據(jù)以上分析,定制的Web日志數(shù)據(jù)能夠同時(shí)滿足發(fā)現(xiàn)關(guān)聯(lián)規(guī)則、內(nèi)容分類和用戶聚類分析的需求,可以更好地滿足個(gè)性化推薦精度的需求。同時(shí),定制Web日志還具有簡化數(shù)據(jù)預(yù)處理、多用途的優(yōu)點(diǎn)。
本文對(duì)數(shù)據(jù)建模技術(shù)進(jìn)行研究,分析定制Web日志數(shù)據(jù)的建模方案。通過基于NSTL的日志數(shù)據(jù)模型原型的實(shí)驗(yàn)結(jié)果及分析,驗(yàn)證提出定制的Web日志數(shù)據(jù)建模方法和步驟。根據(jù)實(shí)驗(yàn)結(jié)果分析,該模型具有一定的可行性。但是,原型系統(tǒng)中還存在諸多問題需要進(jìn)一步解決。如方案中還沒有對(duì)捕獲的日志數(shù)據(jù)如何進(jìn)行具體結(jié)構(gòu)化問題進(jìn)行深入探討,捕獲的對(duì)象的命名方式還要進(jìn)行標(biāo)準(zhǔn)化處理。此外,實(shí)驗(yàn)使用日志數(shù)據(jù)的完整性、準(zhǔn)確性和唯一性問題,還需要進(jìn)一步詳細(xì)化、具體化和準(zhǔn)確性解決。
[1]蘇玉召,趙妍.個(gè)性化關(guān)鍵技術(shù)研究綜述[J].圖書與情報(bào),2011,137(1):59-65.
[2]蘇玉召等.一種基于智能過濾的Web個(gè)性化推薦模型[J].圖書情報(bào)工作,2011,55(13):112-115.
[3]Sharon Allen,Evan Terry.Beginning Relational Data Modeling(Second Edition)[M].New York:Apress,2005.
[4]Reingruber,M.,W.Gregory.The Data Modeling Handbook[M].New York:Wiley,1994.
[5]Alan Chmura,J.Mark Heumann.Logical data modeling-What it is and How to do it[M].New York:Springer,2005:35-55.
[6]R.Agrawal,R.Srikant.Fast Algorithms for Mining Association Rules in Large Databases[C].The 20th Internatio nal Conference on Very Large Data Bases,1994:478-499.
[7]Bing Liu,Wynne Hsu,Yiming Ma.Integrating Classification and Association Rule Mining[C].the Fourth International Conference on Knowledge Discovery and Data Mining,1998:80-86.
[8]Ross Quinlan.C4.5:Programs for Machine Learning[M].San Mateo:Morgan Kaufmann Publishers,1993.
[9]D.Fisher.Knowledge acquisition via incremental conceptual clustering[J].Machine Learning,1987,2(2):139-172.
[10]J.H.Gennari,P.Langley,D.Fisher.Models of incremental concept formation[J].Artificial Intelligence,1990,(40):11-61.