[發明專利]一種基于自構建多場景的對話追蹤方法在審
| 申請號: | 202111150461.3 | 申請日: | 2021-09-29 |
| 公開(公告)號: | CN114003773A | 公開(公告)日: | 2022-02-01 |
| 發明(設計)人: | 李青;胡萌;李立力 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G06F16/901 | 分類號: | G06F16/901;G06F16/9032;G06F40/211;G06F40/284;G06F40/35;B25J11/00 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 李越 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 構建 場景 對話 追蹤 方法 | ||
1.一種基于自構建多場景的對話追蹤方法,其特征在于:包括以下步驟:
S1:首先對用戶輸入的問句進行特征工程處理以滿足后續模塊處理的需要;
S2:將經過處理的問句送入多層級問答處理模塊;
S3:進入圖譜檢索模塊;
S4:在問題檢索模塊會利用倒排索引,根據問題的余弦相似度在問答庫中查詢相似問題從而篩選出答案;
S5:在模型預測模塊啟動時,需要加載已經預訓練過的seq2seq模型;
S6:最后一個模塊為聯網搜索模塊,當問題送入聯網搜索模塊即意味著本地語料庫沒有匹配到答案,因此將會調用搜狗問問提供的接口獲取相似問題的鏈接,再通過從搜索結果頁面中收集答案,并輸出給用戶。
2.根據權利要求1所述的一種基于自構建多場景的對話追蹤方法,其特征在于:所述步驟S1包括以下步驟:
語句清洗:去除空格、去除標點、去除停用詞;
中文分詞:按照不同模式進行分詞;
文本標注:詞性標注、語義角色標注、命名實體識別;
語義分析:依存句法分析、語義依存樹圖分析;
文本過濾:剔除敏感詞匯、剔除不雅詞匯;
文本數值化:構建詞向量、生成句子向量;
特征提取:提取關鍵詞、判斷主題類型、構建其他特征;
句子長度約束:補全短句,刪減長句。
3.根據權利要求1所述的一種基于自構建多場景的對話追蹤方法,其特征在于:所述步驟S2多層級問答處理模塊整體結構為一個多層級的線性過濾器,通過該層級過濾器控制各子模塊的順序運行。其將問題先后通過模板匹配、圖譜檢索、問題檢索、模型預測、聯網搜索多個模塊進行處理,這些模塊負責不同類型的問答,其中模板匹配負責回答聊天機器人自身相關的問題,圖譜檢索負責專利性強的領域問題,問題檢索負責常見的聊天問題,模型預測則負責日常聊天,最后如果都無法匹配答案則調用外部接口進行聯網搜索。如果某一模塊搜索到答案,則返回給用戶答案不再繼續向下執行,如果沒有獲得答案,則交給下一層繼續處理,如果最終沒有獲得相關答案則返回默認答案。
4.根據權利要求1所述的一種基于自構建多場景的對話追蹤方法,其特征在于:所述步驟S3圖譜檢索模塊主要負責回答專業領域內的相關問題,在該模塊啟動后首先會加載知識圖譜,隨后通過LTP云平臺對問句進行分詞、詞性標注以及句法分析等處理,根據問題中的關鍵詞與知識圖譜中的節點進行匹配從而查詢得到結果,最后再將查詢到的結果根據問題類別套入不同的模板中返回。若未查詢到結果,問題則會被送入問題檢索模塊。
5.根據權利要求1所述的一種基于自構建多場景的對話追蹤方法,其特征在于:所述步驟S4中余弦相似度是n維空間中兩個n維向量之間角度的余弦,余弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似,這就叫余弦相似性,而由于語句也可以用向量來表示,因此余弦相似性可以用來表示兩個句子的相似程度。具體的計算公式為:
問題檢索模塊需要預先設置一個閾值,該閾值用來判斷兩個句子計算出來的余弦相似度是否足夠相似,若余弦相似度大于閾值即說明足夠相似,從而可以得到返回結果,若小于閾值則認定為并未檢索到結果;當問題檢索模塊沒有得到答案時,問題將被送入模型預測模塊。
6.根據權利要求1所述的一種基于自構建多場景的對話追蹤方法,其特征在于:所述步驟S5中Seq2Seq模型屬于encoder-decoder結構的一種,基本思想就是利用兩個RNN,一個RNN作為encoder,另一個RNN作為decoder;encoder負責將輸入序列壓縮成指定長度的向量,這個向量就可以看成是這個序列的語義,這個過程稱為編碼;而decoder則負責根據語義向量生成指定的序列,這個過程也稱為解碼;對于RNN,對于某個序列,對于時刻t,它的詞向量輸出概率為P(xt|x1,x2,…,xt-1),則softmax層每個神經元的計算為:
其中ht是隱含狀態,它與上一時刻的狀態及當前輸入有關,即ht=f(ht-1,xt),那么整個序列的概率就為而對于encoder-decoder模型,設有輸入序列x1,x2,…,xT,輸出序列y1,y2,…,yT,輸入序列和輸出序列的長度可能不同;那么其實就需要根據輸入序列去得到輸出序列可能輸出的詞概率,于是有下面的條件概率,在x1,x2,…,xT發生的情況下,y1,y2,…,yT發生的概率等于p(yt|v,y1,y2,…,yt-1)連乘,如下公式所示:
其中v表示對應的隱含狀態向量,它其實可以等同表示輸入序列;
此時,ht=f(ht-1,yt-1,v),decode編碼器中隱含狀態與上一時刻狀態、上一時刻輸出和狀態v都有關,于是decoder的某一時刻的概率分布可表示為p(yt|v,y1,y2,…,yt-1)=g(ht,yt-1,v);
所以對于訓練樣本,我們要做的就是在整個訓練樣本下,所有樣本的p(y1,y2,…,yT|x1,…,xT)概率之和最大;對應的對數似然條件概率函數為使之最大化,θ則是待確定的模型參數;
在使用模型預測模塊時,加載的預訓練過的模型將會對于輸入的問題進行預測從而得到答案,如果在模型預測模塊也沒有匹配到答案則會進入最后一個模塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111150461.3/1.html,轉載請聲明來源鉆瓜專利網。





