最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

基于人工智能的匹配度評(píng)估方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):11199285閱讀:914來(lái)源:國(guó)知局
基于人工智能的匹配度評(píng)估方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

【技術(shù)領(lǐng)域】

本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù),特別涉及基于人工智能的匹配度評(píng)估方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。



背景技術(shù):

人工智能(artificialintelligence),英文縮寫為ai。它是研究、開(kāi)發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是計(jì)算機(jī)科學(xué)的一個(gè)分支,它企圖了解智能的實(shí)質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)域的研究包括機(jī)器人、語(yǔ)言識(shí)別、圖像識(shí)別、自然語(yǔ)言處理和專家系統(tǒng)等。

信息檢索的一個(gè)核心任務(wù)就是計(jì)算用戶輸入的查詢(query)與作為檢索對(duì)象的各文檔(doc)之間的語(yǔ)義相關(guān)程度。

具體地,可對(duì)query與各doc的標(biāo)題(title)的匹配度進(jìn)行評(píng)估,如計(jì)算query與title之間的匹配度評(píng)分(score),并可按照評(píng)分由高到低的順序?qū)Ω鱠oc進(jìn)行排序,進(jìn)而將排序后處于前n位的doc作為檢索結(jié)果返回給用戶,n為正整數(shù)。

現(xiàn)有技術(shù)中,在計(jì)算query與title之間的匹配度評(píng)分時(shí),通常采用以下方式:先用卷積神經(jīng)網(wǎng)絡(luò)(cnn,convolutionalneuralnetwork)或循環(huán)神經(jīng)網(wǎng)絡(luò)(rnn,recurrentneuralnetwork)等分別得到query和title的表達(dá),然后基于這兩個(gè)表達(dá)來(lái)計(jì)算諸如cosine相似度,從而得到query與title之間的匹配度評(píng)分。

但是,上述方式中,將一段復(fù)雜的文本作為一個(gè)整體映射到一個(gè)低維空間中的向量(表達(dá)),在壓縮過(guò)程中容易丟失一些關(guān)鍵的信息,從而只能從整體上對(duì)兩個(gè)文本的匹配程度進(jìn)行大致評(píng)估,評(píng)估結(jié)果的準(zhǔn)確性較低。



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

有鑒于此,本發(fā)明提供了基于人工智能的匹配度評(píng)估方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠提高評(píng)估結(jié)果的準(zhǔn)確性。

具體技術(shù)方案如下:

一種基于人工智能的匹配度評(píng)估方法,包括:

分別獲取查詢query中的各單詞的單詞表達(dá)以及標(biāo)題title中的各單詞的單詞表達(dá);

根據(jù)所述單詞表達(dá),分別獲取所述query中的各單詞的基于上下文的單詞表達(dá)以及所述title中的各單詞的基于上下文的單詞表達(dá);

根據(jù)獲取到的信息生成匹配特征;

根據(jù)所述匹配特征確定出所述query與所述title之間的匹配度評(píng)分。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述分別獲取query中的各單詞的單詞表達(dá)以及title中的各單詞的單詞表達(dá)包括:

將所述query中的各單詞分別embedding成一個(gè)低維向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示所述query中包括的單詞數(shù),qi表示所述query中的第i個(gè)單詞的低維向量,i為正整數(shù),且1≤i≤m;

將所述title中的各單詞分別embedding成一個(gè)低維向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示所述title中包括的單詞數(shù),tj表示所述title中的第j個(gè)單詞的低維向量,j為正整數(shù),且1≤j≤n。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述分別獲取所述query中的各單詞的基于上下文的單詞表達(dá)以及所述title中的各單詞的基于上下文的單詞表達(dá)包括:

將所述qe輸入給雙向循環(huán)神經(jīng)網(wǎng)絡(luò)rnn,分別得到從左向右方向處理后的輸出q1以及從右向左方向處理后的輸出q2;

將所述te輸入給雙向rnn,分別得到從左向右方向處理后的輸出t1以及從右向左方向處理后的輸出t2;

將所述qe、q1和q2進(jìn)行拼接,得到q(m,3d),所述d表示表達(dá)維度,embedding和雙向rnn使用同樣的表達(dá)維度;

將所述te、t1和t2進(jìn)行拼接,得到t(n,3d);

