胡朝明 陳小眾 隋秀芝
(浙江理工大學(xué)圖書館,浙江 杭州 310018)
紙質(zhì)圖書營造了圖書館濃厚的學(xué)習(xí)氛圍和良好的學(xué)習(xí)環(huán)境,讀者可隨時(shí)到圖書館借閱他們最需要的圖書。但是,圖書資源豐富多樣,種類繁多,讀者面對浩如煙海的圖書往往會(huì)無所適從,大海撈針?biāo)频貙ふ覉D書,從瀏覽、挑選到最后借閱,要浪費(fèi)大量的時(shí)間,結(jié)果還往往不甚滿意。主要存在兩個(gè)問題:一是讀者不了解某個(gè)行業(yè)、某個(gè)學(xué)科或某個(gè)領(lǐng)域的圖書分布情況,不知道在現(xiàn)有館藏中有哪些圖書可供選擇;二是在圈定了擇書范圍的情況下,不能確定哪本書是最優(yōu)選擇,特別是當(dāng)讀者接觸到新的學(xué)科或陌生的研究領(lǐng)域,不知道借閱的順序。除非讀者有明確的借閱目標(biāo),否則很難從海量圖書中選擇適合的圖書。
目前國內(nèi)OPAC系統(tǒng)中圖書的呈現(xiàn)形式主要有兩種:第一種是以《中國圖書館分類法》(簡稱中圖法)為基礎(chǔ),嚴(yán)格按照學(xué)科進(jìn)行分類。中圖法主要用于各圖書館,其設(shè)計(jì)思想傾向于圖書館的業(yè)務(wù)流程,讀者對中圖法比較陌生或者模糊,因此采用中圖法進(jìn)行分類展示顯得比較抽象,讀者很難將自己的需求用中圖法分類號(hào)表述出來。第二種是以《中國分類主題詞表》為基礎(chǔ),根據(jù)各自的理解和用戶的實(shí)際需求來設(shè)計(jì)圖書主題分類體系,沒有嚴(yán)格的分類標(biāo)準(zhǔn),主要從用戶理解的角度進(jìn)行書目分類展示,多用于各書店和電子書門戶網(wǎng)站如當(dāng)當(dāng)網(wǎng)、亞馬遜、超星圖書、京東圖書等。
圖書作為知識(shí)的載體,每本圖書的書目信息和內(nèi)容與其他圖書其實(shí)是有關(guān)聯(lián)的。書目數(shù)據(jù)采用分類呈現(xiàn)的方式,切斷了圖書之間的內(nèi)容關(guān)聯(lián),OPAC的檢索結(jié)果基于文本的線性列表顯示,無法揭示書目之間的關(guān)聯(lián)信息。OPAC系統(tǒng)不應(yīng)再是單一的書目檢索系統(tǒng),它理應(yīng)成為用戶進(jìn)行信息檢索和知識(shí)挖掘的可視化工具[1]。書目信息的線性分類和線性列表顯示正向網(wǎng)絡(luò)化發(fā)展,文本格式數(shù)據(jù)正向圖形化發(fā)展,保留書目信息原有關(guān)聯(lián)關(guān)系,挖掘書目信息新的語義關(guān)聯(lián),推動(dòng)書目數(shù)據(jù)關(guān)聯(lián)化,是新一代OPAC系統(tǒng)的發(fā)展方向。
書目數(shù)據(jù)的關(guān)聯(lián)化研究大致可分為3類:第一類研究以國際圖聯(lián)(International Federation of Library Associations and Institutions,IFLA)主持的FRBR模型為代表,將IFLA標(biāo)準(zhǔn)與模型置于語義網(wǎng)環(huán)境下,借助FRBR模型讓編目實(shí)踐邁向語義網(wǎng)時(shí)代[2]。FRBR模型以作品為核心創(chuàng)建書目記錄,每條記錄以“作品-內(nèi)容表達(dá)-載體表現(xiàn)-單件”逐層顯示,作品之間可建立關(guān)聯(lián)關(guān)系,形成一個(gè)以作品為核心的樹狀網(wǎng)絡(luò)[3]。第二類研究以美國國會(huì)圖書館提出的BIBFRAME為代表,該模型以網(wǎng)絡(luò)為基礎(chǔ)架構(gòu),重構(gòu)MARC21格式,書目記錄以“作品-實(shí)例-單件”分層顯示,作品與作品之間通過作品和實(shí)例的屬性建立關(guān)聯(lián),形成一個(gè)以作品為核心的交叉網(wǎng)絡(luò)[4]。第三類研究以W3C圖書館關(guān)聯(lián)數(shù)據(jù)孵化小組為代表,采用資源描述框架(Resource Description Framework,RDF)將傳統(tǒng)MARC數(shù)據(jù)改造成為富含語義的RDF三元組形式,實(shí)現(xiàn)書目記錄之間的關(guān)聯(lián)[5]。W3C的關(guān)聯(lián)方案以關(guān)鍵詞為核心,采用簡單知識(shí)組織系統(tǒng)(Simple Knowledge Organization System,SKOS)和關(guān)聯(lián)開放數(shù)據(jù)云圖(Linked Open Data Cloud,LODCloud)組織和發(fā)布書目數(shù)據(jù),其目標(biāo)是使書目數(shù)據(jù)能夠在圖書館內(nèi)部和外部發(fā)揮最大的價(jià)值。
書目知識(shí)地圖的目標(biāo)是導(dǎo)航清晰、顯示直觀、結(jié)果準(zhǔn)確、易于理解,書目知識(shí)地圖需要建立在書目關(guān)聯(lián)關(guān)系基礎(chǔ)上,才能更好地揭示書目和發(fā)現(xiàn)知識(shí)。主流的做法是使用關(guān)聯(lián)數(shù)據(jù)思想建立書目關(guān)聯(lián)關(guān)系,關(guān)聯(lián)數(shù)據(jù)將一條MARC記錄按特定規(guī)則拆分成若干條小數(shù)據(jù),小數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系非常龐大,這些關(guān)聯(lián)關(guān)系中仍然以顯性關(guān)系為主,用來揭示圖書與圖書在內(nèi)容方面的聯(lián)系仍存在困難。同時(shí),現(xiàn)成的關(guān)聯(lián)數(shù)據(jù)方案和OPAC系統(tǒng)非常復(fù)雜,開發(fā)難度大,購買價(jià)格昂貴。鑒于這兩方面的情況,筆者提出以書目特征關(guān)鍵詞為核心建立書目關(guān)聯(lián)關(guān)系,以圖數(shù)據(jù)庫為基礎(chǔ)存儲(chǔ)和揭示書目關(guān)聯(lián)關(guān)系的方案。
2.1.1 書目數(shù)據(jù)預(yù)處理
館藏書目數(shù)據(jù)為MARC格式,不能直接閱讀和使用,筆者使用自主開發(fā)工具M(jìn)ARC forMySQL將書目MARC記錄轉(zhuǎn)換為關(guān)系數(shù)據(jù)表記錄,存入MySQL數(shù)據(jù)庫。實(shí)現(xiàn)MARC數(shù)據(jù)轉(zhuǎn)換的基本原理和流程是[6]:讀取MARC數(shù)據(jù),每次讀取一行;計(jì)算地址目錄區(qū)中目次項(xiàng)的數(shù)量;獲取地址目次區(qū)中所有目次項(xiàng)的字段標(biāo)識(shí)符,按順序存儲(chǔ);獲取數(shù)據(jù)字段區(qū)的每一個(gè)數(shù)據(jù)字段,按順序存儲(chǔ);按需求提取字段內(nèi)容;存儲(chǔ)字段內(nèi)容到MySQL數(shù)據(jù)庫。實(shí)驗(yàn)中以浙江理工大學(xué)圖書館館藏書目為數(shù)據(jù)來源,根據(jù)MARC控制號(hào)隨機(jī)抽取10萬條書目記錄作為實(shí)驗(yàn)數(shù)據(jù)。
2.1.2 內(nèi)容抽取和分詞標(biāo)注
一條MARC數(shù)據(jù)全面地記錄了一本圖書的著錄核心信息,從描述圖書內(nèi)容的角度看,主要包括以下字段和信息:圖書的書名(題名200$a、副標(biāo)題200$e、合訂本題名200$c、分卷題名200$i、叢書名225$i)、作者(200$f、譯者200$g)、ISBN 010$a、出版社210$c、出版年210$d、主題詞(605$a、606$a、607$a)、副主題詞(605$x、606$x、607$x)、內(nèi)容簡介330$a等。其中,圖書的書名、主題詞和內(nèi)容簡介包含了圖書的主要內(nèi)容信息,在沒有閱讀具體內(nèi)容的情況下,我們可以通過書名、主題詞和簡介來描述和了解一本書或者一類書。實(shí)驗(yàn)中我們抽取了 200$a、200$e、605$a、606$a、607$a、605$x、606$x、607$x和330$a共9個(gè)字段內(nèi)容,每條書目信息的抽取內(nèi)容作為一條書目描述記錄。
中文句子的語法結(jié)構(gòu)松散,詞語組合靈活多變,一詞多義現(xiàn)象普遍存在,這給自動(dòng)分詞帶來較大困難。較常用的中文分詞工具主要有中科院計(jì)算所NLPIR、哈工大LTP、清華大學(xué)THULAC、復(fù)旦NLP、斯坦福分詞器、HanLP分詞器、jieba分詞、IKAnalyzer等,有些工具不能進(jìn)行詞性標(biāo)注,不符合實(shí)際需要。實(shí)驗(yàn)中選擇分詞較為規(guī)范,且有詞性標(biāo)注和句子成分分析功能的哈工大LTP分詞工具[7],對書名和內(nèi)容簡介字段進(jìn)行分詞和詞標(biāo)注后存回MySQL數(shù)據(jù)庫。分詞示例:
分詞前:數(shù)字圖書館發(fā)展趨勢研究報(bào)告
分詞后:數(shù)字/n圖書館/n發(fā)展/v趨勢/n研究/v報(bào)告/n
抽取的書目描述記錄經(jīng)LTP分詞并進(jìn)行詞性標(biāo)注以后,根據(jù)詞性過濾掉在語義分析中作用不大的功能詞,如關(guān)聯(lián)詞、副詞、助詞等。筆者結(jié)合實(shí)際經(jīng)驗(yàn),主要保留了名詞(含人名、地名、專有名詞等)、動(dòng)詞和形容詞相關(guān)詞性的詞語,這是后續(xù)建立關(guān)鍵詞網(wǎng)絡(luò)需要重點(diǎn)關(guān)注的詞匯。
2.1.3 生成詞典和Word2Vec詞向量
書目描述記錄經(jīng)LTP分詞、去重后,得到683627個(gè)關(guān)鍵詞,存入詞典庫。然后采用Word2Vec模式訓(xùn)練詞向量。Word2Vec是Google在2013年開源的一款將詞表征為實(shí)數(shù)值向量的高效工具,利用深度學(xué)習(xí)思想,通過訓(xùn)練把對文本內(nèi)容的處理簡化為多維向量空間中的向量運(yùn)算,而向量空間上的相似度可以用來表示文本語義上的相似度[8]。調(diào)用Python的第三方模塊gensim提供的函數(shù)gensim.models.Word2Vec對處理好的書目描述記錄進(jìn)行學(xué)習(xí),訓(xùn)練窗口設(shè)置為5,詞向量維度設(shè)置為100,選擇Skip-Gram模型進(jìn)行詞向量訓(xùn)練,最終得到683627個(gè)Word2Vec詞向量。詞典中包含多義詞、同義詞、歧義詞等語義復(fù)雜的關(guān)鍵詞,這是自然語言處理中的難點(diǎn),在后續(xù)檢索、建立關(guān)鍵詞關(guān)聯(lián)關(guān)系的過程中,可通過計(jì)算Word2Vec詞向量的余弦相似度[9],來判斷兩個(gè)關(guān)鍵詞的語義相關(guān)度。
2.2.1 詞典的詞頻分析
書目信息中的標(biāo)題和內(nèi)容簡介被切分為一元詞或二元詞,這些詞顯得很零散,并且嚴(yán)重重復(fù),不利于篩選特征詞表征書目的語義信息。有些詞出現(xiàn)頻率很高稱為超高頻詞(見表1),有些詞出現(xiàn)頻率很低稱為超低頻詞(見表2),超高頻詞和超低頻詞都不利于表征書目語義信息[10],需要選擇合適的標(biāo)準(zhǔn)去除。
表1 超高頻詞示例
表2 超低頻詞示例
分詞統(tǒng)計(jì)結(jié)果顯示,分詞后出現(xiàn)次數(shù)大于10萬次的詞共有53個(gè),平均每條書目描述記錄出現(xiàn)一次,這是典型的超高頻詞,超高頻詞大多具有通用語義,表征書目特征的作用小。出現(xiàn)次數(shù)小于10次(平均1萬條書目信息出現(xiàn)一次)的詞共有52.4萬,占總詞數(shù)的77%。由此可以看出書目描述記錄的分詞結(jié)果非常稀疏,如果進(jìn)一步用詞向量表征書目的特征將非常困難,這是由書目信息的超短文本形式?jīng)Q定的。超高頻詞和超低頻詞占極小部分,中頻詞占絕大部分,實(shí)驗(yàn)中過濾掉53個(gè)高頻詞,保留全部中低頻詞。
2.2.2 提取書目語義特征詞
由于詞典中的關(guān)鍵詞在書目描述記錄中出現(xiàn)頻率不同,關(guān)鍵詞的語義信息含量也不同,每個(gè)關(guān)鍵詞在書目描述記錄的重要程度也就不同,為此,采用TF-IDF值來衡量關(guān)鍵詞在書目描述記錄中的重要程度。
TF-IDF的主要思想是[11],如果某個(gè)單詞在某篇文檔中出現(xiàn)的次數(shù)越多,并且在其他文檔中出現(xiàn)的次數(shù)越少,則可認(rèn)為此單詞越能代表該篇文檔,可理解為此單詞越能代表某條書目描述記錄的內(nèi)容。其中,TF稱為術(shù)語頻率,表示某一文檔中某單詞出現(xiàn)的頻率;IDF稱為逆文檔頻率,表示該單詞在整個(gè)語料庫中重要程度的度量。
根據(jù)TF和IDF的定義,TF和IDF的計(jì)算方法為:
由前面的詞頻分析可知,書目描述記錄中的關(guān)鍵詞出現(xiàn)頻率都比較低,在短文本中如果單純采用上述公式計(jì)算TF和IDF值,將會(huì)降低某一類集中出現(xiàn)在部分書目中單詞的區(qū)別能力[12],所以筆者提出如下改進(jìn)算法:
關(guān)鍵詞的TF-IDF值為:TF×IDF,TF-IDF值計(jì)算出來以后,取每條書目描述記錄中TF-IDF值為前5的關(guān)鍵詞作為該條書目特征詞的備用詞,然后取這5個(gè)關(guān)鍵詞的Word2Vec詞向量,計(jì)算每兩個(gè)關(guān)鍵詞之間的余弦相似度,如果余弦相似度大于0.8,說明兩個(gè)詞的語義非常接近,去掉TF-IDF值較低那一個(gè)詞。這樣就用少數(shù)關(guān)鍵詞作為書目描述記錄的特征詞來表征該條書目的語義信息。
2.3.1 建立特征詞與特征詞的關(guān)聯(lián)網(wǎng)絡(luò)
書目數(shù)據(jù)的標(biāo)題、內(nèi)容簡介等短文本經(jīng)自動(dòng)分詞、詞性標(biāo)注后,可使用依存句法分析抽取關(guān)鍵詞與關(guān)鍵詞之間的關(guān)聯(lián)關(guān)系,關(guān)聯(lián)詞對的關(guān)聯(lián)就構(gòu)成了書目地圖中詞與詞的關(guān)聯(lián)關(guān)系。短文本經(jīng)依存句法分析后形成句法分析關(guān)系樹,樹中節(jié)點(diǎn)特征項(xiàng)之間的關(guān)聯(lián)關(guān)系由句子中詞語間的距離決定。語言學(xué)表明,句子中成分間存在句法結(jié)構(gòu),因此由依存句法分析確定關(guān)聯(lián)詞對符合實(shí)際情況。關(guān)聯(lián)詞對間的關(guān)系主要包括:主謂關(guān)系SBV、動(dòng)賓關(guān)系VOB、定中關(guān)系A(chǔ)TT、狀中結(jié)構(gòu)ADV、并列關(guān)系COO等[13]。實(shí)驗(yàn)中發(fā)現(xiàn),書目數(shù)據(jù)的特征詞由以上5類關(guān)系組合而成的二元復(fù)合詞,能很好地表達(dá)書目數(shù)據(jù)原有語義信息,還能拓展語義檢索的范圍。
采用LTP的Python包實(shí)現(xiàn)依存句法分析,示例見圖1。
圖1 依存句法分析示例
原句:數(shù)字圖書館發(fā)展趨勢研究報(bào)告
分詞并標(biāo)注:數(shù)字/n圖書館/n發(fā)展/v趨勢/n研究/v報(bào)告/n
在這個(gè)例子中,ATT、SBV、VOB這3種關(guān)系是我們需要關(guān)注的,分別構(gòu)成數(shù)字-圖書館、圖書館-趨勢、發(fā)展-趨勢、趨勢-研究、研究-報(bào)告5對關(guān)系。這5對關(guān)系的重要程度不同,可通過單詞的TF-IDF值來衡量。10萬條書目數(shù)據(jù)的特征詞通過SBV、VOB、ATT、ADV、COO等這5種關(guān)系相互連接,形成特征關(guān)鍵詞網(wǎng)絡(luò),這是書目地圖的主干網(wǎng)絡(luò)。用戶檢索書目地圖的節(jié)點(diǎn)和關(guān)系時(shí),關(guān)鍵詞是檢索的入口,所有的檢索匹配都是在這5對關(guān)鍵詞中進(jìn)行,原始書目信息僅供瀏覽地圖使用,不再參與內(nèi)容檢索。根據(jù)這樣的架構(gòu)構(gòu)建的關(guān)鍵詞網(wǎng)絡(luò),結(jié)構(gòu)比較清晰且不失靈活性。
2.3.2 建立關(guān)鍵詞與書目的關(guān)聯(lián)網(wǎng)絡(luò)
每條書目描述記錄用5個(gè)特征關(guān)鍵詞表征以后,書目信息與相應(yīng)的關(guān)鍵詞就建立了關(guān)聯(lián)關(guān)系。一條書目與多個(gè)關(guān)鍵詞相關(guān)聯(lián),一個(gè)關(guān)鍵詞與多條書目相關(guān)聯(lián),關(guān)鍵詞與書目之間形成多對多的網(wǎng)絡(luò)關(guān)系(見圖2)。從整個(gè)書目信息看,若干條書目聚集在幾個(gè)相關(guān)性較強(qiáng)的關(guān)鍵詞周圍,相當(dāng)于書目信息以關(guān)鍵詞為中心形成一個(gè)個(gè)聚類族。這些聚類族構(gòu)成書目地圖的分支網(wǎng)絡(luò),通過關(guān)鍵詞主干網(wǎng)實(shí)現(xiàn)全連接。
圖2 書目知識(shí)地圖的關(guān)聯(lián)網(wǎng)絡(luò)
書目知識(shí)地圖由書目、書目的特征詞及其之間的網(wǎng)絡(luò)關(guān)系構(gòu)成,可使用圖數(shù)據(jù)庫Neo4j實(shí)現(xiàn)存儲(chǔ)和檢索。Neo4j是一個(gè)流行的圖數(shù)據(jù)庫,它以節(jié)點(diǎn)、關(guān)系和屬性的形式存儲(chǔ)數(shù)據(jù),Neo4j的速度比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫提升約1000倍[14]。在Neo4j中,關(guān)鍵詞和書目作為節(jié)點(diǎn),關(guān)鍵詞與關(guān)鍵詞間的關(guān)系、關(guān)鍵詞與書目間的關(guān)系作為關(guān)系,書目的字段信息(如書名、作者、出版社、出版年等)作為書目的屬性,ATT、SBV、VOB、FOB、COO作為關(guān)鍵詞與關(guān)鍵詞關(guān)系的屬性。節(jié)點(diǎn)、節(jié)點(diǎn)的屬性,關(guān)系、關(guān)系的屬性用Python批量定義和生成,所有的節(jié)點(diǎn)、關(guān)系和屬性都是一條條描述記錄,存入Neo4j數(shù)據(jù)庫后,書目知識(shí)地圖的基礎(chǔ)數(shù)據(jù)也就完成了,但還沒有直觀顯示出來。
從Neo4j中檢索出節(jié)點(diǎn)和關(guān)系,然后對檢索結(jié)果進(jìn)行可視化展示,生成書目知識(shí)地圖,這一步的工作主要集中在Neo4j數(shù)據(jù)庫的可視化?,F(xiàn)有3種可視化途徑:一是使用Neo4j自帶的查詢工具Neo4j Browser和Neo4j Bloom。Neo4j Browser是面向開發(fā)人員的工具,允許開發(fā)人員執(zhí)行Cypher查詢并可視化結(jié)果,Cypher相當(dāng)于關(guān)系數(shù)據(jù)庫中的SQL查詢語言,能夠按照節(jié)點(diǎn)和關(guān)系進(jìn)行語義查詢。Neo4j Bloom是一款收費(fèi)工具,允許用戶使用自然語言瀏覽圖數(shù)據(jù)。二是使用D3.js。D3.js是當(dāng)前網(wǎng)頁前端數(shù)據(jù)可視化領(lǐng)域應(yīng)用比較廣泛的開源可視化實(shí)現(xiàn)庫,基于JavaScript語言開發(fā),允許在前端的DOM結(jié)構(gòu)中綁定多種類型的數(shù)據(jù),并通過使用HTML、SVG和CSS等語言編寫邏輯將數(shù)據(jù)實(shí)現(xiàn)前端可視化展示。三是使用Cytoscape.js。Cytoscape.js是一個(gè)用JavaScript編寫的開源圖庫,它允許用戶與圖形交互,把Cytoscape.js集成到應(yīng)用程序中,可以實(shí)現(xiàn)在Web端顯示Nneo4j圖形數(shù)據(jù)庫的數(shù)據(jù)。實(shí)驗(yàn)中使用了Neo4j Browser和Cytoscape對Neo4j數(shù)據(jù)庫的書目關(guān)聯(lián)數(shù)據(jù)進(jìn)行可視化,下面以4個(gè)實(shí)驗(yàn)舉例說明。
實(shí)驗(yàn)1,查詢所有節(jié)點(diǎn)和關(guān)系。圖3為使用查詢語句“match(n:Word)-[r]-(m:Book)return n,m,r limit300;”在Neo4j Browser中的查詢結(jié)果,n代表源節(jié)點(diǎn),m代表目標(biāo)節(jié)點(diǎn),r代表源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間的關(guān)系,查詢輸出關(guān)鍵詞節(jié)點(diǎn)、書目節(jié)點(diǎn)及其關(guān)系的網(wǎng)絡(luò)關(guān)系圖,由于電腦性能限制,圖3的查詢限制為節(jié)點(diǎn)和關(guān)系書目最大為300,小圓點(diǎn)為關(guān)鍵詞節(jié)點(diǎn),大圓點(diǎn)為書目節(jié)點(diǎn)。由圖3看出,部分節(jié)點(diǎn)還未形成關(guān)聯(lián)關(guān)系,這是受樣本數(shù)據(jù)量限制所致。
圖3 Neo4jBrowser可視化Neo4j中的節(jié)點(diǎn)和關(guān)系
實(shí)驗(yàn)2,根據(jù)關(guān)鍵詞查詢圖書。圖4為使用查詢語句“match(n:Word{name:'圖書館'})-[r]-(m:Book)return n,m,r limit20;”在Neo4jBrowser中的查詢結(jié)果,返回與關(guān)鍵詞“圖書館”節(jié)點(diǎn)相關(guān)聯(lián)的書目節(jié)點(diǎn)及關(guān)系。中間節(jié)點(diǎn)為關(guān)鍵詞節(jié)點(diǎn)“圖書館”,周邊節(jié)點(diǎn)為根據(jù)關(guān)鍵詞節(jié)點(diǎn)檢索到的相關(guān)圖書。單擊任意書目節(jié)點(diǎn),將會(huì)展開與該書目節(jié)點(diǎn)相關(guān)聯(lián)的關(guān)鍵詞節(jié)點(diǎn)和書目節(jié)點(diǎn),可根據(jù)需要一步一步“按圖索書”,與傳統(tǒng)OPAC系統(tǒng)相比檢索過程和檢索結(jié)果更為直觀。
圖4 Neo4jBrowser可視化書目查詢結(jié)果
實(shí)驗(yàn)3,根據(jù)條件查詢節(jié)點(diǎn)和關(guān)系。圖5為使用 Cytoscape插件可視化展示“match(n:Word{name:‘紡織’})-[*1..3]-(p)return n,p;”的查詢結(jié)果,查詢語句的含義是“檢索與名為‘紡織’關(guān)鍵詞節(jié)點(diǎn)相關(guān)聯(lián)、且關(guān)聯(lián)節(jié)點(diǎn)數(shù)為1-3的所有關(guān)鍵詞節(jié)點(diǎn)和關(guān)系”,輸出與關(guān)鍵詞“紡織”相關(guān)聯(lián)的節(jié)點(diǎn)及相互關(guān)系。箭頭為修飾方向,比如“紡織→工業(yè)”組合成“紡織工業(yè)”,點(diǎn)擊節(jié)點(diǎn)“工業(yè)”將會(huì)展示出與“紡織工業(yè)”相關(guān)的圖書。使用Cytoscape插件并進(jìn)行二次開發(fā),還可根據(jù)需要靈活展示查詢結(jié)果。
圖5 Cytoscape可視化Neo4j中的節(jié)點(diǎn)和關(guān)系
實(shí)驗(yàn)4,查詢節(jié)點(diǎn)的路徑。圖6為使用Cypher查詢語句“MATCH(m:Word{name:‘杭州’}),(n:Word{name:‘ 貴 州 ’}),p=shortestpath((m)-[*..10]->(n))RETURN p;”在 Neo4j Browser中的查詢結(jié)果,輸出為節(jié)點(diǎn)“杭州”到節(jié)點(diǎn)“貴州”之間的最短路徑關(guān)系,示例中依次經(jīng)過:杭州金融、金融企業(yè)、企業(yè)開發(fā)、開發(fā)貴州4個(gè)組合詞找到了杭州到貴州的聯(lián)系。如果書目數(shù)據(jù)足夠豐富,這為讀者“按圖索書”提供了一種參考。
圖6 Neo4jBrowser查詢Neo4j節(jié)點(diǎn)的路徑
運(yùn)用自然語言處理技術(shù),建立書目信息的內(nèi)容關(guān)聯(lián),將零散的書目信息形成有機(jī)整體,揭示書目之間的隱含關(guān)系,挖掘書目的隱性知識(shí),便于讀者從全局來明晰所屬領(lǐng)域的圖書,快速了解目標(biāo)領(lǐng)域的知識(shí)脈絡(luò)。運(yùn)用Neo4j圖數(shù)據(jù)庫的存儲(chǔ)和可視化技術(shù),直觀展示書目信息,形成可瀏覽、可檢索的書目知識(shí)地圖,便于讀者進(jìn)行可視化查找和選擇圖書。
在理論研究方面主要有以下3點(diǎn)貢獻(xiàn):一是特征關(guān)鍵詞表征書目信息。使用改進(jìn)的TF-IDF算法計(jì)算關(guān)鍵詞的TF-IDF值,并結(jié)合Word2vec詞向量確定每條書目信息的特征關(guān)鍵詞。二是用句法分析建立特征關(guān)鍵詞的關(guān)聯(lián)網(wǎng)絡(luò),實(shí)現(xiàn)書目信息的內(nèi)容關(guān)聯(lián),比采用關(guān)聯(lián)數(shù)據(jù)的方式更簡潔高效,而且適用于本地圖書館。三是完整定義特征關(guān)鍵詞節(jié)點(diǎn)和書目節(jié)點(diǎn),以及它們的關(guān)系和屬性,用圖的形式構(gòu)造書目關(guān)聯(lián)數(shù)據(jù)。
在實(shí)踐研究方面,筆者選取10萬條原始書目MARC記錄作為實(shí)驗(yàn)數(shù)據(jù),完成了數(shù)據(jù)轉(zhuǎn)換、關(guān)鍵詞提取、建立關(guān)鍵詞網(wǎng)絡(luò)、生成網(wǎng)絡(luò)節(jié)點(diǎn)、關(guān)系和屬性、Neo4j存取數(shù)據(jù)、Neo4j檢索和可視化的算法和程序,實(shí)現(xiàn)了本地書目知識(shí)地圖的實(shí)驗(yàn)系統(tǒng),可為開發(fā)新一代OPAC系統(tǒng)提供借鑒。