本發(fā)明涉及機(jī)器人領(lǐng)域,具體涉及一種用于機(jī)器人的交互輸出方法。
背景技術(shù):
隨著人工智能技術(shù)的不斷發(fā)展,自動(dòng)應(yīng)答系統(tǒng)越來(lái)越多的應(yīng)用于人類(lèi)日常的生產(chǎn)生活中。
在現(xiàn)有技術(shù)中,自動(dòng)應(yīng)答系統(tǒng)通采用基于知識(shí)庫(kù)的應(yīng)答搜索策略。即在需要進(jìn)行自動(dòng)應(yīng)答時(shí),獲取當(dāng)前的用戶(hù)提問(wèn),使用知識(shí)庫(kù)匹配算法從知識(shí)庫(kù)中搜索匹配用戶(hù)提問(wèn)的答案。
在上述應(yīng)答策略中,獲取對(duì)應(yīng)當(dāng)前的用戶(hù)提問(wèn)的前提是知識(shí)庫(kù)中已經(jīng)保存有與用戶(hù)提問(wèn)匹配的答案。但是,實(shí)際的交互場(chǎng)景是復(fù)雜多變的,知識(shí)庫(kù)中不可能保存有所有可能發(fā)生的交互請(qǐng)求的對(duì)應(yīng)答案。當(dāng)用戶(hù)提問(wèn)超出了知識(shí)庫(kù)的范圍時(shí),應(yīng)答系統(tǒng)就無(wú)法對(duì)用戶(hù)提問(wèn)做出應(yīng)答。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種用于機(jī)器人的交互輸出方法,所述方法包括:
獲取多模態(tài)交互輸入數(shù)據(jù);
解析所述多模態(tài)交互輸入數(shù)據(jù),提取請(qǐng)求問(wèn)題;
獲取知識(shí)庫(kù)中所述請(qǐng)求問(wèn)題的匹配問(wèn)題,當(dāng)不存在所述匹配問(wèn)題時(shí)基于獲取所述知識(shí)庫(kù)中所述請(qǐng)求問(wèn)題的相似問(wèn)題;
根據(jù)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題生成對(duì)應(yīng)所述請(qǐng)求問(wèn)題的答案,根據(jù)所述答案生成并輸出對(duì)應(yīng)所述多模態(tài)交互輸入數(shù)據(jù)的多模態(tài)交互輸出。
在一實(shí)施例中,根據(jù)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題生成對(duì)應(yīng)所述請(qǐng)求問(wèn)題的答案,其中:
將所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題分別進(jìn)行分詞編碼;
對(duì)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題的編碼結(jié)果進(jìn)行解碼以生成所述答案。
在一實(shí)施例中,對(duì)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題的編碼結(jié)果進(jìn)行解碼,其中,采用注意力機(jī)制對(duì)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題的編碼結(jié)果進(jìn)行解碼。
在一實(shí)施例中,獲取所述請(qǐng)求問(wèn)題的相似問(wèn)題,其中,所述相似問(wèn)題的個(gè)數(shù)為一個(gè)。
在一實(shí)施例中,當(dāng)不存在所述匹配問(wèn)題時(shí)基于所述知識(shí)庫(kù)搜索獲取所述請(qǐng)求問(wèn)題的相似問(wèn)題,其中,基于所述知識(shí)庫(kù)中各個(gè)問(wèn)題與所述請(qǐng)求問(wèn)題的相似度確定所述匹配問(wèn)題或所述相似問(wèn)題,包括:
當(dāng)不存在與所述請(qǐng)求問(wèn)題的相似度達(dá)到第一閾值的問(wèn)題時(shí)判斷不存在所述匹配問(wèn)題;
當(dāng)不存在與所述請(qǐng)求問(wèn)題的相似度達(dá)到第二閾值的問(wèn)題時(shí)判斷不存在所述相似問(wèn)題。
本發(fā)明還提出了一種智能機(jī)器人,所述機(jī)器人包括:
輸入采集模塊,其配置為獲取多模態(tài)交互輸入數(shù)據(jù);
問(wèn)題提取模塊,其配置為解析所述多模態(tài)交互輸入數(shù)據(jù),提取請(qǐng)求問(wèn)題;
問(wèn)題匹配模塊,其配置為獲取知識(shí)庫(kù)中所述請(qǐng)求問(wèn)題的匹配問(wèn)題,并且,當(dāng)不存在所述匹配問(wèn)題時(shí)基于獲取所述知識(shí)庫(kù)中所述請(qǐng)求問(wèn)題的相似問(wèn)題;
答案生成模塊,其配置為根據(jù)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題生成對(duì)應(yīng)所述請(qǐng)求問(wèn)題的答案;
輸出模塊,其配置為根據(jù)所述答案生成并輸出對(duì)應(yīng)所述多模態(tài)交互輸入數(shù)據(jù)的多模態(tài)交互輸出。
在一實(shí)施例中,所述答案生成模塊包含:
編碼單元,其配置為將所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題分別進(jìn)行分詞編碼;
解碼單元,其配置為對(duì)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題的編碼結(jié)果進(jìn)行解碼以生成所述答案。
在一實(shí)施例中,所述解碼單元配置為采用注意力機(jī)制對(duì)所述請(qǐng)求問(wèn)題以及所述相似問(wèn)題的編碼結(jié)果進(jìn)行解碼。
在一實(shí)施例中,所述問(wèn)題匹配模塊配置為獲取所述請(qǐng)求問(wèn)題的相似問(wèn)題,其中,所述相似問(wèn)題的個(gè)數(shù)為一個(gè)。
在一實(shí)施例中,所述問(wèn)題匹配模塊配置為基于所述知識(shí)庫(kù)中各個(gè)問(wèn)題與所述請(qǐng)求問(wèn)題的相似度確定所述匹配問(wèn)題或所述相似問(wèn)題,包括:
當(dāng)不存在與所述請(qǐng)求問(wèn)題的相似度達(dá)到第一閾值的問(wèn)題時(shí)判斷不存在所述匹配問(wèn)題;
當(dāng)不存在與所述請(qǐng)求問(wèn)題的相似度達(dá)到第二閾值的問(wèn)題時(shí)判斷不存在所述相似問(wèn)題。
根據(jù)本發(fā)明的方法,可以在機(jī)器人基于知識(shí)庫(kù)搜索不到合適的答案時(shí),自行生成匹配的答案返回給用戶(hù)。相較于現(xiàn)有技術(shù),本發(fā)明的方法拓展了機(jī)器人可應(yīng)答范圍,提高了智能機(jī)器人的應(yīng)答準(zhǔn)確度,改善了機(jī)器人的用戶(hù)體驗(yàn)。
本發(fā)明的其它特征或優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述。并且,本發(fā)明的部分特征或優(yōu)點(diǎn)將通過(guò)說(shuō)明書(shū)而變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而被了解。本發(fā)明的目的和部分優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的步驟來(lái)實(shí)現(xiàn)或獲得。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明一實(shí)施例的方法流程圖;
圖2、圖3以及圖4是根據(jù)本發(fā)明實(shí)施例的方法的部分流程圖;
圖5是根據(jù)本發(fā)明一實(shí)施例的機(jī)器人系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖;
圖6以及圖7是根據(jù)本發(fā)明實(shí)施例的機(jī)器人系統(tǒng)部分結(jié)構(gòu)簡(jiǎn)圖。
具體實(shí)施方式
以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此本發(fā)明的實(shí)施人員可以充分理解本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程并依據(jù)上述實(shí)現(xiàn)過(guò)程具體實(shí)施本發(fā)明。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
隨著人工智能技術(shù)的不斷發(fā)展,自動(dòng)應(yīng)答系統(tǒng)越來(lái)越多的應(yīng)用于人類(lèi)日常的生產(chǎn)生活中。
在現(xiàn)有技術(shù)中,自動(dòng)應(yīng)答系統(tǒng)通常采用基于知識(shí)庫(kù)的應(yīng)答搜索策略。即在需要進(jìn)行自動(dòng)應(yīng)答時(shí),獲取當(dāng)前的用戶(hù)提問(wèn),使用知識(shí)庫(kù)匹配算法從知識(shí)庫(kù)中搜索匹配用戶(hù)提問(wèn)的答案。
在上述應(yīng)答策略中,獲取對(duì)應(yīng)當(dāng)前的用戶(hù)提問(wèn)的前提是知識(shí)庫(kù)中已經(jīng)保存有與用戶(hù)提問(wèn)匹配的答案。但是,實(shí)際的交互場(chǎng)景是復(fù)雜多變的,知識(shí)庫(kù)中不可能保存有所有可能發(fā)生的交互請(qǐng)求的對(duì)應(yīng)答案。當(dāng)用戶(hù)提問(wèn)超出了知識(shí)庫(kù)的范圍時(shí),應(yīng)答系統(tǒng)就無(wú)法對(duì)用戶(hù)提問(wèn)做出應(yīng)答。
針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提出了一種用于機(jī)器人的交互輸出方法。在根據(jù)本發(fā)明的一實(shí)施例中,當(dāng)用戶(hù)提問(wèn)超出了知識(shí)庫(kù)的范圍時(shí)(知識(shí)庫(kù)中并未保存有與用戶(hù)提問(wèn)匹配的問(wèn)題),啟用對(duì)話(huà)生成模型根據(jù)用戶(hù)提問(wèn)生成合適的答案。這樣,在用戶(hù)提問(wèn)超出了知識(shí)庫(kù)的范圍的情況下(在機(jī)器人基于知識(shí)庫(kù)搜索不到合適的答案時(shí)),也可以自行生成匹配的答案返回給用戶(hù)。相較于現(xiàn)有技術(shù),本發(fā)明的方法拓展了機(jī)器人可應(yīng)答范圍。
進(jìn)一步的,在一實(shí)施例中,在利用對(duì)話(huà)生成模型生成對(duì)應(yīng)用戶(hù)的答案的過(guò)程中,還通過(guò)加入先驗(yàn)知識(shí)的方式使得對(duì)話(huà)生成模型對(duì)用戶(hù)提問(wèn)的理解表達(dá)更豐富,從而生成更具語(yǔ)義性的回答,使得對(duì)話(huà)生成模型生成的答案更加切合用戶(hù)提問(wèn)。具體的,從知識(shí)庫(kù)中獲取與用戶(hù)提問(wèn)相似的相似問(wèn)題,然后利用對(duì)話(huà)生成模型基于原本的用戶(hù)提問(wèn)以及從知識(shí)庫(kù)中獲取的相似問(wèn)題來(lái)生成對(duì)應(yīng)原本的用戶(hù)提問(wèn)的答案。這樣就可以大大提高智能機(jī)器人的應(yīng)答準(zhǔn)確度。
以一具體的應(yīng)用場(chǎng)景為例,當(dāng)用戶(hù)請(qǐng)求一個(gè)問(wèn)題(原始問(wèn)題,Original Question)時(shí),機(jī)器人首先在知識(shí)庫(kù)中尋找與Original Question相同的Question,如果找到相同的Question(這里的相同指的是含義基本相同),將其對(duì)應(yīng)Answer傳入機(jī)器人系統(tǒng)的決策模型,由決策模型基于Answer實(shí)現(xiàn)對(duì)用戶(hù)的應(yīng)答。
如果沒(méi)有找到相同的Question,將與Original Question最接近的相似問(wèn)題(Similar Question)和Original Question分詞之后傳入對(duì)話(huà)生成模型,把對(duì)話(huà)生成模型生成的Answer作為答案?jìng)魅霙Q策模型,決策模型判斷是否將Answer作為答案返回給用戶(hù)。例如,用戶(hù)請(qǐng)求一個(gè)Question“每年元旦都來(lái)高燒”,對(duì)話(huà)生成模型返回一個(gè)Answer“祝早日康復(fù),身體健康!”作為回復(fù)傳入決策層,由決策層判斷可以輸出,將該回復(fù)返回給用戶(hù)。
接下來(lái)基于附圖詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的方法的詳細(xì)流程,附圖的流程圖中示出的步驟可以在包含諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。雖然在流程圖中示出了各步驟的邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
如圖1所示,在一實(shí)施例中,機(jī)器人首先獲取多模態(tài)交互輸入數(shù)據(jù)(例如用戶(hù)的問(wèn)題輸入)(步驟S100);然后解析獲取到的多模態(tài)交互輸入數(shù)據(jù)(步驟S110),從中提取請(qǐng)求問(wèn)題(用戶(hù)想要問(wèn)什么)(原始問(wèn)題,Original Question)(步驟S120)。
接下來(lái)從知識(shí)庫(kù)中獲取請(qǐng)求問(wèn)題的匹配問(wèn)題,具體的,即從知識(shí)庫(kù)中搜索請(qǐng)求問(wèn)題的匹配問(wèn)題(步驟S130),判斷是否存在請(qǐng)求問(wèn)題的匹配問(wèn)題(能否搜索到匹配問(wèn)題)(步驟S140)。
如果存在匹配問(wèn)題,則根據(jù)該匹配問(wèn)題獲取對(duì)應(yīng)的答案(步驟S150);并接下來(lái)基于獲取到的答案(與匹配問(wèn)題對(duì)應(yīng)的答案)生成并輸出響應(yīng)多模態(tài)輸入數(shù)據(jù)的多模態(tài)輸出(應(yīng)答用戶(hù)的提問(wèn))(步驟S160)。
如果不存在匹配問(wèn)題,則從知識(shí)庫(kù)中獲取與請(qǐng)求問(wèn)題相似的相似問(wèn)題(步驟S170);并接下來(lái)利用對(duì)話(huà)生成模型根據(jù)原始的請(qǐng)求問(wèn)題以及獲取到的相似問(wèn)題獲取對(duì)應(yīng)原始的請(qǐng)求問(wèn)題的答案(步驟S180);最后基于獲取到的答案(綜合請(qǐng)求問(wèn)題以及相似問(wèn)題獲取到的答案)生成并輸出響應(yīng)多模態(tài)輸入數(shù)據(jù)的多模態(tài)輸出(應(yīng)答用戶(hù)的提問(wèn))(步驟S160)。
基于本發(fā)明的方法,不僅可以基于知識(shí)庫(kù)搜索獲取匹配用戶(hù)提問(wèn)的答案,而且可以在知識(shí)庫(kù)搜索不到對(duì)應(yīng)的答案時(shí)(用戶(hù)的提問(wèn)超出知識(shí)庫(kù)的范圍)自動(dòng)生成對(duì)應(yīng)的答案,大大拓展了機(jī)器人可應(yīng)答范圍,改善了機(jī)器人的用戶(hù)體驗(yàn)。
根據(jù)圖1所示的流程,當(dāng)用戶(hù)提問(wèn)在知識(shí)庫(kù)范圍內(nèi)時(shí),獲取到的答案(步驟S150)是預(yù)先保存在知識(shí)庫(kù)中與匹配問(wèn)題對(duì)應(yīng)的答案。因此答案的正確與否就在于建立知識(shí)庫(kù)是針對(duì)匹配問(wèn)題預(yù)先保存的答案是否正確。而當(dāng)用戶(hù)提問(wèn)在知識(shí)庫(kù)范圍內(nèi)外,獲取到的答案(步驟S150)是對(duì)話(huà)生成模型綜合相似問(wèn)題以及請(qǐng)求問(wèn)題而生成的答案(步驟S180)。答案的正確與否則主要取決于答案的生成過(guò)程(步驟S180)。
為了保證答案的正確率,在本發(fā)明一實(shí)施例中,對(duì)話(huà)生成模型采用了編解碼框架(Encoder-Decoder框架)來(lái)生成答案。首先將請(qǐng)求問(wèn)題以及相似問(wèn)題分別進(jìn)行分詞編碼;然后對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果進(jìn)行解碼;最后根據(jù)解碼結(jié)果生成答案。
具體的,Encoder-Decoder框架包含兩部分,Encoder層和Decoder層。Encoder層主要是指輸入變長(zhǎng)的句子,進(jìn)行語(yǔ)義理解,輸出定長(zhǎng)的向量表達(dá),該層一般是RNN網(wǎng)絡(luò)。Decoder層主要是指輸入定長(zhǎng)的向量表達(dá)(即Encoder的輸出),根據(jù)任務(wù)的不同輸出變長(zhǎng)的句子。將分詞后的Similar Question和Original Question通過(guò)兩個(gè)Encoder層,生成一個(gè)對(duì)Question中部分詞(words)的選擇性向量表達(dá),將其傳入Decoder層生成一個(gè)Answer。
如圖2所示,在一實(shí)施例中,首先對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題進(jìn)行分詞處理(步驟S201以及步驟S202),然后對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題的分詞結(jié)果進(jìn)行編碼分別獲取請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果(步驟S211以及步驟S212)。接下來(lái)綜合請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果進(jìn)行解碼(步驟S220)并最終生成答案(步驟S230)
進(jìn)一步的,在本發(fā)明一實(shí)施例中,機(jī)器人采用注意力機(jī)制(Attention mechanism)對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果進(jìn)行解碼。及對(duì)話(huà)生成模型的Decoder層采用Attention mechanism進(jìn)行解碼。在這里,Attention mechanism是一種將模型輸入句子的第i個(gè)詞(word)和模型輸出句子的第j個(gè)word關(guān)聯(lián)起來(lái)的機(jī)制。Attention mechanism能夠使得輸入的句子被選擇性的表達(dá)出來(lái),而不是全部表達(dá)。
進(jìn)一步的,在本發(fā)明一實(shí)施例中,相似問(wèn)題的編碼的實(shí)現(xiàn)過(guò)程(步驟S212)是輸入為分詞后的Similar Question,通過(guò)Encoder層編碼進(jìn)行語(yǔ)義表達(dá),將編碼結(jié)果和Original Question編碼結(jié)果通過(guò)Attention mechanism對(duì)Similar Question進(jìn)行選擇性表達(dá)并將結(jié)果傳入Decoder層以進(jìn)行生成Answer。其中加入Original Question編碼結(jié)果是為了更好的對(duì)Similar Question的語(yǔ)義選擇。
進(jìn)一步的,在本發(fā)明一實(shí)施例中,請(qǐng)求問(wèn)題的編碼實(shí)現(xiàn)過(guò)程(步驟S211)是輸入為分詞后的Original Question,通過(guò)Encoder層編碼進(jìn)行語(yǔ)義表達(dá),將編碼結(jié)果和Similar Question編碼結(jié)果通過(guò)Attention mechanism對(duì)Original Question進(jìn)行選擇性表達(dá)并將結(jié)果傳入Decoder層以進(jìn)行生成Answer。其中加入Similar Question編碼結(jié)果是為了更好的對(duì)Original Question的語(yǔ)義理解。
如圖3所示,首先對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題進(jìn)行分詞處理(步驟S301以及步驟S302);然后對(duì)分詞后的Original Question(請(qǐng)求問(wèn)題),通過(guò)Encoder層編碼進(jìn)行語(yǔ)義表達(dá)(步驟S311);同時(shí),對(duì)分詞后的Similar Question(相似問(wèn)題),通過(guò)Encoder層編碼進(jìn)行語(yǔ)義表達(dá)(步驟S312)。
將步驟S311的編碼結(jié)果(請(qǐng)求問(wèn)題的編碼結(jié)果)和步驟S312的編碼結(jié)果(相似問(wèn)題的編碼結(jié)果)通過(guò)Attention mechanism對(duì)Original Question(請(qǐng)求問(wèn)題)進(jìn)行選擇性表達(dá)(步驟S313)。同時(shí),將步驟S311的編碼結(jié)果(請(qǐng)求問(wèn)題的編碼結(jié)果)和步驟S312的編碼結(jié)果(相似問(wèn)題的編碼結(jié)果)通過(guò)Attention mechanism對(duì)Similar Question(相似問(wèn)題)進(jìn)行選擇性表達(dá)(步驟S314)。
通過(guò)Decoder層基于步驟S313以及步驟S314的結(jié)果進(jìn)行解碼(步驟S320),以最終生成答案(Answer)(步驟S330)。
進(jìn)一步的,在一實(shí)施例中,為了提高對(duì)話(huà)生成模型生成的答案的準(zhǔn)確度,在圖1所示的步驟S170中,僅獲取請(qǐng)求問(wèn)題的一個(gè)相似問(wèn)題。
進(jìn)一步的,在一實(shí)施例中,基于知識(shí)庫(kù)中各個(gè)問(wèn)題與請(qǐng)求問(wèn)題的相似度確定匹配問(wèn)題或相似問(wèn)題。具體的,設(shè)置第一相似度閾值,當(dāng)知識(shí)庫(kù)中存在與請(qǐng)求問(wèn)題的相似度達(dá)到第一相似度閾值(大于或等于)的問(wèn)題時(shí),判斷存在匹配問(wèn)題,大于第一相似度閾值的相似度最大的問(wèn)題即為匹配問(wèn)題。當(dāng)知識(shí)庫(kù)中不存在與請(qǐng)求問(wèn)題的相似度大于第一相似度閾值的問(wèn)題時(shí),判斷不存在匹配問(wèn)題,相似度最大的問(wèn)題即為相似問(wèn)題。
進(jìn)一步的,在實(shí)際應(yīng)用場(chǎng)合中,存在知識(shí)庫(kù)中所有的問(wèn)題均與請(qǐng)求問(wèn)題關(guān)聯(lián)度很小的情況。如果此時(shí)仍將相似度最大的問(wèn)題(其相似度相較其他問(wèn)題雖然最大,但是其相似度的值(與請(qǐng)求問(wèn)題的關(guān)聯(lián)系)其實(shí)很小)作為相似問(wèn)題輸出給對(duì)話(huà)生成模型,就可能會(huì)生成與請(qǐng)求問(wèn)題無(wú)關(guān)的答案。針對(duì)這種情況,在一實(shí)施例中,對(duì)請(qǐng)求問(wèn)題的相似問(wèn)題設(shè)置了進(jìn)一步的相似度限定。具體的,設(shè)置第二相似度閾值(其小于第一相似度閾值),當(dāng)不存在與請(qǐng)求問(wèn)題的相似度達(dá)到(大于或等于)第二閾值的問(wèn)題時(shí)判斷不存在相似問(wèn)題。
具體的,如圖4所示,在一實(shí)施例中,機(jī)器人提取到請(qǐng)求問(wèn)題(步驟S420)后搜索知識(shí)庫(kù)(步驟S430),判斷是否存在請(qǐng)求問(wèn)題的匹配問(wèn)題(是否存在與請(qǐng)求問(wèn)題相似度達(dá)到第一相似度閾值的問(wèn)題)(步驟S440)。
如果存在匹配問(wèn)題(存在相似度達(dá)到第一相似度閾值的問(wèn)題),則獲取其中相似度最大的問(wèn)題(匹配問(wèn)題)對(duì)應(yīng)的答案(步驟S450);并接下來(lái)基于獲取到的答案(與匹配問(wèn)題對(duì)應(yīng)的答案)生成并輸出響應(yīng)多模態(tài)輸入數(shù)據(jù)的多模態(tài)輸出(應(yīng)答用戶(hù)的提問(wèn))(步驟S460)。
如果不存在匹配問(wèn)題(不存在相似度達(dá)到第一相似度閾值的問(wèn)題),則判斷是否存在請(qǐng)求問(wèn)題的相似問(wèn)題(是否存在與請(qǐng)求問(wèn)題相似度達(dá)到第二相似度閾值的問(wèn)題)(步驟S470);如果存在相似問(wèn)題(存在相似度達(dá)到第二相似度閾值的問(wèn)題),則獲取其中相似度最大的問(wèn)題(相似問(wèn)題)(步驟S471);并接下來(lái)利用對(duì)話(huà)生成模型根據(jù)原始的請(qǐng)求問(wèn)題以及獲取到的相似問(wèn)題獲取對(duì)應(yīng)原始的請(qǐng)求問(wèn)題的答案(步驟S480);最后基于獲取到的答案(綜合請(qǐng)求問(wèn)題以及相似問(wèn)題獲取到的答案)生成并輸出響應(yīng)多模態(tài)輸入數(shù)據(jù)的多模態(tài)輸出(應(yīng)答用戶(hù)的提問(wèn))(步驟S460)。
如果不存在相似問(wèn)題,則向用戶(hù)輸出無(wú)法理解當(dāng)前用戶(hù)提問(wèn)(請(qǐng)求問(wèn)題)的指示,或者利用對(duì)話(huà)生成模型僅僅基于請(qǐng)求問(wèn)題生成對(duì)應(yīng)的答案并輸出(步驟S460)。
根絕本發(fā)明的方法,本發(fā)明還提出了一種機(jī)器人。如圖5所示,在一實(shí)施例中,機(jī)器人包括:
輸入采集模塊500,其配置為獲取多模態(tài)交互輸入數(shù)據(jù);
問(wèn)題提取模塊510,其配置為解析多模態(tài)交互輸入數(shù)據(jù),提取請(qǐng)求問(wèn)題;
問(wèn)題匹配模塊520,其配置為獲取知識(shí)庫(kù)中請(qǐng)求問(wèn)題的匹配問(wèn)題,并且,當(dāng)不存在匹配問(wèn)題時(shí)基于獲取知識(shí)庫(kù)中請(qǐng)求問(wèn)題的相似問(wèn)題;
答案生成模塊530,其配置為根據(jù)請(qǐng)求問(wèn)題以及相似問(wèn)題生成對(duì)應(yīng)請(qǐng)求問(wèn)題的答案,或者根據(jù)匹配問(wèn)題獲取對(duì)應(yīng)的答案;
輸出模塊540,其配置為根據(jù)答案生成并輸出對(duì)應(yīng)多模態(tài)交互輸入數(shù)據(jù)的多模態(tài)交互輸出。
具體的,如圖6所示,問(wèn)題匹配模塊620包含問(wèn)題搜索單元621,其獲取問(wèn)題提取模塊610輸出的請(qǐng)求問(wèn)題并在知識(shí)庫(kù)存儲(chǔ)器600(其也可以是網(wǎng)絡(luò)服務(wù)器)保存的知識(shí)庫(kù)中搜索。當(dāng)問(wèn)題搜索單元621搜索到匹配問(wèn)題時(shí),答案生成模塊630的答案獲取單元631從知識(shí)庫(kù)存儲(chǔ)器600保存的知識(shí)庫(kù)中獲取匹配問(wèn)題對(duì)應(yīng)的答案,并將答案輸出給輸出模塊540。當(dāng)問(wèn)題搜索單元621搜索不到匹配問(wèn)題時(shí),其從知識(shí)庫(kù)存儲(chǔ)器600保存的知識(shí)庫(kù)中獲取相似問(wèn)題并將相似問(wèn)題以及請(qǐng)求問(wèn)題輸出給答案生成模塊630的對(duì)話(huà)生成單元632,對(duì)話(huà)生成單元632根據(jù)相似問(wèn)題以及請(qǐng)求問(wèn)題生成答案并將答案輸出給輸出模塊640。
進(jìn)一步的,在一實(shí)施例中,問(wèn)題匹配模塊620配置為獲取請(qǐng)求問(wèn)題的相似問(wèn)題,其中,相似問(wèn)題的個(gè)數(shù)為一個(gè)。
進(jìn)一步的,在一實(shí)施例中,問(wèn)題匹配模塊620配置為基于知識(shí)庫(kù)中各個(gè)問(wèn)題與請(qǐng)求問(wèn)題的相似度確定匹配問(wèn)題或相似問(wèn)題,包括:
當(dāng)不存在與請(qǐng)求問(wèn)題的相似度達(dá)到第一閾值的問(wèn)題時(shí)判斷不存在匹配問(wèn)題;
當(dāng)不存在與請(qǐng)求問(wèn)題的相似度達(dá)到第二閾值的問(wèn)題時(shí)判斷不存在相似問(wèn)題。
進(jìn)一步的,如圖7所示,在一實(shí)施例中,答案生成模塊700包含:
編碼單元701,其配置為將請(qǐng)求問(wèn)題以及相似問(wèn)題分別進(jìn)行分詞編碼;
解碼單元702,其配置為對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果進(jìn)行解碼以生成答案。
進(jìn)一步的,在一實(shí)施例中,解碼單元702配置為采用注意力機(jī)制對(duì)請(qǐng)求問(wèn)題以及相似問(wèn)題的編碼結(jié)果進(jìn)行解碼。
雖然本發(fā)明所公開(kāi)的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。本發(fā)明所述的方法還可有其他多種實(shí)施例。在不背離本發(fā)明實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變或變形,但這些相應(yīng)的改變或變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。