將所述query以及所述title中的每個(gè)單詞對(duì)應(yīng)的長(zhǎng)為3d的向量作為所述單詞的基于上下文的單詞表達(dá)。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述根據(jù)獲取到的信息生成匹配特征包括:

根據(jù)獲取到的信息生成局部匹配特征;

根據(jù)所述局部匹配特征生成高級(jí)匹配特征。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述根據(jù)獲取到的信息生成局部匹配特征包括:

根據(jù)各單詞的所述基于上下文的單詞表達(dá),分別按照不同的匹配度計(jì)算方式,計(jì)算出所述query中的單詞與所述title中的單詞兩兩之間的匹配度,得到三維的張量tensor(m,n,t);

其中,t表示t維的向量,針對(duì)每組單詞q[i]和t[j],分別計(jì)算出t個(gè)匹配度,t個(gè)匹配度構(gòu)成所述t維的向量,q[i]表示所述query中的單詞,t[j]表示所述title中的單詞;

所述tensor中的每一個(gè)值(i,j,k)表示q[i]和t[j]對(duì)應(yīng)的第k個(gè)匹配度,1≤k≤t。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述根據(jù)所述局部匹配特征生成高級(jí)匹配特征包括:

將所述(m,n,t)輸入給卷積神經(jīng)網(wǎng)絡(luò)cnn,將得到的輸出(m,n,t1)、…、(m,n,tw)作為所述高級(jí)匹配特征,w為正整數(shù),表示cnn中包括的卷積層數(shù)。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述根據(jù)所述匹配特征確定出所述query與所述title之間的匹配度評(píng)分包括:

將所述(m,n,t)以及所述高級(jí)匹配特征進(jìn)行拼接,得到(m,n,t+t1+…+tw);

針對(duì)每個(gè)(m,n)矩陣,分別采用按行pooling的方式確定出一個(gè)(m,k’)的序列表達(dá),k’為正整數(shù),得到(m,(t+t1+…+tw)*k’);

將所述(m,(t+t1+…+tw)*k’)輸入給雙向rnn,得到雙向rnn最后一個(gè)位置上的表達(dá);

根據(jù)所述最后一個(gè)位置上的表達(dá)確定出所述匹配度評(píng)分。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述針對(duì)每個(gè)(m,n)矩陣,分別采用按行pooling的方式確定出一個(gè)(m,k’)的序列表達(dá)包括:

針對(duì)所述(m,n)每一行中的n個(gè)值,分別選取其中的最大的k’個(gè)值,并按從大到小的順序進(jìn)行排序,k’≤n。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述最后一個(gè)位置上的表達(dá)為一個(gè)長(zhǎng)為2f的向量,f表示表達(dá)維度;

所述根據(jù)所述最后一個(gè)位置上的表達(dá)確定出所述匹配度評(píng)分包括:

將所述長(zhǎng)為2f的向量輸入給包含單隱層的全連接網(wǎng)絡(luò),得到輸出的所述匹配度評(píng)分。

一種基于人工智能的匹配度評(píng)估裝置,包括:表達(dá)處理單元、特征處理單元以及評(píng)分單元;

所述表達(dá)處理單元,用于分別獲取查詢query中的各單詞的單詞表達(dá)以及標(biāo)題title中的各單詞的單詞表達(dá);根據(jù)所述單詞表達(dá),分別獲取所述query中的各單詞的基于上下文的單詞表達(dá)以及所述title中的各單詞的基于上下文的單詞表達(dá);

所述特征處理單元,用于根據(jù)所述表達(dá)處理單元獲取到的信息生成匹配特征;

所述評(píng)分單元,用于根據(jù)所述匹配特征確定出所述query與所述title之間的匹配度評(píng)分。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述表達(dá)處理單元中包括:第一處理子單元以及第二處理子單元;

所述第一處理子單元,用于將所述query中的各單詞分別embedding成一個(gè)低維向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示所述query中包括的單詞數(shù),qi表示所述query中的第i個(gè)單詞的低維向量,i為正整數(shù),且1≤i≤m;

將所述title中的各單詞分別embedding成一個(gè)低維向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示所述title中包括的單詞數(shù),tj表示所述title中的第j個(gè)單詞的低維向量,j為正整數(shù),且1≤j≤n;

所述第二處理子單元,用于根據(jù)所述qe和te,分別獲取所述query中的各單詞的基于上下文的單詞表達(dá)以及所述title中的各單詞的基于上下文的單詞表達(dá)。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,

