《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于知識圖譜的保險領域對話系統構建
基于知識圖譜的保險領域對話系統構建
2019年電子技術應用第9期
代文韜1,林詩璐2,朱小燕1,黃民烈1
1.清華大學 計算機科學與技術系,北京100084;2.華北電力大學 控制與計算機工程學院,北京102206
摘要: 在當前人工智能技術發展的熱潮中,對話系統已經越來越實用化。與一般的閑聊對話系統不同,特定領域的對話系統是基于知識,帶有上下文推理的實用性對話系統。保險領域是典型的特定領域,介紹了一種保險相關領域對話系統的基本構建方法,可以幫助用戶快速、實用地在某特定領域和場景下構建對話系統,且具有一定的推廣性和拓展性。
中圖分類號: TP18
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190566
中文引用格式: 代文韜,林詩璐,朱小燕,等. 基于知識圖譜的保險領域對話系統構建[J].電子技術應用,2019,45(9):18-21,27.
英文引用格式: Dai Wentao,Lin Shilu,Zhu Xiaoyan,et al. A knowledge-based dialogue system for insurance domain[J]. Application of Electronic Technique,2019,45(9):18-21,27.
A knowledge-based dialogue system for insurance domain
Dai Wentao1,Lin Shilu2,Zhu Xiaoyan1,Huang Minlie1
1.Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China; 2.School of Control & Computer Engineering,North China Electric Power University,Beijing 102206,China
Abstract: With the development of interactive intelligence technology, dialogue system becomes more and more practical. Unlike general chat-bots, the dialogue system for specific domain is a practical dialogue system with contextual reasoning and based on knowledge. The insurance domain is a typical specific domain. This paper introduces a basic construction method of the dialogue system in insurance related domain, which can help users to construct a dialogue system in a specific domain and scene quickly and practically, and has the ability of promotion and expansion.
Key words : dialogue system; knowledge graph; semantic parsing

0 引言

    人工智能是當前世界科技發展的潮流。問答系統和對話系統是人工智能系統中既古老而又年輕的話題。隨著互聯網服務對象的規模日益擴大,為了提高效率,降低人力成本,很多特定領域的服務都開始引入自動問答系統。保險行業由于其業務量大、業務范圍廣、業務面對的對象多等特點,非常需要對話系統的建設。

    圖1中描述了特定領域對話系統的一般結構,自然語言理解模塊對用戶的問題進行語義分析,產生語義結構,再通過對話管理和答案生成模塊得到答案。對于特定領域的對話系統,知識圖譜的地位非常重要。沒有知識,就不能理解用戶輸入的上下文,也就不能進行對話。在結合知識的基礎上,對自然語言進行分析,識別出用戶的意圖,通過對話管理,生成多輪的對話。

rgzn1-t1.gif

    雖然隨大數據和人工智能的發展出現了很多通用的知識圖譜,例如Google的Knowledge Graph[1]就已經有了30億條數據,但是如此龐大的圖譜不足以支撐垂直領域所需要更細致的專業知識,對于保險領域來說也是如此。保險行業由于知識的復雜性、動態性和保密性,缺乏真實可用的知識圖譜和與之相對應的語法分析與對話管理。

1 知識圖譜構建和維護

    對于領域的對話系統,知識圖譜是非常重要的。當需要在一個新的領域構建一個對話系統時,首先必須做的就是構建出可以反映領域知識的知識圖譜,然后在知識圖譜的基礎上,才可以真正地理解用戶的意圖,從而實現有上下文交互的對話流程。

1.1 知識圖譜的表示

    通常來說,知識圖譜是基于語義網對概念、關系的抽象描述,描述專業領域知識和各類資源及資源之間的關系,可以幫助人類和計算機更好地協同工作[2]。本文使用RDF和RDFS作為知識圖譜的描述語言[3]

    資源描述框架(RDF)是用來表示萬維網上各類資源和信息的一種語言,用三元組(Triple)的方式描述對象和對象之間的關系,通??梢孕问交癁?Subject,Predict,Object),簡稱為SPO。

    RDF Schema(RDFS)是對RDF的一種擴展。RDF通過類、屬性和值來描述資源,在此之外,RDF還需要一種定義應用程序專業的類和屬性的方法。應用程序專用的類和屬性必須使用對RDF的擴展來定義。RDF Schema就是這樣一種擴展,專門用來定義知識圖譜的結構框架Schema。

