欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于深度學習的機器人對話交互方法及裝置與流程

文檔序號:12733621閱讀:243來源:國知局
基于深度學習的機器人對話交互方法及裝置與流程

本發(fā)明涉及智能機器人領域,具體地說,涉及一種基于深度學習的機器人對話交互方法及裝置。



背景技術:

當前的機器人行業(yè)發(fā)展迅速,特別是聊天類的機器人已經(jīng)被越來越多的人所接受。聊天機器人(chatterbot)是一個用來模擬人類對話或聊天的程序。聊天機器人產(chǎn)生的原因是,研發(fā)者把自己感興趣的回答放到數(shù)據(jù)庫中,當一個問題被拋給聊天機器人時,它通過相似度匹配算法,從數(shù)據(jù)庫中找到最相近的問題,然后根據(jù)問題與答案的對應關系,給出最貼切的答案,回復給它的聊伴。

因此,在對話系統(tǒng)中就需要維護一個龐大的知識庫以供檢索。每當接收到用戶的聊天語句之后,系統(tǒng)就會到知識庫中檢索出與用戶的詢問意思相同的語句,然后把語句對應的答案返回給對話模塊,這樣便形成了問答交互。

然而,由于中文博大精深,同樣一個句子通常會有很多種表達方式。甚至,在某些情況下,僅僅是個別的詞匯差異便有可能改變整個句子的意思。因此,想要判定兩個語句的意思是否相同事實上是一件很困難的事情。

傳統(tǒng)的NLP(Natural Lanuage)技術一般都是基于TF-IDF或者編輯距離等方式,這些方式基本都只會考慮詞之間的相似度,而忽略了組成句子以后的語義。

因此,目前需要提供一種能夠準確地獲取兩個語句之間的相似程度的方法和裝置。



技術實現(xiàn)要素:

本發(fā)明的目的在于,提供一種基于深度學習的機器人對話交互方法及裝置來解決上述技術問題。在本發(fā)明的基于深度學習的機器人對話交互方法中,其包括以下步驟:

接收用戶輸入的對話語句;

抽取所述對話語句中的各個語義特征單元,并根據(jù)所述語義特征單元進行知識庫檢索以得到近似對話語句;

在學習模型中分別生成對應于輸入的對話語句和近似對話語句的句類向量和句向量,并輸出針對輸入的對話語句的句向量與句類向量組合和針對近似對話語句的句向量與句類向量組合之間的相似度;

選擇相似度最高的近似對話語句所對應的答復語句進行輸出。

在一個實施例中,本發(fā)明的基于深度學習的機器人對話交互方法優(yōu)選地包括:

通過神經(jīng)網(wǎng)絡對所述學習模型進行訓練學習以提高所輸出的相似度值的準確度。

在一個實施例中,本發(fā)明的基于深度學習的機器人對話交互方法優(yōu)選地包括對所述學習模型進行訓練的步驟:

在抽取所述對話語句中的各個語義特征單元時,首先進行分詞以將對話語句轉換為詞向量;

將所述詞向量按順序組成矩陣;

將所述矩陣輸入到神經(jīng)網(wǎng)絡中進行訓練以分別得到生成句向量和句類向量的子模型;

將兩個語句的句向量和句類向量輸入到神經(jīng)網(wǎng)絡中進行訓練以得到生成相似度值的總模型。

在一個實施例中,根據(jù)本發(fā)明的基于深度學習的機器人對話交互方法,優(yōu)選的是,所述相似度通過余弦相似度計算

根據(jù)本發(fā)明的另一個方面,還提供了一種基于深度學習的機器人對話交互裝置。該裝置包括:

對話語句接收模塊,其用以接收用戶輸入的對話語句;

特征單元抽取模塊,其用以抽取所述對話語句中的各個語義特征單元,并根據(jù)所述語義特征單元進行知識庫檢索以得到近似對話語句;

向量生成模塊,其用以在學習模型中分別生成對應于輸入的對話語句和近似對話語句的句類向量和句向量,并輸出針對輸入的對話語句的句向量與句類向量組合和針對近似對話語句的句向量與句類向量組合之間的相似度;

語句選擇輸出模塊,其用以選擇相似度最高的近似對話語句所對應的答復語句進行輸出。

在一個實施例中,本發(fā)明的基于深度學習的機器人對話交互裝置優(yōu)選地還包括:

訓練模塊,其用以通過神經(jīng)網(wǎng)絡對所述學習模型進行訓練學習以提高所輸出的相似度值的準確度。

在一個實施例中,根據(jù)本發(fā)明的基于深度學習的機器人對話交互裝置,優(yōu)選的是,在所述訓練模塊中還包括:

