孫晶 郭成艷 毛臣 胡玉葉




摘 ?要:近年來,新疆旅游業發展趨勢越來越好,優美的風光,豐富的物產,受到國內外游客的喜愛。由于新疆地大物博,導致多數游客不能準確找到目的地。建立了一個新疆旅游知識圖譜結構描述和形態分析的可計算方法體系,提出將自動問答系統運用于新疆旅游。創建新疆旅游知識圖譜并構建基于新疆旅游知識圖譜的自動問答平臺,目的是使游客在存放著海量結構化知識的圖譜上快速獲取正確答案,為游客游覽景區時減少不必要的時間消耗。
關鍵詞:知識圖譜;Neo4j數據庫;自動問答系統;新疆旅游
中圖分類號:TP182 ? 文獻標識碼:A 文章編號:2096-4706(2021)12-0026-04
Abstract: In recent years, the development trend of Xinjiang tourism is getting better and better. The beautiful scenery and rich products are loved by tourists at home and abroad. Due to the vast territory and abundant resources in Xinjiang, most tourists can't find their destination accurately. A computable method system for structural description and morphological analysis of Xinjiang tourism knowledge graph is established, and the application of automatic question answering system in Xinjiang tourism is proposed. The purpose of creating Xinjiang tourism knowledge graph and constructing an automatic question answering platform based on Xinjiang tourism knowledge graph is to enable tourists to quickly obtain correct answers on the graph with a large amount of structured knowledge, so as to reduce unnecessary time consumption of tourists when they visiting scenic spots.
Keywords: knowledge graph; Neo4j database; automatic question answering system; Xinjiang tourism
0 ?引 ?言
早期自動問答系統大都針對特定領域構建,需要領域專家撰寫大量領域相關的規則用于問題理解和答案生成,極大地限制了該類自動問答系統的規模和通用性。20世紀60年代,Green等人提出BASEBALL系統,Woods提出使用自然語言檢索NASA數據庫,Winograd提出SHRDLU系統。自動問答內容系統START是由MIT麻省理工學院1993年研究開發并發布使用的從此自動問答進入開放領域問答時代。Evi是2005年上線的基于知識圖譜(knowledge graph)核心技術的問答型搜索引擎。斯坦福在2016年發布了SQUAD數據集。2018年3月百度發布了中文機器閱讀理解數據集DuReader,與中國中文信息學會和中國計算機學會共同舉辦了“2018機器閱讀理解技術賽”。新疆豐富的旅游資源吸引著全國的游客來觀光,但仍缺乏一個能夠隨時隨地解答新疆旅游問題的自動問答系統來幫助游客解決心中的疑惑。近年來,隨著人工智能的飛速發展,自動問答技術也取得了突飛猛進的發展,如果將自動問答技術應用于回答旅游愛好者在新疆旅游遇到的問題,新疆旅游將會有更好的發展前景。
1 ?知識圖譜
知識圖譜這個理論是以20世紀50年代末60年代初的語義網絡(semantic net)為原型提出來的。知識圖譜這個概念Google在2012年提出來的一個新概念。知識圖譜把一個叫做三元組(triple)的數據結構作為知識存儲和表示的基本單元。現在,國際上流行的的知識圖譜有Freebase、DBPedia,YAGO和Satori等等,他們的主要內容還是源自于早期一些大型平臺Wikipedia、NNDB、Musicbrainz以及這些平臺的社區用戶的貢獻。2012年,從Google開始發布基于知識圖譜的語義搜索和自動問答服務以后,學術屆開始研究知識圖譜的典型應用。慢慢的,業界學術研究團隊對垂直知識圖譜進行有針對性的研究,針對某些特定領域特定專業知識為基礎創建的垂直知識圖譜,其創建過程依賴特定專業領域的行業數據的依賴度非常高,在知識領域各專業的全領域覆蓋范圍較窄。當前如何脫離專業領域數據庫使得知識圖譜能夠進行自動獲取和實際應用是目前各領域中最重要的兩個課題。
2 ?知識圖譜語料庫創建
本文研究多源異構方式建立新疆旅游實體生成資源技術,本文研究的數據從一開始的設計由百科網頁中用爬蟲來進行爬取,由于爬蟲的設計和數據清洗技術熟練度好,所以在后續的應用中沿用了爬蟲爬取百科網頁結構化數據,在爬蟲過程中主要應用傳統方法就是Partial Page Rank策略,該策略的優先度設計為重要程度較高的網頁爬取有限權重系數較高。爬取好網頁數據后,使用人工數據清洗的方法將爬取到的實體、屬性及相互關系等知識手工摘取出來,然后存儲到文本文件當中,使用程序算法再輔以數據提取以三元組的形式儲存到圖數據庫中。這種爬蟲框架輔助人工篩選的方式可以非常有效的達到獲取新疆旅游詞條的目的,并且能夠極大的豐富數據庫資源。各數據資源名詞性對象會生產等實體,各實體間存在的位于和屬于關系,我們會以<實體1,關系,實體2>三元組形式進行數據庫依存關系儲存。實體的屬性是我們數據庫中每個詞條中特定位置對應的,這個詞條中實體屬性的表格能夠自動抽取出實體的屬性,生成<實體,屬性名稱,屬性值>三元組形式進行數據庫儲存。本文為了構建旅游知識圖譜從結構化知識庫和垂直旅游信息數據庫及網站以及百度百科中抽取旅行景點信息,進行旅游領域知識數據庫創建。本文研究的新疆旅游知識圖譜數據庫只要包括地區節點知識圖譜和景點知識圖譜兩部分構建的關鍵技術。
3 ?Neo4j數據庫
本文使用Neo4j數據庫來創建知識圖譜,實現圖數據庫數據呈現。Neo4j是近年來非常流行的用于存儲知識圖譜節點和節點關系的NOSQL圖形數據庫。作為一個高性能的圖數據庫存儲和檢索的圖引擎,該數據庫引擎具有常用數據庫與專業數據庫所具備的所有成熟特性。使用Neo4j圖數據庫的一個優勢就是在對數據進行存儲的同時也是一個知識圖譜的構建過程。通過對前面各種算法抽取的名詞性實體、名詞性實體的屬性以及名詞性實體間依存關系的存儲,就能夠生成一張知識圖譜。
我們使用py2neo,python驅動引擎實現對數據庫的一系列操作。對新疆旅游知識圖譜數據庫中的區、市、縣、景點等層級節點數據進行創建、讀取、更新、刪除的操作。然后在已創建的數據節點上創建下轄和位于等數據依存關系。Neo4j數據庫呈現的新疆旅游知識圖譜數據庫節點及其依存關系圖如圖1所示。
Self.g = Graph(‘http://localhost:7474’,username = ‘neo4j,password=‘neo4j’)
elif question_type == ‘city_have’:
sql=[“MATCH ( m:‘縣市’)-[r1:‘下轄’]->(k:‘景區’) where m.name = ‘{0}’”\ “return m.name,k.name”.format(i) for i in entities]
for query in queries:
ress = self.g.run(query).data()
在圖數據庫中,圖1中心部分表示的是哈密地級市的縣和市,與縣和市連接的是縣和市中的景區,縣和市中的景區外側連接的是新疆維吾爾自治區對應的各個地區,數據庫中有地區位于縣(或市)和縣(或市)下轄地區兩種關系,如哈密市位于哈密地級市,哈密地級市下轄哈密市。景區與縣(或市)同樣也有位于和下轄兩種關系,如東天山位于哈密市,哈密市下轄東天山。如果想做多種關系,也可在數據庫中進行添加。
4 ?基于圖數據庫的自動問答設計
本系統對新疆旅游知識圖譜數據庫當中的區、市、縣、景點以及位置關系進行抽象,歸納出概念間的體系結構,進行本體三元組抽取,構建知識圖譜。構建知識圖譜圖數據庫,對用戶所提取的問題進行命名實體識別、關系抽取,然后到圖數據庫中進行答案匹配,如圖2所示。
4.1 ?問題解析
自動問答系統的問題處理流程有:
(1)提前對問題分類。要對用戶的問句即系統接收到的問題進行分類,如表1所示,提前將旅游中所有可能涉及的問題分為了九大類。
(2)提取問題的關鍵詞。對用戶所提問題進行關鍵詞提取,即地區名稱和主要問題,如東天山和通信地址,并過濾掉重復的、無用的信息:
#問句疑問詞
self.telephone_number_qwsd= [‘聯系電話’,‘咨詢電話’,‘電話號碼’,‘電聯’,‘電話號’]
Self.leve_qwds=[‘級別’, ‘啥級別’, ‘幾A級’,‘幾a級’, ‘4A級’, ‘4a級’, ‘什么級別’]
(3)確定問題的類型。將關鍵詞與問題的分類結果進行匹配,確定問題的類型。if question_type == ‘area_have’:
sql = [MATCH (m: ‘地區’)-[r1: ‘下轄’]->(n:‘縣市’)-[r2: ‘下轄’]->(k:‘景區’)”\
“where m.name = ‘{0}’”\ “return m.name,k.name”.format(i) for i in entities]
elif question_type == ‘telephone_number’:
sql = [“MATCH (m: ‘景區’) where m.name = ‘{0} return m.name,”\
“m.telephone”.format(i) ?for i in entities]
elif question_type == ‘AAAA_fare’:
sql = [“MATCH (m: ‘景區’) where m.name = ‘{0} return m.name,”\
“m.name,m.off_season_fare,m.peak_season_fare”.format(i) ?for i in entities]
4.2 ?答案抽取
答案抽取作為自動問答系統的收尾步驟,但它卻是最關鍵的一步,針對用戶的問題類型屬性到數據庫中進行二次匹配,生成問題的答案。經過答案抽取這一過程后,用戶所提出的問題的答案將以最簡潔易懂的形式回答,如果答案抽取過程不能將正確答案準確的抽取出來,那么將會嚴重影響整個自動問答系統的準確性。在新疆旅游項目中,我們以模式匹配的形式進行答案抽取。
根據上文中問題解析的結果,我們將所確定的問題類型與圖數據庫中的數據進行匹配,如果匹配成功,將反饋的內容生成對應的回答:
'''根據對應的qustion_type,調用相應的回復模板'''\n",
if question_type == 'area_have':
desc = [i['k.name'] for i in answers]
subject = answers[0]['m.name']
final_answer = '{0}有如下4A級景點:{1}'.format (subject, ';'.join(list(set(desc))[:]))
5 ?程序結果驗證
最后我們根據用戶所提問題關鍵字查找圖數據庫中的數據,根據反饋結構生成對應的回答,生成回答程序驗證結果如圖3所示。
6 ?結 ?論
隨著互聯網數據的海量增長、硬件計算能力的飛速提高以及自然語言處理和深度學習技術的長足進步,自動問答方法的應用也比以往任何一個歷史時期都更貼近人們的日常生活。本文設計和構建了新疆維吾爾自治區旅游景點信息的知識圖譜,創建了Neo4j語料庫,針對新疆旅游業問答系統的不足,設計了自動問答系統,并對自動問答系統中的問題解析和答案抽取方法進行了研究,最后并進行了結果驗證。將自動問答系統應用于新疆旅游領域,可以促進新疆旅游信息的智能化管理發展,提升服務水平,這個價值是具有較大影響的。最近這幾年推薦系統不管是研究還是發展都愈發的得到社會的關注,知識圖譜建立的理論以及技術都愈發的完善,知識圖譜包含的語義信息可以在很大的程度上對旅游景點相關信息進行健全,提高推薦系統的性能。
參考文獻:
[1] 徐增林,盛泳潘,賀麗榮,等.知識圖譜技術綜述 [J].電子科技大學學報,2016,45(4):589-606.
[2] 劉知遠,孫茂松,林衍凱,等.知識表示學習研究進展 [J].計算機研究與發展,2016,53(2):247-261.
[3] 劉嶠,李楊,段宏,等.知識圖譜構建技術綜述 [J].計算機研究與發展,2016,53(3):582-600.
[4] ARTZI Y,LEE K,ZETTLEMOYER L. Broad-coverage CCG Semantic Parsing with AMR [C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing.Lisbon:Association for Computational Linguistics,2015:1-6.
[5] LI J H,ZHU M H,LU W,et al. Improving Semantic Parsing with Enriched Synchronous Context-Free Grammars in Statistical Machine Translation [J].ACM transactions on Asian language information processing,2017,16(1):6.1-6.24.
作者簡介:孫晶(1978—),女,回族,新疆新源縣人,講師,碩士,主要研究方向:機器學習、最優化算法、音頻信息處理、自然語言與信息處理;郭成艷(2002—),女,漢族,陜西延安人,本科在讀,主要研究方向:機器學習、最優化算法、音頻信息處理、自然語言與信息處理;毛臣(1999—),男,漢族,河南南陽人,本科在讀,主要研究方向:機器學習、最優化算法、音頻信息處理、自然語言與信息處理;胡玉葉(2001—),女,漢族,新疆哈密人,本科在讀,主要研究方向:機器學習、最優化算法、音頻信息處理、自然語言與信息處理。