所述第二處理子單元將所述qe輸入給雙向循環(huán)神經(jīng)網(wǎng)絡(luò)rnn,分別得到從左向右方向處理后的輸出q1以及從右向左方向處理后的輸出q2;

將所述te輸入給雙向rnn,分別得到從左向右方向處理后的輸出t1以及從右向左方向處理后的輸出t2;

將所述qe、q1和q2進(jìn)行拼接,得到q(m,3d),所述d表示表達(dá)維度,embedding和雙向rnn使用同樣的表達(dá)維度;

將所述te、t1和t2進(jìn)行拼接,得到t(n,3d);

將所述query以及所述title中的每個(gè)單詞對(duì)應(yīng)的長(zhǎng)為3d的向量作為所述單詞的基于上下文的單詞表達(dá)。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述特征處理單元中包括:第三處理子單元以及第四處理子單元;

所述第三處理子單元,用于根據(jù)所述表達(dá)處理單元獲取到的信息生成局部匹配特征;

所述第四處理子單元,用于根據(jù)所述局部匹配特征生成高級(jí)匹配特征。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,

所述第三處理子單元根據(jù)各單詞的所述基于上下文的單詞表達(dá),分別按照不同的匹配度計(jì)算方式,計(jì)算出所述query中的單詞與所述title中的單詞兩兩之間的匹配度,得到三維的張量tensor(m,n,t);

其中,t表示t維的向量,針對(duì)每組單詞q[i]和t[j],分別計(jì)算出t個(gè)匹配度,t個(gè)匹配度構(gòu)成所述t維的向量,q[i]表示所述query中的單詞,t[j]表示所述title中的單詞;

所述tensor中的每一個(gè)值(i,j,k)表示q[i]和t[j]對(duì)應(yīng)的第k個(gè)匹配度,1≤k≤t。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述第四處理子單元將所述(m,n,t)輸入給卷積神經(jīng)網(wǎng)絡(luò)cnn,將得到的輸出(m,n,t1)、…、(m,n,tw)作為所述高級(jí)匹配特征,w為正整數(shù),表示cnn中包括的卷積層數(shù)。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,

所述評(píng)分單元將所述(m,n,t)以及所述高級(jí)匹配特征進(jìn)行拼接,得到(m,n,t+t1+…+tw);

針對(duì)每個(gè)(m,n)矩陣,分別采用按行pooling的方式確定出一個(gè)(m,k’)的序列表達(dá),k’為正整數(shù),得到(m,(t+t1+…+tw)*k’);

將所述(m,(t+t1+…+tw)*k’)輸入給雙向rnn,得到雙向rnn最后一個(gè)位置上的表達(dá);

根據(jù)所述最后一個(gè)位置上的表達(dá)確定出所述匹配度評(píng)分。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述評(píng)分單元針對(duì)所述(m,n)每一行中的n個(gè)值,分別選取其中的最大的k’個(gè)值,并按從大到小的順序進(jìn)行排序,得到所述(m,k’),k’≤n。

根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述最后一個(gè)位置上的表達(dá)為一個(gè)長(zhǎng)為2f的向量,f表示表達(dá)維度;

所述評(píng)分單元將所述長(zhǎng)為2f的向量輸入給包含單隱層的全連接網(wǎng)絡(luò),得到輸出的所述匹配度評(píng)分。

一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如以上所述的方法。

一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如以上所述的方法。

基于上述介紹可以看出,采用本發(fā)明所述方案,構(gòu)建了底層的單詞表達(dá)以及基于上下文的單詞表達(dá),這些表達(dá)既能夠強(qiáng)調(diào)局部的信息,同時(shí)也融合了全局的信息,從而能夠更好地反映query與title之間的匹配程度,進(jìn)而提高了評(píng)估結(jié)果的準(zhǔn)確性。

【附圖說(shuō)明】

圖1為本發(fā)明所述基于人工智能的匹配度評(píng)估方法實(shí)施例的流程圖。

圖2為本發(fā)明所述獲取query與title之間的匹配度評(píng)分的過(guò)程示意圖。

圖3為本發(fā)明所述基于人工智能的匹配度評(píng)估裝置實(shí)施例的組成結(jié)構(gòu)示意圖。

圖4示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。

【具體實(shí)施方式】

