?

面向機器學習的知識圖譜與問答系統設計

2023-08-09 06:39黃宇皓
計算機應用文摘·觸控 2023年15期
關鍵詞:機器學習知識圖譜

摘 要:作為一種結構化的語義知識庫,知識圖譜近年來被多個領域所應用,然而在機器學習這一專有領域仍存在空缺。文章描述了如何構建一個面向機器學習領域的知識圖譜,并基于該圖譜設計了一個問答系統。在圖譜的構建過程中,主要使用了爬蟲技術以及部分 NL.P 方法對數據進行采集和處理,最終得到1個包含2442 個實體的知識圖譜,并將其存儲在 Neo4i 圖數據庫中。針對間答系統設計部分結合基于規則正則匹配以及基于詞向量相似度匹配的方法,構建了問答模塊。該領域圖譜的構建和問答系統的設計,將使研究人員和愛好者更輕松地獲取高質量的機器學習領域的知識。

關鍵詞:知識圖譜:問答系統;機器學習

中圖法分類號:TP18文獻標識碼:A

1 引言

知識圖譜的起源可追溯到20 世紀30 年代,但其正式概念是由Google 于2012 年提出的。它被描述為一個提供智能搜索服務的大型知識庫,可以將獨立的知識以三元組的形式形成語義知識的一種形式化描述框架,形式化地描述真實世界中各類事物及其關聯關系[1] 。領域知識圖譜是特定領域應用的知識圖譜,在金融、軍事、醫療等多個領域都得到了應用,如IBMWatson Health 醫療知識圖譜[2] 。由于知識圖譜的結構化程度高且知識質量高,基于知識圖譜的問答系統越來越受到人們的青睞,它彌補了傳統問答系統檢索效率低和檢索知識質量不高的缺點。

如今,機器學習的熱度不斷上升,然而當前機器學習領域圖譜的開發仍處于空白階段。為了使機器學習專有領域的知識能夠形成一個結構化的語義網絡,以及為機器學習領域的相關研究提供便利,本文將介紹機器學習領域圖譜的構建過程,并基于圖譜設計一個問答系統。

2 基本技術概述

2.1 知識圖譜構建理論

知識圖譜的構建通常包含知識抽取、知識融合、知識加工和知識更新等步驟[3] 。獲取相關語料后,需要對語料進行預處理,然后進入知識抽取環節。知識抽取主要包括實體識別、關系抽取以及屬性抽?。?類任務。實體識別用于識別文本中的特殊實體,關系抽取用于從文本中識別實體之間的關系,屬性抽取用于從文本中提取實體的屬性。

這些任務的完成早期依賴于專家手工定義規則,而基于機器學習方法的技術現在更為實用。本文主要使用基于機器學習的方法進行知識抽取,同時使用了OCR 技術以及爬蟲技術。在知識融合階段,主要工作有實體對齊、實體消歧,本文通過基于機器學習的方法來完成這些任務。完成上述工作后,需要將知識圖譜數據存儲到數據庫中。根據存儲方式的不同,知識圖譜通??梢源鎯υ冢遥模?數據庫、關系型數據庫或者圖數據庫中。本文使用Neo4j 圖數據庫對知識圖譜進行存儲[4] 。

2.2 基于知識圖譜的問答系統設計理論

構建基于知識圖譜的問答系統通常有3 種方法:基于模板匹配;基于語義解析;基于向量建模[5] 。本文將結合基于規則正則匹配的方法和基于Word2Vec向量建模的方法,提升智能問答的應答率、準確率。

3 機器學習領域圖譜構建

本文采用自底向上的框架構建機器學習領域的知識圖譜,基本流程如圖1 所示。

3.1 數據采集

構建知識圖譜首先需要收集相關語料。為了保證實體詞的專業性,本文參考了機器之心團隊編寫的專有術語庫,其中收納了2 442 個機器學習專有領域的術語,這些術語來源于領域專家以及權威教科書等,并經過了校對等工作,具有較強的專業性與公信力。本文以這些術語為基礎,建立關鍵詞表,并將其作為圖譜的實體詞庫。

