中科信利語義理解 首頁 > 技術產品 > 中科信利語義理解

語義理解引擎系統功能

基于中科院聲學所語義理解引擎,能夠根據業務內容文本進行業務類別的自動分類。

可利用直接獲得的客服領域用戶輸入文本、語音識別結果文本或者關鍵詞檢索結果,構建相關模型,實現業務歸類。

系統架構

中科院聲學所語義理解引擎采用Java編寫搭建,可以提供云端網絡服務或者嵌入本地代碼中使用。語義理解核心算法采用GATE(General Architecture for Text Engineering)編寫實現,模塊使用XML進行描述,而規則部分采用JAPE文件編寫,具有很高的靈活性和可擴展性。

語義理解框架協議通過HTTP訪問來實現數據的交換,請求參數編碼于URL當中,可以為UTF-8GB2312或者其他Java支持的編碼。系統在接收到訪問請求后,返回XML標記語言格式的結果,XML輸出文檔可以為UTF-8GB2312或者其他Java支持的編碼格式。

中科院聲學所語義理解引擎主要針面向于限定領域的語義理解和信息抽取,例如智能手機、智能電視等。針對于限定領域句法固定,詞表相對穩定不變的特點,我們主要采用規則匹配的方法。現階段實現了基于有限狀態機的領域詞表匹配,正則文法規則匹配,基于Levenshtein編輯距離的模糊匹配等幾個模塊。

本節包括口語理解系統拓撲結構,以及系統功能的基本要求等內容。

引擎拓撲結構


 

58:引擎硬件架構

    

引擎的硬件架構如上圖所示,現將各個子系統介紹

 

口語理解服務器

口語理解服務器基于 Apache Tomcat架構,主要實現對 HTTP 查詢請求的處理,實現轉發和重定向,具備極高并發、處理能力。

口語理解服務器負責接收語音識別服務器提交的用戶的文本輸入,將文本進行理解,最后將理解結果返回給語音識別服務器。系統具有響應速度快、準確率高等特點。

 

數據庫服務器

數據庫服務器主要提供了口語理解詞表存儲、應用信息存儲等功能。

在口語理解詞表存儲方面,數據庫服務器提供了理解服務器所需的大詞表,以方便理解服務器進行動態更新。

在應用信息存儲方面,數據庫服務器存儲了各個應用所需的信息數據,例如天氣數據、epg信息等,以方便理解服務器對其查詢并反饋給用戶。

系統功能實現


 

59:中科院聲學所語義理解引擎架構

中科院聲學所語義理解系統的軟件架構如上圖所示,現將各個模塊介紹如下:


規則文法模塊

規則文法模塊主要利用專家知識,轉化為規則文法,精確快速地提取文本包含的語義要素和語用。采用正則文法、有限狀態詞表、Levenshtein編輯距離等多種匹配方式進行匹配,以保證系統的魯棒性。

 

正則文法匹配

正則文法是自然語言領域中經常使用的一種文法形式,他和正則表達式,有限狀態機具有一一對應關系,適用于基于規則的文本匹配與內容理解。這部分我們采用GATE中的JAPE格式進行編寫,規則部分獨立于引擎Java代碼,更易于維護。而JAPE文件中可以嵌入Java代碼,可以提供更強大更靈活的功能。JAPE格式的語法類似于普通正則表達式,但匹配單位不是字符而是上游流程標注過的文本。

有限狀態詞表匹配

限定領域使用的詞表往往是固定的。針對這個特點,我們首先對詞表中的單詞進行匹配搜索,對輸入文本進行標注。而如果只是對領域詞表中每個詞進行遍歷及搜索,這樣的算法效率是很低的,并且隨著詞表規模的增加系統效率下降很快。我們首先將領域詞表編譯成一個有限狀態機,之后對狀態機進行搜索,這樣效率大大提高,匹配效率只與輸入有關而和詞表大小無關,并且只進行一次編譯即可多次使用。

 

