本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種智能應(yīng)答方法及裝置。
背景技術(shù):
傳統(tǒng)的客戶服務(wù)中心以電話呼叫中心為主,但隨著互聯(lián)網(wǎng)的發(fā)展、用戶數(shù)量的增多以及用戶問題多樣等因素的影響,傳統(tǒng)客戶服務(wù)中心逐漸不能滿足客戶的需要。很多大型服務(wù)企業(yè)在不斷拓展更為經(jīng)濟(jì)高效的客服中心,減小人工成本,增強(qiáng)用戶體驗,如智能在線客服、智能手機(jī)應(yīng)用等。智能客服的核心是智能問答,問答系統(tǒng)能夠根據(jù)用戶輸入得到簡短、精確的答案。
隨著問答系統(tǒng)被大量廣泛的研究,智能問答系統(tǒng)的相關(guān)技術(shù)及其產(chǎn)品引起了國內(nèi)外許多科研機(jī)構(gòu)和公司的極大興趣,已經(jīng)有許多產(chǎn)品出現(xiàn),很好的適應(yīng)了市場的需求。
在智能客服系統(tǒng)中,如何對用戶輸入問題進(jìn)行處理,從預(yù)設(shè)的問題答案中正確選擇出用戶所需的答案是系統(tǒng)的核心。在智能問答中,用戶輸入的問題都不全是標(biāo)準(zhǔn)問題,和問答庫保存的標(biāo)準(zhǔn)問答對差距較大,只用搜索或相似度計算很難從中找出用戶想要的答案。并且,在相關(guān)技術(shù)中的智能問答系統(tǒng)中,所有的問題和答案都只保存在一個問答庫中,對語義的支持不靈活,更新維護(hù)也不方便。
針對相關(guān)技術(shù)中,智能問答系統(tǒng)對語義支持不靈活,維護(hù)不方便的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種智能應(yīng)答方法及裝置,以至少解決相關(guān)技術(shù)中智能問答系統(tǒng)對語義支持不靈活,維護(hù)不方便的問題。
根據(jù)本發(fā)明的一個方面,提供了一種智能應(yīng)答方法,包括:接收通過用戶終端輸入的問題信息;從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給用戶終端。
在本發(fā)明實施例中,按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案包括:從該問題信息的類型對應(yīng)的問答庫中,按照該問題信息和在與該問題信息的類型對應(yīng)的問答庫中存儲的問題的相似度,對該問題信息的類型對應(yīng)的問答庫中的問題進(jìn)行過濾;將過濾后的該問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
在本發(fā)明實施例中,按照該問題信息和在與該問題信息的類型對應(yīng)的問答庫中存儲的問題的相似度,對該問題信息的類型對應(yīng)的問答庫中的問題進(jìn)行過濾包括:從與該問題信息的類型對應(yīng)的問答庫中獲取與該問題信息匹配的目標(biāo)問題;獲取該問題信息和該目標(biāo)問題的相似度;過濾與該問題信息的類型對應(yīng)的問答庫中該相似度小于預(yù)設(shè)閾值的目標(biāo)問題,得到第一過濾結(jié)果;在該第一過濾結(jié)果中僅包含一個該目標(biāo)問題時,將該一個該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案;在該第一過濾結(jié)果中包括多個該目標(biāo)問題時,取該多個該目標(biāo)問題中優(yōu)先級最高的該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
在本發(fā)明實施例中,通過以下至少之一方式獲取該問題信息和該目標(biāo)問題的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示該問題信息和該目標(biāo)問題的相似度值;length2為該問題信息的信息長度和該目標(biāo)問題的信息長度較大者,length1為該問題信息的信息長度和該目標(biāo)問題的信息長度較小者;alpha1和beta1都為實數(shù);方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1為對該問題信息進(jìn)行分詞后所包含的詞的個數(shù);words2為對該目標(biāo)問題進(jìn)行分詞后所包含的詞的個數(shù);Samewords為對該問題信息進(jìn)行分詞后與對該目標(biāo)問題進(jìn)行分詞后所包含的相同的詞的個數(shù);num1為Samewords中包含的對該問題信息進(jìn)行分詞后的詞的個數(shù);num2為Samewords中包含的對該目標(biāo)問題進(jìn)行分詞后的詞的個數(shù);dp為words1/words2與words2/words1中的最小值,alpha和beta都為實數(shù)。
在本發(fā)明實施例中,該方式一應(yīng)用于以下至少之一場景:該問題信息與該目標(biāo)問題相同;該問題信息包含該目標(biāo)問題;該目標(biāo)問題包含該問題信息。
在本發(fā)明實施例中,通過以下規(guī)則獲取對該問題信息分詞后所包含的詞的個數(shù):對該問題信息進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該問題信息分詞后所包含的詞的個數(shù);通過以下規(guī)則獲取對該目標(biāo)問題分詞后所包含的詞的個數(shù):對該目標(biāo)問題進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該目標(biāo)問題分詞后所包含的詞的個數(shù)。
在本發(fā)明實施例中,從多個問答庫中,查找與所述問題信息的類型對應(yīng)的問答庫包括:判斷該問題信息是否是第一類問題信息;在該問題信息是該第一類問題信息的情況下,獲取與該第一類問題信息對應(yīng)的第一類問答庫;在該問題信息不是該第一類問題信息的情況下,判斷該問題信息是否是第二類問題信息;在該問題信息是第二類問題信息的情況下,獲取與該第二類問題信息對應(yīng)的第二類問答庫;從該第二類問答庫中,按照該預(yù)設(shè)規(guī)則重新確認(rèn)該問題信息;判斷該重新確認(rèn)的問題信息是否是第三類問題信息;在該重新確認(rèn)的問題信息是第三類問題信息的情況下,獲取與該重新確認(rèn)的問題信息對應(yīng)的第三類問答庫。
在本發(fā)明實施例中,該第一類問題信息包括:寒暄語;該第一類問答庫包括:寒暄語語料庫;其中,該寒暄語語料庫中存儲有寒暄語以及與該寒暄語對應(yīng)的答案;該第二類問題信息包括:特定問題信息;該第二類問答庫包括:等價句與標(biāo)準(zhǔn)句庫;其中,該等價句與標(biāo)準(zhǔn)句庫中存儲有該特定問題以及與該特定問題對應(yīng)的標(biāo)準(zhǔn)句或者等價句;該第三類問題信息包括:普通問題信息;該第三類問答庫包括:普通問題以及與該普通問題對應(yīng)的答案。
在本發(fā)明實施例中,從該第二類問答庫中,按照該預(yù)設(shè)規(guī)則重新確認(rèn)該問題信息包括:從該第二類問答庫中,查詢與該問題信息對應(yīng)的所有問題;按照該預(yù)設(shè)規(guī)則對該所有問題進(jìn)行過濾后,得到第二過濾結(jié)果;在該第二過濾結(jié)果唯一的情況下,將該過濾結(jié)果作為該重新確認(rèn)后的問題信息;在不存在該第二過濾結(jié)果的情況下,將通過該用戶終端輸入的問題信息作為該重新確認(rèn)后的問題信息。
在本發(fā)明實施例中,在將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端之前,該方法還包括:判斷與該問題信息對應(yīng)的答案是否是第四類問題信息;其中,該第四類問題信息包括:引導(dǎo)式問題;如果是,觸發(fā)顯示提示信息,其中,該提示信息用于提示通過用戶終端輸入與該第四類問題信息對應(yīng)的引導(dǎo)信息;如果不是,直接將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
根據(jù)本發(fā)明實施例的另一個實施例,提供了一種智能應(yīng)答裝置,包括:接收模塊,用于接收通過用戶終端輸入的問題信息;第一查找模塊,用于從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;第二查找模塊,用于按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;返回模塊,用于將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
在本發(fā)明實施例中,該第二查找模塊還用于從該問題信息的類型對應(yīng)的問答庫中,按照該問題信息和在與該問題信息的類型對應(yīng)的問答庫中存儲的問題的相似度,對該問題信息的類型對應(yīng)的問答庫中的問題進(jìn)行過濾;將過濾后的該問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
在本發(fā)明實施例中,該第二查找模塊包括:第一獲取單元,用于從與該問題信息的類型對應(yīng)的問答庫中獲取與該問題信息匹配的目標(biāo)問題;第二獲取單元,用于獲取該問題信息和該目標(biāo)問題的相似度;過濾單元,用于過濾與該問題信息的類型對應(yīng)的問答庫中該相似度小于預(yù)設(shè)閾值的目標(biāo)問題,得到第一過濾結(jié)果;查找單元,用于在該第一過濾結(jié)果中僅包含一個該目標(biāo)問題時,將該一個該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案;以及在該第一過濾結(jié)果中包括多個該目標(biāo)問題時,取該多個該目標(biāo)問題中優(yōu)先級最高的該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
在本發(fā)明實施例中,該第二獲取單元通過以下至少之一方式獲取該問題信息和該目標(biāo)問題的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示該問題 信息和該目標(biāo)問題的相似度值;length2為該問題信息的信息長度和該目標(biāo)問題的信息長度較大者,length1為該問題信息的信息長度和該目標(biāo)問題的信息長度較小者;alpha1和beta1都為實數(shù);方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1為對該問題信息進(jìn)行分詞后所包含的詞的個數(shù);words2為對該目標(biāo)問題進(jìn)行分詞后所包含的詞的個數(shù);Samewords為對該問題信息進(jìn)行分詞后與對該目標(biāo)問題進(jìn)行分詞后所包含的相同的詞的個數(shù);num1為Samewords中包含的對該問題信息進(jìn)行分詞后的詞的個數(shù);num2為Samewords中包含的對該目標(biāo)問題進(jìn)行分詞后的詞的個數(shù);dp為words1/words2與words2/words1中的最小值,alpha和beta都為實數(shù)。
在本發(fā)明實施例中,該第一查找模塊包括:第一判斷單元,用于判斷該問題信息是否是第一類問題信息;第三獲取單元,用于在該問題信息是該第一類問題信息的情況下,獲取與該第一類問題信息對應(yīng)的第一類問答庫;第二判斷單元,用于在該問題信息不是該第一類問題信息的情況下,判斷該問題信息是否是第二類問題信息;第四獲取單元,用于在該問題信息是第二類問題信息的情況下,獲取與該第二類問題信息對應(yīng)的第二類問答庫;確認(rèn)單元,用于從該第二類問答庫中,按照該預(yù)設(shè)規(guī)則重新確認(rèn)該問題信息;第三判斷單元,用于判斷該重新確認(rèn)的問題信息是否是第三類問題信息;第五獲取單元,用于在該重新確認(rèn)的問題信息是第三類問題信息的情況下,獲取與該重新確認(rèn)的問題信息對應(yīng)的第三類問答庫。
在本發(fā)明實施例中,該確認(rèn)單元包括:查詢子單元,用于從該第二類問答庫中,查詢與該問題信息對應(yīng)的所有問題;過濾子單元,用于按照該預(yù)設(shè)規(guī)則對該所有問題進(jìn)行過濾后,得到第二過濾結(jié)果;確認(rèn)子單元,用于在該第二過濾結(jié)果唯一的情況下,將該過濾結(jié)果作為該重新確認(rèn)后的問題信息;以及在不存在該第二過濾結(jié)果的情況下,將通過該用戶終端輸入的問題信息作為該重新確認(rèn)后的問題信息。
在本發(fā)明實施例中,該裝置還包括:判斷模塊,用于判斷與該問題信息對應(yīng)的答案是否是第四類問題信息;其中,該第四類問題信息包括:引導(dǎo)式問題;顯示模塊,用于在與該問題信息對應(yīng)的答案是第四類問題信息的情況下,觸發(fā)顯示提示信息,其中,該提示信息用于提示通過用戶終端輸入與該第四類問題信息對應(yīng)的引導(dǎo)信息;該返回模塊,還用于在與該問題信息對應(yīng)的答案不是第四類問題信息的情況下,直接將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
通過本發(fā)明,采用接收通過用戶終端輸入的問題信息;從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給用戶終端。即將問答庫分為多個問答庫,根據(jù)輸入的問題信息的類型,從多個問答庫中的與該問題信息的類型對應(yīng)的問答庫中查找該問題信息對應(yīng)的答案,解決了相關(guān)技術(shù)中智能問答系統(tǒng)對語義支持不靈活,維護(hù)不方便的問題,進(jìn)而提高了語義支持的靈活度,方便維護(hù)和 更新智能問答系統(tǒng)。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖一;
圖2是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖二;
圖3是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖三;
圖4是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖四;
圖5是根據(jù)本發(fā)明優(yōu)選實施例的智能問答方法的流程圖;
圖6是根據(jù)本發(fā)明優(yōu)選實施例的查詢問答處理流程示意圖;
圖7是根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖一;
圖8根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖二;
圖9根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖三;
圖10根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖四;
圖11根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖五;
圖12是根據(jù)本發(fā)明優(yōu)選實施例的智能問答系統(tǒng)的架構(gòu)示意圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種智能應(yīng)答方法,圖1是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖一,如圖1所示,該流程包括如下步驟:
步驟S102,接收通過用戶終端輸入的問題信息;
步驟S104,從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;
步驟S106,按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;
步驟S108,將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給用戶終端。
由于相關(guān)技術(shù)中的智能應(yīng)答系統(tǒng),所有的問題和答案只保存在一個問答庫中,從而對更新和維護(hù)該問答庫并不方便,通過上述步驟,通過將問答庫分為多個,不同的問題信息的類型對應(yīng)不同的問答庫,即不同的問答庫中存儲有不同類型的問題和答案,當(dāng)接收輸入的問題信息時,通過問題信息的類型,從與該問題信息的類型對應(yīng)的問答庫中來查找與該問題信息對應(yīng)的答案,增強(qiáng)了語義支持能力,提高了問答的速度,同時,由于不同的問答庫中存儲有不同類型的問題和答案,因而可以更方便地問答庫進(jìn)行針對性的更新和維護(hù),進(jìn)而解決了相關(guān)技術(shù)中,智能問答系統(tǒng)對語義支持不靈活,維護(hù)不方便的問題。
需要說明的是,上述問題信息可以包括:“你好”、“天氣怎么樣”之類的寒暄語,具有一定特點比如采用方言描述怎樣查詢話費等之類的特定問題信息,“怎樣查詢話費”、“怎樣發(fā)送短信”之類的普通問題信息,“查詢話費”之類的引導(dǎo)式問題;上述問答庫的類型可以包括:寒暄語語料庫、等價句與標(biāo)準(zhǔn)句庫、普通問答庫;其中,該寒暄語語料庫中存儲有寒暄語以及與該寒暄語對應(yīng)的答案;該等價句與標(biāo)準(zhǔn)句庫中存儲有該特定問題以及與該特定問題對應(yīng)的標(biāo)準(zhǔn)句或者等價句;普通問答庫中存儲有普通問題以及與該普通問題對應(yīng)的答案。每種類型的問題信息對應(yīng)一個類型的問答庫。
在本發(fā)明的一個實施例中,上述步驟S104可以包括:從該問題信息的類型對應(yīng)的問答庫中,按照該問題信息和在與該問題信息的類型對應(yīng)的問答庫中存儲的問題的相似度,對該問題信息的類型對應(yīng)的問答庫中的問題進(jìn)行過濾;將過濾后的該問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。具體地,可以通過以下方式實現(xiàn):從與該問題信息的類型對應(yīng)的問答庫中獲取與該問題信息匹配的目標(biāo)問題;獲取該問題信息和該目標(biāo)問題的相似度;過濾與該問題信息的類型對應(yīng)的問答庫中該相似度小于預(yù)設(shè)閾值的目標(biāo)問題,得到第一過濾結(jié)果;在該第一過濾結(jié)果中僅包含一個該目標(biāo)問題時,將該一個該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案;在該第一過濾結(jié)果中包括多個該目標(biāo)問題時,取該多個該目標(biāo)問題中優(yōu)先級最高的該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
需要說明的是,上述目標(biāo)問題可以為與該問題信息相關(guān)的問題,在與該問題信息的類型對應(yīng)的問答庫中找到這些相關(guān)的問題,在通過計算問題信息和這些相關(guān)的問題的相似度,先將相似度小于一定閾值的這些相關(guān)的問題濾掉,如果濾掉后,只剩一個相關(guān)的問題,那么將該相關(guān)的問題對應(yīng)的答案作為該問題信息對應(yīng)的答案;如果濾掉后還有多個相關(guān)的問題時,可以按照這些相關(guān)的問題的優(yōu)先級,取優(yōu)先級最高的問題對應(yīng)的答案作為該問題信息對應(yīng)的答案。需要說明的是,該優(yōu)先級可以是該相關(guān)的問題的搜索引擎的排序得分,排序的分高的優(yōu)先級高。即通過搜索和相似度結(jié)合過濾的方式,找到與該問題信息對應(yīng)的答案,解決了相關(guān)技術(shù)中搜索引擎命中到的結(jié)果過多,不能直接返回給用戶答案的問題,同時克服了普通的相似度計算對語義支持較弱的問題。
上述預(yù)設(shè)閾值可以是預(yù)先設(shè)定的,可以是一個固定值,也可以是根據(jù)實際情況進(jìn)行實時調(diào)整,該預(yù)設(shè)閾值的設(shè)定可以是經(jīng)驗數(shù)據(jù)。
在本發(fā)明的一個實施例中,通過以下至少之一方式獲取該問題信息和該目標(biāo)問題的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示該問題信息和該目標(biāo)問題的相似度值;length2為該問題信息的信息長度和該目標(biāo)問題的信息長度較大者,length1為該問題信息的信息長度和該目標(biāo)問題的信息長度較小者;alpha1和beta1都為實數(shù);方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1為對該問題信息進(jìn)行分詞后所包含的詞的個數(shù);words2為對該目標(biāo)問題進(jìn)行分詞后所包含的詞的個數(shù);Samewords為對該問題信息進(jìn)行分詞后與對該目標(biāo)問題進(jìn)行分詞后所包含的相同的詞的個數(shù);num1為Samewords中包含的對該問題信息進(jìn)行分詞后的詞的個數(shù);num2為Samewords中包含的對該目標(biāo)問題進(jìn)行分詞后的詞的個數(shù);dp為words1/words2與words2/words1中的最小值,alpha和beta都為實數(shù);words1/words2為words1與words2的比值,words2/words1為words2與words1的比值。
在本發(fā)明的一個實施例中,可以通過以下規(guī)則獲取對該問題信息分詞后所包含的詞的個數(shù):對該問題信息進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該問題信息分詞后所包含的詞的個數(shù);可以通過以下規(guī)則獲取對該目標(biāo)問題分詞后所包含的詞的個數(shù):對該目標(biāo)問題進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該目標(biāo)問題分詞后所包含的詞的個數(shù)。
需要說明的是,不同的詞性分配的權(quán)重不同,比如名詞的權(quán)重可以為2,動詞的權(quán)重可以為2,形容詞的權(quán)重為1,其中,權(quán)重為1代表在計算包含的詞的總數(shù)時,該詞只計算一次,若權(quán)重為2,則表示在計算包含的詞的總數(shù)時,該詞需要計算兩次,比如:問題信息為查詢1月份的話費;進(jìn)行分詞得到3個詞:查詢(動詞)、1月份的(形容詞)、話費(名詞);根據(jù)動詞和名詞詞性的權(quán)重為2,形容詞的權(quán)重為1,那么在計算分詞后的該問題信息包含的詞的個數(shù)時,查詢算2個詞,1月份的算1個詞,話費算2個詞;即分詞后的該問題信息包含的詞的個數(shù)為2+1+2=5個。
需要說明的是,上述方式一可以應(yīng)用于以下至少之一場景:該問題信息與該目標(biāo)問題相同;該問題信息包含該目標(biāo)問題;該目標(biāo)問題包含該問題信息。在除了上述場景之外,可以采用方式二,但并不限于此。
在本發(fā)明的一個實施例中,圖2是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖二,如圖2所示,上述步驟S104可以包括:
步驟S104-1,判斷該問題信息是否是第一類問題信息;
步驟S104-2,在該問題信息是該第一類問題信息的情況下,獲取與該第一類問題信 息對應(yīng)的第一類問答庫;
步驟S104-3,在該問題信息不是該第一類問題信息的情況下,判斷該問題信息是否是第二類問題信息;
步驟S104-4,在該問題信息是第二類問題信息的情況下,獲取與該第二類問題信息對應(yīng)的第二類問答庫;
步驟S104-5,從該第二類問答庫中,按照該預(yù)設(shè)規(guī)則重新確認(rèn)該問題信息;
步驟S104-6,判斷該重新確認(rèn)的問題信息是否是第三類問題信息;
步驟S104-7,在該重新確認(rèn)的問題信息是第三類問題信息的情況下,獲取與該重新確認(rèn)的問題信息對應(yīng)的第三類問答庫。
在本發(fā)明實施例中,上述第一類問題信息可以包括:上述寒暄語;上述可以第一類問答庫包括:上述寒暄語語料庫;上述第二類問題信息可以包括:特定問題信息;上述第二類問答庫可以包括:等價句與標(biāo)準(zhǔn)句庫;上述第三類問題信息可以包括:普通問題信息;上述第三類問答庫可以包括:普通問答庫。
需要說明的是,上述特定問題可以是一些個性化的問題,對于這些個性化的問題,通過從等價句與標(biāo)準(zhǔn)句庫中尋找與其對應(yīng)的等價句或者標(biāo)準(zhǔn)句的方式來找到對應(yīng)的答案。
在本發(fā)明的一個實施例中,圖3是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖三,如圖3所示,上述步驟S212可以包括:
步驟S212-1,從該第二類問答庫中,查詢與該問題信息對應(yīng)的所有問題;
步驟S212-2,按照該預(yù)設(shè)規(guī)則對該所有問題進(jìn)行過濾后,得到第二過濾結(jié)果;
步驟S212-3,在該第二過濾結(jié)果唯一的情況下,將該過濾結(jié)果作為該重新確認(rèn)后的問題信息;在不存在該第二過濾結(jié)果的情況下,將通過該用戶終端輸入的問題信息作為該重新確認(rèn)后的問題信息。
需要說明的是,該預(yù)設(shè)規(guī)則可以是上述的相似度過濾方式,通過計算該問題信息和與該問題信息對應(yīng)的所有問題的相似度,通過閾值的設(shè)定將相似度低的問題濾掉,剩下的問題可能就是重新確認(rèn)的問題。
在本發(fā)明的一個實施例中,圖4是根據(jù)本發(fā)明實施例的智能應(yīng)答方法的流程圖四,如圖4所示,在步驟S108之前,該方法還可以包括:
步驟S402,判斷與該問題信息對應(yīng)的答案是否是第四類問題信息;其中,該第四類問題信息包括:引導(dǎo)式問題;
步驟S404,如果是,觸發(fā)顯示提示信息,其中,該提示信息用于提示通過用戶終端輸入與該第四類問題信息對應(yīng)的引導(dǎo)信息;
步驟S406,如果不是,直接將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
需要說明的是,上述引導(dǎo)式問題可以是普通問答的擴(kuò)展,該引導(dǎo)式問題不能直接獲取答案,必須經(jīng)過交互引導(dǎo)獲取一些必要信息后才能得到最后的結(jié)果。
比如:輸入“查詢話費”,這個問題,需要引導(dǎo)用戶輸入手機(jī)號碼、月份等信息才能獲取最終的答案,引導(dǎo)問題即為“查詢話費”,引導(dǎo)信息為手機(jī)號碼、月份等信息。
需要說明的是,在步驟S104之前,上述方法還包括:判斷該問題信息中是否包含敏感詞,如果包含敏感詞,則不再執(zhí)行步驟S104至步驟S108,而是直接返回,提示包含敏感詞;如果不包含敏感詞,則執(zhí)行步驟S104。需要說明的是,敏感詞可以是涉毒、涉黃等違法之類的詞。
為了更好地理解本發(fā)明實施例,以下結(jié)合優(yōu)選的實施例對本發(fā)明做進(jìn)一步解釋。
本發(fā)明提供了一種優(yōu)選的智能問答方法,在本優(yōu)選實施例中,需要對用戶輸入問題的分類,在智能問答系統(tǒng)中,用戶的輸入可以分為以下幾類:
普通寒暄對話(相當(dāng)于上述實施例中的寒暄語):如“你好”、“天氣怎么樣”等,這類問題屬性寒暄式問題。
普通問答(相當(dāng)于上述實施例中的普通問題信息):普通問答是用戶輸入一個問題,想直接獲得問題答案。與普通搜索引擎的區(qū)別在于:搜索引擎對一個問題會返回多個答案,需要用戶從多個答案中選擇出想要的結(jié)果;而智能問答系統(tǒng)則直接把最相似的答案返回給用戶。
引導(dǎo)式問答(相當(dāng)于上述實施例中的引導(dǎo)式問題):引導(dǎo)式問答屬于普通問答的擴(kuò)展,一個問題不能直接獲得答案,必須經(jīng)過交互引導(dǎo)獲得一些必要信息后才能得到最后的結(jié)果。如用戶輸入“查詢話費”,這個問題,必須引導(dǎo)用戶輸入手機(jī)號碼、月份等信息才能獲得最終的答案。
針對問題的類型的不同,智能問答系統(tǒng)有不同的處理邏輯。
另外,在本優(yōu)選實施例中,智能問答系統(tǒng)中問答庫分為以下幾種類型,通過以下的問答庫來保存相應(yīng)的數(shù)據(jù):
寒暄數(shù)據(jù)庫(相當(dāng)于上述實施例中的寒暄語語料庫):寒暄對話的語料比如寒暄語以及該寒暄語對應(yīng)的答案,這些數(shù)據(jù)保存到系統(tǒng)索引庫(相當(dāng)于上述實施例中的寒暄語語料庫)。
普通問答庫(相當(dāng)于上述實施例中的普通問答庫):保存普通問題及與該普通問題對應(yīng)的答案,引導(dǎo)式問題的語料。
等價句與標(biāo)準(zhǔn)句庫(相當(dāng)于上述實施例中的等價句與標(biāo)準(zhǔn)句庫):保存?zhèn)€性化問題及個性化問題對應(yīng)的標(biāo)準(zhǔn)句,在智能問答系統(tǒng)中,普通問答庫中存放的是標(biāo)準(zhǔn)問題及與該標(biāo)準(zhǔn)問題對應(yīng)的答案,這種語料比較少,而在正式的智能問答系統(tǒng)中,用戶的輸入問題卻是各種形式,等價句與標(biāo)準(zhǔn)句庫中也存放用戶輸入問題與標(biāo)準(zhǔn)問題的對應(yīng)關(guān)系。
在上述的基礎(chǔ)上,上述優(yōu)選的智能問答方法可以包括以下步驟:
步驟1,用戶輸入問題;
步驟2,敏感詞判定,具體包括步驟:步驟21、判斷輸入是否包含敏感詞,如果包含敏感詞,執(zhí)行步驟22,不包含執(zhí)行步驟31;步驟22、包含敏感詞,直接返回,不繼續(xù)執(zhí)行,提示包含敏感詞;
步驟3,寒暄語判斷:步驟31、判斷用戶輸入是否是寒暄語,從寒暄語語料中搜索,如果搜索出的結(jié)果經(jīng)過閾值過濾后有值,則認(rèn)為輸入問題是寒暄對話;步驟32、如果輸入是寒暄對話,從結(jié)果中選擇一條返回給用戶,不繼續(xù)執(zhí)行;如果不是寒暄對話,執(zhí)行步驟41;
步驟4,等價句搜索及標(biāo)準(zhǔn)問題替換:步驟41、把用戶輸入問題作為查詢條件,在等價句與標(biāo)準(zhǔn)句庫中進(jìn)行查詢,查詢出所有相關(guān)結(jié)果;步驟42、把查詢結(jié)果進(jìn)行相似度計算,計算結(jié)果過濾后如果存在唯一一條結(jié)果,則把該結(jié)果的標(biāo)準(zhǔn)問題替換用戶的輸入問題,如果不存在,保留原始問題;
步驟5,搜索問答庫:步驟51、經(jīng)過步驟4處理后,用處理后的問題搜索普通問答庫,查詢出所有相關(guān)結(jié)果;步驟52、把查詢結(jié)果進(jìn)行相似度計算,計算結(jié)果過濾后如果存在唯一一條結(jié)果,則把該結(jié)果作為問答記錄,取記錄的答案字段,作為預(yù)返回結(jié)果。
步驟6,流程編排處理,判斷結(jié)果是否是引導(dǎo)式問題:步驟61、經(jīng)步驟5處理后,把預(yù)返回結(jié)果進(jìn)行引導(dǎo)式問題判斷;步驟62、如果是引導(dǎo)式問題,有后續(xù)處理,則進(jìn)行流程編排處理,提示用戶輸入;步驟63、如果不是引導(dǎo)式問題,直接把預(yù)返回結(jié)果作為答案返回給用戶。
需要說明的是,步驟1相當(dāng)于上述實施例中的步驟S102,上述步驟2至4相當(dāng)于上述實施例中的步驟S202至步驟S214;上述步驟5相當(dāng)于步驟S108,上述步驟6相當(dāng)于上述步驟S402至步驟S406。
在本發(fā)明的優(yōu)選實施例中,上述相似度計算方法可以為:參數(shù)1:用戶輸入(相當(dāng)于上述實施例中的問題信息)參數(shù)2:搜索結(jié)果(相當(dāng)于上述實施例中的目標(biāo)問題),上述相似度計算方法包括步驟S1至步驟S6:
步驟S1、如果用戶輸入與搜索結(jié)果完全相同,相似度為1.0;如果參數(shù)1包含參數(shù)2,或者參數(shù)2包含參數(shù)1執(zhí)行步驟S2;否則執(zhí)行步驟S3。
步驟S2、取參數(shù)較長的值為length1,另一個為length2,計算相似度得分:alpha1+beta1*length2/length1;返回計算結(jié)果。其中,該alpha1和beta1為經(jīng)驗值。
步驟S3、對用戶輸入及搜索結(jié)果做分詞及詞性標(biāo)注。
步驟S4、調(diào)整分詞后的權(quán)重,名詞和動詞調(diào)整為2,其它詞性不變。
步驟S5、統(tǒng)計參數(shù)1和參數(shù)2分詞后相同的詞的個數(shù),權(quán)重為2按兩次來計算,計數(shù)為samewords。
步驟S6、參數(shù)1分詞后為words1,參數(shù)2分詞后為words2,samewords包含words1中詞的個數(shù)為num1,samewords包含words2中詞的個數(shù)為num2。具體相似度的算法為:
double dp=Math.min(1.0*words1.size()/words2.size(),1.0*words2.size()/words1.size());
double part1=alpha*(1.0*samewords.size()/words1.size()+1.0*samewords.size()/words2.size())/2.0;
double part2=beta*dp*(num1/words1.size()+num2/words2.size())/2.0;
相似度為:part1+part2的值,其中,本優(yōu)選實施例中的size()用于計算元素的個數(shù)。
在本優(yōu)選的實施例中,該閾值過濾的方法包括以下步驟1至步驟4:
步驟1,計算輸入問題與搜索命中結(jié)果問題(相當(dāng)于上述實施例中的目標(biāo)問題)字段的相似度;
步驟2,取相似度閾值,將所有相似度小于該相似度閾值的結(jié)果問題過濾掉;其中,該相似度閾值similarityThreshold=百分比*最大相似度,其中,該百分比為經(jīng)驗值;
步驟3,如果經(jīng)過步驟1、2,處理后只剩一條問題結(jié)果,則該結(jié)果即為最終結(jié)果,從該結(jié)果中取答案字段值返回。如果經(jīng)過步驟1、2處理后的問題結(jié)果大于1條,把剩余的結(jié)果用從問答庫中搜索出的搜索引擎的排序打分再進(jìn)行一次過濾,取排序得分最大的項scoreMax作為最終結(jié)果,將其余的問題結(jié)果都過濾掉。
步驟4,經(jīng)過步驟3處理后,如果最終結(jié)果為一條,則該結(jié)果即為最終結(jié)果,從該結(jié)果中取答案字段值返回。
本發(fā)明實施例還提供了另一種優(yōu)選的智能問答方法,如圖5所示,該智能問答方法包括:
步驟S502,用戶輸入問題;
步驟S504,判斷是否設(shè)置session(會話);在否的情況下,執(zhí)行步驟S506;在是的情況下,執(zhí)行步驟S508;
步驟S506,進(jìn)行普通搜索;
步驟S508,機(jī)器人搜索用戶輸入的問題是否包含敏感詞;如果包含,執(zhí)行步驟S510;如果沒有包含,執(zhí)行步驟S512;
步驟S510,直接返回,提醒用戶包含敏感詞;
步驟S512,對用戶輸入的問題進(jìn)行標(biāo)準(zhǔn)化處理,比如特殊符號處理等;
步驟S514,判斷會話是否存在且有緩存;如果是,執(zhí)行步驟S516;如果否,執(zhí)行步驟S522;
步驟S516,進(jìn)行引導(dǎo)式問題處理;
步驟S518,判斷該引導(dǎo)式問題是否處理正常,在處理正常的情況下,執(zhí)行步驟S520;在處理不正常的情況下,執(zhí)行步驟S522;
步驟S520,緩存問題,并且返回結(jié)果;
步驟S522,判斷所述問題是否是寒暄語;如果是,執(zhí)行步驟S524;如果否,執(zhí)行步驟S526;
步驟S524,返回對話;
步驟S526,查詢問答處理流程;
步驟S528,得到結(jié)果數(shù),在結(jié)果數(shù)為1的情況下,執(zhí)行步驟S530;在結(jié)果數(shù)為0的情況下,執(zhí)行步驟S532;在結(jié)果數(shù)大于1的情況下,執(zhí)行步驟S534;
步驟S530,判斷是否是引導(dǎo)式問題,如果是,執(zhí)行步驟S536;如果否,執(zhí)行步驟S538;
步驟S532,對上下文信息判定;執(zhí)行步驟S538;
步驟S534,更新結(jié)果;
步驟S536,交互問題處理;
步驟S538,更新結(jié)果并且緩存該更新結(jié)果;
步驟S540,返回結(jié)果。
在上述優(yōu)選實施例中,步驟S526可以通過以下流程實現(xiàn),如圖6所示,該流程包括步驟S602至步驟S626:
步驟S602,在等價句與標(biāo)準(zhǔn)句庫中精確查詢等價句;
步驟S604,判斷是否查找到等價句,如果是,執(zhí)行步驟S606;如果否,執(zhí)行步驟S608;
步驟S606,進(jìn)行標(biāo)準(zhǔn)句替換;
步驟S608,采用正則表達(dá)式匹配;
步驟S610,判斷是否匹配到唯一結(jié)果;如果是,執(zhí)行步驟S606;
步驟S612,在普通問答庫中搜索該標(biāo)準(zhǔn)句;
步驟S614,進(jìn)行相似度過濾;
步驟S616,判斷相似度過濾后是否有與該標(biāo)準(zhǔn)句對應(yīng)的問題結(jié)果;如果否,執(zhí)行步驟S618;如果是,執(zhí)行步驟S626;
步驟S618,分詞查詢標(biāo)準(zhǔn)句;即將標(biāo)準(zhǔn)句進(jìn)行分詞,將與該標(biāo)準(zhǔn)句對應(yīng)的問題進(jìn)行分詞;
步驟S620,進(jìn)行相似度過濾;
步驟S622,判斷過濾后是否存在唯一的與該標(biāo)準(zhǔn)句對應(yīng)的問題結(jié)果;如果是,執(zhí)行步驟S624;
步驟S624,搜索普通問答庫查詢答案;
步驟S626,得到答案的個數(shù)。
需要說明的是,具體的相似度計算方法與上述步驟S1至步驟S6所示的相同,相似度過濾與上述步驟1至步驟4所示的方式相同。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
在本實施例中還提供了一種智能應(yīng)答裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖7是根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖一,如圖7所示,該裝置包括:
接收模塊72,用于接收通過用戶終端輸入的問題信息;
第一查找模塊74,與上述接收模塊72連接,用于從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;
第二查找模塊76,與上述第一查找模塊74連接,用于按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;
返回模塊78,與上述第二查找模塊76連接,用于將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
通過上述裝置,接收模塊72接收到輸入的問題信息后,通過第一查找模塊74和第二查找模塊76根據(jù)該問題信息的類型,從與該問題信息的類型對應(yīng)的問答庫中來查找與該問題信息對應(yīng)的答案,即通過將問答庫分為多個,不同的問題信息的類型對應(yīng)不同的問答庫,即不同的問答庫中存儲有不同類型的問題和答案,相對于相關(guān)技術(shù)中的智能應(yīng)答系統(tǒng),增強(qiáng)了語義支持能力,提高了問答的速度,同時,由于不同的問答庫中存儲有不同類型的問題和答案,因而可以更方便地問答庫進(jìn)行針對性的更新和維護(hù),進(jìn)而解決了相關(guān)技術(shù)中,智能問答系統(tǒng)對語義支持不靈活,維護(hù)不方便的問題。
需要說明的是,上述問題信息可以包括:“你好”、“天氣怎么樣”之類的寒暄語,具有一定特點比如采用方言描述怎樣查詢話費等之類的特定問題信息,“怎樣查詢話費”、“怎樣發(fā)送短信”之類的普通問題信息,“查詢話費”之類的引導(dǎo)式問題;上述問答庫的類型可以包括:寒暄語語料庫、等價句與標(biāo)準(zhǔn)句庫、普通問答庫;其中,該寒暄語語料庫中存儲有寒暄語以及與該寒暄語對應(yīng)的答案;該等價句與標(biāo)準(zhǔn)句庫中存儲有該特定問題以及與該特定問題對應(yīng)的標(biāo)準(zhǔn)句或者等價句;普通問答庫中存儲有普通問題以及與該普通問題對應(yīng)的答案。每種類型的問題信息對應(yīng)一個類型的問答庫。
在本發(fā)明的一個實施例中,上述第二查找模塊76還用于從該問題信息的類型對應(yīng)的問答庫中,按照該問題信息和在與該問題信息的類型對應(yīng)的問答庫中存儲的問題的相似度,對該問題信息的類型對應(yīng)的問答庫中的問題進(jìn)行過濾;將過濾后的該問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。具體地,圖8根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖二,如圖8所示,上述第二查找模塊76包括:
第一獲取單元82,用于從與該問題信息的類型對應(yīng)的問答庫中獲取與該問題信息匹配的目標(biāo)問題;
第二獲取單元84,與上述第一獲取單元82連接,用于獲取該問題信息和該目標(biāo)問題的相似度;
過濾單元86,與上述第二獲取單元84連接,用于過濾與該問題信息的類型對應(yīng)的問答庫中該相似度小于預(yù)設(shè)閾值的目標(biāo)問題,得到第一過濾結(jié)果;
查找單元88,與過濾單元86連接,用于在該第一過濾結(jié)果中僅包含一個該目標(biāo)問 題時,將該一個該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案;以及在該第一過濾結(jié)果中包括多個該目標(biāo)問題時,取該多個該目標(biāo)問題中優(yōu)先級最高的該目標(biāo)問題對應(yīng)的答案作為與該問題信息對應(yīng)的答案。
需要說明的是,上述目標(biāo)問題可以為與該問題信息相關(guān)的問題,上述第二查找模塊76在與該問題信息的類型對應(yīng)的問答庫中找到這些相關(guān)的問題,在通過計算問題信息和這些相關(guān)的問題的相似度,先將相似度小于一定閾值的這些相關(guān)的問題濾掉,如果濾掉后,只剩一個相關(guān)的問題,那么將該相關(guān)的問題對應(yīng)的答案作為該問題信息對應(yīng)的答案;如果濾掉后還有多個相關(guān)的問題時,可以按照這些相關(guān)的問題的優(yōu)先級,取優(yōu)先級最高的問題對應(yīng)的答案作為該問題信息對應(yīng)的答案。需要說明的是,該優(yōu)先級可以為該相關(guān)的問題的搜索引擎的排序得分,排序的分高的優(yōu)先級高。即通過搜索和相似度結(jié)合過濾的方式,找到與該問題信息對應(yīng)的答案,解決了相關(guān)技術(shù)中搜索引擎命中到的結(jié)果過多,不能直接返回給用戶答案的問題,同時克服了普通的相似度計算對語義支持較弱的問題。
上述預(yù)設(shè)閾值可以是預(yù)先設(shè)定的,可以是一個固定值,也可以是根據(jù)實際情況進(jìn)行實時調(diào)整,該預(yù)設(shè)閾值的設(shè)定可以是經(jīng)驗數(shù)據(jù)。
在本發(fā)明的一個實施例中,該第二獲取單元84可以通過以下至少之一方式獲取該問題信息和該目標(biāo)問題的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示該問題信息和該目標(biāo)問題的相似度值;length2為該問題信息的信息長度和該目標(biāo)問題的信息長度較大者,length1為該問題信息的信息長度和該目標(biāo)問題的信息長度較小者;alpha1和beta1都為實數(shù);方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1為對該問題信息進(jìn)行分詞后所包含的詞的個數(shù);words2為對該目標(biāo)問題進(jìn)行分詞后所包含的詞的個數(shù);Samewords為對該問題信息進(jìn)行分詞后與對該目標(biāo)問題進(jìn)行分詞后所包含的相同的詞的個數(shù);num1為Samewords中包含的對該問題信息進(jìn)行分詞后的詞的個數(shù);num2為Samewords中包含的對該目標(biāo)問題進(jìn)行分詞后的詞的個數(shù);dp為words1/words2與words2/words1中的最小值,alpha和beta都為實數(shù)。
其中,上述第二獲取單元84可以通過以下規(guī)則獲取對該問題信息分詞后所包含的詞的個數(shù):對該問題信息進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該問題信息分詞后所包含的詞的個數(shù);可以通過以下規(guī)則獲取對該目標(biāo)問題分詞后所包含的詞的個數(shù):對該目標(biāo)問題進(jìn)行分詞,得到多個詞;按照每個該詞的詞性對每個該詞分配權(quán)重;將該多個該詞的每個詞的個數(shù)和該每個詞的加權(quán)和作為對該目標(biāo)問題分詞后所包含的詞的個數(shù)。
需要說明的是,不同的詞性分配的權(quán)重不同,比如名詞的權(quán)重可以為2,動詞的權(quán)重可以為2,形容詞的權(quán)重為1,其中,權(quán)重為1代表在計算包含的詞的總數(shù)時,該詞只計算一次,若權(quán)重為2,則表示在計算包含的詞的總數(shù)時,該詞需要計算兩次,比如:問題信息為查詢1月份的話費;進(jìn)行分詞得到3個詞:查詢(動詞)、1月份的(形容詞)、 話費(名詞);根據(jù)動詞和名詞詞性的權(quán)重為2,形容詞的權(quán)重為1,那么在計算分詞后的該問題信息包含的詞的個數(shù)時,查詢算2個詞,1月份的算1個詞,話費算2個詞;即分詞后的該問題信息包含的詞的個數(shù)為2+1+2=5個。
需要說明的是,上述方式一可以應(yīng)用于以下至少之一場景:該問題信息與該目標(biāo)問題相同;該問題信息包含該目標(biāo)問題;該目標(biāo)問題包含該問題信息。在除了上述場景之外,可以采用方式二,但并不限于此。
圖9根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖三,如圖9所示,上述第一查找模塊74可以包括:
第一判斷單元92,用于判斷該問題信息是否是第一類問題信息;
第三獲取單元94,與上述第一判斷單元92連接,用于在該問題信息是該第一類問題信息的情況下,獲取與該第一類問題信息對應(yīng)的第一類問答庫;
第二判斷單元96,與上述第三獲取單元94連接,用于在該問題信息不是該第一類問題信息的情況下,判斷該問題信息是否是第二類問題信息;
第四獲取單元98,與第二判斷單元96連接,用于在該問題信息是第二類問題信息的情況下,獲取與該第二類問題信息對應(yīng)的第二類問答庫;
確認(rèn)單元910,與第四獲取單元98連接,用于從該第二類問答庫中,按照該預(yù)設(shè)規(guī)則重新確認(rèn)該問題信息;
第三判斷單元912,與確認(rèn)單元910連接,用于判斷該重新確認(rèn)的問題信息是否是第三類問題信息;
第五獲取單元914,與第三判斷單元912連接,用于在該重新確認(rèn)的問題信息是第三類問題信息的情況下,獲取與該重新確認(rèn)的問題信息對應(yīng)的第三類問答庫。
在本發(fā)明實施例中,上述第一類問題信息可以包括:上述寒暄語;上述可以第一類問答庫包括:上述寒暄語語料庫;上述第二類問題信息可以包括:特定問題信息;上述第二類問答庫可以包括:等價句與標(biāo)準(zhǔn)句庫;上述第三類問題信息可以包括:普通問題信息;上述第三類問答庫可以包括:普通問答庫。
需要說明的是,上述特定問題可以是一些個性化的問題,對于這些個性化的問題,通過從等價句與標(biāo)準(zhǔn)句庫中尋找與其對應(yīng)的等價句或者標(biāo)準(zhǔn)句的方式來找到對應(yīng)的答案。
圖10根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖四,如圖10所示,上述確認(rèn)單元910可以包括:
查詢子單元1002,用于從該第二類問答庫中,查詢與該問題信息對應(yīng)的所有問題;
過濾子單元1004,與上述查詢子單元1002連接,用于按照該預(yù)設(shè)規(guī)則對該所有問題進(jìn)行過濾后,得到第二過濾結(jié)果;
確認(rèn)子單元1006,與上述過濾子單元1004連接,用于在該第二過濾結(jié)果唯一的情況下,將該過濾結(jié)果作為該重新確認(rèn)后的問題信息;以及在不存在該第二過濾結(jié)果的情況下,將通過該用戶終端輸入的問題信息作為該重新確認(rèn)后的問題信息。
需要說明的是,該預(yù)設(shè)規(guī)則可以是上述的相似度過濾方式,通過計算該問題信息和與該問題信息對應(yīng)的所有問題的相似度,通過閾值的設(shè)定將相似度低的問題濾掉,剩下的問題可能就是重新確認(rèn)的問題。
圖11根據(jù)本發(fā)明實施例的智能應(yīng)答裝置的結(jié)構(gòu)框圖五,如圖11所示,上述裝置還包括:
判斷模塊1102,用于判斷與該問題信息對應(yīng)的答案是否是第四類問題信息;其中,該第四類問題信息包括:引導(dǎo)式問題;
顯示模塊1104,與上述判斷模塊1102連接,用于在與該問題信息對應(yīng)的答案是第四類問題信息的情況下,觸發(fā)顯示提示信息,其中,該提示信息用于提示通過用戶終端輸入與該第四類問題信息對應(yīng)的引導(dǎo)信息;
上述返回模塊78,還用于在與該問題信息對應(yīng)的答案不是第四類問題信息的情況下,直接將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給該用戶終端。
需要說明的是,上述引導(dǎo)式問題可以是普通問答的擴(kuò)展,該引導(dǎo)式問題不能直接獲取答案,必須經(jīng)過交互引導(dǎo)獲取一些必要信息后才能得到最后的結(jié)果。
比如:輸入“查詢話費”,這個問題,需要引導(dǎo)用戶輸入手機(jī)號碼、月份等信息才能獲取最終的答案,引導(dǎo)問題即為“查詢話費”,引導(dǎo)信息為手機(jī)號碼、月份等信息。
需要說明的是,上述裝置還可以包括另一個判斷模塊,與接收模塊72連接,用于判斷該問題信息中是否包含敏感詞,如果包含敏感詞,則不再查詢與該問題信息對應(yīng)的答案,而是直接返回,提示包含敏感詞;如果不包含敏感詞,上述第一查找模塊74,第二查找模塊76,返回模塊78繼續(xù)工作。需要說明的是,敏感詞可以是涉毒、涉黃等違法之類的詞。
為了更好的理解本發(fā)明,以下結(jié)合優(yōu)選的實施例對本發(fā)明做進(jìn)一步地解釋。
本發(fā)明提供了一種優(yōu)選實施例的智能問答系統(tǒng)的架構(gòu)圖,圖12是根據(jù)本發(fā)明優(yōu)選實施例的智能問答系統(tǒng)的架構(gòu)示意圖,如圖12所示,該智能問答系統(tǒng)包括:管理平臺1202,搜索引擎模塊1204,交互問答服務(wù)模塊1206;
其中,交互問答服務(wù)模塊1206包括:敏感詞過濾模塊1208,用于判斷用戶輸入的問題是否包含敏感詞;寒暄對話模塊1210(相當(dāng)于上述實施例中的第一判斷單元92), 用于判斷用戶輸入的問題是否是寒暄語;等價句與標(biāo)準(zhǔn)句轉(zhuǎn)換模塊1212(相當(dāng)于上述實施例中的第二判斷單元96和第四獲取單元98),用于將用戶輸入的問題轉(zhuǎn)換為等價句或者標(biāo)準(zhǔn)句;正則表達(dá)式匹配模塊1214,用于沒有找到與用戶輸入的問題對應(yīng)的等價句的情況下,對用戶輸入的問題進(jìn)行正則表達(dá)式匹配;分詞詞性標(biāo)注模塊1216,用于對用戶輸入的問題進(jìn)行分詞,并標(biāo)注分詞后的詞的詞性,和/或,搜索到的結(jié)果進(jìn)行分詞,并標(biāo)注分詞后的詞的詞性;相似度計算模塊1218(相當(dāng)于上述實施例中的過濾子單元1004),用于計算用戶輸入的問題和搜索到的問題結(jié)果的相似度,其中,具體的相似度的計算算法,參見上述方法實施例中的相似度計算算法,此處不再贅述;流程編排模塊1220,用于在用戶輸入的問題是引導(dǎo)式問題的情況下,進(jìn)行流程編排處理,提示用戶輸入相關(guān)的引導(dǎo)信息。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,接收通過用戶終端輸入的問題信息;
S2,從多個問答庫中,查找與該問題信息的類型對應(yīng)的問答庫;
S3,按照預(yù)設(shè)規(guī)則從與該問題信息的類型對應(yīng)的問答庫中查找與該問題信息對應(yīng)的答案;
S4,將與該問題信息對應(yīng)的答案作為返回結(jié)果返回給用戶終端。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。