1.2 知識圖譜構建的一般方法

    知識圖譜的構建包括了本體的構建與知識實例的填充。常用知識圖譜構建方法有企業建模法(Tove)、骨架法(Skeletal Methodology)、Methontology法、循環獲取法、七步法等[4-5]。根據特定領域具體情況,本文借鑒了七步法構建知識圖譜。7個步驟如圖2所示,分別為:

rgzn1-t2.gif

    (1)確定知識圖譜的專業領域和范疇。明確構建的語義本體所覆蓋的專業領域、構建目的、作用、維護和應用對象(這些元素與領域本體的建立有著很大的關系,所以在開發語義本體前就必須確定)。

    (2)考慮復用現有語義本體的可能性。

    (3)列出語義本體中的重要術語。著手建立自己的本體前,先根據專業知識重要術語列出一個術語表。

    (4)定義類(Class)和類的等級體系(Hierarchy)。建立一個類等級體系一般來說有3種方法:一是自頂向下法,從領域中最大的通用概念開始,而后將這些概念細化;二是自底向上法,由等級體系樹中底層葉子類的定義開始,然后將這些葉子類合并為更為概括的較大概念(即向上回溯);三是綜合法,綜合以上兩種方法,首先定義直接大量顯而易見的概念,然后再對它們進行進一步的歸納和細化。

    (5)定義類的屬性。一旦定義好了類,就要開始描繪概念間的內在結構,即類的屬性。任意一個類的所有下位類都會繼承其上位類(父類)的屬性。為了方便操作,屬性的定義多是基于之前列出的術語清單。

    (6)定義屬性的限制。屬性限制有許多不同的類型,如描述賦值類型(value type)、允許的賦值(allowed value)以及賦值的基數(cardinality)。除了上述幾種限制外,還有值域(range)和定義域(domain)的定義。

    (7)創建實例。在類和屬性的結構確定后,根據實際情況和知識,建立實例。

1.3 保險領域知識圖譜

    保險領域包括了產品、個險、核保和養老社區等子領域。通過4步法,本文構建了如表1所示的知識圖譜。

rgzn1-b1.gif

    以保險產品為例,按照圖3的方式定義了保險的層次類別。

rgzn1-t3.gif

    一個具體的保險產品就是一個保險產品類的實例,同時具有多個屬性。很多時候,實體和屬性的關系往往比較復雜,這也需要在知識圖譜里面加以體現。

    最簡單的情況就是“實體-屬性-值”,例如:(XX保險定義<def>)。除此之外,還存在以下幾種復雜的情況,如圖4所示。

rgzn1-t4.gif

    (1)實體-屬性-屬性

    例如:對于問句“我投保你們這個產品A的時候,定價是怎么定出來的?”,表示了如下的實體屬性關系:“產品A-投保-定價方式-值”。在這種情況下需要引入一個空白節點(Blank Node),產品A是實體,投保是對象屬性(OP),定價方式是數據屬性(DP)。

    (2)實體-屬性-屬性-約束條件-值

    例如:對于問句“我是個青少年,投保你們這個產品A的時候,定價是怎么定出來的?”,表示了如下的實體屬性關系:“產品A-投保-定價方式-青少年-值”。即產品A是實體,投保是OP,條件屬性(UC)為年齡階段,條件是青少年,定價方式是DP。

    (3)實體+實體-屬性

    例如:對于問句“產品A訂單的查看方式是什么?”,表示了如下的實體屬性關系:實體1是產品A,實體2是訂單,查看方式是DP。

2 語義分析

    語義分析是對話系統的核心,它負責分析輸入的自然語言中關鍵的要素和整體的意圖,對整個問答系統的處理能力起著至關重要的作用。

    基于語義模板的語義分析模型是比較成熟的語義分析方法。由于在特定領域,用戶所用的語言和所涉及的語言變化相對較少,使用語義模板可以基本覆蓋實際的需要,具有簡單易行、準確性高、實用性強的特點。

    因此本文采用了改進的基于語義模板的語義分析模型。一方面把領域無關的語義知識和領域相關的語義知識分開,另一方面利用多層次模板生成的方法,保證模板的準確度與靈活度。模板既人工可控,可以較為精確地處理每一類問題,又可以充分體現人類智慧在人工智能中起到的指導意義。語義分析的基本流程如圖5所示。

