王磊 魏勇 邸建勛 楊小琳
?
本體聊天機器人的設計與應用
王磊 魏勇 邸建勛 楊小琳
(31008部隊)
針對互聯網檢索技術在專業(yè)領域知識查詢存在的相關信息過多、需人工篩選的問題,基于聊天機器人發(fā)展現狀,引入本體技術作為聊天機器人的規(guī)則庫存儲載體;基于本體規(guī)則庫的樹形層次結構,設計規(guī)則匹配算法;通過系統規(guī)劃和模塊劃分,構建一款既能聊天又能解答氣象專業(yè)知識的聊天機器人。對聊天機器人在專業(yè)領域的應用和發(fā)展有一定的促進作用,為領域知識共享和獲取提供一個便捷快速的平臺。
聊天機器人;本體;規(guī)則樹;規(guī)則匹配算法
隨著科學技術和信息技術的迅猛發(fā)展以及互聯網的廣泛應用,人們對于知識的需求量越來越大。現階段,在追求知識信息量的同時,更加注重獲取知識的便捷快速和質量。
互聯網技術的突飛猛進已經能夠滿足人們對知識“量”的需求,但卻無法保證知識的“質”。人們通過各種檢索引擎(百度、Google、Sogo等),從互聯網獲得大量的信息,但從中篩選有用的信息卻是比較繁瑣困難的過程[1]。現階段,因為大部分搜索引擎基于串匹配模式,檢索的無用相關信息較多,不能滿足用戶比較復雜的檢索要求,檢索結果不盡如人意[2]。
聊天機器人是一個模仿人的語言習慣,通過模式匹配的方式尋求最佳答案的自動問答系統[3]。一問一答,不存在信息篩選的困惑。所有問題的答案均是根據已建立的規(guī)則庫進行規(guī)則匹配和推理得到,具有準確性高、知識獲取便捷的特點。通過記錄對話歷史信息、主動轉移話題、主動提問等方式,實現人與人對話的模擬。目前比較成熟的聊天機器人有TalkBot、Elbot、eLise、Alice、Laylahbot、小黃雞等等[4]。由于氣象知識專業(yè)性較強,在氣象領域中應用聊天機器人進行氣象知識的問答對規(guī)則庫的設計要求比一般系統更高。構建的規(guī)則庫要求結構更加完整,條理更加清晰,答案更加準確。
本體作為一種新型的數據存儲模型,在信息存儲、共享等領域有著越來越廣泛的應用。它以樹形存儲結構為原型,具有極強的層次結構和知識關聯性關系,符合聊天機器人的規(guī)則樹要求[5],同時還能應用本體的關聯性特點進行語義擴展查詢,因此本文選用本體作為聊天機器人的規(guī)則存儲模型。
聊天機器人主要通過自然語言,以聊天的方式與人交互,根據人的語言習慣,結合用戶問題,給出人性化的回答。最早的聊天機器人是1956年由Jaseph Weizenbaum創(chuàng)造的“Eliza”[6]。它根據用戶輸入的關鍵詞進行搜索,基本上能夠實現人機間的簡單對話。但由于Eliza僅僅根據第一個關鍵詞搜索答案,沒有進行優(yōu)先級比較、規(guī)則最優(yōu)匹配等步驟,使得一些優(yōu)先級較低的規(guī)則幾乎永遠不會被匹配到。
隨后聊天機器人進入快速發(fā)展階段。“Claude”加入了模式匹配,提升了回答語句語法以及語義的準確性;“Cyber Ivar”提升響應速度的同時,極大地增強了知識庫;“Alice”定義了豐富的標簽,具有各種擬人的智能[7]。
聊天機器人相關技術的發(fā)展日趨完善。語法分析、句法分析、問題分類、命名實體識別、句型識別、語義分析、語料庫技術、相似度計算、模式匹配等技術在聊天機器人中的應用和發(fā)展完善進一步促進了聊天機器人的智能化。
聊天機器人經過60多年的發(fā)展,已經形成了一套相對完整的理論和實踐體系,但也存在一定的缺陷。目前,幾乎所有的聊天機器人主要采用模式匹配的方法來尋找最佳答案,基于程序和談話技巧設計,對于常識性問題往往采用側面回答的方式。例如,當用戶問:“您知道云分為哪幾類嗎?”,聊天機器人的回答是“這個太簡單了,咱換個話題吧。”,這樣的回答無法滿足用戶的真實需求。
為了解答用戶各種專業(yè)問題,聊天機器人在其他領域的應用也越來越廣泛,特別在英語教學、電子商務等領域得到越來越多的青睞。這些專家機器人除具有基本的聊天對話功能外,還能進行專業(yè)領域問題的解答,充分發(fā)揮了聊天機器人便捷和快速反應的優(yōu)勢。
本體的概念最初來源于哲學領域,現階段在語義檢索、知識智能查詢等方面已得到廣泛應用[8]。它以樹形存儲結構為原型,主要包括3個要素:核心元素集、元素間的關系和元素的屬性(數據屬性、對象屬性),通常也稱作類、實例和關系。
目前本體的構建主要以人工構建為主,本體自動構建、半自動構建有一定的發(fā)展,但目前相對成熟穩(wěn)定的方法比較少[9]。在實際運用中存在構建過于死板、層次結構不準等問題。本文結合自動構建中語料抽取原理,采用人工構建方法,具體流程如下:
1) 下級子類劃分
為使本體構建層次關系清晰、知識涵蓋全備,首先把知識劃分為多個下級子類,再分別對每個子類進行知識填充;
2) 給定知識術語
給定與各個下級子類相關的氣象學科中的各種概念、定律、現象和公式等,涵蓋領域中的各個知識點[10];
3) 確定層次關系
將給定的各種概念劃分成層次關系,層次結構的劃分可依據不同的專業(yè)方向劃分不同的層次關系,也可根據具體應用劃分所需要的層次結構。
4) 定義實例
定義實例主要指將領域知識作為本體中概念的實例進行語義標注,并根據本體的定義來描述領域知識屬性的過程;
5) 定義實例屬性
屬性包括數據屬性和對象屬性。數據屬性是指本體中概念與數據類型之間的關系;對象屬性是指本體中概念之間的相互關系[11]。本文根據需要定義如下屬性,數據屬性有:描述(des)、中文標題(cnTitle)、英文標題(enTitle)等;對象屬性有:兄弟類(hasBrother)、子類(hasChildren)、父類(isChildOf)。
規(guī)則匹配是智能機器人的核心算法,算法設計的好壞直接影響智能機器人的聊天效果。好的匹配算法也需要結構完善、規(guī)則涵蓋全面的規(guī)則庫作為底層支撐[12]。
結合本體的樹形結構,為提高匹配的準確度和匹配速度,本文將規(guī)則庫構建為規(guī)則樹,并以本體作為存儲模型,將本體中的實例和實例屬性對應為規(guī)則中的條件和結果,已知實例則輸出實例屬性[13]。規(guī)則本體的簡化模型如圖1所示。