轉換單元,其用以在抽取所述對話語句中的各個語義特征單元時,首先進行分詞以將對話語句轉換為詞向量;

矩陣單元,其用以將所述詞向量按順序組成矩陣;

子模型生成單元,其用以將所述矩陣輸入到神經(jīng)網(wǎng)絡中進行訓練以分別得到生成句向量和句類向量的子模型;

總模型生成單元,其用以將兩個語句的句向量和句類向量輸入到神經(jīng)網(wǎng)絡中進行訓練以得到生成相似度值的總模型。

在一個實施例中,根據(jù)本發(fā)明的基于深度學習的機器人對話交互裝置,優(yōu)選的是,所述相似度通過余弦相似度計算。

本發(fā)明的有利之處在于,根據(jù)本發(fā)明,機器人不僅可以根據(jù)中文單個詞來判斷語義,還能夠判斷這些詞組成的語句語義以及由相同單詞構成的不同語句之間的相似程度,從而更精確地針對交談對象的意圖找到貼切回答進行輸出,大大提高了人機交互體驗效果。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現(xiàn)和獲得。

附圖說明

附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:

圖1顯示了根據(jù)本發(fā)明一個實施例的進行深度學習的機器人對話交互方法的總體流程圖;

圖2顯示了根據(jù)本發(fā)明一個實施例的采用神經(jīng)網(wǎng)絡對學習模型進行訓練以進行深度學習的方法流程圖;

圖3顯示了根據(jù)本發(fā)明的一個實施例的針對單個語句進行向量拼接分析的原理圖;

圖4顯示了根據(jù)本發(fā)明的一個實施例的分析兩個語句的相似度的原理圖;

圖5顯示了根據(jù)本發(fā)明一個實施例的基于深度學習的機器人對話交互裝置的結構框圖;以及

圖6顯示了根據(jù)本發(fā)明一個實施例的訓練模塊的內(nèi)部結構框圖。

具體實施方式

為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,以下結合附圖對本發(fā)明實施例作進一步地詳細說明。

由于中文中不同句型的形式意思都很不一樣,而傳統(tǒng)判斷句子相似的方法,會忽略掉句型對句子含義的影響,這會導致判斷相似句子的準確率降低。因此本申請?zhí)峁┝艘环N結合句型進行句子相似度判斷的方法,以提高在智能機器人與用戶進行交互時,對用戶輸入的語句進行相似匹配的正確率。

如圖1所示,其中顯示了根據(jù)本發(fā)明原理的進行深度學習的機器人對話交互方法的總體流程圖。

在圖1中,機器人對話交互方法開始于步驟S101。在起始步驟中,一般系統(tǒng)會進行一些參數(shù)的初始化操作等。接下來,進行到步驟S102,在該步驟中,機器人接收用戶輸入的對話語句。機器人接收的方式隨用戶輸入的對話語句的輸入方式而不同。例如,如果用戶輸入的對話語句為一段文本,則機器人通過掃描或者其他文本輸入方式獲取該對話語句。如果用戶輸入的對話語句為一段語音,則機器人可通過音頻輸入接口獲取該語音,同時啟用音頻轉文本功能將其轉化為相應的文本。

在步驟S103中,系統(tǒng)抽取對話語句中的各個語義特征單元,并根據(jù)語義特征單元進行知識庫檢索以得到近似對話語句。具體說,對于對話語句“我喜歡你!”系統(tǒng)將抽取出“我”“喜歡”“你”以及“!”這些語義特征單元。在中文語義表達中,標點符號具有很強的意思表達,因此本發(fā)明在抽取語義特征單元時,也會抽取標點來作為一個語義特征。此外,如果是一段語音,則機器人會感知這段語音中的語氣,了解該語句屬于陳述句、疑問句、反問句中的哪一類。例如,對于用戶輸入的反問語句“你難道不知道他去上班了嗎?”,系統(tǒng)如果檢索出陳述語句“他去上班了?!迸c其進行比較,則反問句中的標點符號以及其中的“難道”等語義特征單元是非常有必要提取出來,從而作為判斷這兩個語句相似的基準,即使它們中包含的很多其他語義特征單元相同也不相似。

接下來,在步驟S104中,在學習模型中分別生成對應于輸入的對話語句和近似對話語句的句類向量和句向量,并輸出針對輸入的對話語句的句向量與句類向量組合和針對近似對話語句的句向量與句類向量組合之間的相似度。句類向量由上述提到的可表示本語句屬于哪一類語句的語義特征單元構成,或者由它們變形而得到的句類標記構成。一般地,從語氣上對句子進行分類,可包括陳述句、疑問句、祈使句和感嘆句。