rgzn1-t5.gif

    圖5表示了語義分析的整個流程:自然語言通過預處理,得到分詞后的字符串流,包括了各種命名實體的識別、特殊符號的識別等。字符串流和模板庫中的模板進行匹配,得到相應的對話意圖。同時輸入的字符串通過信息檢索的方法,對語料中存在答案的QA對進行搜索,通過相似度比對找到最相似的答案。后處理模塊決定采用模板還是QA對的結果,將結果輸出到對話管理。

    語義模板規則是通過模板的形式把用戶的意圖映射到知識圖譜上面,例如:

    句子:如何購買XX人壽險

    模板R:(如何|怎么)(購買|買){{保險產品:e}}→(e,p=“購買方式”,?)

    從工程上來說,類似R這種類正則表達式的方式,用戶維護起來比較困難,很難考慮周全。本文把用戶維護模板與系統模板分開,通過多級語言知識擴展,生成系統模板。

    模板生成模塊遞歸調用同義規則資源,將可維護的模板自動生成為機器使用的模板。所謂的同義規則,主要由3種規則構成:

    (1)停用詞規則:在句子中可以被省略的詞,并不會影響句子的實質語義表達。通常這些詞為副詞、助詞等。

    (2)同義詞規則:在任何上下文中都可以相互替換而保持同義的詞匯。例如:母親和媽媽。這部分資源,可以在已有語言學資源的基礎上(例如:同義詞詞林),經過人工編輯審核得到。

    (3)同義轉換規則:只在特定上下文中是同義的,通常有較大的結構性的變化。這部分資源可以一方面通過人工編輯補充,也可以在較大規模的標注數據上歸納得到。

    如上的規則在很多情況下是領域無關的,維護好同義規則資源,對于領域遷移有很大的益處。

    例如:

    用戶可維護模板:如何購買{{保險產品:e}}

    同義詞規則1:如何→如何|怎樣

    同義詞規則2:購買→購買|買

    統一轉換規則1:如何購買{{NP}}→購買{{NP}}的方式

    可以生成如下的機器使用規則:

    R1:(如何|怎樣)(購買|買){{保險產品:e}}

    R2:(購買|買){{保險產品:e}}的方式

    這樣就實現了用戶可維護性與機器匹配便利性的統一。

3 對話管理

    對話管理模塊的作用是處理對話的上下文信息,進行相應的邏輯運算并返回回答結果的表達式。特別對于保險領域來說,用戶的主要目的不是閑聊,而是要獲取相應信息,對話的進程有一定的限定性和指向性。對話管理模塊主要包含了對話管理模型與自然語言生成兩部分內容。

    在經過語義分析和意圖分析后,輸入的自然語言已經被轉化為一個較為明確的邏輯表達式。對話模型旨在建立一個完整的對話流程控制和對話邏輯處理的體系,以完成對話系統的對話功能。結合特定領域的特點,本文采用了基于有限狀態自動機的對話模型[6-7],同時結合了填表的方法來構建對話管理模塊,如圖6所示。

rgzn1-t6.gif

    在當前保險領域,自動機的狀態由{實體,意圖,條件,上下文}四元組決定。狀態之間轉移而發生的對話動作(DA)主要有寒暄、反問、推薦、查詢。自動機的設計遵循如下的規則,在當前狀態下:

    (1)如果意圖是寒暄,就回答寒暄;

    (2)如果可以在知識圖譜中得到結果,就返回查詢結果;

    (3)如果在知識圖譜中沒有找到結果,返回推薦;

    (4)如果在知識圖譜中找到多個結果,按照條件或者意圖反問澄清,并根據回答更新上下文。

    考慮到保險知識圖譜的復雜性,自動機在自動生成的基礎上,針對知識圖譜的特殊結構做了特別的處理。

    例如:保險的投保年齡分別涉及投保人和被保險人的年齡,而年齡又有上限和下限的具體限制,如圖7所示。在查詢投保年齡時,系統檢查上下文中是否包含了“對象”信息,以及所問的具體屬性是否明確。如當用戶詢問“X保險最小幾歲能買”時,系統反問“您想問的是X保險哪個對象的投保年齡下限:投保人、被保險人”,此時如果用戶補充“被保險人”,系統便能回答“X保險被保險人的投保年齡下限為0歲”。

