国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于人機對話的方法、神經(jīng)網(wǎng)絡系統(tǒng)和用戶設備與流程

      文檔序號:12666110閱讀:339來源:國知局
      用于人機對話的方法、神經(jīng)網(wǎng)絡系統(tǒng)和用戶設備與流程
      本發(fā)明實施例涉及計算機領域,并且更具體地,涉及一種用于人機對話的方法、神經(jīng)網(wǎng)絡系統(tǒng)和用戶設備。
      背景技術
      :隨著移動互聯(lián)網(wǎng)和智能終端的快速發(fā)展,人機對話的應用越來越廣泛。各大互聯(lián)網(wǎng)公司也推出各自的智能助手,例如AppleSiri、GoogleNow、微軟小娜(MicrosoftCortana)、FacebookM、百度度秘和微軟小冰等等。目前的智能助手能夠與人進行簡單的對話,并且完成一些基本的任務。智能助手的相關技術還需要不斷發(fā)展和改進,朝著更加擬人化、博學化、并且能夠完成更加復雜的任務的方向發(fā)展。人機對話涉及一系列技術,例如:語音識別、自然語言理解、自然語言對話、自動問答、搜索、推薦、語音合成等技術。其中,自動問答技術是指自動問答系統(tǒng)能夠直接對用戶用自然語言提出的問題給出答案。評價自動問答的質量的主要指標是回答的正確性。自動問答系統(tǒng)涉及多個方向不同的技術,例如自然語言處理、信息檢索、知識庫等技術。根據(jù)問題的類型,自動問答系統(tǒng)中有一類我們所關注的問答是回答事實型問題(factoidquestion)。工業(yè)界的自動問答系統(tǒng)的例子包括IBMWatson、Google、Baidu和WolframAlpha等。知識庫技術是與自動問答系統(tǒng)有著緊密聯(lián)系的技術。它涉及從數(shù)據(jù)中獲取結構化的知識并對其進行整理和融合,并在其基礎上進行查詢和推理。在自動問答技術中,語義解析過程是一個尚未完全解決的問題,自動問答的答案通常面臨著自然語言多義性和歧義性的問題。自然語言對話技術是指自然語言對話系統(tǒng)能夠跟用戶進行語義相關的對話,其評價指標主要在于對話(回復)的語義相關性和語言正確性(包括語言連貫和語法正確等)。自然語言對話系統(tǒng)的例子包括微軟小冰和百度百小度等。自然語言對話技術是自然語言處理領域一個很有挑戰(zhàn)的方向。近年來隨著深度學習技術的發(fā)展和應用,發(fā)明了基于深度神經(jīng)網(wǎng)絡的自然語言對話系統(tǒng),其效果在一些數(shù)據(jù)上被證明顯著優(yōu)于傳統(tǒng)的技術?;谏疃壬窠?jīng)網(wǎng)絡的自然語言對話系統(tǒng)能夠產(chǎn)生語義相關的回復,但由于模型本身的限制,無法保證回復語句的正確性。例如,對于“姚明有多高?”這一問題,其回復可能是“姚明身高1.7m?!?,這個回復單從語言角度來講是合適的,但是從知識的角度來講是錯誤的。因此,現(xiàn)有的技術或系統(tǒng)只考慮自動問答,或只考慮自然語言對話,對對話中問題的回復的準確率低。技術實現(xiàn)要素:本發(fā)明提供一種用于人機對話的方法、神經(jīng)網(wǎng)絡系統(tǒng)和用戶設備,可以與用戶進行自然語言交互,并且依據(jù)知識庫作出基于事實的正確的自然語言答案。第一方面,本發(fā)明提供了一種用于人機對話的方法,包括:神經(jīng)網(wǎng)絡系統(tǒng)獲取用戶輸入的自然語言問題;所述神經(jīng)網(wǎng)絡系統(tǒng)將所述自然語言問題轉化為問題向量;所述神經(jīng)網(wǎng)絡系統(tǒng)從知識庫中通過文本檢索,獲得與所述自然語言問題相關的至少一個知識答案,每個所述知識答案與一個知識答案向量對應;所述神經(jīng)網(wǎng)絡系統(tǒng)根據(jù)所述問題向量和至少一個所述知識答案向量,計算獲得基于所述知識庫的中間結果向量,所述中間結果向量用于指示所述問題向量和每個所述知識答案向量的相似度;所述神經(jīng)網(wǎng)絡系統(tǒng)將所述問題向量和所述中間結果向量作為輸入,通過計算輸出序列的概率,生成所述自然語言問題的自然語言答案。其中,所述根據(jù)所述問題向量和至少一個所述知識答案向量,計算獲得基于所述知識庫的中間結果向量,包括:將所述問題向量和至少一個所述知識答案向量作為所述神經(jīng)網(wǎng)絡系統(tǒng)的第二神經(jīng)網(wǎng)絡模塊的輸入,通過所述第二神經(jīng)網(wǎng)絡模塊計算所述問題向量與每個所述知識答案向量的相似度,其中,所述相似度構成所述中間結果向量的元素。上述過程是神經(jīng)網(wǎng)絡系統(tǒng)的使用過程??梢栽谑褂眠^程中,選擇出至少一個知識答案后計算知識答案向量。此外,也可以在神經(jīng)網(wǎng)絡系統(tǒng)的訓練過程,提前將知識答案向量訓練好。在一個例子中,所述知識答案為三元組,所述知識答案向量為三元組向量,所述三元組向量是將所述三元組作為所述神經(jīng)網(wǎng)絡系統(tǒng)的第四神經(jīng)網(wǎng)絡模塊的輸入計算獲得的。具體地,所述三元組向量可以是根據(jù)以下步驟確定的:將所述三元組的主語、謂語和賓語分別用第一獨熱向量、第二獨熱向量和第三獨熱向量表示;將所述第一獨熱向量、所述第二獨熱向量和所述第三獨熱向量分別與投影矩陣運算,獲得第一低維向量、第二低維向量和第三低維向量,其中,所述投影矩陣為所述第四神經(jīng)網(wǎng)絡模塊的參數(shù);根據(jù)所述第一低維向量、所述第二低維向量和所述第三低維向量,計算獲得所述三元組向量。在訓練過程中,所述神經(jīng)網(wǎng)絡系統(tǒng)的參數(shù),即所述第一神經(jīng)網(wǎng)絡模塊、所述第二神經(jīng)網(wǎng)絡模塊、所述第三神經(jīng)網(wǎng)絡模塊和所述第四神經(jīng)網(wǎng)絡模塊的參數(shù),可以是通過最大化訓練數(shù)據(jù)上的似然函數(shù)的結果得到的,其中,所述訓練數(shù)據(jù)包括多組所述自然語言問題和所述自然語言答案。其中,優(yōu)選地,可以采用隨機梯度下降算法來進行訓練。在第一方面的一種可選的實現(xiàn)方式中,將所述自然語言問題轉化為問題向量,可以包括:將所述自然語言問題作為所述神經(jīng)網(wǎng)絡系統(tǒng)的第一神經(jīng)網(wǎng)絡模塊的輸入,將所述自然語言問題的詞序列表示為低維向量序列;通過所述第一神經(jīng)網(wǎng)絡模塊的遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,對所述低維向量序列進行運算,獲得所述問題向量。在第一方面的一種可選的實現(xiàn)方式中,所述將所述問題向量和所述中間結果向量作為輸入,通過計算輸出序列的概率,生成所述自然語言問題的自然語言答案,可以包括:將所述問題向量和所述中間結果向量作為所述神經(jīng)網(wǎng)絡系統(tǒng)的第三神經(jīng)網(wǎng)絡模塊的輸入,通過所述第三神經(jīng)網(wǎng)絡模塊的遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,計算以所述問題向量和所述中間結果向量作為條件的輸出序列的聯(lián)合概率,生成所述自然語言答案。在第一方面的一種可選的實現(xiàn)方式中,所述將所述問題向量和所述中間結果向量作為輸入,通過計算輸出序列的概率,生成所述自然語言問題的自然語言答案,包括:將所述問題向量和所述中間結果向量作為輸入,通過所述第三神經(jīng)網(wǎng)絡模塊的基于注意attention向量技術的遞歸神經(jīng)網(wǎng)絡模型,計算輸出序列的概率,生成所述自然語言答案。第二方面,提供了一種用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng),包括獲取模塊、第一神經(jīng)網(wǎng)絡模塊、檢索模塊、第二神經(jīng)網(wǎng)絡模塊和第三神經(jīng)網(wǎng)絡模塊,用于執(zhí)行第一方面相應的實現(xiàn)方式。其中,獲取模塊,用于獲取用戶輸入的自然語言問題;第一神經(jīng)網(wǎng)絡模塊,用于將所述獲取模塊獲取的所述自然語言問題轉化為問題向量;檢索模塊,用于從知識庫中通過文本檢索,獲得與所述獲取模塊獲取的所述自然語言問題相關的至少一個知識答案,每個所述知識答案與一個知識答案向量對應;第二神經(jīng)網(wǎng)絡模塊,用于根據(jù)所述第一神經(jīng)網(wǎng)絡模塊獲得的所述問題向量和所述檢索模塊獲得的至少一個所述知識答案向量,計算獲得基于所述知識庫的中間結果向量,所述中間結果向量用于指示所述問題向量和每個所述知識答案向量的相似度;第三神經(jīng)網(wǎng)絡模塊,用于將所述第一神經(jīng)網(wǎng)絡模塊獲得的所述問題向量和所述第二神經(jīng)網(wǎng)絡模塊獲得的所述中間結果向量作為作為輸入,通過計算輸出序列的概率,生成所述自然語言問題的自然語言答案。在第二方面的一種可選的實現(xiàn)方式中,所述第二神經(jīng)網(wǎng)絡模塊具體用于:將所述問題向量和至少一個所述知識答案向量作為輸入,計算所述問題向量與每個所述知識答案向量的相似度,其中,所述相似度構成所述中間結果向量的元素。在第二方面的一種可選的實現(xiàn)方式中,所述知識答案為三元組,所述知識答案向量為三元組向量,所述神經(jīng)網(wǎng)絡系統(tǒng)還包括:第四神經(jīng)網(wǎng)絡模塊,用于將所述三元組作為輸入,計算獲得所述三元組向量。在第二方面的一種可選的實現(xiàn)方式中,所述第四神經(jīng)網(wǎng)絡模塊具體用于:將所述三元組的主語、謂語和賓語分別用第一獨熱向量、第二獨熱向量和第三獨熱向量表示;將所述第一獨熱向量、所述第二獨熱向量和所述第三獨熱向量分別與投影矩陣運算,獲得第一低維向量、第二低維向量和第三低維向量,其中,所述投影矩陣為所述第四神經(jīng)網(wǎng)絡模塊的參數(shù);根據(jù)所述第一低維向量、所述第二低維向量和所述第三低維向量,計算獲得所述三元組向量。在第二方面的一種可選的實現(xiàn)方式中,所述第一神經(jīng)網(wǎng)絡模塊具體用于:將所述自然語言問題作為輸入,將所述自然語言問題的詞序列表示為低維向量序列;通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,對所述低維向量序列進行運算,獲得所述問題向量。在第二方面的一種可選的實現(xiàn)方式中,所述第三神經(jīng)網(wǎng)絡模塊具體用于:將所述問題向量和所述中間結果向量作為輸入,通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,計算以所述問題向量和所述中間結果向量作為條件的輸出序列的聯(lián)合概率,生成所述自然語言答案。在第二方面的一種可選的實現(xiàn)方式中,所述第三神經(jīng)網(wǎng)絡模塊具體用于:將所述問題向量和所述中間結果向量作為輸入,通過基于注意attention向量技術的遞歸神經(jīng)網(wǎng)絡模型,計算輸出序列的概率,生成所述自然語言答案。在第二方面的一種可選的實現(xiàn)方式中,所述第一神經(jīng)網(wǎng)絡模塊、所述第二神經(jīng)網(wǎng)絡模塊、所述第三神經(jīng)網(wǎng)絡模塊和所述第四神經(jīng)網(wǎng)絡模塊的參數(shù)是通過最大化訓練數(shù)據(jù)上的似然函數(shù)結果得到的,其中,所述訓練數(shù)據(jù)包括多組所述自然語言問題和所述自然語言答案。第三方面,提供了一種具有人機對話功能的用戶設備,包括輸入設備、處理器和存儲器,所述輸入設備用于獲取用戶的輸入,所述存儲器用于存儲指令,所述處理器用于執(zhí)行所述存儲器存儲的指令,以用于完成第一方面的相應的實現(xiàn)方式,并且第三方面的用戶設備的各器件可以與第二方面的神經(jīng)網(wǎng)絡系統(tǒng)的相應模塊對應。優(yōu)選地,第三方面的用戶設備還可以包括輸出設備,以用于用于輸出所述神經(jīng)網(wǎng)絡系統(tǒng)生成的自然語言答案。本發(fā)明實施例提供的用于人機對話的方法、神經(jīng)網(wǎng)絡系統(tǒng)和用戶設備,通過將自然語言問題和知識庫向量化,通過向量計算,將對話和基于知識庫的問答結合,使之能夠與用戶進行自然語言交互,并且依據(jù)知識庫作出基于事實的正確的自然語言答案。附圖說明為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是一種短文本對話模型的架構的示意圖。圖2是本發(fā)明一個實施例的用于人機對話的訓練過程的示意圖。圖3是第三神經(jīng)網(wǎng)絡模塊的計算流程的示意圖。圖4是本發(fā)明一個實施例的用于人機對話的方法的示意性流程圖。圖5是本發(fā)明一個實施例的用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng)的示意性框圖。圖6是本發(fā)明一個實施例的具有人機對話功能的用戶設備的示意性框圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。下面首先簡單介紹現(xiàn)有的幾種自動問答系統(tǒng)和自然語言對話系統(tǒng)?;谛畔z索的自動問答系統(tǒng):基于信息檢索的自動問答技術通常分為三個步驟:問題分析、文檔檢索和答案抽取。其中,問題分析:利用自然語言處理技術對用戶提出的問題進行分析,包括問題類型識別、中心詞提取、同義詞擴展和問題轉述等。文檔檢索:根據(jù)問題分析步驟的輸出,對索引的文檔庫進行檢索并排序,并從相關文檔中找出與問題相關的段落。答案抽?。簭奈臋n檢索步驟返回的相關段落中,根據(jù)問題的類型,對可能的答案片段進行抽取和打分、排序,最后返回最相關的答案。上述三個步驟均存在一些技術挑戰(zhàn)(例如,問題類型識別、排序、答案抽取等),可能會導致問答系統(tǒng)的準確率偏低。同時,傳統(tǒng)的檢索系統(tǒng)無法處理字面失配的問題,例如問題為“姚明的老婆是誰?”,而文檔中的敘述為“姚明的太太…”,則此時由于“老婆”和“太太”的字面不匹配,可能會導致答案無法召回或錯誤?;诮Y構化知識庫的自動問答系統(tǒng):基于結構化知識庫的自動問答技術首先從大量數(shù)據(jù)(通常是非結構化或半結構化的數(shù)據(jù))中獲取或挖掘結構化的知識,并構建結構化的知識庫。知識的結構通常用三元組來表示:(主語(subject),謂詞(predicate),賓語(object))。主語通常是一個實體,賓語可能是另一個實體或屬性,謂詞表明兩者的關系。例如,(姚明,妻子,葉莉)就是一個三元組。知識庫由多個三元組構成,通??梢杂脠D的結構表示(實體為圖的節(jié)點,關系為邊)。類似的概念包括語義網(wǎng)(semanticweb),本體庫(ontology),關系數(shù)據(jù)(linkeddata)和知識圖譜(knowledgegraph)等。由于知識庫通常從多個數(shù)據(jù)源獲取,那么知識的融合和消歧也是構建知識庫的工作之一。上述自動化構建的知識庫的過程可能存在準確率的問題,因此必要的情況下,會加入人力來進行校準。知識庫構建好后,則可以在其上進行查詢和推理。由于知識庫是結構化數(shù)據(jù),因此可以使用關系數(shù)據(jù)庫或圖數(shù)據(jù)庫存儲,并在其上通過結構化數(shù)據(jù)的查詢語句(例如結構化查詢語言(StructuredQueryLanguage,SQL)和簡單協(xié)議和RDF查詢語言(SimpleProtocolandRDFQueryLanguage,SparQL)等,其中,RDF是指資源描述框架(ResourceDescriptionFramework))進行查詢。對于用戶輸入的自然語言,需要將其轉化為特定的查詢語言,這一過程通常稱為語義解析(semanticparsing)。語義解析是自然語言處理中一個很有挑戰(zhàn)的問題。上述技術面臨兩方面的挑戰(zhàn):一方面,大規(guī)模知識庫的建立是一個復雜的過程,目前的自然語言處理技術還不能做到完全的自動化,往往需要人工的干預來校準;另一方面,語義解析同樣是一個尚未完全解決的問題,也面臨著自然語言多義性和歧義性的問題。在當前的現(xiàn)有技術中,工業(yè)界的自動問答系統(tǒng),可以采用現(xiàn)有技術一和現(xiàn)有技術二兩種技術(基于信息檢索和基于知識庫)的混合技術?;谛畔z索的自然語言對話系統(tǒng):基于信息檢索的自然語言對話技術將大規(guī)模的對話語料以“原文-回復”對的方式進行索引。在線對話時,通過搜索找到與用戶輸入相似的原文,并將其對應的回復返回給用戶。然而,當用戶輸入與庫中語料匹配度較低時,無法保證系統(tǒng)返回語義相關的對話。簡單來講,該系統(tǒng)沒有可擴展性,也無法產(chǎn)生語料從沒有的回復?;跈C器翻譯模型的自然語言對話系統(tǒng):將原文或回復類比為機器翻譯中的源語言(例如英語)和目標語言(例如漢語)。然后套用統(tǒng)計機器翻譯的方法(例如,基于短語的機器翻譯)來訓練。測試(即使用系統(tǒng))時,以用戶輸入作為統(tǒng)計翻譯模型的源語言輸入,經(jīng)過翻譯模型,生成目標語言序列,即給用戶的回復。機器翻譯模型在實際短文本對話數(shù)據(jù)上的表現(xiàn)并不好,其主要原因是對話數(shù)據(jù)中的數(shù)據(jù)分布不同于機器翻譯中的雙語“平行語料”。對話數(shù)據(jù)中,對于同一個原文,可能有很多不同的回復。機器翻譯模型中主要考慮詞和詞之間的線性映射關系,這種復雜的映射關系可能是導致機器翻譯模型失敗的原因?;谏疃壬窠?jīng)網(wǎng)絡的自然語言對話系統(tǒng):隨著深度學習的發(fā)展,學術界提出了一種基于深度神經(jīng)網(wǎng)絡架構的“序列到序列”學習(sequence-to-sequencelearning)模型?;谏疃壬窠?jīng)網(wǎng)絡的自然語言對話技術被用于在大規(guī)模的對話語料訓練得到自然語言對話系統(tǒng)。該系統(tǒng)接受用戶的輸入序列,然后通過多層神經(jīng)網(wǎng)絡的計算,逐詞的輸出回復的序列。圖1是一種短文本對話模型的架構的示意圖。具體地,輸入的自然語言序列經(jīng)過編碼器(Encoder),被轉化為中間表示向量,再經(jīng)過解碼器(Decoder)順序生成輸出序列。其中,解碼器和編碼器分別通過遞歸神經(jīng)網(wǎng)絡(RecurrentNeuralNetwork,RNN)實現(xiàn),并且在解碼的每一個步驟中,都通過一種attention向量技術來更加有目的確定下一步輸出?;谏疃壬窠?jīng)網(wǎng)絡的自然語言對話系統(tǒng)在效果上由于基于檢索和基于機器翻譯的對話系統(tǒng)。雖然能夠產(chǎn)生語義相關的回復,但由于模型本身的限制,無法保證回復語句的正確性。例如對于“姚明有多高?”這一問題,其回復可能是“姚明身高1.7m?!?,這個回復單從語言角度來講是合適的,但是從知識的角度來講是錯誤的。因此如何讓基于深度神經(jīng)網(wǎng)絡的自然語言對話系統(tǒng)返回知識正確的對話,是一個有實際意義的問題,也是本發(fā)明所關注的問題。注意(attention)向量技術:attention向量技術能夠起到對齊原問題和已輸出的答案部分,從而幫助神經(jīng)網(wǎng)絡系統(tǒng)更加準確的輸出下一個詞,其效果在機器翻譯和短文本對話中都得到了驗證。attention向量通常如下計算:其中,是編碼器的狀態(tài)向量集合,αj,i是動態(tài)的加權系數(shù)。αj,i通常如下計算:其中,aj,i=f(sj-1,hi)。這里,sj-1表示解碼器(Decoder)的第j-1個狀態(tài)向量,f是一個帶參數(shù)的神經(jīng)網(wǎng)絡模型。f的一種常用的形式是:其中,va,Wa,Ua為參數(shù)向量或矩陣。利用這種計算方式,每次解碼器產(chǎn)生一個詞時,都會動態(tài)的參考編碼器的狀態(tài)向量,而這種動態(tài)的權重是由解碼器的上一個狀態(tài)向量和編碼器所有的狀態(tài)向量的函數(shù)決定的。綜上所述,現(xiàn)有的技術或系統(tǒng)只考慮自動問答,或只考慮自然語言對話,對對話中問題的回復的準確率低。本發(fā)明以基于深度神經(jīng)網(wǎng)絡的自然語言對話系統(tǒng)為部分基礎,通過深度學習技術,將自然語言對話和基于知識庫的問答相結合,使得系統(tǒng)能夠在對話中對用戶的提問作出知識上正確的自然語言回復。應理解,本發(fā)明實施例所提供的用于人機對話的方法是一種基于神經(jīng)網(wǎng)絡模型的自然語言對話式問答的方法,所提供的用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng)是一種基于神經(jīng)網(wǎng)絡模型的自然語言對話式問答系統(tǒng)。作為一個機器學習模型,基于神經(jīng)網(wǎng)絡模型的自然語言對話式問答系統(tǒng)可以分為訓練和使用兩個階段。訓練階段是根據(jù)訓練數(shù)據(jù),通過反向傳播算法或者隨機梯度下降算法等,最大化訓練數(shù)據(jù)上的似然函數(shù)來確定神經(jīng)網(wǎng)絡系統(tǒng)中各模塊的參數(shù)。在本發(fā)明實施例中,所使用的訓練數(shù)據(jù)可以由這樣的實例構成:(問題,答案,匹配的三元組)。例如:問題:姚明有多高?答案:他有2.29m,非常非常高。匹配的三元組:(姚明,身高,2.29m)或者:問題:紅樓夢是誰寫的?答案:是清代的曹雪芹。匹配的三元組:(紅樓夢,作者,曹雪芹)使用階段是基于已經(jīng)構建的知識庫,以用戶的自然語言問題為輸入,通過神經(jīng)網(wǎng)絡系統(tǒng)中各個模型的計算,產(chǎn)生自然語言答案返回給用戶。為了便于理解,下面從訓練階段開始進行介紹。首先構建結構化知識庫(本文中也可以簡稱為知識庫)和訓練數(shù)據(jù)。知識庫基于一些“事實”(facts)組成。結構化的知識庫中包括記錄(records)或者“元組(tuple)”。具體地,可以從互聯(lián)網(wǎng)獲取結構化知識庫。在本發(fā)明實施例中,知識庫具體可以由多個三元組構成,也可以由包括多條結構化的記錄的數(shù)據(jù)庫構成,本發(fā)明實施例對此不作限定。以知識庫由多個三元組構成為例,可以從百度百科、互動百科、豆瓣等百科知識網(wǎng)站抓取網(wǎng)頁,并通過對網(wǎng)頁中的表格解析得到結構化的三元組。經(jīng)過進一步的處理,例如可以包括去噪、合并等處理。最終抽取得到多個三元組,構成結構化知識庫??梢詮幕ヂ?lián)網(wǎng)獲取訓練數(shù)據(jù),該訓練數(shù)據(jù)可以是自然語言問答對話數(shù)據(jù)。在本發(fā)明實施例中,可以從百度知道、搜搜問問等社區(qū)問答網(wǎng)站抓取網(wǎng)頁,并解析其中的“問題-答案”對,抽取出多個“問題-答案”對。在訓練過程中,可以逐一掃描上述“問題-答案”對數(shù)據(jù),檢查是否與知識庫中的某個或多個三元組“匹配”,其中,“匹配”的定義可以是:1、三元組的subject出現(xiàn)在問題中;2、三元組的object出現(xiàn)在答案中;3、三元組的object不出現(xiàn)在問題中。應理解,本發(fā)明實施例中,知識庫的大小和訓練數(shù)據(jù)的大小可以根據(jù)訓練需要進行調整。在一個具體的例子中,結構化知識庫中可以包括5.5M個三元組,“問題-答案”對可以包括132M個,從中選取出696K個“問題-答案”對作為訓練數(shù)據(jù)。在本發(fā)明實施例中,每個詞可以對應一個獨熱(one-hot)向量。所謂獨熱向量是指,例如,對于某種語言而言,共有A個詞,對每一個詞進行編號,任一個詞對應一個獨熱向量,該獨熱向量具有M維,其中該詞的編號對應的元素為1,其余的元素為零。獨熱向量為高維向量。設輸入的自然語言問題為序列x=(x1,x2,...,xT),即將自然語言問題分解為T個詞,分別對應x1,x2,...,xT。xi為獨熱向量。設輸出的自然語言答案為y=(y1,y2,...,yT′),即自然語言答案為T′個詞組合而成的,T′個詞分別對應y1,y2,...,yT′。yi為獨熱向量。三元組為t=(ts,tp,to),ts/p/o均為獨熱向量,分別表示三元組中的主語、謂詞和賓語。圖2是本發(fā)明一個實施例的用于人機對話的訓練過程的示意圖。如圖2所示,其主要包括以下步驟:S210,將結構化知識庫的三元組作為神經(jīng)網(wǎng)絡系統(tǒng)的第四神經(jīng)網(wǎng)絡模塊的輸入,計算得到三元組向量。應理解,本實施例是以三元組為例進行說明的,但知識庫不限于三元組形式,也可以是其它的結構化的形式。具體地,結構化知識庫由N個三元組組成,每個三元組由主語、謂詞、賓語三項組成,不同三元組的項可能存在重復。因此,知識庫中包含有限個項。通過第一投影矩陣Wt,將知識庫中所有的項(即詞)映射為下列低維向量:即為ts/p/o的低維向量的表示。根據(jù)詞的低維向量的表示,可以進一步得到三元組向量。其中,一種可選的方式是求平均,即:應理解,求平均只是一種可實現(xiàn)的方式,還可以通過其它的方式根據(jù)詞的低維向量得到三元組向量,本發(fā)明實施例對此不作限定。綜上,三元組向量是根據(jù)以下步驟確定的:將該三元組的主語、謂語和賓語分別用第一獨熱向量、第二獨熱向量和第三獨熱向量表示;將該第一獨熱向量、該第二獨熱向量和該第三獨熱向量分別與投影矩陣運算,獲得第一低維向量、第二低維向量和第三低維向量,其中,該投影矩陣為該第四神經(jīng)網(wǎng)絡模塊的參數(shù);根據(jù)該第一低維向量、該第二低維向量和該第三低維向量,計算獲得該三元組向量。知識庫中所有的三元組向量的集合可以構成知識庫的低維向量的表示。其中,第一投影矩陣Wt即為第四神經(jīng)網(wǎng)絡模塊的參數(shù),后續(xù)在訓練過程中需要訓練的即包括該參數(shù)。應理解,第四神經(jīng)網(wǎng)絡模塊中還可以包括其它的參數(shù),本發(fā)明實施例對此不作限定。S220,獲取用戶輸入的自然語言問題。這里,自然語言問題可以由用戶通過麥克風等進行語音輸入,也可以通過鍵盤、鼠標等進行文字或圖形的輸入,還可以是其它的一些輸入形式,系統(tǒng)根據(jù)用戶輸入的自然語言問題能夠轉化為序列x=(x1,x2,...,xT)即可,本發(fā)明實施例對具體的輸入形式不作限定。S230,將自然語言問題轉化為問題向量??梢詫⒆匀徽Z言問題作為神經(jīng)網(wǎng)絡系統(tǒng)的第一神經(jīng)網(wǎng)絡模塊的輸入,計算獲得該自然語言問題對應的問題向量。具體地,用戶輸入的多個自然語言問題可以看作是多個長度變化的詞序列x=(x1,x2,...,xT)(例如“姚明有多高?”是三個詞,“紅樓夢的作者是誰?”是五個詞)。將該詞序列映射為低維向量序列。再將低維向量序列通過第一神經(jīng)網(wǎng)絡模塊(第一神經(jīng)網(wǎng)絡模塊可以基于遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型等,下面的描述以遞歸神經(jīng)網(wǎng)絡模型為例進行展開)計算得到一組長度固定(即不管是多長多短的問題,都可以轉化為一個定長的向量,比如一個1000維的向量)的向量集合,可以稱這些向量為問題向量。這些問題向量構成了自然語言問題在低維空間上的表示。換而言之,可以將自然語言問題中的詞分別映射為高維的獨熱向量x1,x2,...,xT。繼而,將各詞映射為低維向量,表示為其中,Wx為第二投影矩陣。之后,可以再通過遞歸神經(jīng)網(wǎng)絡模型對輸入序列進行編碼,獲得問題向量。遞歸神經(jīng)網(wǎng)絡模型的每個隱藏狀態(tài)(hiddenstate)變量通過如下方式遞歸計算:其中,h0可以為任意向量,例如可以是一個零向量;fh是多層神經(jīng)網(wǎng)絡函數(shù)。在本發(fā)明實施例中,一種簡單的實現(xiàn)的方式是其中,是sigmoid函數(shù)在本發(fā)明實施例中,還可以使用更復雜的長短期記憶(LongShort-TermMemory,LSTM)神經(jīng)網(wǎng)絡模型或者門控遞歸單元(GatedRecurrentUnit,GRU)模型來對fh進行建模。由此得到的遞歸神經(jīng)網(wǎng)絡模型的隱藏狀態(tài)變量,隱藏狀態(tài)變量和詞的向量的表示共同構成了輸入問題的向量表示其中,第二投影矩陣Wx為第一神經(jīng)網(wǎng)絡模塊的參數(shù),fh中還可以包括一些參數(shù),后續(xù)在訓練過程中需要訓練的即包括這些參數(shù)。應理解,第一神經(jīng)網(wǎng)絡模塊中還可以包括其它的參數(shù),本發(fā)明實施例對此不作限定。應理解,本發(fā)明實施例中,第一神經(jīng)網(wǎng)絡模塊將自然語言問題轉化為問題向量的方法可以有多種。例如,通過RNN的編碼器(即基于遞歸神經(jīng)網(wǎng)絡模型)將自然語言問題轉化為問題向量,或者通過卷積神經(jīng)網(wǎng)絡(ConvolutionalNeuralNetwork,CNN)的編碼器(即基于卷積神經(jīng)網(wǎng)絡模型)將自然語言問題轉化為問題向量,等等,本發(fā)明實施例對此不作限定。綜上,將該自然語言問題轉化為問題向量,可以包括:將該自然語言問題作為該神經(jīng)網(wǎng)絡系統(tǒng)的第一神經(jīng)網(wǎng)絡模塊的輸入,將該自然語言問題的詞序列表示為低維向量序列;通過該第一神經(jīng)網(wǎng)絡模塊的遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,對該低維向量序列進行運算,獲得該問題向量。S240,從知識庫中通過文本檢索(textretrieval),獲得與該自然語言問題相關的至少一個知識答案,每個該知識答案與一個知識答案向量對應。以知識答案為三元組為例,則是獲得與自然語言問題相關的至少一個三元組,其中,至少一個三元組與至少一個三元組向量對應。即,對于每個自然語言問題,可以通過文本檢索的方式找到相關的候選三元組集合,進而得到候選的三元組向量集合。S250,該神經(jīng)網(wǎng)絡系統(tǒng)根據(jù)該問題向量和至少一個該知識答案向量,計算獲得基于該知識庫的中間結果向量,該中間結果向量用于指示該問題向量和每個該知識答案向量的相似度。仍以知識答案向量為三元組向量為例,可以將問題向量和至少一個三元組向量作為神經(jīng)網(wǎng)絡系統(tǒng)的第二神經(jīng)網(wǎng)絡模塊的輸入,計算獲得基于結構化知識庫的中間結果向量。具體而言,第二神經(jīng)網(wǎng)絡模塊的作用為將問題向量和從知識庫中搜索出的相關的三元組的向量進行結合與匹配,輸出匹配結果的向量作為中間結果向量。計算問題向量與至少一個三元組中每個三元組的三元組向量表示的相似度,然后輸出以相似度作為元素的中間結果向量。該中間結果向量構成了問題與知識庫中候選三元組匹配結果的表示。更具體地,對于候選的三元組向量集合中的每個三元組向量t,其與問題向量的相似度通過如下方式計算:S(x,t)=qTMut其中,上式中q為問題的向量表示H的分量,即q可以從H中得到。一種可選的計算方式是另一種可選的計算方式是q=hT,當然還可以通過其它方式從H中得到q,本發(fā)明實施例對此不作限定。上式中M為匹配參數(shù)矩陣。設有K個候選三元組向量此時令r=(r1,...,rK),其中,向量r構成了問題與知識庫的匹配結果的表示,即中間結果向量。綜上,根據(jù)該問題向量和至少一個該知識答案向量,計算獲得基于該知識庫的中間結果向量,可以包括:將該問題向量和至少一個該知識答案向量作為該神經(jīng)網(wǎng)絡系統(tǒng)的第二神經(jīng)網(wǎng)絡模塊的輸入,通過該第二神經(jīng)網(wǎng)絡模塊計算該問題向量與每個該知識答案向量的相似度,其中,該相似度構成該中間結果向量的元素。S260,將該問題向量和該中間結果向量作為輸入,通過計算輸出序列的概率,生成該自然語言問題的自然語言答案。換而言之,將問題向量和中間結果向量作為神經(jīng)網(wǎng)絡系統(tǒng)的第三神經(jīng)網(wǎng)絡模塊的輸入,計算獲得自然語言問題的自然語言答案。第三神經(jīng)網(wǎng)絡模塊的作用為將問題向量與匹配結果的中間結果向量進行綜合,并輸出自然語言答案。具體地,以問題向量和中間結果向量為輸入,通過第三神經(jīng)網(wǎng)絡模塊(如,可以基于遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型等)產(chǎn)生一組自然語言的符號序列,此符號序列即為輸出的自然語言答案。具體而言,以H和r作為輸入,逐詞產(chǎn)生自然語言的答案序列y=(y1,y2,...,yT′),計算時依據(jù)下列公式:p(yj|y1,...,yj-1,x,r)=p(yj|sj,H,r)其中,sj為遞歸神經(jīng)網(wǎng)絡模型的狀態(tài)變量。由于產(chǎn)生的答案中包含兩類詞:第一類是輔助性的自然語言,第二類是真實的答案。用二元變量zj來表示這兩種類型(為0表示第一類,為1表示第二類),則:p(yj|yj-1,sj,H,r)=p(zj=0|yj-1,sj)p(yj|yj-1,sj,z=0)+p(zj=1|yj-1,sj)p(yj|z=1,r)其中,p()為聯(lián)合概率函數(shù),以問題向量H和中間結果向量r作為條件,用于計算輸出序列的概率。作為一種優(yōu)選地實施例,對于p(zj|yj-1,sj)=fz(yj-1,sj),其中,狀態(tài)變量sj=fs(sj-1,yj-1,cj)。在本發(fā)明實施例中,可以使用LSTM神經(jīng)網(wǎng)絡模型或者GRU模型來對fz和fs進行建模。注意,其中的cj是隨位置動態(tài)變化的attention向量,αj,i∝a(sj-1,hi)。這種attention向量技術能夠起到對齊原問題和已輸出的答案部分,從而幫助更加準確的輸出下一個詞。p(yj|yj-1,sj,z=0)是產(chǎn)生下一個自然語言詞語的概率,其建模方式與zj相仿。而對于答案類型的詞語,p(yj=k|z=1,r)=rk。圖3示出了第三神經(jīng)網(wǎng)絡模塊的計算流程的示意圖。應理解,在使用階段,生成答案序列的下一詞時,應使得聯(lián)合概率結果最大。在訓練階段,可以通過使用優(yōu)化算法(例如隨機梯度下降算法等),不斷調整第一神經(jīng)網(wǎng)絡模塊、第二神經(jīng)網(wǎng)絡模塊、第三神經(jīng)網(wǎng)絡模塊和第四神經(jīng)網(wǎng)絡模塊的參數(shù),使得訓練數(shù)據(jù)上的似然函數(shù)maxθ∑ilogp(y(i)|x(i))的結果最大化。綜上,將該問題向量和該中間結果向量作為輸入,通過計算輸出序列的概率,生成該自然語言問題的自然語言答案,可以包括:將該問題向量和該中間結果向量作為該神經(jīng)網(wǎng)絡系統(tǒng)的第三神經(jīng)網(wǎng)絡模塊的輸入,通過該第三神經(jīng)網(wǎng)絡模塊的遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,計算以該問題向量和該中間結果向量作為條件的輸出序列的聯(lián)合概率,生成該自然語言答案。優(yōu)選地,將該問題向量和該中間結果向量作為輸入,通過計算輸出序列的概率,生成該自然語言問題的自然語言答案,可以包括:將該問題向量和該中間結果向量作為輸入,通過該第三神經(jīng)網(wǎng)絡模塊的基于注意(attention)向量技術的遞歸神經(jīng)網(wǎng)絡模型,計算輸出序列的概率,生成該自然語言答案。以上詳細介紹了神經(jīng)網(wǎng)絡系統(tǒng)中各神經(jīng)網(wǎng)絡模塊的算法,以及訓練階段。使用階段與訓練階段的原理相似,如圖4所示的用于人機對話的方法300,其可以包括:S310,神經(jīng)網(wǎng)絡系統(tǒng)獲取用戶輸入的自然語言問題。S320,該神經(jīng)網(wǎng)絡系統(tǒng)將該自然語言問題轉化為問題向量。S330,該神經(jīng)網(wǎng)絡系統(tǒng)從知識庫中通過文本檢索,獲得與該自然語言問題相關的至少一個知識答案,每個該知識答案與一個知識答案向量對應。S340,該神經(jīng)網(wǎng)絡系統(tǒng)根據(jù)該問題向量和至少一個該知識答案向量,計算獲得基于該知識庫的中間結果向量,該中間結果向量用于指示該問題向量和每個該知識答案向量的相似度。S350,該神經(jīng)網(wǎng)絡系統(tǒng)將該問題向量和該中間結果向量作為輸入,通過計算輸出序列的概率,生成該自然語言問題的自然語言答案。應理解。三元組向量可以是在訓練階段是已經(jīng)計算好的,在使用階段確定三元組向量不是必需的。本發(fā)明實施例提供了一種用于人機對話的方法,該方法通過將自然語言問題和知識庫向量化,通過向量計算,將對話和基于知識庫的問答結合,能夠與用戶進行自然語言交互,并且依據(jù)知識庫作出基于事實的正確的自然語言答案。實現(xiàn)本發(fā)明實施例中的模型后,在訓練數(shù)據(jù)采樣300個例子,以及在“問題-答案”對再選取出300個“問題-答案”對作為測試數(shù)據(jù)。人工過濾掉其中錯誤的例子,對模型的問答準確率(答對的問題占問題總數(shù)的比例)進行評估。選擇了兩種系統(tǒng)作為比較:1)基于知識庫的信息檢索問答系統(tǒng)(現(xiàn)有技術一);2)基于深度神經(jīng)網(wǎng)絡的對話系統(tǒng)(現(xiàn)有技術五)。問答準確率的評估結果如表1.表1模型訓練數(shù)據(jù)測試數(shù)據(jù)基于知識庫的信息檢索問答系統(tǒng)40%36%基于深度神經(jīng)網(wǎng)絡的對話系統(tǒng)15%19%本發(fā)明實施例46%47%從評估結果可以看出,本發(fā)明實施例的方案優(yōu)于已有的兩個方案,說明本發(fā)明實施例的系統(tǒng)能夠一定程度的捕捉到自然語言問題的語義,與知識庫中的知識做到語義上的匹配,并給出答案。同時,本發(fā)明實施例的方案能夠產(chǎn)生自然語言的答案,而基于檢索的問答系統(tǒng)無法保證做到這一點。上面詳細介紹了本發(fā)明實施例的用于人機對話的方法,下面介紹本發(fā)明實施例的用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng)。圖5是本發(fā)明實施例的用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng)400的示意性框圖。如圖5所示,用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng)400包括:獲取模塊410,用于獲取用戶輸入的自然語言問題;第一神經(jīng)網(wǎng)絡模塊420,用于將該獲取模塊410獲取的該自然語言問題轉化為問題向量;檢索模塊430,用于從知識庫中通過文本檢索,獲得與該獲取模塊410獲取的該自然語言問題相關的至少一個知識答案,每個該知識答案與一個知識答案向量對應;第二神經(jīng)網(wǎng)絡模塊440,用于根據(jù)該第一神經(jīng)網(wǎng)絡模塊420獲得的該問題向量和該檢索模塊430獲得的至少一個該知識答案向量,計算獲得基于該知識庫的中間結果向量,該中間結果向量用于指示該問題向量和每個該知識答案向量的相似度;第三神經(jīng)網(wǎng)絡模塊450,用于將該第一神經(jīng)網(wǎng)絡模塊420獲得的該問題向量和該第二神經(jīng)網(wǎng)絡模塊440獲得的該中間結果向量作為作為輸入,通過計算輸出序列的概率,生成該自然語言問題的自然語言答案。本發(fā)明實施例提供了一種用于人機對話的神經(jīng)網(wǎng)絡系統(tǒng),該神經(jīng)網(wǎng)絡系統(tǒng)通過將自然語言問題和知識庫向量化,通過向量計算得到基于知識庫的,表示自然語言問題和知識庫答案相似度的中間結果向量,再根據(jù)問題向量和中間結果向量計算得到基于事實的正確的自然語言答案??蛇x地,作為一個實施例,該知識答案為三元組,該知識答案向量為三元組向量,該神經(jīng)網(wǎng)絡系統(tǒng)400還可以包括:第四神經(jīng)網(wǎng)絡模塊,用于將該三元組作為輸入,計算獲得該三元組向量。在本發(fā)明實施例中,可選地,該第四神經(jīng)網(wǎng)絡模塊具體可以用于:將該三元組的主語、謂語和賓語分別用第一獨熱向量、第二獨熱向量和第三獨熱向量表示;將該第一獨熱向量、該第二獨熱向量和該第三獨熱向量分別與投影矩陣運算,獲得第一低維向量、第二低維向量和第三低維向量,其中,該投影矩陣為該第四神經(jīng)網(wǎng)絡模塊的參數(shù);根據(jù)該第一低維向量、該第二低維向量和該第三低維向量,計算獲得該三元組向量??蛇x地,作為一個實施例,該第一神經(jīng)網(wǎng)絡模塊420、該第二神經(jīng)網(wǎng)絡模塊440、該第三神經(jīng)網(wǎng)絡模塊450和該第四神經(jīng)網(wǎng)絡模塊的參數(shù)可以是通過最大化訓練數(shù)據(jù)上的似然函數(shù)結果得到的,其中,該訓練數(shù)據(jù)包括多組該自然語言問題和該自然語言答案。在本發(fā)明實施例中,可選地,該第一神經(jīng)網(wǎng)絡模塊420具體可以用于:將該自然語言問題作為輸入,將該自然語言問題的詞序列表示為低維向量序列;通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,對該低維向量序列進行運算,獲得該問題向量。在本發(fā)明實施例中,可選地,該第二神經(jīng)網(wǎng)絡模塊440具體可以用于:將所述問題向量和至少一個所述知識答案向量作為輸入,計算所述問題向量與每個所述知識答案向量的相似度,其中,所述相似度構成所述中間結果向量的元素。在本發(fā)明實施例中,可選地,該第三神經(jīng)網(wǎng)絡模塊450具體可以用于:將該問題向量和該中間結果向量作為輸入,通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,計算以該問題向量和該中間結果向量作為條件的輸出序列的聯(lián)合概率,生成該自然語言答案。在本發(fā)明實施例中,可選地,該第三神經(jīng)網(wǎng)絡模塊450具體可以用于:將該問題向量和該中間結果向量作為輸入,通過基于注意attention向量技術的遞歸神經(jīng)網(wǎng)絡模型,計算輸出序列的概率,生成該自然語言答案。應注意,本發(fā)明實施例中,獲取模塊410可以由輸入設備實現(xiàn),第一神經(jīng)網(wǎng)絡模塊420、檢索模塊430、第二神經(jīng)網(wǎng)絡模塊440、第三神經(jīng)網(wǎng)絡模塊450和第四神經(jīng)網(wǎng)絡模塊可以由處理器實現(xiàn)。如圖6所示,神經(jīng)網(wǎng)絡系統(tǒng)可以部署于具有人機對話功能的用戶設備500中,該用戶設備可以包括處理器510、輸入設備520和存儲器530,其中,存儲器530可以用于存儲處理器510執(zhí)行的代碼等。自然語言答案的輸出可以通過輸出設備540實現(xiàn)。其中,輸入設備520用于獲取用戶輸入的自然語言問題,所述存儲器530用于存儲由所述處理器510執(zhí)行的指令,所述指令可以包括:將所述自然語言問題轉化為問題向量;從知識庫中通過文本檢索,獲得與所述自然語言問題相關的至少一個知識答案,每個所述知識答案與一個知識答案向量對應;根據(jù)所述問題向量和至少一個所述知識答案向量,計算獲得基于所述知識庫的中間結果向量,所述中間結果向量用于指示所述問題向量和每個所述知識答案向量的相似度;將所述問題向量和所述中間結果向量作為輸入,通過計算輸出序列的概率,生成所述自然語言問題的自然語言答案??蛇x地,作為一個實施例,所述處理器510用于:將所述問題向量和至少一個所述知識答案向量作為輸入,計算所述問題向量與每個所述知識答案向量的相似度,其中,所述相似度構成所述中間結果向量的元素??蛇x地,作為一個實施例,所述知識答案為三元組,所述知識答案向量為三元組向量,所述處理器510還用于:將所述三元組的主語、謂語和賓語分別用第一獨熱向量、第二獨熱向量和第三獨熱向量表示;將所述第一獨熱向量、所述第二獨熱向量和所述第三獨熱向量分別與投影矩陣運算,獲得第一低維向量、第二低維向量和第三低維向量;根據(jù)所述第一低維向量、所述第二低維向量和所述第三低維向量,計算獲得所述三元組向量??蛇x地,作為一個實施例,所述處理器510用于:將所述自然語言問題作為輸入,將所述自然語言問題的詞序列表示為低維向量序列;通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,對所述低維向量序列進行運算,獲得所述問題向量??蛇x地,作為一個實施例,所述處理器510用于:將所述問題向量和所述中間結果向量作為輸入,通過遞歸神經(jīng)網(wǎng)絡模型或卷積神經(jīng)網(wǎng)絡模型,計算以所述問題向量和所述中間結果向量作為條件的輸出序列的聯(lián)合概率,生成所述自然語言答案??蛇x地,作為一個實施例,所述處理器510用于:將所述問題向量和所述中間結果向量作為輸入,通過基于注意attention向量技術的遞歸神經(jīng)網(wǎng)絡模型,計算輸出序列的概率,生成所述自然語言答案。用戶設備500中的各個組件通過總線系統(tǒng)550耦合在一起,其中總線系統(tǒng)550除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號總線。圖5所示的神經(jīng)網(wǎng)絡系統(tǒng)400或圖6所示的用戶設備500能夠實現(xiàn)前述圖2至圖4的實施例中所實現(xiàn)的各個過程,為避免重復,這里不再贅述。應注意,本發(fā)明上述方法實施例可以應用于處理器中,或者由處理器實現(xiàn)。處理器可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法實施例的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器可以是通用處理器、數(shù)字信號處理器(DigitalSignalProcessor,DSP)、專用集成電路(ApplicationSpecificIntegratedCircuit,ASIC)、現(xiàn)成可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器,處理器讀取存儲器中的信息,結合其硬件完成上述方法的步驟??梢岳斫?,本發(fā)明實施例中的存儲器可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(Read-OnlyMemory,ROM)、可編程只讀存儲器(ProgrammableROM,PROM)、可擦除可編程只讀存儲器(ErasablePROM,EPROM)、電可擦除可編程只讀存儲器(ElectricallyEPROM,EEPROM)或閃存。易失性存儲器可以是隨機存取存儲器(RandomAccessMemory,RAM),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態(tài)隨機存取存儲器(StaticRAM,SRAM)、動態(tài)隨機存取存儲器(DynamicRAM,DRAM)、同步動態(tài)隨機存取存儲器(SynchronousDRAM,SDRAM)、雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器(DoubleDataRateSDRAM,DDRSDRAM)、增強型同步動態(tài)隨機存取存儲器(EnhancedSDRAM,ESDRAM)、同步連接動態(tài)隨機存取存儲器(SynchlinkDRAM,SLDRAM)和直接內存總線隨機存取存儲器(DirectRambusRAM,DRRAM)。應注意,本文描述的系統(tǒng)和方法的存儲器旨在包括但不限于這些和任意其它適合類型的存儲器。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(Read-OnlyMemory,ROM)、隨機存取存儲器(RandomAccessMemory,RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
      技術領域
      的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。當前第1頁1 2 3 
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1