總的而言本發(fā)明涉及機器人,特別涉及一種機器人對話方法與系統(tǒng)。
背景技術:
自然語言處理領域經過多年的發(fā)展與研究,理論體系日漸完備,產生了較多完備的理論。基于這些完備的理論在應用領域出現了許多實際應用的產品,對話/聊天機器人就是其中的一種。
聊天機器人經過多年的研究發(fā)展已經產生了許多代表性的產品,這些產品主要是應用于某些特定的領域,比如生活助理、問答系統(tǒng)、客服系統(tǒng)等等。聊天機器人能夠接受用戶的文字或者語音輸入,然后基于系統(tǒng)的內部構件返回該問題的反饋答案。近年來,聊天機器人還被賦予特定的人形結構和簡單的情感功能,因而具備簡單的肢體動作和簡單的情感表達。
但現有的聊天機器人對話單一、情感蒼白,并不能用人類的思維方式以及語言方式來回答用戶的問題,而是扮演類似百科全書一樣的角色,用戶體驗差。
技術實現要素:
針對現有技術的缺陷,本發(fā)明提供了一種機器人對話方法與系統(tǒng)。
一種機器人對話方法,包括以下步驟:s100:預存儲多種不同的對話策略,所述對話策略至少包含全干預對話策略、半干預對話策略、和不干預對話策略;s200:根據當前對話策略生成應答信號;s300:響應于選取指令將當前對話策略轉換為選定的對話策略;s400:根據選定的對話策略重新生成應答信號。
可選的,在所述全干預對話策略下,所述應答信號為管理員輸入信號;在所述半干預對話策略下,所述應答信號為管理員選定的信號;在所述不干預對話策略下,所述應答信號為根據預設規(guī)則自動生成的信號。還包括以下步驟:接收語音信號,將接收到的語音信號和生成的應答信號共同發(fā)送至管理端。所述步驟s400包括:當選定的對話策略為半干預策略時,自動搜索語音信號的應答信號,將管理端選定的應答信號發(fā)送至機器人。所述步驟s400包括:當選定的對話策略為全干預對話策略時,輸入應答信號至管理端,并將輸入的應答信號發(fā)送至機器人。
一種機器人對話系統(tǒng),包括以下單元:存儲單元,用于預存儲多種不同的對話策略,所述對話策略至少包含全干預對話策略、半干預對話策略、和不干預對話策略;第一應答單元,用于根據當前對話策略生成應答信號;轉換單元,用于響應于選取指令將當前對話策略轉換為選定的對話策略;第二應答單元,用于根據選定的對話策略重新生成應答信號。
本發(fā)明的有益效果是:本發(fā)明的聊天機器人對話系統(tǒng),可以極大的提升聊天機器人的用戶體驗,提供的符合人類語言習慣和語言風格的答案使得機器人更加的智能化,提供的人工干預功能能夠極大的擴大了聊天機器人的應用領域和范圍;并能夠為管理員提供簡答易用的操作接口,方便管理員進行對系統(tǒng)的對話策略進行設定。
附圖說明
圖1為本發(fā)明系統(tǒng)結構示意圖;
圖2為本發(fā)明云端服務器的結構示意圖;
圖3為本發(fā)明實施例1的流程圖;
圖4為本發(fā)明實施例2的結構示意圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明的具體實施方式做詳細的說明,使本發(fā)明的上述及其它目的、特征和優(yōu)勢將更加清晰。在全部附圖中相同的附圖標記指示相同的部分。并未刻意按比例繪制附圖,重點在于示出本發(fā)明的主旨。
請參閱圖1,首先對本發(fā)明的系統(tǒng)結構做一概括介紹。本發(fā)明中的機器人可以是如圖1所示的類人形機器人,其具有可活動的四肢和頭部,當然還可以具有顯示屏、語音輸入/輸出裝置等等。在圖1中,整個系統(tǒng)包括有機器人、云端服務器和管理端。機器人、云端服務器和管理端之間進行通信,通信可以采用有線或無線的形式,例如可以采用wifi、3g/4g等,對于通信的具體形式本發(fā)明不做限定。本發(fā)明中機器人可以與人開展對話,機器人將接收到的語音發(fā)送給云端服務器,云端服務器處理后將應答文本發(fā)送給機器人,機器人將這一文本通過語音合成技術轉化為語音信號進行輸出,從而對人的語音做出應答。管理端負責對整個對話過程的監(jiān)控,通過后續(xù)詳細介紹可以看出,通過管理端可以對機器人的應答做出調整,使得機器人做出更為恰當的回答,從而提高用戶體驗。
圖2為云端服務器的結構示意圖,本發(fā)明中,云端服務器包括有控制單元,以及與控制單元分別連接的策略生成單元、發(fā)送單元、數據庫和接收單元。接收單元負責接收機器人發(fā)送來的語音信號,語音信號是由機器人接收到的人的語音所轉化而來的,例如可以通過安裝于機器人之上的麥克(mic)來接收語音,這一語音信號可以是mp3格式的語音文件,也可以是txt格式的文本文件,本發(fā)明對于語音信號的具體形式不做限定。策略生成單元在管理端的操控下,將對話策略發(fā)送給控制單元,控制單元根據這一對話策略,生成對于接收到的語音信號的應答信號,同理,應答信號也可以是mp3格式的語音文件或txt格式的文本文件,在生成應答信號后通過發(fā)送單元應答信號發(fā)送給機器人,機器人播放這一應答信號,從而完成與人之間的對話。管理端,可以是智能移動終端,如智能手機、ipad、筆記本電腦等,管理端與接收單元和發(fā)送單元連接,這樣管理端可以將接收到的語音信號和發(fā)送出去的應答信號共同顯示于管理端之上,便于后臺管理人員根據當前對話內容調整對話策略。
實施例1
該實施例首先對本發(fā)明的機器人對話方法做介紹,如圖3所示,其包括以下步驟。
s100:預存儲多種不同的對話策略,所述對話策略至少包含全干預對話策略、半干預對話策略、和不干預對話策略。
在本發(fā)明中,云端服務器存儲有多種不同的對話策略。對話策略表示應答信號生成的方法/規(guī)則。本發(fā)明中,根據管理端/管理員介入人機對話的程度不同將對話策略分為全干預對話策略、半干預對話策略、和不干預對話策略。下面對這些策略分別做介紹。
全干預策略表示后臺管理員可以完全接管機器人對話系統(tǒng),對答案的自動生成,轉而直接由后臺管理員直接產生用戶問題的答案。在該策略下,用戶輸入的語音可以被通過語音識別轉化為文本輸入系統(tǒng),云端服務器將用戶輸入展現在后臺管理員處的管理端操作界面上,后臺管理員進行語音輸入,通過系統(tǒng)轉化為文本之后再通過語音合成展現給用戶。
半干預策略表示后臺管理員只負責對機器人系統(tǒng)產生答案進行選擇或者修正,之后將選擇或者修正后的答案反饋給用戶。用戶在語音輸入之后,通過語音識別將文本輸入聊天機器人系統(tǒng)的答案生成部件,在生成多個答案之后由后臺管理員對生成的多個答案進行選擇,聊天機器人系統(tǒng)將選擇的答案聽過語音合成展現給用戶。
不干預策略表示的是后臺管理員不干預機器人聊天系統(tǒng)對答案的生成,只對機器人系統(tǒng)進行監(jiān)督。在該策略之下,與用戶進行聊天完全由聊天機器人系統(tǒng)進行。后臺管理員只對聊天機器人系統(tǒng)與用戶的會話進行監(jiān)督,并在需要管理員進行介入的情況下對聊天機器人系統(tǒng)進行干預。
s200:根據當前對話策略生成應答信號。
系統(tǒng)啟動后,默認的對話策略為不干預對話策略,在該策略下,接收單元將接收到的語音信號發(fā)送給控制單元,控制單元根據預設的不干預策略自動從數據庫中搜索問題答案,即自動產生問題答案,答案自動搜索和產生的過程并非本發(fā)明重點所在,在此不再贅述。搜索到的答案通過發(fā)送單元發(fā)送給機器人,機器人可以通過語音合成將答案播放給用戶,從而完成與用戶間的對話。在該策略下,管理端只對機器人與用戶間的對話進行監(jiān)督,即管理員可以從管理端界面看到接收單元所接收到的語音信號和發(fā)送單元所發(fā)送的應答信號。
s300:根據選取指令將當前對話策略變更為選定的對話策略。
在當前對話策略下,當管理員通過管理端發(fā)現當前策略下所產生的應答信號與語音信號不相適應時,可以通過管理端重新選定新的對話策略,例如管理員可以觸碰或點擊管理端操作界面上相應的策略名稱向管理端發(fā)出選取指令,之后管理端將這一選取指令發(fā)送給策略生成單元,策略生成單元將當前策略轉化為選定的對話策略,例如可以將不干預策略轉變?yōu)榘敫深A策略。下面通過一詳細示例對上述過程做進一步說明。
例如在當前不干預對話策略下,機器人所接收到的語音信號為“早上好”,在當前策略下,通過自動搜索所產生的應答信號為“我很好”。接收單元將接收到的“早上好”這一語音信號發(fā)送給管理端進行顯示,而發(fā)送單元將生成的“我很好”這一應答信號同樣發(fā)送給管理端進行顯示,管理員在通過管理端發(fā)現這一應答信號與語音信號不相適應時,管理員可以點擊顯示屏幕上的“半干預策略”或“全干預策略”,重新選定新的對話策略,例如管理員選定的對話策略為半干預策略,則系統(tǒng)之后會根據半干預策略重新生成應答信號。
s400:根據選定的對話策略重新生成應答信號。
在完成對話策略的轉換后,控制單元會根據新的對話策略對重新生成對于語音信號的應答信號。新的對話策略可能是半干預策略或全干預策略,下面分別對其進行介紹。
在半干預策略下,控制單元會先基于不干預策略模式下的自動搜索策略從數據庫中自動搜索語音信號的答案,一般而言自動搜索出的答案會有多個,在不干預策略下,系統(tǒng)會隨機或按照設定規(guī)則從多個答案中選取其中一個來生成應答信號,完成對話。但在半干預策略下,發(fā)送單元會將搜索出的答案全部發(fā)送給管理端,管理員通過管理端選擇其中一個答案,之后通過發(fā)送單元將這一答案發(fā)送給機器人,機器人通過語音播放管理員選定的答案從而完成對話。
接上例,管理員重新選定的對話策略為半干預策略,接收單元接收到的語音信號為“早上好”,控制單元從數據庫中搜索出可能的應答為“我很好”、“中午好”、“早上好”、“晚上好”等等,在不干預策略下,系統(tǒng)會根據設定規(guī)則自動選取“我很好”作為應答信號,顯然這一應答信號時不適合的,答非所問,用戶體驗差。而在轉換對話策略為干預策略后,控制單元將搜索到的所有可能的應答均發(fā)送給管理端,管理員可以在這些可能的應答中選取其中一條,例如可以點擊屏幕上顯示的“早上好”,之后管理端將“早上好”這一重新生成的應答信號通過發(fā)送單元發(fā)送給機器人,機器人通過語音應答信號播放,完成與用戶的對話。
在全干預策略下,后臺管理員可以完全接管機器人對話系統(tǒng)。此時應答信號將不會依賴于自動搜索機制,轉而直接由后臺管理員直接通過輸入窗口輸入相應問題的答案。在該策略下,用戶輸入的語音可以被通過語音識別轉化為文本輸入系統(tǒng),云端服務器將用戶輸入展現在后臺管理員處的管理端操作界面上,后臺管理員進行語音輸入,通過系統(tǒng)轉化為文本之后再通過語音合成展現給用戶。
繼續(xù)上例,當管理員通過管理端發(fā)現應答信號與語音信號不相適應時,管理員可以先將對話策略轉換為半干預策略,在半干預策略下,自動搜索出的應答為“我很好”、“中午好”、“早上好”、“晚上好”,但當前時間為下午,顯然自動搜索出的上述應答也非最佳答案。此時,管理員可以點擊管理端屏幕上的全干預策略,將當前對話策略由半干預策略轉換為全干預策略。在全干預策略下,管理員可以在對話窗口中輸入“現在是早上嗎?”,之后管理端將這一應答通過發(fā)送單元發(fā)送給機器人,機器人通過語音合成展現給用戶,由此完成了對話。
當然,在將對話策略轉換為全干預對話策略或半干預對話策略后,管理員還可以通過管理端將對話策略轉換回不干預對話策略,例如通過點擊屏幕之上的不干預對話策略按鈕。之后,系統(tǒng)會重新自動搜索生成應答信號,不再贅述。
通過上述介紹可以發(fā)現,本發(fā)明由于在對話過程中有了人(管理員)的介入,使得能夠以人類的思維方式和語言習慣來與用戶進行交互,解決了機器人對話單一,情感蒼白的缺陷;提供多種策略模式,根據實際的應用場景實現具體的應用模式的切換,從而能夠提供更佳的用戶體驗。
用戶與機器人通過語音交互,用戶通過語音輸入系統(tǒng),系統(tǒng)在經過處理產生答案之后也以語音的方式返回結果。數據庫記錄了聊天機器人的資料庫,是答案產生的來源和基礎;策略生成單元是系統(tǒng)的核心部件,用于根據選定的策略對應答信號的產生進行干預,可以在不干預、半干預和干預三種模式下自由轉換,從而修正聊天機器人系統(tǒng)所產生答案的偏差,從而能夠與智能聊天機器人進行符合人類語言習慣和語言風格的對話。
實施例2
相應的,如圖4所示,本發(fā)明還公開了一種機器人對話系統(tǒng),包括以下單元:存儲單元,用于預存儲多種不同的對話策略,所述對話策略至少包含全干預對話策略、半干預對話策略、和不干預對話策略;第一應答單元,用于根據當前對話策略生成應答信號;轉換單元,用于響應于選取指令將當前對話策略轉換為選定的對話策略;第二應答單元,用于根據選定的對話策略重新生成應答信號。
可選的,還包括管理端,在所述全干預對話策略下,所述應答信號為管理端的輸入信號;在所述半干預對話策略下,所述應答信號為管理端選定的信號;在所述不干預對話策略下,所述應答信號為根據預設規(guī)則自動生成的信號。還包括接收單元和發(fā)送單元,所述接收單元,用于接收語音信號,并將接收到的語音信號發(fā)送至管理端;所述發(fā)送單元,用于將應答信號發(fā)送至管理端。所述第二應答單元,具體用于當選定的對話策略為半干預策略時,自動搜索語音信號的應答信號,將管理端選定的應答信號發(fā)送至機器人。所述第二應答單元,具體用于當選定的對話策略為全干預對話策略時,輸入應答信號至管理端,并將輸入的應答信號發(fā)送至機器人。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同或相似的部分互相參見即可。對于本申請的方法實施例而言,由于其與裝置實施例基本相似,所以描述的比較簡單,相關之處參見裝置實施例的部分說明即可。
在以上的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是以上描述僅是本發(fā)明的較佳實施例而已,本發(fā)明能夠以很多不同于在此描述的其它方式來實施,因此本發(fā)明不受上面公開的具體實施的限制。同時任何熟悉本領域技術人員在不脫離本發(fā)明技術方案范圍情況下,都可利用上述揭示的方法和技術內容對本發(fā)明技術方案做出許多可能的變動和修飾,或修改為等同變化的等效實施例。凡是未脫離本發(fā)明技術方案的內容,依據本發(fā)明的技術實質對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術方案保護的范圍內。