本發(fā)明涉及人機交互技術(shù)領(lǐng)域,具體地說,涉及一種用于智能機器人的人機交互方法及系統(tǒng)。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,信息技術(shù)、計算機技術(shù)以及人工智能技術(shù)的引入,機器人的研究已經(jīng)逐步走出工業(yè)領(lǐng)域,逐漸擴展到了醫(yī)療、保健、家庭、娛樂以及服務(wù)行業(yè)等領(lǐng)域。而人們對于機器人的要求也從簡單重復(fù)的機械動作提升為具有擬人問答、自主性及與其他機器人進行交互的智能機器人,人機交互也就成為決定智能機器人發(fā)展的重要因素。
在現(xiàn)有的人機交互過程中,機器人針對用戶輸入的每一次請求,都會返回系統(tǒng)認為最好的答案。而這樣就造成了針對同一請求,機器人無論在何種情況下均會返回同一答案,這顯然與人們?nèi)粘=徽劦膶嶋H情況是不相符的,這也就導(dǎo)致了現(xiàn)有的智能機器人用戶體驗差的問題。
技術(shù)實現(xiàn)要素:
為解決上述問題,本發(fā)明提供了一種用于智能機器人的人機交互方法,其包括:
步驟一、獲取用戶輸入的問題信息;
步驟二、根據(jù)所述問題信息生成多個候選答案信息,得到候選答案信息集合;
步驟三、結(jié)合獲取到的所述問題信息的提問次數(shù),從所述候選答案信息集合中選取最佳答案信息并輸出。
根據(jù)本發(fā)明的一個實施例,在所述步驟三中,
結(jié)合所述問題信息的提問次數(shù)確定所述用戶的交互意圖信息,根據(jù)所述交互意圖信息從所述候選答案信息集合中選取所述最佳答案信息。
根據(jù)本發(fā)明的一個實施例,在所述步驟三中,還獲取當(dāng)前場景信息和/或用戶當(dāng)前情緒信息,結(jié)合所述當(dāng)前場景信息和/或用戶當(dāng)前情緒信息,從所述候選答案信息集合中選取所述最佳答案信息。
根據(jù)本發(fā)明的一個實施例,在所述步驟三中,如果所述問題信息的提問次數(shù)大于1,則獲取前一次提問過程中所輸出的答案信息,將該答案信息從所述候選答案信息集合中剔除,并從剩余的候選答案信息中選取出最佳答案信息。
根據(jù)本發(fā)明的一個實施例,在所述步驟三中,如果所述問題信息的提問次數(shù)大于1,則降低前一次提問過程中所輸出的答案信息的優(yōu)先級,并根據(jù)所述候選答案信息集合中各個候選答案信息的優(yōu)先級大小確定所述最佳答案信息。
本發(fā)明還提供了一種用于智能機器人的人機交互系統(tǒng),其包括:
問題信息獲取模塊,其用于獲取用戶輸入的問題信息;
候選答案集合生成模塊,其用于根據(jù)所述問題信息生成多個候選答案信息,得到候選答案信息集合;
答案確定模塊,其用于結(jié)合獲取到的所述問題信息的提問次數(shù),從所述候選答案信息集合中選取最佳答案信息并輸出。
根據(jù)本發(fā)明的一個實施例,所述答案確定模塊配置為結(jié)合所述問題信息的提問次數(shù)確定所述用戶的交互意圖信息,根據(jù)所述交互意圖信息從所述候選答案信息集合中選取所述最佳答案信息。
根據(jù)本發(fā)明的一個實施例,所述答案確定模塊配置為還獲取當(dāng)前場景信息和/或用戶當(dāng)前情緒信息,結(jié)合所述當(dāng)前場景信息和/或用戶當(dāng)前情緒信息,從所述候選答案信息集合中選取所述最佳答案信息。
根據(jù)本發(fā)明的一個實施例,如果所述問題信息的提問次數(shù)大于1,所述答案確定模塊則配置為獲取前一次提問過程中所輸出的答案信息,將該答案信息從所述候選答案信息集合中剔除,并從剩余的候選答案信息中選取出最佳答案信息。
根據(jù)本發(fā)明的一個實施例,如果所述問題信息的提問次數(shù)大于1,所述答案確定模塊則配置為降低前一次提問過程中所輸出的答案信息的優(yōu)先級,并根據(jù)所述候選答案信息集合中各個候選答案信息的優(yōu)先級大小確定所述最佳答案信息。
本發(fā)明所提供的用于智能機器人的人機交互方法及系統(tǒng)采用了答案控制的方式,先緩存多個與用戶提問問題信息相符的候選答案信息,隨后集合該問題信息的提問次數(shù),來從這些候選答案信息中選取此次交互的最佳答案信息。這樣,該交互方法及系統(tǒng)使得智能機器人每次可以給用戶反饋不同的答案信息,從而使機器人顯得更加智能。同時,該方法還可以使得多個不同的候選答案信息得到充分利用,從而提高交互的趣味度和豐富度,進而提高用戶的平均交互時間
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要的附圖做簡單的介紹:
圖1是根據(jù)本發(fā)明一個實施例的用于智能機器人的人機交互方法的實現(xiàn)流程圖;
圖2是根據(jù)本發(fā)明另一個實施例的用于智能機器人的人機交互方法的實現(xiàn)流程圖;
圖3是根據(jù)本發(fā)明一個實施例的用于智能機器人的人機交互裝置的結(jié)構(gòu)示意圖。
具體實施方式
以下將結(jié)合附圖及實施例來詳細說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護范圍之內(nèi)。
同時,在以下說明中,出于解釋的目的而闡述了許多具體細節(jié),以提供對本發(fā)明實施例的徹底理解。然而,對本領(lǐng)域的技術(shù)人員來說顯而易見的是,本發(fā)明可以不用這里的具體細節(jié)或者所描述的特定方式來實施。
另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
在現(xiàn)有的人機交互過程中,機器人針對用戶輸入的每一次請求,都會返回同一答案。例如,當(dāng)用戶分十次向智能機器人輸入“你好”時,智能機器人這十次的回答均會是“你也好,嘻嘻”。這顯然與人們?nèi)粘=徽劦膶嶋H情況是不相符的,智能機器人的這種人機交互方式會使得機器人顯得過于呆板,很容易導(dǎo)致用戶對交互過程感到無趣。
針對現(xiàn)有技術(shù)中存在的上述缺陷,本發(fā)明提供了一種新的人機交互方法,該方法會結(jié)合用戶所輸入的問題信息的次數(shù),來生成最佳答案信息并輸出給用戶。
為了更加清楚地闡述本發(fā)明所提供的人機交互方法的實現(xiàn)原理、實現(xiàn)過程以及優(yōu)點,以下分別結(jié)合不同的實施例來對該方法進行進一步的說明。同時,需要指出的是,本發(fā)明所提及的“問題信息”不僅僅特指以疑問語句存在的交互信息,還可以是其他合理形式(例如調(diào)侃語句以及視覺信息、觸覺信息等多模態(tài)交互信息等)的交互信息,本發(fā)明不限于此。
實施例一:
圖1示出了本實施例所提供的用于智能機器人的人機交互方法的實現(xiàn)流程圖。
如圖1所示,本實施例所提供的人機交互方法首先在步驟S101中獲取用戶輸入的問題信息。
在得到用戶輸入的問題信息后,該方法在步驟S102中根據(jù)該問題信息生成多個候選答案信息,從而得到候選答案信息集合。具體地,本實施例中,該方法采用了數(shù)據(jù)緩存技術(shù),其能夠一次性生成針對該問題信息的足量的多條答案信息,并將這些答案信息作為候選答案信息。
需要指出的是,在本發(fā)明的不同實施例中,候選答案信息集合中所包含的候選答案信息的具體數(shù)量可以根據(jù)實際需要進行調(diào)整,本發(fā)明不限于此。
本實施例中,該方法在步驟S102中優(yōu)選地利用預(yù)設(shè)知識庫來生成針對步驟S101中所獲取的問題信息的多個候選答案信息。當(dāng)然,在本發(fā)明的其他實施例中,該方法還可以采用其他合理的方式來獲取針對上述問題信息的多個候選答案信息,本發(fā)明同樣不限于此。例如在本發(fā)明的一個實施例中,該方法還可以利用知識圖譜來生成上述多個候選答案信息。
如圖1所示,在得到候選答案信息集合后,該方法在步驟S103中結(jié)合獲取到的上述問題信息的提問次數(shù),從候選答案信息集合中選取出此次的最佳答案信息并輸出。
具體地,本實施例中,該人機交互方法不僅僅提取用戶當(dāng)前輸入的問題信息的次數(shù),還會記錄當(dāng)前交互的此前多次的問題信息以及相應(yīng)的最佳答案信息。基于用戶向智能機器人輸入當(dāng)前問題信息的次數(shù),該方法確定出用戶的交互意圖信息,并根據(jù)該交互意圖信息從候選答案信息集合中選取出最佳答案信息并輸出給用戶。
例如,如果用戶分十次向智能機器人輸入問題信息“您好”,對于第一次請求,該人機交互方法會在步驟S102中緩存最為符合該問題信息的多條答案信息,而這些答案信息也就是候選答案信息。對于第一次請求,該方法優(yōu)選地從這些候選答案信息中隨機選取一條作為最佳答案輸出給用戶。
而對于之后的相同請求,該方法則會按照都一定的策略(例如根據(jù)該問題信息的請求次數(shù))來從上述候選答案信息中選取出最為符合當(dāng)前交互意圖和/或交互場景的答案信息來作為最佳答案輸出給用戶。這樣能夠在一定程度上保證答案的多樣性,對于上述多個候選答案信息,每一個候選答案均有可能作為最佳答案輸出給用戶。
具體地,如果問題信息的提問次數(shù)大于1,那么該方法則獲取前一次提問過程中所輸出的最佳答案信息,為了避免出現(xiàn)針對兩次提問的相同問題信息輸出相同答案的情況,本方法會將前一次提問過程中所輸出的答案信息從候選答案信息集合中剔除,隨后再從剩余的候選答案信息中選取出最佳答案信息。
需要指出的是,本發(fā)明的其他實施例中,如果問題信息的提問次數(shù)大于1,該方法還可以采用其他合理的方式來從候選答案信息集合中確定出最佳答案信息,并同時避免出現(xiàn)針對兩次提問的相同問題信息輸出相同答案的情況,本發(fā)明不限于此。
例如,在本發(fā)明的一個實施例中,如果當(dāng)前問題信息的提問次數(shù)大于1,那么該方法將降低前一次提問過程中所輸出的答案信息的優(yōu)先級,并根據(jù)候選答案信息集合中各個候選答案信息的優(yōu)先級大小來從候選答案信息集合中確定出當(dāng)前針對該問題信息的最佳答案信息。
而如果用戶一直不停地向智能機器人輸入相同的問題信息(例如“您好”)時,該人機交互方法則可以根據(jù)該問題信息的請求次數(shù)(即提問次數(shù))來確定用戶的當(dāng)前交互意圖很可能并不是與智能機器人進行聊天,此時該方法便會更加智能化的輸出與該語境更加相符的答案,例如輸出“怎么還是這句話”或“你都問過好多次這個問題了,咱們聊點別的吧”。
從上述描述中可以看出,本實施例所提供的人機交互方法采用了答案控制的方式,先緩存多個與用戶提問問題信息相符的候選答案信息,隨后集合該問題信息的提問次數(shù),來從這些候選答案信息中選取此次交互的最佳答案信息。這樣,該交互方法使得智能機器人每次可以給用戶反饋不同的答案信息,從而使機器人顯得更加智能。同時,該方法還可以使得多個不同的候選答案信息得到充分利用,從而提高交互的趣味度和豐富度,進而提高用戶的平均交互時間。
實施例二:
圖2示出了本實施例所提供的用于智能機器人的人機交互方法的實現(xiàn)流程圖。
如圖2所示,本實施例所提供的人機交互方法首先在步驟S201中獲取用戶輸入的問題信息。
在得到用戶輸入的問題信息后,該方法在步驟S202中根據(jù)該問題信息生成多個候選答案信息,從而得到候選答案信息集合。需要指出的是,本實施例中,該方法在步驟S202中生成候選答案信息集合的實現(xiàn)原理以及實現(xiàn)過程與上述實施例一中步驟S102所涉及的內(nèi)容類似,故在此不再贅述。
本實施例中,該方法還在步驟S203中獲取當(dāng)前情景信息和用戶當(dāng)前情緒信息。具體地,該方法對該用戶前幾次提問過程的上下文數(shù)據(jù)進行充分的數(shù)據(jù)分析,通過進行上下文數(shù)據(jù)的關(guān)鍵詞抽取來確定出當(dāng)前場景信息(例如當(dāng)前交互話題),并根據(jù)該用戶的多輪交互過程來分析出該用戶的情緒信息。這樣也就可以得到該用戶在與智能機器人進行交互的交互話題以及用戶當(dāng)前情緒。
如圖2所示,在得到當(dāng)前場景信息和用戶當(dāng)前情緒信息后,該方法在步驟S204中根據(jù)該當(dāng)前場景信息和用戶當(dāng)前情緒信息,結(jié)合獲取到的問題信息的提問次數(shù),從候選答案信息集合中選取出最佳答案信息并輸出給用戶。
按照正常人類思維,在不同場景下人與人之間的對話交流是存在很大區(qū)別甚至完全不同的。例如,A、B兩個人在溝通過程中,A說“今天天氣真好”,如果B今天心情不錯并且正好有運動的意愿的話,他可能會回答“那我們一起去打球吧”而如果A說這句話(即“今天天氣真好”)的時候,恰好是前幾天連續(xù)陰雨并且今天天氣終于放晴了,那么B的回答很可能是“天氣終于變好了,心情也跟著變好了”;而如果A說話的時候,B正在擔(dān)心或者忙其他的事情,那么B很可能指示簡單地回答“哦”;而如果A一直不停地向B絮叨這句話,那么B很可能會表現(xiàn)出反感的反應(yīng)甚至不予理會,在這種場景下,B的回答很可能是“要不我們聊點別的”。
由此可以看出,對于A所提出的問題,影響B(tài)的回答的因素有很多。對于人類來說,基本上可以通過下意識并且非常復(fù)雜的思維過程來在非常短的時間內(nèi)做出合理的決策。而對于智能機器人來說,其往往并不具備上述能力,因此本方法通過外界環(huán)境感知、情緒判斷以及重復(fù)數(shù)據(jù)記錄等多種手段,來實現(xiàn)智能機器人類人的場景化輸出。
需要指出的是,在本發(fā)明的其他實施例中,該方法在步驟S203中還可以僅獲取當(dāng)前場景信息和用戶當(dāng)前情緒信息中的一種,并結(jié)合當(dāng)前場景信息或用戶當(dāng)前情緒信息來從候選答案信息集合中選取出最佳答案信息,本發(fā)明不限于此。
由于智能機器人的人機交互過程是由程序驅(qū)動實現(xiàn),而程序本質(zhì)上就是一段0和1的序列組合,因此如果不是人為設(shè)定,智能機器人沒有任何理由會按照類人的思維和想法來完成當(dāng)時最適合條件的任務(wù)。本實施例所提供的方法可以根據(jù)人機交互的場景和條件,做出符合當(dāng)時場景的回答,而不是像現(xiàn)有技術(shù)那樣每次都輸出完全相同或與場景完全無關(guān)的答案。
本發(fā)明還提供了一種用于智能機器人的人機交互系統(tǒng),圖3示出了本實施例中該系統(tǒng)的結(jié)構(gòu)示意圖。
如圖3所示,本實施例中,該人機交互系統(tǒng)優(yōu)選地包括:問題信息獲取模塊301、候選答案集合生成模塊302以及答案確定模塊303。其中,問題信息獲取模塊301用于獲取用戶輸入的問題信息并將該問題信息傳輸給候選答案集合生成模塊302。候選答案集合生成模塊302在接收到問題信息后,會根據(jù)該問題信息生成多個候選答案信息,從而得到候選答案集合。候選答案集合生成模塊302會將候選答案信息集合傳輸給答案確定模塊303,以由答案確定模塊303結(jié)合所獲取得到的該問題信息的提問次數(shù),從候選答案信息集合中選取出此次交互的最佳答案信息并輸出。
本實施例中,問題信息獲取模塊301、候選答案集合生成模塊302以及答案確定模塊303實現(xiàn)其各自功能的具體原理以及過程與上述實施例一中步驟S101至步驟S103所涉及的內(nèi)容類似,故在此不再對上述模塊如何實現(xiàn)其各自功能進行贅述。
對于智能機器人而言,由于機器人本身是不具備思維的,因此如何讓機器人能夠表現(xiàn)得足夠符合人類的思維邏輯是判斷一個機器人智能化程度的重要標志。對于現(xiàn)有的智能機器人來說,如果用戶一直問同樣的問題,由于機器人是沒有思維的,其僅會按照預(yù)定的程序運行,這將導(dǎo)致現(xiàn)有機器人所采用的人機交互方法每次都將回復(fù)同樣的內(nèi)容,而機械的重復(fù)很大程度上會引起用戶的反感。因此,現(xiàn)有的人機交互方法很大程度上會使得智能機器人給用戶留下無趣呆板的印象,并且用戶很容易識破該機器人的運行規(guī)律,這顯然是不利于智能機人的推廣應(yīng)用的。
本實施例所提供的人機交互系統(tǒng)采用了答案控制的方式,先緩存多個與用戶提問問題信息相符的候選答案信息,隨后集合該問題信息的提問次數(shù),來從這些候選答案信息中選取此次交互的最佳答案信息。這樣,該交互方法使得智能機器人每次可以給用戶反饋不同的答案信息,從而使機器人顯得更加智能。同時,該方法還可以使得多個不同的候選答案信息得到充分利用,從而提高交互的趣味度和豐富度,進而提高用戶的平均交互時間。
應(yīng)該理解的是,本發(fā)明所公開的實施例不限于這里所公開的特定結(jié)構(gòu)或處理步驟,而應(yīng)當(dāng)延伸到相關(guān)領(lǐng)域的普通技術(shù)人員所理解的這些特征的等同替代。還應(yīng)當(dāng)理解的是,在此使用的術(shù)語僅用于描述特定實施例的目的,而并不意味著限制。
說明書中提到的“一個實施例”或“實施例”意指結(jié)合實施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。因此,說明書通篇各個地方出現(xiàn)的短語“一個實施例”或“實施例”并不一定均指同一個實施例。
雖然上述示例用于說明本發(fā)明在一個或多個應(yīng)用中的原理,但對于本領(lǐng)域的技術(shù)人員來說,在不背離本發(fā)明的原理和思想的情況下,明顯可以在形式上、用法及實施的細節(jié)上作各種修改而不用付出創(chuàng)造性勞動。因此,本發(fā)明由所附的權(quán)利要求書來限定。