基于Levenshtein編輯距離的模糊匹配

語義理解引擎的上游輸入可能來自于語音識別引擎,用戶輸入內容可能存在一定失真,或者用戶的表達方法與標準方法存在一定差異。這樣就使得理解內容不在詞表范圍內,但仍與詞表中某些詞條具有一定相似性。考慮到這點,我們有必要使用模糊搜索對輸入內容和詞表內容進行匹配,并給出匹配分數,編輯距離是完成這一任務的很好的工具。Levenshtein編輯距離是比較穩健的算法。

統計方法模塊

統計方法模塊包含兩部分,一是用戶意圖分類,二是命名實體識別。

用戶意圖分類模塊

用戶意圖分類模塊,利用規則和統計相結合的辦法,快速準確的推斷出用戶的意圖。在口語交互過程中,用戶往往是通過較短文字簡單明了地表達出需求,文字短、特征稀疏,并且短文本的識別結果更是容易出錯,如何能夠通過一句短文本推斷出用戶意圖就顯得尤為重要。針對這種情況,我們采取容錯性能高的規則與統計相結合的辦法,規則可以直接明了地提供強特征,而字、詞、音素,n-gram等又可以提供輔助特征要素幫助進行糾錯。

我們針對不同的數據分布會在最大熵分類器(Maximum Entropy Classifiers)和支持向量機分類器(Support Vector Machine Classifiers)中選擇。最大熵分類器訓練速度快,在平穩數據上表現出優異的效果;SVM分類器在數據比較稀疏的情況下,性能優異,但是訓練速度慢。

 

命名實體識別模塊

根據用戶意圖,可以推斷出所屬的領域,例如“我想知道明天北京的天氣情況”,意圖為“天氣查詢”,所屬領域“天氣”。在天氣領域內,需要的信息實體要素包括時間、地點、詢問方式。這時,利用命名實體識別模塊,將時間實體、地點實體抽取出來。詞表匹配

上述實例中,由于地名實體“北京”等是可以窮舉的,并且變形比較少,可以利用詞表匹配的方式進行提取。

 

條件隨機域(場)命名實體識別器

當無法獲取固定詞表的時候,比方說“我想去北大”,地名“北大”是“北京大學”的變形,此時無法通過詞表進行匹配,就需要利用統計模型(CRF命名實體識別器)的辦法進行實體識別。

 

理解結果正則模塊

通常給出簡單的信息抽取要素是不足以滿足結果需求的,例如時間語義要素“明天上午十點”,這僅僅是人能夠理解的形式,需要轉換為計算機能夠識別的格式。該模塊便是對語義要素進行正則,“明天上午十點”à“2014/03/20 10:00 am”。

 

結果輸出模塊

通過前幾個模塊,理解結果基本上成型,利用以上理解結果構成查詢語言,送入到數據庫服務器,得到最終查詢結果,對查詢結果進行解析抽取,將最終結果和理解結果一并反饋給下游,以便進行下一步的處理。
例如,理解結果“天氣查詢”,“明天:2014/03/20”,“北京”,“下雨嗎”,組織成數據庫查詢語言:select * from WeatherBase where date=’2014/03/20’ and location=’北京’,得到查詢結果“北京,今天晴,最高8度,最低-3,北風4至5級轉微風,天氣寒冷”,然后進行解析和重組得到“北京明天沒有雨,是晴天呢!”。
口語理解系統的輸出結果以XML的形式進行展示,XML是標準通用標記語言(SGML)的子集,非常適合Web傳輸,可讀性高。

 

系統功能特點

中科院聲學所口語理解引擎主要針對限定領域的口語進行理解和信息抽取,具有

基于字的統計序列標記策略,多種措施保證理解的魯棒性。

準確率高,相應速度快。

已經實現ott、epg、天氣、電視頻道等領域的語義理解功能,領域擴展性高。