如圖2所示,其中詳細顯示了根據(jù)本發(fā)明對學習模型進行訓練的過程。

在圖2中,步驟S201,在抽取所述對話語句中的各個語義特征單元時,首先進行分詞以將對話語句轉換為詞向量。接下來,在步驟S202中,將這些詞向量按順序組成矩陣。將矩陣輸入到神經(jīng)網(wǎng)絡中進行訓練以分別得到生成句向量和句類向量的子模型,步驟S203。將兩個語句的句向量和句類向量輸入到神經(jīng)網(wǎng)絡中進行訓練以得到生成相似度值的總模型,步驟S204。

具體而言,圖2所顯示的流程步驟還可通過圖3的方式表達出來。如圖3所示,其中詳細顯示了根據(jù)本發(fā)明的原理針對單個輸入語句生成句向量與句類向量組合的示意圖。如圖3所示,在本發(fā)明中,使用得到的語料和學習模型文件,先對句子進行分詞。然后將句子轉換為詞向量,將詞向量順序拼接起來得到一個二維的矩陣。

具體地,圖3中顯示的所輸入的一個語句包含了詞1、詞2…詞7。這里詞的含義已經(jīng)不完全是“詞”,例如語句中的“我”。而應該還包括語氣詞以及標點符號這些能夠單個或者組合起來區(qū)分句類的單元。因此,這里也將“詞”稱為語義特征單元。當按照一定規(guī)則將語句切割成單個的詞或者語義特征單元之后,便會進行向量變換操作。變換后的向量以矩陣的形式出現(xiàn)。接下來,將矩陣輸入到不同的兩個初始學習模型中通過神經(jīng)網(wǎng)絡進行訓練。第一個模型訓練后得到一個句向量,第二個模型訓練后得到一個句類向量。然后通過拼接的方式,將兩個向量組合起來。

以上是針對單個語句的訓練結果。

如圖4顯示的,當將兩個語句都輸入到同一個學習模型中后,分別得到兩個拼接的向量。然后,根據(jù)余弦相似度比較得出它們之間的相似度分值。

學習模型最終會輸出一個例如0到1之間的分值。在本發(fā)明中,可以定義0為不相似,而1為相似。學習模型會根據(jù)距離正確值的差異來反復調整其中的權重,最后訓練出一個合適的模型。通過該訓練后的模型,當輸入兩個不同的語句后,可以得出較為準確的能夠反應它們是否相似以及相似程度的結果。

也就是說,對于任意兩個語句,經(jīng)過本發(fā)明訓練的模型都可以得到一個分值。這個分值越接近1表示越相似,可以認為定義一個閾值,例如0.5,大于該閾值的分數(shù)可以表示這兩個語句是相似的,分數(shù)越大,表示相似程度越高。

例如針對語句“我喜歡你”陳述句句類,和“你喜歡我嗎?”疑問句句類,經(jīng)過上述過程之后會得到不相似的判斷結果。雖然它們的基本詞匯都相同,但是句類不同,所表達的含義完全不同。這樣,機器人才會根據(jù)該結果繼續(xù)檢索知識庫,以找到最匹配的答案語句來。

再比如,另一個語句“積分能干什么”疑問句句類,“積分可以干啥?”疑問句句類,在經(jīng)過上述過程之后,雖然其中的個別詞匯并不相同,但是最終得到的相似度分值卻接近1,因此得出相似的判斷結果。

另一個例子,語句“你難道不知道他去上班了嗎?”反問句句類,“他去上班了?!标愂鼍渚漕?,雖然后一語句的全部詞匯都包含在前一語句中,但是句類完全不同。經(jīng)過上述訓練模型后,發(fā)現(xiàn)他們的相似度也接近1,得出相似的判斷結果。這是因為,前一語句中的個別語義特征單元與其句類向量結合起來修正了單純靠詞匯分割判斷的句子含義的結果。

本發(fā)明的學習模型分為三個部分來實現(xiàn)。第一個部分主要實現(xiàn)的功能是,使用神經(jīng)網(wǎng)絡訓練的模型得出語句的句類。第二個部分是使用神經(jīng)網(wǎng)絡訓練的模型得到一個句子的句向量表示。而第三部分是合并上述信息計算相似度分值。在計算相似度分值的步驟中,首選通過計算余弦相似度來確定出相似度最高的語句。

接下來,在步驟S105中,選擇相似度最高的近似對話語句所對應的答復語句進行輸出。所述相似度通過余弦相似度計算最后,方法運行到步驟S106便結束操作。

