本公開(kāi)大體上涉及計(jì)算技術(shù),更具體地涉及用于自動(dòng)回答用自然語(yǔ)言提出的問(wèn)題并改進(jìn)人機(jī)交互的系統(tǒng)和方法。
背景技術(shù):
存在關(guān)于如何自動(dòng)回答諸如“哈利·波特在哪上學(xué)?”的問(wèn)題的技術(shù)問(wèn)題。精心構(gòu)建的知識(shí)圖提供豐富事實(shí)來(lái)源。然而,這種精心構(gòu)建的知識(shí)圖在回答用自然語(yǔ)言提出的基于事實(shí)的問(wèn)題方面仍有挑戰(zhàn),因?yàn)閱?wèn)題能夠以多種多樣的方式提出。
因此,需要的是提供更有效且更準(zhǔn)確的方式來(lái)自動(dòng)回答問(wèn)題的系統(tǒng)和方法。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提供一種用于為查詢提供答案的計(jì)算機(jī)實(shí)施的方法以及用于識(shí)別問(wèn)題中的話題的計(jì)算機(jī)實(shí)施的方法。
根據(jù)一個(gè)方面,提供了用于為查詢提供答案的計(jì)算機(jī)實(shí)施的方法,該方法可包括:接收具有一個(gè)或多個(gè)詞語(yǔ)的查詢,所述一個(gè)或多個(gè)詞語(yǔ)包括描述所述查詢的話題的主題組塊;查詢數(shù)據(jù)庫(kù)以查找至少一個(gè)候選主題,所述至少一個(gè)候選主題的名稱或別名具有與所述主題組塊相同的表面形式;查詢數(shù)據(jù)庫(kù)以查找一個(gè)或多個(gè)關(guān)系矢量,所述一個(gè)或多個(gè)關(guān)系矢量表達(dá)與所述至少一個(gè)候選主題關(guān)聯(lián)的一個(gè)或多個(gè)關(guān)系;確定所述一個(gè)或多個(gè)關(guān)系的排名分?jǐn)?shù),所述排名分?jǐn)?shù)中的每個(gè)表示所述查詢與對(duì)應(yīng)關(guān)系之間的語(yǔ)義相似性;在所述一個(gè)或多個(gè)關(guān)系中選擇具有最高排名分?jǐn)?shù)的關(guān)系作為預(yù)測(cè)關(guān)系,并且選擇所述至少一個(gè)候選主題作為預(yù)測(cè)話題;以及利用所述預(yù)測(cè)關(guān)系和所述預(yù)測(cè)話題查詢數(shù)據(jù)庫(kù)以查找所述查詢的答案。
根據(jù)另一個(gè)方面,提供了用于識(shí)別問(wèn)題中的話題的計(jì)算機(jī)實(shí)施的方法,該方法可包括:接收具有一個(gè)或多個(gè)詞語(yǔ)的查詢,所述一個(gè)或多個(gè)詞語(yǔ)包括所述查詢問(wèn)題的話題;將所述一個(gè)或多個(gè)詞語(yǔ)轉(zhuǎn)換成一個(gè)或多個(gè)嵌入,每個(gè)嵌入是表達(dá)對(duì)應(yīng)詞語(yǔ)的矢量;預(yù)測(cè)所述一個(gè)或多個(gè)嵌入中的每個(gè)是所述話題的一部分的概率;將所述一個(gè)或多個(gè)嵌入中的概率高于閾值的一些嵌入選擇作為所述話題;以及將與所選擇的嵌入對(duì)應(yīng)的一個(gè)或多個(gè)詞語(yǔ)組合為所述話題。
根據(jù)又一個(gè)方面,提供了用于為查詢提供答案的計(jì)算機(jī)實(shí)施的方法,該方法可包括:接收具有一個(gè)或多個(gè)詞語(yǔ)的輸入查詢;使用神經(jīng)網(wǎng)絡(luò)模型識(shí)別所述輸入查詢的主題組塊,所述主題組塊描述所述輸入查詢的話題;使用所述主題組塊查詢數(shù)據(jù)庫(kù)以識(shí)別名稱或別名具有與所述主題組塊相同的表面形式的至少一個(gè)候選主題;在與所述至少一個(gè)候選主題關(guān)聯(lián)的一個(gè)或多個(gè)關(guān)系中選擇預(yù)測(cè)關(guān)系,并且選擇所述至少一個(gè)候選主題作為預(yù)測(cè)話題;以及利用所述預(yù)測(cè)關(guān)系和所述預(yù)測(cè)話題查詢數(shù)據(jù)庫(kù)以查找所述查詢的答案。
附圖說(shuō)明
將參考本發(fā)明的實(shí)施方式,這些實(shí)施方式的示例可在附圖中示出。附圖旨在是說(shuō)明性的,而非進(jìn)行限制。雖然本發(fā)明在這些實(shí)施方式的上下文中進(jìn)行總體描述,但是應(yīng)理解,這些描述不旨在將本發(fā)明的范圍限制于這些具體實(shí)施方式。附圖中的項(xiàng)目未按比例繪制。
圖1概述根據(jù)本公開(kāi)實(shí)施方式的系統(tǒng)的示例。在實(shí)施方式中,系統(tǒng)包括五個(gè)步驟:1)主題標(biāo)記;2)候選主題查找;3)候選關(guān)系排名;4)事物消岐;以及5)查詢的生成和執(zhí)行。
圖2示出根據(jù)本公開(kāi)實(shí)施方式的主題標(biāo)記的完整模型,其中使用基于詞語(yǔ)嵌入(word embedding)和循環(huán)神經(jīng)網(wǎng)絡(luò)(包括基礎(chǔ)RNN及其變型,諸如雙向RNN、雙向長(zhǎng)短期存儲(chǔ)器(LSTM)和堆疊雙向門限循環(huán)單元(GRU))的順序標(biāo)記模型來(lái)識(shí)別主題字串。
圖3示出根據(jù)本公開(kāi)實(shí)施方式的用于主題標(biāo)記的例示過(guò)程的流程圖。
圖4示出根據(jù)本公開(kāi)實(shí)施方式的用于識(shí)別描述輸入問(wèn)題的主題的主題組塊的例示過(guò)程的流程圖。
圖5示出根據(jù)本公開(kāi)實(shí)施方式的用于為來(lái)自數(shù)據(jù)庫(kù)的與問(wèn)題對(duì)應(yīng)的候選關(guān)系排名的模型的示例。使用堆疊雙向GRU的示例性模型被用來(lái)針對(duì)問(wèn)題計(jì)算連續(xù)數(shù)值化的矢量表達(dá)(問(wèn)題-嵌入)。在這個(gè)步驟中也可使用其它RNN單元(諸如雙向RNN和雙向LSTM)。
圖6示出根據(jù)本公開(kāi)實(shí)施方式的用于關(guān)系排名的例示過(guò)程的流程圖。
圖7示出根據(jù)本公開(kāi)實(shí)施方式的用于在k維矢量空間中生成表達(dá)輸入問(wèn)題的問(wèn)題矢量的例示過(guò)程的流程圖。
圖8示出根據(jù)本公開(kāi)實(shí)施方式的用于對(duì)候選主題消岐以產(chǎn)生預(yù)測(cè)主題和預(yù)測(cè)關(guān)系的例示過(guò)程的流程圖。
圖9描繪根據(jù)本公開(kāi)實(shí)施方式的示例性系統(tǒng)圖。
圖10描繪根據(jù)本公開(kāi)實(shí)施方式的受人啟發(fā)的簡(jiǎn)單問(wèn)答(HISQA)主題和關(guān)系模型的示例圖。
圖11示出根據(jù)本公開(kāi)實(shí)施方式的用于為輸入查詢提供答案的例示過(guò)程的流程圖。
圖12描繪根據(jù)本公開(kāi)實(shí)施方式的計(jì)算設(shè)備/信息處理系統(tǒng)的簡(jiǎn)化框圖。
具體實(shí)施方式
在以下描述中,出于解釋目的,闡明具體細(xì)節(jié)以提供對(duì)本發(fā)明的理解。然而,將對(duì)本領(lǐng)域技術(shù)人員顯而易見(jiàn)的是,可在沒(méi)有這些細(xì)節(jié)的情況下來(lái)實(shí)踐本發(fā)明。此外,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,本發(fā)明的下述實(shí)施方式可通過(guò)多種方式實(shí)施,諸如程序、裝置、系統(tǒng)、設(shè)備或在有形計(jì)算機(jī)可讀介質(zhì)上的方法。
圖示中示出的組件或模塊例示本發(fā)明的示例性的實(shí)施方式,并且意圖避免使本發(fā)明模糊。還應(yīng)理解,在本論述的全文中,組件可描述為單獨(dú)功能性單元(可包括子單元),但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,各種組件或其部分可劃分成單獨(dú)組件,或者可整合在一起,包括整合在單個(gè)系統(tǒng)或單個(gè)組件內(nèi)。應(yīng)當(dāng)注意,本文論述的功能或操作可實(shí)施為組件。組件可通過(guò)軟件、硬件、或它們的組合實(shí)施。
此外,附圖內(nèi)的組件或系統(tǒng)之間的連接不旨在限于直接連接。相反,在這些組件之間的數(shù)據(jù)可由中間組件修改、改換格式、或以其它方式改變。另外,可以使用額外或更少的連接。還應(yīng)注意,術(shù)語(yǔ)“聯(lián)接”、“連接”、或“通信聯(lián)接”應(yīng)理解為包括直接連接、通過(guò)一個(gè)或多個(gè)中間設(shè)備來(lái)進(jìn)行的間接連接、以及無(wú)線連接。
在本說(shuō)明書中提到的“一個(gè)實(shí)施方式”、“優(yōu)選實(shí)施方式”、“實(shí)施方式”、“多個(gè)實(shí)施方式”表示結(jié)合實(shí)施方式所描述的具體特征、結(jié)構(gòu)、特性或功能包括在本發(fā)明的至少一個(gè)實(shí)施方式中,并且可以在多于一個(gè)實(shí)施方式中。另外,在本說(shuō)明書的多處出現(xiàn)以上所提到的短語(yǔ)并不一定全都是指相同的一個(gè)或多個(gè)實(shí)施方式。
在本說(shuō)明書的多處使用某些術(shù)語(yǔ)的目的在于例示,而不應(yīng)被理解為限制。服務(wù)、功能或資源不限于單個(gè)服務(wù)、功能或資源;使用這些術(shù)語(yǔ)可指相關(guān)服務(wù)、功能或資源的可分布或集中的組合。
術(shù)語(yǔ)“包括(include、including、comprise、comprising)”應(yīng)理解為開(kāi)放式的術(shù)語(yǔ),并且其后列出的任何內(nèi)容都是示例,而不意味著限于所列項(xiàng)目。本文所使用的任何標(biāo)題僅是為了組織目的,而不用于限制說(shuō)明書或權(quán)利要求的范圍。
本專利文件所提到的每個(gè)參考文獻(xiàn)以引用的方式將其全文并入本文。
本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到:(1)某些步驟可選擇性地執(zhí)行;(2)步驟可不限于本文所闡述的特定順序;(3)某些步驟可按照不同順序執(zhí)行;以及(4)某些步驟可同時(shí)進(jìn)行。
A介紹
開(kāi)放領(lǐng)域問(wèn)答(QA)目標(biāo)在于提供用自然語(yǔ)言表述的問(wèn)題的準(zhǔn)確答案,而不限制領(lǐng)域。近來(lái),將來(lái)自所有領(lǐng)域的提取事實(shí)存儲(chǔ)為統(tǒng)一化三元組的大規(guī)模知識(shí)圖(KG)(諸如Freebase)為QA系統(tǒng)提供使用結(jié)構(gòu)化數(shù)據(jù)推斷答案的機(jī)會(huì)。在這種情況下,QA系統(tǒng)核心任務(wù)可制定為將呈自然語(yǔ)言的問(wèn)題與KG中的信息化三元組匹配,并且基于這樣的三元組推斷答案。
在所有種類的問(wèn)題中,存在僅需要KG中的一個(gè)事實(shí)(即三元組)作為答案證據(jù)的問(wèn)題類型,在本文件中將其稱為“簡(jiǎn)單問(wèn)題”。典型示例可為“弗蘭·德萊切爾出生地點(diǎn)在哪(Where was Fran Drescher born?)”。
雖然足夠簡(jiǎn)單,但是回答此類問(wèn)題仍有未解決的困難。恰恰相反,簡(jiǎn)單問(wèn)題就是社區(qū)QA網(wǎng)站中出現(xiàn)的最常見(jiàn)類型的問(wèn)題。
在本文件中,通過(guò)在這項(xiàng)任務(wù)中人類行為的啟發(fā),提出用于回答簡(jiǎn)單問(wèn)題的新穎系統(tǒng)的實(shí)施方式。與一般執(zhí)行整體組塊生成和事物鏈接的大多數(shù)的現(xiàn)有方法不同,本文中的系統(tǒng)實(shí)施方式首先進(jìn)行學(xué)習(xí)以準(zhǔn)確識(shí)別問(wèn)題的描述相關(guān)事物的部分,就像人在面對(duì)新的問(wèn)題時(shí)首先將要做的那樣?;谧R(shí)別出的語(yǔ)言組塊,系統(tǒng)搜索KG以查找具有相同表面形式的別名的候選事物。另外,相較于訓(xùn)練系統(tǒng)直接對(duì)不同事物消岐,利用每個(gè)事物所具有的關(guān)系來(lái)決定更可能出現(xiàn)在問(wèn)題情景中的內(nèi)容。在直觀上,人會(huì)通過(guò)理解問(wèn)題中提到的內(nèi)容(關(guān)系)以及事物是否可通過(guò)這樣的方式提及(具有所述關(guān)系)來(lái)對(duì)具有相同名稱的事物消岐。以人類處理“弗蘭·德萊切爾出生地點(diǎn)在哪?”的問(wèn)題的過(guò)程為例。雖然可能并不了解“弗蘭·德萊切爾”是誰(shuí)或是什么,但可了解,它無(wú)疑是這個(gè)問(wèn)題中的相關(guān)事物。然后,可搜索數(shù)據(jù)庫(kù)來(lái)查找姓名“弗蘭·德萊切爾”。假設(shè)存在兩個(gè)帶這個(gè)名稱的事物:一個(gè)事物是作者,而另一事物是電視節(jié)目。由于可能相當(dāng)確信問(wèn)題是在詢問(wèn)人的出生地點(diǎn),則會(huì)選擇作者事物,并且可檢查其對(duì)應(yīng)的性質(zhì)(關(guān)系)。
通過(guò)在該系統(tǒng)的實(shí)施方式中擴(kuò)展利用連續(xù)嵌入和堆疊雙向門限循環(huán)單元-循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU-RNN)來(lái)作為子模塊,在所有子模塊上獲得了優(yōu)良性能,從而針對(duì)簡(jiǎn)單問(wèn)答共同形成強(qiáng)大但直觀的神經(jīng)管線(pipeline)。
本文件的其余部分如下組織。在章節(jié)B中論述先前工作之后,章節(jié)C在形式上限定技術(shù)問(wèn)題并且介紹該系統(tǒng)的實(shí)施方式。隨后,章節(jié)D具體描述每個(gè)子模塊,然后在章節(jié)E中具體描述訓(xùn)練技術(shù)。知識(shí)圖的細(xì)節(jié)呈現(xiàn)在章節(jié)F中。章節(jié)G提供一些結(jié)論,并且章節(jié)H公開(kāi)一些示例性系統(tǒng)實(shí)施方式。
B相關(guān)工作
對(duì)知識(shí)庫(kù)(KB)支持的QA的研究已從早期特定領(lǐng)域QA發(fā)展成基于大規(guī)模KG的開(kāi)放領(lǐng)域QA。重要研究方向已著眼于將自然語(yǔ)言問(wèn)題轉(zhuǎn)換成針對(duì)KG的結(jié)構(gòu)化查詢的問(wèn)題語(yǔ)義解析。最新進(jìn)展包括使用遠(yuǎn)程監(jiān)督、利用釋義、以及要求少量問(wèn)題-回答對(duì)。相比之下,另一研究方向已提出為利用連續(xù)嵌入表達(dá)問(wèn)題和KG元素兩者,然后使用相似性測(cè)量決定最佳匹配。若干方法間的主要差異在于用于嵌入問(wèn)題和KG元素的模型。雖然至少一種方法使用更簡(jiǎn)單的模型(其基本為單層結(jié)構(gòu))形成問(wèn)題嵌入和知識(shí)嵌入,然而至少另一方法提出深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)來(lái)完成任務(wù)。本文中的方法實(shí)施方式屬于此類,但是利用基于RNN的模型構(gòu)建問(wèn)題嵌入。更重要地,在實(shí)施方式中使用新穎的事物鏈接方案。在先前的工作中,通常通過(guò)以下方式實(shí)現(xiàn)事物鏈接:首先根據(jù)問(wèn)題生成所有可能N元(N-Gram),隨后利用排名模型為匹配任何所生成的N元的所有事物排名。相較而言,在實(shí)施方式中,首先順序標(biāo)記以定位準(zhǔn)確主題字串,從而顯著減少候選事物數(shù)量,然后利用主題與關(guān)系之間的隱含約束來(lái)啟發(fā)式地為候選項(xiàng)排名。
從表達(dá)學(xué)習(xí)(representation learning)的角度出發(fā),實(shí)施方式還涉及組合神經(jīng)嵌入和連續(xù)知識(shí)庫(kù)嵌入。對(duì)組合神經(jīng)嵌入的研究是起源于巴爾迪(Baldi)等人在名稱為“Exploiting the past and the future in protein secondary structure prediction(在蛋白質(zhì)二級(jí)結(jié)構(gòu)預(yù)測(cè)中探索過(guò)去和未來(lái))”,Bioinformatics(生物信息學(xué)),15(11):937-946,1999的技術(shù)文獻(xiàn)中論述的神經(jīng)概率語(yǔ)言模型,然后就是基于CNN的模型、基于遞歸神經(jīng)網(wǎng)絡(luò)的模型、以及基于RNN的模型。對(duì)于連續(xù)知識(shí)庫(kù)嵌入,大部分的工作是著眼于知識(shí)庫(kù)補(bǔ)全的任務(wù),其中嵌入空間中的轉(zhuǎn)換可建模為數(shù)學(xué)運(yùn)算。
C概述
在實(shí)施方式中,利用外部構(gòu)建的知識(shí)圖κ,其以主題-關(guān)系-對(duì)象的三元組(s,r,o)形式組織知識(shí),其中s,o∈ε是事物,而是二元關(guān)系。針對(duì)κ以(s,r,?)形式的查詢將會(huì)返回所有對(duì)象oi∈ε,使得(s,r,oi)是κ中的有效的三元組。因此,回答簡(jiǎn)單問(wèn)題q可制定為查找s∈ε、使得查詢(s,r,?)提供問(wèn)題q的準(zhǔn)確答案。在使用相同示例“弗蘭·德萊切爾出生地點(diǎn)在哪?”情況下,這個(gè)問(wèn)題可匹配至查詢(弗蘭·德萊切爾,出生地點(diǎn),?)。一個(gè)示例性知識(shí)圖是公共開(kāi)放的Freebase。
基于該規(guī)則,本系統(tǒng)的實(shí)施方式核心在于用于查找s和r兩者的最佳匹配的神經(jīng)管線。概括地說(shuō),系統(tǒng)包括兩個(gè)可訓(xùn)練的模塊(主題標(biāo)記和關(guān)系排名)以及一個(gè)基于規(guī)則的模塊(聯(lián)合消岐)。兩個(gè)可訓(xùn)練的模塊學(xué)習(xí)縮小未結(jié)構(gòu)化的語(yǔ)言與結(jié)構(gòu)語(yǔ)言之間的差距,同時(shí)基于規(guī)則的模塊基于更早前的結(jié)果作出最終決定。圖1概述系統(tǒng)實(shí)施方式。如圖1中描繪的實(shí)施方式所述,先從(1)主題標(biāo)記開(kāi)始,系統(tǒng)首先生成(2)候選主題,然后(3)為候選關(guān)系排名,隨后,其結(jié)果組合以執(zhí)行聯(lián)合(4)消岐,并且產(chǎn)生最終(5)預(yù)測(cè)和答案生成。
在實(shí)施方式中,管線始于可訓(xùn)練的主題標(biāo)記系統(tǒng),其識(shí)別描述問(wèn)題中的話題的組塊c?;谡Z(yǔ)言組塊c,系統(tǒng)發(fā)布查詢,從而獲得別名與識(shí)別出的組塊具有相同表面形式的所有事物。這個(gè)事物集z稱為候選主題,標(biāo)記為在基本上,可以假設(shè)正確主題別名中的一個(gè)應(yīng)出現(xiàn)于問(wèn)題之中。這個(gè)假設(shè)是合理的,因?yàn)楝F(xiàn)代KG確實(shí)包括人們以別名提及事物時(shí)的大多數(shù)的方式(但應(yīng)注意,可使用可以改善這個(gè)過(guò)程的更復(fù)雜的近似匹配方案)。在給定假設(shè)情況下,如果主題標(biāo)記是正確的,則正確主題必然在候選主題內(nèi),或公式化為
在實(shí)施方式中,系統(tǒng)將會(huì)嘗試識(shí)別正確關(guān)系r。應(yīng)當(dāng)注意,系統(tǒng)不一定從所有可能關(guān)系R中檢索r,因?yàn)樗@得的候選主題將關(guān)系搜索空間限制為與候選主題相關(guān)的那些關(guān)系。因此,對(duì)于每個(gè)候選主題系統(tǒng)查詢主題中涉及的所有關(guān)系,其標(biāo)記為并將它們?nèi)技械胶蜻x關(guān)系列表中。例如,在知識(shí)圖中,每個(gè)候選主題表達(dá)為節(jié)點(diǎn),而關(guān)系表達(dá)是與候選主題相關(guān)的邊緣。另外,確保正確關(guān)系在候選關(guān)系內(nèi),或公式化為隨后,關(guān)系排名系統(tǒng)可訓(xùn)練成為中的關(guān)系評(píng)分,其中較高分?jǐn)?shù)表示有較大的可能性是正確關(guān)系。
最后,另一模塊基于候選主題和關(guān)系排名分?jǐn)?shù)兩者應(yīng)用簡(jiǎn)單且啟發(fā)式的聯(lián)合消岐,從而產(chǎn)生該系統(tǒng)的最終預(yù)測(cè)。
D模型實(shí)施方式
1.主題標(biāo)記
在實(shí)施方式中,主題標(biāo)記目標(biāo)在于識(shí)別詞語(yǔ)中描述自然問(wèn)題中的相關(guān)主題的組塊。在實(shí)施方式中,主題標(biāo)記制定為順序標(biāo)記問(wèn)題?;旧希瑢?duì)于問(wèn)題中的每個(gè)表征(token),進(jìn)行對(duì)這個(gè)表征是否是主題組塊的一部分的二元化分類。為了完整起見(jiàn),簡(jiǎn)略評(píng)述堆疊雙向GRU-RNN,其中堆疊雙向GRU-RNN是這個(gè)模塊的核心模型。
首先,雙向RNN是修改過(guò)的循環(huán)神經(jīng)網(wǎng)絡(luò),其對(duì)兩個(gè)不同的循環(huán)隱層呈現(xiàn)出正向和反向的每個(gè)輸入序列,該不同的循環(huán)隱層都被連接至相同的輸出層。有益地,雙向RNN能夠采集過(guò)去和未來(lái)的完整情景信息從而作出預(yù)測(cè)。其次,非常類似于長(zhǎng)短期存儲(chǔ)器(LSTM),門限循環(huán)單元(GRU)是針對(duì)RNN的特殊單元設(shè)計(jì)。利用可訓(xùn)練的門和恒定誤差傳輸(Constant Error Carousel)(CEC),GRU很少發(fā)生梯度消失問(wèn)題,并且能夠?qū)W習(xí)長(zhǎng)期依賴關(guān)系。相較于LSTM,GRU能夠以更簡(jiǎn)單的設(shè)計(jì)和更少參數(shù)實(shí)現(xiàn)相似性能。最后,由于深度已表現(xiàn)出在理論上和經(jīng)驗(yàn)上對(duì)于神經(jīng)網(wǎng)絡(luò)成功是重要的,因此,將更多的層添加至RNN(其將先前層的輸出作為輸入)可改善RNN的性能。在增加RNN的深度的許多可能方式中,廣泛使用的慣用手段僅僅是將若干層堆疊起來(lái)。
在實(shí)施方式中,以上所提到的所有三個(gè)概念可組合以形成堆疊雙向GRU-RNN。結(jié)構(gòu)在一定程度上與格雷夫(Graves)等人在名稱為“Speech recognition with deep recurrent neural networks(利用深度循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行的語(yǔ)音識(shí)別)”,Acoustics,Speech and Signal Processing(聲學(xué)、語(yǔ)音和信號(hào)處理)(ICASSP),IEEE國(guó)際會(huì)議,第6645-6649頁(yè),IEEE,2013的技術(shù)文獻(xiàn)中論述的以及黃(Huang)等人在名稱為“Bidirectional lstm-crf models for sequence tagging(用于順序標(biāo)記的雙向LSTM-CRF模型)”,ArXiv預(yù)印本,ArXiv:1508.01991,2015的技術(shù)文獻(xiàn)中論述的結(jié)構(gòu)類似,不同之處在于使用GRU而非LSTM。在該文件的其余部分中,堆疊雙向GRU-RNN簡(jiǎn)寫為S-Bi-GRU。
圖2示出根據(jù)本公開(kāi)實(shí)施方式的主題標(biāo)記的完整模型200(其與圖1中的主題建模105相同),其中基于詞語(yǔ)嵌入和循環(huán)神經(jīng)網(wǎng)絡(luò)(包括基礎(chǔ)RNN及其變型,諸如雙向RNN、雙向LSTM和堆疊雙向GRU)的順序標(biāo)記模型用于識(shí)別主題字串。在實(shí)施方式中,所述模型包括:嵌入層210,所述嵌入層210將離散輸入序列轉(zhuǎn)換成連續(xù)矢量序列(詞語(yǔ)嵌入);S-Bi-GRU 212,所述S-Bi-GRU 212學(xué)習(xí)產(chǎn)生特征以用于分類;以及邏輯回歸(二元化分類)層214,所述邏輯回歸層214基于S-Bi-GRU層212所產(chǎn)生的特征預(yù)測(cè)每個(gè)表征是主題組塊的一部分的概率。在實(shí)施方式中,通過(guò)使用標(biāo)準(zhǔn)負(fù)對(duì)數(shù)損失(Negative Log Loss,NLL),所述模型是完全可求導(dǎo)的,因此可以直接通過(guò)反向傳播進(jìn)行訓(xùn)練。
在模型訓(xùn)練后,問(wèn)題被饋送以獲得每個(gè)表征是主題組塊的一部分的概率。在實(shí)施方式中基于概率設(shè)定閾值,并且概率高于閾值的所有表征被組合成預(yù)測(cè)主題字串。在該系統(tǒng)的實(shí)施方式中,可使用相對(duì)測(cè)量值而非絕對(duì)閾值。在實(shí)施方式中,首先選擇具有最高概率的表征,然后將選擇擴(kuò)展到兩側(cè),直到概率相對(duì)于相鄰內(nèi)部表征降低了超過(guò)某百分比為止。經(jīng)驗(yàn)上,這個(gè)方法略微更佳。
基于所選主題組塊,可通過(guò)向KG查詢名稱或別名具有相同表面形式(即,相同拼法)的事物來(lái)獲得候選主題。然而,在實(shí)施方式中,如果未找到匹配事物(5%),則僅使用Freebase Suggest API來(lái)建議使用所選擇的組塊的事物。在此之后,可存在一個(gè)或多個(gè)事物以作為候選主題。為了便于引用,僅具有一個(gè)事物的情況稱為單主題的情況,而具有多個(gè)事物的其它情況稱為多主題的情況。
圖3示出根據(jù)本公開(kāi)實(shí)施方式的用于主題標(biāo)記的例示過(guò)程的流程圖240。在步驟242,接收具有一個(gè)或多個(gè)詞語(yǔ)的輸入查詢。在當(dāng)前示例中,在輸入查詢中可包括句子“弗蘭·德萊切爾出生地點(diǎn)在哪?”。然后,在步驟244,輸入查詢可解析成五個(gè)詞語(yǔ)202(弗蘭、德萊切爾、出生、地點(diǎn)、在哪),并且每個(gè)詞語(yǔ)可輸入至主題標(biāo)記模型201,所述主題標(biāo)記模型201包括嵌入層210、堆疊雙向GRU-RNN 212和邏輯回歸層214。在實(shí)施方式中,主題標(biāo)記模型201識(shí)別主題組塊。在當(dāng)前示例中,如圖1所示,主題標(biāo)記200識(shí)別“弗蘭·德萊切爾”作為主題組塊。然后,在步驟246,具有主題組塊的查詢被發(fā)送至知識(shí)庫(kù)(諸如知識(shí)圖),從而獲得一個(gè)或多個(gè)候選主題事物(或者,等同地,候選主題),如圖1中的箭頭109所指。在實(shí)施方式中,每個(gè)候選主題的名稱或別名具有與主題組塊相同的表面形式(即,拼寫)。在當(dāng)前示例中,找到兩個(gè)事物(作者和電視連續(xù)劇)作為候選主題。
圖4示出根據(jù)本公開(kāi)實(shí)施方式的步驟244的詳細(xì)過(guò)程。在步驟2442,嵌入層210將輸入查詢中的一個(gè)或多個(gè)詞語(yǔ)轉(zhuǎn)換成一個(gè)或多個(gè)嵌入,其中每個(gè)嵌入是表達(dá)對(duì)應(yīng)詞語(yǔ)的矢量。然后,在步驟2444,通過(guò)使用堆疊雙向GRU-RNN 212分別生成與該一個(gè)或多個(gè)嵌入對(duì)應(yīng)的一個(gè)或多個(gè)表征以及每個(gè)表征是否是主題組塊的一部分的二元化分類特征。然后,在步驟2446,基于分類特征,邏輯回歸層214預(yù)測(cè)每個(gè)表征是主題組塊的一部分的概率。在當(dāng)前示例中,輸入問(wèn)題中的五個(gè)詞語(yǔ)“弗蘭”、“德萊切爾”、“出生”、“地點(diǎn)”、“在哪”分別具有0.986、0.975、0.103、0.003、0.002的概率。在步驟2448,所述表征的概率高于閾值的一些表征可組合為主題組塊。在下文中,術(shù)語(yǔ)“表征中的一些”是指表征中的一個(gè)或多個(gè)。在當(dāng)前示例中,兩個(gè)表征“弗蘭”和“德萊切爾”被組合為主題組塊。
2.關(guān)系排名
在實(shí)施方式中,關(guān)系排名模塊目標(biāo)在于識(shí)別用自然語(yǔ)言提出的問(wèn)題所暗含的正確關(guān)系。在實(shí)施方式中,如模塊名稱所示,不同于使用分類來(lái)選擇最佳關(guān)系,這個(gè)技術(shù)問(wèn)題被制定為排名問(wèn)題。基本上,如果候選關(guān)系在語(yǔ)義上更類似于問(wèn)題,則它應(yīng)具有更高排名。在本發(fā)明的實(shí)施方式中,采用嵌入方法測(cè)量關(guān)系與問(wèn)題之間的語(yǔ)義相似性。首先,KG中的每個(gè)關(guān)系r被表達(dá)為k維連續(xù)矢量E(r)。然后,針對(duì)每個(gè)問(wèn)題q,使用另一基于S-Bi-GRU的模型將該問(wèn)題q嵌入至相同k維矢量空間以作為E(q)。由于關(guān)系和問(wèn)題都被表達(dá)為相同維度的矢量,所以可使用一些距離度量來(lái)直接計(jì)算它們的語(yǔ)義相似性。在此,僅利用點(diǎn)積。
圖5示出根據(jù)本公開(kāi)實(shí)施方式的用于為來(lái)自數(shù)據(jù)庫(kù)的與問(wèn)題對(duì)應(yīng)的候選關(guān)系排名的模型300的示例。如所描繪的,嵌入層302將問(wèn)題中詞語(yǔ)嵌入到矢量。在當(dāng)前示例中,嵌入303a-303n分別是五個(gè)詞語(yǔ)“弗蘭”、“德萊切爾”、“出生”、“地點(diǎn)”、“在哪”的矢量表達(dá)。來(lái)自基于S-Bi-GRU的模型304的所有層的最終狀態(tài)被組合形成問(wèn)題嵌入(或者,等同地,問(wèn)題矢量)308。S-Bi-GRU已被簡(jiǎn)化來(lái)避免雜訊。如附圖的下半部所示,在基于S-Bi-GRU的模型304處理問(wèn)題的嵌入序列后,所有的堆疊層的最終步驟隱輸出矢量組合在一起以形成長(zhǎng)矢量306,其本質(zhì)上為該問(wèn)題的神經(jīng)表達(dá)。
在雙向RNN情況下,最終步驟既表示第一步驟也表示最后步驟。然而,由于S-Bi-GRU 304的層的隱含大小或數(shù)量可以變化,因此長(zhǎng)矢量306的維度可不同于關(guān)系嵌入的維度,因此無(wú)法直接用作問(wèn)題嵌入。作為解決方案,在實(shí)施方式中,添加另一線性投影層307來(lái)確保它們維度匹配。因此,問(wèn)題q與關(guān)系r之間的排名分?jǐn)?shù)(語(yǔ)義的相似性分?jǐn)?shù))可寫為RS(q,r)=E(q)TE(r)。在實(shí)施方式中,KG中的每個(gè)關(guān)系r被表達(dá)為k維連續(xù)矢量E(r)314。針對(duì)每個(gè)問(wèn)題q,線性投影層307將長(zhǎng)矢量306投影成k維問(wèn)題矢量E(q)308,使得問(wèn)題矢量E(q)308和關(guān)系矢量E(r)314具有相同維度。在實(shí)施方式中,執(zhí)行關(guān)系矢量E(r)314與問(wèn)題矢量E(q)308的點(diǎn)積316從而得到排名分?jǐn)?shù)。
最后,在實(shí)施方式中,為了訓(xùn)練排名模型,需要正匹配和負(fù)匹配兩者。由于正匹配是直接與數(shù)據(jù)集一起出現(xiàn),因此使用負(fù)采樣獲得負(fù)匹配。本文件的章節(jié)E.1詳細(xì)解釋了負(fù)采樣。因此,利用正對(duì)和負(fù)對(duì)兩者,可使用一些排名損失來(lái)訓(xùn)練基于S-Bi-GRU的模型304。在實(shí)施方式中,使用裕度排名損失:
L(q,r,r′)=[γ–RS(q,r)+RS(q,r′)]
其中,r表示正匹配,表示r′負(fù)匹配,以及γ是預(yù)定裕度。
圖6示出根據(jù)本公開(kāi)實(shí)施方式的用于關(guān)系排名的例示過(guò)程的流程圖340。在步驟342,接收查詢,所述查詢包括具有一個(gè)或多個(gè)詞語(yǔ)的問(wèn)題。然后,在步驟344,問(wèn)題嵌入模型301可使用輸入查詢?cè)趉維矢量空間中生成問(wèn)題矢量E(q)308。
在步驟346,查詢數(shù)據(jù)庫(kù)以獲得在k維矢量空間中表達(dá)候選關(guān)系的關(guān)系矢量314。在實(shí)施方式中,針對(duì)246中確定的每個(gè)候選主題,在數(shù)據(jù)庫(kù)中搜索表達(dá)與候選主題關(guān)聯(lián)的所有關(guān)系的關(guān)系矢量314。在當(dāng)前示例中,如圖1所示,針對(duì)候選主題事物1的候選關(guān)系包括“出生地點(diǎn)”、“國(guó)籍”、“父母”、“電影”等等。類似地,針對(duì)候選主題事物2的候選關(guān)系包括“名稱”、“類型”、“集數(shù)”、“季數(shù)”等等。隨后,基于問(wèn)題矢量308與每個(gè)關(guān)系矢量314之間的點(diǎn)積,在步驟348,確定每個(gè)候選關(guān)系的排名分?jǐn)?shù)318。在實(shí)施方式中,每個(gè)排名分?jǐn)?shù)318可以是標(biāo)量,并且表示問(wèn)題與對(duì)應(yīng)關(guān)系之間的語(yǔ)義相似性。
圖7示出根據(jù)本公開(kāi)實(shí)施方式的步驟344的詳細(xì)過(guò)程。在步驟3442,嵌入層302將輸入問(wèn)題中的一個(gè)或多個(gè)詞語(yǔ)轉(zhuǎn)換成一個(gè)或多個(gè)嵌入303,其中每個(gè)嵌入是表達(dá)對(duì)應(yīng)詞語(yǔ)的矢量。在步驟3444,S-Bi-GRU生成作為查詢問(wèn)題的神經(jīng)表達(dá)的矢量306。隨后,在步驟3446,如果矢量306不是k維矢量,則線性投影層307將矢量306投影到k維矢量空間之中從而獲得問(wèn)題矢量308。
返回參考圖1,每個(gè)箭頭110表示:在步驟346,將對(duì)候選關(guān)系的查詢發(fā)送至數(shù)據(jù)庫(kù)。在當(dāng)前示例中,如圖1所示,事物1的候選關(guān)系“出生地點(diǎn)”的排名分?jǐn)?shù)為0.543,并且事物1的候選關(guān)系“國(guó)籍”的排名分?jǐn)?shù)為0.404。在圖1中,關(guān)系排名115示出關(guān)系及其針對(duì)每個(gè)事物的排名分?jǐn)?shù)的列表。
3.聯(lián)合消岐
在實(shí)施方式中,在獲得對(duì)候選關(guān)系的排名分?jǐn)?shù)后,使用該模塊以對(duì)候選主題消岐(如果存在多個(gè)候選主題的話),并且產(chǎn)生主題和關(guān)系兩者的最終預(yù)測(cè)。
在實(shí)施方式中,針對(duì)單主題的情況下,由于并不存在要消岐的候選主題,因此直接選擇唯一主題作為預(yù)測(cè)主題,然后具有最高分?jǐn)?shù)的關(guān)系將是預(yù)測(cè)關(guān)系。
在實(shí)施方式中,針對(duì)多主題的情況,使用基于啟發(fā)式的模型執(zhí)行聯(lián)合消岐。聯(lián)合消岐的核心思想在于,如果某關(guān)系在語(yǔ)義上更類似于問(wèn)題,則正確主題將更有可能具有與問(wèn)題類似的這個(gè)關(guān)系。概念上,它是與事物相關(guān)的關(guān)系的語(yǔ)義并限定事物語(yǔ)義?;谶@個(gè)概念,使用主題的所有關(guān)系的排名分?jǐn)?shù)決定哪個(gè)候選主題更為正確。例如,對(duì)候選主題的排名分?jǐn)?shù)可限定為然而,這可偏向具有更多關(guān)聯(lián)的候選主題。另外,具有低分?jǐn)?shù)的關(guān)系可能帶來(lái)不希望存在的噪聲。因此,在實(shí)施方式中,僅考慮到具有前N排名分?jǐn)?shù)的候選關(guān)系。在此,N是待選擇的超參數(shù)。通過(guò)使用表示前N候選關(guān)系,候選主題的排名分?jǐn)?shù)可重寫為
在實(shí)施方式中,為了預(yù)測(cè),具有最高排名分?jǐn)?shù)的候選主題可被預(yù)測(cè)為正確主題,即,
然后將與預(yù)測(cè)主題相關(guān)的所有候選關(guān)系中的具有最高排名分?jǐn)?shù)的候選關(guān)系預(yù)測(cè)為正確關(guān)系。
應(yīng)當(dāng)注意,當(dāng)N≥3時(shí),預(yù)測(cè)的量級(jí)可以是重要的,因?yàn)樵谶@種情況下,在所有候選關(guān)系中具有最高分?jǐn)?shù)的關(guān)系可不與預(yù)測(cè)主題相關(guān)。
參考圖1,如箭頭120所指,針對(duì)當(dāng)前示例假設(shè)超參數(shù)N是2的情況下執(zhí)行聯(lián)合消岐。候選主題事物1和事物2的排名分?jǐn)?shù)130分別為0.947和0.239。由于事物1具有最高排名分?jǐn)?shù),因此事物1被預(yù)測(cè)為正確主題,如箭頭125所指。另外,由于候選關(guān)系“出生地點(diǎn)”具有最高排名分?jǐn)?shù),所以這個(gè)關(guān)系被預(yù)測(cè)為正確關(guān)系。
在實(shí)施方式中,結(jié)構(gòu)化查詢基于預(yù)測(cè)主題和預(yù)測(cè)關(guān)系生成并被發(fā)送至KG服務(wù)器。然后,KG服務(wù)器執(zhí)行結(jié)構(gòu)化查詢從而獲得對(duì)象,即,問(wèn)題答案。在實(shí)施方式中,KG包括呈N-三元組RDF格式的數(shù)據(jù),并且每個(gè)RDF三元組具有(主題,關(guān)系,對(duì)象)的形式。
圖8示出根據(jù)本公開(kāi)實(shí)施方式的用于對(duì)候選主題消岐以產(chǎn)生預(yù)測(cè)主題和預(yù)測(cè)關(guān)系的例示過(guò)程的流程圖370。在步驟372,針對(duì)輸入查詢確定是否存在多于一個(gè)候選主題。如果僅有一個(gè)候選主題,則在步驟374,選擇這個(gè)候選主題作為預(yù)測(cè)主題。隨后,在步驟376,在與預(yù)測(cè)主題關(guān)聯(lián)的所有關(guān)系中選擇具有最高排名分?jǐn)?shù)的關(guān)系作為預(yù)測(cè)關(guān)系。
如果針對(duì)輸入查詢存在多于一個(gè)候選主題,則過(guò)程轉(zhuǎn)至步驟380。在步驟380,針對(duì)每個(gè)候選主題對(duì)前N排名分?jǐn)?shù)相加。然后,選擇具有前N排名分?jǐn)?shù)的最高總和的候選主題作為預(yù)測(cè)主題。隨后,過(guò)程轉(zhuǎn)至步驟376,從而選擇預(yù)測(cè)關(guān)系。
E.訓(xùn)練
如章節(jié)D所論述的,在實(shí)施方式中,兩個(gè)可訓(xùn)練的模型都是完全可求導(dǎo)的,并且可由標(biāo)準(zhǔn)(小批量)隨機(jī)梯度下降(SGD)訓(xùn)練。然而,為了充分利用本文所公開(kāi)的系統(tǒng)的實(shí)施方式的功能,可使用額外技術(shù)來(lái)加速訓(xùn)練并且改善收斂。在這個(gè)章節(jié)中介紹一些訓(xùn)練技術(shù),這些訓(xùn)練技術(shù)在實(shí)施方式中改善最終性能。
1.小批量負(fù)采樣
在實(shí)施方式中,當(dāng)訓(xùn)練關(guān)系排名模型時(shí),針對(duì)每個(gè)(q,r,r′)三元組,系統(tǒng)計(jì)算首先計(jì)算它們的嵌入E(q)、E(r)和E(r′),然后計(jì)算對(duì)應(yīng)點(diǎn)積E(q)TE(r)、E(q)TE(r′)。然而,由于每個(gè)問(wèn)題只能具有一個(gè)正匹配,但有數(shù)千個(gè)負(fù)匹配,因此,如果系統(tǒng)針對(duì)每個(gè)可能(q,r,r′)簡(jiǎn)單地執(zhí)行上述計(jì)算,則它將因?yàn)橹貜?fù)計(jì)算相同E(q)TE(r)和E(q)TE(r′)而浪費(fèi)掉許多資源。因此,如果希望使用許多(或甚至是全部)負(fù)匹配,則訓(xùn)練時(shí)間可長(zhǎng)到無(wú)法實(shí)現(xiàn)。由于更多的負(fù)樣本通常造成更好的性能,因此在實(shí)施方式中,提出使用小批量負(fù)采樣減緩重復(fù)計(jì)算問(wèn)題?;旧?,針對(duì)每個(gè)正問(wèn)題關(guān)系對(duì)(q,r),,不同于一次采樣一個(gè)負(fù)關(guān)系,而是采樣小批量的b個(gè)負(fù)關(guān)系{r1′,…,rb′}。然后,僅針對(duì)b個(gè)負(fù)樣本計(jì)算一次正部。另外,通過(guò)有效的存儲(chǔ)操作,對(duì)不同的負(fù)樣本執(zhí)行循環(huán)以轉(zhuǎn)換成更GPU友好的大密度的矩陣乘法。此外,在實(shí)施方式中,這項(xiàng)技術(shù)與矢量化計(jì)算組合,其中,小批量的(q,r,{r1′,…,rb′})三元組并行計(jì)算。因此,利用有限的負(fù)采樣來(lái)訓(xùn)練模型不僅可行而且快速。
2.具有動(dòng)量時(shí)刻表(Momentum Schedule)的AdaGrad
作為深度神經(jīng)網(wǎng)絡(luò)的默認(rèn)最佳算法,隨機(jī)梯度下降(SGD)已成功應(yīng)用于不同的問(wèn)題。然而,為了充分利用SGD,在實(shí)施方式中可人為地調(diào)諧初始學(xué)習(xí)速率和退火時(shí)刻表。
相比之下,作為SGD變型的AdaGrad具有基于先前梯度來(lái)自行調(diào)諧(減小)學(xué)習(xí)速率的優(yōu)點(diǎn)。因此,僅需要調(diào)諧AdaGrad的全局學(xué)習(xí)速率,這樣在實(shí)踐中容易得多。此外,AdaGrad基于參數(shù)空間的幾何逐個(gè)元素地調(diào)整學(xué)習(xí)速率,因此使得模型能夠尤其注意不頻繁出現(xiàn)的(稀少)特征。因此,當(dāng)用AdaGrad來(lái)取代SGD時(shí),主題標(biāo)記模型和關(guān)系排名模型都可穩(wěn)定地實(shí)現(xiàn)更好且更一致的性能(例如,在實(shí)驗(yàn)中,在若干次實(shí)驗(yàn)之間的性能差異在0.5%內(nèi))。
雖然AdaGrad是非常強(qiáng)大的,但是它會(huì)基于先前梯度幅度持續(xù)降低學(xué)習(xí)速率。因此,模型學(xué)習(xí)得越快,學(xué)習(xí)速率降低得越快。因此,訓(xùn)練通??焖贉p慢。為了克服這個(gè)缺點(diǎn),在實(shí)施方式中,提出將AdaGrad與動(dòng)量組合,這可使得AdaGrad能夠累積地在正確的方向上得到進(jìn)一步發(fā)展。在每個(gè)參數(shù)更新過(guò)程中,使用調(diào)整后的梯度累積速度
其中g(shù)t,υt,ρt分別是在時(shí)間步長(zhǎng)t處的梯度、累積速度和動(dòng)量率,并且所有數(shù)學(xué)運(yùn)算在此是逐個(gè)元素進(jìn)行的。然后,使用累積速度執(zhí)行更新
θt=θt-1+υt (4)
其中θt是在時(shí)間步長(zhǎng)t處的參數(shù)。
經(jīng)驗(yàn)上,針對(duì)主題標(biāo)記模型,將AdaGrad與動(dòng)量組合能夠使用短得多的訓(xùn)練時(shí)間得到相同性能。然而,針對(duì)關(guān)系排名,直接添加動(dòng)量導(dǎo)致?lián)p失從訓(xùn)練開(kāi)始就劇烈振蕩。因此,訓(xùn)練損失極緩慢地下降,從而使得性能更差。推測(cè)出這是因?yàn)殚_(kāi)始時(shí)的噪聲梯度而造成的。作為補(bǔ)救,在實(shí)施方式中,提出使用動(dòng)量時(shí)刻表,這會(huì)在開(kāi)始時(shí)停用動(dòng)量,并且在若干個(gè)時(shí)期后或在訓(xùn)練損失達(dá)到某個(gè)水平時(shí)開(kāi)始逐漸增加動(dòng)量。直觀地,期望在早期階段中避免噪聲梯度,而在稍后使用更有效的梯度形成動(dòng)量。在這項(xiàng)工作中,這個(gè)策略稱為具有動(dòng)量時(shí)刻表的AdaGrad。
通過(guò)使用具有動(dòng)量時(shí)刻表的AdaGrad,使用相同訓(xùn)練時(shí)間對(duì)關(guān)系排名模型實(shí)現(xiàn)低得多的訓(xùn)練損失,從而在有效集上實(shí)現(xiàn)了3.0%+的性能提升。
3.Dropout
被視為是有用的另一技術(shù)是將豎直Dropout應(yīng)用于S-Bi-GRU。在實(shí)施方式中,Dropout被應(yīng)用于每個(gè)Bi-GRU層的輸入信號(hào),在圖2中,由“RNN”組件前的點(diǎn)劃線表示。在發(fā)明人進(jìn)行的實(shí)驗(yàn)中,使用Dropout通常需要更長(zhǎng)時(shí)間訓(xùn)練來(lái)收斂至相同的損失水平。但是一旦收斂,則模型在有效集上始終具有更好性能。因此,在實(shí)施方式中,對(duì)主題標(biāo)記模型和關(guān)系排名模型都并入了Dropout。
4.預(yù)訓(xùn)練的詞語(yǔ)嵌入
類似先前的觀察,使用預(yù)訓(xùn)練的詞語(yǔ)嵌入幫助實(shí)現(xiàn)更好性能。在發(fā)明人進(jìn)行的實(shí)驗(yàn)中,當(dāng)使用300d Glove(可在nlp.stanford.edu/projects/glove/獲取)以將詞語(yǔ)嵌入初始化時(shí),性能趨于始終優(yōu)于隨機(jī)初始化嵌入的情況下的性能,其中,300d Glove是用于獲得詞語(yǔ)的矢量表達(dá)的無(wú)監(jiān)督的學(xué)習(xí)算法,由加利福尼亞州斯坦福市斯坦福大學(xué)(Stanford University,Stanford,CA)開(kāi)發(fā)。
5.調(diào)諧模型結(jié)構(gòu)和超參數(shù)
在本工作的實(shí)施方式中,針對(duì)主題標(biāo)記模型的子結(jié)構(gòu)使用不同設(shè)定。以下是在實(shí)際的數(shù)據(jù)集上訓(xùn)練模型的指南。利用其它的數(shù)據(jù)集,可應(yīng)用具有略微不同超參數(shù)設(shè)定(例如,學(xué)習(xí)速率)的類似調(diào)諧步驟。
就詞語(yǔ)嵌入層來(lái)說(shuō),由于它使用了預(yù)訓(xùn)練的GloVe來(lái)作為初始化,因此在實(shí)施方式中略微精調(diào)了參數(shù)。因此,在實(shí)施方式中,沒(méi)有使用強(qiáng)大的具有動(dòng)量的AdaGrad,而是將標(biāo)準(zhǔn)SGD與小初始學(xué)習(xí)速率(0.001)一起使用,并且在每個(gè)時(shí)期后對(duì)學(xué)習(xí)速率(乘以0.85)退火。對(duì)于S-Bi-GRU,在每層中使用具有128個(gè)單元的兩個(gè)層。在實(shí)施方式中,在訓(xùn)練過(guò)程中S-Bi-GRU和邏輯回歸層的參數(shù)都被隨機(jī)地初始化,并通過(guò)具有動(dòng)量(ρt=0.8)的AdaGra(η=0.01)來(lái)訓(xùn)練。另外,可將豎直Dropout(0.5)應(yīng)用于S-Bi-GRU。
在實(shí)施方式中,為了訓(xùn)練關(guān)系排名模型,詞語(yǔ)嵌入層使用與主題標(biāo)記模型中的相同的設(shè)定(即,在這個(gè)實(shí)施方式中,這兩個(gè)模型不共享詞語(yǔ)嵌入)。在實(shí)施方式中,針對(duì)S-Bi-GRU使用略大的結(jié)構(gòu),具有256個(gè)單元的兩個(gè)層。在訓(xùn)練過(guò)程中,S-Bi-GRU和線性投影層都可通過(guò)具有動(dòng)量時(shí)刻表的AdaGrad(η=0.005)來(lái)訓(xùn)練,其中動(dòng)量率以0.3來(lái)增加,直至在3個(gè)時(shí)期后達(dá)到0.9為止。另外,在實(shí)施方式中,可將較弱的Dropout(0.3)應(yīng)用于S-Bi-GRU。在實(shí)施方式中,針對(duì)關(guān)系嵌入僅使用了128個(gè)矢量。在訓(xùn)練過(guò)程中,每個(gè)關(guān)系嵌入被約束為保持在單位球內(nèi),即,由于存在約束,可使用較小學(xué)習(xí)速率(0.001)來(lái)確保更精細(xì)的搜索。
F.知識(shí)圖
在本工作的實(shí)施方式中,最新Freebase轉(zhuǎn)儲(chǔ)數(shù)據(jù)用作KG的數(shù)據(jù)源。轉(zhuǎn)儲(chǔ)數(shù)據(jù)包含多于3B個(gè)事實(shí),其中每個(gè)事實(shí)以N三元組RDF的格式制備。每個(gè)RDF三元組具有(主題,關(guān)系,對(duì)象的)形式,正如章節(jié)A介紹的那樣。
應(yīng)當(dāng)注意,雖然這個(gè)章節(jié)提到一個(gè)示例性數(shù)據(jù)源,即,F(xiàn)reebase,但是本公開(kāi)可用于其它的知識(shí)圖。例如,如果用不同語(yǔ)言的知識(shí)圖(諸如,漢語(yǔ)的知識(shí)圖)來(lái)替換Freebase知識(shí)圖,并且用呈這種語(yǔ)言的問(wèn)答對(duì)來(lái)訓(xùn)練,則所得系統(tǒng)也能夠以這種語(yǔ)言來(lái)回答問(wèn)題。
在實(shí)施方式中,為了存儲(chǔ)KG,利用圖數(shù)據(jù)庫(kù)(諸如Cayley或Virtuoso,兩者均為開(kāi)源軟件),所述圖數(shù)據(jù)庫(kù)可將N三元組RDF數(shù)據(jù)直接加載到其存儲(chǔ)中。另外,可通過(guò)經(jīng)Gremlin啟發(fā)的方式來(lái)容易地查詢Cayley??赏ㄟ^(guò)SPARQL的方式(SPARQL是www.w3.org/TR/rdf-sparql-query中指定的針對(duì)圖數(shù)據(jù)庫(kù)的查詢語(yǔ)言并由萬(wàn)維網(wǎng)聯(lián)盟制定為標(biāo)準(zhǔn))來(lái)容易地查詢Virtuoso。具有相同能力的任何其它圖數(shù)據(jù)庫(kù)可用作為替代品。
G.一些結(jié)論
本文提出的是用于簡(jiǎn)單問(wèn)答的新穎且不顯而易見(jiàn)的架構(gòu)的系統(tǒng)和方法的實(shí)施方式。利用獨(dú)特的主題標(biāo)記模塊,排除了先前系統(tǒng)中出現(xiàn)的大部分噪聲信息,并且事物鏈接問(wèn)題被簡(jiǎn)化成消岐問(wèn)題。利用恰當(dāng)?shù)挠?xùn)練技術(shù),可獲得強(qiáng)大的基于S-Bi-GRU的排名模型以將自然語(yǔ)言與結(jié)構(gòu)化關(guān)系匹配。此外,在實(shí)施方式中,通過(guò)利用主題與關(guān)系之間的隱含規(guī)律,啟發(fā)式的消岐方法實(shí)現(xiàn)了非常具有競(jìng)爭(zhēng)性的性能。通過(guò)將子模塊組合在一起,神經(jīng)管線實(shí)施方式在“簡(jiǎn)單問(wèn)題”數(shù)據(jù)集上勝過(guò)了先前系統(tǒng)。
H.系統(tǒng)實(shí)施方式
圖9描繪根據(jù)本公開(kāi)實(shí)施方式的示例性系統(tǒng)圖。如圖9中描繪的實(shí)施方式所示,系統(tǒng)400可包括:自然語(yǔ)言查詢接口406,接收輸入查詢;預(yù)處理器級(jí)408,執(zhí)行輸入查詢的表征化和索引化,即,將查詢(諸如“弗蘭·德萊切爾出生地點(diǎn)在哪?”)翻譯成數(shù)字序列,其中每個(gè)詞語(yǔ)根據(jù)預(yù)建詞典(詞典是詞語(yǔ)或表征向整數(shù)索引的映射)映射至整數(shù)值;根據(jù)本文所公開(kāi)的實(shí)施方式(章節(jié)D)的HISQA主題和關(guān)系模型410;查詢生成器416,根據(jù)在先前步驟中通過(guò)模型找到的主題和關(guān)系使用圖遍歷語(yǔ)言(諸如Gremlin)生成結(jié)構(gòu)化查詢;知識(shí)圖服務(wù)器414,與查詢生成器416和模型410接口從而執(zhí)行結(jié)構(gòu)化查詢,進(jìn)而獲得答案(如章節(jié)F);以及答案呈現(xiàn)模塊412,在文本或html頁(yè)面中輸出并且展示結(jié)果。在實(shí)施方式中,系統(tǒng)400還可包括訓(xùn)練系統(tǒng)(其可離線完成),所述訓(xùn)練系統(tǒng)可訪問(wèn)標(biāo)記的Q/A數(shù)據(jù)集402從而訓(xùn)練HISQA模型410,如上所述(章節(jié)E)。該查詢生成器產(chǎn)生的示例性問(wèn)題的示例性結(jié)構(gòu)化查詢可為“SELECT?object WHERE{<entity_for_fran_drescher><place_of_birth_for_person>?object}”。
圖10描繪根據(jù)本公開(kāi)實(shí)施方式的受人啟發(fā)的簡(jiǎn)單問(wèn)答(HISQA)主題和關(guān)系模型410的示例圖。如所描繪的,輸入問(wèn)題449被發(fā)送至主題標(biāo)記模型450,其中主題標(biāo)記模型450識(shí)別描述輸入問(wèn)題的話題的主題組塊。在實(shí)施方式中,問(wèn)題449可表征化并索引化,即,問(wèn)題(諸如“弗蘭·德萊切爾出生地點(diǎn)在哪?”)可轉(zhuǎn)換成數(shù)字序列,其中每個(gè)詞語(yǔ)根據(jù)預(yù)建詞典映射至整數(shù)值。通過(guò)使用主題組塊,查詢數(shù)據(jù)庫(kù)452來(lái)查找名稱或別名具有與主題組塊相同的表面形式的一個(gè)或多個(gè)候選主題事物。
關(guān)系排名模型454使用問(wèn)題449生成問(wèn)題矢量。關(guān)系排名模型454還查找表達(dá)與候選主題事物關(guān)聯(lián)的一個(gè)或多個(gè)關(guān)系的一個(gè)或多個(gè)關(guān)系矢量,并且通過(guò)執(zhí)行問(wèn)題矢量與一個(gè)或多個(gè)關(guān)系矢量之間的點(diǎn)積確定一個(gè)或多個(gè)關(guān)系的排名分?jǐn)?shù)。
可作為計(jì)算機(jī)軟件、硬件或固件的聯(lián)合消岐456在候選主題事物和一個(gè)或多個(gè)關(guān)系中選擇預(yù)測(cè)主題事物和關(guān)系。通過(guò)使用預(yù)測(cè)主題事物和關(guān)系,查詢數(shù)據(jù)庫(kù)458來(lái)查找問(wèn)題449的答案460。
圖11示出根據(jù)本公開(kāi)實(shí)施方式的用于為輸入查詢提供答案(或者,等同地,對(duì)象)的例示過(guò)程的流程圖500。在步驟502,接收輸入查詢,其中輸入查詢可包括受人啟發(fā)的問(wèn)題。然后,在步驟504,主題標(biāo)記模型204識(shí)別該查詢的主題組塊。然后,在步驟506,通過(guò)使用主題組塊查詢數(shù)據(jù)庫(kù)從而查找一個(gè)或多個(gè)候選主題。
在步驟508,針對(duì)每個(gè)候選主題,生成關(guān)系的排名分?jǐn)?shù)。在實(shí)施方式中,問(wèn)題嵌入模型301生成可以是k維矢量的問(wèn)題嵌入308。針對(duì)每個(gè)候選主題,從數(shù)據(jù)庫(kù)中搜索對(duì)應(yīng)于與候選主題關(guān)聯(lián)的所有關(guān)系的關(guān)系矢量314。然后,針對(duì)每個(gè)候選主題,執(zhí)行與候選主題關(guān)聯(lián)的關(guān)系矢量314與問(wèn)題嵌入308之間的點(diǎn)積來(lái)確定關(guān)系矢量的排名分?jǐn)?shù)。在實(shí)施方式中,針對(duì)每個(gè)候選主題,具有最高排名分?jǐn)?shù)的關(guān)系被識(shí)別為該候選主題的正確關(guān)系。
在步驟510,如果存在多于一個(gè)候選主題,則執(zhí)行對(duì)候選主題的消岐,從而選擇候選主題中的一個(gè)作為最終預(yù)測(cè)主題。在實(shí)施方式中,針對(duì)每個(gè)候選主題,將前N排名分?jǐn)?shù)相加。然后,選擇前N排名分?jǐn)?shù)的總和最高的候選主題作為預(yù)測(cè)主題。在步驟512,在與預(yù)測(cè)主題關(guān)聯(lián)的關(guān)系中選擇具有最高排名分?jǐn)?shù)的關(guān)系作為最終預(yù)測(cè)關(guān)系。
在步驟514,查詢數(shù)據(jù)庫(kù)來(lái)查找與預(yù)測(cè)主題和預(yù)測(cè)關(guān)系關(guān)聯(lián)的對(duì)象。在實(shí)施方式中,數(shù)據(jù)庫(kù)中的數(shù)據(jù)以主題-關(guān)系-對(duì)象三元組的形式組織。
在實(shí)施方式中,本專利文件的方面可涉及到或?qū)嵤┯谛畔⑻幚硐到y(tǒng)/計(jì)算系統(tǒng)。出于本公開(kāi)的目的,計(jì)算系統(tǒng)可包括出于商業(yè)、科學(xué)、控制或其它目的可操作來(lái)計(jì)算、運(yùn)算、確定、歸類、處理、傳輸、接收、檢索、創(chuàng)作、路由、交換、存儲(chǔ)、顯示、通信、顯現(xiàn)、檢測(cè)、記錄、再現(xiàn)、處理或利用任何形式信息、智能或數(shù)據(jù)的任何設(shè)備或設(shè)備的組合。例如,計(jì)算系統(tǒng)可以是個(gè)人計(jì)算機(jī)(例如,膝上型計(jì)算機(jī))、平板電腦、平板手機(jī)、個(gè)人數(shù)字助理(PDA)、智能手機(jī)、智能手表、智能包裝、服務(wù)器(例如,刀片式服務(wù)器或機(jī)架式服務(wù)器)、網(wǎng)絡(luò)存儲(chǔ)設(shè)備或任何其它合適設(shè)備,并且可在大小、形狀、性能、功能和價(jià)格方面有所不同。計(jì)算系統(tǒng)可包括隨機(jī)存取存儲(chǔ)器(RAM)、一個(gè)或多個(gè)處理資源(諸如中央處理單元(CPU)或硬件或軟件控制邏輯)、ROM和/或其它類型的存儲(chǔ)器。計(jì)算系統(tǒng)中的附加組件可包括一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器、用于與外部設(shè)備通信的一個(gè)或多個(gè)網(wǎng)絡(luò)端口、以及各種輸入/輸出(I/O)設(shè)備(諸如鍵盤、鼠標(biāo)、觸摸屏和/或視頻顯示器)。計(jì)算系統(tǒng)還可包括可操作來(lái)在各種硬件組件之間傳輸通信的一個(gè)或多個(gè)總線。
圖12描繪根據(jù)本公開(kāi)實(shí)施方式的計(jì)算設(shè)備/信息處理系統(tǒng)(或計(jì)算系統(tǒng))的簡(jiǎn)化框圖。應(yīng)當(dāng)理解,系統(tǒng)600所示出的功能可操作來(lái)支持各種信息處理系統(tǒng)的實(shí)施方式,但應(yīng)理解,信息處理系統(tǒng)可不同地配置并且包括不同組件。
如圖12所示,系統(tǒng)600包括提供計(jì)算資源并且控制計(jì)算機(jī)的一個(gè)或多個(gè)中央處理單元(CPU)601。CPU 601可通過(guò)微處理器等實(shí)施,并且還可包括一個(gè)或多個(gè)圖形處理單元(GPU)617和/或用于數(shù)學(xué)計(jì)算的浮點(diǎn)運(yùn)算協(xié)處理器。系統(tǒng)600還可包括系統(tǒng)存儲(chǔ)器602,該系統(tǒng)存儲(chǔ)器602可以以隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)或這兩者的形式存在。
還可提供多個(gè)控制器和外圍設(shè)備,如圖12所示。輸入控制器603表示至各種輸入設(shè)備604的接口,諸如鍵盤、鼠標(biāo)或觸筆。還可存在掃描儀控制器605,其與掃描儀606通信。系統(tǒng)600還可包括存儲(chǔ)控制器607,其與一個(gè)或多個(gè)存儲(chǔ)設(shè)備608連接,每個(gè)存儲(chǔ)設(shè)備608包括存儲(chǔ)介質(zhì)(諸如磁帶或磁盤,或光學(xué)介質(zhì)),其可用于記錄用于操作系統(tǒng)、設(shè)施和應(yīng)用的指令的程序,所述程序可包括實(shí)施本發(fā)明的各方面的程序?qū)嵤┓绞?。存?chǔ)設(shè)備608還可用于存儲(chǔ)根據(jù)本發(fā)明的處理數(shù)據(jù)或是將要處理的數(shù)據(jù)。系統(tǒng)600還可包括顯示控制器609用以提供至顯示設(shè)備611的連接,所述顯示設(shè)備611可以是陰極射線管(CRT)、薄膜晶體管(TFT)顯示器、或其它類型的顯示器。計(jì)算系統(tǒng)600還可包括用于與打印機(jī)613通信的打印機(jī)控制器612。通信控制器614可與一個(gè)或多個(gè)通信設(shè)備615連接,這使系統(tǒng)600能夠通過(guò)多種網(wǎng)絡(luò)的任一者或通過(guò)任何合適電磁載波信號(hào)(包括紅外信號(hào))來(lái)連接至遠(yuǎn)程設(shè)備,該多種網(wǎng)絡(luò)包括互聯(lián)網(wǎng)、云資源(例如,以太云網(wǎng)、以太網(wǎng)光纖通道(FCoE)/數(shù)據(jù)中心橋接(DCB)云等)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)。
在例示系統(tǒng)中,所有主要系統(tǒng)組件可連接至總線616,所述總線616可表示多于一個(gè)物理總線。然而,各種系統(tǒng)組件可在物理上彼此接近或不接近。例如,輸入數(shù)據(jù)和/或輸出數(shù)據(jù)可從一個(gè)物理位置遠(yuǎn)程地傳輸?shù)搅硪晃锢砦恢?。另外,?shí)施本發(fā)明的各方面的程序可經(jīng)由網(wǎng)絡(luò)從遠(yuǎn)程位置(例如,服務(wù)器)訪問(wèn)。此類數(shù)據(jù)和/或程序可通過(guò)多種機(jī)器可讀介質(zhì)的任一者來(lái)傳達(dá),包括但不限于:磁性介質(zhì),諸如硬盤、軟盤和磁帶;光學(xué)介質(zhì),諸如CD-ROM和全息設(shè)備;磁光介質(zhì);以及硬件設(shè)備,所述硬件設(shè)備被具體配置成存儲(chǔ)或存儲(chǔ)并執(zhí)行程序代碼,諸如專用集成電路(ASIC)、可編程邏輯器件(PLD)、閃存設(shè)備、以及ROM和RAM設(shè)備。
本發(fā)明的實(shí)施方式可利用用于一個(gè)或多個(gè)處理器或處理單元以致使步驟執(zhí)行的指令在一個(gè)或多個(gè)非暫態(tài)計(jì)算機(jī)可讀介質(zhì)上編碼。應(yīng)當(dāng)注意,該一個(gè)或多個(gè)非暫態(tài)計(jì)算機(jī)可讀介質(zhì)應(yīng)當(dāng)包括易失性存儲(chǔ)器和非易失性存儲(chǔ)器。應(yīng)當(dāng)注意,可替代的實(shí)施方案是可行的,包括硬件實(shí)施方式或軟件/硬件實(shí)施方式。硬件實(shí)施的功能可使用ASIC、可編程陣列、數(shù)字信號(hào)處理電路等等來(lái)實(shí)現(xiàn)。因此,任何權(quán)利要求中的術(shù)語(yǔ)“裝置”意在涵蓋軟件實(shí)施方式和硬件實(shí)施方式兩者。類似地,如本文使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀媒介或介質(zhì)”包括具有實(shí)施在其上的指令程序或它們組合的軟件和/或硬件。利用所構(gòu)想的這些可替代實(shí)施方式,應(yīng)當(dāng)理解,附圖以及所附描述提供本領(lǐng)域技術(shù)人員編寫程序代碼(即,軟件)和/或制造電路(即,硬件)所需要的功能信息,從而執(zhí)行所需處理。
應(yīng)當(dāng)注意,本發(fā)明的實(shí)施方式還可涉及具有非暫態(tài)有形計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)產(chǎn)品,該非暫態(tài)有形計(jì)算機(jī)可讀介質(zhì)在其上具有計(jì)算機(jī)代碼以執(zhí)行各種計(jì)算機(jī)實(shí)施的操作。介質(zhì)和計(jì)算機(jī)代碼可以是出于本發(fā)明的目的專門設(shè)計(jì)和構(gòu)造的介質(zhì)和計(jì)算機(jī)代碼,或者它們可以是相關(guān)領(lǐng)域技術(shù)人員已知或可獲取的介質(zhì)和計(jì)算機(jī)代碼。有形計(jì)算機(jī)可讀介質(zhì)的示例包括但不限于:磁性介質(zhì),諸如硬盤、軟盤和磁帶;光學(xué)介質(zhì),諸如CD-ROM和全息設(shè)備;磁光介質(zhì);以及硬件設(shè)備,所述硬件設(shè)備被具體配置成存儲(chǔ)或存儲(chǔ)并執(zhí)行程序代碼,諸如專用集成電路(ASIC)、可編程邏輯器件(PLD)、閃存設(shè)備、以及ROM和RAM設(shè)備。計(jì)算機(jī)代碼的示例包括機(jī)器代碼(諸如編譯器產(chǎn)生的代碼)以及包含由計(jì)算機(jī)使用解譯器來(lái)執(zhí)行的更高級(jí)代碼的文件。本發(fā)明的實(shí)施方式可完全或部分地實(shí)施為可在由處理設(shè)備執(zhí)行的程序模塊中的機(jī)器可執(zhí)行指令。程序模塊的示例包括庫(kù)、程序、例程、對(duì)象、組件和數(shù)據(jù)結(jié)構(gòu)。在分布式計(jì)算環(huán)境中,程序模塊可物理上位于本地的、遠(yuǎn)程的或兩者的設(shè)施中。
本領(lǐng)域技術(shù)人員將理解,計(jì)算系統(tǒng)或編程語(yǔ)言對(duì)本發(fā)明的實(shí)踐均不重要。本領(lǐng)域技術(shù)人員還理解,多個(gè)上述元件可物理和/或功能上劃分成子模塊或可物理和/或功能上組合在一起。
本領(lǐng)域技術(shù)人員將理解,先前示例以及實(shí)施方式僅是示例性的,而非限制本公開(kāi)的范圍。預(yù)期的是,本領(lǐng)域技術(shù)人員在閱讀本說(shuō)明書并研究附圖后而明顯的本公開(kāi)的所有排列、增強(qiáng)、等同、組合和改善包括在本公開(kāi)的真實(shí)精神和范圍內(nèi)。還應(yīng)注意,隨附權(quán)利要求中的要素可不同地布置,包括具有多個(gè)從屬、配置和組合。例如,在實(shí)施方式中,各權(quán)利要求的主題可與其它權(quán)利要求組合。