為了使本發(fā)明的技術(shù)方案更加清楚、明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明所述方案進(jìn)行進(jìn)一步說(shuō)明。

顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為本發(fā)明所述基于人工智能的匹配度評(píng)估方法實(shí)施例的流程圖,如圖1所示,包括以下具體實(shí)現(xiàn)方式。

在101中,分別獲取query中的各單詞(關(guān)鍵詞)的單詞表達(dá)以及title中的各單詞的單詞表達(dá)。

具體地,可將query中的各單詞分別embedding成一個(gè)低維向量,從而得到序列qe=[q1,…,qi,…,qm]。

其中,m表示query中包括的單詞數(shù),qi表示query中的第i個(gè)單詞的低維向量,i為正整數(shù),且1≤i≤m。

另外,將title中的各單詞分別embedding成一個(gè)低維向量,從而得到序列te=[t1,…,tj,…,tn]。

其中,n表示title中包括的單詞數(shù),tj表示title中的第j個(gè)單詞的低維向量,j為正整數(shù),且1≤j≤n。

在實(shí)際應(yīng)用中,需要預(yù)先對(duì)query和title分別進(jìn)行切詞等預(yù)處理,從而得到query和title中的各單詞。

以query為例,假設(shè)其中共包括4個(gè)單詞,分別為單詞1、單詞2、單詞3和單詞4,那么可分別將單詞1、單詞2、單詞3和單詞4embedding成一個(gè)低維向量,從而得到qe=[q1,q2,q3,q4],如何得到所述低維向量為現(xiàn)有技術(shù)。

在102中,根據(jù)單詞表達(dá),分別獲取query中的各單詞的基于上下文的單詞表達(dá)以及title中的各單詞的基于上下文的單詞表達(dá)。

在分別獲取到query中的各單詞的單詞表達(dá)以及title中的各單詞的單詞表達(dá)之后,可進(jìn)一步獲取query中的各單詞的基于上下文的單詞表達(dá)以及title中的各單詞的基于上下文的單詞表達(dá)。

比如,可將qe輸入給雙向rnn,分別得到從左向右方向處理后的輸出q1以及從右向左方向處理后的輸出q2,將te輸入給雙向rnn,分別得到從左向右方向處理后的輸出t1以及從右向左方向處理后的輸出t2。

即將qe和te分別輸入到不同的雙向rnn中,從而分別得到q1和q2以及t1和t2。

embedding和雙向rnn可以使用同樣的表達(dá)維度d,d的具體取值可根據(jù)實(shí)際需要而定,因此,qe、q1和q2的大小為(m,d),相應(yīng)地,te、t1和t2的大小為(n,d)。

可將qe、q1和q2進(jìn)行拼接,從而得到q(m,3d),將te、t1和t2進(jìn)行拼接,從而得到t(n,3d),這樣,query以及title中的每個(gè)單詞將分別對(duì)應(yīng)一個(gè)長(zhǎng)為3d的向量,該向量即為基于上下文的單詞表達(dá)。

可以看出,所述拼接是指按列拼接。

對(duì)于每個(gè)單詞對(duì)應(yīng)的長(zhǎng)為3d的向量來(lái)說(shuō),前d維表示該單詞的embedding結(jié)果,中間d維表示該單詞的左context,后d維表示該單詞的右context,因此,長(zhǎng)為3d的向量即為包含了該單詞的上下文信息的基于上下文的單詞表達(dá)。

在103中,根據(jù)獲取到的信息生成匹配特征。

首先,可根據(jù)獲取到的信息生成局部匹配特征,之后,可根據(jù)局部匹配特征進(jìn)一步生成高級(jí)匹配特征,以下分別對(duì)局部匹配特征以及高級(jí)匹配特征的獲取方式進(jìn)行詳細(xì)說(shuō)明。

1)局部匹配特征

即基于之前獲取到的表達(dá)進(jìn)行匹配得到所有局部的匹配特征。

具體地,可根據(jù)各單詞的基于上下文的單詞表達(dá),分別按照不同的匹配度計(jì)算方式,計(jì)算出query中的單詞與title中的單詞兩兩之間的匹配度,從而得到三維的張量(tensor)(m,n,t)。

其中,t表示t維的向量,針對(duì)每組單詞q[i]和t[j],分別計(jì)算出t個(gè)匹配度,t個(gè)匹配度構(gòu)成一個(gè)t維的向量,q[i]表示query中的單詞,t[j]表示title中的單詞。

