本發(fā)明涉及語(yǔ)音解析技術(shù),尤其涉及一種基于狀態(tài)機(jī)的語(yǔ)義解析方法及裝置、設(shè)備。
背景技術(shù):
語(yǔ)音助手是一款智能型的終端應(yīng)用,通過(guò)智能對(duì)話與即時(shí)問(wèn)答的智能交互,實(shí)現(xiàn)幫忙用戶解決問(wèn)題,其主要是幫忙用戶解決生活類問(wèn)題,其中蘋(píng)果手機(jī)中siri開(kāi)創(chuàng)智能語(yǔ)音助手的先河。語(yǔ)音助手是一種語(yǔ)音控制應(yīng)用程序(App,Application;簡(jiǎn)稱應(yīng)用),通過(guò)終端上的聲音采集硬件采集用戶發(fā)出的語(yǔ)音,然后通過(guò)語(yǔ)音識(shí)別技術(shù)對(duì)語(yǔ)音進(jìn)行識(shí)別,再對(duì)識(shí)別出的語(yǔ)音進(jìn)行語(yǔ)義判斷,然后在前臺(tái)迅速做出回應(yīng);還可以通過(guò)麥克風(fēng)與用戶進(jìn)行語(yǔ)音聊天,或者通從用戶的命令,幫助用戶操控智能終端。從以上可以看出,語(yǔ)音助手是一類可以通過(guò)語(yǔ)音交互來(lái)實(shí)現(xiàn)替代全部或部分,用戶在終端如手機(jī)上的查詢與操作的應(yīng)用程序。用戶通過(guò)此類語(yǔ)音應(yīng)用,可以大大提高在不同場(chǎng)景下操作手機(jī)的便利性。其中,語(yǔ)音識(shí)別技術(shù)是將語(yǔ)音信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的文字符號(hào),解決讓機(jī)器聽(tīng)懂人說(shuō)話問(wèn)題的技術(shù)。
目前,語(yǔ)音平臺(tái)中通常包括多個(gè)語(yǔ)義解析器,這是因?yàn)樵谡Z(yǔ)音平臺(tái)的數(shù)據(jù)生成過(guò)程中,每一個(gè)語(yǔ)義解析器大都是為某個(gè)業(yè)務(wù)定制的,而且由于每一業(yè)務(wù)所涉及的業(yè)務(wù)數(shù)據(jù)規(guī)模、字段都存在很大的差異,因此,語(yǔ)音平臺(tái)為每一項(xiàng)業(yè)務(wù)都搭建一個(gè)語(yǔ)義解析器。當(dāng)需要增加一種新的語(yǔ)音業(yè)務(wù)時(shí),語(yǔ)音平臺(tái)還需要為該業(yè)務(wù)搭建一個(gè)語(yǔ)義解析器,可見(jiàn),現(xiàn)有的語(yǔ)音平臺(tái)對(duì)于新的業(yè)務(wù)無(wú)法進(jìn)行快速擴(kuò)展;因此,對(duì)于信息服務(wù)提供商而言,一般各個(gè)業(yè)務(wù)部門(mén)就有幾個(gè)對(duì)應(yīng)于該業(yè)務(wù)部分的語(yǔ)音解析器,可見(jiàn),現(xiàn)有的語(yǔ)音平臺(tái)雖然將各個(gè)業(yè)務(wù)的語(yǔ)音業(yè)務(wù)放置在一起,但是并沒(méi)有做到實(shí)際意義上的整合。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例為解決現(xiàn)有技術(shù)中存在的至少一個(gè)問(wèn)題而提供一種基于狀態(tài)機(jī)的語(yǔ)義解析方法及裝置、設(shè)備,能夠增強(qiáng)語(yǔ)音平臺(tái)的可擴(kuò)展性。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析方法,所述方法包括:
確定語(yǔ)音產(chǎn)品的功能;
根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;
為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn);
根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;
將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
第二方面,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析方法,所述方法還包括:
獲取語(yǔ)音產(chǎn)品的待解析語(yǔ)句;
將所述待解析語(yǔ)句輸入預(yù)設(shè)的狀態(tài)機(jī)的第一個(gè)節(jié)點(diǎn);
從所述狀態(tài)機(jī)的最后一個(gè)節(jié)點(diǎn)獲取輸出結(jié)果;
將所述輸出結(jié)果輸出。
第三方面,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析裝置,所述裝置包括第一確定單元、第二確定單元、第三確定單元、第一形成單元和第二形成單元,其中:
所述第一確定單元,用于確定語(yǔ)音產(chǎn)品的功能;
所述第二確定單元,用于根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;
所述第三確定單元,用于為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn),
所述第一形成單元,用于根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;
所述第二形成單元,用于將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
第四方面,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析裝置,所述裝置還包括第三獲取單元、輸入單元、第四獲取單元和輸出單元,其中:
所述第三獲取單元,用于獲取語(yǔ)音產(chǎn)品的待解析語(yǔ)句;
所述輸入單元,用于將所述待解析語(yǔ)句輸入預(yù)設(shè)的狀態(tài)機(jī)的第一個(gè)節(jié)點(diǎn);
所述第四獲取單元,用于從所述狀態(tài)機(jī)的最后一個(gè)節(jié)點(diǎn)獲取輸出結(jié)果;
所述輸出單元,用于將所述輸出結(jié)果輸出。
第五方面,本發(fā)明實(shí)施例提供一種計(jì)算設(shè)備,包括:存儲(chǔ)器、處理器和用于存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)用于實(shí)現(xiàn)上述第一方面或第二方面的基于狀態(tài)機(jī)的語(yǔ)義解析方法。
本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析方法及裝置、設(shè)備,其中,確定語(yǔ)音產(chǎn)品的功能;根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn);根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī);如此,能夠增強(qiáng)語(yǔ)音平臺(tái)的可擴(kuò)展性。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析方法在實(shí)現(xiàn)時(shí)的流程示意圖;
圖2為相關(guān)技術(shù)中電梯門(mén)的有限狀態(tài)機(jī)的狀態(tài)圖;
圖3為本實(shí)施例中狀態(tài)機(jī)配置的狀態(tài)圖;
圖4為本發(fā)明實(shí)施例語(yǔ)義解析的流程示意圖;
圖5為本發(fā)明實(shí)施例語(yǔ)義解析的流程示意圖;
圖6為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析方法的實(shí)現(xiàn)流程示意圖;
圖7為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析裝置的組成結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析裝置的組成結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例的網(wǎng)絡(luò)架構(gòu)示意圖;
圖10為本發(fā)明實(shí)施例電子設(shè)備的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
現(xiàn)以甲公司作為信息服務(wù)提供商為例,來(lái)說(shuō)明背景技術(shù)中所記載的技術(shù)問(wèn)題。該甲公司開(kāi)設(shè)有瀏覽器業(yè)務(wù)和視頻業(yè)務(wù),其中這兩項(xiàng)業(yè)務(wù)都需要進(jìn)行語(yǔ)義解析,因?yàn)槎记度胗姓Z(yǔ)音助手,以幫助那些不喜歡進(jìn)行文字輸入或者不具有寫(xiě)能力的用戶。這樣,用戶可以在該甲公司視頻業(yè)務(wù)的web頁(yè)面上搜索自己感興趣的電影,在瀏覽器業(yè)務(wù)的web頁(yè)面上搜索自己感興趣的關(guān)鍵詞。由于開(kāi)展視頻業(yè)務(wù)和開(kāi)展瀏覽器業(yè)務(wù)都需要用到語(yǔ)音解析器,因此,該甲公司將這兩項(xiàng)業(yè)務(wù)整合在一個(gè)語(yǔ)音平臺(tái)上;但是由于視頻業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)規(guī)模、字段與瀏覽器業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)規(guī)模、字段都存在很大的差異,因此,在語(yǔ)音平臺(tái)中分別為每一業(yè)務(wù)搭建一個(gè)語(yǔ)義解析器。當(dāng)甲公司要開(kāi)展一項(xiàng)音樂(lè)業(yè)務(wù)(如QQ音樂(lè))時(shí),該甲公司還需要為該音樂(lè)業(yè)務(wù)搭建一個(gè)適用于音樂(lè)業(yè)務(wù)的語(yǔ)義解析器,以便用戶可以在即時(shí)通訊(QQ)上搜索自己感興趣的音樂(lè)。由此可見(jiàn),現(xiàn)有的語(yǔ)音平臺(tái)雖然將各個(gè)業(yè)務(wù)放置在一起,但是并沒(méi)有做到實(shí)際意義上的整合。
此外,后臺(tái)服務(wù)在進(jìn)行語(yǔ)義解析的過(guò)程中,具體的解析算法有非常多,比如傳統(tǒng)的正則模板、深度學(xué)習(xí)等。同時(shí),進(jìn)行產(chǎn)品化時(shí),不同的產(chǎn)品會(huì)需要不同的場(chǎng)景及對(duì)應(yīng)的服務(wù)。比如對(duì)于音箱,只需解析音樂(lè)、天氣、提醒等有限場(chǎng)景;而微桌面的語(yǔ)音助手,打電話、發(fā)短信則是必備場(chǎng)景。不同的語(yǔ)音產(chǎn)品的前置適配、后置兜底要求也不一樣,比如瀏覽器語(yǔ)音助手,在不能提供解析語(yǔ)義時(shí),跳轉(zhuǎn)搜索是合理選擇,而手表語(yǔ)音助手則不適合現(xiàn)這樣的邏輯。面對(duì)解析過(guò)程中如此多的變數(shù),如果將所有邏輯寫(xiě)在代碼中,在新接入算法或者新接入產(chǎn)品時(shí),將不得不進(jìn)行重新編碼,非常不靈活。
為了使得資源得到更加合理的利用,本發(fā)明以下實(shí)施例中提出一種將有限狀態(tài)機(jī)應(yīng)用于語(yǔ)義解析方法,其中,將語(yǔ)義解析流程中所有可能的步驟都抽象為狀態(tài)機(jī)中的一個(gè)節(jié)點(diǎn)。即可方便開(kāi)發(fā)人員添加、刪除某一步驟,也可在每一種產(chǎn)品接入時(shí),對(duì)各個(gè)步驟進(jìn)行隨意定制化,生成適應(yīng)業(yè)務(wù)的語(yǔ)義解析模型;這樣,算法研究人員可靈活更新解析算法,語(yǔ)音產(chǎn)品接入時(shí)可靈活定制解析流程。由以上可以看出,采用本發(fā)明實(shí)施例提供的技術(shù)方案,將對(duì)現(xiàn)有的語(yǔ)音平臺(tái)進(jìn)行改進(jìn),不但使得資源能夠得到更合理的利用,而且能夠在有新業(yè)務(wù)接入時(shí),為該新業(yè)務(wù)搭建一個(gè)語(yǔ)義解析器不再艱難。
為了更好地理解本發(fā)明實(shí)施例,本發(fā)明實(shí)施例提供以下名詞的解釋:
語(yǔ)音助手:根據(jù)用戶的語(yǔ)音輸入,為用戶提供相應(yīng)服務(wù)的軟件。
語(yǔ)音平臺(tái),本實(shí)施例中的語(yǔ)音平臺(tái)是對(duì)現(xiàn)有語(yǔ)音平臺(tái)的改進(jìn),能夠?yàn)槎鄠€(gè)產(chǎn)品提供語(yǔ)義解析服務(wù)。
場(chǎng)景:一句話所屬的范圍;比如我要聽(tīng)音樂(lè),為音樂(lè)場(chǎng)景;再如來(lái)一個(gè)笑話,為笑話場(chǎng)景。
語(yǔ)義解析:將一句話解析為計(jì)算機(jī)可以識(shí)別的場(chǎng)景、意圖和參數(shù)。例如我要聽(tīng)冰雨,場(chǎng)景為音樂(lè)場(chǎng)景,意圖為聽(tīng),參數(shù)為冰雨。
微桌面:智能平臺(tái)部一款桌面產(chǎn)品。
有限狀態(tài)機(jī):有限狀態(tài)機(jī)(Finite-State Machine,F(xiàn)SM,簡(jiǎn)稱狀態(tài)機(jī)),是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。
命名實(shí)體(NER),如冰雨等。
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。
在介紹本發(fā)明的各實(shí)施例之前,先介紹一下?tīng)顟B(tài)機(jī)的相關(guān)知識(shí),F(xiàn)SM是由有限的狀態(tài)和相互之間的轉(zhuǎn)移構(gòu)成的,在任何時(shí)候只能處于給定數(shù)目的狀態(tài)中的一個(gè)。當(dāng)接收到一個(gè)輸入事件時(shí),狀態(tài)機(jī)產(chǎn)生一個(gè)輸出,同時(shí)可能伴隨狀態(tài)的轉(zhuǎn)移。有限狀態(tài)機(jī)包括以下一些構(gòu)成要素:
狀態(tài)(state):行為模型的基本組成部分,反映了系統(tǒng)中某個(gè)對(duì)象所處的階段和活動(dòng)情況;
轉(zhuǎn)移(transition):對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)的過(guò)程;
條件(transition condition):引起對(duì)象狀態(tài)轉(zhuǎn)化的事件及條件;
動(dòng)作(action):在狀態(tài)轉(zhuǎn)移時(shí),對(duì)象所采取的行動(dòng)。
本發(fā)明實(shí)施例提供的基于狀態(tài)機(jī)的語(yǔ)義解析方法在實(shí)現(xiàn)時(shí)的流程參見(jiàn)圖1所示,例如用戶對(duì)語(yǔ)音產(chǎn)品(即音響或音樂(lè)客戶端)中說(shuō)“我要聽(tīng)冰雨”,后臺(tái)(安裝有客戶端的終端或客戶端的服務(wù)器)的工作流程,包括:檢測(cè)用戶說(shuō)出的“我要聽(tīng)冰雨”這句話,根據(jù)語(yǔ)句來(lái)源分配狀態(tài)機(jī),將語(yǔ)句輸入分配的狀態(tài)機(jī),獲取狀態(tài)機(jī)的輸出結(jié)果,向用戶返回輸出結(jié)果。從以上可以看出,后臺(tái)工作完全由不同的狀態(tài)機(jī)控制。
圖2展示一個(gè)電梯門(mén)的有限狀態(tài)機(jī)的狀態(tài)圖,如圖2所示,該圖中包括兩個(gè)狀態(tài):狀態(tài)1為打開(kāi)的,狀態(tài)2為關(guān)閉的。其中,對(duì)于狀態(tài)1來(lái)說(shuō),進(jìn)入狀態(tài)1的動(dòng)作為開(kāi)門(mén),對(duì)于狀態(tài)2來(lái)說(shuō),進(jìn)入狀態(tài)2的動(dòng)作為關(guān)門(mén);狀態(tài)1與狀態(tài)2之間的轉(zhuǎn)移條件為打開(kāi)或關(guān)閉。
下面詳細(xì)介紹如何將FSM模型應(yīng)用于語(yǔ)義解析過(guò)程,本發(fā)明實(shí)施例的語(yǔ)義解析狀態(tài)機(jī)實(shí)現(xiàn)流程如下:
首先,為狀態(tài)機(jī)的狀態(tài)、轉(zhuǎn)移、條件、動(dòng)作設(shè)計(jì)統(tǒng)一接口。
例如,采用統(tǒng)一的格式并且相互之間可以識(shí)別的語(yǔ)言。
其次,將語(yǔ)義解析中的所有的步驟,繼承于統(tǒng)一接口,封裝為狀態(tài)機(jī)中的節(jié)點(diǎn)。
最后,將所有的節(jié)點(diǎn)連接起來(lái)成為狀態(tài)圖,最后包含所有語(yǔ)義解析步驟的狀態(tài)機(jī)跑起來(lái)。
一般來(lái)說(shuō),語(yǔ)音解析過(guò)程包括以下步驟:
步驟S1,預(yù)處理過(guò)程;
一般來(lái)說(shuō),用戶輸入的語(yǔ)句,終端經(jīng)過(guò)語(yǔ)音識(shí)別會(huì)將語(yǔ)音識(shí)別為待處理文字(即待解析語(yǔ)句);判斷待解析語(yǔ)句是否需要進(jìn)一步解析,如果待解析語(yǔ)句需要進(jìn)一步解析,那么需要進(jìn)入步驟S2,即通過(guò)語(yǔ)義解析算法對(duì)待解析語(yǔ)句進(jìn)行解析;如果待解析語(yǔ)句不需要進(jìn)一步解析,那么進(jìn)入步驟S3,調(diào)用垂直服務(wù)。
步驟S2,通過(guò)語(yǔ)義解析算法對(duì)待解析語(yǔ)句進(jìn)行解析;
如果解析成功,進(jìn)入步驟S3,即調(diào)用垂直服務(wù);如果解析不成功,則進(jìn)入步驟S4,即調(diào)用通用回答(Frequently Asked Questions,F(xiàn)AQ)。
步驟S3,調(diào)用垂直服務(wù);
這里,如果調(diào)用垂直服務(wù)不正確,則重新進(jìn)入步驟S2;如果調(diào)用垂直服務(wù)失敗,則進(jìn)入步驟S3,重新調(diào)用垂直服務(wù)。如果調(diào)用成功,則流程結(jié)束(進(jìn)入結(jié)束狀態(tài))。
步驟S4,調(diào)用通用回答(FAQ);
這里,例如,音樂(lè)軟件在尋找一首歌曲的時(shí)候,沒(méi)有找到結(jié)果,那么就會(huì)返回通用回答,例如發(fā)出語(yǔ)音“沒(méi)找到歌曲”。再如用戶發(fā)出的待解析語(yǔ)句無(wú)法識(shí)別,那么可能也會(huì)向用戶返回通用回答,例如發(fā)出語(yǔ)音“無(wú)法識(shí)別”。向用戶返回通用回答之后,則流程結(jié)束(即進(jìn)入結(jié)束狀態(tài))。
步驟S5,對(duì)待解析語(yǔ)句進(jìn)行本地搜索;
這里,對(duì)于有些語(yǔ)音產(chǎn)品來(lái)說(shuō),還需要進(jìn)行搜索服務(wù),那么步驟S5,則從步驟S4進(jìn)入步驟S5,并不需要任何條件;進(jìn)行本地搜索之后,則流程結(jié)束(進(jìn)入結(jié)束狀態(tài))。
步驟S6,流程結(jié)束。
以上述的6個(gè)步驟為例進(jìn)行說(shuō)明,以上的每一步驟都對(duì)應(yīng)圖3中的一個(gè)狀態(tài),例如步驟S1至步驟S6分別對(duì)應(yīng)于狀態(tài)31至狀態(tài)36,其中步驟S1至步驟S6之間的關(guān)聯(lián)關(guān)系分別對(duì)應(yīng)于狀態(tài)31至狀態(tài)36之間的狀態(tài)轉(zhuǎn)移條件,例如步驟S1與步驟S2之間的關(guān)聯(lián)關(guān)系為:判斷待解析語(yǔ)句是否需要進(jìn)一步解析,如果待解析語(yǔ)句需要進(jìn)一步解析,那么需要進(jìn)入步驟S2;而狀態(tài)31與狀態(tài)32之間的狀態(tài)轉(zhuǎn)移條件為:需要解析條件。再如步驟S1與步驟S3之間的關(guān)聯(lián)關(guān)系為:判斷待解析語(yǔ)句是否需要進(jìn)一步解析,如果待解析語(yǔ)句不需要進(jìn)一步解析,那么需要進(jìn)入步驟S3;而狀態(tài)31與狀態(tài)33之間的狀態(tài)轉(zhuǎn)移條件為:解析成功。
在本發(fā)明的其他實(shí)施例中,圖4為本發(fā)明實(shí)施例語(yǔ)義解析的流程示意圖,如圖4所示,該語(yǔ)義解析流程還可以包括以下步驟:
步驟S401,預(yù)處理;
這里,參見(jiàn)上述實(shí)施例中的步驟S1。
步驟S402,調(diào)用語(yǔ)義解析算法進(jìn)行語(yǔ)義解析;
這里,語(yǔ)義解析算法包括深度學(xué)習(xí)算法、多場(chǎng)景解析模板、NER+詞匯模板、正則模板。
步驟S403,語(yǔ)義消歧;
步驟S404,適配邏輯;
步驟S405,搜索垂直場(chǎng)景;
這里,垂直場(chǎng)景包括去除電話場(chǎng)景、去除短信場(chǎng)景、音樂(lè)場(chǎng)景、笑話場(chǎng)景、吃飯場(chǎng)景、點(diǎn)菜場(chǎng)景、購(gòu)買(mǎi)場(chǎng)景、做飯場(chǎng)景、烹飪場(chǎng)景等。
步驟S406,兜底操作,其中,兜底操作一般包括FAQ、百科搜索、跳轉(zhuǎn)搜索頁(yè)面、開(kāi)放域搜索。
在步驟S403中,很多詞語(yǔ)都有很多意思或語(yǔ)義,而在具體的語(yǔ)境中,詞語(yǔ)有某種特定的意思。而獨(dú)立于上下文來(lái)考慮詞語(yǔ)意思,語(yǔ)義一般都會(huì)出現(xiàn)語(yǔ)義歧義。消除歧義的任務(wù)就是確定一個(gè)多義詞在一個(gè)特定的語(yǔ)境中使用哪一種語(yǔ)義;通過(guò)考慮詞匯使用的上下文完全可以確定其具體的語(yǔ)義。
比較簡(jiǎn)單的方法是從一部詞典中給出某個(gè)詞匯的定義確定該詞匯具有的語(yǔ)義。但對(duì)于大部分詞匯來(lái)說(shuō),語(yǔ)義和用法并不是簡(jiǎn)簡(jiǎn)單單能夠根據(jù)詞典中的定義來(lái)列出,詞典中列出的語(yǔ)義之間有一些是可以清晰分辨的內(nèi)容,但大部分內(nèi)容都是不確定的,并且是混合在一起的。而更難的一點(diǎn)是,詞典中每個(gè)詞匯只能列出一定數(shù)量的語(yǔ)義,而該詞匯在實(shí)際的語(yǔ)境中定義的語(yǔ)義不一定能夠從詞典中的語(yǔ)義中找出。而且一個(gè)詞還具有不同的詞性,確定一個(gè)詞的具體詞性屬于標(biāo)注的任務(wù),這里暫不涉及,但需要知道同一個(gè)詞的不同詞性的確定能夠有效的消除詞匯歧義。下面來(lái)介紹從三種消歧方法。1、有監(jiān)督消歧——基于標(biāo)注訓(xùn)練集的消歧。2、基于詞典的消歧——建立在詞典資源上。3、無(wú)監(jiān)督消歧——未標(biāo)注文本將應(yīng)用到訓(xùn)練里。
一個(gè)產(chǎn)品并不需要圖4中的所有步驟,語(yǔ)義解析只用選合適的,兜底操作則1至2個(gè)即可。以瀏覽器語(yǔ)音助手為例,瀏覽器語(yǔ)音助手的流程步驟為圖4的一個(gè)子集,見(jiàn)圖5所示,該瀏覽器語(yǔ)音解析流程包括:
步驟S501,預(yù)處理;
步驟S502,調(diào)用語(yǔ)義解析算法進(jìn)行語(yǔ)義解析;
這里,語(yǔ)義解析算法包括深度學(xué)習(xí)算法、多場(chǎng)景解析模板、NER+詞匯模板。
步驟S503,語(yǔ)義消歧義;
步驟S504,適配邏輯;
步驟S505,搜索垂直場(chǎng)景;
這里,垂直場(chǎng)景包括去除電話場(chǎng)景、去除短信場(chǎng)景。
步驟S506,兜底操作,其中,兜底操作一般包括百科搜索、跳轉(zhuǎn)搜索頁(yè)面。
基于前述的實(shí)施例,本發(fā)明的實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析方法,應(yīng)用于第一計(jì)算設(shè)備,該方法所實(shí)現(xiàn)的功能可以通過(guò)第一計(jì)算設(shè)備中的處理器調(diào)用程序代碼來(lái)實(shí)現(xiàn),當(dāng)然程序代碼可以保存在計(jì)算機(jī)存儲(chǔ)介質(zhì)中,可見(jiàn),該第一計(jì)算設(shè)備至少包括處理器和存儲(chǔ)介質(zhì)。
圖6為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析方法的實(shí)現(xiàn)流程示意圖,如圖6所示,該方法包括:
步驟S601,確定語(yǔ)音產(chǎn)品的功能;
這里,對(duì)于音箱來(lái)說(shuō),語(yǔ)音產(chǎn)品的功能為根據(jù)用戶的語(yǔ)音指令進(jìn)行搜索歌曲,并播放歌曲;對(duì)于空調(diào)來(lái)說(shuō),語(yǔ)音產(chǎn)品的功能為根據(jù)用戶的語(yǔ)音指令控制空調(diào)的溫度、濕度、持續(xù)時(shí)間等工作參數(shù),并按照確定的工作參數(shù)進(jìn)行工作;對(duì)于瀏覽器語(yǔ)音助手來(lái)說(shuō),根據(jù)用戶的語(yǔ)音指令進(jìn)行搜索,并返回結(jié)果;對(duì)于語(yǔ)音聊天助手來(lái)說(shuō),根據(jù)用戶的語(yǔ)音進(jìn)行對(duì)話。
步驟S602,根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;
步驟S603,為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn);
步驟S604,根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;
步驟S605,將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
在實(shí)施的過(guò)程中,本發(fā)明實(shí)施例中的功能或步驟可以采用配置文件來(lái)表示,例如:將<machine></machine>作為一個(gè)狀態(tài)機(jī)的定義,<state></state>下的內(nèi)容為狀態(tài)名及狀態(tài)對(duì)應(yīng)的動(dòng)作,其中,動(dòng)作由統(tǒng)一接口的類實(shí)現(xiàn)。<transmition></transmition>下為轉(zhuǎn)移定義。定義格式為遷移=當(dāng)前狀態(tài)|條件|下一個(gè)狀態(tài)。
相關(guān)技術(shù)中,接入任何一款新產(chǎn)品,需要進(jìn)行重新編碼,應(yīng)用本實(shí)施例提供的技術(shù)方案后,只需根據(jù)產(chǎn)品需求定制不同的解析流程即可,簡(jiǎn)單靈活高效。對(duì)不用的解析流程作解釋,舉例來(lái)說(shuō),在瀏覽器語(yǔ)音助手中說(shuō),人物A(例如李小鵬)是誰(shuí),用戶看到的動(dòng)作是,跳轉(zhuǎn)搜索頁(yè)面,利用瀏覽器搜索人物A這個(gè)關(guān)鍵詞。而在微桌面中,則直接吐出人物A的百科信息。
需要說(shuō)明的是,第一計(jì)算設(shè)備形成狀態(tài)機(jī)后,可以將狀態(tài)機(jī)運(yùn)行在第一計(jì)算設(shè)備上;或者將狀態(tài)機(jī)輸出給第二計(jì)算設(shè)備,然后第二計(jì)算設(shè)備運(yùn)行該狀態(tài)機(jī)?;诖?,無(wú)論是第一計(jì)算設(shè)備或第二計(jì)算設(shè)備運(yùn)行狀態(tài)機(jī),該方法還包括:
步驟S606,獲取語(yǔ)音產(chǎn)品的待解析語(yǔ)句;
步驟S607,將所述待解析語(yǔ)句輸入預(yù)設(shè)的狀態(tài)機(jī)的第一個(gè)節(jié)點(diǎn);
步驟S608,從所述狀態(tài)機(jī)的最后一個(gè)節(jié)點(diǎn)獲取輸出結(jié)果;
步驟S609,將所述輸出結(jié)果輸出。
下面提供幾種實(shí)現(xiàn)步驟S605,“將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)”的方式:
方式一:首先,步驟S603,“為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn)”包括:在所述步驟集合中,根據(jù)每一步驟與其他步驟之間的連接關(guān)系確定每一步驟對(duì)應(yīng)節(jié)點(diǎn)到其他步驟對(duì)應(yīng)節(jié)點(diǎn)之間的轉(zhuǎn)移條件;對(duì)應(yīng)地,步驟S605包括:按照所述轉(zhuǎn)移條件將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
方式二,所述將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī),包括:根據(jù)所述步驟集合中每?jī)蓚€(gè)步驟之間的連接關(guān)系確定各每?jī)蓚€(gè)步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;根據(jù)所述節(jié)點(diǎn)集合中各節(jié)點(diǎn)之間的連接關(guān)系形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
這里,每?jī)蓚€(gè)步驟是指步驟集合所有可能的步驟組合,假設(shè)步驟集合包括步驟a、b、c和d,那么每?jī)蓚€(gè)步驟包括步驟a與步驟b、步驟a與步驟c、步驟a與步驟d、步驟b與步驟c、步驟b與步驟d、步驟c與步驟d。
這里,每?jī)蓚€(gè)步驟之間的連接關(guān)系(關(guān)聯(lián)關(guān)系)參見(jiàn)上述的步驟S1與步驟S2,例如步驟S1與步驟S2之間的關(guān)聯(lián)關(guān)系為:判斷待解析語(yǔ)句是否需要進(jìn)一步解析,如果待解析語(yǔ)句需要進(jìn)一步解析,那么需要進(jìn)入步驟S2;而狀態(tài)31與狀態(tài)32之間的狀態(tài)轉(zhuǎn)移條件為:需要解析條件。再如步驟S1與步驟S3之間的關(guān)聯(lián)關(guān)系為:判斷待解析語(yǔ)句是否需要進(jìn)一步解析,如果待解析語(yǔ)句不需要進(jìn)一步解析,那么需要進(jìn)入步驟S3;而狀態(tài)31與狀態(tài)33之間的狀態(tài)轉(zhuǎn)移條件為:解析成功。
方式三:所述將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī),包括:獲取每一步驟對(duì)應(yīng)的節(jié)點(diǎn)的標(biāo)識(shí);根據(jù)每一步驟對(duì)應(yīng)的節(jié)點(diǎn)的標(biāo)識(shí)按照預(yù)設(shè)的狀態(tài)圖形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
在上述的方式三中,包括形成預(yù)設(shè)的狀態(tài)圖的過(guò)程,該形成預(yù)設(shè)的狀態(tài)圖包括:
步驟SA1,確定語(yǔ)義解析中的步驟全集,所述步驟全集至少包括兩個(gè)以上的步驟,所述步驟集合為所述步驟全集的子集;
這里,步驟全集和步驟集合可能包括相同數(shù)量的步驟,但是步驟全集可能比步驟集合的步驟多,其中子集表示步驟全集所包括的步驟與步驟集合所包括的步驟的數(shù)量相同。
步驟SA2,為所述步驟全集中的每一步驟封裝為狀態(tài)機(jī)的節(jié)點(diǎn);
步驟SA3,根據(jù)所述步驟全集中每?jī)蓚€(gè)步驟之間的連接關(guān)系確定各每?jī)蓚€(gè)步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;
步驟SA4,根據(jù)各節(jié)點(diǎn)之間的連接關(guān)系,形成狀態(tài)圖。
這里,步驟A2,所述為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn),包括:獲取步驟與節(jié)點(diǎn)之間的關(guān)聯(lián)信息;根據(jù)所述關(guān)聯(lián)信息確定為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn)。
這里,關(guān)聯(lián)信息用于表征步驟與節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系,在實(shí)施的過(guò)程中,可以采用對(duì)應(yīng)關(guān)系列表來(lái)實(shí)現(xiàn),根據(jù)步驟的標(biāo)識(shí)查詢對(duì)應(yīng)關(guān)系列表,得到對(duì)應(yīng)的節(jié)點(diǎn)。
在本發(fā)明的其他實(shí)施例中,為了保證步驟與節(jié)點(diǎn)(狀態(tài)機(jī)的狀態(tài))之間的對(duì)應(yīng)關(guān)系,本發(fā)明實(shí)施例還包括判斷步驟與節(jié)點(diǎn)之間的匹配對(duì)應(yīng)關(guān)系,即本實(shí)施例中該方法還包括:
步驟SB1,獲取第一連接關(guān)系,所述第一連接關(guān)系為所述步驟集合中第一步驟與所述步驟集合中除所述第一步驟外其他步驟之間的連接關(guān)系;
步驟SB2,獲取第二連接關(guān)系,所述第二連接關(guān)系為所述步驟集合中第一步驟對(duì)應(yīng)的節(jié)點(diǎn)與所述狀態(tài)機(jī)中除所述第一步驟外其他步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;
步驟SB3,如果所述第一連接關(guān)系與所述第二連接關(guān)系匹配,將所述第一步驟對(duì)應(yīng)的節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn);
這里,判斷所述第一連接關(guān)系與所述第二連接關(guān)系是否匹配,得到判斷結(jié)果;如果所述判斷結(jié)果表明所述第一連接關(guān)系與所述第二連接關(guān)系,將所述節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn);如果所述第一連接關(guān)系與所述第二連接關(guān)系,重新為所述步驟確定將所述節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn);
步驟SB4,如果所述第一連接關(guān)系與所述第二連接關(guān)系不匹配,重新為所述第一步驟確定節(jié)點(diǎn)。
基于前述的實(shí)施例,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析裝置,該裝置所包括的各單元,以及各單元所包括各模塊,都可以通過(guò)第一計(jì)算設(shè)備中的處理器來(lái)實(shí)現(xiàn),在實(shí)現(xiàn)的過(guò)程中,處理器所實(shí)現(xiàn)的功能當(dāng)然也可通過(guò)具體的邏輯電路實(shí)現(xiàn);在具體實(shí)施例的過(guò)程中,處理器可以為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號(hào)處理器(DSP)或現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等。
在實(shí)現(xiàn)的過(guò)程中,第一計(jì)算設(shè)備以采用各種具有信息處理能力的電子設(shè)備來(lái)實(shí)現(xiàn),例如電子設(shè)備可以為智能手機(jī)、筆記本電腦、臺(tái)式計(jì)算機(jī)、服務(wù)器集群等來(lái)實(shí)現(xiàn)。
圖7為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析裝置的組成結(jié)構(gòu)示意圖,如圖7所示,所述裝置700包括第一確定單元701、第二確定單元702、第三確定單元703、第一形成單元704和第二形成單元705,其中:
所述第一確定單元701,用于確定語(yǔ)音產(chǎn)品的功能;
所述第二確定單元702,用于根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;
所述第三確定單元703,用于為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn),
所述第一形成單元704,用于根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;
所述第二形成單元705,用于將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
下面提供兩種實(shí)現(xiàn)第二形成單元705的方式:
方式一:所述第二形成單元包括第一確定模塊和第一形成模塊,其中:所述第一確定模塊,用于根據(jù)所述步驟集合中每?jī)蓚€(gè)步驟之間的連接關(guān)系確定各每?jī)蓚€(gè)步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;所述第一形成模塊,用于根據(jù)所述節(jié)點(diǎn)集合中各節(jié)點(diǎn)之間的連接關(guān)系形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
方式二,所述第二形成單元包括獲取模塊和第二形成模塊,其中:所述獲取模塊,用于獲取每一步驟對(duì)應(yīng)的節(jié)點(diǎn)的標(biāo)識(shí);所述第二形成模塊,用于根據(jù)每一步驟對(duì)應(yīng)的節(jié)點(diǎn)的標(biāo)識(shí)按照預(yù)設(shè)的狀態(tài)圖形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
在本發(fā)明的其他實(shí)施例中,方式二中,所述裝置還包括用于形成預(yù)設(shè)的狀態(tài)圖的第三形成單元,所述第三形成單元包括第二確定模塊、封裝模塊、第三確定模塊和第三形成模塊,其中:
所述第二確定模塊,用于確定語(yǔ)義解析中的步驟全集,所述步驟全集至少包括兩個(gè)以上的步驟,所述步驟集合為所述步驟全集的子集;
所述封裝模塊,用于為所述步驟全集中的每一步驟封裝為狀態(tài)機(jī)的節(jié)點(diǎn);
所述第二確定模塊,用于根據(jù)所述步驟全集中每?jī)蓚€(gè)步驟之間的連接關(guān)系確定各每?jī)蓚€(gè)步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;
所述第三形成模塊,用于根據(jù)各節(jié)點(diǎn)之間的連接關(guān)系,形成狀態(tài)圖。
在本發(fā)明的其他實(shí)施例中,方式二中的第二確定模塊進(jìn)一步包括獲取子模塊和確定子模塊,其中:
所述獲取子模塊,用于獲取步驟與節(jié)點(diǎn)之間的關(guān)聯(lián)信息;
所述確定子模塊,用于根據(jù)所述關(guān)聯(lián)信息確定為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn)。
在本發(fā)明的其他實(shí)施例中,所述裝置還包括第一獲取單元、第二獲取單元、匹配單元和不匹配單元,其中:
所述第一獲取單元,用于獲取第一連接關(guān)系,所述第一連接關(guān)系為所述步驟集合中第一步驟與所述步驟集合中除所述第一步驟外其他步驟之間的連接關(guān)系;
所述第二獲取單元,用于獲取第二連接關(guān)系,所述第二連接關(guān)系為所述步驟集合中第一步驟對(duì)應(yīng)的節(jié)點(diǎn)與所述狀態(tài)機(jī)中除所述第一步驟外其他步驟對(duì)應(yīng)的節(jié)點(diǎn)之間的連接關(guān)系;
所述匹配單元,用于如果所述第一連接關(guān)系與所述第二連接關(guān)系匹配,將所述第一步驟對(duì)應(yīng)的節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn);
所述不匹配單元,用于如果所述第一連接關(guān)系與所述第二連接關(guān)系不匹配,重新為所述第一步驟確定節(jié)點(diǎn)。
這里,所述裝置還包括判斷單元,用于判斷所述第一連接關(guān)系與所述第二連接關(guān)系是否匹配,得到判斷結(jié)果;如果所述判斷結(jié)果表明所述第一連接關(guān)系與所述第二連接關(guān)系,將所述節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn);如果所述第一連接關(guān)系與所述第二連接關(guān)系,重新為所述步驟確定將所述節(jié)點(diǎn)確定為所述節(jié)點(diǎn)集合中一個(gè)節(jié)點(diǎn)。
這里需要指出的是:以上裝置實(shí)施例的描述,與上述方法實(shí)施例的描述是類似的,具有同方法實(shí)施例相似的有益效果,因此不做贅述。對(duì)于本發(fā)明裝置實(shí)施例中未披露的技術(shù)細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例的描述而理解,為節(jié)約篇幅,因此不再贅述。
基于前述的實(shí)施例,本發(fā)明實(shí)施例提供一種基于狀態(tài)機(jī)的語(yǔ)義解析裝置,該裝置所包括的各單元,以及各單元所包括各模塊,都可以通過(guò)第二計(jì)算設(shè)備中的處理器來(lái)實(shí)現(xiàn),在實(shí)現(xiàn)的過(guò)程中,處理器所實(shí)現(xiàn)的功能當(dāng)然也可通過(guò)具體的邏輯電路實(shí)現(xiàn);在具體實(shí)施例的過(guò)程中,處理器可以為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號(hào)處理器(DSP)或現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等。
在實(shí)現(xiàn)的過(guò)程中,第二計(jì)算設(shè)備以采用各種具有信息處理能力的電子設(shè)備來(lái)實(shí)現(xiàn),例如電子設(shè)備可以為智能手機(jī)、筆記本電腦、臺(tái)式計(jì)算機(jī)、服務(wù)器集群等來(lái)實(shí)現(xiàn)。
圖8為本發(fā)明實(shí)施例基于狀態(tài)機(jī)的語(yǔ)義解析裝置的組成結(jié)構(gòu)示意圖,如圖8所示,所述裝置800還包括第三獲取單元801、輸入單元802、第三獲取單元803和輸出單元804,其中:
所述第三獲取單元801,用于獲取語(yǔ)音產(chǎn)品的待解析語(yǔ)句;
所述輸入單元802,用于將所述待解析語(yǔ)句輸入預(yù)設(shè)的狀態(tài)機(jī)的第一個(gè)節(jié)點(diǎn);
所述第四獲取單元803,用于從所述狀態(tài)機(jī)的最后一個(gè)節(jié)點(diǎn)獲取輸出結(jié)果;
所述輸出單元804,用于將所述輸出結(jié)果輸出。
在本發(fā)明的其他實(shí)施例中,所述裝置包括第一確定單元、第二確定單元、第三確定單元、第一形成單元和第二形成單元,其中:
所述第一確定單元,用于確定語(yǔ)音產(chǎn)品的功能;
所述第二確定單元,用于根據(jù)所述語(yǔ)音產(chǎn)品的功能確定所述語(yǔ)音產(chǎn)品在語(yǔ)義解析中的步驟集合,所述步驟集合中至少包括兩個(gè)以上的步驟;
所述第三確定單元,用于為所述步驟集合中的每一步驟確定對(duì)應(yīng)的狀態(tài)機(jī)的節(jié)點(diǎn),
所述第一形成單元,用于根據(jù)確定的節(jié)點(diǎn)形成節(jié)點(diǎn)集合;
所述第二形成單元,用于將所述節(jié)點(diǎn)集合形成所述語(yǔ)音產(chǎn)品的狀態(tài)機(jī)。
這里需要指出的是:以上裝置實(shí)施例的描述,與上述方法實(shí)施例的描述是類似的,具有同方法實(shí)施例相似的有益效果,因此不做贅述。對(duì)于本發(fā)明裝置實(shí)施例中未披露的技術(shù)細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例的描述而理解,為節(jié)約篇幅,因此不再贅述。
在本發(fā)明的其他實(shí)施例中,前述實(shí)施例中的第一計(jì)算設(shè)備為了形成狀態(tài)機(jī),第一計(jì)算設(shè)備形成的狀態(tài)機(jī)可以運(yùn)行在第一計(jì)算設(shè)備上,也可以作為一個(gè)功能模塊運(yùn)行在第二計(jì)算設(shè)備上,第二計(jì)算設(shè)備可以為語(yǔ)音產(chǎn)品的服務(wù)器也可以為語(yǔ)音產(chǎn)品的終端,換句話說(shuō),第一計(jì)算設(shè)備形成的狀態(tài)機(jī)可以輸出給語(yǔ)音產(chǎn)品的服務(wù)器也可以輸出給語(yǔ)音產(chǎn)品的終端,基于這種理解,本發(fā)明的實(shí)施例再提供一種基于狀態(tài)機(jī)的語(yǔ)義解析系統(tǒng),該系統(tǒng)有多種實(shí)現(xiàn)模式,其中:
第一種模式:如圖9的A圖所示,第一種模式的系統(tǒng)900包括第一計(jì)算設(shè)備901、第二計(jì)算設(shè)備902和終端903,其中:
第一計(jì)算設(shè)備901用于形成狀態(tài)機(jī)(如前述的方法或圖8所示的實(shí)施例),然后將形成的狀態(tài)機(jī)輸出給第二計(jì)算設(shè)備902;
終端903上安裝有語(yǔ)音產(chǎn)品的客戶端(例如手機(jī)語(yǔ)音助手如、瀏覽器語(yǔ)音助手),用戶在終端上打開(kāi)客戶端,然后用戶說(shuō)出一句話,客戶端檢測(cè)用戶所說(shuō)的話(待解析語(yǔ)句),然后客戶端將待解析語(yǔ)句發(fā)送給第二計(jì)算設(shè)備902;
第二計(jì)算設(shè)備902作為終端903的服務(wù)器,第二計(jì)算設(shè)備902上運(yùn)行有第一設(shè)備901輸出的狀態(tài)機(jī),第二計(jì)算設(shè)備還用于接收終端903輸出的待解析語(yǔ)句,然后將待解析語(yǔ)句輸入運(yùn)行在第二計(jì)算設(shè)備上的狀態(tài)機(jī),然后獲取從狀態(tài)機(jī)上輸出的輸出結(jié)果,并將輸出結(jié)果返回給終端,最后終端將輸出結(jié)果輸出給用戶。
第二種模式:如圖9的B圖所示,第二種模式的系統(tǒng)900包括第一計(jì)算設(shè)備901和第二計(jì)算設(shè)備902,其中:
第一計(jì)算設(shè)備901用于形成狀態(tài)機(jī)(如前述的方法或圖8所示的實(shí)施例),然后將形成的狀態(tài)機(jī)輸出給第二計(jì)算設(shè)備902;
第二計(jì)算設(shè)備902作為終端,第二計(jì)算設(shè)備902上安裝有語(yǔ)音產(chǎn)品的客戶端(例如手機(jī)語(yǔ)音助手如蘋(píng)果公司的siri、瀏覽器語(yǔ)音助手),用戶在終端上打開(kāi)客戶端,然后用戶說(shuō)出一句話,客戶端檢測(cè)用戶所說(shuō)的話(待解析語(yǔ)句),然后客戶端將待解析語(yǔ)句發(fā)送給運(yùn)行在第二計(jì)算設(shè)備902上的狀態(tài)機(jī);狀態(tài)機(jī)運(yùn)行后,將輸出結(jié)果發(fā)送給客戶端,然后客戶端獲取從狀態(tài)機(jī)上輸出的輸出結(jié)果,最后客戶端將輸出結(jié)果輸出給用戶。在實(shí)現(xiàn)的過(guò)程中,狀態(tài)機(jī)可以獨(dú)立于客戶端,也可以作為客戶端的一部分,當(dāng)狀態(tài)機(jī)作為客戶端的一部分時(shí),客戶端包括檢測(cè)裝置和狀態(tài)機(jī),其中檢測(cè)裝置用于檢測(cè)用戶所說(shuō)的話(待解析語(yǔ)句),然后檢測(cè)裝置將待解析語(yǔ)句發(fā)送給運(yùn)行在第二計(jì)算設(shè)備902上的狀態(tài)機(jī)。
需要說(shuō)明的是,本發(fā)明實(shí)施例中,如果以軟件功能模塊的形式實(shí)現(xiàn)上述的基于狀態(tài)機(jī)的語(yǔ)義解析方法,并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read Only Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。這樣,本發(fā)明實(shí)施例不限制于任何特定的硬件和軟件結(jié)合。
相應(yīng)地,本發(fā)明實(shí)施例再提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被處理器執(zhí)行時(shí)用于執(zhí)行本發(fā)明實(shí)施例中基于狀態(tài)機(jī)的語(yǔ)義解析方法。
相應(yīng)地,本發(fā)明實(shí)施例再提供一種計(jì)算設(shè)備,包括:存儲(chǔ)器、處理器和用于存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)用于實(shí)現(xiàn)本發(fā)明各實(shí)施例中的基于狀態(tài)機(jī)的語(yǔ)義解析方法。
這里需要指出的是:以上計(jì)算設(shè)備實(shí)施例項(xiàng)的描述,與上述方法描述是類似的,具有同方法實(shí)施例相同的有益效果。對(duì)于本發(fā)明計(jì)算設(shè)備實(shí)施例中未披露的技術(shù)細(xì)節(jié),本領(lǐng)域的技術(shù)人員請(qǐng)參照本發(fā)明方法實(shí)施例的描述而理解。
在實(shí)現(xiàn)的過(guò)程中,第一計(jì)算設(shè)備、第二計(jì)算設(shè)備、終端都可以通過(guò)電子設(shè)備來(lái)實(shí)現(xiàn),圖10為本發(fā)明實(shí)施例電子設(shè)備的組成結(jié)構(gòu)示意圖,如圖10所示,該計(jì)算設(shè)備1000可以包括:至少一個(gè)處理器1001、至少一個(gè)通信總線1002、用戶接口1003、至少一個(gè)外部通信接口1004和至少一個(gè)的存儲(chǔ)器1005。其中,通信總線1002用于實(shí)現(xiàn)這些組件之間的連接通信。其中,用戶接口1003可以包括顯示屏和鍵盤(pán)。外部通信接口1004可選的可以包括標(biāo)準(zhǔn)的有線接口和無(wú)線接口。
應(yīng)理解,說(shuō)明書(shū)通篇中提到的“一個(gè)實(shí)施例”或“一實(shí)施例”意味著與實(shí)施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在整個(gè)說(shuō)明書(shū)各處出現(xiàn)的“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”未必一定指相同的實(shí)施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。應(yīng)理解,在本發(fā)明的各種實(shí)施例中,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)單元或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過(guò)一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
上述作為分離部件說(shuō)明的單元可以是、或也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是、或也可以不是物理單元;既可以位于一個(gè)地方,也可以分布到多個(gè)網(wǎng)絡(luò)單元上;可以根據(jù)實(shí)際的需要選擇其中的部分或全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各實(shí)施例中的各功能單元可以全部集成在一個(gè)處理單元中,也可以是各單元分別單獨(dú)作為一個(gè)單元,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中;上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、只讀存儲(chǔ)器(Read Only Memory,ROM)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、ROM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。