本申請涉及信息檢索技術(shù)領(lǐng)域,尤其涉及一種基于人工智能的檢索糾錯方法及裝置。
背景技術(shù):
人工智能(Artificial Intelligence),英文縮寫為AI。它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是計算機科學(xué)的一個分支,它企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機器,該領(lǐng)域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。
隨著互聯(lián)網(wǎng)的普及,互聯(lián)網(wǎng)上的信息也越來越豐富,現(xiàn)在人們通過搜索引擎可以便捷的獲取自己想要的信息。通常用戶在進行檢索時,經(jīng)常由于疏忽等原因,輸入錯誤的檢索語句(query),比如,“清華大學(xué)”輸入成“情華大學(xué)”(字形錯誤)或者輸入成為“親華大學(xué)”(拼音錯誤),或者輸入成“清華學(xué)”(少了一個字)等。這樣就要求搜索引擎能夠?qū)τ脩糨斎氲腻e誤query進行識別,同時將錯誤的部分糾正成用戶需要的query。
現(xiàn)有的搜索引擎對query進行糾錯時,主要是通過對拼音錯誤和字形錯誤構(gòu)建糾錯特征,利用噪音信道模型預(yù)測正確的候選query。但是這種糾錯方式,由于同音或者形近字較多,在糾錯時候選較多,使得糾錯效率和準(zhǔn)確率都較低。
技術(shù)實現(xiàn)要素:
本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本申請的第一個目的在于提出一種基于人工智能的檢索糾錯方法,該方法實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并對糾錯候選結(jié)果進行準(zhǔn)確篩選,確定糾錯結(jié)果,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
本申請的第二個目的在于提出一種基于人工智能的檢索糾錯裝置。
本申請的第三個目的在于提出一種基于人工智能的檢索糾錯設(shè)備。
本申請的第四個目的在于提出一種非臨時性計算機可讀存儲介質(zhì)。
本申請的第五個目的在于提出一種計算機程序產(chǎn)品。
為達上述目的,本申請第一方面實施例提出了一種基于人工智能的檢索糾錯方法,包括:接收用戶輸入的第一查詢語句,根據(jù)預(yù)設(shè)的糾錯策略判斷所述第一查詢語句是否滿足糾錯條件;若所述第一查詢語句滿足糾錯條件,則確定所述第一查詢語句中待糾錯的第一分詞;根據(jù)預(yù)設(shè)的候選召回策略,獲取與所述第一分詞對應(yīng)的各第一候選結(jié)果;根據(jù)所述各第一候選結(jié)果的質(zhì)量特征值,確定與所述第一分詞對應(yīng)的糾錯結(jié)果;利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
本申請實施例的基于人工智能的檢索糾錯方法,在接收到用戶輸入的第一查詢語句后,若根據(jù)預(yù)設(shè)的糾錯策略,確定第一查詢語句滿足糾錯條件,則首先確定第一查詢語句中待糾錯的第一分詞,然后根據(jù)預(yù)設(shè)的召回策略,獲取與第一分詞對應(yīng)的各第一候選結(jié)果,再根據(jù)各第一候選結(jié)果的質(zhì)量特征值,確定與第一分詞對應(yīng)的糾錯結(jié)果,然后利用糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并對糾錯候選結(jié)果進行準(zhǔn)確篩選,確定糾錯結(jié)果,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
為達上述目的,本申請第二方面實施例提出了一種基于人工智能的檢索糾錯裝置,包括:判斷模塊,用于接收用戶輸入的第一查詢語句,根據(jù)預(yù)設(shè)的糾錯策略判斷所述第一查詢語句是否滿足糾錯條件;第一確定模塊,用于若所述第一查詢語句滿足糾錯條件,則確定所述第一查詢語句中待糾錯的第一分詞;獲取模塊,用于根據(jù)預(yù)設(shè)的候選召回策略,獲取與所述第一分詞對應(yīng)的各第一候選結(jié)果;第二確定模塊,用于根據(jù)所述各第一候選結(jié)果的質(zhì)量特征值,確定與所述第一分詞對應(yīng)的糾錯結(jié)果;生成模塊,用于利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
本申請實施例的基于人工智能的檢索糾錯裝置,在接收到用戶輸入的第一查詢語句后,若根據(jù)預(yù)設(shè)的糾錯策略,確定第一查詢語句滿足糾錯條件,則首先確定第一查詢語句中待糾錯的第一分詞,然后根據(jù)預(yù)設(shè)的召回策略,獲取與第一分詞對應(yīng)的各第一候選結(jié)果,再根據(jù)各第一候選結(jié)果的質(zhì)量特征值,確定與第一分詞對應(yīng)的糾錯結(jié)果,然后利用糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并對糾錯候選結(jié)果進行準(zhǔn)確篩選,確定糾錯結(jié)果,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
為達上述目的,本申請第三方面實施例提出了一種基于人工智能的檢索糾錯設(shè)備,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為執(zhí)行如上述第一方面中的基于人工智能的檢索糾錯方法。
為達上述目的,本申請第四方面實施例提出了一種非臨時性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由移動終端的處理器被執(zhí)行時,使得移動終端能夠執(zhí)行一種如上述第一方面中的基于人工智能的檢索糾錯方法。
為達上述目的,本申請第五方面實施例提出了一種計算機程序產(chǎn)品,當(dāng)所述計算機程序產(chǎn)品中的指令處理器執(zhí)行時,執(zhí)行一種如上述第一方面中的基于人工智能的檢索糾錯方法。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一個實施例的基于人工智能的檢索糾錯方法的流程圖;
圖2是本申請另一個實施例的基于人工智能的檢索糾錯方法的流程圖;
圖3是本申請一個實施例的基于人工智能的檢索糾錯裝置的結(jié)構(gòu)示意圖;
圖4是本申請另一個實施例的基于人工智能的檢索糾錯裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細(xì)描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本申請,而不能理解為對本申請的限制。
下面參考附圖描述本申請實施例的基于人工智能的檢索糾錯方法及裝置。
圖1是本申請一個實施例的基于人工智能的檢索糾錯方法的流程圖。
如圖1所示,該基于人工智能的檢索糾錯方法包括:
步驟101,接收用戶輸入的第一查詢語句,根據(jù)預(yù)設(shè)的糾錯策略判斷所述第一查詢語句是否滿足糾錯條件。
具體地,本發(fā)明實施例提供的基于人工智能的檢索糾錯方法的執(zhí)行主體為基于人工智能的檢索糾錯裝置,該檢索糾錯裝置可以應(yīng)用于具有檢索功能的終端設(shè)備中。其中,終端設(shè)備的類型很多,例如:智能手機、平板電腦,計算機等。
當(dāng)接收到用戶當(dāng)前輸入的第一查詢語句時,根據(jù)預(yù)設(shè)的檢索糾錯策略對該第一查詢語句進行分析,判斷該第一查詢語句是否滿足糾錯條件。如果該第一查詢語句不滿足糾錯條件,則對該第一查詢語句直接進行檢索,并向用戶反饋檢索結(jié)果。如果該第一查詢語句滿足糾錯條件,則對第一查詢語句進行糾錯處理。
需要說明的是,可以根據(jù)不同的應(yīng)用需要設(shè)置不同的糾錯策略,例如:
示例一:
根據(jù)所述第一查詢語句的歷史行為特征,判斷所述第一查詢語句是否滿足糾錯條件。
其中,歷史行為特征包括:歷史檢索次數(shù)、歷史點擊次數(shù)及閱讀時長。具體的,檢索糾錯裝置中可以存儲各查詢語句的歷史檢索信息,比如檢索次數(shù)、點擊次數(shù)、閱讀時長等數(shù)據(jù),從而在接收到第一查詢語句后,通過查詢歷史數(shù)據(jù),判斷該第一查詢語句的檢索次數(shù)是否大于一定的值,以及用戶對該第一查詢語句對應(yīng)的查詢結(jié)果的點擊次數(shù)是否足夠多,或者,用戶對該第一查詢語句對應(yīng)的查詢結(jié)果的閱讀時長是否足夠長,從而判斷該第一查詢語句是否需要糾錯。
通常情況下,若查詢語句的檢索次數(shù)足夠多,則可以認(rèn)為該查詢語句較準(zhǔn)確,無需糾錯;或者,根據(jù)該查詢語句得到的檢索結(jié)果,被用戶多次點擊(說明檢索結(jié)果準(zhǔn)確,滿足用戶需求),也可以認(rèn)為該查詢語句較準(zhǔn)確,無需糾錯;或者,若用戶對該查詢語句的檢索結(jié)果的閱讀時間較長(說明檢索結(jié)果滿足用戶需求),也可以認(rèn)為該查詢語句較準(zhǔn)確,無需糾錯等。
示例二
根據(jù)所述第一查詢語句的語言模型值,判斷所述第一查詢語句是否滿足糾錯條件。
具體的,檢索糾錯裝置可以通過判斷第一查詢語句在歷史查詢語句中是否有同樣或者類似的描述,來確定第一查詢語句的語言模型值。比如檢索糾錯裝置,通過對歷史查詢語句及檢索庫中檢索結(jié)果的標(biāo)題進行統(tǒng)計,確定一個語言模型,然后,將第一查詢語句輸入語言模型,即可計算第一查詢語句的語言模型值。
需要注意的是,上述的糾錯策略僅僅是舉例說明,可以根據(jù)實際應(yīng)用需要進行設(shè)置或調(diào)整。
步驟102,若所述第一查詢語句滿足糾錯條件,則確定所述第一查詢語句中待糾錯的第一分詞。
具體地,由于查詢語句(query)通常是一個比較長的串,但是拼錯的部分只是其中的某一個詞(word)或者多個word,因此我們只需要對拼錯的部分進行糾錯處理;而不需要對整個query的所有word都進行糾錯,否則效率太低。因此,在確定如果第一查詢語句滿足預(yù)設(shè)的糾錯條件,則可以對第一查詢語句進行解析,確定第一查詢語句中待糾錯的第一分詞。
其中,第一分詞,可以指一個詞或詞組,也可以指多個詞或詞組,本實施例對此不作限定
可以理解的是,獲取第一查詢語句中待糾錯的第一分詞時,需要首先對第一查詢語句進行分詞處理,確定第一查詢語句中包括的第二分詞,再判斷第二分詞是否需要糾錯,即上述步驟102,包括:
對所述第一查詢語句進行分詞處理,確定所述第一查詢語句包括的第二分詞組;
根據(jù)所述第二分詞組中各第二分詞的歷史糾錯信息和/或語言模型值,確定所述第二分詞組中待糾錯的第一分詞。
具體的,檢索糾錯裝置對第一查詢語句進行分詞處理后,得到的第二分詞組中包括第一查詢語句中所有粒度的分詞。
舉例來說,若第一查詢語句為“北京地圖1號線”,那么對該查詢語句進行分詞后,得到的各第二分詞,可以包括:“北京”、“地圖”、“1號線”、“北京地圖”、“地圖1號線”。然后檢索糾錯裝置,即可依次根據(jù)上述各個第二分詞的歷史糾錯信息及語言模型值,判斷該分詞是否需要糾錯。而通過查詢歷史糾錯信息,可確定“地圖1號線”在歷史糾錯中出現(xiàn)過,而其他的分詞均未出現(xiàn),且通過語言模型值計算后,確定“地圖1號線”的語言模型值較低,那么則可以確定“地圖1號線”為第一查詢語句中包括的待糾錯的第一分詞。
需要說明的是,檢索糾錯裝置可以僅在第二分詞的歷史糾錯信息滿足糾錯條件時,確定第二分詞為待糾錯的第一分詞;也可以僅在第二分詞的語言模型值滿足糾錯條件時,確定第二分詞為待糾錯的第一分詞;或者,也可以僅在第二分詞的歷史糾錯信息和語言模型值均滿足糾錯條件時,確定第二分詞為待糾錯的第一分詞,本實施例對此不作限定。
進一步地,由于大粒度的分詞包含的信息或語義比小粒度的分詞更準(zhǔn)確,因此,為了提高檢索糾錯裝置的糾錯效率,檢索糾錯裝置,可以首先對大粒度分詞進行糾錯判斷,若確定大粒度分詞為糾錯分詞,那么即可認(rèn)為對該大粒度分詞糾錯后,即可得到正確的查詢語句,而無需再對其包含的小粒度分詞進行糾錯判斷。即檢索糾錯裝置根據(jù)所述各第二分詞的歷史糾錯信息及語言模型值,確定所述第二分詞組中待糾錯的第一分詞,具體包括:
按照從大粒度到小粒度的順序,依次判斷所述第二分詞組中各第二分詞的歷史糾錯信息及語言模型值是否滿足糾錯條件;
若大粒度的第二分詞的歷史糾錯信息及語言模型值滿足糾錯條件,則確定所述大粒度的第二分詞為待糾錯的第一分詞;
將包含于所述大粒度的第二分詞中的小粒度第二分詞從所述第二分詞組中剔除。
舉例來說,上述例子中,檢索糾錯裝置,在確定“地圖1號線”為待糾錯分詞后,即可不再判斷小粒度分詞“地圖”和“1號線”了,從而節(jié)省了檢索糾錯裝置的處理過程,提高了糾錯效率。
步驟103,根據(jù)預(yù)設(shè)的候選召回策略,獲取與所述第一分詞對應(yīng)的各第一候選結(jié)果。
具體的,檢索糾錯裝置,可以采用多種候選召回策略,來對待糾錯的分詞進行候選召回。
比如,根據(jù)歷史糾錯信息,確定第一分詞對應(yīng)的各第一候選結(jié)果;或者,根據(jù)預(yù)先訓(xùn)練的候選詞列表,確定第一分詞對應(yīng)的各第一候選結(jié)果等,本實施例對此不作限定。
步驟104,根據(jù)所述各第一候選結(jié)果的質(zhì)量特征值,確定與所述第一分詞對應(yīng)的糾錯結(jié)果。
其中,候選結(jié)果的質(zhì)量特征,是指候選結(jié)果及其對應(yīng)的第一分詞的頻次、歷史行為特征(比如檢索次數(shù)、點擊次數(shù)、糾錯次數(shù))、在query的上下文特征、是否專名、是否站點名等信息。
具體的,檢索糾錯裝置在確定了各第一候選結(jié)果的質(zhì)量特征值后,即可選取質(zhì)量特征值最高的候選結(jié)果,作為第一分詞的糾錯結(jié)果。
步驟105,利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
具體的,檢索糾錯裝置在確定了糾錯結(jié)果后,即可利用糾錯結(jié)果對第一查詢語句進行糾錯,生成第二查詢語句,進而根據(jù)第二查詢語句,獲取查詢結(jié)果并反饋給用戶。
本申請實施例的基于人工智能的檢索糾錯方法,在接收到用戶輸入的第一查詢語句后,若根據(jù)預(yù)設(shè)的糾錯策略,確定第一查詢語句滿足糾錯條件,則首先確定第一查詢語句中待糾錯的第一分詞,然后根據(jù)預(yù)設(shè)的召回策略,獲取與第一分詞對應(yīng)的各第一候選結(jié)果,再根據(jù)各第一候選結(jié)果的質(zhì)量特征值,確定與第一分詞對應(yīng)的糾錯結(jié)果,然后利用糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并對糾錯候選結(jié)果進行準(zhǔn)確篩選,確定糾錯結(jié)果,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
通過上述分析可知,檢索糾錯裝置在確定用戶輸入的查詢語句需要糾錯后,可以采用預(yù)設(shè)的候選召回策略,獲取與待糾錯的分詞對應(yīng)的候選結(jié)果,并根據(jù)候選結(jié)果的質(zhì)量特征值,確定待糾錯分詞的糾錯結(jié)果,進而對查詢語句進行糾錯處理,下面結(jié)合圖2對檢索糾錯裝置中的候選召回策略進行詳細(xì)的說明。
圖2是本申請另一個實施例的基于人工智能的檢索糾錯方法的流程圖。
如圖2所示,該基于人工智能的檢索糾錯方法可以包括以下步驟:
步驟201,接收用戶輸入的第一查詢語句。
步驟202,根據(jù)所述第一查詢語句的歷史行為特征和語言模型值,判斷所述第一查詢語句是否滿足糾錯條件,若是,則執(zhí)行步驟203a,否則執(zhí)行步驟203b。
步驟203a,根據(jù)所述第一查詢語句,獲取檢索結(jié)果。
步驟203b,對所述第一查詢語句進行分詞處理,確定所述第一查詢語句包括的第二分詞組。
步驟204,按照從大粒度到小粒度的順序,依次判斷所述第二分詞組中各第二分詞的歷史糾錯信息及語言模型值是否滿足糾錯條件。
步驟205,若大粒度的第二分詞的歷史糾錯信息及語言模型值滿足糾錯條件,則確定所述大粒度的第二分詞為待糾錯的第一分詞。
步驟206,將包含于所述大粒度的第二分詞中的小粒度第二分詞從所述第二分詞組中剔除。
具體的,上述步驟201-步驟206的具體實現(xiàn)過程可參照上述實施例的詳細(xì)描述,此處不再贅述。
步驟207,查詢歷史糾錯信息庫,獲取與所述第一分詞對應(yīng)的、且置信度大于第一預(yù)設(shè)值的各第二候選結(jié)果。
其中,歷史糾錯信息庫中存儲有歷史待糾錯分詞、糾錯結(jié)果及對應(yīng)的置信度。通常一個待糾錯分詞可能對應(yīng)多個糾錯結(jié)果,并分別對應(yīng)不同的置信度,當(dāng)檢索糾錯裝置,確定待糾錯的第一分詞后,即可通過查詢預(yù)先存儲歷史糾錯信息庫,獲取與第一分詞對應(yīng)的糾錯結(jié)果。
進一步地,為了提高檢索糾錯裝置的糾錯效率,檢索糾錯裝置,可以僅選取置信度較高的糾錯結(jié)果作為第二候選結(jié)果。
其中,第一預(yù)設(shè)的值可以是預(yù)先設(shè)置的,也可以檢索糾錯裝置根據(jù)第一查詢語句的語義、待糾錯的第一分詞在第一查詢語句中的作用大小確定的。
比如,用戶輸入的第一查詢語句為“北京無麥”,檢索糾錯裝置對第一查詢語句進行分析后,確定待糾錯的第一分詞為“無麥”,并通過查詢?nèi)魵v史糾錯信息庫,確定與第一分詞“無麥”對應(yīng)的糾錯結(jié)果和置信度分別為:“霧霾”-0.7、“外賣”-0.5,“呼麥”-0.2,然后檢索糾錯裝置根據(jù)第一查詢語句的語義和結(jié)構(gòu)、及第一分詞在第一查詢語句中的位置,可以確定該第一分詞對第一查詢語句的意義較大,因而希望盡量多的召回候選結(jié)果,從而第一預(yù)設(shè)的值比如確定為0.4,那么通過判斷即可確定,此處召回的第二候選結(jié)果為“霧霾”和“外賣”。
步驟208,根據(jù)所述各第二候選結(jié)果與所述第一查詢語句的匹配程度,確定所述各第二候選結(jié)果的各準(zhǔn)確率得分。
具體的,檢索糾錯裝置可以采用多種方式,確定第二候選結(jié)果與第一查詢語句的匹配程度。
示例一
根據(jù)預(yù)設(shè)的候選預(yù)估模型,確定第二候選結(jié)果與第一查詢語句的匹配程度。
具體的,檢索糾錯裝置可以通過對各query的歷史特征、上下文語料及語音模型等進行訓(xùn)練,得到一個候選預(yù)估模型,該候選預(yù)估模型可根據(jù)候選結(jié)果及query的上下文,對該候選結(jié)果進行打分,打分越高,說明該候選結(jié)果與query匹配程度越高,即該候選結(jié)果的準(zhǔn)確率越高。
示例二
將各第二候選結(jié)果替換第一查詢語句中的第一分詞,得到新的查詢語句;
根據(jù)新的查詢語句的歷史特征及用戶的歷史行為特征,確定第二候選結(jié)果與第一查詢語句的匹配程度。
舉例來說,檢索糾錯裝置,在確定第二候選結(jié)果為“霧霾”和“外賣”后,即可確定新的查詢語句為“北京霧霾”和“北京外賣”,之后,根據(jù)新的查詢語句的歷史搜索次數(shù)、點擊次數(shù)等,及用戶的歷史檢索信息,比如用戶對北京天氣的搜索次數(shù),及對外賣的搜索次數(shù),確定各第二候選結(jié)果與第一查詢語句的匹配程度。
在本實施例一種可能的實現(xiàn)形式中,檢索糾錯裝置還可以結(jié)合當(dāng)前的查詢語句排名,對歷史糾錯信息庫中的候選結(jié)果的置信度進行調(diào)整。舉例來說,在北京天氣惡劣時“霧霾”的檢索次數(shù)會較高,從而其對應(yīng)的置信度會增加;或者,在有與新的“外賣”應(yīng)用出現(xiàn)時,或者與“外賣”相關(guān)的新聞發(fā)生時,“外賣”的檢索次數(shù)會較高,從而其對應(yīng)的置信度會增加。
步驟209,判斷所述各準(zhǔn)確率得分中是否有大于第二預(yù)設(shè)值的得分,若是,則執(zhí)行步驟210,否則,執(zhí)行步驟211。
步驟210,確定準(zhǔn)確率得分最高的第二候選結(jié)果為糾錯結(jié)果。
具體的,檢索糾錯裝置,可以預(yù)先設(shè)置一個閾值,用來衡量正確的糾錯結(jié)果是否被召回,當(dāng)?shù)诙蜻x結(jié)果的準(zhǔn)確率得分大于該閾值時,則認(rèn)為該第二候選結(jié)果為正確的糾錯結(jié)果,從而即可結(jié)束糾錯處理,響應(yīng)的,若第二候選結(jié)果的準(zhǔn)確率得分小于該閾值時,則可以進一步根據(jù)第一分詞的拼音及字形,對糾錯候選進行進一步召回。
步驟211,依次利用預(yù)設(shè)的候選列表中與所述第一分詞對應(yīng)的候選結(jié)果,構(gòu)建第三查詢語句。
其中,所述候選列表中包括與所述第一分詞形近或音近的所有候選詞。
步驟212,根據(jù)所述第三查詢語句的質(zhì)量特征,對各第三查詢語句進行排序。
步驟213,根據(jù)排序結(jié)果,確定糾錯結(jié)果。
具體的,由于預(yù)設(shè)的候選列表中可能包括多個與第一分詞音近或者形近的候選結(jié)果,因此,為了進一步減少檢索糾錯裝置的處理負(fù)擔(dān),檢索糾錯裝置可以根據(jù)利用各候選結(jié)果構(gòu)成的第三查詢語句的質(zhì)量特征,從候選結(jié)果中選取糾錯結(jié)果。
其中,第三查詢語句的質(zhì)量特征可以根據(jù)候選結(jié)果的質(zhì)量特征、第一分詞的質(zhì)量特征、第一分詞與候選結(jié)果的組合特征,及當(dāng)前用戶的歷史行為特征確定。
舉例來說,若候選結(jié)果本身被檢索的頻次較多,則可以確定該候選結(jié)果的質(zhì)量較高;或者候選結(jié)果的歷史點擊次數(shù)較多,也可以確定該候選結(jié)果的質(zhì)量較高;或者候選結(jié)果為專名或站點名,也可以確定該候選結(jié)果的質(zhì)量較高等等。
具體的,檢索糾錯裝置,可以采用學(xué)習(xí)排序(Learning torank,簡稱LTR)中的組合(pairwise)訓(xùn)練方式得到的排序模型,對各第三查詢語句進行排序,對第三查詢語句排序后,即可根據(jù)從排序結(jié)果中,選取排名靠前的候選結(jié)果作為糾錯結(jié)果。從而有效的提升了糾錯候選結(jié)果排序的效率,提高了檢索糾錯裝置的糾錯效率。
步驟214,利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
步驟215,根據(jù)所述第二查詢語句,獲取檢索結(jié)果。
需要說明的是,檢索糾錯裝置在確定糾錯結(jié)果后,還可以根據(jù)糾錯結(jié)果的質(zhì)量特征,對糾錯結(jié)果進行進一步的分析,進而根據(jù)分析結(jié)果,確定利用糾錯結(jié)果對第一查詢語句的糾錯方式。比如,若糾錯結(jié)果的質(zhì)量特征較高,那么則可以直接利用糾錯結(jié)果替換第一分詞,生成第二查詢語句,或者,若糾錯結(jié)果的質(zhì)量特征較低,那么對第一查詢語句進行糾錯時,可能就需要根據(jù)糾錯結(jié)果,對第一查詢語句進行補全、刪除、調(diào)序等處理,從而使得到的第二查詢語句更準(zhǔn)確。
進一步地,由于檢索引擎中會保存一段時間內(nèi)的檢索信息,即查詢語句、糾錯結(jié)果及檢索結(jié)果等,若檢索糾錯裝置按照上述方式,確定第一查詢語句滿足糾錯條件,那么即可對搜索引擎中保存的與該查詢語句對應(yīng)的檢索信息進行退場處理,即該方法在上述步驟203b前,還包括:
對與所述第一查詢語句對應(yīng)的糾錯結(jié)果進行退場處理。
本申請實施例的基于人工智能的檢索糾錯方法,在收到用戶輸入的第一查詢語句后,首先根據(jù)第一查詢語句的歷史行為特征和語言模型值,判斷第一查詢語句是否滿足糾錯條件,在確定第一查詢語句滿足糾錯條件后,再確定第一查詢語句中包括的第二分詞組,然后根據(jù)第二分詞組中各第二分詞的歷史糾錯信息及語言模型值,確定第二分詞組中待糾錯的第一分詞,再結(jié)合歷史糾錯信息庫、預(yù)設(shè)的候選列表等,對第一分詞進行候選召回,之后再利用質(zhì)量特征模型,對召回的候選進行評估,確定最終的糾錯結(jié)果,并根據(jù)糾錯結(jié)果對第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并根據(jù)歷史檢索數(shù)據(jù)進行候選結(jié)果召回,并且根據(jù)用戶的歷史行為,對候選結(jié)果進行糾錯,在提升糾錯準(zhǔn)確率的同時,很好的滿足了用戶個性化的需求,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
為了實現(xiàn)上述實施例,本申請還提出一種基于人工智能的檢索糾錯裝置。
圖3是本申請一個實施例的基于人工智能的檢索糾錯裝置的結(jié)構(gòu)示意圖。
如圖3所示,該基于人工智能的檢索糾錯裝置包括:
判斷模塊31,用于接收用戶輸入的第一查詢語句,根據(jù)預(yù)設(shè)的糾錯策略判斷所述第一查詢語句是否滿足糾錯條件;
第一確定模塊32,用于若所述第一查詢語句滿足糾錯條件,則確定所述第一查詢語句中待糾錯的第一分詞;
獲取模塊33,用于根據(jù)預(yù)設(shè)的候選召回策略,獲取與所述第一分詞對應(yīng)的各第一候選結(jié)果;
第二確定模塊34,用于根據(jù)所述各第一候選結(jié)果的質(zhì)量特征值,確定與所述第一分詞對應(yīng)的糾錯結(jié)果;
生成模塊35,用于利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
其中,上述判斷模塊31,具體用于:
根據(jù)所述第一查詢語句的歷史行為特征,判斷所述第一查詢語句是否滿足糾錯條件;和/或,
根據(jù)所述第一查詢語句的語言模型值,判斷所述第一查詢語句是否滿足糾錯條件。
在本實施例的一種可能的實現(xiàn)形式中,上述第一確定模塊32,具體用于:
對所述第一查詢語句進行分詞處理,確定所述第一查詢語句包括的第二分詞組;
根據(jù)所述第二分詞組中各第二分詞的歷史糾錯信息及語言模型值,確定所述第二分詞組中待糾錯的第一分詞。
進一步地,在本實施例一種可能的實現(xiàn)形式中,上述第一確定模塊32,具體用于:
按照從大粒度到小粒度的順序,依次判斷所述第二分詞組中各第二分詞的歷史糾錯信息及語言模型值是否滿足糾錯條件;
若大粒度的第二分詞的歷史糾錯信息及語言模型值滿足糾錯條件,則確定所述大粒度的第二分詞為待糾錯的第一分詞;
將包含于所述大粒度的第二分詞中的小粒度第二分詞從所述第二分詞組中剔除。
在本實施例一種可能的實現(xiàn)形式中,所述獲取模塊33,具體用于:
查詢歷史糾錯信息庫,獲取與所述第一分詞對應(yīng)的、且置信度大于第一預(yù)設(shè)值的各第二候選結(jié)果;
根據(jù)所述各第二候選結(jié)果與所述第一查詢語句的匹配程度,確定所述各第二候選結(jié)果的各準(zhǔn)確率得分;
判斷所述各準(zhǔn)確率得分中是否有大于第二預(yù)設(shè)值的得分;
若有,則確定準(zhǔn)確率得分最高的第二候選結(jié)果為糾錯結(jié)果。
進一步地,上述獲取模塊33,還用于:
若所述各準(zhǔn)確率得分均小于第二預(yù)設(shè)值,則依次利用預(yù)設(shè)的候選列表中與所述第一分詞對應(yīng)的候選結(jié)果,構(gòu)建第三查詢語句,其中,所述候選列表中包括與所述第一分詞形近或音近的所有候選詞;
根據(jù)所述第三查詢語句的質(zhì)量特征,對各第三查詢語句進行排序;
根據(jù)排序結(jié)果,確定糾錯結(jié)果。
需要說明的是,前述對基于人工智能的檢索糾錯方法實施例的解釋說明也適用于該實施例的檢索糾錯裝置,此處不再贅述。
本申請實施例的基于人工智能的檢索糾錯裝置,在接收到用戶輸入的第一查詢語句后,若根據(jù)預(yù)設(shè)的糾錯策略,確定第一查詢語句滿足糾錯條件,則首先確定第一查詢語句中待糾錯的第一分詞,然后根據(jù)預(yù)設(shè)的召回策略,獲取與第一分詞對應(yīng)的各第一候選結(jié)果,再根據(jù)各第一候選結(jié)果的質(zhì)量特征值,確定與第一分詞對應(yīng)的糾錯結(jié)果,然后利用糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并對糾錯候選結(jié)果進行準(zhǔn)確篩選,確定糾錯結(jié)果,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
圖4是本申請另一個實施例的基于人工智能的檢索糾錯裝置的結(jié)構(gòu)圖。
如圖4所示,在上述圖3所示的基礎(chǔ)上,該基于人工智能的檢索糾錯裝置,還包括:
退場模塊41,用于若所述第一查詢語句不滿足糾錯條件,則對與所述第一查詢語句對應(yīng)的糾錯結(jié)果進行退場處理。
需要說明的是,前述對基于人工智能的檢索糾錯方法實施例的解釋說明也適用于該實施例的檢索糾錯裝置,此處不再贅述。
本申請實施例的基于人工智能的檢索糾錯裝置,在收到用戶輸入的第一查詢語句后,首先根據(jù)第一查詢語句的歷史行為特征和語言模型值,判斷第一查詢語句是否滿足糾錯條件,在確定第一查詢語句滿足糾錯條件后,再確定第一查詢語句中包括的第二分詞組,然后根據(jù)第二分詞組中各第二分詞的歷史糾錯信息及語言模型值,確定第二分詞組中待糾錯的第一分詞,再結(jié)合歷史糾錯信息庫、預(yù)設(shè)的候選列表等,對第一分詞進行候選召回,之后再利用質(zhì)量特征模型,對召回的候選進行評估,確定最終的糾錯結(jié)果,并根據(jù)糾錯結(jié)果對第一查詢語句進行糾錯,生成第二查詢語句。由此,實現(xiàn)了利用歷史數(shù)據(jù),準(zhǔn)確判斷查詢是否需要糾錯,并根據(jù)歷史檢索數(shù)據(jù)進行候選結(jié)果召回,并且根據(jù)用戶的歷史行為,對候選結(jié)果進行糾錯,在提升糾錯準(zhǔn)確率的同時,很好的滿足了用戶個性化的需求,提高了搜索引擎的糾錯效率和準(zhǔn)確率節(jié)省用戶的查詢時間,改善了用戶體驗。
基于上述實施例提供的基于人工智能的檢索糾錯方法和裝置,本申請再一個實施例提供一種基于人工智能的檢索糾錯設(shè)備,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為執(zhí)行以下操作:
接收用戶輸入的第一查詢語句,根據(jù)預(yù)設(shè)的糾錯策略判斷所述第一查詢語句是否滿足糾錯條件;
若所述第一查詢語句滿足糾錯條件,則確定所述第一查詢語句中待糾錯的第一分詞;
根據(jù)預(yù)設(shè)的候選召回策略,獲取與所述第一分詞對應(yīng)的各第一候選結(jié)果;
根據(jù)所述各第一候選結(jié)果的質(zhì)量特征值,確定與所述第一分詞對應(yīng)的糾錯結(jié)果;
利用所述糾錯結(jié)果,對所述第一查詢語句進行糾錯,生成第二查詢語句。
進一步地,本申請實施例還提供一種非臨時性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由移動終端的處理器被執(zhí)行時,使得移動終端能夠如上實施例中的基于人工智能的檢索糾錯方法。
進一步地,本申請實施例還提供一種計算機程序產(chǎn)品,當(dāng)所述計算機程序產(chǎn)品中的指令處理器執(zhí)行時,執(zhí)行一種如上述實施例所示的基于人工智能的檢索糾錯方法。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本申請的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)定制邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當(dāng)理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本申請各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。