本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種問答交互的響應(yīng)方法、裝置及問答系統(tǒng)。
背景技術(shù):
隨著智能問答技術(shù)的發(fā)展,越來越多的平臺(例如,QQ、Skype、電商客服系統(tǒng)、MSN平臺、微信平臺、短消息服務(wù)平臺等)內(nèi)都在采用智能問答系統(tǒng)。智能問答系統(tǒng)可以基于用戶的問題輸出相對應(yīng)的答案。
現(xiàn)有技術(shù)中,對于不同的應(yīng)用平臺,其內(nèi)部搭載的智能問答系統(tǒng)所提供的輸出內(nèi)容往往不同,那么用戶在搜索時的輸入內(nèi)容也存在很大差異。開發(fā)人員在設(shè)計智能問答系統(tǒng)時,需要針對每一個應(yīng)用平臺開發(fā)出相適應(yīng)的搜索功能。例如,對于汽車查詢平臺,需要開發(fā)針對汽車查詢的搜索功能;對于疾病診療平臺,需要開發(fā)出針對疾病診療的搜索功能。
但是,現(xiàn)有技術(shù)中對于不同應(yīng)用平臺的智能問答系統(tǒng)的設(shè)計方式增大了開發(fā)人員的工作量,開發(fā)效率低。
技術(shù)實現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是如何實現(xiàn)對問答交互的響應(yīng)方式的優(yōu)化,進而提高針對自然語言搜索的開發(fā)效率。
為解決上述技術(shù)問題,本發(fā)明實施例提供一種問答交互的響應(yīng)方法,問答交互的響應(yīng)方法包括:
根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。
可選的,所述響應(yīng)方法還包括:輸出所述搜索結(jié)果。
可選的,所述搜索指令包括匹配模式;所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索包括:以所述匹配模式指定的方式,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索。
可選的,所述數(shù)據(jù)源為二維表格;所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索包括:將所述搜索關(guān)鍵字與所述二維表格中所有搜索列或搜索行中的詞語進行匹配。
可選的,所述匹配模式包括以下一種或多種:以所述搜索關(guān)鍵字開始、以所述搜索關(guān)鍵字結(jié)束和包含所述搜索關(guān)鍵字。
可選的,所述搜索指令包括第一內(nèi)容模板;所述輸出所述搜索結(jié)果包括:在搜索成功時,將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出。
可選的,所述搜索指令包括第二內(nèi)容模板;所述輸出所述搜索結(jié)果包括:在搜索失敗時,輸出所述第二內(nèi)容模板,以提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù)。
可選的,所述搜索指令包括最大返回結(jié)果數(shù)量;所述輸出所述搜索結(jié)果還包括:若所述搜索到的數(shù)據(jù)的數(shù)量小于或等于所述最大返回結(jié)果數(shù)量,則輸出全部所述搜索到的數(shù)據(jù);若所述搜索到的數(shù)據(jù)的數(shù)量大于所述最大返回結(jié)果數(shù)量,則輸出所述最大返回結(jié)果數(shù)量的所述搜索到的數(shù)據(jù)。
可選的,所述搜索指令包括設(shè)定搜索次數(shù);所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索包括:在搜索失敗時,發(fā)送提示信息,并基于用戶輸入重新進行搜索,直至搜索次數(shù)達到所述設(shè)定搜索次數(shù)。
可選的,所述搜索指令包括搜索方式,所述搜索方式包括模糊搜索或精確搜索;所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索包括:所述搜索方式為所述精確搜索時,在搜索到的內(nèi)容僅包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果;所述搜索方式為所述模糊搜索時,在搜索到的內(nèi)容包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果。
為解決上述技術(shù)問題,本發(fā)明實施例還提供一種問答交互的響應(yīng)裝置,問答交互的響應(yīng)裝置包括:
答案獲取模塊,用以根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;搜索模塊,用以在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。
可選的,所述響應(yīng)裝置還包括:輸出模塊,用以輸出所述搜索結(jié)果。
可選的,所述搜索指令包括匹配模式;所述搜索模塊包括:遍歷搜索單元,用于以所述匹配模式指定的方式,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索。
可選的,所述數(shù)據(jù)源為二維表格;所述遍歷搜索單元將所述搜索關(guān)鍵字與所述二維表格中所有搜索列或搜索行中的詞語進行匹配。
可選的,所述匹配模式包括以下一種或多種:以所述搜索關(guān)鍵字開始、以所述搜索關(guān)鍵字結(jié)束和包含所述搜索關(guān)鍵字。
可選的,所述搜索指令包括第一內(nèi)容模板;所述輸出模塊包括:第一內(nèi)容單元,用以在搜索成功時,將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出。
可選的,所述搜索指令包括第二內(nèi)容模板;所述輸出模塊包括:第二內(nèi)容單元,用以在搜索失敗時,輸出所述第二內(nèi)容模板,以提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù)。
可選的,所述搜索指令包括最大返回結(jié)果數(shù)量;所述輸出模塊包括:全部輸出單元,用以在所述搜索到的數(shù)據(jù)的數(shù)量小于或等于所述最大返回結(jié)果數(shù)量,則輸出全部所述搜索到的數(shù)據(jù);最大數(shù)量輸出單元,用以在所述搜索到的數(shù)據(jù)的數(shù)量大于所述最大返回結(jié)果數(shù)量,則輸出所述最大返回結(jié)果數(shù)量的所述搜索到的數(shù)據(jù)。
可選的,所述搜索指令包括設(shè)定搜索次數(shù);所述搜索模塊包括:提示單元,用以在在搜索失敗時,發(fā)送提示信息,并基于用戶輸入重新進行搜索,直至搜索次數(shù)達到所述設(shè)定搜索次數(shù)。
可選的,所述搜索指令包括搜索方式,所述搜索方式包括模糊搜索或精確搜索;所述搜索模塊包括:精確搜索單元,用以在所述搜索方式為所述精確搜索,則在搜索到的內(nèi)容僅包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果;模糊搜索單元,用以在所述搜索方式為所述模糊搜索時,則在搜索到的內(nèi)容包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果。
為解決上述技術(shù)問題,本發(fā)明實施例還公開了一種問答系統(tǒng),所述問答系統(tǒng)包括所述問答交互的響應(yīng)裝置。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例的技術(shù)方案具有以下有益效果:
本發(fā)明技術(shù)方案根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。本發(fā)明技術(shù)方案根據(jù)用戶請求在知識庫中匹配得到搜索指令,基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,實現(xiàn)了對于具有不同數(shù)據(jù)內(nèi)容的不同數(shù)據(jù)源的搜索,并得到用于響應(yīng)所述用戶請求的搜索結(jié)果。本發(fā)明實施例的方案避免了現(xiàn)有技術(shù)中針對單一應(yīng)用平臺的響應(yīng)方式,實現(xiàn)了對問答交互的響應(yīng)方式的優(yōu)化,進而提高開發(fā)人員針對自然語言搜索的開發(fā)效率;同時,在要搜索的數(shù)據(jù)源發(fā)生更改時,可以對搜索指令中的搜索地址進行適應(yīng)性的更改,提高了問答交互的響應(yīng)方式的靈活性,進一步減小開發(fā)人員的工作量,提高開發(fā)效率。
進一步,所述搜索指令包括第一內(nèi)容模板;所述輸出所述搜索結(jié)果包括:在搜索成功時,將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出;所述搜索指令包括第二內(nèi)容模板;所述輸出所述搜索結(jié)果包括:在搜索失敗時,輸出所述第二內(nèi)容模板,以提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù)。本發(fā)明技術(shù)方案通過在搜索指令中配置第一內(nèi)容模板和第二內(nèi)容模板,可以在搜索成功或搜索失敗時,分別利用第一內(nèi)容模板或第二內(nèi)容模板將搜索結(jié)果告知用戶,進一步實現(xiàn)了對問答交互的響應(yīng)的靈活性。
附圖說明
圖1是本發(fā)明實施例一種問答交互的響應(yīng)方法的流程圖;
圖2是本發(fā)明實施例另一種問答交互的響應(yīng)方法的流程圖;
圖3是本發(fā)明實施例一種問答交互的響應(yīng)裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例另一種問答交互的響應(yīng)裝置的結(jié)構(gòu)示意圖。
具體實施方式
如背景技術(shù)中所述,現(xiàn)有技術(shù)中對于不同應(yīng)用平臺的智能問答系統(tǒng)的設(shè)計方式增大了開發(fā)人員的工作量,開發(fā)效率低。
本發(fā)明實施例根據(jù)用戶請求在知識庫中匹配得到搜索指令,基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,實現(xiàn)了對于具有不同數(shù)據(jù)內(nèi)容的不同數(shù)據(jù)源的搜索,并得到用于響應(yīng)所述用戶請求的搜索結(jié)果。本發(fā)明實施例避免了現(xiàn)有技術(shù)中針對單一應(yīng)用平臺的響應(yīng)方式,實現(xiàn)了對問答交互的響應(yīng)方式的優(yōu)化,進而提高開發(fā)人員針對自然語言搜索的開發(fā)效率;同時,在要搜索的數(shù)據(jù)源發(fā)生更改時,可以對搜索指令中的搜索地址進行適應(yīng)性的更改,提高了問答交互的響應(yīng)方式的靈活性,進一步減小開發(fā)人員的工作量,提高開發(fā)效率。
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施例做詳細的說明。
圖1是本發(fā)明實施例一種問答交互的響應(yīng)方法的流程圖。
圖1所示的問答交互的響應(yīng)方法可以包括以下步驟:
步驟S101:根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;
步驟S102:在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。
具體實施中,所述知識庫可以包括多個問題。所述知識庫還可以包括針對所述多個問題的答案。具體而言,所述知識庫可以存儲多個知識點,每個知識點包括一個或多個預(yù)設(shè)的問題以及對應(yīng)的答案信息。所述用戶請求可以是用戶輸入的語音數(shù)據(jù)。更具體地,用戶請求可以是用戶問句。
知識點最原始和最簡單的形式可以是平時常用的常問問題(Frequently Asked Questions,FAQ),一般的形式是“問-答”對。例如,“彩鈴的資費”是表達清晰的標準問描述?!皢?答”對中的“問”不應(yīng)被狹義地理解為“詢問”,而應(yīng)廣義地來理解為“輸入”,該“輸入”具有對應(yīng)的“輸出”。例如,對于用于控制系統(tǒng)的語義識別而言,用戶的一個指令,例如“打開收音機”也應(yīng)可以被理解為是一個“問”,此時對應(yīng)的“答”可以是用于執(zhí)行相應(yīng)控制的控制程序的調(diào)用。
具體實施中,在步驟S101中,可以將用戶請求與知識庫中的問題進行匹配,在匹配到知識庫中的問題時,獲取所述問題對應(yīng)的答案。具體而言,可以通過計算用戶請求與知識庫中的問題的最高語義相似度,判斷用戶請求與知識庫中的問題是否匹配;在最高語義相似度達到設(shè)定閾值時,則確定用戶請求與知識庫中的問題相匹配。具體地,可以分別計算用戶請求與知識庫中多個問題的多個語義相似度,并選取最大的語義相似度作為最高語義相似度。本領(lǐng)域技術(shù)人員應(yīng)當理解的是,可以采用任意可實施的方式計算語義相似度,例如,詞頻逆向文件頻率、詞向量距離等,本發(fā)明實施例對此不做限制。
具體實施中,知識庫中的問題對應(yīng)的答案可以是文本格式,也可以是指令格式。當知識庫中的問題對應(yīng)的答案為指令格式時,該答案可以控制執(zhí)行相應(yīng)的操作??梢岳斫獾氖牵绻脩粽埱蟠_定的答案為文本格式的答案,則可以將該答案直接輸出;如果用戶請求確定的答案為搜索指令,則該指令可以控制執(zhí)行搜索操作。
具體實施中,如果用戶請求確定的答案為搜索指令,那么在步驟S102中,可以基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索。搜索指令可以包括至少一個搜索關(guān)鍵字和搜索地址,其中,搜索關(guān)鍵字可以與用戶請求的語義相對應(yīng)。例如,搜索指令可以是“search(k:$[納股名稱1]$[納股名稱2],納股名稱,ds:(附件1))”,其中,搜索關(guān)鍵字為詞類“$[納股名稱1]”和詞類“$[納股名稱2]”,搜索地址為“(附件1)”。詞類可以是按照詞的語義進行劃分的,把一組相關(guān)的詞組織在一起形成一個樹狀結(jié)構(gòu)的詞類庫,在這個樹狀結(jié)構(gòu)中的任意一個非葉子結(jié)點都稱作一個詞類(廣義詞類),其中直接包含詞的第一級詞類稱為狹義詞類。定義詞類的目的主要是為了使用其攜帶的語義信息進行語義相似度計算。具體而言,由于知識庫中的多個知識點可以是預(yù)先配置的,那么對于每一知識點中的答案所包括的至少一個搜索關(guān)鍵字和搜索地址,也可以預(yù)先進行配置。那么在具備多個不同的數(shù)據(jù)源的應(yīng)用場景中,可以在答案中分別配置不同的搜索關(guān)鍵字以及搜索地址,以滿足用戶對多種數(shù)據(jù)內(nèi)容的問答交互需求。
可以理解的是,在得到用于響應(yīng)所述用戶請求的搜索結(jié)果時,所述搜索結(jié)果可以是搜索成功時的結(jié)果,那么此時搜索結(jié)果中可以包括響應(yīng)于用戶請求的數(shù)據(jù)源的內(nèi)容;所述搜索結(jié)果也可以是搜索失敗時的結(jié)果,那么此時搜索結(jié)果中可以包括響應(yīng)于用戶請求的提示語等,本發(fā)明實施例對此不做限制。
本發(fā)明實施例根據(jù)用戶請求在知識庫中匹配得到搜索指令,基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,實現(xiàn)了對于具有不同數(shù)據(jù)內(nèi)容的不同數(shù)據(jù)源的搜索,并得到用于響應(yīng)所述用戶請求的搜索結(jié)果;避免了現(xiàn)有技術(shù)中針對單一應(yīng)用平臺的響應(yīng)方式,實現(xiàn)了對問答交互的響應(yīng)方式的優(yōu)化,進而提高開發(fā)人員針對自然語言搜索的開發(fā)效率;同時,在要搜索的數(shù)據(jù)源發(fā)生更改時,可以對搜索指令中的搜索地址進行適應(yīng)性的更改,提高了問答交互的響應(yīng)方式的靈活性,進一步減小開發(fā)人員的工作量,提高開發(fā)效率。
優(yōu)選地,圖1所示的問答交互的響應(yīng)方法還可以包括以下步驟:輸出所述搜索結(jié)果。也就是說,在步驟S102中的搜索操作失敗或者成功時,本實施例均會將響應(yīng)所述用戶請求的搜索結(jié)果進行輸出,以避免用戶在無輸出時的不必要等待,提高用戶體驗。其中,搜索操作成功時,輸出的搜索結(jié)果為搜索得到的內(nèi)容;搜索操作失敗時,輸出的搜索結(jié)果可以是失敗提示等。
圖2是本發(fā)明實施例另一種問答交互的響應(yīng)方法的流程圖。
圖2所示的問答交互的響應(yīng)方法可以包括以下步驟:
步驟S201:根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案;
步驟S202:在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,以所述匹配模式指定的方式,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索;
步驟S203:將所述搜索關(guān)鍵字與所述二維表格中所有搜索列或搜索行中的詞語進行匹配;
步驟S204:判斷是否搜索成功,如果是,則進入步驟S206,否則進入步驟S205;
步驟S205:輸出所述第二內(nèi)容模板,以提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù);
步驟S206:將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出;
步驟S207:判斷所述搜索到的數(shù)據(jù)的數(shù)量是否小于或等于最大返回結(jié)果數(shù)量,如果是,則進入步驟S208,否則進入步驟S209;
步驟S208:輸出全部所述搜索到的數(shù)據(jù);
步驟S209:輸出所述最大返回結(jié)果數(shù)量的所述搜索到的數(shù)據(jù)。
本發(fā)明實施例以數(shù)據(jù)源為二維表格,例如以EXCEL為例進行說明,不構(gòu)成對本發(fā)明實施例的限制。本領(lǐng)域人員應(yīng)當理解的是,數(shù)據(jù)源還可以是其他任意可實施的形式,例如樹狀結(jié)構(gòu)的數(shù)據(jù)源。
本發(fā)明實施例的步驟S201的具體實施方式可參照圖1所示的步驟S101,此處不再贅述。
具體實施中,在用戶請求確定的所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,所述搜索指令還可以包括匹配模式。那么在步驟S202中,可以以所述匹配模式指定的方式,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索。具體而言,匹配模式可以包括以下一種或多種:以所述搜索關(guān)鍵字開始、以所述搜索關(guān)鍵字結(jié)束和包含所述搜索關(guān)鍵字。如果匹配模式為以所述搜索關(guān)鍵字開始,那么在步驟S202中,在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索時,如果數(shù)據(jù)源內(nèi)的內(nèi)容的開頭為所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配,該內(nèi)容為要搜索的內(nèi)容,此次搜索成功。例如,搜索關(guān)鍵字為“寶馬”,如果數(shù)據(jù)源內(nèi)的內(nèi)容為“寶馬******”(其中,符號“*”指代任意字符),那么該內(nèi)容與搜索關(guān)鍵字“寶馬”匹配。相應(yīng)地,匹配模式為以所述搜索關(guān)鍵字結(jié)束時,表示如果數(shù)據(jù)源內(nèi)的內(nèi)容的結(jié)尾為所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配;匹配模式為包含所述搜索關(guān)鍵字時,表示只要數(shù)據(jù)源內(nèi)的內(nèi)容的包含所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配。
可以理解的是,在實際的應(yīng)用場景中,匹配模式可以由用戶進行選擇配置,以提高搜索靈活性。
具體而言,在步驟S203中,可以將所述搜索關(guān)鍵字與所述二維表格中所有搜索列或搜索行中的詞語進行匹配。例如,在針對汽車查詢的應(yīng)用場景中,搜索行為汽車品牌,搜索列為汽車價格、汽車型號,那么在搜索關(guān)鍵字為“寶馬”時,則對搜索行進行匹配,在匹配到“寶馬”時,匹配到的內(nèi)容有寶馬的價格以及寶馬的型號;換言之,此時的搜索結(jié)果可以是二維表格中一行多列的數(shù)據(jù)。
具體實施中,在對數(shù)據(jù)源進行遍歷搜索完成后,在步驟S204中,判斷是否搜索成功。具體而言,如果在數(shù)據(jù)源內(nèi)搜索到與搜索關(guān)鍵字相匹配的數(shù)據(jù),則判定搜索成功;如果在數(shù)據(jù)源內(nèi)未搜索到與搜索關(guān)鍵字相匹配的數(shù)據(jù),則判定搜索失敗。
具體實施中,在用戶請求確定的所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,所述搜索指令還可以包括第二內(nèi)容模板。在步驟S204中,如果搜索失敗,則利用第二內(nèi)容模板提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù)。例如,搜索失敗時,輸出“小i暫時還不知道$[納股名稱1]的股票代碼,待會幫你查查”。
相應(yīng)地,所述搜索指令還可以包括第一內(nèi)容模板。在步驟S205中,如果搜索成功,則將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出。也就是說,在搜索到與搜索關(guān)鍵詞相匹配的數(shù)據(jù)時,則利用第一內(nèi)容模板輸出該數(shù)據(jù)。例如,搜索成功時,輸出“$[納股名稱1]在納斯達克股票代碼是$(納股代碼)”,其中,$(納股代碼)是搜索到的數(shù)據(jù)。
可以理解的是,在實際的應(yīng)用場景中,第一內(nèi)容模板和第二內(nèi)容模板可以由用戶進行選擇配置,以提高問答交互的響應(yīng)的靈活性。
本發(fā)明實施例通過在搜索指令中配置第一內(nèi)容模板和第二內(nèi)容模板,可以在搜索成功或搜索失敗時,分別利用第一內(nèi)容模板或第二內(nèi)容模板將搜索結(jié)果告知用戶,進一步實現(xiàn)了對問答交互的響應(yīng)的靈活性。
具體實施中,所述搜索指令還可以包括最大返回結(jié)果數(shù)量。在步驟S207中,在搜索成功時,可以判斷所述搜索到的數(shù)據(jù)的數(shù)量是否小于或等于最大返回結(jié)果數(shù)量,如果是,則在步驟S208中輸出全部所述搜索到的數(shù)據(jù)。否則,在步驟S209中輸出所述最大返回結(jié)果數(shù)量的所述搜索到的數(shù)據(jù)。也就是說,通過在搜索指令中配置最大返回結(jié)果數(shù)量對呈現(xiàn)給用戶的搜索到的數(shù)據(jù)進行數(shù)量上的限制,優(yōu)化輸出,提高用戶體驗。
優(yōu)選地,所述搜索指令還可以包括設(shè)定搜索次數(shù)。在搜索失敗,輸出第二內(nèi)容模板之前,還可以發(fā)送提示信息,并基于用戶輸入重新進行搜索,直至搜索次數(shù)達到所述設(shè)定搜索次數(shù)。換言之,在搜索次數(shù)未達到所述設(shè)定搜索次數(shù)之前,如果搜索失敗,則先發(fā)送提示信息,提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù),以便用戶選擇繼續(xù)搜索。例如,在首次搜索失敗時,發(fā)送提示信息“小i未找到$[納股名稱1]的股票代碼,需要繼續(xù)查找嗎”,用戶語音輸入“請繼續(xù)查找”,那么可以重新進行搜索。
本實施例通過配置設(shè)定搜索次數(shù),可以避免少量次數(shù)的搜索出錯導(dǎo)致的搜索失敗,進而實現(xiàn)對問答交互的響應(yīng)的進一步優(yōu)化。
優(yōu)選地,所述搜索指令還可以包括搜索方式,所述搜索方式包括模糊搜索或精確搜索;所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索包括:所述搜索方式為所述精確搜索時,在搜索到的內(nèi)容僅包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果;所述搜索方式為所述模糊搜索時,在搜索到的內(nèi)容包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果。例如,搜索關(guān)鍵字為“法拉利”,那么在搜索方式為精確搜索時,只有在搜索到的內(nèi)容為“法拉利”時,該內(nèi)容可以作為搜索結(jié)果;在搜索方式為模糊搜索時,在搜索到的內(nèi)容為“法拉利”、“法拉利***”、“***法拉利”或者“***法拉利***”時,上述內(nèi)容均可以作為搜索結(jié)果。也就是說,采用精確搜索的方式可以提高搜索的準確率,而采用模糊搜索的方式可以提高搜索的全面性。
可以理解的是,在實際的應(yīng)用場景中,搜索方式可以由用戶進行選擇配置,以提高問答交互的響應(yīng)的靈活性。
本發(fā)明實施例通過在搜索指令中配置多種搜索參數(shù),例如匹配模式、搜索方式、最大返回結(jié)果數(shù)量、設(shè)定搜索次數(shù)、第一內(nèi)容模板、第二內(nèi)容模板等,實現(xiàn)了問答交互的響應(yīng)的可擴展性。
圖3是本發(fā)明實施例一種問答交互的響應(yīng)裝置的結(jié)構(gòu)示意圖。
圖3所示的問答交互的響應(yīng)裝置30可以包括答案獲取模塊301和搜索模塊302。
其中,答案獲取模塊301用以根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;
搜索模塊302用以在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。
具體實施中,所述知識庫可以包括多個問題。所述知識庫還可以包括針對所述多個問題的答案。具體而言,所述知識庫可以存儲多個知識點,每個知識點包括一個或多個預(yù)設(shè)的問題以及對應(yīng)的答案信息。所述用戶請求可以是用戶輸入的語音數(shù)據(jù)。更具體地,用戶請求可以是用戶問句。
具體實施中,答案獲取模塊301可以將用戶請求與知識庫中的問題進行匹配,在匹配到知識庫中的問題時,獲取所述問題對應(yīng)的答案。具體而言,可以通過計算用戶請求與知識庫中的問題的最高語義相似度,判斷用戶請求與知識庫中的問題是否匹配;在最高語義相似度達到設(shè)定閾值時,則確定用戶請求與知識庫中的問題相匹配。具體地,可以分別計算用戶請求與知識庫中多個問題的多個語義相似度,并選取最大的語義相似度作為最高語義相似度。本領(lǐng)域技術(shù)人員應(yīng)當理解的是,可以采用任意可實施的方式計算語義相似度,例如,詞頻逆向文件頻率、詞向量距離等,本發(fā)明實施例對此不做限制。
具體實施中,知識庫中的問題對應(yīng)的答案可以是文本格式,也可以是指令格式。當知識庫中的問題對應(yīng)的答案為指令格式時,該答案可以控制執(zhí)行相應(yīng)的操作。可以理解的是,如果用戶請求確定的答案為文本格式的答案,則可以將該答案直接輸出。
具體實施中,如果用戶請求確定的答案為搜索指令,那么搜索模塊302可以基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索。搜索指令可以包括至少一個搜索關(guān)鍵字和搜索地址,其中,搜索關(guān)鍵字可以與用戶請求的語義相對應(yīng)。例如,搜索指令可以是“search(k:$[納股名稱1]$[納股名稱2],納股名稱,ds:(附件1))”,其中,搜索關(guān)鍵字為詞類“$[納股名稱1]”和詞類“$[納股名稱2]”,搜索地址為“(附件1)”。具體而言,由于知識庫中的多個知識點可以是預(yù)先配置的,那么對于每一知識點中的答案所包括的至少一個搜索關(guān)鍵字和搜索地址,也可以預(yù)先進行配置。那么在具備多個不同的數(shù)據(jù)源的應(yīng)用場景中,可以在答案中分別配置不同的搜索關(guān)鍵字以及搜索地址,以滿足用戶對多種數(shù)據(jù)內(nèi)容的問答交互需求。
可以理解的是,在得到用于響應(yīng)所述用戶請求的搜索結(jié)果時,所述搜索結(jié)果可以是搜索成功時的結(jié)果,那么此時搜索結(jié)果中可以包括響應(yīng)于用戶請求的數(shù)據(jù)源的內(nèi)容;所述搜索結(jié)果也可以是搜索失敗時的結(jié)果,那么此時搜索結(jié)果中可以包括響應(yīng)于用戶請求的提示語等,本發(fā)明實施例對此不做限制。
本發(fā)明實施例根據(jù)用戶請求在知識庫中匹配得到搜索指令,基于搜索指令中的搜索關(guān)鍵字在搜索指令中的搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,實現(xiàn)了對于具有不同數(shù)據(jù)內(nèi)容的不同數(shù)據(jù)源的搜索,并得到用于響應(yīng)所述用戶請求的搜索結(jié)果;避免了現(xiàn)有技術(shù)中針對單一應(yīng)用平臺的響應(yīng)方式,實現(xiàn)了對問答交互的響應(yīng)方式的優(yōu)化,進而提高開發(fā)人員針對自然語言搜索的開發(fā)效率;同時,在要搜索的數(shù)據(jù)源發(fā)生更改時,可以對搜索指令中的搜索地址進行適應(yīng)性的更改,提高了問答交互的響應(yīng)方式的靈活性,進一步減小開發(fā)人員的工作量,提高開發(fā)效率。
圖4是本發(fā)明實施例另一種問答交互的響應(yīng)裝置的結(jié)構(gòu)示意圖。
圖4所示的問答交互的響應(yīng)裝置40可以包括答案獲取模塊401、搜索模塊402和輸出模塊403;搜索模塊402可以包括遍歷搜索單元4021、提示單元4022、精確搜索單元4023和模糊搜索單元4024。輸出模塊403可以包括第一內(nèi)容單元4031、第二內(nèi)容單元4032、全部輸出單元4033和最大數(shù)量輸出單元4034。
其中,答案獲取模塊401用以根據(jù)用戶請求匹配知識庫中的問題,并獲取所述問題對應(yīng)的答案,所述知識庫包括多個問題及其對應(yīng)的答案;搜索模塊402用以在所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索,以得到用于響應(yīng)所述用戶請求的搜索結(jié)果。
本發(fā)明實施例的答案獲取模塊401和搜索模塊402的具體實施方式可參照圖3所示的答案獲取模塊301和搜索模塊302,此處不再贅述。
優(yōu)選地,問答交互的響應(yīng)裝置40還可以包括輸出模塊403,輸出模塊403可以輸出所述搜索結(jié)果。也就是說,搜索模塊402的搜索操作失敗或者成功,輸出模塊403均會將響應(yīng)所述用戶請求的搜索結(jié)果進行輸出,以避免用戶在無輸出時的不必要等待,提高用戶體驗。
具體實施中,在用戶請求確定的所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,所述搜索指令還可以包括匹配模式。那么遍歷搜索單元4021可以以所述匹配模式指定的方式,根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索。具體而言,匹配模式包括以下一種或多種:以所述搜索關(guān)鍵字開始、以所述搜索關(guān)鍵字結(jié)束和包含所述搜索關(guān)鍵字。
具體而言,所述數(shù)據(jù)源可以為二維表格,例如EXCEL;所述遍歷搜索單元4021可以將所述搜索關(guān)鍵字與所述二維表格中所有搜索列或搜索行中的詞語進行匹配。如果匹配模式為以所述搜索關(guān)鍵字開始,在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行遍歷搜索時,如果數(shù)據(jù)源內(nèi)的內(nèi)容的開頭為所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配,該內(nèi)容為要搜索的內(nèi)容,此次搜索成功。例如,搜索關(guān)鍵字為“寶馬”,如果數(shù)據(jù)源內(nèi)的內(nèi)容為“寶馬******”,那么該內(nèi)容與搜索關(guān)鍵字“寶馬”匹配。相應(yīng)地,匹配模式為以所述搜索關(guān)鍵字結(jié)束時,表示如果數(shù)據(jù)源內(nèi)的內(nèi)容的結(jié)尾為所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配;匹配模式為包含所述搜索關(guān)鍵字時,表示只要數(shù)據(jù)源內(nèi)的內(nèi)容的包含所述搜索關(guān)鍵字,那么該內(nèi)容與搜索關(guān)鍵字匹配。
可以理解的是,在實際的應(yīng)用場景中,匹配模式可以由用戶進行選擇配置,以提高搜索靈活性。
本領(lǐng)域人員應(yīng)當理解的是,數(shù)據(jù)源還可以是其他任意可實施的形式,例如樹狀結(jié)構(gòu)的數(shù)據(jù)源。
具體實施中,在對數(shù)據(jù)源進行遍歷搜索完成后,可以判斷是否搜索成功。具體而言,如果在數(shù)據(jù)源內(nèi)搜索到與搜索關(guān)鍵字相匹配的數(shù)據(jù),則判定搜索成功;如果在數(shù)據(jù)源內(nèi)未搜索到與搜索關(guān)鍵字相匹配的數(shù)據(jù),則判定搜索失敗。
具體實施中,在用戶請求確定的所述答案為包括至少一個搜索關(guān)鍵字和搜索地址的搜索指令時,所述搜索指令還可以包括第二內(nèi)容模板。在步驟S204中,如果搜索失敗,第二內(nèi)容單元4032用以在搜索失敗時,輸出所述第二內(nèi)容模板,以提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù)。例如,搜索失敗時,輸出“小i暫時還不知道$[納股名稱1]的股票代碼,待會幫你查查”。
相應(yīng)地,所述搜索指令還可以包括第一內(nèi)容模板。第一內(nèi)容單元4031用以在搜索成功時,將搜索到的數(shù)據(jù)加入所述第一內(nèi)容模板并輸出。也就是說,在搜索到與搜索關(guān)鍵詞相匹配的數(shù)據(jù)時,則利用第一內(nèi)容模板輸出該數(shù)據(jù)。例如,搜索成功時,輸出“$[納股名稱1]在納斯達克股票代碼是$(納股代碼)”,其中,$(納股代碼)是搜索到的數(shù)據(jù)。
可以理解的是,在實際的應(yīng)用場景中,第一內(nèi)容模板和第二內(nèi)容模板可以由用戶進行選擇配置,以提高問答交互的響應(yīng)的靈活性。
本發(fā)明實施例通過在搜索指令中配置第一內(nèi)容模板和第二內(nèi)容模板,可以在搜索成功或搜索失敗時,分別利用第一內(nèi)容模板或第二內(nèi)容模板將搜索結(jié)果告知用戶,進一步實現(xiàn)了對問答交互的響應(yīng)的靈活性。
具體實施中,所述搜索指令還可以包括最大返回結(jié)果數(shù)量。在在搜索成功時,可以判斷所述搜索到的數(shù)據(jù)的數(shù)量是否小于或等于最大返回結(jié)果數(shù)量,如果是,則全部輸出單元4033輸出全部所述搜索到的數(shù)據(jù)。否則,最大數(shù)量輸出單元4034輸出所述最大返回結(jié)果數(shù)量的所述搜索到的數(shù)據(jù)。也就是說,通過在搜索指令中配置最大返回結(jié)果數(shù)量對呈現(xiàn)給用戶的搜索到的數(shù)據(jù)進行數(shù)量上的限制,優(yōu)化輸出,提高用戶體驗。
優(yōu)選地,所述搜索指令還可以包括設(shè)定搜索次數(shù)。在搜索失敗,輸出第二內(nèi)容模板之前,提示單元4022還可以發(fā)送提示信息,并基于用戶輸入重新進行搜索,直至搜索次數(shù)達到所述設(shè)定搜索次數(shù)。換言之,在搜索次數(shù)未達到所述設(shè)定搜索次數(shù)之前,如果搜索失敗,則先發(fā)送提示信息,提示用戶未搜索到與所述搜索關(guān)鍵字相匹配的數(shù)據(jù),以便用戶選擇繼續(xù)搜索。例如,在首次搜索失敗時,發(fā)送提示信息“小i未找到$[納股名稱1]的股票代碼,需要繼續(xù)查找嗎”,用戶語音輸入“請繼續(xù)查找”,那么可以重新進行搜索。
本實施例通過配置設(shè)定搜索次數(shù),可以避免少量次數(shù)的搜索出錯導(dǎo)致的搜索失敗,進而實現(xiàn)對問答交互的響應(yīng)的進一步優(yōu)化。
優(yōu)選地,所述搜索指令還可以包括搜索方式,所述搜索方式包括模糊搜索或精確搜索;所述根據(jù)所述搜索關(guān)鍵字在所述搜索地址指向的數(shù)據(jù)源內(nèi)進行搜索包括:所述搜索方式為所述精確搜索時,精確搜索單元4023可以在搜索到的內(nèi)容僅包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果;所述搜索方式為所述模糊搜索時,模糊搜索單元4024可以在搜索到的內(nèi)容包含所述搜索關(guān)鍵字時,將所述搜索到的內(nèi)容作為所述搜索結(jié)果。例如,搜索關(guān)鍵字為“法拉利”,那么在搜索方式為精確搜索時,只有在搜索到的內(nèi)容為“法拉利”時,該內(nèi)容可以作為搜索結(jié)果;在搜索方式為模糊搜索時,在搜索到的內(nèi)容為“法拉利”、“法拉利***”、“***法拉利”或者“***法拉利***”時,上述內(nèi)容均可以作為搜索結(jié)果。也就是說,采用精確搜索的方式可以提高搜索的準確率,而采用模糊搜索的方式可以提高搜索的全面性。
可以理解的是,在實際的應(yīng)用場景中,搜索方式可以由用戶進行選擇配置,以提高問答交互的響應(yīng)的靈活性。
本發(fā)明實施例還公開了一種問答系統(tǒng),所述問答系統(tǒng)可以包括圖3所示的問答交互的響應(yīng)裝置30或圖4所示的問答交互的響應(yīng)裝置40。所述問答系統(tǒng)還可以包括知識庫,所述知識庫包括多個問題及其對應(yīng)的答案。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于以計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與修改,因此本發(fā)明的保護范圍應(yīng)當以權(quán)利要求所限定的范圍為準。