tensor中的每一個(gè)值(i,j,k)表示q[i]和t[j]對(duì)應(yīng)的第k個(gè)匹配度,1≤k≤t。

舉例說(shuō)明:

假設(shè)query中共包括兩個(gè)單詞,分別為單詞1和單詞2,title中也包括兩個(gè)單詞,分別為單詞3和單詞4;

針對(duì)單詞1和單詞3,可分別按照不同的匹配度計(jì)算方式,計(jì)算出t個(gè)匹配度;

針對(duì)單詞1和單詞4,可分別按照不同的匹配度計(jì)算方式,計(jì)算出t個(gè)匹配度;

針對(duì)單詞2和單詞3,可分別按照不同的匹配度計(jì)算方式,計(jì)算出t個(gè)匹配度;

針對(duì)單詞2和單詞4,可分別按照不同的匹配度計(jì)算方式,計(jì)算出t個(gè)匹配度。

其中,可根據(jù)兩個(gè)單詞的基于上下文的單詞表達(dá),計(jì)算出兩個(gè)單詞之間的匹配度。

具體采用哪些匹配度計(jì)算方式可根據(jù)實(shí)際需要而定,比如可包括張量神經(jīng)網(wǎng)絡(luò)以及cosine等多種匹配度計(jì)算方式。

另外,還可以采用傳統(tǒng)的基于關(guān)鍵詞的匹配的方式來(lái)構(gòu)造不同的匹配矩陣(matchingmatrix),方便融入人工知識(shí),即人工可以根據(jù)知識(shí)來(lái)構(gòu)建額外的匹配矩陣作為匹配特征,從而為信息檢索等場(chǎng)景中引入人工知識(shí)提供了良好的途徑。

2)高級(jí)匹配特征

上述獲取到的(m,n,t)的tensor中包含的是單詞級(jí)和基于上下文的單詞級(jí)匹配特征,在此基礎(chǔ)上,還可進(jìn)一步利用cnn來(lái)提取高維度特征。

類似于在圖像中,m和n是圖片的大小,t是featuremap的數(shù)量。

可將(m,n,t)輸入給cnn,得到輸出的(m,n,t1)、…、(m,n,tw),作為高級(jí)匹配特征,w為正整數(shù),表示cnn中包括的卷積層數(shù)。

假設(shè)卷積層數(shù)為1,那么將(m,n,t)輸入給cnn后,可得到(m,n,t1),t1為cnn的kernel數(shù)量,在實(shí)際應(yīng)用中,可采用一種動(dòng)態(tài)padding的方式使得卷積的輸入和輸出的大小是一樣的。

進(jìn)一步地,還可堆疊多個(gè)卷積層來(lái)提取更高層的匹配特征。

在104中,根據(jù)匹配特征確定出query與title之間的匹配度評(píng)分。

首先,可將(m,n,t)以及得到的高級(jí)匹配特征進(jìn)行拼接,從而得到(m,n,t+t1+…+tw),假設(shè)卷積層數(shù)為2,那么則指將(m,n,t)、(m,n,t1)和(m,n,t2)拼接為(m,n,t+t1+t2),也就是t+t1+t2個(gè)大小為(m,n)的匹配矩陣。

針對(duì)每個(gè)(m,n)匹配矩陣,可分別采用按行pooling的方式確定出一個(gè)(m,k’)的序列表達(dá),k’為正整數(shù),從而得到(m,(t+t1+…+tw)*k’)。

比如,可針對(duì)(m,n)每一行中的n個(gè)值,分別選取其中的最大的k’個(gè)值,并按從大到小的順序進(jìn)行排序,從而得到(m,k’),k’≤n,假設(shè)一共有t+t1+t2個(gè)匹配矩陣,那么得到的輸出則為(m,(t+t1+t2)*k’)。

上述過(guò)程的直觀含義是為query中的每個(gè)單詞從該單詞對(duì)應(yīng)的匹配特征中找出最大的(t+t1+t2)*k’特征,query中的每個(gè)單詞都非常重要,用來(lái)清晰的描述用戶的信息需求,這些特征表明了title對(duì)query中的各信息需求的滿足情況。

通過(guò)上述方式,可以知道最終的匹配最強(qiáng)的地方發(fā)生在(m,n)匹配矩陣中的哪個(gè)具體的位置(i,j),因此,可以看到query中的各單詞具體和title中的哪個(gè)單詞相匹配,具有很強(qiáng)的可解釋性。