rgzn1-t7.gif

    每輪對話都會產生DA,DA由邏輯表達式通過可編輯的模板生成自然語言回答。答案生成模板是開放用戶維護的。如果通過答案表達式索引到了多個模板,則從這些模板中隨機進行選擇,答案的形式可以變得更加豐富,也使得系統與人交互更為友好和智能。答案生成的數據資源和自動機邏輯是完全分離的,這使得系統能夠快速有效地進行遷移。

4 系統實現

    本文在保險領域構建了實用的對話系統。為搭建系統,在9 000條用戶真實QA數據上進行了實體和意圖的標注,構建了約800個語義模板。在40 000條用戶真實測試集合上取得了93%正確率的效果,系統在實際的運行中,不滿意占比小于10%,效果良好。

    圖8為系統真實的問答記錄。

rgzn1-t8.gif

5 結論

    本文從特定領域的特點出發,介紹了特定領域對話系統的構建方法??偟膩碚f特定領域的對話系統是以知識圖譜為靈魂,語義解析和對話管理為核心的對話系統,強調實用性,時效性,可移植性。在具有較高冷啟動性能的基礎上,通過從易到難,從簡單到復雜,從數據到知識,再從知識到數據的過程,逐步提高系統的表現。

    未來的系統還主要需要在如下幾個方面加強:

    (1)從較大規模無結構數據中提取知識的有效性,利用半監督學習和增強學習的方法,盡量減少人工干預;

    (2)更有效率和操作性的知識圖譜構建方法論;

    (3)適用于特定領域的語法分析器,在滿足數據量的基礎上,結合知識圖譜的向量化,通    過深度學習,得到更好的語言模型;

    (4)更好地利用數據評價知識,并對知識進行加權,甚至引入部分常識性表示;

    (5)更好地利用知識評價數據,減少標注數據的偏置,通過主動交互的方法,更有效地加快系統收斂的速度。

參考文獻

[1] EHRLINGER L,WOB W.Towards a definition of knowledge graphs[C].SEMANTICS,2016.

[2] 李潔,丁穎.語義網、語義網格和語義網絡[J].計算機與現代化,2005,7(4):38-41.

[3] MANOLA F,MILLER E.RDF primer recommendation[EB/OL].(2004-02-10)[2019-05-14].http://www.w3.org/TR/rdf-primer.

[4] 韓韌,黃永忠,劉振林,等.OWL本體構建方法的研究[J].計算機工程學報,2008,29(6):93-101.

[5] 王梅.OWL領域本體構建方法研究[J].圖書情報工作,2006,50(12):30-35.

[6] 黃民烈,朱小燕.對話管理中基于槽特征有限狀態自動機的方法研究[J].計算機學報,2004,27(8):1092-1101.

[7] LIU Y,HAO Y,ZHU X,et al.A question answering system built on domain knowledge base[C].Web-age Information Management,2015:111-122.



作者信息:

代文韜1,林詩璐2,朱小燕1,黃民烈1

(1.清華大學 計算機科學與技術系,北京100084;2.華北電力大學 控制與計算機工程學院,北京102206)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美一区二区三区在线观看 | 中国免费一级毛片 | 成人黄视频在线观看 | 成年网站在线看 | 欧美亚洲精品在线 | 欧美三级欧美做a爱 | 精品一区二区三区在线观看视频 | 二级毛片免费观看全程 | 天天干天天爽 | 一级黄网站 | 午夜在线网址 | 亚洲国产日韩欧美在线a乱码 | 99热com | 九九国产精品 | 日皮免费 | 7m视频在线观看高清国产7m | 大伊香蕉在线精品视频人碰人 | 六月丁香在线观看 | 一区二区国产在线播放 | 伊人久久大香网 | 国产三级网站在线观看 | 天天干天天草天天 | 在线黄色网 | 97天天做天天爱夜夜爽 | 欧美视频免费播放 | 欧美黄色一级大片 | 午夜在线播放视频 | 亚洲成人免费在线 | 黄色大毛片 | 久久亚洲人成国产精品 | 精品国产免费观看一区 | 老司机午夜性生免费福利 | 最近新韩国日本免费看 | 欧美日韩中 | 色片在线| 91精品视频在线免费观看 | 成人免费大片a毛片 | 91亚洲精品自在在线观看 | 一个人看www在线高清免费看 | 最刺激黄a大片免费观看下截 | 亚洲成a人在线观看 |