由于本發(fā)明的方法描述的是在計算機系統(tǒng)中實現(xiàn)的。該計算機系統(tǒng)例如可以設置在機器人的控制核心處理器中。例如,本文所述的方法可以實現(xiàn)為能以控制邏輯來執(zhí)行的軟件,其由機器人控制系統(tǒng)中的CPU來執(zhí)行。本文所述的功能可以實現(xiàn)為存儲在非暫時性有形計算機可讀介質中的程序指令集合。當以這種方式實現(xiàn)時,該計算機程序包括一組指令,當該組指令由計算機運行時其促使計算機執(zhí)行能實施上述功能的方法??删幊踢壿嬁梢詴簳r或永久地安裝在非暫時性有形計算機可讀介質中,例如只讀存儲器芯片、計算機存儲器、磁盤或其他存儲介質。除了以軟件來實現(xiàn)之外,本文所述的邏輯可利用分立部件、集成電路、與可編程邏輯設備(諸如,現(xiàn)場可編程門陣列(FPGA)或微處理器)結合使用的可編程邏輯,或者包括它們?nèi)我饨M合的任何其他設備來體現(xiàn)。所有此類實施例旨在落入本發(fā)明的范圍之內(nèi)。

因此,根據(jù)本發(fā)明的另一個方面,還提供了一種基于深度學習的機器人對話交互裝置500。如圖5所示,裝置500包括:

對話語句接收模塊501,其用以接收用戶輸入的對話語句;

特征單元抽取模塊502,其用以抽取所述對話語句中的各個語義特征單元,并根據(jù)所述語義特征單元進行知識庫檢索以得到近似對話語句;

向量生成模塊503,其用以在學習模型中分別生成對應于輸入的對話語句和近似對話語句的句類向量和句向量,并輸出針對輸入的對話語句的句向量與句類向量組合和針對近似對話語句的句向量與句類向量組合之間的相似度;

語句選擇輸出模塊504,其用以選擇相似度最高的近似對話語句所對應的答復語句進行輸出。

在一個實施例中,本發(fā)明的基于深度學習的機器人對話交互裝置優(yōu)選地還包括:

訓練模塊505,其用以通過神經(jīng)網(wǎng)絡對所述學習模型進行訓練學習以提高所輸出的相似度值的準確度。

如圖6所示,在一個實施例中,根據(jù)本發(fā)明的基于深度學習的機器人對話交互裝置500,優(yōu)選的是,在所述訓練模塊505中還包括以下部分:

轉換單元505a,其用以在抽取所述對話語句中的各個語義特征單元時,首先進行分詞以將對話語句轉換為詞向量;

矩陣單元505b,其用以將所述詞向量按順序組成矩陣;

子模型生成單元505c,其用以將所述矩陣輸入到神經(jīng)網(wǎng)絡中進行訓練以分別得到生成句向量和句類向量的子模型;

總模型生成單元505d,其用以將兩個語句的句向量和句類向量輸入到神經(jīng)網(wǎng)絡中進行訓練以得到生成相似度值的總模型。

在一個實施例中,根據(jù)本發(fā)明的基于深度學習的機器人對話交互裝置,優(yōu)選的是,所述相似度通過余弦相似度計算。

應該理解的是,本發(fā)明所公開的實施例不限于這里所公開的特定結構、處理步驟或材料,而應當延伸到相關領域的普通技術人員所理解的這些特征的等同替代。還應當理解的是,在此使用的術語僅用于描述特定實施例的目的,而并不意味著限制。

說明書中提到的“一個實施例”或“實施例”意指結合實施例描述的特定特征、結構或特性包括在本發(fā)明的至少一個實施例中。因此,說明書通篇各個地方出現(xiàn)的短語“一個實施例”或“實施例”并不一定均指同一個實施例。

雖然本發(fā)明所公開的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術領域內(nèi)的技術人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,可以在實施的形式上及細節(jié)上作任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
寻甸| 浦北县| 开封县| 永新县| 锡林郭勒盟| 开封县| 左权县| 杭州市| 晴隆县| 司法| 碌曲县| 分宜县| 竹溪县| 蒲城县| 石屏县| 和平县| 喀喇| 且末县| 西林县| 石棉县| 霞浦县| 秭归县| 黄冈市| 延边| 泾川县| 鹤山市| 萍乡市| 竹溪县| 巨鹿县| 梧州市| 邢台县| 东辽县| 收藏| 离岛区| 利津县| 马关县| 伊通| 广昌县| 峨边| 商城县| 板桥市|