朱東妹(安徽師范大學圖書館)
隨著云計算、大數據及移動互聯網等技術在圖書館的應用,圖書館能夠捕捉讀者全過程、全范圍的閱讀行為數據。但是多年來分散引進或開發(fā)的圖書館各應用系統,由于沒有統一的數據接口、標準和規(guī)范,導致原始數據是異構的、復雜的、不完善的。多源數據融合方法為解決新時代圖書館大數據的集成共享提供了一種新的解決思路,并為在此基礎上構建閱讀推廣用戶畫像模型提供了可行的實踐視角。用戶畫像作為大數據環(huán)境下的用戶描述工具,在用戶描述與建模上具有優(yōu)勢,在此基礎上構建針對讀者個人、讀者群體的閱讀行為及需求偏好的讀者畫像及圖書館所提供資源的資源畫像,從而實現精準閱讀推廣的目的。
數據融合是處理異構的、復雜的及不完善的原始數據以獲取可靠、有價值和準確信息的一種廣泛應用的方法[1]。國內外學者在數據融合方面進行了有效的探索,并取得了一定的研究進展。目前各種數據融合方法在不同的領域進行應用,如應用于軍事中的目標識別、醫(yī)療中的醫(yī)療診斷以及工業(yè)工程中的復雜機械監(jiān)控等[2]。數據融合技術方面,常用的有多數據庫融合方法、中間件融合方法、基于本體的方法、數據倉庫融合方法及基于機器學習的數據融合方法等。
用戶畫像被定義為一組屬性(獨立的或不獨立的),用來描述一個用戶并將其與其他用戶區(qū)分開來[3]。其研究的數據主要來自網頁訪問日志、搜索引擎日志、交易記錄歷史、商業(yè)公司日志及用戶反饋數據等,在過去十多年間已被深入研究并廣泛應用于各個領域。國外學者已涉足用戶畫像在閱讀方面的實踐應用研究,其研究方法大體概括為以下三種。①訪談法。Mohammad KAl等對26位人文學者進行訪談研究,構建出人文學者的網絡信息搜尋行為模式用戶畫像[4]。②實驗測試法。如,Josefine K等對9—11歲兒童在閱讀敘事文和說明文兩種不同文體時的閱讀行為特征進行研究,總結得出字面讀者、復述讀者、闡述讀者三類讀者特征畫像[5]。③問卷調查法。Amelie R等以15歲中學生為研究對象,結合問卷調查的方法,從學生的性別、教育經歷、社會經濟地位和語言背景等變量研究閱讀樂趣度和閱讀理解能力之間的特征畫像[6]。④基于機器學習算法的畫像方法。如,Daniel LD等運用機器學習算法中的層次聚類算法、貝葉斯聚類算法構建三、五年級學生閱讀畫像,并對兩種方法聚類結果進行比較,從而發(fā)現讀者的閱讀表現及讀者行為的差異[7]。
國內學者對用戶畫像在圖書館閱讀推廣工作方面也進行了研究。如,陳臣等建立了基于小數據的讀者閱讀畫像的個體標簽體系,并對讀者畫像的流程進行了研究[8]。王順箐對智慧型個性化閱讀推薦系統的構建提出以讀者需求分析為核心模塊,同時在數據采集的基礎上構建用戶畫像[9];何娟利用圖書館讀者借閱數據,通過構建讀者個人與群體用戶畫像,實現圖書個性化推薦[10];都藍將用戶畫像技術應用到高校圖書館年度閱讀報告中,便于了解讀者閱讀傾向,開展精準化閱讀推廣服務[11]。
綜上可知,數據融合技術已在不同領域被廣泛研究,而數據融合是構建讀者閱讀畫像的基礎,這為圖書館進行讀者閱讀行為數據集成提供了技術參考。關于用戶畫像技術在圖書館領域的研究,國外針對不同類別讀者閱讀行為、搜索行為等方面已有相關研究成果,我國近年來也有一定的理論研究,然而在應用畫像技術開展精準的閱讀推廣工作方面的實證研究還比較缺乏。閱讀推廣精準化可以有效降低成本,幫助圖書館更好地滿足讀者個性化需求,贏得更多的讀者,提升閱讀推廣效果。
文章從讀者和資源兩個維度構建畫像模型。讀者維度包括讀者的人口屬性、行為屬性及習慣偏好等;資源維度包括圖書和文章的關鍵詞、主題詞,以及資源被利用情況。基于關系型數據庫和大數據分析平臺,構建的圖書館讀者精準閱讀畫像系統總體框架包括底層數據源集成融合、畫像標簽建設、畫像模型構建及畫像模型應用四個層級。
圖書館讀者閱讀行為數據主要來源于兩方面:各業(yè)務系統結構化數據和Web端的非結構化數據。各業(yè)務系統主要包括圖書管理系統、門禁系統、座位管理系統及電子閱覽室管理系統等業(yè)務系統,其數據一般存于關系數據庫中。這些系統由于是不同企業(yè)開發(fā),數據保存在Oracle、SQL Server及MySQL等不同的關系型數據庫中。
Web端的非結構化數據主要包括圖書館門戶網站、數字資源網站以及圖書館各應用App數據等,這些線上平臺有讀者的搜索、瀏覽及下載等行為信息,還有讀者的終端機型、操作系統、網絡類型及IP地址等基本信息,由系統前臺獲取發(fā)送給后臺Web服務器記錄下來。由于Web應用由不同企業(yè)及數據商提供,日志產生的來源較分散,存儲的目的地也很不一致,有文件、文件夾及Socket數據包等各種形式源數據。
由于業(yè)務系統數據和Web端數據,在數據類型、數據存儲格式及數據獲取方法方面存在較大差異,因此需要對多源異構數據進行集成。其中Web端日志生成階段需要根據用戶畫像主題事先設計埋點參數,統計用戶的關鍵行為。數據埋點方式有自己搭建相應數據體系或集成第三方SDK等,埋點數據是構建讀者畫像的基礎,數據統計和模型訓練都基于埋點數據,需保證埋點數據的正確無誤。同時為了分布式處理、避免直接連接操作業(yè)務數據,需要將各終端的數據同步到統一數據分析平臺。結合本研究實際分布式統一數據平臺采用Hadoop[12]的MapReduce架構,分別利用其架構上的Hive分布式數據倉庫進行離線畫像的數據處理與分析,Hbase分布式數據庫進行實時畫像的分析與查詢[13]。
針對不同結構的數據,采用不同的工具進行數據集成。在對結構化的數據集成中采用開源工具Sqoop[14]進行數據抽取、清洗及數據同步,在非結構化的數據集成中采用Flume[15]將業(yè)務數據服務器中埋點日志收集到統一分析平臺中。
畫像的標簽能夠將人或物進行全方位“數據化”描述,從而使每個人或物變得更加立體且獨一無二。
2.4.1 讀者畫像標簽體系
(1)相關理論。①RFM理論。RFM理論起初主要用于直效營銷(Direct Marketing)領域,是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段[16],其包含三個指標:最近一次消費(Recency),消費頻率(Frequency)及消費金額(Monetary)。②MECE原則。MECE(Mutually Exclusive Collectively Exhaustive)原則,其意為相互獨立,完全窮盡。拆解分類必須不重復、不遺漏,使用該方法后,各個觀點將不會相互重疊、抵觸,對問題的檢視也不至于有疏漏[17]。
(2)構建標簽。從給用戶構建標簽的方式來看,一般分為四種類型:事實類標簽、統計類標簽、規(guī)則類標簽及模型類標簽。事實類標簽,該類型標簽是既定事實,是從原始數據中獲知或提取,如讀者性別、年齡等;統計類標簽,該類型標簽需要統計計算(計數、求和等)得到,如基于RFM模型的最近一次借閱圖書距離今天天數、最近30天訪問圖書館次數以及最近30天搜索(瀏覽、下載)文章總數等;規(guī)則類標簽,基于讀者行為及確定的規(guī)則產生,需要工作人員結合圖書館業(yè)務確定高頻活躍時間段、高借閱人群、高下載人群、高登錄人群、長時間瀏覽人群及資源最受歡迎等;模型類標簽,該類型標簽在原始數據中沒有,需要建立模型或進行機器學習并結合業(yè)務類型計算讀者相應屬性匹配度,對讀者的行為及需求進行預測,如預測讀者閱讀內容主題詞、閱讀習慣偏好及潛在需求等。梳理標簽分類時,盡可能相互獨立且完全窮盡,每一層下級標簽的組合都能覆蓋到上一層級標簽的所有數據。
2.4.2 資源畫像標簽體系
圖書、文章是閱讀推廣的基礎資源,讀者對圖書的借閱,對文章的搜索、瀏覽及下載均代表了讀者對這本圖書或這篇文章內容的喜好程度。因此根據圖書、文章的自身屬性及讀者相對圖書、文章的行為制定一系列標簽,包括:基于圖書及文章自身屬性的資源類型、分類、題名、摘要/內容及入檔日期等事實類標簽;有基于讀者行為的圖書借閱、文章搜索、瀏覽及下載等行為事實類標簽;以及基于模型計算提取的圖書與文章關鍵詞、主題詞等模型類標簽。
設計好標簽體系后,進入標簽開發(fā)環(huán)節(jié),即進行畫像計算。具體步驟是首先要在存放標簽的存儲庫中建立存放標簽的寬表,建立表的過程中,可以多建立幾個預留字段用于存放中間計算結果,其次就是存儲各類經過計算的標簽值。
2.5.1 資源畫像主題詞標簽計算
(1)相關理論。Jieba中文分詞。Jieba中文分詞是目前主流的中文分詞工具,該分詞詞庫提供了常用詞組以及詞組出現的頻率和詞性。詞庫支持四種分詞模式:精確模式、全模式、搜索引擎模式以及Paddle模式。Jieba中文分詞提供TF-IDF、TextRank兩種算法從文本中提取關鍵詞[18]。①TF-IDF算法。TF-IDF(Term Frequency-Inverse Document Frequency)是由Salton在1988年提出的,主要是指一個詞語在一篇文章中出現次數越多,即TF(詞頻)高,同時在所有文檔中出現次數越少,即IDF(逆文本頻度)越大,越能夠代表該文章[19]。TF-IDF算法是以TF和IDF的乘積作為取值測度,TF-IDF值越大,則這個詞成為一個關鍵詞的概率就越大。②TextRank算法。TextRank算法其基本思想來源于谷歌的PageRank算法,是一種用于文本的基于圖的排序算法。通過把文本分割成若干組單詞或句子并建立加權文本圖模型[20],利用局部詞匯之間關系(共現窗口,默認為5)對后續(xù)關鍵詞進行排序后直接從文本抽取。
(2)主題詞標簽計算。由于相同題名的書或者相同題名的文章并非只代表是同一本書或同一篇文章,因此圖書、文章分別結合圖書的摘要、文章的內容,將每種圖書以“題名+摘要+分類名稱”三列合并一列、每篇文章以“題名+文章內容+分類名稱”三列合并一列,構建新字段內容,用于計算圖書與文章的主題詞標簽。該類型標簽計算分兩步進行。①分詞處理。分詞就是將文本中每個連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程。通過分詞我們可以得到讀者利用過的圖書和文章的龐大詞庫。如對題名為“中國繪畫美學史”圖書,進行“題名+摘要+分類名稱”三列合并后,用Jieba中文分詞中全模式進行分詞(見表1)。分詞處理時句子中出現的詞語都會被切分,而有些副詞、連詞、介詞、數字及標點符號等,是沒有實際意思的,如結果中的“/的/,/對/,/等/,/與/,/和/”等但由于對后續(xù)的關鍵詞提取且可能提取的關鍵詞是無效的,所以在分詞處理以后,需用停用詞文本庫對分詞后的詞語進行過濾,去掉停用詞,才能使后面取得的關鍵詞更加具有意義。②主題詞計算。停用詞過濾后,對分詞結果進一步基于語料庫分別進行TF-IDF、TextRank權重計算,篩選出權重最高的20個詞作為關鍵詞,將TF-IDF與TextRank進行乘積運算,最后對權重值排序,將共現的詞作為主題詞。計算結果見圖1。
表1 Jieba中文分詞全模式分詞結果
圖1 主題詞計算結果
2.5.2 讀者畫像標簽計算
讀者畫像標簽內容比較豐富,下面分別以統計類標簽中基于RFM模型構建的標簽、模型類標簽中讀者利用資源的內容標簽為例進行計算。
(1)統計類標簽,基于RFM模型構建的標簽。該類型標簽值需要進行多表關聯聚合運算,其中日期參數是關鍵,日期參數便于回溯歷史數據,貫穿標簽計算始終。如30天累計進入圖書館次數、累計借閱冊數、累計下載文章數標簽,以讀者的ID字段為單位對歷史記錄分組做求和運算;30天累計借閱次數、累計下載文章次數標簽,以讀者ID字段為單位對歷史記錄去重做計數運算;最近一次訪問圖書館、借閱圖書、下載文章距離今天天數,以讀者ID字段為單位按時間排序,選取最近借閱日期與當前系統時間做減法運算。
(2)讀者利用資源的內容標簽。該類型標簽計算分兩步進行。一是主題詞拆分。文章根據讀者對哪些圖書和文章發(fā)生了借閱、搜索、瀏覽及下載行為以及與之對應的圖書和文章主題詞表,將每本圖書或每篇文章的主題詞表按詞拆分對應到讀者作為一條記錄。以前面資源畫像中計算好的主題詞為例,進行主題詞拆分(見圖2)。
圖2 主題詞拆分
二是標簽權重計算。主題詞經過拆分處理后就可以根據讀者對主題詞的行為來計算主題詞對讀者的權重,并且將這些主題詞作為讀者的標簽。由于讀者歷史行為所蘊含的作用總是隨著時間的推移而不斷變化,近期的行為所蘊含的作用一般要比歷史行為的作用有價值得多。如某位學生在大學一年級閱讀內容與他(她)在大學四年級閱讀內容涉及的主題內容有差異,因此這里我們結合時間衰減模型TDM(Time Decay Model)計算主題詞標簽權重,時間衰減系數=1/(log(t)+1),公式中t為發(fā)生行為的時間距離當前時間的大小。標簽權重=(讀者行為分值之和)×時間衰減系數,公式中的每種行為對應分值可以根據閱讀推廣工作實踐由專業(yè)人員確定。如圖2中:讀者_ID號為“2377130917”的讀者在“2019—10—09”當天“繪畫”主題詞對該讀者的權重為3,而100天后該主題詞對該讀者的權重為1。根據主題詞權重值排序作為用戶標簽,隨著時間的推移用戶標簽是動態(tài)變化的。
個人畫像查詢是千人千面信息的一種表現形式。前臺通過代碼實現SQL聚合函數以及多表關聯Join進行讀者數目的計算,后臺通過JDBC的方式連接Spark集群進行HDFS上的標簽寬表的運算。工作人員輸入讀者ID后,查看并了解每一位讀者的畫像,如查看某位讀者的屬性信息、行為信息及文章內容偏好信息等,如圖3所示,讀者專業(yè):生物科學,年齡:24,性別:男,學歷:研究生;近30天的借閱圖書、檢索文章、瀏覽文章及下載文章等情況;主題詞顏色由紅色漸變?yōu)槌壬?、形狀由大變小表示主題詞重要程度及頻率的變化;星期與時間點氣泡顏色由紅漸變?yōu)榫G色、形狀由大變小表示讀者訪問時間的變化規(guī)律;中圖法類別表示讀者檢索、瀏覽及下載的文章類別。
圖3 讀者個人畫像
前面?zhèn)€人畫像查詢是單獨查看讀者個人的相關特征。圖書館讀者群體來自不同身份、專業(yè)及學歷層次,對信息服務的需求也是多樣化的。要想滿足不同類型讀者的需求,就需要基于畫像標簽做好讀者分組分類工作,發(fā)現不同類型讀者的潛在需求。讀者群畫像中主要通過多個維度透視分析實現根據現有用戶標簽圈定用戶群的功能。如工作人員根據業(yè)務邏輯篩選進行相應的讀者定位,從而實現不同類別讀者群特征的探索。如圖4所示,可以根據年份、讀者下載文章數量、訪問頻次及最近下載文章距離天數等標簽維度篩選特定人群;也可以通過對多個維度標簽組合,篩選人群,實現對讀者群的動態(tài)分析。對于閱讀推廣工作及回訪等行為中,為了實行不同的閱讀推薦策略并且避免重復打擾讀者,可以將每階段待推廣的讀者群減去近期已經推廣過的讀者群,從而為精準化閱讀推廣工作提供支持。
圖4 讀者群動態(tài)畫像
(1)個性化資源推薦。個性化資源推薦解決從海量(萬、百萬)的文獻資源中,挑選出讀者感興趣的內容,推薦給讀者(百、十的輸出)。文章通過在前面讀者及資源畫像的基礎上構建主題詞共現矩陣,計算資源之間的相似性,進行閱讀推薦。以圖3中的讀者為例,構建“營養(yǎng)素”主題詞共現矩陣,利用度中心度、接近中心度、中介中心度及PageRank等算法對主題詞排序與聚類,構建個人閱讀主題畫像,如圖5所示,圖中節(jié)點不同顏色表示不同的類,各類之間涇渭分明;節(jié)點的大小越大,表明主題詞詞頻越高;連線表明主題詞之間有共現關系,連線粗細表明主題詞之間共現的程度;將每類中具有最高中心度的主題詞標簽作為推薦結果。
圖5 讀者個人閱讀主題推薦畫像
(2)非個性化推薦。為解決新讀者、新文章一開始沒有太多數據和特征來訓練模型的問題,即如何給新讀者做個性化推薦閱讀,如何將新的資源推薦給可能對它感興趣的讀者,我們可以采用非個性化推薦策略。策略一是熱門召回。自定義熱門規(guī)則,根據當前時間段熱點定期更新維護資源庫。策略二是新資源召回。為了提高新資源的利用率,建立新資源庫,進行推薦。這里非個性化推薦是對前期個性化推薦的補充。
文章從高校圖書館讀者基本屬性特征、閱讀資源特征及讀者閱讀行為特征數據出發(fā),研究構建閱讀推廣用戶畫像的技術與方法。運用Sqoop遷移業(yè)務系統數據庫,Flume采集Web應用日志數據,進行各類異構數據融合構建數據倉庫。分別從讀者和資源兩個維度進行閱讀推廣用戶畫像標簽體系設計,并對畫像計算以及畫像在閱讀推廣工作中的應用場景進行了研究。在倡導以用戶需求為中心的時代背景下,圖書館作為信息服務機構,充分借助用戶畫像發(fā)掘潛在需求,提高了信息推送的精準度。下一步在資源畫像設計中,將加入全文內容進行分詞處理,計算資源之間的相似性,構建更精準的畫像。