圖1 規(guī)則本體簡化模型
根據圖1可知,以規(guī)則開始的規(guī)則有:規(guī)則a-規(guī)則b、規(guī)則a-規(guī)則c、規(guī)則a-規(guī)則d、規(guī)則a-規(guī)則b-規(guī)則e、規(guī)則a-規(guī)則b-規(guī)則f、規(guī)則a-規(guī)則b-規(guī)則f-規(guī)則j等。
規(guī)則匹配采取深度優(yōu)先匹配算法,如果匹配的規(guī)則以規(guī)則a開始,則進一步匹配規(guī)則a的下一級規(guī)則,直到所有規(guī)則全部匹配完畢,輸出最后一級規(guī)則對應的答案,結束匹配;如果未找到規(guī)則a,則剔除規(guī)則a,重復上述匹配流程。
現舉例如下:用戶輸入“請給出云的定義和分類”,進行中文分詞的結果為“請/給出/云/的/定義/和/分類”,提取問題核心關鍵詞為“云”、“定義”和“分類”。系統在規(guī)則樹中以“云”為根節(jié)點進行規(guī)則匹配,如果未找到,則剔除“云”,開始以“定義”進行深度優(yōu)先的遍歷搜索;如果找到“云”,則搜索“云”的子規(guī)則中是否存在“定義”節(jié)點,如果不存在,則剔除“定義”節(jié)點,否則繼續(xù)深度搜索循環(huán),直到找到“云-定義-分類”這條路徑,得到答案進行輸出。匹配算法流程圖如圖2所示。
聊天機器人的工作原理:當用戶輸入問題后,機器人對問題進行中文分詞,抽取問題核心關鍵詞,通過規(guī)則匹配算法進行規(guī)則的最優(yōu)匹配,找到規(guī)則庫中對應的最佳規(guī)則。對于規(guī)則庫中暫時沒有的規(guī)則,則轉入一般算法,進行主動提問或者主動轉移話題處理,給出預先設置的通用答案,并記錄用戶問題,等待領域專家登錄解決[14]。系統結構圖如圖3所示。

