本發(fā)明涉及信息處理領(lǐng)域,具體而言,涉及一種自然語言處理方法及裝置。
背景技術(shù):
在科技發(fā)展的今天,信息迅速膨脹,自然語言理解技術(shù)已成為人們?nèi)粘I钜约翱萍籍a(chǎn)業(yè)關(guān)注的焦點,它也是衡量機(jī)器智能化的一個重要指標(biāo)。近年來隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展以及深度學(xué)習(xí)技術(shù)應(yīng)用的普及,自然語言技術(shù)也開始應(yīng)用于多個領(lǐng)域(如,搜索、問答、對話機(jī)器人等),提高機(jī)器對自然語言的理解能力,從而降低人機(jī)溝通的門檻。
但是,隨著自然語言理解技術(shù)的普及,不同的行業(yè)都會面臨一個共同的問題,深度學(xué)習(xí)需要特定領(lǐng)域龐大的語料作驅(qū)動。對于不同的應(yīng)用領(lǐng)域來說,如何獲取有效的數(shù)據(jù),成為問題的核心。大部分任務(wù)在創(chuàng)建之初并沒有可供使用的特定語料,因此很難在特定的領(lǐng)域?qū)崿F(xiàn)不同人機(jī)的對話;同時對于自然語言的處理,也無法準(zhǔn)確確定自然語言處理結(jié)果,向終端等設(shè)備呈現(xiàn)的結(jié)果也不準(zhǔn)確,導(dǎo)致在人機(jī)溝通的過程中降低用戶的體驗感。
在聊天機(jī)器人領(lǐng)域,可分為open域和close域(又叫任務(wù)驅(qū)動)的聊天機(jī)器人,其中,自然語言存在多變性和抽象性,在任務(wù)驅(qū)動聊天機(jī)器人方面,其中一種是基于深度學(xué)習(xí)技術(shù),通過模擬整個對話過程,實現(xiàn)人機(jī)交互。但是此種方案需要大量的語料做驅(qū)動,對于項目初創(chuàng)階段,如果沒有好的資源依托很難得到滿意的結(jié)果。另外一種方案是偏向于應(yīng)用的對話服務(wù)機(jī)器人,該方案通過自身產(chǎn)品的優(yōu)勢(如百度、Google有龐大的后臺語料數(shù)據(jù)庫)或者常年在自然語言方面的積累(小型機(jī)器人對話),挖掘大量的實體構(gòu)建實體關(guān)系庫,但是實體關(guān)系庫中的資源一般都是不公開的,其他企業(yè)很難利用這方面的優(yōu)勢去構(gòu)建符合企業(yè)自身的產(chǎn)品,而且該類產(chǎn)品的應(yīng)用領(lǐng)域也是有限的。也無法通過自然語言的對話實現(xiàn)人機(jī)順暢的交互。
針對上述的無法準(zhǔn)確確定自然語言對應(yīng)的信息的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種自然語言處理方法及裝置,以至少解決無法準(zhǔn)確確定自然語言對應(yīng)的信息的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種自然語言處理方法,包括:接收第一語句,其中,所述第一語句為自然語言表達(dá)的語句;提取所述第一語句的一個或多個關(guān)鍵詞;查找到所述一個或多個關(guān)鍵詞對應(yīng)的信息或命令;呈現(xiàn)所述信息或所述命令的執(zhí)行結(jié)果。
進(jìn)一步地,提取所述第一語句的一個或多個關(guān)鍵詞包括:對所述第一語句進(jìn)行分詞得到多個詞語;使用所述多個詞語與預(yù)先配置的多個模板進(jìn)行匹配,其中,所述模板是指由多個語義元組成的連貫語義模式,每個所述語義元有預(yù)先設(shè)定的與所述模板對應(yīng)的語義貢獻(xiàn)度,所述語義元是指具有相同或近似語義的關(guān)鍵詞集合;從所述多個模板中獲取第一模板,所述第一模板是指與所述多個詞語部分或全部語義關(guān)聯(lián)度最高的模板;獲取所述多個詞語中與所述第一模板中的語義元匹配成功的詞語,將所述匹配成功的詞語作為關(guān)鍵詞。
進(jìn)一步地,在查找到所述一個或多個關(guān)鍵詞對應(yīng)的信息或命令之后,所述方法還包括:在所述信息或所述命令的執(zhí)行結(jié)果不唯一的情況下,呈現(xiàn)提示信息,其中,所述提示信息用于指示輸入屬性參數(shù);接收第二語句,并從所述第二語句中獲取屬性參數(shù);呈現(xiàn)所述信息或所述命令的執(zhí)行結(jié)果包括:根據(jù)所述屬性參數(shù)呈現(xiàn)所述信息或所述命令的執(zhí)行結(jié)果。
進(jìn)一步地,所述一個或多個關(guān)鍵詞包括:用于查找信息或命令的第一關(guān)鍵詞、和用于標(biāo)識屬性參數(shù)的第二關(guān)鍵詞,查找到所述一個或多個第一關(guān)鍵詞對應(yīng)的信息或命令包括:根據(jù)所述第一關(guān)鍵詞查找與所述第一關(guān)鍵詞對應(yīng)的信息或命令,其中,所述第二關(guān)鍵詞作為所述信息或命令的屬性參數(shù)。
進(jìn)一步地,根據(jù)所述第一關(guān)鍵詞查找與所述第一關(guān)鍵詞對應(yīng)的信息或命令包括:使用所述第一關(guān)鍵詞,作為預(yù)先配置的至少一個決策的輸入;獲取所述至少一個決策中的最優(yōu)決策對應(yīng)的信息或命令。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種自然語言處理裝置,包括:接收單元,用于接收第一語句,其中,所述第一語句為自然語言表達(dá)的語句;提取單元,用于提取所述第一語句的一個或多個關(guān)鍵詞;查找單元,用于查找到所述一個或多個關(guān)鍵詞對應(yīng)的信息或命令;第一呈現(xiàn)單元,用于呈現(xiàn)所述信息或所述命令的執(zhí)行結(jié)果。
進(jìn)一步地,所述提取單元包括:分詞模塊,用于對所述第一語句進(jìn)行分詞得到多個詞語;匹配模塊,用于使用所述多個詞語與預(yù)先配置的多個模板進(jìn)行匹配,其中,所述模板是指由多個語義元組成的連貫語義模式,每個所述語義元有預(yù)先設(shè)定的與所述模板對應(yīng)的語義貢獻(xiàn)度,所述語義元是指具有相同或近似語義的關(guān)鍵詞集合;第一獲取模塊,用于從所述多個模板中獲取第一模板,所述第一模板是指與所述多個詞語部分或全部語義關(guān)聯(lián)度最高的模板;第二獲取模塊,用于獲取所述多個詞語中與所述第一模板中的語義元匹配成功的詞語,將所述匹配成功的詞語作為關(guān)鍵詞。
進(jìn)一步地,所述裝置還包括:第二呈現(xiàn)單元,用于在查找到所述一個或多個關(guān)鍵詞對應(yīng)的信息或命令之后,所述信息或所述命令的執(zhí)行結(jié)果不唯一的情況下,呈現(xiàn)提示信息,其中,所述提示信息用于指示輸入屬性參數(shù);接收第二語句,并從所述第二語句中獲取屬性參數(shù);所述第一呈現(xiàn)單元包括:呈現(xiàn)模塊,用于根據(jù)所述屬性參數(shù)呈現(xiàn)所述信息或所述命令的執(zhí)行結(jié)果。
進(jìn)一步地,所述一個或多個關(guān)鍵詞包括:用于查找信息或命令的第一關(guān)鍵詞、和用于標(biāo)識屬性參數(shù)的第二關(guān)鍵詞,所述查找單元包括:查找模塊,用于根據(jù)所述第一關(guān)鍵詞查找與所述第一關(guān)鍵詞對應(yīng)的信息或命令,其中,所述第二關(guān)鍵詞作為所述信息或命令的屬性參數(shù)。
進(jìn)一步地,所述查找模塊包括:使用子模塊,用于使用所述第一關(guān)鍵詞,作為預(yù)先配置的至少一個決策的輸入;獲取子模塊,用于獲取所述至少一個決策中的最優(yōu)決策對應(yīng)的信息或命令。
在本發(fā)明實施例中,可以利用服務(wù)設(shè)備接收第一語句,其中,該第一語句可以為自然語言表達(dá)的語句,在接收到第一語句后,可以提取第一語句的一個或多個關(guān)鍵詞,并查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令,最后,可以在顯示界面中呈現(xiàn)該信息或命令的執(zhí)行結(jié)果。本發(fā)明實施例可以根據(jù)通過分析自然語言所表述的語句,提取出關(guān)鍵詞,并根據(jù)該關(guān)鍵詞查找到語句對應(yīng)的信息,可以較為準(zhǔn)確的得出自然語言對應(yīng)的信息或命令,解決無法準(zhǔn)確確定自然語言對應(yīng)的信息的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的一種可選的自然語言處理方法的流程圖一;
圖2是根據(jù)本發(fā)明實施例的一種可選的自然語言處理方法的流程圖二;
圖3是根據(jù)本發(fā)明實施例的一種可選的自然語言處理示意圖一;
圖4是根據(jù)本發(fā)明實施例的一種可選的自然語言處理示意圖二;
圖5是根據(jù)本發(fā)明實施例的一種可選的自然語言處理示意圖三;以及
圖6是根據(jù)本發(fā)明實施例的另一種可選的自然語言處理裝置的結(jié)構(gòu)圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本發(fā)明實施例,提供了一種自然語言處理的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實施例的一種可選的自然語言處理方法的流程圖一,如圖1所示,該方法包括如下步驟:
步驟S102,接收第一語句,其中,第一語句為自然語言表達(dá)的語句;
步驟S104,提取第一語句的一個或多個關(guān)鍵詞;
步驟S106,查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令;
步驟S108,呈現(xiàn)信息或命令的執(zhí)行結(jié)果。
通過上述實施例,可以利用服務(wù)設(shè)備(如機(jī)器人)接收第一語句,其中,該第一語句可以為自然語言表達(dá)的語句,在接收到第一語句后,可以提取第一語句的一個或多個關(guān)鍵詞,并查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令,最后,可以在顯示界面中呈現(xiàn)該信息或命令的執(zhí)行結(jié)果。本發(fā)明實施例可以根據(jù)通過分析自然語言所表述的語句,提取出多個關(guān)鍵詞,并根據(jù)該關(guān)鍵詞查找到語句對應(yīng)的信息或命令,可以較為準(zhǔn)確的得出自然語言對應(yīng)的信息或命令,解決無法準(zhǔn)確確定自然語言對應(yīng)的信息的技術(shù)問題。
可選的,上述實施例的服務(wù)設(shè)備可以是機(jī)器人、終端等可以實現(xiàn)人機(jī)交互的設(shè)備,該服務(wù)設(shè)備可以接收用戶發(fā)出的語音或接收用戶輸入的語句。其中,終端可以是智能手機(jī)、電腦等設(shè)備,在終端中可以安裝用于實現(xiàn)人機(jī)交互的應(yīng)用,用戶可以通過向該應(yīng)用輸入自然語言,得到想要的結(jié)果,例如,用戶輸入“查看周杰倫個人資料”,該終端應(yīng)用可以查找到“周杰倫”的個人資料,并將該個人資料在終端顯示界面呈現(xiàn)出來??蛇x的,服務(wù)設(shè)備可以實現(xiàn)與用戶進(jìn)一步交互,在用戶輸入自然語言后,通過分析自言語言的內(nèi)容,向用戶發(fā)出一定的信息,通過不斷地交互,得出用戶想要的結(jié)果。
優(yōu)選的,服務(wù)設(shè)備可以是聊天機(jī)器人。
其中,用戶輸入的自然語言可以包括多種內(nèi)容,用戶輸入的內(nèi)容可以是希望服務(wù)設(shè)備做的動作,如用戶輸入“開啟音樂”,則服務(wù)設(shè)備可以將音樂應(yīng)用打開;用戶輸入的內(nèi)容也可以是查詢語言,如用戶輸入“查詢張三資料”,則服務(wù)設(shè)備在接收到該查詢語言后,將“張三”資料呈現(xiàn)給用戶。
可選的,在步驟S102提供的技術(shù)方案中,接收第一語句,其中,第一語句為自然語言表達(dá)的語句。對于該第一語句,可以是用戶輸入的自然語言。其中,自然語言可以包括多種情況,如,一個詞、一句話、一個公式、數(shù)字等內(nèi)容,不同的自然語言表達(dá)的內(nèi)容也不同。
另一種可選的實施方式,在接收第一語句后,可以查詢用戶使用權(quán)限,并判斷用戶是否有查找信息的權(quán)限。其中,該權(quán)限可以包括一級權(quán)限、二級權(quán)限、三級權(quán)限等,其中,一級權(quán)限可以是普通用戶使用的權(quán)限,普通用戶在輸入相關(guān)信息后,服務(wù)設(shè)備可以獲取到其權(quán)限是一級權(quán)限,可以做基本的查詢、交互、開啟應(yīng)用、關(guān)閉應(yīng)用、關(guān)閉普通設(shè)備等操作;二級權(quán)限可以是管理者的權(quán)限,二級權(quán)限可以用戶開啟或關(guān)閉核心設(shè)備、查詢內(nèi)部人員的基本信息等操作;三級權(quán)限可以是服務(wù)設(shè)備維護(hù)人員的權(quán)限,三級權(quán)限可以對服務(wù)設(shè)備的服務(wù)內(nèi)容做修改。其中,在輸入相關(guān)信息進(jìn)入服務(wù)設(shè)備時,服務(wù)設(shè)備可以驗證用戶輸入的內(nèi)容是否正確,若不正確,則用戶不可以進(jìn)行任何操作,若正確,用戶可以做其權(quán)限之內(nèi)的操作。其中,相關(guān)信息可以包括用戶的用戶名、密碼等內(nèi)容。
在步驟S104提供的技術(shù)方案中,提取第一語句的一個或多個關(guān)鍵詞。第一語句中可以包括多個詞語,其中,可以有一個或多個關(guān)鍵詞是第一語句的核心詞語,該關(guān)鍵詞是用戶想要進(jìn)行相關(guān)操作的詞語,例如,第一語句是“預(yù)定會議室”,則其中“會議室”可以是關(guān)鍵詞。在提取關(guān)鍵詞的過程中,可以先對第一語句進(jìn)行分詞,將第一語句中的多個詞語拆分開,如在“預(yù)定會議室”中,可以分出“預(yù)定”“會議室”兩個詞語,可以通過詞法分析,得到多個關(guān)鍵詞。
其中,在提取第一語句中關(guān)鍵詞的時候,可以預(yù)先對第一語句進(jìn)行分詞,例如,接收到的第一語句為“預(yù)定明天下午兩點會議室”,在分詞后,可以得到“預(yù)訂”、“明天”、“下午”、“兩點”、以及“會議室”這幾個詞語,可選的,分詞操作可以是依據(jù)常見的詞法搭配進(jìn)行詞塊聚合,從而得到不同的詞語。根據(jù)上述的實施方式,可以得到三個詞塊,包括“預(yù)訂”、“明天下午兩點”以及“會議室”三個詞塊,其中,可以對多個詞語與預(yù)先配置的多個模板進(jìn)行匹配。
其中,上述的第一語句可以為任務(wù)語句,即用戶可以通過終端設(shè)備輸入相應(yīng)的語句,該語句中包含了一定的任務(wù),例如,用戶通過終端輸入“預(yù)定會議室”,這里需要服務(wù)設(shè)備完成該任務(wù)。服務(wù)設(shè)備在接收到任務(wù)后,可以通過尋找任務(wù)對應(yīng)的模板來完成相應(yīng)的任務(wù),模板中可以有對應(yīng)的語義元;其中,一個任務(wù)可以包括多個模板,一個模板中可以包括多個語義元,每個語義元是一類詞語的集合。該語義元可以包括多種,例如,在“預(yù)定會議室”這個任務(wù)中,在對該任務(wù)分詞后,可以得到多個任務(wù)標(biāo)識,如“預(yù)定”“會議”“會議室”,可以在服務(wù)設(shè)備中查找到3個模板,分別為模板A、模板B以及模板C,其中,該任務(wù)和模板A的語義元“保留”語義關(guān)聯(lián)度為0.2,和模板A的語義元“會議”語義關(guān)聯(lián)度為0.6;在模板B中,該任務(wù)和模板B的語義元“保留”語義關(guān)聯(lián)度為0.2,和模板B的語義元“時間”和語義關(guān)聯(lián)度為0.05,和模板B的語義元“地點”語義關(guān)聯(lián)度為0.05,和模板B的語義元“會議”語義關(guān)聯(lián)度為0.6,和模板B的語義元“主題”語義關(guān)聯(lián)度為0.05;在模板C中,該任務(wù)和模板C的語義元“保留”語義關(guān)聯(lián)度為0.2,和模板C的語義元“時間”和語義關(guān)聯(lián)度為0.04,和模板C的語義元“去向”語義關(guān)聯(lián)度為0.02,和模板C的語義元“結(jié)束時間”語義關(guān)聯(lián)度為0.04,和模板C的語義元“地點”語義關(guān)聯(lián)度為0.05,和模板C的語義元“主題”語義關(guān)聯(lián)度為0.05,和模板C的語義元“會議”語義關(guān)聯(lián)度為0.6。
對于上述實施方式,在語義元“保留”中,可以包括“預(yù)定”、“預(yù)訂”、“預(yù)約”、“開個”等詞語,在語義元“會議”中,可以包括“會議室”、“會議”、“會”、“到”、“至”等詞語,在語義元“地點”中,可以包括“海口”、“三亞”、“西安”、“貴州”、“天津”、“南昌”等詞語;在語義元“時間”中,可以包括多個時間段等。
在步驟S106提供的技術(shù)方案中,查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令。即在服務(wù)設(shè)備中可以預(yù)先存儲可供用戶查詢的信息或內(nèi)容,在分析出第一語句中的關(guān)鍵詞后,可以查找到是否存在與關(guān)鍵詞對應(yīng)的信息或命令。這里的信息或命令可以是預(yù)先存儲的內(nèi)容,其中,預(yù)先存儲的內(nèi)容可以包括各種詞語以及與該詞語對應(yīng)的信息和命令,也可以存儲與該信息或命令對應(yīng)的結(jié)果;可選的,在預(yù)先存儲的內(nèi)容中可以包括多個模板,模板中可以存儲各個關(guān)鍵詞和語義元,也可以存儲與關(guān)鍵詞對應(yīng)的執(zhí)行結(jié)果。預(yù)先存儲的內(nèi)容可以存儲在存儲介質(zhì)(例如,硬盤)中。
可選的,關(guān)鍵詞與預(yù)先存儲的內(nèi)容包含的信息或命令可以是相同的,也可以是不同;關(guān)鍵詞與預(yù)先存儲的內(nèi)容中包含的信息或命令可以是一一對應(yīng)的,例如,關(guān)鍵詞是“長城”,預(yù)先存儲的內(nèi)容中包含的信息可以是“長城”的資料。其中,根據(jù)關(guān)鍵詞查找對應(yīng)的信息或命令時,可以判斷是否存在對應(yīng)的信息或命令,若判斷出預(yù)先存儲的內(nèi)容中存在與關(guān)鍵詞對應(yīng)的信息或內(nèi)容時,將該信息或內(nèi)容對應(yīng)的執(zhí)行結(jié)果找到。
在步驟S108提供的技術(shù)方案中,呈現(xiàn)信息或命令的執(zhí)行結(jié)果。在查找到關(guān)鍵詞對應(yīng)的信息或命令后,并根據(jù)該信息或命令找出與之對應(yīng)的執(zhí)行結(jié)果,將該執(zhí)行結(jié)果通過服務(wù)設(shè)備的顯示設(shè)備呈現(xiàn)出來。該執(zhí)行結(jié)果可以是用戶需要的資料;也可以是服務(wù)設(shè)備與用戶的進(jìn)一步交互,該交互可以是向用戶提供選擇信息,也可以是詢問用戶關(guān)于關(guān)鍵詞的對應(yīng)的信息。例如,用戶發(fā)出“預(yù)定出租車”,服務(wù)設(shè)備可以向用戶提供出租車的類型,也可以進(jìn)一步詢問用戶“預(yù)定幾點的出租車”等信息。
另一種可選的實施方式,提取第一語句的一個或多個關(guān)鍵詞包括:對第一語句進(jìn)行分詞得到多個詞語;使用多個詞語與預(yù)先配置的多個模板進(jìn)行匹配,其中,模板是指由多個語義元組成的連貫語義模式,每個語義元有預(yù)先設(shè)定的與模板對應(yīng)的語義貢獻(xiàn)度,語義元是指具有相同或近似語義的關(guān)鍵詞集合;從多個模板中獲取第一模板,第一模板是指與多個詞語部分或全部語義關(guān)聯(lián)度最高的模板;獲取多個詞語中與第一模板中的語義元匹配成功的詞語,將匹配成功的詞語作為關(guān)鍵詞。
其中,在提取到第一語句的多個詞語后,可以將提取到的各個詞語與預(yù)先配置的模板進(jìn)行匹配,在本發(fā)明實施方式中,模板可以是多個語義元組成的連貫語義模式,語義元中有多個詞語,將含義相近或相同的詞語集合在一個模板中,例如,“地域”和“區(qū)域”的含義比較接近,則可以將這兩個詞語集合在一個模板的語義元中。
可選的,在模板中的各個語義元可以組合為一個連貫語義,在一個模板中的多個語義元之間可以是不相同的,例如,在一個模板中包含“預(yù)定”語義元、“時間”語義元以及“會議室”語義元,這個模板可以為“預(yù)定會議室”模板。其中,預(yù)先存儲的模板的數(shù)量可以是多個,每個模板的功能也不同,例如,“預(yù)定會議”模板和“取消會議”模板,每個模板中的語義元可以有相同的部分,也有不相同的部分,如在“預(yù)定會議”模板中包含了“預(yù)定”語義元、“時間”語義元、“會議室”語義元;而“取消會議”模板中包含“取消”語義元以及“會議室”語義元,這里“會議室”語義元是相同的,“取消”和“預(yù)定”是不相同的語義元。
另一種可選的實施方式,在從多個模板中獲取第一模板,第一模板是指與多個詞語部分或全部語義關(guān)聯(lián)度最高的模板??梢允菍⑻崛〉降亩鄠€關(guān)鍵詞中各個關(guān)鍵詞與模板中的詞語語義關(guān)聯(lián)度較高的關(guān)鍵詞提取出來,然后,可以將語義關(guān)聯(lián)度最高的模板提取出來。這里的語義關(guān)聯(lián)度可以是指在將提取到的多個關(guān)鍵詞與模板中的詞語匹配時獲取到的,其中,語義關(guān)聯(lián)度可以是不同的,例如,提取出的“預(yù)定”和“會議室”兩個關(guān)鍵詞和“預(yù)定會議”模板的中“預(yù)定”“會議室”的詞語語義關(guān)聯(lián)度分別為0.9和0.8,則可以得到“預(yù)定”的語義關(guān)聯(lián)度最高。
可選的,獲取多個詞語中與第一模板中的語義元匹配成功的詞語,將匹配成功的詞語作為關(guān)鍵詞。在本發(fā)明實施方式中,從第一語句提取出的多個關(guān)鍵詞可以分別與第一模板中的語義元匹配,若匹配成功,則可以將匹配成功的詞語作為關(guān)鍵詞。其中,在匹配時,可以根據(jù)語義關(guān)聯(lián)度來判斷是否成功,例如,若語義關(guān)聯(lián)度超過50%,則可以判斷出詞語和模板中的語義元匹配成功。
可選的,模板可以是提前設(shè)置的,其可以預(yù)先存儲在服務(wù)設(shè)備中,每個語義元可以對應(yīng)一個該領(lǐng)域詞典或者檢測識別算法,其中,領(lǐng)域詞典可以包括語義元所在領(lǐng)域的多個詞語,例如,“預(yù)定”中詞典可以包括“召開”和“預(yù)定”等詞語;對于檢測識別算法,其可以為檢測第一語句中的各個詞語的算法,并在檢測到第一語句的多個詞語后,識別出第一語句的多個詞語。在模板中可以配置多個詞語,模板中的每個語義元可以和關(guān)鍵詞所在模板對應(yīng)有一個語義相關(guān)度,每個語義元或者詞語和其它詞語或者語義元的關(guān)聯(lián)度可以是不同的,該語義關(guān)聯(lián)度的確定可以是根據(jù)詞語的使用頻率確定的,例如,在“取消”這個詞語多次使用后,可以在模板中設(shè)置“取消”和“取消會議”的語義關(guān)聯(lián)度為0.9,而“小會”的使用頻率不高,可以設(shè)置“小會”和“會議”的語義關(guān)聯(lián)度為0.4。其中,在對第一語句進(jìn)行分詞后,可以將分詞詞語的一個或多個詞語與模板中詞語匹配,這里,可以將提取出的詞語分別和模板進(jìn)行匹配,得到分詞詞語和模板的語義關(guān)聯(lián)度。
另一種可選的實施方式,可以結(jié)合模板中的各個詞語和第一語句的語義關(guān)聯(lián)度,得到該模板與第一語句的語義關(guān)聯(lián)度。例如,有兩個模板分別為“開會”模板和“取消開會”模板,其中,“開會”模板中可以包含各個詞語的語義關(guān)聯(lián)度,如果提取到第一語句中有“預(yù)定”和“會議”兩個詞,“預(yù)定”和模板中的“召開”的語義關(guān)聯(lián)度為20%,“會議”和模板中的“小會”語義關(guān)聯(lián)度為0.6,此時,可以分析出提取出的第一語句的關(guān)鍵詞和“開會”模板的語義關(guān)聯(lián)度為0.8。若“開會”模板和其它模板比較得到與各個關(guān)鍵詞的語義關(guān)聯(lián)度最高,此時,可以使用該“開會”模板。但是,若第一關(guān)鍵詞中有“取消”和“會議”兩個詞,在將第一語句的各個關(guān)鍵詞與這兩個模板匹配時,得到關(guān)鍵詞“取消”和“取消會議”模板中的“取消”兩個詞的語義關(guān)聯(lián)度為95%,此時,可以使用該“取消會議”模板。
另一種可選的實施方式,每個模板可以對應(yīng)有一個或多個信息或命令,該信息或命令可以包括向終端發(fā)送詢問信息,該詢問信息可以包括一個或多個選項。其中,終端可以為智能終端,例如,智能手機(jī)、PC、以及智能機(jī)器人。終端可以顯示該詢問信息。
可選的,在查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令之后,方法還包括:在信息或命令的執(zhí)行結(jié)果不唯一的情況下,呈現(xiàn)提示信息,其中,提示信息用于指示輸入屬性參數(shù);接收輸入的屬性參數(shù);呈現(xiàn)信息或命令的執(zhí)行結(jié)果包括:根據(jù)屬性參數(shù)呈現(xiàn)信息或命令的執(zhí)行結(jié)果。
其中,對于信息或命令的執(zhí)行結(jié)果不唯一的情況,可以是第一語句有多個執(zhí)行結(jié)果,可以是第一語句中有需要服務(wù)設(shè)備執(zhí)行與第一關(guān)鍵詞的屬性詞對應(yīng)的操作,這時,服務(wù)設(shè)備可以根據(jù)關(guān)鍵詞內(nèi)容,確定關(guān)鍵詞的提示信息,該提示信息可以包括多個屬性參數(shù),屬性參數(shù)可以是對第一關(guān)鍵詞的各個屬性進(jìn)行限定的參數(shù)。其中,屬性可以包括多個,例如,時間、地點、以及時間段等。例如,用戶說“我要開會”,可以確定關(guān)鍵詞為“開會”,這時,可以確定出其屬性包括:時間、地點、時間段以及人數(shù),服務(wù)設(shè)備可以根據(jù)該屬性和第一關(guān)鍵詞輸出對應(yīng)的詢問信息,例如,服務(wù)設(shè)備發(fā)出“什么時間開會?”或者“開會的地點是什么?”。用戶在接收到詢問信息后,可以說出對應(yīng)的屬性參數(shù),例如,用戶說出“開會時間在下午兩點到四點”,此時,服務(wù)設(shè)備可以接收該屬性參數(shù),并根據(jù)屬性參數(shù)呈現(xiàn)信息或命令的執(zhí)行結(jié)果,這里的屬性參數(shù)可以包括多個。例如,服務(wù)設(shè)備向用戶發(fā)出“什么時間開會”、“什么地點開會”、“開會人數(shù)”,用戶分別給出了“下午兩點到四點開會”“在海南三亞開會”“有100人參加會議”三個屬性參數(shù),則服務(wù)設(shè)備可以根據(jù)多個屬性參數(shù),輸出一個總的執(zhí)行結(jié)果,服務(wù)設(shè)備可以輸出“預(yù)定可容納100人的會議室,在下午兩點到四點在海南三亞開會”的執(zhí)行結(jié)果。
可選的,呈現(xiàn)信息或命令的執(zhí)行結(jié)果包括:在信息中包括一個或多個選項的情況下,呈現(xiàn)一個或多個選項;在呈現(xiàn)一個或多個選項之后,方法還包括:接收第二語句;從第二語句提取關(guān)鍵詞,獲取關(guān)鍵詞指示的選項對應(yīng)的信息或命令,呈現(xiàn)該選項對應(yīng)的信息或者該選項對應(yīng)的命令的執(zhí)行結(jié)果。
其中,在查找到的信息中可以包括多個選項,該多個選項可以是供用戶選擇的內(nèi)容,例如,用戶輸入“到古都旅游”,服務(wù)設(shè)備可以呈現(xiàn)出來詢問語句,如“到哪個古都”,并將可選的古都選擇項呈現(xiàn)給用戶,以供用戶選擇,該多個選擇項可以包括西安、北京、洛陽、開封等。
可選的,查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令包括:一個或多個關(guān)鍵詞包括:用于查找信息或命令的第一關(guān)鍵詞、和用于標(biāo)識屬性參數(shù)的第二關(guān)鍵詞,查找到一個或多個第一關(guān)鍵詞對應(yīng)的信息或命令包括:根據(jù)第一關(guān)鍵詞查找與第一關(guān)鍵詞對應(yīng)的信息或命令,其中,第二關(guān)鍵詞作為信息或命令的屬性參數(shù)。
可選的,第一語句中可以包括該用于查找信息或命令的第一關(guān)鍵詞和用于標(biāo)識屬性參數(shù)的第二關(guān)鍵詞,并根據(jù)該查找信息或命令的關(guān)鍵詞查找與用于標(biāo)識屬性參數(shù)的關(guān)鍵詞對應(yīng)的信息或命令。例如,用戶說:“我要今天下午2點至3點在第一會議室開會,請幫我預(yù)定會議室”,這里,用戶的語句(即第一語句)中包括了多個屬性參數(shù),服務(wù)設(shè)備可以根據(jù)用戶發(fā)出的語句,得到與第一語句對應(yīng)的信息或命令。服務(wù)設(shè)備可以根據(jù)用戶上述語句,查看第一會議室在下午2點到3點是否其他人已經(jīng)預(yù)定過了,若沒有人預(yù)定,則可以輸出“可以預(yù)定”,若下午2點到3點已經(jīng)有人預(yù)定第一會議室,則服務(wù)設(shè)備可以輸出“對不起,您無法預(yù)定該第一會議室,已經(jīng)有客戶預(yù)定該第一會議室”的信息。
另一種可選的實施方式,在向用戶呈現(xiàn)多個選項之后,可以接收用戶輸入的第二語句,該第二語句可以是用戶重新輸入的與第一語句完全不同的語句,也可以是在第一語句的基礎(chǔ)上再次輸入相關(guān)語句,以獲取更多的信息,該第二語句中可以包括多個關(guān)鍵詞,服務(wù)設(shè)備可以向用戶呈現(xiàn)根據(jù)該關(guān)鍵詞查找出的對應(yīng)信息或命令,并呈現(xiàn)出相應(yīng)的執(zhí)行結(jié)果。服務(wù)設(shè)備可以不斷地接收各個語句,并根據(jù)各個語句向用戶呈現(xiàn)出對應(yīng)的執(zhí)行結(jié)果,直到用戶發(fā)出“關(guān)閉服務(wù)設(shè)備”或“退出”等離開命令,該服務(wù)設(shè)備可以執(zhí)行該命令,并不再向該用戶提供相應(yīng)的服務(wù)。
可選的,至少根據(jù)關(guān)鍵詞從預(yù)先存儲的內(nèi)容中查找到關(guān)鍵詞對應(yīng)的信息或命令包括:在第一語句中存在屬性詞的情況下,根據(jù)屬性詞和關(guān)鍵詞輸出與信息或命令對應(yīng)的結(jié)果,其中,屬性詞用于對關(guān)鍵詞進(jìn)行相應(yīng)的說明。
對于上述實施例,可以是用戶發(fā)出的語句中包括關(guān)鍵詞與屬性詞,例如,服務(wù)設(shè)備接收到“調(diào)取李四資料”,可以先對該語句進(jìn)行分詞,得到“調(diào)取”、“李四”、“資料”,在分詞后,可以確定“李四”為關(guān)鍵詞,“調(diào)取”和“資料”為該關(guān)鍵詞的屬性詞,通過該關(guān)鍵詞和屬性詞可以得出服務(wù)設(shè)備的任務(wù)是將“李四”的資料查找出來,并呈現(xiàn)給用戶。
可選的,服務(wù)設(shè)備接收到的語句可以包括各個任務(wù),即用戶希望得到某個結(jié)果,在用戶輸入各個語句的過程中,就包含了相應(yīng)的任務(wù),如上述實施例的語句中“調(diào)取資料”可以是該語句中包含的任務(wù),服務(wù)設(shè)備在接收到該任務(wù)后,將任務(wù)對應(yīng)的執(zhí)行結(jié)果呈現(xiàn)給用戶,并進(jìn)一步與用戶實現(xiàn)交互。
在另一種可選的實施方式中,在對第一語句進(jìn)行分詞的過程中,可以將第一語句中包含的特殊詞以及關(guān)鍵詞提取出來,該特殊詞可以包括專有名詞和量詞。對于專有名詞,可以包括:時間、地點、人名、機(jī)構(gòu)名等,對于量詞,可以包括:數(shù)字、長度、重量詞、高度詞等。對于提取出的關(guān)鍵詞,可以是各種類型的,包括上述的特殊詞。在對第一語句分詞后,可以根據(jù)常見的詞法對各個詞語進(jìn)行詞塊聚合,得到相應(yīng)的關(guān)鍵詞和特殊詞,該詞塊聚合可以是對各個詞語之間進(jìn)行組合??蛇x的,在提取關(guān)鍵詞的過程中,可以與預(yù)先存儲的模板進(jìn)行比對,該模板中可以包含各個重要的詞語,若在對第一語句分詞后得到的詞語中有一個詞語與模板中存儲的一個語義元的語義關(guān)聯(lián)度高,則可以確定該詞語為關(guān)鍵詞。
可選的,根據(jù)第一關(guān)鍵詞查找與第一關(guān)鍵詞對應(yīng)的信息或命令包括:使用第一關(guān)鍵詞,作為預(yù)先配置的至少一個決策的輸入;獲取至少一個決策中的最優(yōu)決策對應(yīng)的信息或命令。
可選的,在第一語句分詞后的每個詞和模板匹配的過程中,每個語義元都有具體的識別方式,例如,可以建立一個該領(lǐng)域的詞典,在建立該領(lǐng)域詞典后,可以通過查詢詞典的方式,識別出模板中的語義元;也可以是通過特殊的識別算法,識別出語義元。若被識別出屬于某個語義元,可以計算出該詞在模板中的語義關(guān)聯(lián)度,并通過模板確定該語義元屬于屬性詞,確定該詞語為對應(yīng)語義元的關(guān)鍵詞。
另一種可選的實施方式,從第一語句中提取模板中存在的詞作為關(guān)鍵詞還包括:確定第一語句中的一個或多個詞與模板中的存在的詞的語義關(guān)聯(lián)度;判斷第一語句中的一個或多個詞中是否存在語義關(guān)聯(lián)度大于等于第一閾值的詞;若判斷出存在語義關(guān)聯(lián)度大于等于第一閾值的詞語,確定詞語為關(guān)鍵詞。
可選的,對于上述實施例的各個語義元的識別可以是在對第一語句分詞后,確定各個詞語與各個模板中的各個語義元的是否匹配。例如,服務(wù)設(shè)備接收到“我下午要開會”,在分詞后得到“我”“下午”“要”“開會”四個詞,在確定關(guān)鍵詞的過程中,可以在模板中找到“會議”,其中“會議”和“開會”很接近,而其它詞沒有對應(yīng)的匹配詞,則可以確定“開會”語義關(guān)聯(lián)度最高。則根據(jù)該語義關(guān)聯(lián)度確定“開會”為關(guān)鍵詞。
另一種可選的實施方式,可以在對第一語句的各個詞與模板中的詞進(jìn)行匹配后,對第一語句進(jìn)行正序和逆序掃描,或者對第一語句進(jìn)行匹配搜索。其中,對第一語句進(jìn)行正序和逆序掃描,可以是將第一語句重新分詞,也可以是將第一語句中的各個詞語重新排序,這樣可以將重新排序的詞與模板中的各個詞做比較,得到語義關(guān)聯(lián)度較高的詞語。在對第一語句進(jìn)行匹配搜索時,可以是將第一語句中的各個詞語重新匹配,得到新的語句,再對該語句進(jìn)行搜索,或者再次與模板中的各個詞進(jìn)行匹配,查找語義關(guān)聯(lián)度較高的詞語。
另一種可選的實施方式,判斷第一語句中的一個或多個詞中是否存在語義關(guān)聯(lián)度大于等于第一閾值的詞語包括:判斷第一語句中是否存在唯一的語義關(guān)聯(lián)度大于等于第一閾值的詞語;若判斷出存在唯一的語義關(guān)聯(lián)度大于等于第一閾值的詞語,確定詞語為關(guān)鍵詞;若判斷出存在多個詞語的語義關(guān)聯(lián)度大于等于第一閾值,確定語義關(guān)聯(lián)度最高的兩個詞語。該第一閾值可以是提前設(shè)置的數(shù)值,例如,0.5,只有在語義關(guān)聯(lián)度大于等于該第一閾值的情況下,該詞語才可以確定為關(guān)鍵詞,若第一語句中的各個詞語都低于該詞語,則可以確定查找不出與第一語句對應(yīng)的信息或命令,向服務(wù)設(shè)備的顯示界面顯示出的也可以是“查找不到結(jié)果”的語句。
其中,在第一語句的各個詞語中有多個詞語的語義關(guān)聯(lián)度高于第一閾值,則可以對超過該第一閾值的各個詞語做進(jìn)一步的判斷,提取出語義關(guān)聯(lián)度最高的兩個詞語,如,服務(wù)設(shè)備接收到“查找張三李四資料”,其中“張三”的語義關(guān)聯(lián)度為0.8,“李四”的語義關(guān)聯(lián)度為0.85,其它詞的語義關(guān)聯(lián)度較低,則可以提取出“張三”和“李四”這兩個詞??蛇x的,確定語義關(guān)聯(lián)度最高的兩個詞語包括:判斷兩個詞語對應(yīng)的語義關(guān)聯(lián)度的絕對值是否低于等于第二閾值;若判斷出兩個詞語對應(yīng)的語義關(guān)聯(lián)度的絕對值低于等于第二閾值,無法確定核心關(guān)鍵詞。其中,該第二閾值可以是預(yù)先設(shè)置的,例如,將第二閾值設(shè)置為0.1,若判斷出兩個詞語的語義關(guān)聯(lián)度的絕對值低于該第二閾值,則可以確定這兩個詞語都可以作為關(guān)鍵詞。在呈現(xiàn)給用戶的執(zhí)行結(jié)果時,可以向用戶發(fā)出查找哪一個詞,也可以是將這兩個詞語的執(zhí)行結(jié)果都呈現(xiàn)給用戶。
根據(jù)本發(fā)明實施方式,可以先接收第一語句,對第一語句分詞得到多個詞語,這里,可以進(jìn)一步進(jìn)行詞法分析,依據(jù)常見的詞法搭配進(jìn)行詞塊聚合,并識別出時間、地點、人名、機(jī)構(gòu)名等專有名詞以及量詞,然后,可以使用多個詞語與預(yù)先配置的多個模板進(jìn)行匹配;其中,在該實施方式中,可以將多個詞語與定義的所有模板分別進(jìn)行匹配。
可選的,在提取關(guān)鍵詞時,可以先定位一個核心詞,基于核心詞向右向左進(jìn)行匹配,該核心詞的確定可以根據(jù)模板來確定,不同模板對應(yīng)不同的核心詞,每個核心詞對應(yīng)的詞典詞語也會不同,每個模板都會對應(yīng)有一個核心詞,多個詞語在模板的核心詞詞典中有對應(yīng)的詞語,即為核心詞。模板由若干個語義元組成,每個語義元都有一個權(quán)重代表該語義元對模板的語義貢獻(xiàn)度,在匹配過程中引入三個指標(biāo)來衡量多個詞語和模板的語義關(guān)聯(lián)度:分別為多個詞語與(一個)模板中被成功匹配上的語義元的語義貢獻(xiàn)度的和語義貢獻(xiàn)度的和占所在模板所有語義元語義貢獻(xiàn)度的總和的百分比以及多個詞語中被成功識別匹配上對應(yīng)語義元的詞語,關(guān)于第一語句中的語義貢獻(xiàn)度總和,占多個詞語關(guān)于第一語句語義貢獻(xiàn)度總和的百分比(該語義貢獻(xiàn)度的計算可以通過統(tǒng)計方法實現(xiàn))。
可選的,可以獲取語義關(guān)聯(lián)度最高的模板(即第一模板),根據(jù)多個詞語與各個模板的語義關(guān)聯(lián)度,對模板進(jìn)行排序,獲取語義關(guān)聯(lián)度最高的模板作為第一模板。模板的排序過程中,為了避免語義關(guān)聯(lián)度求取的偏差,在對模板進(jìn)行比較排序的過程中,如果兩個模板對應(yīng)語義關(guān)聯(lián)度的距離差距小于某一閾值,則認(rèn)為兩個模板的語義關(guān)聯(lián)度相當(dāng)。對于第一模板的選擇,若出現(xiàn)上述兩個模板語義關(guān)聯(lián)度相當(dāng)?shù)那闆r,需要進(jìn)一步對上述多個詞語進(jìn)行句法分析,解析出多個詞語間的語法依存關(guān)系,并根據(jù)被成功匹配上的詞語之間的修飾與被修飾的關(guān)系,獲取與核心詞相關(guān)的屬性詞,省略不相關(guān)的詞,重新計算語義關(guān)聯(lián)度,進(jìn)行比較??蛇x的,獲取多個詞語中與第一模板中的語義元匹配成功的詞語,作為的一個或多個關(guān)鍵詞,然后,可以從預(yù)先存儲的內(nèi)容中查找到一個或多個第一關(guān)鍵詞對應(yīng)的信息或命令,呈現(xiàn)信息或命令的執(zhí)行結(jié)果。
下面是根據(jù)本發(fā)明的具體實施例。
本發(fā)明實施例提供了一種應(yīng)用于特定領(lǐng)域聊天機(jī)器人的自然語言理解方法,不僅能夠在語料資料不足的情況下,對自然語言進(jìn)行合理的語義解析,定位用戶的需求,作出準(zhǔn)確的決策,并且能夠解析句子中詞與詞之間的語義關(guān)聯(lián),準(zhǔn)確跟蹤任務(wù)狀態(tài)。其中,服務(wù)設(shè)備是聊天機(jī)器人,第一語句是查詢語句,用戶可以是管理員,關(guān)鍵詞為核心詞。
圖2是根據(jù)本發(fā)明實施例的一種可選的自然語言處理方法的流程圖二,如圖2所示,該方法包括如下步驟:
步驟S201,接收查詢語句。如圖3所示,在用戶啟動該聊天機(jī)器人(將該聊天機(jī)器人命名為bimbot)后,用戶可以輸入相關(guān)信息,聊天機(jī)器人對用戶輸入的信息進(jìn)行驗證,得到用戶輸入的驗證信息是否正確,若正確,可以進(jìn)入如圖3所示的初始界面,也可以得到用戶的權(quán)限信息,即用戶可以做的操作有哪些,若用戶輸入的語句中超出了用戶本身的權(quán)限,則可以向用戶發(fā)出“您的權(quán)限不到,無法為您進(jìn)行相關(guān)服務(wù)”的語句。
可選的,初始界面中,可以顯示出用戶可以做的基本操作。如用戶輸入“嚴(yán)潔”,聊天機(jī)器人可以將“嚴(yán)潔”的相關(guān)資料呈現(xiàn)出來,供用戶查看。在初始界面還可以顯示出當(dāng)前時間,讓用戶實時知道時間信息。在聊天機(jī)器人的顯示界面可以顯示出可供用戶輸入語句的輸入框,用戶可以在該輸入框輸入查詢語句或者其它語句。
步驟S203,對查詢語句進(jìn)行分詞。根據(jù)常見的詞法搭配進(jìn)行詞塊聚合,識別出查詢語句中的專有名詞或量詞,其中,專有名詞可以包括包含時間、地點、人名、機(jī)構(gòu)名等,量詞可以包括數(shù)字、重量、長度等。
步驟S205,確定查詢語句中的核心詞。
在確定核心詞之前,判斷查詢語句是否存在核心詞,若存在核心詞,以該核心詞為起點向左向右搜索進(jìn)行詞塊匹配;若不存在核心詞,可以分別對查詢語句進(jìn)行正序和逆序掃描、匹配搜索,找到一個或多個任務(wù)核心詞。
其中,在進(jìn)行詞塊匹配的過程中,針對各個領(lǐng)域的任務(wù)類型,可以引入詞網(wǎng),建立各個任務(wù)核心詞與其他詞的語義關(guān)聯(lián)度。若查詢語句是特殊語句,可以對該特殊語句進(jìn)行相應(yīng)的語義識別,對于不同查詢語句的語境進(jìn)行特殊定制。
可選的,在匹配過程中,引入三個相關(guān)指標(biāo):決定命中分?jǐn)?shù)總和、查詢語句與核心詞的公共部分在對應(yīng)核心詞的模板中的占比以及查詢語句與核心詞的公共部分在對應(yīng)查詢語句中的占比(根據(jù)核心詞分析計算查詢語句中各個詞語的重要度)
如圖4所示,用戶輸入“預(yù)定會議室”,聊天機(jī)器人可以分析出“會議室”為核心詞,該語句中還包括用戶要進(jìn)行的會議操作,在確定出核心詞后,可以確定出與該核心詞相關(guān)的屬性詞,在圖4所示的內(nèi)容中,確定出屬性詞有時間、地點、時間段、人數(shù)等屬性詞,將屬性詞與核心詞中的任務(wù)類型顯示的結(jié)果做比較,得出向用戶發(fā)出“指定會議時間”的結(jié)果,并列舉出相關(guān)時間例子。在接收到用戶的語句后,可以再次發(fā)出與核心詞相關(guān)的語句,在圖4所示的內(nèi)容,聊天機(jī)器人發(fā)出“請問預(yù)定哪個會議室”的語句,該語句中包括核心詞與地點屬性詞,還向用戶提供了可供用戶選擇的地點選項。
步驟S207,根據(jù)核心詞確定對應(yīng)的模板。
可選的,在確定查詢語句的核心詞后,可以確定查詢語句的任務(wù)類型,可選的,在對查詢語句分詞時,會出現(xiàn)偏差,可以對該偏差值設(shè)定一個閾值,若偏差值低于等于該閾值,可以認(rèn)為無法確定該查詢語句的任務(wù)類型,可以將該閾值設(shè)置為T。例如,若查詢語句中有兩個任務(wù)類型A和B,且任務(wù)類型A與任務(wù)類型B的絕對值低于等于T,則認(rèn)為結(jié)果無法區(qū)分,即任務(wù)類型屬于A和B的無法確認(rèn),這時,可以發(fā)送一個任務(wù)類型給用戶,讓用戶做出選擇,也可以將兩個任務(wù)類型對應(yīng)的執(zhí)行結(jié)果找到。
可選的,在確定出任務(wù)類型后,可以根據(jù)任務(wù)類型和核心詞所在的語義元得到該查詢語句對應(yīng)的模板。
步驟S209,輸出與模板對應(yīng)的執(zhí)行結(jié)果。
其中,該結(jié)果中可以包括供用戶選擇的選項,例如,選擇會議的時間、地點。用戶可以根據(jù)服務(wù)設(shè)備(即聊天機(jī)器人)提供的選項,選擇一個執(zhí)行結(jié)果。
可選的,可以基于核心詞關(guān)聯(lián)塊,提取關(guān)鍵詞的相關(guān)屬性,并計算與核心詞的語義關(guān)聯(lián)度。另一種可選的實施方式,可以基于查詢語句的語法結(jié)構(gòu),進(jìn)行屬性關(guān)系分析;也可以針對每一個屬性,調(diào)用特定的識別方法,確定查詢語句中的核心詞或者查詢語句所屬的任務(wù)類型。
可選的,在計算查詢語句中的各個詞語與核心詞的關(guān)聯(lián)度在查詢語句中的語義重要度的時候,可以依據(jù)核心詞區(qū)域在查詢語句中的占比,或者核心詞與動詞的搭配,以及查詢語句中的語義扮演的角色計算出查詢語句中核心詞的語義重要度。
對于屬性詞中的時間詞可以時間實體識別,并提取連續(xù)時間詞塊,也可以結(jié)合句法依存關(guān)系和時間詞的類別(如年、月、日、小時、分鐘)確認(rèn)單位時間詞塊??蛇x的,對于時間詞還可以定位具體時間,在如圖4所示的內(nèi)容,根據(jù)會議與時間詞搭配原則確認(rèn)會議的屬性。其中,搭配原則可以包括:準(zhǔn)確精度為小時、將來一周內(nèi)的時間。另一種可選的,在對屬性詞中的地點進(jìn)行定位的時候,可以在有多個地點詞出現(xiàn)時,根據(jù)地點詞的位置關(guān)系、句法依存關(guān)系以及固定詞搭配確定是否屬于核心詞的屬性詞。
在圖5所示的示意圖中,聊天機(jī)器人與用戶進(jìn)行進(jìn)一步地交互,包括向用戶發(fā)出“請問預(yù)定多長時間的會議室”的語句,以及可供用戶進(jìn)行選擇的選項,用戶可以在查看到這些內(nèi)容后,發(fā)出與之對應(yīng)的語句。若用戶在輸入語句的過程中受到干擾,發(fā)出錯誤信息,則聊天機(jī)器人可以發(fā)出“輸入信息有誤,請重新輸入”的語句。在接收到用戶發(fā)出的信息后,可以向用戶發(fā)出與核心詞對應(yīng)的信息或命令語句,以及與該信息或命令的執(zhí)行結(jié)果,如圖5中,聊天機(jī)器人發(fā)出“會議的主題是什么”,用戶在輸入與該語句對應(yīng)的內(nèi)容后,可以將與核心詞對應(yīng)的所有結(jié)果顯示出來。例如,在圖3到圖5中,核心詞可以為會議室,則可以向用戶輸入的預(yù)定會議室地理位置,以及預(yù)定的時間段、參加會議的人數(shù)、會議的主題等內(nèi)容。這樣,用戶可以通過該聊天機(jī)器人得到相應(yīng)的結(jié)果,使得用戶與該聊天機(jī)器人的交互更加流暢,用戶的體驗感也會有相應(yīng)的上升。
本發(fā)明實施例可以在每個環(huán)節(jié)對核心詞或者屬性詞跟蹤過程中,針對不同的領(lǐng)域以及不同的語言處理模塊處理機(jī)制各不相同??梢栽谌狈φZ料的情況下,自主構(gòu)建特定領(lǐng)域?qū)υ挋C(jī)器人系統(tǒng),結(jié)合人工規(guī)則和自然語言技術(shù)解決方案,能做到不強(qiáng)依賴與特定語料,同時結(jié)合通用自然語言處理技術(shù)實現(xiàn)對自然語言語義層面的解析,實現(xiàn)無界限的人機(jī)對話系統(tǒng)。
圖6是根據(jù)本發(fā)明實施例的另一種可選的自然語言處理裝置的結(jié)構(gòu)圖,如圖6所示,該裝置包括:接收單元61,用于接收第一語句,其中,第一語句為自然語言表達(dá)的語句;提取單元63,用于提取第一語句的一個或多個關(guān)鍵詞;查找單元65,用于查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令;呈現(xiàn)單元67,用于呈現(xiàn)信息或命令的執(zhí)行結(jié)果。
通過上述實施例,可以利用服務(wù)設(shè)備中接收單元61接收第一語句,其中,該第一語句可以為自然語言表達(dá)的語句,在接收到第一語句后,可以通過提取單元63提取第一語句中的一個或多個關(guān)鍵詞,并通過查找單元65查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令,最后,可以通過呈現(xiàn)單元67在顯示界面中呈現(xiàn)該信息或命令的執(zhí)行結(jié)果。本發(fā)明實施例可以根據(jù)通過分析自然語言所表述的語句,提取出關(guān)鍵詞,并根據(jù)該關(guān)鍵詞查找到語句對應(yīng)的信息,可以較為準(zhǔn)確的得出自然語言對應(yīng)的信息或命令,解決無法準(zhǔn)確確定自然語言對應(yīng)的信息的技術(shù)問題。
可選的,提取單元包括:分詞模塊,用于對第一語句進(jìn)行分詞得到多個詞語;匹配模塊,用于使用多個詞語與預(yù)先配置的多個模板進(jìn)行匹配,其中,模板是指由多個語義元組成的連貫語義模式,每個語義元有預(yù)先設(shè)定的與模板對應(yīng)的語義貢獻(xiàn)度,語義元是指具有相同或近似語義的關(guān)鍵詞集合;第一獲取模塊,用于從多個模板中獲取第一模板,第一模板是指與多個詞語部分或全部語義關(guān)聯(lián)度最高的模板;第二獲取模塊,用于獲取多個詞語中與第一模板中的語義元匹配成功的詞語,將匹配成功的詞語作為關(guān)鍵詞。
另一種可選的實施方式,裝置還包括:第二呈現(xiàn)單元,用于在查找到一個或多個關(guān)鍵詞對應(yīng)的信息或命令之后,信息或命令的執(zhí)行結(jié)果不唯一的情況下,呈現(xiàn)提示信息,其中,提示信息用于指示輸入屬性參數(shù);接收第二語句,并從第二語句中獲取屬性參數(shù);第一呈現(xiàn)單元包括:呈現(xiàn)模塊,用于根據(jù)屬性參數(shù)呈現(xiàn)信息或命令的執(zhí)行結(jié)果。
其中,一個或多個關(guān)鍵詞包括:用于查找信息或命令的第一關(guān)鍵詞、和用于標(biāo)識屬性參數(shù)的第二關(guān)鍵詞,查找單元包括:查找模塊,用于根據(jù)第一關(guān)鍵詞查找與第一關(guān)鍵詞對應(yīng)的信息或命令,其中,第二關(guān)鍵詞作為信息或命令的屬性參數(shù)。
可選的,查找模塊包括:使用子模塊,用于使用第一關(guān)鍵詞,作為預(yù)先配置的至少一個決策的輸入;獲取子模塊,用于獲取至少一個決策中的最優(yōu)決策對應(yīng)的信息或命令。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可為個人計算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。