以實體詞庫中的專業詞匯為關鍵詞,利用網絡爬蟲技術從萬方、維普數據庫中獲取了23 579 篇包含這些關鍵詞的期刊文獻,并使用request 庫、BS4 庫等工具對每個實體詞的百度百科詞條以及維基百科詞條進行爬取,在后續知識抽取的步驟中會對這些數據進行進一步處理。

3.2 知識抽取

知識抽取工作共分為3 個部分:實體識別、關系抽取和屬性抽取。實體識別部分首先采用OCR 技術,對采集的23 579 篇領域期刊文獻進行文本的提取,文本使用Stanford CoreNLP[6] 進行實體識別,借助構建好的實體詞庫進行篩選,并進行數據清洗、語句分詞、去停用詞等工作,過濾出與實體詞相關的語料。針對關系抽取部分,本文采用上下位關系來表示實體之間的關系。上下位關系即包含與被包含的層級關系,即一個概念或實體(上位詞或父類)包含另一個概念或實體(下位詞或子類)的關系。例如,“機器學習”為一級實體節點,“神經網絡”作為二級實體節點是“機器學習”這一實體的分支,可以作為其下位詞。本文使用Stanford CoreNLP 對實體識別中過濾好的語料進行依存句法分析,提取出實體詞之間的上下位關系。

針對屬性抽取部分,首先抽取所有實體詞的基礎屬性?;A屬性從先前爬取的百度百科即維基百科語料中進行抽取, 其主要包含名稱( name)、定義(definition)、應用(application)。對于實體詞中的具體算法或算法分支,它們通常為4 級節點或更低層級的節點,除基礎屬性外還添加了“期刊屬性”,將以該節點為關鍵詞的專業期刊數據收錄到屬性中,其主要包含標題(title)、發表時間(date)、作者(author)、摘要(abstract)。

3.3 知識融合

在知識融合階段,實體消歧任務是本文的主要工作。知識圖譜中,實體詞有可能出現實體二義性,即一個實體可能在不同語境下代表的意思不同。例如,bias(偏差)在統計學和機器學習中通常指預測值與實際值之間的差距,但在其他上下文中也可能指偏見或傾向。

為解決歧義問題,本文采用基于知識庫鏈接的實體消歧方法,這種方法通過將自然語言文本中的實體鏈接到實體詞庫中對應的實體來消除歧義。CN?DBpeida 提供了Mention2Entity 數據集,其含有大量歧義詞的字典,可以用來解決歧義問題[7] 。

3.4 圖譜入庫

對于知識圖譜的存儲,本文使用圖數據庫Neo4j進行存儲入庫。Neo4j 將圖作為數據結構,充分利用了圖數據結構的特性,使用圖節點、邊、節點屬性與邊屬性來表示數據,并將Cypher 作為數據庫查詢語言。經過3.1~3.3 節的處理后,可以得到關于實體詞庫中2 442 個節點“實體?邊?實體”的三元組數據,其已經儲存了節點屬性的數據文件,通過py2neo 庫將這些數據批量導入Neo4j 數據庫,即完成了知識圖譜的存儲。存儲完畢后,隨機抽?。玻埃?組實體關鍵詞并對其進行查詢,均成功返回結果,平均返回時長為269 毫秒,響應速度快。部分知識圖譜示例如圖2 所示。

4 問答系統設計

基于構建好的機器學習領域圖譜,設計一個問答系統,旨在幫助研究人員和機器學習愛好者更輕松地獲取高質量的機器學習領域知識。問答系統設計邏輯如圖3 所示。

4.1 問句預處理

用戶輸入自然語言問句后,需要提取問句的語義信息,以及進行命名實體識別工作。在本問答系統中,將jieba 庫作為解決方案。jieba 庫是一個中文分詞工具庫,使用Python 實現,支持自定義詞典,可以根據實際需求添加或刪除一些自定義詞匯,以便更好地滿足特定領域的分詞需求。通過jieba 庫對用戶輸入的自然語言問句進行分詞,并提取其中的命名實體,可以獲取更準確的語義信息。

4.2 意圖識別與答案推理

