本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種用于數(shù)據(jù)交互的方法。
背景技術(shù):
隨著科技的不斷發(fā)展,智能機器人衍生出許多分支,服務(wù)于人們的日常生活。智能機器人能夠理解人類語言,用人類語言同操作者對話,它能分析出現(xiàn)的情況,能調(diào)整自己的動作以達到操作者所提出的要求,能擬定所希望的動作。智能機器人有時會借助第三方應(yīng)用程序編程接口進行數(shù)據(jù)訪問、獲得應(yīng)答數(shù)據(jù),以理解操作者請求、提供第三方應(yīng)用服務(wù),但是在請求第三方應(yīng)用程序編程接口時會增加回應(yīng)操作者請求的時間,尤其在涉及多次交流的情況下降低了智能機器人的數(shù)據(jù)訪問效率。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種用于數(shù)據(jù)交互的方法以提高機器人在理解操作者請求時的數(shù)據(jù)訪問效率。為了對披露的實施例的一些方面有一個基本的理解,下面給出了簡單的概括。該概括部分不是泛泛評述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實施例的保護范圍。其唯一目的是用簡單的形式呈現(xiàn)一些概念,以此作為后面的詳細說明的序言。
根據(jù)本發(fā)明實施例第一方面提供了一種用于數(shù)據(jù)交互的方法,包括:接收來自業(yè)務(wù)層的檢索請求;發(fā)送所述檢索請求至搜索應(yīng)用服務(wù)器,所述搜索應(yīng)用服務(wù)器用于管理第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù);接收所述搜索應(yīng)用服務(wù)器發(fā)送的所述應(yīng)答數(shù)據(jù);發(fā)送所述應(yīng)答數(shù)據(jù)至所述業(yè)務(wù)層。
可選地,所述檢索請求包括:請求文本、機器標識(英文全稱:identification,英文簡稱:id),領(lǐng)域id和意圖id。
可選地,所述應(yīng)答數(shù)據(jù)包括:機器id和應(yīng)答文本,所述請求文本、領(lǐng)域id、意圖id和所述應(yīng)答文本對應(yīng)。
可選地,還包括:校驗所述檢索請求的格式是否符合檢索條件;若所述檢索請求的格式符合檢索條件,執(zhí)行所述發(fā)送所述檢索請求至搜索服務(wù)器的步驟。
根據(jù)本發(fā)明實施例第二方面提供了一種用于數(shù)據(jù)交互的方法,包括:接收來自數(shù)據(jù)層的檢索請求;根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);發(fā)送所述應(yīng)答數(shù)據(jù)至所述數(shù)據(jù)層。
可選地,所述第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)存儲于存儲器中。
可選地,所述存儲器包括緩存、數(shù)據(jù)庫和磁盤;所述從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)包括:檢索所述緩存中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);若所述緩存中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),檢索所述數(shù)據(jù)庫中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);若所述緩存和所述數(shù)據(jù)庫中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),檢索所述磁盤中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)。
可選地,若檢索到所述數(shù)據(jù)庫或所述磁盤中存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),將所述檢索請求和所述應(yīng)答數(shù)據(jù)異步存儲到所述緩存。
可選地,所述檢索請求中包括:請求文本、機器id,領(lǐng)域id和意圖id。
可選地,所述緩存、所述數(shù)據(jù)庫和所述磁盤包括:請求文本、機器id,領(lǐng)域id、意圖id和應(yīng)答文本,所述請求文本、領(lǐng)域id、意圖id和應(yīng)答文本一一對應(yīng)。
可選地,根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)包括:根據(jù)所述檢索請求中的所述領(lǐng)域id和所述意圖id檢索對所述緩存、所述數(shù)據(jù)庫和所述磁盤進行檢索;計算所述檢索請求中的請求文本與包含所述領(lǐng)域id和所述意圖id的存儲器中的所述請求文本的相似度;當存在所述相似度大于設(shè)定閾值的請求文本時,以包含所述領(lǐng)域id和所述意圖id的存儲器中對應(yīng)所述請求文本的所述應(yīng)答文本和檢索請求中的所述機器id作為應(yīng)答數(shù)據(jù)。
根據(jù)本發(fā)明實施例第三方面提供了一種用于數(shù)據(jù)交互的裝置,包括:第一接收模塊和第一發(fā)送模塊;所述第一接收模塊,用于接收來自業(yè)務(wù)層的檢索請求;所述第一發(fā)送模塊,用于發(fā)送所述檢索請求至搜索應(yīng)用服務(wù)器,所述搜索引擎服務(wù)器用于管理第三方服務(wù)的應(yīng)答數(shù)據(jù);所述第一接收模塊,還用于接收所述搜索應(yīng)用服務(wù)器發(fā)送的所述應(yīng)答數(shù)據(jù);所述第一發(fā)送模塊,還用于發(fā)送所述應(yīng)答數(shù)據(jù)至所述業(yè)務(wù)層。
可選地,還包括:校驗?zāi)K,用于校驗所述檢索請求的格式是否符合檢索條件。
根據(jù)本發(fā)明實施例第四方面提供了一種用于數(shù)據(jù)交互的裝置,包括:第二接收模塊,檢索模塊和第二發(fā)送模塊;所述第二接收模塊,用于接收來自數(shù)據(jù)層的檢索請求;檢索模塊,用于根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);所述第二發(fā)送模塊,用于發(fā)送所述應(yīng)答數(shù)據(jù)至所述數(shù)據(jù)層。
可選地,所述檢索模塊用于檢索緩存中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);若所述緩存中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),所述檢索模塊檢索數(shù)據(jù)庫中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù);若所述數(shù)據(jù)庫中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),所述檢索模塊從磁盤中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)。
可選地,所述裝置還包括:存儲模塊,用于所述數(shù)據(jù)庫或所述磁盤中存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)時,將所述檢索請求和所述應(yīng)答數(shù)據(jù)對應(yīng)的異步存儲到所述緩存。
可選地,所述檢索請求中包括:請求文本、機器id,領(lǐng)域id和意圖id。
可選地,所述應(yīng)答數(shù)據(jù)包括:機器id和應(yīng)答文本;所述請求文本、領(lǐng)域id和意圖id與所述應(yīng)答文本一一對應(yīng)。
可選地,所述裝置還包括:計算模塊和判斷模塊;所述計算模塊,用于計算所述檢索模塊根據(jù)所述檢索請求中的所述領(lǐng)域id和所述意圖id進行檢索得到的請求文本和所述檢索請求中的請求文本的相似度;所述判斷模塊,用于判斷所述相似度是否大于設(shè)定閾值。
本發(fā)明實施例提供的技術(shù)方案可以包括以下有益效果:
通過搜索應(yīng)用服務(wù)器對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,業(yè)務(wù)層發(fā)送檢索請求至數(shù)據(jù)層,并由數(shù)據(jù)層傳遞檢索請求至搜索應(yīng)用服務(wù)器獲取應(yīng)答數(shù)據(jù),搜索應(yīng)用服務(wù)器根據(jù)檢索請求進行檢索,將滿足條件的應(yīng)答數(shù)據(jù)反饋給數(shù)據(jù)層,數(shù)據(jù)層傳遞應(yīng)答數(shù)據(jù)給業(yè)務(wù)層實現(xiàn)數(shù)據(jù)交互,減少了分別訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的方法的流程示意圖;
圖2是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的方法的流程示意圖;
圖3是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的方法的流程示意圖;
圖4是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的方法的流程示意圖;
圖5是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的裝置的結(jié)構(gòu)示意圖;
圖6是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的裝置的結(jié)構(gòu)示意圖;
圖8是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)交互的裝置的結(jié)構(gòu)示意圖。
具體實施方式
以下描述和附圖充分地示出本發(fā)明的具體實施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實施方案可以包括結(jié)構(gòu)的、邏輯的、電氣的、過程的以及其他的改變。實施例僅代表可能的變化。除非明確要求,否則單獨的部件和功能是可選地,并且操作的順序可以變化。一些實施方案的部分和特征可以被包括在或替換其他實施方案的部分和特征。本發(fā)明的實施方案的范圍包括權(quán)利要求書的整個范圍,以及權(quán)利要求書的所有可獲得的等同物。在本文中,各實施方案可以被單獨地或總地用術(shù)語“發(fā)明”來表示,這僅僅是為了方便,并且如果事實上公開了超過一個的發(fā)明,不是要自動地限制該應(yīng)用的范圍為任何單個發(fā)明或發(fā)明構(gòu)思。本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用于將一個實體或者操作與另一個實體或操作區(qū)分開來,而不要求或者暗示這些實體或操作之間存在任何實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法或者設(shè)備中還存在另外的相同要素。本文中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的方法、產(chǎn)品等而言,由于其與實施例公開的方法部分相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
solr是一個獨立的企業(yè)級的搜索應(yīng)用服務(wù)器,它對外提供類似于網(wǎng)絡(luò)服務(wù)web-service的應(yīng)用程序編程接口。用戶可以通過超文本傳輸協(xié)議(英文全稱:hypertexttransferprotocol,英文簡稱:http)請求,向solr提交一定格式的可擴展標記語言(英文全稱:extensiblemarkuplanguage,英文簡稱:xml)文件,生成索引;也可以通過httpget操作提出查找請求,并得到xml格式的返回結(jié)果。solr是一個高性能,采用java5開發(fā),基于全文搜索引擎lucene的全文搜索服務(wù)器。同時提供比lucene更為豐富的查詢語言,實現(xiàn)了可配置、可擴展并對查詢性能進行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結(jié)果,通過索引復(fù)制來提高可用性。
如圖1所示,本發(fā)明實施例提供的用于數(shù)據(jù)交互的方法包括以下步驟。
步驟s101,接收來自業(yè)務(wù)層的檢索請求。
智能機器人在與操作者之間進行交互時,業(yè)務(wù)層負責(zé)將操作者的指令進行處理,發(fā)送檢索請求以獲取滿足該指令的應(yīng)答數(shù)據(jù)。
步驟s102,發(fā)送所述檢索請求至搜索應(yīng)用服務(wù)器,所述搜索應(yīng)用服務(wù)器用于管理第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)。
數(shù)據(jù)層用于在業(yè)務(wù)層與solr之間進行數(shù)據(jù)傳輸,將業(yè)務(wù)層發(fā)送的檢索請求傳遞給solr。預(yù)先將第三方應(yīng)用程序的服務(wù)信息存儲于存儲器中,solr對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,并從第三方應(yīng)用程序的數(shù)據(jù)中獲取滿足檢索請求的應(yīng)答數(shù)據(jù)。
步驟s103,接收所述搜索應(yīng)用服務(wù)器發(fā)送的應(yīng)答數(shù)據(jù)。
步驟s104,發(fā)送所述應(yīng)答數(shù)據(jù)至所述業(yè)務(wù)層。
數(shù)據(jù)層接收solr發(fā)送的滿足檢索請求的應(yīng)答數(shù)據(jù)并發(fā)送給業(yè)務(wù)層。
通過solr對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,業(yè)務(wù)層發(fā)送檢索請求至數(shù)據(jù)層,并有數(shù)據(jù)層傳遞檢索請求至solr獲取應(yīng)答數(shù)據(jù),solr根據(jù)檢索請求對進行檢索,將滿足條件的應(yīng)答數(shù)據(jù)反饋給數(shù)據(jù)層,數(shù)據(jù)層傳遞應(yīng)答數(shù)據(jù)給業(yè)務(wù)層實現(xiàn)數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
在另一些實施例中,如圖2所示,用于數(shù)據(jù)交互的方法包括以下步驟。
步驟s201,接收來自業(yè)務(wù)層的檢索請求。
智能機器人在與操作者之間進行交互時,業(yè)務(wù)層負責(zé)將操作者的指令轉(zhuǎn)換為請求文本,并對請求文本進行解析分類,將請求文本,機器id,領(lǐng)域id和意圖id整合成檢索請求。數(shù)據(jù)層用于向業(yè)務(wù)層提供應(yīng)答數(shù)據(jù)。
步驟s202,校驗所述檢索請求的格式是否符合檢索條件。
數(shù)據(jù)層在接收到業(yè)務(wù)層發(fā)送的檢索請求后對檢索請求進行校驗,校驗該檢索請求的格式是否滿足請求solr進行檢索的格式。
步驟s203,發(fā)送所述檢索請求至solr。
若數(shù)據(jù)層校驗出來自業(yè)務(wù)層的檢索請求的格式滿足啟動solr進行檢索的格式,則發(fā)送該檢索請求至solr。
步驟s204,接收所述solr發(fā)送的應(yīng)答數(shù)據(jù)。
應(yīng)答數(shù)據(jù)包括機器id和應(yīng)答文本。其中,機器id用于指示該應(yīng)答數(shù)據(jù)應(yīng)反饋給的對應(yīng)的智能機器人。應(yīng)答文本則是對應(yīng)操作者的指令的答復(fù)文本。
在一些實施例中,該應(yīng)答信息存儲在緩存、數(shù)據(jù)庫或磁盤中,由solr統(tǒng)一管理。有一些常用指令需要請求第三方服務(wù),將關(guān)于這些指令的第三方服務(wù)的數(shù)據(jù)配置成靜態(tài)文件存儲在緩存、數(shù)據(jù)庫或磁盤中。緩存、數(shù)據(jù)庫或磁盤中包括請求文本、領(lǐng)域id、意圖id和應(yīng)答文本。其中,請求文本、領(lǐng)域id、意圖id和應(yīng)答文本為一個元組。即請求文本、領(lǐng)域id和意圖id對應(yīng)唯一的應(yīng)答文本,領(lǐng)域id指請求文本涉及到的領(lǐng)域?qū)?yīng)的存儲數(shù)據(jù)時設(shè)定的領(lǐng)域分類編號,意圖id指請求文本涉及到的意圖對應(yīng)的存儲數(shù)據(jù)時設(shè)定的領(lǐng)域分類編號。solr從緩存、數(shù)據(jù)庫或磁盤中獲取應(yīng)答信息,在從緩存、數(shù)據(jù)庫或磁盤中獲取應(yīng)答信息時區(qū)分優(yōu)先級,緩存處于最高優(yōu)先級,磁盤處于最低優(yōu)先級。緩存是數(shù)據(jù)交換的緩沖區(qū),當solr在獲取數(shù)據(jù)時,會首先從緩存中查找需要的數(shù)據(jù),因為緩存的運行速度較快,故從緩存中查找數(shù)據(jù)要節(jié)約數(shù)據(jù)訪問時間。數(shù)據(jù)庫中的存放的數(shù)據(jù)較全面,從數(shù)據(jù)庫中查找滿足獲取數(shù)據(jù)請求信息的數(shù)據(jù)的速度比從緩存中獲取慢。磁盤的運行速度較慢,故從磁盤中查找數(shù)據(jù)耗時較長。若緩存、數(shù)據(jù)庫或磁盤中同時存在滿足檢索請求的數(shù)據(jù)時,從處于高優(yōu)先級的存儲器讀取數(shù)據(jù)。
步驟s205,發(fā)送所述應(yīng)答數(shù)據(jù)至所述業(yè)務(wù)層。
數(shù)據(jù)層接收solr發(fā)送的滿足該檢索請求的應(yīng)答數(shù)據(jù)并發(fā)送給業(yè)務(wù)層。
本發(fā)明實施例提供的方法通過solr對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,業(yè)務(wù)層發(fā)送檢索請求至數(shù)據(jù)層,并有數(shù)據(jù)層傳遞檢索請求至solr獲取應(yīng)答數(shù)據(jù),solr根據(jù)檢索請求對進行檢索,將滿足條件的應(yīng)答數(shù)據(jù)反饋給數(shù)據(jù)層,數(shù)據(jù)層傳遞應(yīng)答數(shù)據(jù)給業(yè)務(wù)層實現(xiàn)數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
如圖3所示,根據(jù)另一實施例提供的用于數(shù)據(jù)交互的方法包括以下步驟。
步驟s301,接收來自數(shù)據(jù)層的檢索請求。
步驟s302,根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)。
solr對第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)進行統(tǒng)一管理,接收來自數(shù)據(jù)層的檢索請求,solr根據(jù)所述檢索請求對第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)進行檢索來獲取對應(yīng)的應(yīng)答數(shù)據(jù)。
步驟s303,發(fā)送所述應(yīng)答數(shù)據(jù)至所述數(shù)據(jù)層。
solr將檢索到的對應(yīng)檢索請求的應(yīng)答數(shù)據(jù)發(fā)送給數(shù)據(jù)層,并由數(shù)據(jù)層發(fā)送給業(yè)務(wù)層。
本發(fā)明實施例提供的方法通過solr對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,業(yè)務(wù)層發(fā)送檢索請求至數(shù)據(jù)層,并有數(shù)據(jù)層傳遞檢索請求至solr獲取應(yīng)答數(shù)據(jù),solr根據(jù)檢索請求對進行檢索,將滿足條件的應(yīng)答數(shù)據(jù)反饋給數(shù)據(jù)層,數(shù)據(jù)層傳遞應(yīng)答數(shù)據(jù)給業(yè)務(wù)層實現(xiàn)數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
在另一些實施例中,如圖4所示,用于數(shù)據(jù)交互的方法包括以下步驟。
步驟s401,接收來自數(shù)據(jù)層的檢索請求。
solr對數(shù)據(jù)進行統(tǒng)一管理,接收來自數(shù)據(jù)層的檢索請求,檢索請求包括:請求文本、機器id,領(lǐng)域id和意圖id,solr根據(jù)所述檢索請求來獲取對應(yīng)的應(yīng)答數(shù)據(jù)。
步驟s402,根據(jù)所述檢索請求中的所述領(lǐng)域id和所述意圖id檢索對所述緩存、所述數(shù)據(jù)庫和所述磁盤進行檢索。
solr在獲取數(shù)據(jù)之前,要根據(jù)檢索請求中的領(lǐng)域id和意圖id對管理的數(shù)據(jù)進行檢索,縮小數(shù)據(jù)的查找范圍節(jié)約獲取應(yīng)答數(shù)據(jù)的時間。其中,存儲器存儲有第三方應(yīng)用程序的數(shù)據(jù)。有一些常用指令需要請求第三方服務(wù),將關(guān)于這些指令的第三方服務(wù)的數(shù)據(jù)配置成靜態(tài)文件存儲在存儲器中,方便solr進行管理,且在需要請求第三方服務(wù)時,節(jié)省數(shù)據(jù)請求時間,提高數(shù)據(jù)訪問效率。在本實施例中,存儲器包括緩存、數(shù)據(jù)庫和磁盤,獲取應(yīng)答數(shù)據(jù)過程中緩存處于最高優(yōu)先級、磁盤處于最低優(yōu)先級。緩存是數(shù)據(jù)交換的緩沖區(qū),當solr在獲取數(shù)據(jù)時,會首先從緩存中查找需要的數(shù)據(jù),因為緩存的運行速度較快,故從緩存中查找數(shù)據(jù)要節(jié)約數(shù)據(jù)訪問時間。數(shù)據(jù)庫中的存放的數(shù)據(jù)較全面,從數(shù)據(jù)庫中查找滿足獲取數(shù)據(jù)請求信息的數(shù)據(jù)的速度比從緩存中獲取慢。磁盤的運行速度較慢,故從磁盤中查找數(shù)據(jù)耗時較長。若緩存、數(shù)據(jù)庫或磁盤中同時存在滿足檢索請求的數(shù)據(jù)時,從處于高優(yōu)先級的存儲器讀取數(shù)據(jù)。
步驟s403,計算所述檢索請求中的請求文本與包含所述領(lǐng)域id和所述意圖id的存儲器中的所述請求文本的相似度。
solr根據(jù)檢索請求中的領(lǐng)域id和意圖id進行檢索,縮小數(shù)據(jù)的查找范圍后,計算檢索請求中的請求文本與包含檢索請求中領(lǐng)域id和意圖id的存儲器中的所述請求文本的相似度。檢索請求中的請求文本為操作者與智能機器人的對話或操作者向智能機器人發(fā)出的指令。業(yè)務(wù)層在對所述對話或指令進行識別理解時可能會出錯,如:操作者說話語速快,業(yè)務(wù)層識別理解時識別出的字數(shù)比實際字數(shù)少;操作者個別字發(fā)音不標準,業(yè)務(wù)層識別理解時得到的請求文本與實際請求文本存在差異。還可能存在操作者發(fā)出的操作指令與緩存中存儲的請求文本存在部分表述差異,如:“如何……”與“怎么……”。因此,檢索請求中的請求文本與實際操作者表達的指令即存儲器中存儲的請求文本存在差異,在獲取應(yīng)答數(shù)據(jù)前要對檢索請求中的請求文本與存儲器中存儲的請求文本進行相似度計算。
步驟s404,判斷是否存在相似度大于設(shè)定閾值的請求文本。若存在執(zhí)行步驟s405,以包含所述領(lǐng)域id和所述意圖id的存儲器中對應(yīng)所述請求文本的所述應(yīng)答文本和檢索請求中的所述機器id作為應(yīng)答數(shù)據(jù)。
在緩存、數(shù)據(jù)庫或磁盤中包括請求文本、領(lǐng)域id、意圖id和應(yīng)答文本。其中,請求文本、領(lǐng)域id、意圖id和應(yīng)答文本為一個元組,即請求文本、領(lǐng)域id和意圖id對應(yīng)唯一的應(yīng)答文本。當檢索到相似度大于設(shè)定閾值的請求文本時,獲取對應(yīng)的應(yīng)答文本,并將檢索請求包含的機器id和獲取到的應(yīng)答文本作為應(yīng)答數(shù)據(jù)。機器id指示應(yīng)答數(shù)據(jù)應(yīng)反饋給的對應(yīng)的智能機器人。應(yīng)答文本則是對應(yīng)操作者的指令的答復(fù)文本。
步驟s406,發(fā)送所述應(yīng)答數(shù)據(jù)至所述數(shù)據(jù)層。
若應(yīng)答信息是從數(shù)據(jù)庫或磁盤中獲取的,則將該應(yīng)答信息中的應(yīng)答文本,以及對應(yīng)檢索請求的領(lǐng)域id,意圖id和請求文本異步保存到緩存。當業(yè)務(wù)層再次發(fā)送相同檢索請求時,可直接從緩存中獲取應(yīng)答數(shù)據(jù),提高訪問效率。
本發(fā)明實施例提供的方法通過solr對第三方應(yīng)用程序的數(shù)據(jù)進行統(tǒng)一管理,業(yè)務(wù)層發(fā)送檢索請求至數(shù)據(jù)層,并有數(shù)據(jù)層傳遞檢索請求至solr獲取應(yīng)答數(shù)據(jù),solr根據(jù)檢索請求對進行檢索,將滿足條件的應(yīng)答數(shù)據(jù)反饋給數(shù)據(jù)層,數(shù)據(jù)層傳遞應(yīng)答數(shù)據(jù)給業(yè)務(wù)層實現(xiàn)數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
如圖5所示,對應(yīng)前述實施例提供的方法,本發(fā)明實施例提供的用于數(shù)據(jù)交互的裝置包括第一接收模塊501和第一發(fā)送模塊502。
第一接收模塊501接收來自業(yè)務(wù)層的檢索請求,第一發(fā)送模塊502發(fā)送檢索請求至搜索應(yīng)用服務(wù)器,搜索引擎服務(wù)器用于管理第三方服務(wù)的應(yīng)答數(shù)據(jù),搜索引擎服務(wù)器根據(jù)檢索請求檢索相應(yīng)的應(yīng)答信息,并將檢索到的應(yīng)答信息發(fā)送給第一接收模塊501,第一接收模塊501接收搜索應(yīng)用服務(wù)器發(fā)送的應(yīng)答數(shù)據(jù),第一發(fā)送模塊502發(fā)送應(yīng)答數(shù)據(jù)至業(yè)務(wù)層。
本實施例提供的裝置實現(xiàn)了數(shù)據(jù)層和業(yè)務(wù)層之間的數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
在另一些實施例中,如圖6所示,用于數(shù)據(jù)交互的裝置包括第一接收模塊601、第一發(fā)送模塊602和校驗?zāi)K603,第一接收模塊601接收來自業(yè)務(wù)層的檢索請求,校驗?zāi)K603校驗檢索請求的格式是否符合檢索條件,若符合,則第一發(fā)送模塊602發(fā)送檢索請求至搜索應(yīng)用服務(wù)器,搜索引擎服務(wù)器用于管理第三方服務(wù)的應(yīng)答數(shù)據(jù),搜索引擎服務(wù)器根據(jù)檢索請求檢索相應(yīng)的應(yīng)答信息,并將檢索到的應(yīng)答信息發(fā)送給第一接收模塊601,第一接收模塊601接收搜索應(yīng)用服務(wù)器發(fā)送的應(yīng)答數(shù)據(jù),第一發(fā)送模塊602發(fā)送應(yīng)答數(shù)據(jù)至業(yè)務(wù)層。
本實施例提供的裝置實現(xiàn)了數(shù)據(jù)層和業(yè)務(wù)層之間的數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
如圖7所示,對應(yīng)前述實施例提供的方法,本發(fā)明實施例提供的用于數(shù)據(jù)交互的裝置包括第二接收模塊701,檢索模塊702和第二發(fā)送模塊703。
第二接收模塊701接收來自數(shù)據(jù)層的檢索請求,檢索模塊702根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),第二發(fā)送模塊703發(fā)送所述應(yīng)答數(shù)據(jù)至所述數(shù)據(jù)層。
檢索模塊702首先檢索緩存中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),若所述緩存中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),檢索模塊702檢索數(shù)據(jù)庫中是否存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),若所述數(shù)據(jù)庫中不存在與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),檢索模塊702最后從磁盤中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù)。
本實施例提供的裝置實現(xiàn)了數(shù)據(jù)層和業(yè)務(wù)層之間的數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
在另一些實施例中,如圖8所示,用于數(shù)據(jù)交互的裝置包括第二接收模塊801,檢索模塊802,計算模塊803,判斷模塊804,第二發(fā)送模塊,805和存儲模塊806。
第二接收模塊801接收來自數(shù)據(jù)層的檢索請求,檢索模塊802根據(jù)所述檢索請求,從管理的第三方應(yīng)用服務(wù)的應(yīng)答數(shù)據(jù)中檢索與所述檢索請求對應(yīng)的應(yīng)答數(shù)據(jù),檢索請求中包括:請求文本、機器id,領(lǐng)域id和意圖id,檢索模塊802根據(jù)領(lǐng)域id和意圖id進行搜索,計算模塊803計算檢索請求中的請求文本與檢索到的請求文本的相似度,判斷模塊804判斷相似度是否大于設(shè)定閾值,若相似度大于設(shè)定閾值,若檢索到的請求文本來自數(shù)據(jù)庫或磁盤,則存儲模塊806將檢索到的請求文本及對應(yīng)的領(lǐng)域id,意圖id和應(yīng)答文本存儲到緩存中,請求文本、領(lǐng)域id和意圖id與應(yīng)答文本一一對應(yīng)。將檢索到的請求文本及對應(yīng)的領(lǐng)域id,意圖id和應(yīng)答文本存儲到緩存中縮短下次就相同請求文本進行數(shù)據(jù)訪問的時間,提高數(shù)據(jù)訪問效率。第二發(fā)送模塊805發(fā)送應(yīng)答數(shù)據(jù)至數(shù)據(jù)層,應(yīng)答數(shù)據(jù)包括:機器id和應(yīng)答文本。
本實施例提供的裝置實現(xiàn)了數(shù)據(jù)層和業(yè)務(wù)層之間的數(shù)據(jù)交互,減少了訪問第三方服務(wù)的次數(shù),節(jié)約數(shù)據(jù)訪問時間,提高了數(shù)據(jù)訪問效率。
應(yīng)當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的流程及結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。