上述得到的(m,(t+t1+…+tw)*k’)是一個(gè)變長(zhǎng)的序列,可采用雙向rnn的方式來(lái)對(duì)該序列的信息進(jìn)行融合,并可將雙向rnn最后一個(gè)位置上的表達(dá)作為融合后的表達(dá)。

即將(m,(t+t1+…+tw)*k’)輸入給雙向rnn,從而得到雙向rnn最后一個(gè)位置上的表達(dá),進(jìn)而可根據(jù)最后一個(gè)位置上的表達(dá)確定出query與title之間的匹配度評(píng)分。

最后一個(gè)位置上的表達(dá)可為一個(gè)長(zhǎng)為2f的向量,f表示表達(dá)維度,具體取值可根據(jù)實(shí)際需要而定,由于是雙向rnn,因此針對(duì)每個(gè)方向,可分別得到一個(gè)長(zhǎng)為f的向量,組合起來(lái)即為一個(gè)長(zhǎng)為2f的向量。

最后,可將長(zhǎng)為2f的向量輸入給包含單隱層的全連接網(wǎng)絡(luò),從而得到輸出的匹配度評(píng)分。

在信息檢索場(chǎng)景中,在分別計(jì)算出用戶輸入的query與各doc的title的匹配度評(píng)分之后,可按照評(píng)分由高到低的順序?qū)Ω鱠oc進(jìn)行排序,進(jìn)而將排序后處于前n位的doc作為檢索結(jié)果返回給用戶,n為正整數(shù)。

綜合上述介紹,圖2為本發(fā)明所述獲取query與title之間的匹配度評(píng)分的過(guò)程示意圖,具體實(shí)現(xiàn)可參照前述相關(guān)說(shuō)明,不再贅述。

可以看出,采用上述實(shí)施例所述方案,構(gòu)建了底層的單詞表達(dá)以及基于上下文的單詞表達(dá),這些表達(dá)既能夠強(qiáng)調(diào)局部的信息,同時(shí)也融合了全局的信息,從而能夠更好地反映query與title之間的匹配程度,進(jìn)而提高了評(píng)估結(jié)果的準(zhǔn)確性。

而且,采用本實(shí)施例所述方案,所有的局部關(guān)鍵匹配特征都能夠得到很好的保留,基于這些局部匹配特征,又可進(jìn)一步提取出高級(jí)匹配特征,從而能夠有效地捕獲對(duì)于信息檢索來(lái)說(shuō)至關(guān)重要的語(yǔ)義匹配以及匹配鄰近度信息等。

另外,在獲取到匹配特征之后,可按照query中的每個(gè)單詞進(jìn)行pooling,以此來(lái)建模title對(duì)query的所有關(guān)鍵信息需求的覆蓋情況,由于中間得到的所有匹配矩陣都參與本次pooling,因此最終得到的結(jié)果是各單詞在多個(gè)層次上的信息需求被覆蓋情況,而且具有良好的可解釋性,query中的每個(gè)單詞具體是被title中的哪個(gè)單詞所滿足,都能基于pooling的結(jié)果進(jìn)行回溯。

以上是關(guān)于方法實(shí)施例的介紹,以下通過(guò)裝置實(shí)施例,對(duì)本發(fā)明所述方案進(jìn)行進(jìn)一步說(shuō)明。

圖3為本發(fā)明所述基于人工智能的匹配度評(píng)估裝置實(shí)施例的組成結(jié)構(gòu)示意圖,如圖3所示,包括:表達(dá)處理單元301、特征處理單元302以及評(píng)分單元303。

表達(dá)處理單元301,用于分別獲取query中的各單詞的單詞表達(dá)以及title中的各單詞的單詞表達(dá);根據(jù)單詞表達(dá),分別獲取query中的各單詞的基于上下文的單詞表達(dá)以及title中的各單詞的基于上下文的單詞表達(dá)。

特征處理單元302,用于根據(jù)表達(dá)處理單元301獲取到的信息生成匹配特征。

評(píng)分單元303,用于根據(jù)匹配特征確定出query與title之間的匹配度評(píng)分。

如圖3所示,表達(dá)處理單元301中可具體包括:第一處理子單元3011以及第二處理子單元3012。