圖3 系統結構圖
為便于系統設計管理,根據聊天機器人功能需求和相關技術,將聊天機器人分為人機交互、分詞、規(guī)則匹配、知識庫管理和用戶管理5個功能模塊。系統管理員通過用戶管理模塊為用戶分配用戶名和用戶權限;領域專家利用知識管理模塊定期對記錄的未回答問題進行解答,并更新到知識本體中;用戶通過人機交互模塊,與聊天機器人進行對話,輸入所要查詢的知識或信息;系統將用戶請求通過分詞模塊進行分詞,提取問題核心關鍵詞,并利用規(guī)則匹配模塊,得到問題最佳答案,返回給用戶,如果問題暫無答案,則將問題入庫,等待專家解答。
系統實現主要用到的基礎軟件設計平臺有Java開發(fā)平臺Eclipse、本體設計平臺Protégé和數據庫平臺達夢數據庫。根據本體構建流程,結合維基百科知識結構[6],構建了氣象知識規(guī)則匹配庫,部分截圖如圖4所示。

圖4 本體規(guī)則庫
利用國產達夢數據庫,建立數據表USER,用于存儲用戶權限及訪問流量信息,同時初始化問題反饋表QuestionList,記錄存儲系統暫未解答的用戶請求信息;基于開源信息檢索引擎Lucene工具包實現用戶請求的中文分詞[15]處理,按照規(guī)則匹配算法,完成了本體聊天機器人原型系統的設計和實現。
原型系統主界面如圖5所示。
圖5所示,用戶登錄后,與聊天機器人進行對話,咨詢“南京的氣候類型是什么?”,系統進行規(guī)則匹配找到最佳答案并返回給用戶,快速地解決了用戶的知識需求。當匹配不到問題答案時,系統調用一般算法,給出通用性答案,如圖6所示。同時為便于規(guī)則庫的完善,對于未做解答的問題,系統存入數據庫,等待專家登錄進行解答,如圖7所示。
專家解答完畢后,系統進行相關問題和答案的規(guī)則入庫,進一步優(yōu)化完善規(guī)則庫。

圖5 系統主界面

圖6 系統調用一般算法

