本發(fā)明涉及信息檢索技術(shù)領(lǐng)域,尤其涉及一種基于深度問答的問答澄清方法和裝置。
背景技術(shù):
深度問答(Deep question and answer),是指理解人類的語言,智能識(shí)別問題的含義,并從海量的互聯(lián)網(wǎng)數(shù)據(jù)中提取問題的答案。
用戶通過搜索引擎搜索信息時(shí),可以獲得豐富的互聯(lián)網(wǎng)資源。但是當(dāng)用戶輸入的查詢語句意圖不明確時(shí),現(xiàn)有的搜索引擎返回的結(jié)果往往摻雜許多與用戶意圖不相關(guān)的內(nèi)容。例如,用戶在搜索引擎中輸入“糖尿病癥狀”,用戶想要查詢糖尿病的早期癥狀以進(jìn)行預(yù)警,但是檢索結(jié)果卻包含大量的“糖尿病中期、晚期癥狀”的內(nèi)容??梢?,由于根據(jù)用戶輸入的查詢語句不能夠確定用戶要檢索的是哪個(gè)時(shí)期的糖尿病癥狀或者什么人群的糖尿病癥,導(dǎo)致檢索結(jié)果的內(nèi)容很多都與用戶想要搜索的內(nèi)容不完全匹配,使得用戶需要點(diǎn)擊大量的網(wǎng)頁來尋找自己感興趣的內(nèi)容,甚至需要重新搜索,降低了檢索效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本發(fā)明的第一個(gè)目的在于提出一種基于深度問答的問答澄清方法,該方法通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
本發(fā)明的第二個(gè)目的在于提出一種基于深度問答的問答澄清裝置。
本發(fā)明的第三個(gè)目的在于提出一種終端。
本發(fā)明的第四個(gè)目的在于提出一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
本發(fā)明的第五個(gè)目的在于提出一種計(jì)算機(jī)程序產(chǎn)品。
為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例提出了一種基于深度問答的問答澄清方法,包括:接收輸入的查詢語句;根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;展現(xiàn)候選澄清問答。
本發(fā)明第一方面實(shí)施例的基于深度問答的問答澄清方法,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為達(dá)上述目的,本發(fā)明第二方面實(shí)施例提出了一種基于深度問答的問答澄清裝置,包括:接收模塊,用于接收輸入的查詢語句;召回模塊,用于根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;分析模塊,用于對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;聚簇模塊,用于根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;生成模塊,用于對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;展現(xiàn)模塊,用于展現(xiàn)候選澄清問答。
本發(fā)明第二方面實(shí)施例的基于深度問答的問答澄清裝置,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明第三方面實(shí)施例提出了一種終端,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器。其中,處理器被配置為執(zhí)行以下步驟:
接收輸入的查詢語句;
根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;
對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;
根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;
對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;
展現(xiàn)候選澄清問答。
本發(fā)明第三方面實(shí)施例提出的終端,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明第四方面實(shí)施例提出了一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)存儲(chǔ)介質(zhì)中的指令由移動(dòng)終端的處理器執(zhí)行時(shí),使得移動(dòng)終端能夠執(zhí)行一種基于深度問答的問答澄清方法,方法包括;
接收輸入的查詢語句;
根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;
對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;
根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;
對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;
展現(xiàn)候選澄清問答。
本發(fā)明第四方面實(shí)施例提出的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明第五方面實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品中的指令被處理器執(zhí)行時(shí),執(zhí)行一種基于深度問答的問答澄清方法,方法包括:
接收輸入的查詢語句;
根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;
對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;
根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;
對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;
展現(xiàn)候選澄清問答。
本發(fā)明第五方面實(shí)施例提出的計(jì)算機(jī)程序產(chǎn)品,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于深度問答的問答澄清方法的流程圖;
圖2a是語句“感冒了怎么辦”對(duì)應(yīng)的依存樹的示意圖;
圖2b是語句“寶寶感冒了怎么辦”對(duì)應(yīng)的依存樹的示意圖;
圖2c是語句“孕婦感冒了怎么辦”對(duì)應(yīng)的依存樹的示意圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的直接展現(xiàn)核心詞的多個(gè)澄清維度的效果示意圖;
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的每次展現(xiàn)核心詞的一個(gè)澄清維度的效果示意圖一;
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的每次展現(xiàn)核心詞的一個(gè)澄清維度的效果示意圖二;
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于深度問答的問答澄清裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的基于深度問答的問答澄清裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
下面參考附圖描述本發(fā)明實(shí)施例的基于深度問答的問答澄清方法和裝置。
用戶利用搜索引擎搜索信息時(shí),如果用戶輸入的查詢語句不明確,搜索結(jié)果可能會(huì)混雜一些用戶不關(guān)心的內(nèi)容,用戶需要點(diǎn)擊大量的網(wǎng)頁來尋找自己感興趣的內(nèi)容,檢索效率低。針對(duì)此問題,可以通過問答澄清對(duì)用戶進(jìn)行引導(dǎo),使用戶的問題更加明確,從而使用戶獲得更加具有針對(duì)性的答案。對(duì)此,本發(fā)明實(shí)施例提出了一種基于深度問答的問答澄清方法,包括:接收輸入的查詢語句;根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;展現(xiàn)候選澄清問答。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于深度問答的問答澄清方法的流程圖。
如圖1所示,該基于深度問答的問答澄清方法包括:
S101,接收輸入的查詢語句。
例如,某用戶想通過網(wǎng)絡(luò)獲悉治療感冒的方法時(shí),用戶可在搜索引擎輸入框中輸入查詢語句“感冒了怎么辦”。搜索引擎接收用戶輸入查詢語句,以根據(jù)查詢語句進(jìn)行檢索。
S102,根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句。
接收到用戶輸入的查詢語句后,可利用搜索引擎檢索與查詢語句相關(guān)的頁面中對(duì)應(yīng)的答案標(biāo)題,或者利用倒排索引查詢獲得與查詢語句相關(guān)的歷史查詢語句,以召回搜索日志或檢索結(jié)果中與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句。
例如,可利用搜索引擎召回與查詢語句“感冒了怎么辦”相關(guān)的答案標(biāo)題,如“感冒的癥狀、治療方法”、“快速治愈感冒”等等?;蛘?,利用倒排索引查詢從搜索日志中獲得與查詢語句“感冒了怎么辦”相關(guān)的歷史查詢語句,如“寶寶感冒了怎么辦”、“孕婦感冒了怎么辦”、“如何快速治感冒”、“如果感冒了怎么辦”等等。
S103,對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹。
根據(jù)查詢語句利用搜索引擎或者倒排索引查詢召回答案標(biāo)題和歷史查詢語句后,分析查詢語句、答案標(biāo)題和歷史查詢語句中詞語的詞性、詞語之間的依存關(guān)系等,獲取對(duì)應(yīng)的依存樹,以用依存樹表示句子中的依存關(guān)系。
例如,對(duì)于查詢語句“感冒了怎么辦”,首先分析語句中詞語的詞性,如圖2a所示,“感冒”是名詞可用字母n表示、“了”是助詞用字母u表示,“怎么”是代詞用字母r表示,“辦”是動(dòng)詞用字母v表示。然后,分析詞語之間的依存關(guān)系,其中“辦”是根用HED表示,“了”是助詞與“感冒”相連表示句子的語態(tài)結(jié)構(gòu)用MT表示,“怎么”依存于“辦”是狀中結(jié)構(gòu)關(guān)系用AD表示,“感冒”依存于“辦”兩者是動(dòng)賓關(guān)系用CS表示。類似的地,“寶寶感冒了怎么辦”對(duì)應(yīng)的依存樹如圖2b所示,其中,“寶寶”是名詞,“寶寶”依存于“感冒”兩者是主謂關(guān)系用SBV表示。同樣地,“孕婦感冒了怎么辦”對(duì)應(yīng)的依存樹,如圖2c所示,其中,“孕婦”是名詞,“孕婦”依存于“感冒”兩者是主謂關(guān)系用SBV表示。
S104,根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇。
分析獲得答案標(biāo)題和歷史查詢語句的依存樹后,根據(jù)依存樹中節(jié)點(diǎn)或者依存關(guān)系對(duì),計(jì)算答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的依存樹之間的相似度,將相似度大于預(yù)設(shè)閾值如80%的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇,生成問答簇。
例如,假設(shè)預(yù)設(shè)閾值為80%,歷史查詢語句“寶寶感冒了怎么辦”和“孕婦感冒了怎么辦”中“寶寶”和“孕婦”都依存于“感冒”,與“感冒”都是主謂關(guān)系,且都是名詞,并且“寶寶感冒了怎么辦”和“孕婦感冒了怎么辦”的依存樹的其他部分一樣,兩者相似度大于80%,可將這兩個(gè)歷史查詢語句聚合到一起,即聚類。
此外,對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚簇之前,可先對(duì)其依存樹進(jìn)行優(yōu)化,如可將依存樹中“了”、“啊”等之類的分支刪除,獲得句子的主成分樹。再通過計(jì)算答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的主成分樹之間的相似度,對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚簇。
優(yōu)選地,為了提高檢索效率,在獲得句子的主成分樹后,可根據(jù)主成分樹的節(jié)點(diǎn)、依存關(guān)系對(duì)等等,計(jì)算用戶輸入的查詢語句與答案標(biāo)題,或者查詢語句與歷史查詢語句之間的相似度,如可通過計(jì)算依存樹中節(jié)點(diǎn)與依存關(guān)系對(duì)的向量相似度,將相似度低的答案標(biāo)題或者歷史查詢語句篩除,以獲得與查詢語句更相似的答案標(biāo)題和歷史查詢語句。
在獲得與查詢語句更相似的答案標(biāo)題和歷史查詢語句后,計(jì)算篩選后的答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的主成分樹之間的相似度,將相似度大于預(yù)設(shè)閾值的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇。
S105,對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答。
在對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚類,生成問答簇之后,獲取問答簇的核心詞,并利用上下位詞表對(duì)核心詞的澄清詞進(jìn)行泛化再聚合,生成對(duì)應(yīng)的候選澄清問答。其中,下位詞可通過三元組數(shù)據(jù)、預(yù)設(shè)結(jié)構(gòu)挖掘、人工標(biāo)注等獲得。其中,預(yù)設(shè)結(jié)構(gòu)可包括“is a”結(jié)構(gòu),例如,“老人是糖尿病的高發(fā)人群”是“is a”結(jié)構(gòu),可以得出“老人”是“人群”的下位詞。
然而,有時(shí)上下位詞表并不能覆蓋待澄清的核心詞的所有修飾詞,如查詢語句“感冒了怎么辦”中核心詞“感冒”的修飾詞除了“寶寶”、“孕婦”、“老人”等人群外,還可以用“風(fēng)寒”、“風(fēng)熱”等進(jìn)行修飾,但是“人群”的下位詞沒有覆蓋“風(fēng)寒”、“風(fēng)熱”等。
在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于上于下位詞表無法覆蓋的部分詞,可使用通過文本深度表示模型訓(xùn)練獲得的詞向量詞典,對(duì)核心詞的澄清詞進(jìn)行泛化再聚合,生成對(duì)應(yīng)的候選澄清問答。
例如,查詢問句“感冒了怎么辦”經(jīng)過上下位詞表和詞向量詞典對(duì)核心詞“感冒”的澄清詞進(jìn)行泛化再聚合后,生成的候選澄清問答可能是“寶寶感冒怎么辦”、“孕婦感冒怎么辦”、“老人感冒怎么辦”,也可能是“風(fēng)寒感冒怎么辦”、“風(fēng)熱感冒怎么辦”等等。
又如查詢語句“糖尿病怎么治療”,對(duì)核心詞“糖尿病”澄清后的候選澄清問答可能是“孕婦糖尿病怎么治”、“糖尿病怎么治療”,也可能是“糖尿病早期怎么治療”、“糖尿病晚期怎么治療”,這些候選澄清問答對(duì)應(yīng)的澄清維度分別是“人群”、“時(shí)期”。此外,還可對(duì)不同的維度進(jìn)行組合生成候選澄清問答,比如“孕婦糖尿病早期怎么治療”、“青少年糖尿病早期怎么治療”等。
S106,展現(xiàn)候選澄清問答。
由于生成的候選澄清問答可能是多個(gè),為了提高檢索效率,可根據(jù)候選澄清問答在用戶的搜索日志和檢索結(jié)果中出現(xiàn)的頻率排序。具體地,獲取候選澄清問答在搜索日志中的出現(xiàn)的頻率,即第一頻次,以及在檢索結(jié)果中出現(xiàn)的頻率即第二頻次。然后,根據(jù)獲取的第一頻次和第二頻次對(duì)候選澄清問答進(jìn)行排序。最后,根據(jù)排序結(jié)果展現(xiàn)候選澄清問答。
例如,某用戶輸入的查詢語句“感冒了怎么辦”的候選澄清問答“孕婦感冒怎么辦”、“寶寶感冒怎么辦”、“老人感冒怎么辦”在用戶的搜索日志中出現(xiàn)的頻率依次是5次、6次、10次,可見“老人感冒怎么辦”出現(xiàn)的頻率最高。根據(jù)候選澄清問答在搜索用戶搜索日志中出現(xiàn)的頻率的大小進(jìn)行排序,排序依次是“老人感冒怎么辦”、“寶寶感冒怎么辦”、“孕婦感冒怎么辦”,并將排序后的候選澄清問答展現(xiàn)給用戶。
對(duì)于候選澄清問答的展現(xiàn)樣式,可直接展現(xiàn)所有的澄清維度,讓用戶選擇各個(gè)維度進(jìn)行合理搭配。如圖3所示,當(dāng)用戶在搜索引擎中輸入查詢語句“糖尿病怎么治”時(shí),在搜索引擎輸入框的下方展現(xiàn)了兩個(gè)澄清維度“人群”和“時(shí)期”。對(duì)于澄清問答維度“人群”,提供了“老年人”、“孕婦”、“青少年”三個(gè)選項(xiàng),對(duì)于“時(shí)期”,提供了“早期”和“晚期”兩個(gè)。因此,用戶可根據(jù)查詢需求對(duì)不同的維度選項(xiàng)進(jìn)行選擇。
另外,也可每次推薦給用戶一個(gè)澄清維度,逐漸引導(dǎo)用戶選擇符合真正查詢意圖的查詢語句或者答案標(biāo)題。如圖4所示,當(dāng)用戶在搜索引擎中輸入“感冒了吃什么藥”時(shí),搜索引擎在輸入框的下方提供感冒的種類的候選澄清問答“風(fēng)寒感冒吃什么藥”和“風(fēng)熱感冒吃什么藥”。當(dāng)用戶點(diǎn)擊了“風(fēng)熱感冒吃什么藥”后,網(wǎng)頁跳轉(zhuǎn)到該查詢語句的搜索結(jié)果頁面,如圖5所示,繼續(xù)為用戶提供澄清維度為“人群”的4個(gè)候選澄清問答“寶寶風(fēng)熱感冒吃什么藥”、“孕婦風(fēng)熱感冒吃什么藥”、“老人風(fēng)熱感冒吃什么藥”和“成人風(fēng)熱感冒吃什么藥”,以進(jìn)一步澄清用戶的查詢意圖。
可見,通過不同維度的候選澄清問答對(duì)用戶進(jìn)行引導(dǎo),可使用戶的搜索意圖更加明確,使檢索結(jié)果可以更精準(zhǔn)的滿足用戶需求,避免用戶閱讀大量的網(wǎng)頁查找檢索結(jié)果,提高檢索效率。
綜上所述,本發(fā)明實(shí)施例的基于深度問答的問答澄清,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
下面結(jié)合圖6對(duì)本發(fā)明實(shí)施例提出的基于深度問答的問答澄清裝置進(jìn)行詳細(xì)描述。圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于深度問答的問答澄清裝置的結(jié)構(gòu)示意圖。
如圖6所示,該基于深度問答的問答澄清裝置可包括:接收模塊610、召回模塊620、分析模塊630、聚簇模塊640、生成模塊650、展現(xiàn)模塊660。
其中,接收模塊610用于接收輸入的查詢語句。
例如,某用戶想通過網(wǎng)絡(luò)獲悉治療感冒的方法時(shí),用戶可在搜索引擎輸入框中輸入查詢語句“感冒了怎么辦”。接收模塊610接收用戶輸入查詢語句,以根據(jù)查詢語句進(jìn)行檢索。
召回模塊620用于根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句。
召回模塊620用于利用搜索引擎檢索與查詢語句相關(guān)的頁面中對(duì)應(yīng)的答案標(biāo)題;和/或利用倒排索引查詢獲得與查詢語句相關(guān)的歷史查詢語句。
接收到用戶輸入的查詢語句后,召回模塊620可利用搜索引擎檢索與查詢語句相關(guān)的頁面中對(duì)應(yīng)的答案標(biāo)題,或者利用倒排索引查詢獲得與查詢語句相關(guān)的歷史查詢語句,以召回搜索日志或檢索結(jié)果中與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句。
例如,可利用搜索引擎召回與查詢語句“感冒了怎么辦”相關(guān)的答案標(biāo)題,如“感冒的癥狀、治療方法”、“快速治愈感冒”等等?;蛘?,利用倒排索引查詢從搜索日志中獲得與查詢語句“感冒了怎么辦”相關(guān)的歷史查詢語句,如“寶寶感冒了怎么辦”、“孕婦感冒了怎么辦”、“如何快速治感冒”、“如果感冒了怎么辦”等等。
分析模塊630用于對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹。
根據(jù)查詢語句利用搜索引擎或者倒排索引查詢召回答案標(biāo)題和歷史查詢語句后,分析模塊630用于分析查詢語句、答案標(biāo)題和歷史查詢語句中詞語的詞性、詞語之間的依存關(guān)系等,獲取對(duì)應(yīng)的依存樹,以用依存樹表示句子中的依存關(guān)系。
例如,對(duì)于查詢語句“感冒了怎么辦”,首先分析語句中詞語的詞性,如圖2a所示,“感冒”是名詞可用字母n表示、“了”是助詞用字母u表示,“怎么”是代詞用字母r表示,“辦”是動(dòng)詞用字母v表示。然后,分析詞語之間的依存關(guān)系,其中“辦”是根用HED表示,“了”是助詞與“感冒”相連表示句子的語態(tài)結(jié)構(gòu)用MT表示,“怎么”依存于“辦”是狀中結(jié)構(gòu)關(guān)系用AD表示,“感冒”依存于“辦”兩者是動(dòng)賓關(guān)系用CS表示。類似的地,“寶寶感冒了怎么辦”對(duì)應(yīng)的依存樹如圖2b所示,其中,“寶寶”是名詞,“寶寶”依存于“感冒”兩者是主謂關(guān)系用SBV表示。同樣地,“孕婦感冒了怎么辦”對(duì)應(yīng)的依存樹,如圖2c所示,其中,“孕婦”是名詞,“孕婦”依存于“感冒”兩者是主謂關(guān)系用SBV表示。
聚簇模塊640用于根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇。
聚簇模塊640用于計(jì)算答案標(biāo)題和/或歷史查詢語句對(duì)應(yīng)的依存樹之間的相似度;將相似度大于預(yù)設(shè)閾值的答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇。
分析獲得答案標(biāo)題和歷史查詢語句的依存樹后,根據(jù)依存樹中節(jié)點(diǎn)或者依存關(guān)系對(duì),計(jì)算答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的依存樹之間的相似度,將相似度大于預(yù)設(shè)閾值如80%的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇,生成問答簇。
例如,假設(shè)預(yù)設(shè)閾值為80%,歷史查詢語句“寶寶感冒了怎么辦”和“孕婦感冒了怎么辦”中“寶寶”和“孕婦”都依存于“感冒”,與“感冒”都是主謂關(guān)系,且都是名詞,并且“寶寶感冒了怎么辦”和“孕婦感冒了怎么辦”的依存樹的其他部分一樣,兩者相似度大于80%,可將這兩個(gè)歷史查詢語句聚合到一起,即聚類。
此外,如圖7所示,該基于深度問答的問答澄清裝置還包括:優(yōu)化模塊670。
優(yōu)化模塊670用于在根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇之前,優(yōu)化依存樹。
對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚簇之前,優(yōu)化模塊670可先對(duì)其依存樹進(jìn)行優(yōu)化,如可將依存樹中“了”、“啊”等之類的分支刪除,獲得句子的主成分樹。再通過計(jì)算答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的主成分樹之間的相似度,對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚簇。
優(yōu)選地,為了提高檢索效率,在獲得句子的主成分樹后,可根據(jù)主成分樹的節(jié)點(diǎn)、依存關(guān)系對(duì)等等,計(jì)算用戶輸入的查詢語句與答案標(biāo)題,或者查詢語句與歷史查詢語句之間的相似度,如可通過計(jì)算依存樹中節(jié)點(diǎn)與依存關(guān)系對(duì)的向量相似度,將相似度低的答案標(biāo)題或者歷史查詢語句篩除,以獲得與查詢語句更相似的答案標(biāo)題和歷史查詢語句。
在獲得與查詢語句更相似的答案標(biāo)題和歷史查詢語句后,計(jì)算篩選后的答案標(biāo)題和歷史查詢語句對(duì)應(yīng)的主成分樹之間的相似度,將相似度大于預(yù)設(shè)閾值的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇。
生成模塊650用于對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答。
生成模塊650用于獲取至少一個(gè)問答簇的核心詞;利用上下位詞表和詞向量詞典對(duì)核心詞的澄清詞進(jìn)行泛化再聚合,以生成對(duì)應(yīng)的候選澄清問答。
其中,上下位詞表通過三元組數(shù)據(jù)、預(yù)設(shè)結(jié)構(gòu)挖掘、人工標(biāo)注獲得;詞向量詞典通過文本深度表示模型訓(xùn)練獲得。
在對(duì)答案標(biāo)題和歷史查詢語句進(jìn)行聚類,生成問答簇之后,生成模塊650獲取問答簇的核心詞,并利用上下位詞表對(duì)核心詞的澄清詞進(jìn)行泛化再聚合,生成對(duì)應(yīng)的候選澄清問答。其中,下位詞可通過三元組數(shù)據(jù)、預(yù)設(shè)結(jié)構(gòu)挖掘、人工標(biāo)注等獲得。其中,預(yù)設(shè)結(jié)構(gòu)可包括“is a”結(jié)構(gòu),例如,“老人是糖尿病的高發(fā)人群”是“is a”結(jié)構(gòu),可以得出“老人”是“人群”的下位詞。
然而,有時(shí)上下位詞表并不能覆蓋待澄清的核心詞的所有修飾詞,如查詢語句“感冒了怎么辦”中核心詞“感冒”的修飾詞除了“寶寶”、“孕婦”、“老人”等人群外,還可以用“風(fēng)寒”、“風(fēng)熱”等進(jìn)行修飾,但是“人群”的下位詞沒有覆蓋“風(fēng)寒”、“風(fēng)熱”等。
在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于上于下位詞表無法覆蓋的部分詞,可使用通過文本深度表示模型訓(xùn)練獲得的詞向量詞典,對(duì)核心詞的澄清詞進(jìn)行泛化再聚合,生成對(duì)應(yīng)的候選澄清問答。
例如,查詢問句“感冒了怎么辦”經(jīng)過上下位詞表和詞向量詞典對(duì)核心詞“感冒”的澄清詞進(jìn)行泛化再聚合后,生成的候選澄清問答可能是“寶寶感冒怎么辦”、“孕婦感冒怎么辦”、“老人感冒怎么辦”,也可能是“風(fēng)寒感冒怎么辦”、“風(fēng)熱感冒怎么辦”等等。
又如查詢語句“糖尿病怎么治療”,對(duì)核心詞“糖尿病”澄清后的候選澄清問答可能是“孕婦糖尿病怎么治”、“糖尿病怎么治療”,也可能是“糖尿病早期怎么治療”、“糖尿病晚期怎么治療”,這些候選澄清問答對(duì)應(yīng)的澄清維度分別是“人群”、“時(shí)期”。此外,還可對(duì)不同的維度進(jìn)行組合生成候選澄清問答,比如“孕婦糖尿病早期怎么治療”、“青少年糖尿病早期怎么治療”等。
展現(xiàn)模塊660用于展現(xiàn)候選澄清問答。
展現(xiàn)模塊660用于獲取候選澄清問答在搜索日志中的第一頻次,以及在檢索結(jié)果中的第二頻次;根據(jù)第一頻次和/或第二頻次對(duì)所述候選澄清問答進(jìn)行排序;根據(jù)排序結(jié)果展現(xiàn)候選澄清問答。
由于生成的候選澄清問答可能是多個(gè),為了提高檢索效率,可根據(jù)候選澄清問答在用戶的搜索日志和檢索結(jié)果中出現(xiàn)的頻率排序。具體地,獲取候選澄清問答在搜索日志中的出現(xiàn)的頻率,即第一頻次,以及在檢索結(jié)果中出現(xiàn)的頻率即第二頻次。然后,根據(jù)獲取的第一頻次和第二頻次對(duì)候選澄清問答進(jìn)行排序。最后,根據(jù)排序結(jié)果展現(xiàn)候選澄清問答。
例如,某用戶輸入的查詢語句“感冒了怎么辦”的候選澄清問答“孕婦感冒怎么辦”、“寶寶感冒怎么辦”、“老人感冒怎么辦”在用戶的搜索日志中出現(xiàn)的頻率依次是5次、6次、10次,可見“老人感冒怎么辦”出現(xiàn)的頻率最高。根據(jù)候選澄清問答在搜索用戶搜索日志中出現(xiàn)的頻率的大小進(jìn)行排序,排序依次是“老人感冒怎么辦”、“寶寶感冒怎么辦”、“孕婦感冒怎么辦”,并將排序后的候選澄清問答展現(xiàn)給用戶。
對(duì)于候選澄清問答的展現(xiàn)樣式,可直接展現(xiàn)所有的澄清維度,讓用戶選擇各個(gè)維度進(jìn)行合理搭配。如圖3所示,當(dāng)用戶在搜索引擎中輸入查詢語句“糖尿病怎么治”時(shí),在搜索引擎輸入框的下方展現(xiàn)了兩個(gè)澄清維度“人群”和“時(shí)期”。對(duì)于澄清問答維度“人群”,提供了“老年人”、“孕婦”、“青少年”三個(gè)選項(xiàng),對(duì)于“時(shí)期”,提供了“早期”和“晚期”兩個(gè)。因此,用戶可根據(jù)查詢需求對(duì)不同的維度選項(xiàng)進(jìn)行選擇。
另外,也可每次推薦給用戶一個(gè)澄清維度,逐漸引導(dǎo)用戶選擇符合真正查詢意圖的查詢語句或者答案標(biāo)題。如圖4所示,當(dāng)用戶在搜索引擎中輸入“感冒了吃什么藥”時(shí),搜索引擎在輸入框的下方提供感冒的種類的候選澄清問答“風(fēng)寒感冒吃什么藥”和“風(fēng)熱感冒吃什么藥”。當(dāng)用戶點(diǎn)擊了“風(fēng)熱感冒吃什么藥”后,網(wǎng)頁跳轉(zhuǎn)到該查詢語句的搜索結(jié)果頁面,如圖5所示,繼續(xù)為用戶提供澄清維度為“人群”的4個(gè)候選澄清問答“寶寶風(fēng)熱感冒吃什么藥”、“孕婦風(fēng)熱感冒吃什么藥”、“老人風(fēng)熱感冒吃什么藥”和“成人風(fēng)熱感冒吃什么藥”,以進(jìn)一步澄清用戶的查詢意圖。
可見,通過不同維度的候選澄清問答對(duì)用戶進(jìn)行引導(dǎo),可使用戶的搜索意圖更加明確,使檢索結(jié)果可以更精準(zhǔn)的滿足用戶需求,避免用戶閱讀大量的網(wǎng)頁查找檢索結(jié)果,提高檢索效率。
需要說明的是,前述實(shí)施例中對(duì)基于深度問答的問答澄清方法實(shí)施例的解釋說明也適用于本實(shí)施例的基于深度問答的問答澄清裝置,其實(shí)現(xiàn)原理類似,此處不再贅述。
綜上所述,本發(fā)明實(shí)施例的基于深度問答的問答澄清裝置,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種終端,包括:處理器,以及用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器。其中,處理器被配置為執(zhí)行以下步驟:
接收輸入的查詢語句;
根據(jù)查詢語句召回對(duì)應(yīng)的答案標(biāo)題和/或歷史查詢語句;
對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行分析,以獲取對(duì)應(yīng)的依存樹;
根據(jù)依存樹對(duì)答案標(biāo)題和/或歷史查詢語句進(jìn)行聚簇,以生成至少一個(gè)問答簇;
對(duì)至少一個(gè)問答簇進(jìn)行泛化,以生成對(duì)應(yīng)的候選澄清問答;
展現(xiàn)候選澄清問答。
需要說明的是,前述實(shí)施例中對(duì)基于深度問答的問答澄清方法實(shí)施例的解釋說明也適用于本實(shí)施例的終端,其實(shí)現(xiàn)原理類似,此處不再贅述。
本發(fā)明實(shí)施例提出的終端,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)存儲(chǔ)介質(zhì)中的指令由移動(dòng)終端的處理器執(zhí)行時(shí),使得移動(dòng)終端能夠執(zhí)行本發(fā)明第一方面實(shí)施例提出的基于深度問答的問答澄清方法。
本發(fā)明實(shí)施例提出的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品中的指令被處理器執(zhí)行時(shí),執(zhí)行一種基于深度問答的問答澄清方法。
本發(fā)明實(shí)施例提出的計(jì)算機(jī)程序產(chǎn)品,通過對(duì)召回的與查詢語句相關(guān)的答案標(biāo)題和歷史查詢語句進(jìn)行聚簇、泛化,生成對(duì)應(yīng)的候選澄清問答并展現(xiàn)給用戶,使用戶根據(jù)候選澄清問答獲得更精確的檢索結(jié)果,提高了檢索效率。
在本說明書的描述中,參考術(shù)語:“一個(gè)實(shí)施例”、“具體實(shí)施例”“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。