第一處理子單元3011,用于將query中的各單詞分別embedding成一個(gè)低維向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示query中包括的單詞數(shù),qi表示query中的第i個(gè)單詞的低維向量,i為正整數(shù),且1≤i≤m;

將title中的各單詞分別embedding成一個(gè)低維向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示title中包括的單詞數(shù),tj表示title中的第j個(gè)單詞的低維向量,j為正整數(shù),且1≤j≤n;

第二處理子單元3012,用于根據(jù)qe和te,分別獲取query中的各單詞的基于上下文的單詞表達(dá)以及title中的各單詞的基于上下文的單詞表達(dá)。

具體地,第二處理子單元3012可將qe輸入給雙向rnn,分別得到從左向右方向處理后的輸出q1以及從右向左方向處理后的輸出q2;

將te輸入給雙向rnn,分別得到從左向右方向處理后的輸出t1以及從右向左方向處理后的輸出t2;

將qe、q1和q2進(jìn)行拼接,得到q(m,3d),d表示表達(dá)維度,embedding和雙向rnn使用同樣的表達(dá)維度;

將te、t1和t2進(jìn)行拼接,得到t(n,3d);

將query以及title中的每個(gè)單詞對(duì)應(yīng)的長(zhǎng)為3d的向量作為單詞的基于上下文的單詞表達(dá)。

如圖3所示,特征處理單元302中可具體包括:第三處理子單元3021以及第四處理子單元3022。

第三處理子單元3021,用于根據(jù)表達(dá)處理單元獲取到的信息生成局部匹配特征。

第四處理子單元3022,用于根據(jù)局部匹配特征生成高級(jí)匹配特征。

其中,第三處理子單元3021可根據(jù)各單詞的基于上下文的單詞表達(dá),分別按照不同的匹配度計(jì)算方式,計(jì)算出query中的單詞與title中的單詞兩兩之間的匹配度,得到三維的張量tensor(m,n,t);

其中,t表示t維的向量,針對(duì)每組單詞q[i]和t[j],分別計(jì)算出t個(gè)匹配度,t個(gè)匹配度構(gòu)成t維的向量,q[i]表示query中的單詞,t[j]表示title中的單詞;

tensor中的每一個(gè)值(i,j,k)表示q[i]和t[j]對(duì)應(yīng)的第k個(gè)匹配度,1≤k≤t。

具體采用哪些匹配度計(jì)算方式可根據(jù)實(shí)際需要而定,比如可包括張量神經(jīng)網(wǎng)絡(luò)以及cosine等多種匹配度計(jì)算方式。

上述獲取到的(m,n,t)的tensor中包含的是單詞級(jí)和基于上下文的單詞級(jí)匹配特征,在此基礎(chǔ)上,還可進(jìn)一步利用cnn來(lái)提取高維度特征。

相應(yīng)地,第四處理子單元3022可將(m,n,t)輸入給cnn,將得到的輸出(m,n,t1)、…、(m,n,tw)作為高級(jí)匹配特征,w為正整數(shù),表示cnn中包括的卷積層數(shù)。

假設(shè)卷積層數(shù)為1,那么將(m,n,t)輸入給cnn后,可得到(m,n,t1),t1為cnn的kernel數(shù)量,在實(shí)際應(yīng)用中,可采用一種動(dòng)態(tài)padding的方式使得卷積的輸入和輸出的大小是一樣的。

進(jìn)一步地,還可堆疊多個(gè)卷積層來(lái)提取更高層的匹配特征。

之后,評(píng)分單元303可將(m,n,t)以及高級(jí)匹配特征進(jìn)行拼接,得到(m,n,t+t1+…+tw),假設(shè)卷積層數(shù)為2,那么則指將(m,n,t)、(m,n,t1)和(m,n,t2)拼接為(m,n,t+t1+t2),也就是t+t1+t2個(gè)大小為(m,n)的匹配矩陣。

針對(duì)每個(gè)(m,n)匹配矩陣,評(píng)分單元303可分別采用按行pooling的方式確定出一個(gè)(m,k’)的序列表達(dá),k’為正整數(shù),得到(m,(t+t1+…+tw)*k’)。

比如,可針對(duì)(m,n)每一行中的n個(gè)值,分別選取其中的最大的k’個(gè)值,并按從大到小的順序進(jìn)行排序,從而得到(m,k’),k’≤n,假設(shè)一共有t+t1+t2個(gè)匹配矩陣,那么得到的輸出則為(m,(t+t1+t2)*k’)。