以網絡服務方式提供,以XML作為輸出結果,輸入輸出靈活。

并發性高,可滿足高負荷網絡環境。

 

人機口語對話控制機制

對話控制原理

口語對話模塊實現了基于有限狀態機和基于幀的對話控制策略,兩種控制方式的特點敘述如下。

基于有限狀態機的對話策略:對話由多個離散狀態構成,各個狀態間存在一定的跳轉關系,當用戶輸入滿足一定狀態時即可出發狀態跳轉。這種控制方式較適合流程確定的對話,在對話過程中系統占主導地位。

基于幀的對話策略:無需定義狀態的跳轉關系,當用戶輸入滿足一定時可直接跳轉進入某一狀態。與1)相比這種狀態轉換方式是全局性的,跳轉更為靈活,更加適合于依賴用戶主導的對話。

會話控制

會話控制(Session management)是對話模塊的重要功能之一,SID是決定當前會話的唯一標識符。通過會話控制,可實現在多個用戶同時訪問對話模塊時系統能夠區分每個用戶的對話狀態。

現有會話控制有三種方法:

基于cookie的會話控制方法,即首次使用瀏覽器登錄,系統為用戶創建新的對話,并且把SID保存在cookie中發回給用戶,下次發送請求時返回給系統繼續之前對話。對話模塊自帶的網頁測試客戶端即采用這種方式進行會話控制。

由對話模塊進行會話控制,即首次登錄系統,系統為用戶創建新的會話進程,并且把SID寫入輸出的xml文檔中的SID字段,客戶端需要在以后的每一次請求把該SID作為URL參數發送給系統。

由客戶端進行會話控制,即首次登錄系統時客戶端將自己生成的SID作為URL參數發送給系統,之后系統自動創建新的會話,與2)相同,以后每一次對話需要發送相同的SID。

現有手機智能語音助手采用第2種會話控制方式。


超時控制

當用戶長時間沒有新的輸入,狀態機會一直停留在同一狀態中,這會造成很長時間之后用戶再次訪問對話模塊時,系統會繼續之前對話狀態。為了避免這種情況發生,對話模塊引入超時機制。即用戶最近一次訪問對話模塊之后,系統定時器開始計時,超過特定時間之后,狀態機自動跳出當前對話狀態,進入非特定領域狀態(domain_unspecified)。超時時長通過URL中的timeout參數給出,沒有給出則默認20s。


狀態訪問控制

在高噪聲環境下,識別系統或理解系統可能無法給出正確結果。此時會造成狀態機停留在某一狀態中,反復提示用戶回答特定內容,造成較差的用戶體驗。為了防止這種情況發生,對話模塊引入狀態訪問控制機制,即如果重復進入某一狀態超過一定次數,則系統取消當前領域對話,進入非特定領域狀態。當前的狀態限制次數設置為3次,即在同一狀態中如果3次之后仍未給出正確理解結果,系統跳出當前對話狀態。


與理解系統的通信方式

對話模塊接收文本輸入,將文本輸入轉發至理解系統生成語義信息,對話模塊所需語義信息由理解系統nlp域子標簽jsonTag給出,格式為JSON,其中包含領域信息domain及其它語義變量,變量要求由具體對話狀態決定。

 

與應用服務的通信方式

當對話狀態滿足查詢條件時,對話模塊將根據用戶意圖進行一定查詢,而與特定領域的查詢需調用相關的應用服務。系統通過Http方式進行查詢,返回頁面由XML格式給出。

  • 如何稱呼您?
  • 如何聯系您?
  • 留言給我們

北京中科信利技術有限公司

電 話:010-82547570-132 傳 真:010-82547553 公司地址:北京市海淀區北四環西路21號DSP大樓

掃一掃關注我們

Copyright©2017 北京中科信利技術有限公司 版權所有  技術支持:中萬網絡
X
X
apex英雄韩服