對于問句的意圖識別,本系統結合了基于規則集的方法以及向量相似度匹配。問句預處理得到分詞與詞性標注結果后,進行實體的關鍵詞抽取,首先采用基于規則集的方法,對問句進行正則匹配,若成功匹配,則說明問句在預設規則庫中,可以直接根據規則模板將原本的自然語言問句轉換為Cypher 查詢語句,進而鏈接到Neo4j 數據庫中并推理得到問題答案。部分規則集示例如表1 所列。

然而,僅使用規則模板庫來理解用戶輸入問句的成功率非常低。如果未匹配到規則集,系統將采用向量相似度匹配。本系統使用Word2Vec 模塊來實現這一點。Word2Vec 是一種雙層神經網絡詞向量模型,可以將詞映射為一個向量來表示詞間聯系,映射的向量為神經網絡中的隱藏層[8] 。若輸入問句不能匹配規則集,則使用預訓練的詞向量模型計算問句與知識庫中問題的相似度,本文調試時使用余弦相似度計算,匹配得到與問句最相似的問題,并鏈接Neo4j 數據庫,最終得到答案。

4.3 結果分析

對每類問題,設置了100 道測試問句,對問答系統進行測試,測試結果如表2 所列。

對于實體信息類、屬性信息類以及應用信息類問題,可以發現應答率和準確率較高;而對于比較信息類問題,應答率和準確率顯著下降。

5 結束語

本文通過網絡爬蟲、NLP 等技術構建了一個機器學習專有領域的知識圖譜,并基于該圖譜設計了一個問答系統,為機器學習的研究者和愛好者提供了一個快速、準確查詢領域知識的平臺。然而構建的圖譜在時效上具有局限性,由于缺乏知識更新的手段,無法獲取最新的專業術語以及期刊信息,需要每隔一段時間進行人工更新工作。另外,設計的問答系統對于處理邏輯較強的問題效果欠佳,可以考慮引入更強大的語義理解模型,以提高系統的應答率與準確率。

參考文獻:

[1] 田玲,張謹川,張晉豪,等.知識圖譜綜述———表示、構建、推理與知識超圖理論[J].計算機應用,2021,41(8):2161?2186.

[2] IBM. Watson Health 醫療保健數據分析的重要性[EB/OL]. https: ∥ www. ibm. com/ cn?zh/ watson?health/ learn/healthcare?data?analytics.

[3] SINGHAL A. Introducing the knowledge graph: things, notstrings [EB/ OL].https:∥www.blog.google/ products/ search/introducing?knowledge?graph?things?not/ .

[4] Neo4j.Neo4j[DB/ OL].https:∥neo4j.com/ .

[5] 袁博,施運梅,張樂.基于知識圖譜的問答系統研究與應用[J].計算機技術與發展,2021,31(10):134?140.

[6] MANNING C D,SURDEANU M,BAUER J,et al.The StanfordCoreNLP natural language processing toolkit [ C ] ∥Proceedings of 52nd annual meeting of the association forcomputational linguistics:system demonstrations.2014:55?60.

[7] XU B,XU Y,LIANG J,et al.CN?DBpedia:A never?endingChinese knowledge extraction system [ C] ∥ Advances inArtificial Intelligence: From Theory to Practice: 30thInternational Conference on Industrial Engineering and OtherApplications of Applied Intelligent Systems,IEA/ AIE 2017,Arras,France,June 27?30,2017,Proceedings,Part II.Cham:Springer International Publishing,2017:428?438.

[ 8 ] RONG X. WORD2VEC PARAMETER LEARNINGEXPLAINED [ EB/ OL]. HTTPS: ∥ ZHUANLAN. ZHIHU.COM/ P/183161311.

作者簡介:

黃宇皓(2001—),本科,研究方向:大數據分析。

猜你喜歡
機器學習知識圖譜
基于詞典與機器學習的中文微博情感分析
國內圖書館嵌入式服務研究主題分析
國內外政府信息公開研究的脈絡、流派與趨勢
基于知識圖譜的產業集群創新績效可視化分析
基于知識圖譜的產業集群創新績效可視化分析
基于網絡搜索數據的平遙旅游客流量預測分析
基于知識圖譜的智慧教育研究熱點與趨勢分析
前綴字母為特征在維吾爾語文本情感分類中的研究
從《ET&S》與《電化教育研究》對比分析中管窺教育技術發展
基于支持向量機的金融數據分析研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合