上述得到的(m,(t+t1+…+tw)*k’)是一個(gè)變長(zhǎng)的序列,可采用雙向rnn的方式來(lái)對(duì)該序列的信息進(jìn)行融合,并可將雙向rnn最后一個(gè)位置上的表達(dá)作為融合后的表達(dá)。

即評(píng)分單元303可將(m,(t+t1+…+tw)*k’)輸入給雙向rnn,從而得到雙向rnn最后一個(gè)位置上的表達(dá),進(jìn)而可根據(jù)最后一個(gè)位置上的表達(dá)確定出query與title之間的匹配度評(píng)分。

最后一個(gè)位置上的表達(dá)可為一個(gè)長(zhǎng)為2f的向量,f表示表達(dá)維度,具體取值可根據(jù)實(shí)際需要而定,由于是雙向rnn,因此針對(duì)每個(gè)方向,可分別得到一個(gè)長(zhǎng)為f的向量,組合起來(lái)即為一個(gè)長(zhǎng)為2f的向量。

最后,可將長(zhǎng)為2f的向量輸入給包含單隱層的全連接網(wǎng)絡(luò),從而得到輸出的匹配度評(píng)分。

圖3所示裝置實(shí)施例的具體工作流程可參照前述方法實(shí)施例中的相應(yīng)說(shuō)明,不再贅述。

可以看出,采用上述實(shí)施例所述方案,構(gòu)建了底層的單詞表達(dá)以及基于上下文的單詞表達(dá),這些表達(dá)既能夠強(qiáng)調(diào)局部的信息,同時(shí)也融合了全局的信息,從而能夠更好地反映query與title之間的匹配程度,進(jìn)而提高了評(píng)估結(jié)果的準(zhǔn)確性。

而且,采用本實(shí)施例所述方案,所有的局部關(guān)鍵匹配特征都能夠得到很好的保留,基于這些局部匹配特征,又可進(jìn)一步提取出高級(jí)匹配特征,從而能夠有效地捕獲對(duì)于信息檢索來(lái)說(shuō)至關(guān)重要的語(yǔ)義匹配以及匹配鄰近度信息等。

另外,在獲取到匹配特征之后,可按照query中的每個(gè)單詞進(jìn)行pooling,以此來(lái)建模title對(duì)query的所有關(guān)鍵信息需求的覆蓋情況,由于中間得到的所有匹配矩陣都參與本次pooling,因此最終得到的結(jié)果是各單詞在多個(gè)層次上的信息需求被覆蓋情況,而且具有良好的可解釋性,query中的每個(gè)單詞具體是被title中的哪個(gè)單詞所滿足,都能基于pooling的結(jié)果進(jìn)行回溯。

圖4示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。圖4顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來(lái)任何限制。

如圖4所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器(處理單元)16,存儲(chǔ)器28,連接不同系統(tǒng)組件(包括存儲(chǔ)器28和處理器16)的總線18。

總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(vesa)局域總線以及外圍組件互連(pci)總線。

計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問(wèn)的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。

存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖4未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖4中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。

具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。

計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過(guò)網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖4所示,網(wǎng)絡(luò)適配器20通過(guò)總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。

處理器16通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)圖1所示實(shí)施例中的方法,即分別獲取query中的各單詞的單詞表達(dá)以及title中的各單詞的單詞表達(dá),根據(jù)所述單詞表達(dá),分別獲取query中的各單詞的基于上下文的單詞表達(dá)以及title中的各單詞的基于上下文的單詞表達(dá),根據(jù)獲取到的信息生成匹配特征,根據(jù)匹配特征確定出query與title之間的匹配度評(píng)分。

具體實(shí)現(xiàn)請(qǐng)參照前述各實(shí)施例中的相關(guān)說(shuō)明,不再贅述。

本發(fā)明同時(shí)公開(kāi)了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)將實(shí)現(xiàn)如圖1所示實(shí)施例中的方法。

可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。

計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。

計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無(wú)線、電線、光纜、rf等等,或者上述的任意合適的組合。

可以以一種或多種程序設(shè)計(jì)語(yǔ)言或其組合來(lái)編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言—諸如java、smalltalk、c++,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言—諸如”c”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。

在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法等,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。

上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1