圖7 問題解答界面
聊天機器人經過60多年的發(fā)展已日趨成熟,但聊天機器人的應用才剛開始,人們對聊天機器人的定義也在不斷發(fā)展變化。特別是將聊天機器人應用到心理咨詢、教育教學、電子商務訂單處理等領域,對機器人的要求越來越高[16]。
本文結合聊天機器人的主動式問答機制,利用本體的層次結構構建規(guī)則庫,設計并實現了基于本體的氣象知識聊天機器人。該機器人不僅會聊天,更是一個知識淵博的氣象專家。在保證知識獲取“量”的同時,進一步提高了知識獲取的快捷性和準確性,為氣象知識共享提供了一個更加便捷的平臺。
聊天機器人須具有結構完善的規(guī)則庫,這對規(guī)則本體的構建提出更高的要求。要使本體聊天機器人能夠推廣應用到更廣泛的領域,必須進一步完善、規(guī)范規(guī)則領域本體構建方法,特別是研究設計規(guī)則本體的自動構建方法,將極大地促進領域聊天機器人的推廣應用。
[1] 李冠林,顧大權,侯太平,等.氣象信息主動服務系統的實現[J].計算機應用,2013,33(S1):109-111.
[2] 管建和,甘劍峰.基于Lucene全文檢索引擎的應用研究與實現[J].計算機工程與設計,2007,28(2):489-491.
[3] Zakos J, Capper L. CLIVE – An Artificially Intelligent Chat Robot for Conversational Language Practice[C]. Hellenic Conference on Artificial Intelligence: Theories, MODELS and Applications. Springer-Verlag, 2008:437-442.
[4] 馮德虎.基于ALICE的研究生招生咨詢智能聊天機器人研究與實現[D].成都:西南交通大學,2013:1-57.
[5] 王曼,吳振忠.基于領域本體的語義搜索——帶權最短路徑方法[J].計算機與現代化,2013(9):1-7.
[6] 王磊,顧大權,侯太平,等.基于維基百科的氣象本體的自動構建[J].計算機與現代化,2014(6):129-131,136.
[7] Wallace, Richard S. (2009). The anatomy of ALICE Parsing the Turing Test (pp. 181-210): Springer.
[8] 杜小勇,李曼,王大治.語義Web與本體研究綜述[J].計算機應用,2004, 24 (10):14-16,20.
[9] 金鑫.面向Web信息資源的領域本體模型自動構建機制的研究[J].計算機科學,2012,39(6):213-216.
[10] Hwang M, Kong H, Kim P. The Design of the Ontology Retrieval System on the Web[C]. Advanced Communication Technology, 2006. Icact 2006. the, International Conference. 2006:1815-1818.
[11] Vallet D, Fernández M, Castells P. An Ontology-Based Information Retrieval Model[M]. The Semantic Web: Research and Applications. Springer Berlin Heidelberg, 2005:103-110.
[12] 王偉輝,耿國華,周明全.規(guī)則軟件系統模式匹配算法研究綜述[J].小型微型計算機系統,2012,33(5):913-920.
[13] 杜均,蔡之華,陳云亮,等.規(guī)則樹—柵格圖像分層次關聯規(guī)則提取方法[J].計算機工程,2005,31(11):85-87.
[14] 武婉萍.網絡機器人的交互功能設計與實現[D].成都:電子科技大學,2012:1-76.
[15] Huang Changning, Zhao Hai. Chinese word segmentation: A decade review[J]. Journal of Chinese Information Processing, 2007,21(3):8-20.
[16] 李玉敏.電子商務訂單實時處理的軟件機器人實現[J].吉首大學學報(自然科學版),2009,30(3):48-51.
The Design and Application of Chat Robot Based on the Ontology
Wang Lei Wei Yong Di Jianxun Yang Xiaolin
(31008 Troop)
According to the characteristics of internet searching technology in the professional field which has too much correlation useless information and need people to filter useful information manually, the paper summarizes the development and status quo of chat robot. On this basis, we introduce the ontology technology as the storage carrier of chat robot rule repository. Based on the tree structure of ontology, the paper designs the rule matching algorithm. Through the system planning and module dividing, we build a chat robot which can not only chat with people but also solve meteorological professional problems. The paper, as it were, promotes the development and application of chat robot in the professional field, and provides a more convenient domain knowledge acquiring and sharing platform.
Chat Robot; Ontology; Rule Tree; Rule Matching Algorithm
王磊,男,1990年生,碩士研究生,工程師,主要研究方向:語義檢索。E-mail:449644183@qq.com
魏勇,男,1987年生,博士研究生,工程師,主要研究方向:人工智能。