一種人機(jī)對(duì)話中教授意圖答案生成方法
【專利摘要】本發(fā)明公開了一種人機(jī)對(duì)話中教授意圖答案生成方法,所述方法包括:對(duì)于收到的對(duì)話,計(jì)算其句間相似度,然后對(duì)當(dāng)前對(duì)話語句進(jìn)行對(duì)話意圖識(shí)別;如果當(dāng)前對(duì)話的意圖是閑聊意圖,則將當(dāng)前對(duì)話及其對(duì)應(yīng)的詢問意圖值添加至歷史記錄中,并直接通過搜索知識(shí)庫或者網(wǎng)絡(luò)返回答案;如果當(dāng)前對(duì)話的意圖是教授意圖則進(jìn)入下一步驟;在所述歷史記錄中尋找當(dāng)前對(duì)話對(duì)應(yīng)的問句;結(jié)合當(dāng)前對(duì)話及網(wǎng)絡(luò)信息,進(jìn)行多輪模擬自我對(duì)話獲取相關(guān)答案集合;對(duì)于相關(guān)答案集合進(jìn)行過濾;基于每條答案的權(quán)重進(jìn)行摘要抽取,權(quán)重值最高的答案作為摘要抽取的結(jié)果及當(dāng)前對(duì)話的回答返回。本發(fā)明能夠?qū)θ藱C(jī)對(duì)話中教授意圖下對(duì)用戶的教授內(nèi)容進(jìn)行良好的反饋,提高人機(jī)對(duì)話的滿意度。
【專利說明】
一種人機(jī)對(duì)話中教授意圖答案生成方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及人機(jī)對(duì)話技術(shù)領(lǐng)域,具體來說涉及一種人機(jī)對(duì)話中的教授意圖答案生 成方法。
【背景技術(shù)】
[0002] 人機(jī)對(duì)話作為人工智能領(lǐng)域一個(gè)重要的研究課題,在對(duì)話過程中,用戶的體驗(yàn)度 十分重要。隨著語音識(shí)別技術(shù)的發(fā)展,人機(jī)對(duì)話在聊天機(jī)器人、語音助手、虛擬人場景對(duì)話、 兒童陪聊機(jī)器人等各個(gè)領(lǐng)域均具有重要作用。然而,在人機(jī)對(duì)話過程中,對(duì)于一些問題,機(jī) 器人的回答并不正確,或者用戶對(duì)機(jī)器人返回的答案持有不同的意見,此時(shí),用戶往往會(huì)表 達(dá)自己的意見,來糾正或者教授機(jī)器人,這種情況下,用戶更希望的是機(jī)器人能夠針對(duì)他的 觀點(diǎn)進(jìn)行回答,但目前的人機(jī)對(duì)話系統(tǒng)往往是直接返回知識(shí)庫的答案或者給以模棱兩可的 回復(fù),雖然這樣的回復(fù)可以減少計(jì)算機(jī)的正面回答及回答的錯(cuò)誤率,但帶給用戶的感覺是 計(jì)算機(jī)并沒有領(lǐng)會(huì)用戶交流或者教授的意圖,這樣的對(duì)話體驗(yàn)并不友好。
【發(fā)明內(nèi)容】
[0003] 為解決上述的一個(gè)或多個(gè)問題,本發(fā)明提供了一種人機(jī)對(duì)話中教授意圖答案生成 方法,本發(fā)明能夠?qū)θ藱C(jī)對(duì)話教授意圖下對(duì)用戶的教授內(nèi)容進(jìn)行良好的反饋,從而提高人 機(jī)對(duì)話的滿意度。
[0004] 本發(fā)明提供的一種人機(jī)對(duì)話中教授意圖答案生成方法包括以下步驟:
[0005] 步驟1,對(duì)于收到的對(duì)話,計(jì)算其句間相似度,然后對(duì)當(dāng)前對(duì)話語句進(jìn)行對(duì)話意圖 識(shí)別;
[0006] 步驟2,如果當(dāng)前對(duì)話的意圖是閑聊意圖,則將當(dāng)前對(duì)話及其對(duì)應(yīng)的詢問意圖值添 加至歷史記錄中,并直接通過搜索知識(shí)庫或者網(wǎng)絡(luò)返回答案;如果當(dāng)前對(duì)話的意圖是教授 意圖,則進(jìn)入步驟3進(jìn)行自我對(duì)話;
[0007] 步驟3,在確認(rèn)當(dāng)前對(duì)話的意圖是教授意圖后,在所述歷史記錄中尋找當(dāng)前對(duì)話對(duì) 應(yīng)的問句;
[0008] 步驟4,根據(jù)所述步驟3找到的問句,結(jié)合當(dāng)前對(duì)話及網(wǎng)絡(luò)信息,進(jìn)行多輪模擬自我 對(duì)話獲取相關(guān)答案集合;
[0009] 步驟5,對(duì)于所述步驟4獲得的相關(guān)答案集合進(jìn)行過濾,去除不相關(guān)的答案;
[0010] 步驟6,對(duì)于過濾后的答案集合,基于每條答案的權(quán)重進(jìn)行摘要抽取,權(quán)重值最高 的答案作為摘要抽取的結(jié)果,并作為當(dāng)前對(duì)話的回答進(jìn)行返回。
[0011] 可選地,所述步驟1進(jìn)一步包括以下步驟:
[0012] 步驟11,對(duì)于當(dāng)前對(duì)話所包含的句子進(jìn)行分詞操作,得到每個(gè)句子的詞向量序列, 所述詞向量序列由每個(gè)句子分詞后得到的詞向量組成;
[0013] 步驟12,基于每個(gè)句子的詞向量序列,計(jì)算句間相似度;
[0014] 步驟13,基于所述句間相似度,采用詞向量模型對(duì)于當(dāng)前對(duì)話進(jìn)行對(duì)話意圖識(shí)別, 獲得當(dāng)前對(duì)話的對(duì)話意圖。
[0015]可選地,所述步驟12中,采用如下公式計(jì)算句間相似度:
[0017]其中,S(x,y)表示句間相似度,1,7分別表示句子X和句子y的詞向量序列。
[0018] 可選地,所述對(duì)話意圖至少包括閑聊意圖和教授意圖,其中,所述教授意圖是指用 戶對(duì)計(jì)算機(jī)返回答案的糾正,或者用戶對(duì)計(jì)算機(jī)答案表達(dá)自己的觀點(diǎn)。
[0019] 可選地,所述詢問意圖值是指用戶對(duì)話是問句的概率。
[0020] 可選地,所述步驟3中,采用下式在歷史記錄中尋找當(dāng)前對(duì)話對(duì)應(yīng)的問句:
[0022]其中,表示第i條歷史對(duì)話是當(dāng)前對(duì)話語句對(duì)應(yīng)問句的概率值,D(Xl,Xt)表示第i 條歷史對(duì)話與當(dāng)前對(duì)話之間的距離,Xt表示當(dāng)前對(duì)話,Xl表示第i條歷史對(duì)話,Ask( Xl)表示 第i條歷史對(duì)話詢問意圖值的大小,len表示對(duì)話歷史記錄的長度,α,β,γ分別表示權(quán)重;S (Xl,Xt)表示第i條歷史對(duì)話與當(dāng)前對(duì)話之間的句間相似度。
[0023] 可選地,所述步驟4中,采用下式來進(jìn)行多輪自我對(duì)話以獲取相關(guān)答案集合:
[0024] ai+i=F(q,ai)
[0025] 其中,q表示步驟3找到的當(dāng)前對(duì)話對(duì)應(yīng)的問句,ai表示第i輪自我對(duì)話得到的答 案,ao表示當(dāng)前對(duì)話,F(xiàn)(q, ai)表示通過問句q和當(dāng)前答案ai,得到的自我對(duì)話下一輪的答案, η為對(duì)話的最多輪數(shù)。
[0026] 可選地,所述步驟5中,采用下式來迭代計(jì)算每條答案的權(quán)重:
[0028] 其中,W(Vj)表示第i條答案的權(quán)重,V」表示第j條答案,Vl表示第i條答案,Vk表示第 k條答案,In(Vl)是指存在指向第i條答案信息的句子集合,0ut(Vj)是第j條答案所指向的句 子集合,S(i,j)及S(j,k)表示兩個(gè)句子的相似程度。
[0029] 可選地,所述步驟5中,當(dāng)摘要抽取得到的信息數(shù)量較多時(shí),采用句間詞向量的相 似度對(duì)得到的信息進(jìn)行聚類,將相似度較高的一類信息作為摘要抽取的內(nèi)容。
[0030] 從上述技術(shù)方案可以看出,本發(fā)明在人機(jī)對(duì)話教授意圖下具有以下有益效果:
[0031] (1)本發(fā)明能夠自動(dòng)判斷用戶對(duì)話的教授意圖,針對(duì)用戶教授內(nèi)容,進(jìn)行自我對(duì) 話,生成與用戶對(duì)話更加相關(guān)的答案;
[0032] (2)本發(fā)明針對(duì)人機(jī)對(duì)話中的教授意圖,通過自我對(duì)話生成的答案具有更好的用 戶體驗(yàn)度。
【附圖說明】
[0033] 圖1是根據(jù)本發(fā)明一實(shí)施例的人機(jī)對(duì)話中教授意圖答案生成方法的流程圖。
【具體實(shí)施方式】
[0034] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照 附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0035] 本發(fā)明針對(duì)人機(jī)對(duì)話中的教授意圖,采用詞向量模型對(duì)于用戶對(duì)話語句進(jìn)行意圖 識(shí)別,獲得用戶對(duì)話的詢問意圖;明確用戶教授意圖情況下,首先從對(duì)話歷史中選出當(dāng)前對(duì) 話語句對(duì)應(yīng)的問題;根據(jù)匹配到的問題,結(jié)合用戶教授答案及互聯(lián)網(wǎng)相關(guān)信息模擬多輪自 我對(duì)話,然后對(duì)自我對(duì)話獲取的多輪信息進(jìn)行過濾和摘要抽取;最終將抽取得到的摘要作 為計(jì)算機(jī)對(duì)用戶教授意圖的反饋。
[0036] 在本發(fā)明的一個(gè)示例性實(shí)施例中,提供了一種人機(jī)對(duì)話中基于自我對(duì)話的用戶教 授意圖答案生成方法。圖1為根據(jù)本發(fā)明一實(shí)施例的人機(jī)對(duì)話中基于自我對(duì)話的用戶教授 意圖答案生成方法的流程圖。如圖1所示,所述方法包括以下步驟:
[0037] 步驟1,對(duì)于收到的用戶的對(duì)話,計(jì)算其句間相似度,然后對(duì)當(dāng)前對(duì)話語句進(jìn)行對(duì) 話意圖識(shí)別;
[0038] 所述步驟1進(jìn)一步包括以下步驟:
[0039] 步驟11,對(duì)于當(dāng)前對(duì)話所包含的句子進(jìn)行分詞操作,得到每個(gè)句子的詞向量序列, 所述詞向量序列由每個(gè)句子分詞后得到的詞向量組成;
[0040] 步驟12,基于每個(gè)句子的詞向量序列,采用如下公式計(jì)算句間相似度:
[0042] 其中,S(x,y)表示句間相似度,x,y分別表示句子X和句子y的詞向量序列,其由句 子X,y分詞后得到的詞向量組成。
[0043] 步驟13,基于所述句間相似度,采用詞向量模型對(duì)于當(dāng)前對(duì)話進(jìn)行對(duì)話意圖識(shí)別, 獲得當(dāng)前對(duì)話的對(duì)話意圖。
[0044] 步驟2,如果當(dāng)前對(duì)話的意圖是閑聊意圖,則將當(dāng)前對(duì)話及其對(duì)應(yīng)的詢問意圖值添 加至歷史記錄中,并直接通過搜索知識(shí)庫或者網(wǎng)絡(luò)返回答案,無需進(jìn)行自我對(duì)話步驟;如果 當(dāng)前對(duì)話的意圖是教授意圖,則進(jìn)入步驟3,進(jìn)行自我對(duì)話,生成最佳答案返回;
[0045] 其中,教授意圖是指用戶對(duì)計(jì)算機(jī)返回答案的糾正,或者用戶對(duì)計(jì)算機(jī)答案表達(dá) 自己的觀點(diǎn);詢問意圖值是指用戶對(duì)話是問句的概率。
[0046] 步驟3,在確認(rèn)當(dāng)前對(duì)話的意圖是教授意圖后,在所述歷史記錄中尋找當(dāng)前對(duì)話對(duì) 應(yīng)的問句;
[0047] 在本發(fā)明一實(shí)施例中,采用下式在歷史記錄中尋找當(dāng)前對(duì)話對(duì)應(yīng)的問句:
[0049] 其中,Pl表示第i條歷史對(duì)話是當(dāng)前對(duì)話語句對(duì)應(yīng)問句的概率值,D(Xl,Xt)表示第i 條歷史對(duì)話與當(dāng)前對(duì)話之間的距離,xt表示當(dāng)前對(duì)話,Xl表示第i條歷史對(duì)話,Ask(Xl)表示 第i條歷史對(duì)話詢問意圖值的大小,len表示對(duì)話歷史記錄的長度,len< = 10,當(dāng)前對(duì)話為 第〇條,當(dāng)前對(duì)話的前一句歷史對(duì)話為第1條歷史,以此類推;α,β,γ分別表示權(quán)重;S(Xl, Xt) 表示第i條歷史對(duì)話與當(dāng)前對(duì)話之間的句間相似度,其計(jì)算方法如公式(5)所示。
[0050] 步驟4,根據(jù)所述步驟3找到的問句,結(jié)合當(dāng)前對(duì)話及相關(guān)網(wǎng)絡(luò)信息,進(jìn)行多輪模擬 自我對(duì)話獲取相關(guān)答案集合;
[0051] 在本發(fā)明一實(shí)施例中,采用下式來進(jìn)行多輪自我對(duì)話以獲取相關(guān)答案集合:
[0052] ai+i=F(q,ai)CKi^in (7)
[0053] 其中,q表示步驟3找到的當(dāng)前對(duì)話對(duì)應(yīng)的問句,ai表示第i輪自我對(duì)話得到的答 案,ao表示當(dāng)前對(duì)話,F(xiàn)(q,ai)表示通過問句q和當(dāng)前答案ai,得到的自我對(duì)話下一輪的答案, η為對(duì)話的最多輪數(shù),由此可以得到與當(dāng)前對(duì)話相關(guān)的答案集合為{a^m,......an}。
[0054] 步驟5,對(duì)于所述步驟4獲得的相關(guān)答案集合進(jìn)行過濾,去除不相關(guān)的答案;
[0055] 其中,所述過濾可采用多種過濾方法,只要是能夠過濾掉冗余信息和不相關(guān)信息 的方法都可以使用,本發(fā)明對(duì)其不作具體限定。
[0056] 步驟6,對(duì)于過濾后的答案集合,基于每條答案的權(quán)重進(jìn)行摘要抽取,權(quán)重值最高 的答案作為摘要抽取的結(jié)果,并作為當(dāng)前對(duì)話的回答進(jìn)行返回。
[0057] 在本發(fā)明一實(shí)施例中,采用下式來計(jì)算每條答案的權(quán)重:
[0059]其中,W(Vj)表示第i條答案的權(quán)重,V」表示第j條答案,Vl表示第i條答案,V k表示第 k條答案,In(Vl)是指存在指向第i條答案信息的句子集合,在本方法中,默認(rèn)除了第i條答 案^的其他答案集合為In( Vl),0ut(Vj)是第j條答案所指向的句子(這里的句子指的是答案 集合中的答案)集合,在本方法中,默認(rèn)除了第j條答案W的其他答案集合為〇ut( Vj),求和的 分子S(i,j)及分母S(j,k)表示兩個(gè)句子的相似程度,其計(jì)算方法如公式(5)所示,d是阻尼 系數(shù)。
[0060]公式(8)是一個(gè)迭代的過程,通過多次的迭代計(jì)算,所有句子的權(quán)值會(huì)收斂到一個(gè) 穩(wěn)定的值,最后獲取權(quán)值最高的答案,即最重要的答案。
[0061] 在本發(fā)明一實(shí)施例中,當(dāng)摘要抽取得到的信息數(shù)量較多時(shí),可采用句間詞向量的 相似度對(duì)得到的信息進(jìn)行聚類,將相似度較高的一類信息作為摘要抽取的結(jié)果,其中,句間 詞向量的相似度計(jì)算如公式(1)所示。
[0062] 以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡 在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保 護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種人機(jī)對(duì)話中教授意圖答案生成方法,其特征在于,所述方法包括W下步驟: 步驟1,對(duì)于收到的對(duì)話,計(jì)算其句間相似度,然后對(duì)當(dāng)前對(duì)話語句進(jìn)行對(duì)話意圖識(shí)別; 步驟2,如果當(dāng)前對(duì)話的意圖是閑聊意圖,則將當(dāng)前對(duì)話及其對(duì)應(yīng)的詢問意圖值添加至 歷史記錄中,并直接通過捜索知識(shí)庫或者網(wǎng)絡(luò)返回答案;如果當(dāng)前對(duì)話的意圖是教授意圖, 則進(jìn)入步驟3進(jìn)行自我對(duì)話; 步驟3,在確認(rèn)當(dāng)前對(duì)話的意圖是教授意圖后,在所述歷史記錄中尋找當(dāng)前對(duì)話對(duì)應(yīng)的 問句; 步驟4,根據(jù)所述步驟3找到的問句,結(jié)合當(dāng)前對(duì)話及網(wǎng)絡(luò)信息,進(jìn)行多輪模擬自我對(duì)話 獲取相關(guān)答案集合; 步驟5,對(duì)于所述步驟4獲得的相關(guān)答案集合進(jìn)行過濾,去除不相關(guān)的答案; 步驟6,對(duì)于過濾后的答案集合,基于每條答案的權(quán)重進(jìn)行摘要抽取,權(quán)重值最高的答 案作為摘要抽取的結(jié)果,并作為當(dāng)前對(duì)話的回答進(jìn)行返回。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟1進(jìn)一步包括W下步驟: 步驟11,對(duì)于當(dāng)前對(duì)話所包含的句子進(jìn)行分詞操作,得到每個(gè)句子的詞向量序列,所述 詞向量序列由每個(gè)句子分詞后得到的詞向量組成; 步驟12,基于每個(gè)句子的詞向量序列,計(jì)算句間相似度; 步驟13,基于所述句間相似度,采用詞向量模型對(duì)于當(dāng)前對(duì)話進(jìn)行對(duì)話意圖識(shí)別,獲得 當(dāng)前對(duì)話的對(duì)話意圖。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟12中,采用如下公式計(jì)算句間相 似度:其中,S(x,y)表示句間相似度,x,y分別表示句子X和句子y的詞向量序列。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)話意圖至少包括閑聊意圖和教授意 圖,其中,所述教授意圖是指用戶對(duì)計(jì)算機(jī)返回答案的糾正,或者用戶對(duì)計(jì)算機(jī)答案表達(dá)自 己的觀點(diǎn)。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述詢問意圖值是指用戶對(duì)話是問句的概 率。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟3中,采用下式在歷史記錄中尋找 當(dāng)前對(duì)話對(duì)應(yīng)的問句:其中,化表示第i條歷史對(duì)話是當(dāng)前對(duì)話語句對(duì)應(yīng)問句的概率值,D(xi,xt)表示第i條歷 史對(duì)話與當(dāng)前對(duì)話之間的距離,xt表示當(dāng)前對(duì)話,xi表示第i條歷史對(duì)話,Ask(xi)表示第i條 歷史對(duì)話詢問意圖值的大小,len表示對(duì)話歷史記錄的長度,α,β,丫分別表示權(quán)重;S(xi,xt) 表示第i條歷史對(duì)話與當(dāng)前對(duì)話之間的句間相似度。7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟4中,采用下式來進(jìn)行多輪自我對(duì) 話W獲取相關(guān)答案集合: 化+1 =尸^,日〇 ,0《i《n 其中,q表示步驟3找到的當(dāng)前對(duì)話對(duì)應(yīng)的問句,a康示第i輪自我對(duì)話得到的答案,ao表 示當(dāng)前對(duì)話,F(xiàn)(q,ai)表示通過問句q和當(dāng)前答案曰1,得到的自我對(duì)話下一輪的答案,η為對(duì)話 的最多輪數(shù)。8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟5中,采用下式來迭代計(jì)算每條答 案的權(quán)重:其中,W(vj)表示第i條答案的權(quán)重,V康示第j條答案,V康示第i條答案,Vk表示第k條答 案,In(vi)是指存在指向第i條答案信息的句子集合,Out(vj)是第j條答案所指向的句子集 合,S(i,j)及S( j,k)表示兩個(gè)句子的相似程度。9. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟5中,當(dāng)摘要抽取得到的信息數(shù)量 較多時(shí),采用句間詞向量的相似度對(duì)得到的信息進(jìn)行聚類,將相似度較高的一類信息作為 摘要抽取的內(nèi)容。
【文檔編號(hào)】G06F17/30GK106095950SQ201610422829
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月14日 公開號(hào)201610422829.X, CN 106095950 A, CN 106095950A, CN 201610422829, CN-A-106095950, CN106095950 A, CN106095950A, CN201610422829, CN201610422829.X
【發(fā)明人】陶建華, 楊明浩, 張珂, 那燊若陽, 張大偉, 高廷麗
【申請(qǐng)人】中國科學(xué)院自動(dòng)化研究所