一種人機對話方法及裝置製造方法
2023-05-19 03:40:46
一種人機對話方法及裝置製造方法
【專利摘要】本發明公開了一種人機對話方法及裝置,屬於計算機【技術領域】。該方法包括:接收終端發送的對話請求,該對話請求攜帶對話上文數據,該對話上文數據為文本形式的自然語言;根據預設必需語義項以及所述對話上文數據,確定該對話上文數據的缺失語義項,該缺失語義項為包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項;從該對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為所述對話上文數據的對話下文數據;向終端發送該對話下文數據,使得該終端以文本形式響應該對話請求。本發明通過根據必需語義項,確定對話上文數據的缺失語義項,將缺失語義項對應的文本作為對話下文數據進行反饋,實現了人機對話。
【專利說明】一種人機對話方法及裝置
【技術領域】
[0001]本發明涉及計算機【技術領域】,特別涉及一種人機對話方法及裝置。
【背景技術】
[0002]人機對話系統是人工智慧的一個重要工程方向。人機對話是計算機的一種工作方式,即計算機操作員或用戶與計算機之間,通過控制臺或終端顯示屏幕,以對話方式進行工作。
[0003]現有技術中,人機對話系統可以接收用戶的語音輸入,首先進行語音識別,然後對識別出來的文本進行語義理解並且生成相應的問話(回答)文本,最後使用語音合成技術將問話(回答)文本以聲音的形式反饋給用戶。
[0004]在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
[0005]現有技術中的人機對話系統,僅支持英語,有一定的局限性。
【發明內容】
[0006]為了解決現有技術的問題,本發明實施例提供了一種人機對話方法及裝置。所述技術方案如下:
[0007]—方面,提供了一種人機對話方法,所述方法包括:
[0008]接收終端發送的對話請求,所述對話請求攜帶對話上文數據,所述對話上文數據為文本形式的自然語言;
[0009]根據預設必需語義項以及所述對話上文數據,確定所述對話上文數據的缺失語義項,所述缺失語義項為包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項;
[0010]從所述對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為所述對話上文數據的對話下文數據;
[0011]向終端發送所述對話下文數據,使得所述終端以文本形式響應所述對話請求。
[0012]可選地,所述必需語義項包括多個語義項,所述方法還包括:
[0013]配置所述預設必需語義項以及每個語義項對應的多個預設應答。
[0014]可選地,根據預設必需語義項,確定所述對話上文數據的缺失語義項包括:
[0015]獲取所述對話上文數據的語義項;
[0016]比較所述預設必需語義項以及所述對話上文數據的語義項,將包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項,確定為所述對話上文數據的缺失語義項。
[0017]可選地,獲取所述對話上文數據的語義項包括:
[0018]讀取預設語法規則;
[0019]根據所述預設語法規則,解析所述對話上文數據,得到所述對話上文數據的語義項。[0020]另一方面,提供了一種人機對話裝置,所述裝置包括:
[0021]對話請求接收模塊,用於接收終端發送的對話請求,所述對話請求攜帶對話上文數據,所述對話上文數據為文本形式的自然語言;
[0022]缺失語義項確定模塊,用於根據預設必需語義項以及所述對話上文數據,確定所述對話上文數據的缺失語義項,所述缺失語義項為包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項;
[0023]對話下文數據確定模塊,用於從所述對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為所述對話上文數據的對話下文數據;
[0024]對話下文數據發送模塊,用於向終端發送所述對話下文數據,使得所述終端以文本形式響應所述對話請求。
[0025]可選地,所述必需語義項包括多個語義項,所述裝置還包括:
[0026]必需語義項配置模塊,用於配置所述預設必需語義項以及每個語義項對應的多個預設應答。
[0027]可選地,所述缺失語義項確定模塊包括:
[0028]語義項獲取單元,用於獲取所述對話上文數據的語義項;
[0029]缺失語義項確定單元,用於比較所述預設必需語義項以及所述對話上文數據的語義項,將包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項,確定為所述對話上文數據的缺失語義項。
[0030]可選地,所述語義項獲取單元包括:
[0031]語法規則讀取子單元,用於讀取預設語法規則;
[0032]語義項獲取子單元,用於根據所述預設語法規則,解析所述對話上文數據,得到所述對話上文數據的語義項。
[0033]本發明實施例提供的技術方案帶來的有益效果是:
[0034]通過根據必需語義項,確定對話上文數據的缺失語義項,將缺失語義項對應的文本作為對話下文數據進行反饋,實現了人機對話。
【專利附圖】
【附圖說明】
[0035]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0036]圖1是本發明實施例提供的人機對話方法流程圖;
[0037]圖2是本發明實施例提供的人機對話方法流程圖;
[0038]圖3是本發明實施例提供的人機對話語義項解析示意圖;
[0039]圖4是本發明實施例提供的人機對話方法流程圖;
[0040]圖5是本發明實施例提供的人機對話裝置結構示意圖。
【具體實施方式】
[0041]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。
[0042]圖1是本發明實施例提供的人機對話方法流程圖。參見圖1,該實施例包括:
[0043]101、接收終端發送的對話請求,該對話請求攜帶對話上文數據,該對話上文數據為文本形式的自然語言。
[0044]102、根據預設必需語義項以及該對話上文數據,確定該對話上文數據的缺失語義項,該缺失語義項為包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項。
[0045]103、從該對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為該對話上文數據的對話下文數據。
[0046]104、向終端發送該對話下文數據,使得該終端以文本形式響應該對話請求。
[0047]本發明實施例提供的方法,通過根據必需語義項,確定對話上文數據的缺失語義項,將缺失語義項對應的文本作為對話下文數據進行反饋,實現了人機對話。
[0048]可選地,該必需語義項包括多個語義項,該方法還包括:
[0049]配置該預設必需語義項以及每個語義項對應的多個預設應答。
[0050]可選地,根據預設必需語義項,確定該對話上文數據的缺失語義項包括:
[0051 ] 獲取該對話上文數據的語義項;
[0052]比較該預設必需語義項以及該對話上文數據的語義項,將包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項,確定為該對話上文數據的缺失語義項。
[0053]可選地,獲取該對話上文數據的語義項包括:
[0054]讀取預設語法規則;
[0055]根據該預設語法規則,解析該對話上文數據,得到該對話上文數據的語義項。
[0056]圖2是本發明實施例提供的人機互動方法流程圖。本發明實施例為終端與伺服器的交互過程。參見圖2,該實施例包括:
[0057]201、當終端檢測到自然語言輸入時,向伺服器發送對話請求,該對話請求攜帶對話上文數據,該對話上文數據為文本形式的自然語言。
[0058]其中,該終端可以為固定終端或移動終端,固定終端可以為PC (PersonalComputer,個人電腦)或顯示設備,移動終端可以為智慧型手機、平板電腦、MP3 (MovingPicture Experts Group Audio Layer III,動態影像專家壓縮標準音頻層面3)、PDA(Personal Digital Assistant,個人數字助理)等。
[0059]202、當接收到該對話請求時,伺服器獲取該對話上文數據的語義項。
[0060]在本發明實施例中,伺服器獲取該對話上文數據的語義項的具體過程包括步驟202a,202b:
[0061]步驟202a、伺服器讀取預設語法規則。
[0062]伺服器可以將預設語法規則讀入內存,並將預設規則展開成網絡,使得當伺服器接收到對話上文數據時,將該對話上文數據放入網絡中進行解碼,進一步獲取該對話上文數據的語義項。
[0063]步驟202b、根據該預設語法規則以及該對話上文數據,伺服器解析該對話上文數據,得到該對話上文數據的語義項。[0064]本發明實施例採用LEX腳本語言對輸入進行語義解析的核心思想是根據預設語法規則,定義該對話上文數據的語義項,並且在表達式的輸出中,將語義項的值捕獲到。例如,用戶說了一句話「我要去北京」,這句話包含了這些信息:主體一「我」,目的地一「北京」,領域一「出行」。通過預設語法規則可以讓機器了解到這些信息,這條規則是export expr=(我I小紅I小明)要去(北京I上海)=>request(主體=〃$1〃,目的地=〃$2〃,領域=〃出行〃)。這條規則解析用戶輸入的結果是request (主體=〃我〃,目的地=〃北京〃,領域=〃出行")。
[0065]如圖3所示,以預設規則「(我I小紅I小明)要去(北京I上海)」的網絡展開和解碼圖,其中每個橢圓和矩形表示一個LEX節點,矩形節點表示被捕獲的語義項,除了 start節點和end節點之外,每個LEX節點都有一個入邊和一個出邊。網路展開後,加載文本輸入進LEX網絡。輸入文本在LEX網絡中的解碼過程就是選擇從start節點和end節點之間,與輸入文本相似度最高的路徑的過程。比如,輸入文本是「我要去北京」,那麼圖3中的黑體字節點即是解碼出來的最相似路徑,這條路徑對應的語義項就是我,北京。
[0066]其中,該LEX腳本語言有如下特點。 [0067]1.LEX 語言支持的語法規則米用 DFA (Deterministic Finite Automaton,確定有窮自動機)算法實現,從語法規則的表現形式上兼容了標準正則表達式的語法,如.表示任意字符,?表示重複O次或者I次,*表示重複O次或者任意多次,+表示重複I次或者任意多次,{m, η}表示重複m次到η次。
[0068]2.LEX語言支持配置和調整規則的置信度來表示規則的可信程度,以此來調整輸入文本在LEX規則之間的匹配準確度,置信度高的LEX規則輸出將被優先匹配到。
[0069]3.對於置信度相同的LEX規則,可以通過規則內匹配的命中數來標識規則和輸入文本相似度,命中次數高的規則對應的語義項將被優先輸出。
[0070]LEX語言支持內建變量,內建變量包含了一系列專有名詞,專有名詞按所在領域劃分成多個獨立的集合,每個集合以領域名字為表名存儲在資料庫中。LEX語言進行專有名詞的匹配時,使用內建變量,並且比較輸入文本和內建變量值的餘弦相似度,取相似度最高的內建變量值為專有名詞的匹配結果。
[0071]203、伺服器比較該預設必需語義項以及該對話上文數據的語義項,將包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項,確定為該對話上文數據的缺失語義項,該缺失語義項為包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項。
[0072]在本發明實施例中,伺服器配置有該預設必需語義項以及每個語義項對應的多個預設應答。可選地,伺服器還可以在不同的領域配置每個語言項對應的文本。
[0073]在本發明實施例中,伺服器檢查對該對話上文數據進行語義解析的結果,對比解析結果和必需語義項,以便後續選擇缺失語義項對應的文本,反饋給用戶。
[0074]可選地,LUA腳本語言控制對話的具體步驟包含以下步驟1-4。
[0075]1.配置領域內的必需語義項和語義項對應的反饋文本。
[0076]2.檢查語義解析的結果,對比必需語義項,選擇缺失語義項。
[0077]3.選擇缺失語義項的文本,向用戶反饋。
[0078]4.重複2和3,直到沒有缺失語義項。[0079]如,針對出行領域,系統預先定義了三個必需語義項,它們分別是出發地,目的地,出發日期;出發地對應了 2個反饋文本一「請問您要從哪裡出發? 」和「您要從哪裡出發? 」;目的地對應了 I個反饋文本---〃您要去哪兒? 〃;出發日期對應了 I個反饋文本一"您什麼時候出發?"。
[0080]204、從該對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為該對話上文數據的對話下文數據。
[0081]在本發明實施例中,伺服器可以採用輪盤算法隨機選擇缺失語義項對應的文本,反饋給用戶。例如,用戶輸入「我要去北京」,語義解析的結果是「主體=我,目的地=北京,領域=出行」,LUA檢查語義解析結果,發現缺失的語義項有出發地和出發日期,系統從這兩個缺失語義項中隨機選出一個,假設系統隨機選出了出發地,因為出發地的預設應答有2個,系統繼續從這2個預設應答中隨機選出一個確定為該對話下文數據,如「您要從哪裡出發? 」,反饋給用戶。系統一直重複這個過程,直到預設的必需語義項都有值便結束對話。這個示例的對話過程可以抽取如下:
[0082]用戶第一輪輸入:「我要去北京。」;
[0083]系統第一輪反饋:「您要從哪裡出發? 」 ;
[0084]用戶第二輪輸入:「上海。」;
[0085]系統第二輪反饋:「您什麼時候出發? 」 ;
[0086]用戶第三輪輸入:「明天。」;
[0087]對話結束。
`[0088]205、伺服器向終端發送該對話下文數據,使得該終端以文本形式響應該對話請求。
[0089]在本發明實施例中,如圖4所示在對話系統初始化階段,定義好對話必需語義項,然後對話開始。首先,由LEX語言對輸入文本作語義解析,然後由LUA回調函數檢查必需語義項是否有缺失,如果有缺失則由對話系統選擇相應的應答文本進行反饋,直到對話系統獲得了所有必需語義項的值,則結束對話。
[0090]需要說明的是,步驟201-步驟205是一輪人機對話的過程,由於整個人機對話的過程可以包括多輪人機對話,每輪人機對話均執行相同的過程,這裡不再重複贅述。
[0091]本發明實施例提供的方法,通過根據必需語義項,確定對話上文數據的缺失語義項,將缺失語義項對應的文本作為對話下文數據進行反饋,實現了人機對話。
[0092]圖5是本發明實施例提供的人機互動裝置結構示意圖。參見圖5,該裝置包括:對話請求接收模塊501、缺失語義項確定模塊502、對話下文數據確定模塊503、對話下文數據發送模塊504。其中,
[0093]對話請求接收模塊501用於接收終端發送的對話請求,該對話請求攜帶對話上文數據,該對話上文數據為文本形式的自然語言;對話請求接收模塊501與缺失語義項確定模塊502連接,缺失語義項確定模塊502用於根據預設必需語義項以及該對話上文數據,確定該對話上文數據的缺失語義項,該缺失語義項為包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項;缺失語義項確定模塊502與對話下文數據確定模塊503連接,對話下文數據確定模塊503用於從該對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為該對話上文數據的對話下文數據;對話下文數據確定模塊503與對話下文數據發送模塊504連接,對話下文數據發送模塊504用於向終端發送該對話下文數據,使得該終端以文本形式響應該對話請求。
[0094]可選地,該必需語義項包括多個語義項,該裝置還包括:
[0095]必需語義項配置模塊,用於配置該預設必需語義項以及每個語義項對應的多個預設應答。
[0096]可選地,該缺失語義項確定模塊502包括:語義項獲取單元,用於獲取該對話上文數據的語義項;缺失語義項確定單元,用於比較該預設必需語義項以及該對話上文數據的語義項,將包含在該預設必需語義項中且未包含在該對話上文數據的語義項中的語義項,確定為該對話上文數據的缺失語義項。
[0097]可選地,該語義項獲取單元包括:語法規則讀取子單元,用於讀取預設語法規則;語義項獲取子單元,用於根據該預設語法規則,解析該對話上文數據,得到該對話上文數據的語義項。
[0098]本發明實施例提供的裝置,通過根據必需語義項,確定對話上文數據的缺失語義項,將缺失語義項對應的文本作為對話下文數據進行反饋,實現了人機對話。
[0099]需要說明的是:上述實施例提供的人機對話裝置在人機對話時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的人機對話裝置與人機對話方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
[0100]本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。
[0101]以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種人機對話方法,其特徵在於,所述方法包括: 接收終端發送的對話請求,所述對話請求攜帶對話上文數據,所述對話上文數據為文本形式的自然語言; 根據預設必需語義項以及所述對話上文數據,確定所述對話上文數據的缺失語義項,所述缺失語義項為包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項; 從所述對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為所述對話上文數據的對話下文數據; 向終端發送所述對話下文數據,使得所述終端以文本形式響應所述對話請求。
2.根據權利要求1所述的方法,其特徵在於,所述必需語義項包括多個語義項,所述方法還包括: 配置所述預設必需語義項以及每個語義項對應的多個預設應答。
3.根據權利要求1所述的方法,其特徵在於,根據預設必需語義項,確定所述對話上文數據的缺失語義項包括: 獲取所述對話上文數據的語義項; 比較所述預設必需語義項以及所述對話上文數據的語義項,將包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項,確定為所述對話上文數據的缺失語義項。
4.根據權利要求3所述的方法,其特徵在於,獲取所述對話上文數據的語義項包括: 讀取預設語法規則; 根據所述預設語法規則,解析所述對話上文數據,得到所述對話上文數據的語義項。
5.一種人機對話裝置,其特徵在於,所述裝置包括: 對話請求接收模塊,用於接收終端發送的對話請求,所述對話請求攜帶對話上文數據,所述對話上文數據為文本形式的自然語言; 缺失語義項確定模塊,用於根據預設必需語義項以及所述對話上文數據,確定所述對話上文數據的缺失語義項,所述缺失語義項為包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項; 對話下文數據確定模塊,用於從所述對話上文數據的缺失語義項對應的多個預設應答中,選擇一個預設應答確定為所述對話上文數據的對話下文數據; 對話下文數據發送模塊,用於向終端發送所述對話下文數據,使得所述終端以文本形式響應所述對話請求。
6.根據權利要求5所述的裝置,其特徵在於,所述必需語義項包括多個語義項,所述裝置還包括: 必需語義項配置模塊,用於配置所述預設必需語義項以及每個語義項對應的多個預設應答。
7.根據權利要求5所述的裝置,其特徵在於,所述缺失語義項確定模塊包括: 語義項獲取單元,用於獲取所述對話上文數據的語義項; 缺失語義項確定單元,用於比較所述預設必需語義項以及所述對話上文數據的語義項,將包含在所述預設必需語義項中且未包含在所述對話上文數據的語義項中的語義項,確定為所述對話上文數據的缺失語義項。
8.根據權利要求7所述的裝置,其特徵在於,所述語義項獲取單元包括: 語法規則讀取子單元,用於讀取預設語法規則; 語義項獲取 子單元,用於根據所述預設語法規則,解析所述對話上文數據,得到所述對話上文數據的語義項。
【文檔編號】G06F17/27GK103744836SQ201410008175
【公開日】2014年4月23日 申請日期:2014年1月8日 優先權日:2014年1月8日
【發明者】吳旺, 張李, 肖佳林, 仇傳奇, 代大明 申請人:蘇州思必馳信息科技有限公司