TWI746690B - 自然語言問句答案的產生方法、裝置及伺服器 - Google Patents
自然語言問句答案的產生方法、裝置及伺服器 Download PDFInfo
- Publication number
- TWI746690B TWI746690B TW106138408A TW106138408A TWI746690B TW I746690 B TWI746690 B TW I746690B TW 106138408 A TW106138408 A TW 106138408A TW 106138408 A TW106138408 A TW 106138408A TW I746690 B TWI746690 B TW I746690B
- Authority
- TW
- Taiwan
- Prior art keywords
- intent
- intention
- question
- word
- template
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明提供了一種自然語言問句答案的產生方法、裝置及伺服器,其中,問句答案的產生方法包括:回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型;依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖;依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。採用本發明實施例,基於意圖範本來訓練得到能夠更為準確的識別用戶意圖的意圖識別模型,以及採用關鍵字提取模型來提取用戶的問句的關鍵字來為意圖範本中的意圖參數賦值,從而可以執行意圖範本中的邏輯來自動產生問句的答案。
Description
本發明涉及智慧問答技術領域,特別涉及一種基於意圖識別模型和關鍵字提取模型的、自然語言問句答案的產生方法,裝置及伺服器。
在網際網路越來越發展的今天,很多網站或者網店等都採用智慧問答系統來回答各種問題的諮詢。智慧問答系統是以一問一答的形式,精確的定位網站或網店等用戶所需要的提問知識,通過與用戶進行交互,為用戶提供個性化的資訊服務的系統。 在現有技術中,通過採用預先設定規則的方式來實現智慧問答。例如,枚舉所有可能的問句以及問句的回答,然後對每種問句抽象出一個規則。具體在產生當前問句的回答時,依次檢查當前問句和每個規則是否匹配,如果匹配,則執行該規則指定的回答方式獲取答案。
但是發明人在研究過程中發現,現有技術中,對規則的配置比較麻煩,將規則配錯的可能性很大,而且各個規則之間可能互相矛盾,添加新規則的時候還需要不和其他的已有規則衝突。因此,基於規則的智慧問答的維護成本較大。具體執行時,因為問句要和每個規則的對應關係都嘗試匹配,如果規則的數量較多,就會使得匹配的效率也較低。並且,匹配不到規則的時候,就無法回答用戶提出的問題,因此靈活性較低,即如果希望能夠回答某個問句,就必須增加一條和該問句對應的規則才行。 基於此,本發明提供了一種基於預先訓練的意圖識別模型和關鍵字提取模型的問句答案的自動產生方法,用以採用預先建立本體的方式枚舉領域內的所有意圖,即一個問句的詢問目的,再依據意圖來配置相對應的意圖範本,即配置好什麼樣的問句能夠被該意圖範本回答以及如何回答,進一步的,基於意圖範本來訓練得到能夠更為準確的識別用戶意圖的意圖識別模型,以及採用關鍵字提取模型來提取用戶的問句的關鍵字來為意圖範本中的意圖參數賦值,從而可以執行意圖範本中的邏輯來自動產生問句的答案。 本發明還提供了一種問句答案的自動產生裝置和伺服器例如問答引擎等,用以保證上述方法在實際中的實現及應用。 為了解決上述問題,本發明公開了一種問句答案的產生方法,該方法包括: 回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型; 依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖; 依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 其中,所述回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,包括: 對所述問句進行分詞,得到所述問句的分詞集合; 基於所述問句所屬的領域對應的領域詞典,對所述分詞集合中的各分詞進行關鍵字標記得到第一標記結果;以及,基於預先訓練的關鍵字提取模型,對所述分詞集合中的各分詞進行關鍵字標記得到第二標記結果;所述領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係; 依據所述第一標記結果和第二標記結果,確定所述分詞集合中的各分詞的詞標注結果。 其中,所述依據所述第一標記結果和第二標記結果,確定所述分詞集合中的各分詞的詞標注結果,包括: 針對分詞集合中的各分詞,判斷所述第一標記結果和第二標記結果是否都標注為關鍵字,如果是,則將該分詞確定為關鍵字,並依據所述第一標記結果或第二標記結果確定所述關鍵字的詞類型; 如果第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字,則將該分詞確定為非關鍵字。 其中,所述領域詞典通過以下方式產生: 獲取領域內各實體的各屬性; 將所述各屬性對應的屬性值作為關鍵字,並將實體標籤和屬性名作為關鍵字的詞類型,以及,將所述關鍵字的關聯詞彙也確定為關鍵字,所述關聯詞彙包括:同義詞、近義詞、口語表達詞和別名。 其中,所述依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖,包括: 將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度; 將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖; 依據所述當前意圖對應的當前意圖範本,判斷所述詞標注結果中各關鍵字是否完整;所述意圖範本包括:確定一意圖所需要的全部意圖參數; 如果完整,則將所述當前意圖確定為目標意圖; 如果不完整,則按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖,並執行所述依據所述當前意圖對應的當前意圖範本,判斷所述詞性標注結果中各關鍵字是否完整的步驟,直至所述多個候選意圖都選擇完畢。 其中,所述依據所述當前意圖對應的當前意圖範本,判斷所述詞標注結果中各關鍵字是否完整,包括: 獲取所述當前意圖範本中配置的全部意圖參數; 採用所述詞標注結果中的各關鍵字的詞類型,為所述全部意圖參數進行賦值,並判斷所述全部意圖參數是否能賦值成功。 其中,所述依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖,包括: 至少將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度; 將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖; 判斷所述當前意圖的可信度是否大於預設可信度閾值,如果大於,則將所述當前意圖確定為所述目標意圖; 如果不大於,則選取預設個數的前若干個候選意圖作為待選擇意圖,並將所述待選擇意圖發送至終端以供用戶選擇,以及,將所述終端回傳的、用戶選擇的意圖確定為目標意圖; 依據所述目標意圖對應的目標意圖範本,判斷所述詞標注結果中各關鍵字是否完整,如果不完整,則將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數;依據所述缺少的意圖參數和所述目標意圖範本,產生所述目標意圖相關的參數問題;將所述參數問題回傳給用戶端以便顯示給用戶;所述意圖範本包括:所述意圖參數和參數問題之間的對應關係; 根據所述用戶端回傳的、用戶輸入的參數答案獲取所述缺少的意圖參數。 其中,所述方法還包括: 將用戶輸入的對話內容保存至會話資料庫中,所述對話內容包括:用戶選擇的意圖和/或用戶輸入的參數答案。 其中,所述方法還包括: 對所述會話資料庫中的對話內容進行更新, 或者,在到達預設的時間週期的時候,將用戶輸入的對話內容進行刪除。 其中,所述至少將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度,包括: 從會話資料庫中獲取所述對話內容; 將所述詞標注結果和所述對話內容輸入預先訓練的意圖識別模型的,得到多個候選意圖及其對應的可信度。 其中,所述依據所述目標意圖對應的目標意圖範本,判斷所述詞標注結果中各關鍵字是否完整,包括: 獲取所述目標意圖範本中配置的全部意圖參數; 採用所述詞標注結果中的各關鍵字的詞類型,為所述目標意圖範本中的全部意圖參數進行賦值,並判斷所述全部意圖參數是否能賦值成功。 其中,所述意圖範本通過以下方式產生: 依據領域內各本體所表示出的各實體之間的關係,確定各領域內所有問句的意圖;所述意圖用於表述問句的詢問目的,所述意圖包括:詢問實體的屬性,詢問實體之間的所有關係,通過實體的一個或多個屬性詢問該實體的其他屬性或所有屬性,和/或,通過實體的一個或多個屬性詢問該實體的關係; 為確定的各意圖配置對應的意圖範本,所述意圖範本包括:範本標識,範本描述,意圖參數及意圖參數對應的參數問題,意圖對應的例句組,以及,各例句組的組合規則;所述範本標識用於唯一表示一個意圖範本,所述範本描述用於描述所述意圖範本的目的;所述意圖參數為確定一個意圖所對應的參數,所述參數問題為:對應的意圖參數缺失時需要向用戶發送的問題,所述例句組中的例句包括實體的變數名,用於表示所述意圖範本能解決的問題,所述各例句組的組合規則用於表示:不同例句組中的例句的組合方式。 其中,所述意圖識別模型和關鍵字提取模型通過以下方式訓練: 依據所述意圖範本中配置的例句組和例句組合規則,產生訓練語料; 依據所述訓練語料採用機器學習演算法,訓練得到意圖分類模型和關鍵字提取模型。 其中,所述依據所述意圖範本中配置的例句組和例句組合規則,產生訓練語料,包括: 獲取實體的變數值清單,所述變數值清單包括:實體的變數名、實體的變數值及兩者的對應關係; 依據意圖範本中配置的例句組和例句組的組合規則,產生包括實體的變數名的變數例句; 將所述變數值清單中各實體的變數值,分別對應替換所述變數例句中的變數名,得到真實例句; 對所述真實例句進行標記,得到訓練語料;所述訓練語料包括:所述真實例句對應的範本標識和所述真實例句中包括的各關鍵字及其類型。 其中,依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案,包括: 依據目標意圖範本中配置的意圖參數,為所述意圖參數賦值,得到查詢參數; 依據所述查詢參數獲取所述目標答案的來源資料; 對所述來源資料按照預設處理方式進行處理得到處理後的來源資料; 依據所述處理後的來源資料產生所述目標答案。 本發明還公開了一種自然語言問句答案的產生裝置,該產生裝置集成於伺服器上,該產生裝置包括: 關鍵字標注單元,用於回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型; 意圖確定單元,用於依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖; 答案獲取單元,用於依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 其中,所述關鍵字標注單元包括: 分詞子單元,用於對所述問句進行分詞,得到所述問句的分詞集合; 第一標記子單元,用於基於所述問句所屬的領域對應的領域詞典,對所述分詞集合中的各分詞進行關鍵字標記得到第一標記結果; 第二標記子單元,用於基於預先訓練的關鍵字提取模型,對所述分詞集合中的各分詞進行關鍵字標記得到第二標記結果;所述領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係; 第一確定子單元,用於依據所述第一標記結果和第二標記結果,確定所述分詞集合中的各分詞的詞標注結果。 其中,所述第一確定子單元包括: 第一判斷子單元,用於針對分詞集合中的各分詞,判斷所述第一標記結果和第二標記結果是否都標注為關鍵字; 第二確定子單元,用於在所述第一判斷子單元的如果為是的情況下,將該分詞確定為關鍵字,並依據所述第一標記結果或第二標記結果確定所述關鍵字的詞類型; 第三確定子單元,用於在所述第一判斷子單元的結果為第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字的情況下,將該分詞確定為非關鍵字。 其中,所述意圖確定單元包括: 第一模型處理子單元,用於將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度; 第四確定子單元,用於將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖; 第二判斷子單元,用於依據所述當前意圖對應的當前意圖範本,判斷所述詞標注結果中各關鍵字是否完整;所述意圖範本包括:確定一意圖所需要的全部意圖參數; 第五確定子單元,用於在所述第二判斷子單元的結果為是的情況下,將所述當前意圖確定為目標意圖; 選擇子單元,用於在所述第二判斷子單元的結果為否的情況下,按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖; 觸發子單元,用於在選擇子單元選擇下一個候選意圖之後,觸發所述的第二判斷子單元,直至所述多個候選意圖都選擇完畢。 其中,所述意圖確定單元包括: 第二模型處理子單元,用於至少將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度; 第六確定子單元,用於將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖; 第三判斷子單元,用於判斷所述當前意圖的可信度是否大於預設可信度閾值; 第七確定子單元,用於在所述第三判斷子單元的結果為大於的情況下,將所述當前意圖確定為所述目標意圖; 選取子單元,用於在所述第三判斷子單元的結果為否的情況下,選取預設個數的前若干個候選意圖作為待選擇意圖; 發送子單元,用於將所述待選擇意圖發送至終端以供用戶選擇; 第八確定子單元,用於將所述終端回傳的、用戶選擇的意圖確定為目標意圖; 第四判斷子單元,用於依據所述目標意圖對應的目標意圖範本,判斷所述詞標注結果中各關鍵字是否完整; 第九確定子單元,用於在所述第四判斷子單元的結果為否的情況下,將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數; 問題產生子單元,用於依據所述缺少的意圖參數和所述目標意圖範本,產生所述目標意圖相關的參數問題; 問題回傳子單元,用於將所述參數問題回傳給用戶端以便顯示給用戶;所述意圖範本包括:所述意圖參數和參數問題之間的對應關係; 參數獲取子單元,用於根據所述用戶端回傳的、用戶輸入的參數答案獲取所述缺少的意圖參數。 其中,所述答案獲取單元包括: 賦值子單元,用於依據目標意圖範本中配置的意圖參數,為所述意圖參數賦值,得到查詢參數; 來源資料獲取子單元,用於依據所述查詢參數獲取所述目標答案的來源資料; 處理子單元,用於對所述來源資料按照預設處理方式進行處理得到處理後的來源資料; 產生子單元,用於依據所述處理後的來源資料產生所述目標答案。 本發明還公開了一種伺服器,其特徵在於,所述伺服器包括:前述的產生裝置。 與現有技術相比,本發明實施例包括以下優點: 在本發明實施例中,因為訓練的意圖識別模型和關鍵字提取模型能夠更為準確的識別意圖,並且提取更為準確的關鍵字為執行意圖邏輯做意圖參數的準備,所以不僅提高了答案產生的效率和準確度,還能與用戶進行對話,在用戶沒有表達意圖的時候進一步的明確用戶的真實意圖,或者,在明確用戶的意圖的情況下進一步的獲取完整的意圖參數等,從而使得本發明實施例的靈活性也比現有技術中基於規則的方式更好,且能與用戶進行對話,用戶的體驗也較高。 當然,實施本發明的任一產品並不一定需要同時達到以上所述的所有優點。
下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。 為了方便本領域技術人員對本發明的理解,下面首先對本發明中出現的術語進行介紹。 本體(ontology) 本體是知識圖譜裡面的概念,可以理解為對現實世界的抽象。人類經過對現實世界的分析之後,可以抽象出來很多的實體,並且,每個實體又有自己的屬性,實體和實體之間存在著某種關係。那麼本體就可以理解為這些實體和實體之間關係的表達和描述。 例如,在詩歌領域,詩人和詩為兩個實體,這兩個實體分別有各自的屬性,其中,詩人的屬性可以包括:名字、朝代等;詩的屬性可以包括:內容、標題、朝代、類型等。並且,詩人和詩這兩個實體之間存在著寫與被寫的關係。 因為本體描述了實體和實體之間的關係,所以從本體就能瞭解到這個領域的所有模式,從而可以枚舉出關於這個領域的所有問題的意圖。例如,在詩歌領域,從詩歌領域存在的本體中,可以枚舉出下面這些意圖的問題:問詩人的作品,問詩人的朝代,問詩人的性別,問詩的內容,問詩的朝代,問詩的類型,或者,問詩的作者。 問答引擎 問答引擎在用戶輸入問題後,自動給出答案,並且問答引擎允許用戶以自然語言的形式輸入問題。問答引擎根據用戶輸入的問題得到答案的過程為:首先,通過解析用戶給出的關鍵字語,理解用戶表達的意圖;然後通過查詢知識庫或者通過某種演算法得到答案;最後以自然語言的形式給出答案。問答引擎可以包括單輪的問答引擎和多輪的問答引擎。其中,單輪的問答引擎是一問一答,即用戶問一個問題,在此問題中明確給出了意圖和關鍵字(slot),問答引擎輸出一個答案。多輪的問答引擎可以根據用戶的當前問題以及過往的問答記錄檔(上下文,Context)綜合識別出用戶的意圖並解析slot,當遇到意圖不清晰或者意圖所需的各種參數沒有完全滿足條件時,問答引擎會掌控對話,對用戶進行提問,直到用戶清晰的表達了意圖以及完整的slot,問答引擎才會給出答案。多輪的問答引擎通過對話的形式問問題,給用戶的體驗就像是在和一個真實的人交流。 意圖範本 意圖是在用戶當前提出的問題中,用戶想表達的目的。例如,用戶問“周杰倫唱過哪些歌曲”的意圖是找某個歌手唱的歌;例如,用戶問“床前明月光的下一句是什麼”的意圖是尋找一句詩的下一句。在本發明實施例中,使用意圖範本來表示一個意圖。一個意圖範本可以包括意圖的名稱、滿足意圖執行的各種參數(slot),以及意圖的執行邏輯,在本發明實施例中,意圖的執行邏輯以groovy動態腳本的形式配置在意圖範本中。 具體回答用戶某個帶有意圖的問題時,首先要提取用戶問題中的slot,給意圖範本中的參數賦值,然後執行groovy腳本配置的執行邏輯,最終得到groovy腳本回傳的答案。 關鍵字slot slot是意圖執行的參數,例如,“周杰倫唱過哪些歌曲”這個問題,“周杰倫”就是一個slot。“床前明月光的下一句是什麼”這個問題,“床前明月光”就是一個slot。如果把意圖看成一個句子,那麼slot就是問題中的關鍵字;如果把意圖看成一個函數,那麼slot就是參數。 slot提取就是提取用戶問題中的slot。如果要正確的回答一個問題,slot提取是十分重要的。如果slot提取錯誤,直接導致意圖的參數錯誤,進而造成意圖執行的結果錯誤。因此,要正確的回答一個問題,slot提取是十分重要的。 groovy動態腳本 groovy是一種指令碼語言,完全相容java語法,並且可在java中動態執行。基於這種特性,groovy語言可以作為意圖範本中的執行邏輯的承載者,即執行邏輯是可以被配置的,所以執行邏輯可以在不需要重新編譯或者重啟系統的情況下被改寫,這極大的方便了系統的維護,也增強了系統的可擴展性。 知識庫 知識庫即知識圖譜,是對實體、屬性以及實體之間的關係進行建模和存儲的系統。知識圖譜是以圖的方式存儲知識,這點區別於關係型數據庫。 推理(reasoning) 本發明實施例中包括兩種推理,一種是對知識的推理,另一種是對用戶意圖的推理。本發明實施例主要側重於對用戶意圖的推理,因為對知識的推理是知識圖譜系統的範疇。例如,知識庫中記載了A是B的父親,B是C的父親,當查詢C的爺爺是誰,就需要使用“爺爺=父親的父親”推理規則來推理。而對用戶意圖的推理是根據過往的上下文和當前的用戶問題,以及自動產生的對用戶的提問和用戶的回答,推理出用戶的意圖。例如,下面表1所示的關於旅遊領域的人機對話,其中,Q是用戶提問,A是引擎回答:從上述表1的人機對話可以看出,機器會試圖詢問用戶的意圖,並根據用戶的回答以及上下文推理出用戶當前的意圖。當用戶只說艾菲爾鐵塔時,機器並不知道用戶的具體意圖,於是機器提出了問題,然後用戶表達了艾菲爾鐵塔有多高的具體意圖。此時,機器明白了用戶的意圖是查詢一個實體的高度,並且實體是艾菲爾鐵塔,於是機器去知識庫裡面獲取艾菲爾鐵塔的高度屬性,然後回傳給用戶。 接著用戶提出“怎麼去那裡呢”,表達了一個明確規劃去某地路線的意圖。但是規劃去某地路線的意圖有兩個參數,一個是起點,一個是終點。機器從上下文中可以得到終點是艾菲爾鐵塔,但是不知道起點,因此機器無法執行這個意圖,於是機器提出關於起點的問題,最後機器得到用戶所說起點是凱旋門。 一般情況下,當用戶說出一個實體的名稱但是沒有表達任何意圖時,機器會像第一個Q那樣,詢問用戶的意圖。當機器已經有了足夠的上下文時,機器可以將用戶所說的凱旋門理解為,規劃去某地路線這個意圖的一個起點參數。此時,機器得到規劃去某地路線意圖的起點是凱旋門,終點是艾菲爾鐵塔後,執行這個意圖得出規劃後的路線。當用戶提出“如果從巴黎聖母院呢”的問題時,機器通過上下文可以得出用戶提出問題的目的是更改起點,於是,機器給出從巴黎聖母院到艾菲爾鐵塔的規劃路線的執行結果。 為了方便本領域技術人員對本發明中的意圖範本有更深刻的理解,參考圖1所示,為本發明中配置意圖範本的流程圖,配置意圖範本的流程可以包括步驟: 步驟101:建立領域內的本體。 當對一個新領域設計智慧問答引擎的時候,需要建立該領域內的本體。具體的,通過分析該領域,抽象出該領域包含什麼內容,以及這些內容之間的關係,那麼抽象出的內容就是實體(entity),內容之間的關係就是實體之間的關係(relation),最終建立該領域的本體(ontology)。 例如,當對詩歌領域設計智慧問答引擎時,通過資料調研發現這個領域裡面有詩人和詩,那麼詩人和詩就是實體。並且,詩人和詩都有自己的一些屬性,例如,詩人有姓名、性別、朝代等屬性,詩有名稱、內容等屬性。此外,詩人和詩之間存在著寫與被寫的關係,建立如圖2所示的本體。 例如,當對旅遊領域進行分析時,為了方便將問題簡化,只考慮旅遊領域裡面有城市和景點兩個實體。其中,城市有名稱、國家等屬性,景點有名稱、類型等屬性。城市和景點之間存在包含和被包含的關係,以及,景點之間存在如何到達的關係,可以建立如圖3所示的本體。 步驟102:依據領域內的本體產生領域詞典。 根據已經確定出的包括實體和實體間關係的本體,產生一個包含實體屬性值和實體的屬性名的領域詞典。具體的,可以根據以下步驟A1~步驟A2產生領域詞典: 步驟A1:獲取領域內各實體的各屬性。 根據領域內確定出的本體,獲取本體中各實體所包含的各屬性。例如,對旅遊領域確定出的本體,可以獲取到本體所包含的實體有城市和景點等,並且可以獲取到,城市具有名稱、所屬的國家等屬性,景點具有名稱、類型、營業時間等屬性。 步驟A2:將所述各屬性對應的屬性值作為關鍵字,並將實體標籤和屬性名作為關鍵字的詞類型,以及,將所述關鍵字的同義詞、近義詞和別名確定為關鍵字。 在獲取到城市的名稱、所屬的國家等屬性後,將獲取的各屬性對應的屬性值作為關鍵字,將實體標籤和屬性名作為關鍵字的詞類型。例如,城市的名稱有“北京”和“上海”,所屬的國家為“中國”,那麼將“北京”、“上海”和“中國”作為關鍵字;將“城市名稱”和“所屬國家”作為詞類型。進一步的,還可以將確定出的關鍵字的同義詞、近義詞和別名確定為關鍵字。例如,“中國的首都”是關鍵字“北京”的別名,所以,將“中國的首都”同樣作為關鍵字。 此外,還可以通過人工添加和補充的方式來來確定關鍵字和關鍵字的詞類型。 此時,將獲取的各實體的各屬性對應的屬性值,以及各實體的各屬性名作為詞類型,就可以構成本領域的領域詞典。由於通過查閱領域詞典就可以確定一個句子中的關鍵字,因此,在後續的流程中,利用領域詞典,就可以解析句子並提取句子中的關鍵字(slot)。特別的,領域詞典對於冷門領域的作用是非常重要的。 例如,有一份如下表2所示的詞典:其中,“###”是分隔符號,分隔符號前面是關鍵字,後面是關鍵字對應的詞類型。特別情況下,領域詞典中只有關鍵字清單,即只有關鍵字,沒有關鍵字對應的詞類型,這樣的領域詞典只能識別出句子中的關鍵字,不能確定關鍵字的類型。 當對如下的句子進行處理的時候:{窗前明月光是李白寫的嗎?},就可以提取到如下所示的關鍵字:{${Poem_content, 窗前明月光}是${Poem_author, 李白}寫的嗎?}。 步驟103:依據領域內各本體所表示出的各實體之間的關係,確定各領域內所有問句的意圖。 其中,本實施例中的意圖用於表述問句的詢問目的,意圖可以包括以下四點: 第一點、詢問實體的屬性。 例如,對上述的城市實體,可以有如下表3所示的意圖:例如,對上述的景點實體,可以有如下表4所示的意圖:第二點、詢問實體之間的所有關係。 例如,上述的旅遊領域本體,一共有三種關係,可以有如下所示的三種意圖: {城市有哪些景點?(城市到景點的關係)景點屬於哪個城市?(景點到城市的關係)從這個景點怎麼到另一個景點?(景點到景點的關係)} 第三點、通過實體的一個或多個屬性詢問該實體的其他屬性或所有屬性。 具體的,通過一個實體的某個或多個屬性定位到實體,然後查詢實體的其他屬性。 例如上述的城市實體,可以有如下意圖:{名稱是xxx的城市是哪個國家的?(通過名稱定位到城市,查詢國家屬性)名稱是xxx的國家包含哪些城市?(通過國家定位到城市,查詢名稱屬性)}。 第四點、通過實體的一個或多個屬性詢問該實體的關係。 具體的,第四點和上述第三點所描述的方法相同的地方是先定位到實體;不同的地方是上述第三點是查詢實體的屬性,而第四點是查詢實體的關係。例如,對於上述城市實體,可以有如下表5所示的意圖:通過上述第一點到第四點介紹的四種方法,可以通過本體枚舉出所有可能的意圖,這四種方法構成了意圖枚舉演算法。這種枚舉出來的意圖有些是在真實場景下沒有實際用處的。例如,問ID屬性,因此意圖枚舉的結果可能需要一定的人工驗證。實際上第一點是第三點的一個特例,即是通過名稱屬性定位到實體,然後查詢實體的其他屬性。 步驟104:為確定的各意圖配置對應的意圖範本。 具體的,意圖範本負責對某一類意圖的解答,例如,下面所示的問句:{杭州包含什麼景點?西安有哪些景點?南京有哪些好玩的地方?},其中的每一個問句都是一個意圖,即問一個城市有哪些景點,所有這些問題都可以用一個意圖範本來解決。再例如,{從艾菲爾鐵塔怎麼去羅浮宮?規劃一條從巴黎聖母院到艾菲爾鐵塔的路線 帶我從巴黎聖母院去羅浮宮},所示的規劃到某地的路線的問句,也都可以用一個意圖範本來解決。可以認為,意圖範本是意圖的一個設定檔,用來表示與該設定檔對應的意圖應該如何產生答案。 具體的,意圖範本可以包括:範本標識,範本描述,意圖參數及意圖參數對應的參數問題,意圖對應的例句組,以及,各例句組的組合規則。 其中,所述範本標識用於唯一表示一個意圖範本,所述範本描述用於描述所述意圖範本的目的;所述意圖參數為確定一個意圖所對應的參數;所述參數問題為:對應的意圖參數缺失時需要向用戶發送的問題;所述例句組中的例句包括實體的變數名,用於表示所述意圖範本能解決的問題;所述各例句組的組合規則用於表示:不同例句組中的例句的組合方式。 具體的,上述第一個意圖範本的範本描述可以為“找某個城市的景點”;第二個意圖範本的範本描述可以為“規劃從某地到某地的路線”。第一個意圖範本的意圖參數是城市名稱;第二個意圖範本的意圖參數有兩個,一個是起點(startPoi),一個是終點(endPoi)。如果用戶在對話的過程中沒有給出意圖參數,需要使用預設的參數問題來詢問用戶,下面表6是完整的意圖參數的配置:在上述意圖參數後面的以“q:”開頭的句子就是參數問題,一個意圖參數可以對應多個參數問題,具體用的時候隨機取一個參數問題即可。 具體的,意圖範本對應的例句組指示了什麼樣的問題適合用這個範本來解決。其中,例句組由範本的設計者自己填寫,一般通過分析領域經常問到的問題總結得到。例如,上述第一個尋找某個城市的景點的意圖範本,其例句組可以如下表7所示:由於上述尋找城市的景點的意圖適合用這種類型的語句來詢問,所以,在問題分類中這種類型的問題會被分類到這個意圖範本中。 上述例句組中給出了具體的例句句式,重點是對句式的總結,構成了所有可能問題模式的集合。由於在實際的應用場景中,實體是一個變數,所以將變數填充到例句之後,可以產生多個真實例句。例如,${city_name}可以是西安、倫敦、杭州、上海等,將這些實體名稱填充到表7所示例句的${city_name}中,可以產生如下所示的真實語句:{杭州包含什麼景點?杭州有哪些景點?杭州有哪些好玩的地方?西安包含什麼景點?西安有哪些景點?西安有哪些好玩的地方?……}。 上面列舉的例句組中沒有組的標記,預設是一組例句,因此不存在例句間的組裝邏輯,這種採用一問一答形式來對話的意圖範本屬於單輪對話意圖範本。單輪對話意圖範本適用於一問一答的應用場景,並且採用單輪對話意圖範本中的例句產生的真實例句不包含上下文的資訊。 在意圖範本中除了單輪對話意圖範本外,還存在多輪對話意圖範本。多輪對話意圖範本中的問題有多個,且包含上下文(Context)的多句問題,具體的多句問題可以如下表8所示:從上述的多句問題可以看出,伺服器向用戶詢問了多句,才得到了用戶的意圖,並且得到了較多的意圖參數。因此,伺服器在回答多輪對話的問題時需要考慮上下文,並且當沒有清楚的得到用戶的意圖,或者沒有得到較多的以意圖參數時,需要進一步的對用戶詢問。進一步的,在回答多輪對話的問題時可以充分考慮到上下文中用戶表達的意圖參數或意圖。 需要說明的是,多輪對話意圖範本在配置例句的時候需要明確設置組的概念,例如下面表9所示的例句配置:一共有六組,每組以“#”符號開始。如果組號後面有“intent”關鍵字,則表示這個組是有明確意圖的給出,否則,這個組可能只是表達某個意圖參數。從上述多輪對話意圖範本配置的例句中,可以看出,第一組既給出了意圖又給出了所需的所有參數,是一個完整的問題的表達。如果只有第一組,多輪對話意圖範本就轉化為單輪對話意圖範本,可見,單輪對話意圖範本是多輪對話意圖範本的特殊形式。 如果將上述多輪對話意圖範本中的各例句組按照一定的組合規則來組合,具體的組合方式如下表10所示:上述的組合規則表中的每一行代表一個組合規則,其中數位代表組號。例如組合規則10“2,3,6”,所表示的意思是從第二組中隨機選取一句話,再從第三組中隨機選取一句話,再從第六組中隨機選取一句話,最後將這三句話順序連接起來,構成了一組多句問題例句。 按照同樣的方式,表10中的每一種組合規則都可以得到一種多句問題的例句。例如,對於組合規則1:“1”,就是表9中第一組例句的單獨組合,對例句中包括的實體的變數名進行填充之後,可以得到如下所示的三個不同的多句問題的真實例句:{怎麼從巴黎聖母院去艾菲爾鐵塔?從巴黎聖母院去艾菲爾鐵塔,有什麼路線?規劃從巴黎聖母院去艾菲爾鐵塔的路線?},其中,這裡三個多句問題的真實例句,都表示了同一個含義。 再例如,根據組合規則12:“3,4,6”,可以得到如下表11所示的多句問題的真實例句,其中每組真實例句包含三句:可以看出,多句問題所對應的多句例句有可能是不完整的,例如缺少某個參數,也有可能是完整的,例如,組合規則5所組合出來的多句例句。但是,每個組合規則產生的多句問題的多句例句,總會包含一個表達意圖的例句。例如,表9所示的例句組1和3這兩個例句組都是表達意圖的例句組,所以表10中的組合規則裡,總會採用例句組1或者例句組3裡的句子來進行組合。這是為了模擬真實場景中,在用戶沒有提供足夠的參數和意圖時,用戶的問題不會被分類到任何一個意圖範本。因此,為了獲取用戶意圖,在所有的例句組合規則都至少包含一個表達意圖的句子。 此外,除了在意圖範本中配置上述範本標識,範本描述,意圖參數及意圖參數對應的參數問題,意圖對應的例句組,以及,各例句組的組合規則,還可以配置採用groovy腳本所表示的執行邏輯,執行該groovy腳本就可以產生對用戶提問的答案。具體的,執行groovy腳本產生用戶提問的答案的步驟可以包括:獲取資料、處理資料和產生答案。 其中,獲取資料指的是要獲取產生答案的來源資料。解決任何問題都需要有相應的資料。例如,回答一個城市有哪些景點,需要獲取這個城市的所有景點的資訊,這些景點資訊就是產生答案的來源資料。回答一個景點的開關門時間需要有這個景點的實體資料。 處理資料指的是對產生答案的來源資料進行處理。一般情況下,獲取到了來源資料後一般無法直接展示給用戶,需要對來源資料進行處理,包括控制檢查、格式轉化和演算法加工等,才能得到可以直接展示給用戶的資料。 產生答案是將處理後的來源資料進行口語化,並展示給用戶。經過了對來源資料的處理後得到的資料,如果直接展示給用戶顯得系統有些生硬。因此,對處理後的來源資料進行口語化,在口語化的過程中可以套用一些回復範本,或者採用字串拼接的方式。 需要說明的是,意圖範本是一種配置而不是代碼。當需要改變意圖範本中的執行邏輯時,可以通過改變意圖範本中執行邏輯的配置來實現。當需要增加對某個新意圖問題的回答時,只需增加相應的意圖範本中執行邏輯的配置即可。為了增加意圖範本的靈活性,本發明實施例使用groovy腳本來實現上述獲取資料、處理資料和產生答案三個步驟。當一個用戶問題被分配到具體的意圖範本時,只需動態執行相應意圖範本中的groovy腳本即可產生答案。 為了更清楚的介紹意圖範本,意圖範本的典型結構如下表12所示:更詳細的,意圖為“規劃從某地到某地的路線”的多輪對話意圖範本的示例,如下表13所示: 在表13中,“ID”為範本標識,用於唯一標識一個範本,“Desc”為範本描述,用於採用自然語言描述一個範本的目的,“Args”為意圖參數,為該意圖範本所需要的所有參數,“Argument_script”為意圖參數賦值的腳本, “Data_retrieve_script”為資料獲取腳本, “Data_process_script”為資料處理腳本, “Answer_generate_script”為產生答案腳本,“Corpus”為例句組,“Assemble_rule”為例句組的組合規則。 需要說明的是,在表13的欄位“data_retrieve_script”中,直接使用了一個planner變數的plan函數來獲取路線。而腳本裡面並沒有說明planner變數是如何初始化的。實際上planner變數是一個路線規劃引擎,plan函數是路線規劃的入口函數。意圖範本在執行腳本的時候,在初始化groovy執行器之前,是需要初始化planner變數的,這個是在實際的引擎裡面完成的,初始化完成之後,將planner這個變數設置到groovy執行引擎的環境變數裡面,然後在groovy腳本裡面就可以直接使用了,所以上述腳本是不會報錯的。 採用groovy腳本可以使意圖範本的問答引擎可以回答任何的問題,因為執行資料獲取腳本可以獲取到任何的資料,無論是直接查詢資料庫,查找知識圖譜,調用搜尋引擎,或者調用其他的相關系統,等等,都可以實現。對於在其他非groovy腳本,也可以將複雜的資料處理操作(可能需要複雜的演算法來進行資料處理),首先在問答引擎裡面實現,然後將訪問入口放置在groovy的環境變數裡面,這樣就可以直接調用這個環境變數來進行資料處理。所以本發明實施例中採用groovy腳本,可以大量減少意圖範本中的groovy腳本的量,卻又可以使這些groovy腳本執行從簡單到複雜的任意邏輯操作。 通過上述對單輪對話意圖範本和多輪對話意圖範本的介紹,可以得出這二者都有自己特定的使用場景,各有特點。單輪對話意圖範本簡單,例句簡單,維護也簡單,適用於一問一答這種簡單的場景(即圖7所示的實施例),並且單輪對話意圖範本是多輪對話意圖範本的一種特殊形式。多輪對話意圖範本稍微複雜,但是可以適用於更多的場景(即圖8所示的實施例),並且,多輪對話意圖範本可以以對話的形式與用戶溝通來挖掘用戶的潛在意圖,進而根據意圖來回答問題,因此更加智慧化。 在介紹完意圖範本如何配置之後,意圖範本中包含用戶可能提出的每個問題所對應的例句組,並且意圖範本中配置了可以完成用戶提出的每個問題的意圖的執行邏輯的groovy腳本,接著需要利用配置好的意圖來訓練本發明實施例中的意圖識別模型和關鍵字提取模型。其中,意圖識別模型可以用於針對一個問句,識別出該問句的意圖,例如,一個問句是“請問從巴黎聖母院到羅浮宮怎麼走”,將該問句的詞標注結果輸入意識識別模型可以得到該問句的多個候選意圖及所述多個候選意圖的可信度,可信度可以用於表示對於的候選意圖的可能性大小,可信度越高,對應的候選意圖是用戶詢問的真實意圖的可能性就越大。其中,候選意圖可以採用範本標識ID來表示。 在本發明實施例中,意圖識別模型是自然語言分類器,而自然語言分類器是機器學習模型,無論採用哪種機器學習演算法,都需要同樣的訓練語料,即帶有標記的自然語言文本。其中,參考表X所示,為帶有標記的自然語言文本的例子示意表。利用上述表14所示的大量的訓練語料,就可以採用機器學習演算法訓練意圖識別模型。例如,支持向量機(SVM,Support Vector Machine)是一個有監督的機器學習模型,通常用來進行模式識別、分類、以及回歸分析等。其中,產生訓練語料的過程,就是執行配置的意圖範本中的例句組合規則,並將例句中實體的變數名替換為變數值產生真實例句的過程。 而關鍵字提取模型是一種序列標注模型,序列標注就是對句子中的各個序列(即是分詞之後的各分詞)標注類型。因此,訓練關鍵字提取模型的時候,就可以依據各真實例句(例如表14中的真實例句)的詞標注結果進行訓練,其中詞標注結果可以包括:各個分詞的詞性標注,各個分詞是否為關鍵字的標注,以及各個關鍵字的詞類型的標注,等等。 例如,對於表14中的真實例句“怎麼從羅浮宮去艾菲爾鐵塔呢?”,其詞標注結果可以為:“怎麼_r 從_p羅浮宮_ns 去_v 艾菲爾鐵塔_ns ### plan_route_to_poi ### O O B-startPoi O B-endPoi”,在標注結果中,第一個分隔符號“###”前的內容“怎麼_r 從_p羅浮宮_ns 去_v 艾菲爾鐵塔_ns”為詞性標注結果,第一個分隔符號和第二個分隔符號之間的內容“plan_route_to_poi”為該真實例句對應的意圖範本ID,而第二個分隔符號之後的內容“O O B-startPoi O B-endPoi”為關鍵字標注結果,表示分詞“怎麼”和“從”不是關鍵字,而“羅浮宮”是關鍵字,且詞類型為“起點”,分詞“去”也不是關鍵字,而“艾菲爾鐵塔”是關鍵字,且詞類型為“終點”。依據大量真實例句的詞標注結果即可訓練得到關鍵字提取模型,該關鍵字提取模型有對線上問句進行關鍵字提取。 因此,在介紹完意圖範本的配置過程之後,參考圖4,示出了本發明訓練意圖識別模型和關鍵字提取模型的流程圖,本實施例可以包括以下步驟401~步驟405: 步驟401:獲取實體的變數值清單,所述變數值清單包括:實體的變數名、實體的變數值及兩者的對應關係。 在本實施例的流程中,步驟401~步驟404是產生訓練語料的過程。 在本實施例中,意圖範本中雖然配置了例句,但是這些例句包括了實體的變數名,例如“City_name”,並且只是問法的集合,是對所有可能的問句的模式的總結。這種例句不是真實的句子,因為例句中有變數名。而如果將這些變數名都替換為真實的變數值,例如將“City_name”替換為“北京”,則可以產生真實例句。因此產生真實記錄的前提,是一個實體的變數名的所有可能的變數值的集合。 例如,對於意圖範本中配置的例句“${City_name}是哪個國家的?”,其中的變數名就是“City_name”,其可能的變數值的集合有:{杭州,蘇州,北京,上海,倫敦,巴黎,等等}。因此,將該變數值的集合中的變數值替換為例句中的變數名,就能產生如下所示的真實例句的集合:{杭州是哪個國家的?蘇州是哪個國家的?北京是哪個國家的?上海是哪個國家的?倫敦是哪個國家的?巴黎是哪個國家的?等等}。 而在本在步驟中,針對一個領域,為了得到實體的變數值的清單,可以有如下所示的方法:第一,從知識庫中獲取實體的類型和屬性名的屬性的值。例如,上述的變數名“City_name”,實體的類型是“City”,屬性名是“name”,所以可以查詢知識庫獲取實體“City”的屬性名“name”的屬性值,就可以得到相當多的實體的變數值。第二,從外部獲取。例如,從外部的網頁爬取等。第三,人工維護。依靠用戶的經驗自己添加相應的變數值。第四,隨機產生,不過第四種方式適合某些不可枚舉的變數值,例如身高的變數名為“${height}”、體重的變數名為“${weight}”等。這種變數名的變數值可以通過隨機的方式產生,“身高”可以產生100到230之間的隨機整數,就代表可能的變數值(單位為釐公尺)。 一般情況下,如果希望產生的真實例句不會重複,即有相同的變數值被填充到例句的變數名中,所以變數值的個數一般要比產生的真實例句的個數要多。當然,如果變數值太多的話,也會增加獲取實體的變數值清單的工作量,也會影響系統性能,所以也不是越多越好。本領域技術人員可以在獲取實體的變數值清單時自主選擇變數值的個數。 步驟402:依據意圖範本中配置的例句組和例句組的組合規則,產生包括實體的變數名的變數例句。 在本步驟中,依據已經配置好的意圖範本中的例句組和例句組的組合規則,來產生包括變數名的變數例句。其中,意圖範本中的例句是非結構化的,可以通過解析意圖範本中已經編輯好的例句,並將例句存儲在一定的資料結構中,例如存在記憶體裡面,方面後續的使用。這裡的存儲例句的資料結構可以有很多種選擇,主要看是否方便輸出給後續的處理常式來使用。 這裡需要注意的是,因為意圖範本中,針對於直接根據用戶詢問的問句產生答案的單輪形式的情況,例句組可以只有一組,即所有例句都編號為“1”,或者,添加其他的默認組編號均可。而對於需要向用戶回傳問題並根據用戶的回答才能確定用戶的意圖的多輪形式的情況,例句組就有多個,可以分別採用“1、2、3……”等為各例句組編號。 而例句組的組合規則,也可以通過讀取配置好的意圖範本中而得到。同樣的,存儲例句組的組合規則的資料結構也可以有很多種選擇,選擇的依據是看是否方便後續的處理常式來使用。例句組的組合規則用於表示需要將哪幾個例句組的例句組合在一起,例如例句組的組合規則為“1,2”,則說明需要從第一個例句組和第二個例句組中分別選擇一個例句來產生變數例句。而對於單輪形式的意圖目標,其中的例句組的組合規則可以直接為“1”,或者其他的預設規則。 因為例句組和例句組的組合規則都存儲在特定的資料結構中,接著就可以讀取例句組及其組合規則來產生一定數量的真實例句。假設,例句組及其組合規則已經解析成如表15所示的資料結構(json格式)。在實際應用中,為了避免真實例句的數量過多也會造成系統性能的降低,可以預先設定一個組合規則最多產生多少條真實例句,例如,最多產生100條真實例句。 在產生真實例句的過程中,可以從組合規則中指定的每個例句組裡面隨機選擇一條例句,並帶上例句組的類型。如果例句組的類型是“intent”,則將該真實例句標記為範本標識ID,如果例句組的類型是關鍵字slot,則在範本ID後面添加標記“-slot”,說明該真實例句不是直接表明意圖,而是提供意圖參數。接著按照組合規則指定的例句組,就可以將包括變數名的例句拼裝起來,形成多輪變數例句。 參考表16所示,為按照組合規則1和2,得到的變數例句的例子。步驟403:將所述變數值清單中各實體的變數值,分別對應替換所述變數例句中的變數名,得到真實例句。 接著將步驟401中獲取到的變數值清單中各實體的變數值,來對應替換表16所示的變數例句中的變數,就可以得到真實例句。例如,從變數值清單中隨機獲取一個變數值,替換變數例句中相應的變數名。因此,上述表16中的產生的變數例句,經過步驟403可以得到表17所示的真實例句的例子。在表17中,“###”符號是分隔符號,該分隔符號前的內容是真實例句,該分隔符號後的內容該真實例句對應的範本標識ID。步驟404:對所述真實例句進行標記,得到訓練語料;所述訓練語料包括:所述真實例句對應的範本標識和所述真實例句中包括的各關鍵字及其類型。 本步驟需要對表17所示的真實例句進行標記處理,從而得到訓練語料,可以用來訓練本發明實施例中的意圖識別模型和關鍵字提取模型。其中,本步驟中得到的訓練語料可以直接作為訓練意圖識別模型和關鍵字提取模型需要的、特定格式的輸入。其中,表18示出了訓練語料的一種格式示例。其中“BOS(begin of session)”是一組訓練語料的開始標記,而“EOS (end of session)”是一組訓練語料的結束標記。“分詞和詞性標注結果”可以是對一個真實例句進行分詞和詞性標記的結果,句子標記即是該真實例句的範本標識ID,“關鍵字slot標記”是對該真實例句中的每個分詞進行是否為關鍵字slot以及關鍵字slot類型的標記。在“slot標記”中,可以採用“O”來表示這個分詞不是slot,可以採用“B”表示這個分詞是slot且是該slot的開始,可以採用“I”表示這個分詞是一個slot的繼續,因此,從前面最相鄰的“B”到連續出現的“I”對應的分詞,就構成了一個完整的slot。“B”和“I”後的標記內容,是該slot的詞類型。 因此,針對表18中產生的真實例句,就可以通過標記處理,得到如表19所示的詞標注結果,該詞標注結果可以直接用於機器學習演算法的訓練輸入。在表19中,針對第一條訓練語料“怎麼_r 從_p 巴黎聖母院_ns 去_v 羅浮宮_ns ### plan_route_to_poi ### O O B-startPoi O B-endPoi”,其中的“怎麼_r 從_p 巴黎聖母院_ns 去_v 羅浮宮_ns”,即第一個分隔符號“###”之前的內容,是對該真實例句的分詞和詞性標記結果。其中的“plan_route_to_poi”,即第一個分隔符號“###”和第二個分隔符號“###”之間的內容,是意圖範本的範本標識。其中的“O O B-startPoi O B-endPoi”,即第二個分隔符號之後的內容,是關鍵字標記的結果,其中第一個字元“O”用於表示對應的分詞“怎麼”不是關鍵字,第二個字元“O”用於表示對應的分詞“從”不是關鍵字,第三個字元“B”表示對應的分詞“巴黎聖母院”是關鍵字,其詞類型為起點“startPoi”,第四個字元“O”用於表示對應的分詞“去”不是關鍵字,第五個字元“B”表示對應的分詞“羅浮宮”是關鍵字,其詞類型為終點“endPoi”。以此類推,本領域技術人員可以確定表X中其他訓練語料的含義。 以上步驟401~步驟404是依據所述意圖範本中配置的例句組和例句組合規則,產生訓練語料的過程。 步驟405:依據所述訓練語料採用機器學習演算法,訓練得到意圖分類模型和關鍵字提取模型。 有了步驟404產生的訓練語料,就可以使用機器學習演算法來訓練意圖分類模型和關鍵字提取。當然,在實際應用中,本領域技術人員可以僅訓練一個模型來同時進行範本分類和關鍵字slot提取,這就是聯合模型(joint model)。例如,最有效的遞歸神經網絡(RNN)。 本領域技術人員也可以只訓練意圖識別模型,例如,最有效的卷積神經網路(CNN)進行文本分類,並且可以採用多通道進行輸入,增強模型判斷的準確率。如表X所示的訓練語料一共可以提供三種不同的通道,一種是詞向量通道,第二種是詞性通道,第三種是slot標注通道。 當然,本領域技術人員也可以同時訓練出意圖識別模型和關鍵字提取模型,其中,意圖識別模型有進行問句的意圖識別,關鍵字提取模型有對問句進行關鍵字的標記和類型標記。 另外,單輪對話方式和多輪對話方式需要不同的模型,單輪對話方式只需要考慮對當前這一個問句的判斷,僅對當前這句話進行分詞和詞性標注、意圖識別以及slot提取即可;而多輪對話方式需要的意圖識別模型和關鍵字提取模型都更加複雜,模型的輸入不僅包括當前這句話的標記結果,也包括這句話之前的歷史對話內容(即上下文),由意圖識別模型和關鍵字提取模型參考上下文來確定當前這句話的意圖並進行slot提取。在本發明實施例中,無論是單輪對話方式還是多輪對話方式,都可以採用相應的深度學習演算法來解決,因此本發明實施例既可以實現單輪對話方式的意圖識別,也可以同時實現單輪對話方式的意圖識別和slot提取,也可以實現多輪對話方式的意圖識別及其slot提取。 在本發明實施例中,以同時訓練得到意圖識別模型和關鍵字提取模型為例進行說明。在訓練得到意圖識別模型和關鍵字提取模型之後,可以採用意識識別模型來確定一個問句的意圖,以及採用關鍵字提取模型對該問句進行關鍵字提取,得到各分詞是否為關鍵字以及詞類型的標記結果。因此,本發明實施例可以應用於問題答案的自動產生領域,例如,問答引擎。參考圖5,是本發明的問句答案的產生方法在實際應用中的場景架構圖。在圖5中,用戶通過用戶端101向伺服器102發送一個問句,來詢問自己想要的答案,例如,杭州的景點都包括哪些,伺服器102則可以採用預先訓練的關鍵字提取模型提取出杭州和景點兩個關鍵字,並且詞類型為“城市名稱”和“旅遊地點”,接著可以依據預先訓練的意圖識別模型得到該問句是要問杭州的景點,接著就可以通過確定的意圖來產生該問句的答案,並通過用戶端101展示給用戶。其中,伺服器102可以採用問答引擎等實現。 基於圖5所示的場景架構圖,參考圖6所示,示出了本發明一種問句答案的產生方法實施例1的流程圖,本實施例可以應用於圖5所示的伺服器102上,例如,問答引擎等,本實施例可以包括以下步驟: 步驟601:回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型。 在本步驟中,用戶通過用戶端向伺服器例如問答引擎發送了一個問題,則伺服器可以對該問句進行分析,不僅依據關鍵字提取模型確定出該問句包括的關鍵字及關鍵字的詞類型,還能依據意圖識別模型確定出該問句的詢問的意圖。進行關鍵字提取的時候,可以先對問句進行分詞和詞性標注,例如,問句中的分詞是名詞還是動詞等,再依據預先訓練的關鍵字提取模型對該問句進行標注得到詞標注結果,詞標注結果可以包括:問句的各分詞是否為關鍵字以及各關鍵字的詞類型。 具體的,步驟601可以包括步驟B1~步驟B3: 步驟B1:對所述問句進行分詞,得到所述問句的分詞集合。 首先,對問句進行分詞處理並進行詞性標注,得到具有詞性標注的分詞集合。 步驟B2:基於所述問句所屬的領域對應的領域詞典,對所述分詞集合中的各分詞進行關鍵字標記得到第一標記結果;以及,基於預先訓練的關鍵字提取模型,對所述分詞集合中的各分詞進行關鍵字標記得到第二標記結果。 根據該問句所屬的領域對應的領域詞典,對分詞集合中的各分詞進行關鍵字標記得到第一標記結果。其中,領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係,或者,有些領域詞沒有標注詞類型,因此,基於領域詞典對各分詞進行標記得到的第一標記結果中,可能同時包括關鍵字和對應的詞類型,也可能僅包括關鍵字。由於領域詞典中可能出現一個領域詞包含另一個領域詞的現象,如果這兩個領域詞的詞類型不同,則在標記的時候就會出現無法確定採用哪一個詞類型的問題。在本實施例中可以這裡採用最長優先標記演算法來進行標記,即:當存在詞類型衝突的時候,優先標記長度最長的領域詞。 例如,領域詞典中有如下的詞:杭州,西湖,博物館,和西湖博物館,而問句為“杭州西湖的邊上有一座西湖博物館”,則基於領域詞典對該問句進行標記的第一標記結果為:“杭州_B-City-name / 西湖_B / 的邊上有一座_O / 西湖博物館_B-scenic spots name”。參考領域詞典中的領域詞,“西湖博物館”既可以標記為“西湖博物館_B-scenic spots name”,也可以標記為:“西湖_B博物館_B”,但是按照最長優先標記演算法,“西湖博物館”的長度比“西湖”和“博物館”都長,所以優先標記為“西湖博物館_B-scenic spots name”。可見,關鍵字“杭州”、“西湖”和“西湖博物館”都標記為關鍵字,並且“杭州”和“西湖博物館”同時也被標記出了詞類型,而“西湖”因為在領域詞典未給出詞類型,所以也沒有被標記出詞類型。 以上可知,基於領域詞典進行標注是一種最直接的方式來識別問句中的關鍵字slot,只考慮各個分詞本身是一種局部優先的方法。而在實際應用中,用戶可能會出現輸入錯誤等,導致基於領域詞典的第一標記結果為空,而且領域詞典中的領域詞可能會比較雜,因此會將問句中的不重要的分詞也標記出來,這就會對最終產生的答案造成比較大的影響。在這種情況,需要採用預先訓練的關鍵字提取模型同時對問句進行標記。 基於關鍵字提取模型對問句進行關鍵字提取及詞類型的標記,會同時考慮問句的結構,從而確定各分詞是否為關鍵字以及確定各關鍵字的詞類型,是一種全域性的方法。例如,假設問句為“從艾菲爾鐵塔到巴黎聖母院怎麼走?”,採用預先訓練的關鍵字提取模型已經學習到了“從${startPoi}到${endPoi}怎麼走?”的句式,因此可以做出如下的第二標記結果:“從_O 艾菲爾鐵塔_B- startPoi到_O 巴黎_B 聖母院_I-endPoi怎麼_O 走_O ?_O” 步驟B3:依據所述第一標記結果和第二標記結果,確定所述分詞集合中的各分詞的詞標注結果。 在本步驟中,針對步驟B2中得到的第一標記結果和第二標記結果,則可以確定問句的最終詞標注結果。例如,可以針對分詞集合中的各分詞,判斷所述第一標記結果和第二標記結果是否都將其標注為關鍵字,如果是,則將該分詞確定為關鍵字,並依據第一標記結果或第二標記結果中標記出的詞類型來確定該關鍵字的詞類型。而如果第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字,則將該分詞確定為非關鍵字。即,如果基於領域詞典的第一標注結果認為一個分詞是關鍵字,而基於關鍵字提取模型的第二標注結果認為該分詞不是關鍵字,則以第二標注結果為準,不再將該分詞確定為關鍵字。 例如,用戶發送的問句為“幫我規劃一條從巴黎聖母院到凱旋門的路線?”,根據該問句可以產生詞標記結果,該詞標記結果可以是詞標記矩陣的形式,其中包括各分詞和分詞是否為關鍵字以及詞類型的標記結果。一種詞標記矩陣的示例可以參考表20所示。其中,表20中的“-”代表沒有標注結果。 步驟602:依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖。 在本步驟中,則將步驟601中得到的問句的詞標注結果,作為預先訓練的意圖識別模型的輸入,從而得到該問句多個候選意圖,以及各候選意圖對應的可信度。例如,針對表X中的詞標注結果,根據各關鍵字及詞類型的標注結果,意圖識別模型輸出以下三個候選意圖:plan_route_to_poi,get_ scenic spots_of_city,和, get_name_of_city,分別對應的可信度為0.9、0.4和0.3。可見,候選意圖其實是配置好的意圖範本的範本標識ID。候選意圖“plan_route_to_poi”對應於用於規劃路線的意圖,而候選意圖“get_ scenic spots_of_city”對應於用於獲取一個城市的景點的意圖,而候選意圖“get_name_of_city”對應於用於獲取一個城市的名字的意圖,其中,候選意圖“plan_route_to_poi”對應的可信度0.9的分值最高,說明該候選意圖“plan_route_to_poi”最有可能是該問句的目標意圖,最有可能反映出用戶提問的真實目的。 步驟603:依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 在本步驟中,根據確定的目標意圖可以分別對應到目標意圖範本,再依據該目標意圖範本,可以根據目標意圖範本中配置的獲取目標答案的方法,來獲取該目標意圖對應的目標答案,並回傳給用戶端。 具體的,步驟603的實現過程可以包括步驟C1~步驟C4: 步驟C1:依據目標意圖範本中配置的意圖參數,為所述意圖參數賦值,得到查詢參數。 在本步驟中,因為一個意圖範本中均配置了意圖參數,因此,採用步驟601中得到的詞標注結果為意圖參數進行賦值從而得到查詢參數。例如,對於目標意圖“plan_route_to_poi”,在目標意圖範本中已經配置好意圖參數,可以包括起點參數“startPoi”和終點參數“endPoi”。則可以根據表X示意的詞標注結果,起點關鍵字的名字為:“巴黎聖母院”,終點關鍵字的名字為“凱旋門”,則分別為起點參數“startPoi”和終點參數“endPoi”賦值,得到查詢參數“巴黎聖母院”和“凱旋門”。 在實際應用中,可以在意圖範本中配置好腳本,例如,為參數賦值的參數執行腳本,則本步驟即可直接運行目標意圖範本中配置的參數執行腳本,從而為意圖參數賦值。 可以理解的是,在實際應用,可以採用groovy腳本實現本發明實施例中的所有執行腳本。在執行腳本之前,可以先對groovy執行引擎進行初始化,並在groovy引擎中設置相應的變數,這些變數可以直接在意圖範本中配置的groovy腳本中進行使用而無需再行聲明。採用這種方式可以大量簡化groovy腳本的數量,並且增強groovy腳本的功能。例如,初始化一個java的類,該類用來執行一個比較複雜的操作,然後將這個類的實例設置到groovy執行引擎中,則在其他的groovy腳本裡面,可直接調用這個類的方法。 步驟C2:依據所述查詢參數獲取所述目標答案的來源資料。 然後,再依據賦值後的查詢參數來獲取範本答案的來源資料。例如,可以直接執行目標意圖範本中配置的資料獲取腳本。資料獲取腳本中定義了如何獲取相關的資料,執行這個腳本,直接獲取資料,並按照用戶自訂的回傳數值型別進行回傳。 步驟C3:對所述來源資料按照預設處理方式進行處理得到處理後的來源資料。 在本步驟中,可以執行目標意圖範本中配置的資料處理腳本實現對來源資料的處理。其中,資料處理腳本可以接收資料獲取腳本的回傳值作為輸入,並進行資料處理,並回傳用戶自訂的回傳數值型別。 步驟C4:依據所述處理後的來源資料產生所述目標答案。 在本步驟中,可以執行目標意圖範本中的答案產生腳本實現目標答案的產生。其中,可以資料處理腳本的回傳值作為輸入,進行答案拼裝,或者執行特定的行為action,並回傳用戶自訂的回傳數值型別,並將答案產生腳本的回傳值作為目標答案,可以將該目標答案通過用戶端回傳給用戶,用戶就可以得到提問的問句對應的答案或者最終行為action的執行結果。 可見,採用本發明實施例,通過意圖範本的配置,可以產生足夠多的訓練語料,進而使得預先訓練關鍵字提取模型和意圖識別模型,對問句的關鍵期提取和意圖的確定更為準確。並且,該意圖範本中包括了獲取答案的執行腳本,後續可以對執行腳本進行修改等操作,使得意圖範本的可維護性更好。並且,根據確定的意圖對應的意圖範本可以直接執行腳本從而獲得答案,從而提高了伺服器例如問答引擎的效率。此外,意圖範本中還配置了能回答出問題的問句的例句,因此,使用意圖範本可以方便的回答用戶提問的問題,自動給出問題的答案。 參考圖7所示,示出了本發明一種問句答案的產生方法實施例2的流程圖,本實施例主要為單輪對話形式的示例,即根據用戶提問的問句可以直接回傳答案的應用場景,本實施例可以包括以下步驟: 步驟701:回應於觸發問句,依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型。 在本實施例中,步驟701的實現可以參考步驟601的介紹,在此不再贅述。 步驟702:將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度。 在本步驟中,將詞標注結果作為意圖識別模型的輸入,可以得到多個候選意圖及對應的可信度。具體可以參考步驟602的介紹。 步驟703:將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖。 在單輪對話形式中,以各候選意圖的可信度為準來確定目標意圖,首先,將可信度最高的候選意圖作為當前意圖進行意圖決策,即從多個候選意圖中選擇最符合實際情況的意圖作為目標意圖。 步驟704:依據所述當前意圖對應的當前意圖範本,判斷所述詞標注結果中各關鍵字是否完整,如果完整,則進入步驟705,如果不完整,則進入步驟706。 對該當前意圖對應的當前意圖範本,可以獲取到該當前意圖範本中配置的所有意圖參數,因為產生問句的答案需要所有意圖參數的值,所以可以參考當前意圖範本中配置的所有意圖參數,來判斷詞標注結果中的各關鍵字是否完整,即是否能依據各關鍵字及對應的詞類型,對當前意圖範本中的所有意圖參數成功進行賦值。 步驟705:將所述當前意圖確定為目標意圖。 如果當前意圖範本的所有意圖參數都能被賦值,則將當前意圖確定為目標意圖。 步驟706:按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖,並返回步驟704,直至所述多個候選意圖都選擇完畢,仍然無法確定目標意圖的時候,向用戶端回傳無法產生問題答案。 如果當前意圖範本的所有意圖參數不能都被賦值,則按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖,並繼續判斷新選擇的當前意圖中的全部意圖參數是否能全部被賦值,直至多個候選意圖都選擇完畢。如果所有的候選意圖都沒有被選中,則可以不產生該問句的答案,進一步可以將無法產生答案的資訊通過用戶端回傳給用戶。 步驟707:依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 如果能夠確定得到目標意圖,則進一步執行該目標意圖範本中配置的各腳本,從而得到該問句的目標答案。 其中,在本實施例中,這裡採用某一個意圖範本的所有意圖參數是否能被賦值作為確定目標意圖的依據,因為意圖分類模型可能存在著一定的失敗率,可信度最高的候選意圖可能不是真實的用戶意圖,因此,在得到候選意圖之後再通過意圖參數來約束,往往可以確定出到真實的用戶意圖。 在本實施例中,通過預先建立本體可以枚舉用戶所有可能的意圖,然後將各個意圖以意圖範本的方式存儲,每個意圖範本負責解決對應的意圖的問題。意圖範本可以包括意圖參數、意圖的解決邏輯以及意圖的可能問句形式,針對用戶提出的問題,通過預先訓練的關鍵字提取模型和,將該問句歸類到一個具體的意圖上,然後將提取的關鍵字作為意圖的參數,執行意圖範本裡面對應的邏輯,即執行意圖範本中配置的腳本從而得到問題的答案。本發明實施例中訓練模型的大量訓練語料都是根據意圖範本中的例句組和例句組的組合規則產生的,因此訓練得到的關鍵字提取模型和意圖識別模型更能準確的提取關鍵字並進行意圖歸類,從而使得本實施例中產生的答案也能更準確。 參考圖8所示,示出了本發明一種問句答案的產生方法實施例3的流程圖,主要為多輪對話形式的示例,即不能根據用戶提問的問句直接回傳答案,需要向用戶回傳問題並根據用戶的輸入才能確定目標意圖的應用場景,本實施例可以包括以下步驟: 步驟801:回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型。 在本實施例中,與步驟701不同的是,針對每一次用戶提出的當前問句,伺服器都會將當前問句的詞標注結果,以及歷史問句的關鍵字提取結果作為關鍵字提取模型的輸入,來對當前問句進行關鍵字提取。 其中,在多輪對話形式中,對於用戶的歷史對話內容,例如,歷史問句,對歷史問句的意圖識別結果和關鍵字提取結果等,可以保存至會話資料庫中,則本步驟就可以從會話資料庫中獲取對話內容。因為歷史問句已經進行過關鍵字提取,且關鍵字提取結果都存儲在歷史對話內容即上下文中,因此,可以直接從會話資料庫中獲取到歷史問句的關鍵字提取結果,將其和當前問句的詞標注結果一併作為關鍵字提取模型的輸入,來對當前問句進行關鍵字提取。可以理解的是,關鍵字提取結果也不是一成不變的,可能隨著對話內容的改變而改變。 步驟802:至少將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度。 本步驟與步驟702的不同之處在於,本步驟中意圖識別模型的輸入,除了用戶提出的當前問句的詞標注結果,還可以包括用戶的歷史問句的關鍵字提取結果和意圖識別結果,其中,關鍵字提取結果和意圖識別結果可以用於對當前問句輔助識別意圖。因為本實施例應用的是多輪對話形式的應用場景,所以用戶每一次輸入的內容例如問句中也會包括必要的資訊,例如意圖參數等,因此,對用戶後續輸入的內容進行詞標注之後,除了將詞標注結果作為意圖識別模型的輸入,還會將歷史問句的意圖識別結果和關鍵字提取結果也作為意圖識別模型的輸入,從而得到當前問句的多個候選意圖及對應的可信度。 其中,本步驟就可以從會話資料庫中獲取對話內容。因為歷史問句已經進行過關鍵字提取,且關鍵字提取結果都存儲在歷史對話內容即上下文中,因此,解析出了候選意圖之後,候選意圖的參數一部分來自於對當前語句的關鍵字提取結果,另一部分來自於對話內容的上下文中。具體的,針對用戶每一次輸入的當前問句,將該當前問句的詞標注結果,以及歷史問句的意圖識別結果和關鍵字提取結果,都作為意圖識別模型的輸入,來獲取當前問句的意圖識別結果。可以理解的是,候選意圖也不是一成不變的,可能隨著對話內容的改變而改變。 步驟803:將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖。 在本步驟中將步驟802中得到的多個候選意圖中可信度最高的候選意圖確定為當前意圖。 步驟804:判斷所述當前意圖的可信度是否大於預設可信度閾值,如果大於,則進入步驟806;如果不大於,則進入步驟805。 在本步驟中,判斷可信度的最大值是否大於預設可信度閾值,例如,0.8,如果大於,則可以認為選擇可信度最大的當前意圖作為目標意圖。 步驟805:選取預設個數的前若干個候選意圖作為待選擇意圖,並將所述待選擇意圖發送至終端以供用戶選擇。 而如果可信度的最大值都小於預設可信度閾值,則可以按照可信度從大到小的順序給候選意圖進行排序,並選取前預設個數的多個候選意圖作為待選擇意圖。例如,選取前兩個候選意圖作為待選擇意圖,併發送給用戶端,以便用戶可以從這兩個待選擇意圖中選擇與自己實際目的相符合的意圖,進一步的,後續可以將用戶選擇的意圖作為目標意圖。 具體的,伺服器可以產生包括這兩個待選擇意圖的選擇問句回傳給用戶。選擇問句的內容可以來自於意圖範本的“desc”欄位,例如有兩個待選擇意圖的“desc”欄位分別為表21所示的內容。則產生的選擇問句可以為:“請問您是想規劃到凱旋門的路線,還是獲取凱旋門的介紹呢?”。 步驟806:將所述終端回傳的、用戶選擇的意圖確定為目標意圖,或者,將當前意圖確定為所述目標意圖。 將選擇問句回傳至用戶端展示給用戶之後,用戶會根據選擇問句輸入答案,例如輸入“規劃到凱旋門的路線”,則可以認為用戶選擇的意圖為“規劃到凱旋門的路線”,從而將該意圖確定為目標意圖。 可以理解的是,如果發送一次選擇問句無法確定目標意圖,伺服器可以再次或者多次向用戶發送選擇問句,直至確定出用戶的目標意圖,或者當所有的“desc”欄位都組合完畢,仍然不能確定出用戶的目標意圖,則回傳無法確定意圖的內容給用戶端,結束產生問句的答案的流程;或者,用戶如果改變了其最初的意圖,在這種情況下,也可以結束當前問句的答案產生的流程,轉而對用戶新意圖的處理和執行。 步驟807:依據所述目標意圖對應的目標意圖範本,判斷所述詞標注結果中各關鍵字是否完整,如果不完整,則進入步驟808,如果完整,則進入步驟811。 在確定目標意圖之後,依據對應的目標意圖範本中配置的全部意圖參數,來判斷詞標注結果中各關鍵字是否完整。具體的判斷過程可以參考步驟704的介紹,在此不再贅述。 步驟808:將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數;依據所述缺少的意圖參數和所述目標意圖範本,產生所述目標意圖相關的參數問題。 在本實施例中,如果依據詞標注結果無法對目標意圖範本中的意圖參數進行賦值,則說明詞標注結果中的關鍵字不完整,不完整的關鍵字就對應了無法賦值的那些意圖參數,將這些意圖參數確定為缺少的意圖參數。 步驟809:將所述參數問題回傳給用戶端以便顯示給用戶,所述意圖範本包括:所述意圖參數和參數問題之間的對應關係。 進一步的,依據缺少的意圖參數和目標意圖範本中該缺少的意圖參數對應的參數問題,來產生詢問問題發送至用戶端展示給用戶。 其中,參數問題的產生來自於意圖範本,在意圖範本中,每個意圖參數在定義的時候都被設置了一些如果該意圖參數缺失需要詢問的問題,因此,這裡從缺失的參數對應的參數問題列表中隨機選擇一個問題回傳給用戶即可。 步驟810:根據所述用戶端回傳的、用戶輸入的參數答案獲取所述缺少的意圖參數,進入步驟811。 產生參數問題詢問用戶後,用戶可能在下一輪對話中給出相應的意圖參數,就可以從用戶輸入的參數答案中獲取到缺少的意圖參數,在這種情況下,目標意圖範本的全部意圖參數就都可以賦值了。或者,如果用戶改變意圖,則伺服器也會停止對當前意圖缺失的意圖參數的提問。 步驟811:依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 在本步驟中,如果目標意圖範本的全部意圖參數都能被賦值,就可以接著執行該目標意圖範本中預先配置的腳本,來產生該目標意圖的目標答案,具體過程可以參考步驟603所示,在此不再贅述。 需要說明的是,在多輪對話形式中,確定目標意圖和目標意圖的意圖參數的完整性判斷,實際上是一種推理,即根據用戶提供的內容,推理出用戶真正的意圖。與單輪對話形式不同的是,本實施例並非基於意圖參數優先匹配來確定目標意圖,而是基於可信度優先的原則來確定目標意圖。因為在單輪對話形式中用戶會在一個問句中儘量全的表達意圖和意圖參數,而多輪對話形式時,用戶可能傾向於隨意的表達,即一個問句或者一句話裡面可能只表達了意圖,但是沒有任何的參數,例如“可以幫我規劃一條路線嗎?”,對於這個問句,如果按照意圖參數優先匹配的原則,則一條候選意圖都匹配不上,因為用戶沒有提供任何的意圖參數,但是用戶卻明確的表達了意圖,因此在多輪對話形式中採用可信度優先的方式,可以更為準確的發掘用戶的意圖。 在本實施例中,為了方便挖掘用戶的潛在意圖,進行用戶的真實意圖的推理,本實施例還可以包括: 將用戶輸入的對話內容保存至會話資料庫中,所述對話內容包括:用戶選擇的意圖和/或用戶輸入的參數答案。 在伺服器產生問句回傳給用戶端並展示給用戶之後,用戶可能會根據問句來輸入自己的答案,或者,用戶會根據問句來選擇自己的意圖,因此,可以將用戶輸入的這些對話內容暫時保存至會話資料庫中。或者,也可以緩存至記憶體中。後續可以再從會話資料庫或記憶體中獲取到用戶選擇的意圖,或者從對話內容中查詢到意圖參數等。 進一步的,在將對話內容保存至會話資料庫或者記憶體後,還可以對所述會話資料庫中的對話內容進行更新,或者,在到達預設的時間週期的時候,將用戶輸入的對話內容進行刪除。因為在多輪對話形式中,涉及到用戶和伺服器例如問答引擎之間的對話,需要保存用戶的歷史對話內容以及涉及到的意圖、意圖參數等。可以理解的是,這些對話內容也不是隨著時間一成不變的,隨著用戶和伺服器的對話內容的推進,原本的意圖或意圖參數的值也會被新的值覆蓋。同樣,這些對話內容也不是永久存在的,例如可以設置一個時間閾值,當達到該時間閾值的時候就可以刪除該對話內容。或者,在用戶發送了新的問題產生了新的對話內容的時候,上一次的對話內容就不能影響到當前這次對話,因此,可以將上一次的這些對話內容刪除。 可見,在本實施例中,不僅會將用戶最開始提問的問句作為關鍵字提取模型或意識識別模型的輸入,還會在無法確定用戶的意圖或者能確定用戶的意圖可是意圖參數不完整的情況下,向用戶繼續提問以便用戶能夠根據問題來選擇自己的意圖或者補充意圖參數。因此,本實施例經過合理的推理就有可能能夠明確用戶的意圖及獲取到完整的意圖參數,從而實現與用戶對話並且根據對話內容能夠自動產生用戶所需的答案,不僅提高了答案產生的準確率,還能使得產生的答案更符合用戶的習慣,與用戶的對話交互也非常友好,用戶不需要去學習一種專門的對話模式,直接通過日常生活中的對話的方式就可以與伺服器例如問答引擎交流。 對於前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模組並不一定是本發明所必須的。 與上述本發明一種問句答案的產生方法實施例1所提供的方法相對應,參見圖9,本發明還提供了一種問句答案的產生裝置實施例,在本實施例中,該產生裝置可以集成於伺服器端,例如問答引擎等,該產生裝置可以包括: 關鍵字標注單元901,用於回應於觸發問句,至少依據預先訓練的關鍵字提取模型對所述問句進行標注得到詞標注結果,所述詞標注結果包括:所述問句的各分詞是否為關鍵字以及各關鍵字的詞類型。 其中,所述關鍵字標注單元901可以包括: 分詞子單元,用於對所述問句進行分詞,得到所述問句的分詞集合;第一標記子單元,用於基於所述問句所屬的領域對應的領域詞典,對所述分詞集合中的各分詞進行關鍵字標記得到第一標記結果;第二標記子單元,用於基於預先訓練的關鍵字提取模型,對所述分詞集合中的各分詞進行關鍵字標記得到第二標記結果;所述領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係;以及,第一確定子單元,用於依據所述第一標記結果和第二標記結果,確定所述分詞集合中的各分詞的詞標注結果。 其中,所述領域詞典可以通過以下方式產生:獲取領域內各實體的各屬性;將所述各屬性對應的屬性值作為關鍵字,並將實體標籤和屬性名作為關鍵字的詞類型,以及,將所述關鍵字的同義詞、近義詞和別名確定為關鍵字。 其中,所述第一確定子單元可以包括: 第一判斷子單元,用於針對分詞集合中的各分詞,判斷所述第一標記結果和第二標記結果是否都標注為關鍵字;第二確定子單元,用於在所述第一判斷子單元的如果為是的情況下,將該分詞確定為關鍵字,並依據所述第一標記結果或第二標記結果確定所述關鍵字的詞類型;以及,第三確定子單元,用於在所述第一判斷子單元的結果為第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字的情況下,將該分詞確定為非關鍵字。 意圖確定單元902,用於依據所述詞標注結果和預先訓練的意圖識別模型,確定所述問句的目標意圖。 答案獲取單元903,用於依據預先配置的、與所述目標意圖對應的目標意圖範本,獲取所述目標意圖對應的目標答案。 其中,所述答案獲取單元903可以包括: 賦值子單元,用於依據目標意圖範本中配置的意圖參數,為所述意圖參數賦值,得到查詢參數;來源資料獲取子單元,用於依據所述查詢參數獲取所述目標答案的來源資料;處理子單元,用於對所述來源資料按照預設處理方式進行處理得到處理後的來源資料;以及,產生子單元,用於依據所述處理後的來源資料產生所述目標答案。 其中,意圖範本可以通過以下方式產生: 依據領域內各本體所表示出的各實體之間的關係,確定各領域內所有問句的意圖;為確定的各意圖配置對應的意圖範本。其中,所述意圖用於表述問句的詢問目的,所述意圖包括:詢問實體的屬性,詢問實體之間的所有關係,通過實體的一個或多個屬性詢問該實體的其他屬性或所有屬性,和/或,通過實體的一個或多個屬性詢問該實體的關係;所述意圖範本包括:範本標識,範本描述,意圖參數及意圖參數對應的參數問題,意圖對應的例句組,以及,各例句組的組合規則;所述範本標識用於唯一表示一個意圖範本,所述範本描述用於描述所述意圖範本的目的;所述意圖參數為確定一個意圖所對應的參數,所述參數問題為:對應的意圖參數缺失時需要向用戶發送的問題,所述例句組中的例句包括實體的變數名,用於表示所述意圖範本能解決的問題,所述各例句組的組合規則用於表示:不同例句組中的例句的組合方式。 其中,意圖識別模型和關鍵字提取模型可以通過以下方式訓練: 依據所述意圖範本中配置的例句組和例句組合規則,產生訓練語料;依據所述訓練語料採用機器學習演算法,訓練得到意圖分類模型和關鍵字提取模型。 其中,訓練語料可以通過以下方式產生: 獲取實體的變數值清單,所述變數值清單包括:實體的變數名、實體的變數值及兩者的對應關係;依據意圖範本中配置的例句組和例句組的組合規則,產生包括實體的變數名的變數例句;將所述變數值清單中各實體的變數值,分別對應替換所述變數例句中的變數名,得到真實例句;對所述真實例句進行標記,得到訓練語料;所述訓練語料包括:所述真實例句對應的範本標識和所述真實例句中包括的各關鍵字及其類型。 可見,採用本發明實施例的產生裝置,預先通過意圖範本的配置,可以產生足夠多的訓練語料,進而使得預先訓練關鍵字提取模型和意圖識別模型,對問句的關鍵期提取和意圖的確定更為準確。並且,該意圖範本中包括了獲取答案的執行腳本,後續可以對執行腳本進行修改等操作,使得意圖範本的可維護性更好。並且,根據確定的意圖對應的意圖範本可以直接執行腳本從而獲得答案,從而提高了伺服器例如問答引擎的效率。此外,意圖範本中還配置了能回答出問題的問句的例句,因此,使用意圖範本可以方便的回答用戶提問的問題,自動給出問題的答案。 與上述本發明一種問句答案的產生方法實施例2所提供的方法相對應,參見圖10,本發明還提供了一種問句答案的產生裝置實施例2,在本實施例中,該產生裝置可以集成於伺服器端,例如問答引擎等,本實施例可以產生單輪對話形式中關於用戶的問句的答案,該產生裝置中的意圖確定單元902可以包括: 第一模型處理子單元1001,用於將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度。 第四確定子單元1002,用於將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖。 第二判斷子單元1003,用於依據所述當前意圖對應的當前意圖範本,判斷所述詞標注結果中各關鍵字是否完整;所述意圖範本包括:確定一意圖所需要的全部意圖參數。 第五確定子單元1004,用於在所述第二判斷子單元的結果為是的情況下,將所述當前意圖確定為目標意圖。 選擇子單元1005,用於在所述第二判斷子單元的結果為否的情況下,按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖。 觸發子單元1006,用於在選擇子單元選擇下一個候選意圖之後,觸發所述的第二判斷子單元,直至所述多個候選意圖都選擇完畢。 其中,所述第二判斷子單元具體可以包括: 參數獲取子單元,用於獲取所述當前意圖範本中配置的全部意圖參數;賦值子單元,用於採用所述詞標注結果中的各關鍵字的詞類型,為所述全部意圖參數進行賦值;以及,賦值判斷子單元,用於判斷所述全部意圖參數是否能賦值成功。 採用本實施例的產生裝置,通過預先建立本體可以枚舉用戶所有可能的意圖,然後將各個意圖以意圖範本的方式存儲,每個意圖範本負責解決對應的意圖的問題。意圖範本可以包括意圖參數、意圖的解決邏輯以及意圖的可能問句形式,針對用戶提出的問題,通過預先訓練的關鍵字提取模型和,將該問句歸類到一個具體的意圖上,然後將提取的關鍵字作為意圖的參數,執行意圖範本裡面對應的邏輯,即執行意圖範本中配置的腳本從而得到問題的答案。本發明實施例中訓練模型的大量訓練語料都是根據意圖範本中的例句組和例句組的組合規則產生的,因此訓練得到的關鍵字提取模型和意圖識別模型更能準確的提取關鍵字並進行意圖歸類,從而使得本實施例中產生的答案也能更準確。 與上述本發明一種問句答案的產生方法實施例3所提供的方法相對應,參見圖11,本發明還提供了一種問句答案的產生裝置實施例3,在本實施例中,該產生裝置可以集成於伺服器端,例如問答引擎等,本實施例可以產生單輪對話形式中關於用戶的問句的答案,該產生裝置中的意圖確定單元902可以包括: 第二模型處理子單元1101,用於至少將所述詞標注結果作為所述預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度。 第六確定子單元1102,用於將所述多個候選意圖中可信度最高的候選意圖確定為當前意圖。 第三判斷子單元1103,用於判斷所述當前意圖的可信度是否大於預設可信度閾值。 第七確定子單元1104,用於在所述第三判斷子單元的結果為大於的情況下,將所述當前意圖確定為所述目標意圖。 選取子單元1105,用於在所述第三判斷子單元的結果為否的情況下,選取預設個數的前若干個候選意圖作為待選擇意圖。 發送子單元1106,用於將所述待選擇意圖發送至終端以供用戶選擇。 第八確定子單元1107,用於將所述終端回傳的、用戶選擇的意圖確定為目標意圖。 第四判斷子單元1108,用於依據所述目標意圖對應的目標意圖範本,判斷所述詞標注結果中各關鍵字是否完整。 第九確定子單元1109,用於在所述第四判斷子單元的結果為否的情況下,將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數。 問題產生子單元1110,用於依據所述缺少的意圖參數和所述目標意圖範本,產生所述目標意圖相關的參數問題。 問題回傳子單元1111,用於將所述參數問題回傳給用戶端以便顯示給用戶;所述意圖範本包括:所述意圖參數和參數問題之間的對應關係。 參數獲取子單元1112,用於根據所述用戶端回傳的、用戶輸入的參數答案獲取所述缺少的意圖參數。 其中,所述意圖確定單元902還可以包括: 保存子單元,用於將用戶輸入的對話內容保存至會話資料庫中,所述對話內容包括:用戶選擇的意圖和/或用戶輸入的參數答案。 其中,所述意圖確定單元902還可以包括: 更新子單元,用於對所述會話資料庫中的對話內容進行更新,或者,刪除子單元,用於在到達預設的時間週期的時候,將用戶輸入的對話內容進行刪除。 其中,所述第二模型處理子單元1101具體可以包括: 對話獲取子單元,從會話資料庫中獲取所述對話內容;以及,輸入子單元,用於將所述詞標注結果和所述對話內容輸入預先訓練的意圖識別模型的,得到多個候選意圖及其對應的可信度。 其中,所述第四判斷子單元1108具體可以包括: 參數獲取子單元,用於獲取所述目標意圖範本中配置的全部意圖參數;以及,賦值子單元,用於採用所述詞標注結果中的各關鍵字的詞類型,為所述目標意圖範本中的全部意圖參數進行賦值,賦值判斷子單元,用於判斷所述全部意圖參數是否能賦值成功。 採用本實施例中的產生裝置,不僅會將用戶最開始提問的問句作為關鍵字提取模型或意識識別模型的輸入,還會在無法確定用戶的意圖或者能確定用戶的意圖可是意圖參數不完整的情況下,向用戶繼續提問以便用戶能夠根據問題來選擇自己的意圖或者補充意圖參數。因此,本實施例經過合理的推理就有可能能夠明確用戶的意圖及獲取到完整的意圖參數,從而實現與用戶對話並且根據對話內容能夠自動產生用戶所需的答案,不僅提高了答案產生的準確率,還能使得產生的答案更符合用戶的習慣,與用戶的對話交互也非常友好,用戶不需要去學習一種專門的對話模式,直接通過日常生活中的對話的方式就可以與伺服器例如問答引擎交流。 需要說明的是,本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置類實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。 以上對本發明所提供的一種自然語言問句答案的產生方法、裝置和伺服器進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
101-104‧‧‧步驟501‧‧‧用戶端502‧‧‧伺服器601-811‧‧‧步驟901‧‧‧關鍵字標注單元902‧‧‧意圖確定單元903‧‧‧答案獲取單元1001‧‧‧第一模型處理子單元1002‧‧‧第四確定子單元1003‧‧‧第二判斷子單元1004‧‧‧第五確定子單元1005‧‧‧選擇子單元1006‧‧‧觸發子單元1101‧‧‧第二模型處理子單元1102‧‧‧第六確定子單元1103‧‧‧第三判斷子單元1104‧‧‧第七確定子單元1105‧‧‧選取子單元1106‧‧‧發送子單元1107‧‧‧第八確定子單元1108‧‧‧第四判斷子單元1109‧‧‧第九確定子單元1110‧‧‧問題產生子單元1111‧‧‧問題回傳子單元1112‧‧‧參數獲取子單元
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些圖式獲得其他的圖式。 圖1是本發明中配置意圖範本的流程圖; 圖2是本發明中本體的一個結構示意圖; 圖3是本發明的本體的另一個結構示意圖; 圖4是本發明中訓練意圖識別模型和關鍵字提取模型的流程圖; 圖5是本發明在實際應用中的場景架構圖; 圖6是本發明的問句答案的產生方法實施例1的流程圖; 圖7是本發明的問句答案的產生方法實施例2的流程圖; 圖8是本發明的問句答案的產生方法實施例3的流程圖; 圖9是本發明的問句答案的產生裝置實施例1的結構方塊圖; 圖10是本發明的問句答案的產生裝置實施例2中確定意圖單元902的結構方塊圖; 圖11是本發明的問句答案的產生裝置實施例3中確定意圖單元902的結構方塊圖。
Claims (20)
- 一種自然語言問句答案的產生方法,該方法由伺服器執行,其特徵在於,該方法包括:回應於觸發問句,至少依據預先訓練的關鍵字提取模型對該問句進行標注得到詞標注結果,包括:對該問句進行分詞,得到該問句的分詞集合;基於該問句所屬的領域對應的領域詞典,對該分詞集合中的各分詞進行關鍵字標記得到第一標記結果;以及,基於預先訓練的關鍵字提取模型,對該分詞集合中的各分詞進行關鍵字標記得到第二標記結果;該領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係;依據該第一標記結果和第二標記結果,確定該分詞集合中的各分詞的詞標注結果,其中,該詞標注結果包括:該問句的各分詞是否為關鍵字以及各關鍵字的詞類型;依據該詞標注結果和預先訓練的意圖識別模型,確定該問句的目標意圖;依據預先配置且與該目標意圖對應的目標意圖範本,獲取該目標意圖對應的目標答案。
- 根據請求項1所述的方法,其中,該依據該第一標記結果和第二標記結果,確定該分詞集合中的各分詞的詞標注結果,包括: 針對分詞集合中的各分詞,判斷該第一標記結果和第二標記結果是否都標注為關鍵字,如果是,則將該分詞確定為關鍵字,並依據該第一標記結果或第二標記結果確定該關鍵字的詞類型;如果第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字,則將該分詞確定為非關鍵字。
- 根據請求項1所述的方法,其中,該領域詞典通過以下方式產生:獲取領域內各實體的各屬性;將該各屬性對應的屬性值作為關鍵字,並將實體標籤和屬性名作為關鍵字的詞類型,以及,將該關鍵字的關聯詞彙也確定為關鍵字,該關聯詞彙包括:同義詞、近義詞、口語表達詞和別名。
- 根據請求項1所述的方法,其中,該依據該詞標注結果和預先訓練的意圖識別模型,確定該問句的目標意圖,包括:將該詞標注結果作為該預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度;將該多個候選意圖中可信度最高的候選意圖確定為當前意圖;依據該當前意圖對應的當前意圖範本,判斷該詞標注結果中各關鍵字是否完整;該意圖範本包括:確定一意圖 所需要的全部意圖參數;如果完整,則將該當前意圖確定為目標意圖;如果不完整,則按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖,並執行該依據該當前意圖對應的當前意圖範本,判斷該詞性標注結果中各關鍵字是否完整的步驟,直至該多個候選意圖都選擇完畢。
- 根據請求項4所述的方法,其中,該依據該當前意圖對應的當前意圖範本,判斷該詞標注結果中各關鍵字是否完整,包括:獲取該當前意圖範本中配置的全部意圖參數;採用該詞標注結果中的各關鍵字的詞類型,為該全部意圖參數進行賦值,並判斷該全部意圖參數是否能賦值成功。
- 根據請求項1所述的方法,其中,該依據該詞標注結果和預先訓練的意圖識別模型,確定該問句的目標意圖,包括:至少將該詞標注結果作為該預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度;將該多個候選意圖中可信度最高的候選意圖確定為當前意圖;判斷該當前意圖的可信度是否大於預設可信度閾值,如果大於,則將該當前意圖確定為該目標意圖; 如果不大於,則選取預設個數的前若干個候選意圖作為待選擇意圖,並將該待選擇意圖發送至終端以供用戶選擇,以及,將該終端回傳的、用戶選擇的意圖確定為目標意圖;依據該目標意圖對應的目標意圖範本,判斷該詞標注結果中各關鍵字是否完整,如果不完整,則將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數;依據該缺少的意圖參數和該目標意圖範本,產生該目標意圖相關的參數問題;將該參數問題回傳給用戶端以便顯示給用戶;該意圖範本包括:該意圖參數和參數問題之間的對應關係;根據該用戶端回傳的、用戶輸入的參數答案獲取該缺少的意圖參數。
- 根據請求項6所述的方法,其中,還包括:將用戶輸入的對話內容保存至會話資料庫中,該對話內容包括:用戶選擇的意圖和/或用戶輸入的參數答案。
- 根據請求項7所述的方法,其中,還包括:對該會話資料庫中的對話內容進行更新,或者,在到達預設的時間週期的時候,將用戶輸入的對話內容進行刪除。
- 根據請求項7所述的方法,其中,該至少將該詞標注結果作為該預先訓練的意圖識別模型的輸入,得到多個候 選意圖及其對應的可信度,包括:從會話資料庫中獲取該對話內容;將該詞標注結果和該對話內容輸入預先訓練的意圖識別模型的,得到多個候選意圖及其對應的可信度。
- 根據請求項6所述的方法,其中,該依據該目標意圖對應的目標意圖範本,判斷該詞標注結果中各關鍵字是否完整,包括:獲取該目標意圖範本中配置的全部意圖參數;採用該詞標注結果中的各關鍵字的詞類型,為該目標意圖範本中的全部意圖參數進行賦值,並判斷該全部意圖參數是否能賦值成功。
- 根據請求項1所述的方法,其中,該意圖範本通過以下方式產生:依據領域內各本體所表示出的各實體之間的關係,確定各領域內所有問句的意圖;該意圖用於表述問句的詢問目的,該意圖包括:詢問實體的屬性,詢問實體之間的所有關係,通過實體的一個或多個屬性詢問該實體的其他屬性或所有屬性,和/或,通過實體的一個或多個屬性詢問該實體的關係;為確定的各意圖配置對應的意圖範本,該意圖範本包括:範本標識,範本描述,意圖參數及意圖參數對應的參數問題,意圖對應的例句組,以及,各例句組的組合規 則;該範本標識用於唯一表示一個意圖範本,該範本描述用於描述該意圖範本的目的;該意圖參數為確定一個意圖所對應的參數,該參數問題為:對應的意圖參數缺失時需要向用戶發送的問題,該例句組中的例句包括實體的變數名,用於表示該意圖範本能解決的問題,該各例句組的組合規則用於表示:不同例句組中的例句的組合方式。
- 根據請求項11所述的方法,其中,該意圖識別模型和關鍵字提取模型通過以下方式訓練:依據該意圖範本中配置的例句組和例句組合規則,產生訓練語料;依據該訓練語料採用機器學習演算法,訓練得到意圖分類模型和關鍵字提取模型。
- 根據請求項12所述的方法,其中,該依據該意圖範本中配置的例句組和例句組合規則,產生訓練語料,包括:獲取實體的變數值清單,該變數值清單包括:實體的變數名、實體的變數值及兩者的對應關係;依據意圖範本中配置的例句組和例句組的組合規則,產生包括實體的變數名的變數例句;將該變數值清單中各實體的變數值,分別對應替換該變數例句中的變數名,得到真實例句;對該真實例句進行標記,得到訓練語料;該訓練語料包括:該真實例句對應的範本標識和該真實例句中包括的 各關鍵字及其類型。
- 根據請求項1所述的方法,其中,依據預先配置的、與該目標意圖對應的目標意圖範本,獲取該目標意圖對應的目標答案,包括:依據目標意圖範本中配置的意圖參數,為該意圖參數賦值,得到查詢參數;依據該查詢參數獲取該目標答案的來源資料;對該來源資料按照預設處理方式進行處理得到處理後的來源資料;依據該處理後的來源資料產生該目標答案。
- 一種自然語言問句答案的產生裝置,其特徵在於,該產生裝置集成於伺服器上,該產生裝置包括:關鍵字標注單元,用於回應於觸發問句,至少依據預先訓練的關鍵字提取模型對該問句進行標注得到詞標注結果,該詞標注結果包括:該問句的各分詞是否為關鍵字以及各關鍵字的詞類型;意圖確定單元,用於依據該詞標注結果和預先訓練的意圖識別模型,確定該問句的目標意圖;答案獲取單元,用於依據預先配置且與該目標意圖對應的目標意圖範本,獲取該目標意圖對應的目標答案,其中,該關鍵字標注單元包括:分詞子單元,用於對該問句進行分詞,得到該問 句的分詞集合;第一標記子單元,用於基於該問句所屬的領域對應的領域詞典,對該分詞集合中的各分詞進行關鍵字標記得到第一標記結果;第二標記子單元,用於基於預先訓練的關鍵字提取模型,對該分詞集合中的各分詞進行關鍵字標記得到第二標記結果;該領域詞典用於保存各領域詞及其對應的詞類型之間的對應關係;第一確定子單元,用於依據該第一標記結果和第二標記結果,確定該分詞集合中的各分詞的詞標注結果。
- 根據請求項15所述的裝置,其中,該第一確定子單元包括:第一判斷子單元,用於針對分詞集合中的各分詞,判斷該第一標記結果和第二標記結果是否都標注為關鍵字;第二確定子單元,用於在該第一判斷子單元的如果為是的情況下,將該分詞確定為關鍵字,並依據該第一標記結果或第二標記結果確定該關鍵字的詞類型;第三確定子單元,用於在該第一判斷子單元的結果為第一標記結果標注為關鍵字而第二標記結果標注為非關鍵字的情況下,將該分詞確定為非關鍵字。
- 根據請求項15所述的裝置,其中,該意圖確定單元包括: 第一模型處理子單元,用於將該詞標注結果作為該預先訓練的意圖識別模型的輸入,得到多個候選意圖及對應的可信度;第四確定子單元,用於將該多個候選意圖中可信度最高的候選意圖確定為當前意圖;第二判斷子單元,用於依據該當前意圖對應的當前意圖範本,判斷該詞標注結果中各關鍵字是否完整;該意圖範本包括:確定一意圖所需要的全部意圖參數;第五確定子單元,用於在該第二判斷子單元的結果為是的情況下,將該當前意圖確定為目標意圖;選擇子單元,用於在該第二判斷子單元的結果為否的情況下,按照可信度從高到底的順序選擇下一個候選意圖作為當前意圖;觸發子單元,用於在選擇子單元選擇下一個候選意圖之後,觸發該的第二判斷子單元,直至該多個候選意圖都選擇完畢。
- 根據請求項15所述的裝置,其中,該意圖確定單元包括:第二模型處理子單元,用於至少將該詞標注結果作為該預先訓練的意圖識別模型的輸入,得到多個候選意圖及其對應的可信度;第六確定子單元,用於將該多個候選意圖中可信度最高的候選意圖確定為當前意圖; 第三判斷子單元,用於判斷該當前意圖的可信度是否大於預設可信度閾值;第七確定子單元,用於在該第三判斷子單元的結果為大於的情況下,將該當前意圖確定為該目標意圖;選取子單元,用於在該第三判斷子單元的結果為否的情況下,選取預設個數的前若干個候選意圖作為待選擇意圖;發送子單元,用於將該待選擇意圖發送至終端以供用戶選擇;第八確定子單元,用於將該終端回傳的、用戶選擇的意圖確定為目標意圖;第四判斷子單元,用於依據該目標意圖對應的目標意圖範本,判斷該詞標注結果中各關鍵字是否完整;第九確定子單元,用於在該第四判斷子單元的結果為否的情況下,將不完整的關鍵字對應的意圖參數確定為缺少的意圖參數;問題產生子單元,用於依據該缺少的意圖參數和該目標意圖範本,產生該目標意圖相關的參數問題;問題回傳子單元,用於將該參數問題回傳給用戶端以便顯示給用戶;該意圖範本包括:該意圖參數和參數問題之間的對應關係;參數獲取子單元,用於根據該用戶端回傳的、用戶輸入的參數答案獲取該缺少的意圖參數。
- 根據請求項15所述的裝置,其中,該答案獲取單元包括:賦值子單元,用於依據目標意圖範本中配置的意圖參數,為該意圖參數賦值,得到查詢參數;來源資料獲取子單元,用於依據該查詢參數獲取該目標答案的來源資料;處理子單元,用於對該來源資料按照預設處理方式進行處理得到處理後的來源資料;產生子單元,用於依據該處理後的來源資料產生該目標答案。
- 一種伺服器,其特徵在於,該伺服器包括:請求項15~19中任一項所述的裝置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201710084397.0 | 2017-02-16 | ||
CN201710084397.0 | 2017-02-16 | ||
CN201710084397.0A CN108446286B (zh) | 2017-02-16 | 2017-02-16 | 一种自然语言问句答案的生成方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201832104A TW201832104A (zh) | 2018-09-01 |
TWI746690B true TWI746690B (zh) | 2021-11-21 |
Family
ID=63169712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106138408A TWI746690B (zh) | 2017-02-16 | 2017-11-07 | 自然語言問句答案的產生方法、裝置及伺服器 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108446286B (zh) |
TW (1) | TWI746690B (zh) |
WO (1) | WO2018149326A1 (zh) |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874399B (zh) * | 2018-08-31 | 2023-11-10 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备及终端 |
CN109376847A (zh) * | 2018-08-31 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 用户意图识别方法、装置、终端及计算机可读存储介质 |
CN109344234A (zh) * | 2018-09-06 | 2019-02-15 | 和美(深圳)信息技术股份有限公司 | 机器阅读理解方法、装置、计算机设备和存储介质 |
CN109213846A (zh) * | 2018-09-13 | 2019-01-15 | 山西卫生健康职业学院 | 一种自然语言处理系统 |
CN109344238A (zh) * | 2018-09-18 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 用户问句的补词方法和装置 |
WO2020062006A1 (en) * | 2018-09-28 | 2020-04-02 | Entit Software Llc | Intent and context-aware dialogue based virtual assistance |
CN109145104B (zh) * | 2018-09-29 | 2023-04-18 | 北京百度网讯科技有限公司 | 用于对话交互的方法和装置 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
CN111159330B (zh) * | 2018-11-06 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种数据库查询语句的生成方法及装置 |
CN111178081B (zh) * | 2018-11-09 | 2023-07-21 | 中移(杭州)信息技术有限公司 | 语义识别的方法、服务器、电子设备及计算机存储介质 |
CN109408051B (zh) * | 2018-12-03 | 2021-12-28 | 福建省天奕网络科技有限公司 | 一种识别安卓游戏应用开发引擎的方法及终端 |
CN109829038A (zh) * | 2018-12-11 | 2019-05-31 | 平安科技(深圳)有限公司 | 基于深度学习的问答反馈方法、装置、设备及存储介质 |
CN110032623B (zh) * | 2018-12-12 | 2023-02-24 | 创新先进技术有限公司 | 用户问句与知识点标题的匹配方法和装置 |
CN109783621B (zh) * | 2018-12-17 | 2021-10-08 | 北京百度网讯科技有限公司 | 对话生成方法、装置及设备 |
CN109658114A (zh) * | 2018-12-21 | 2019-04-19 | 万达信息股份有限公司 | 大型语料库的高效智能客服方法 |
CN109741824B (zh) * | 2018-12-21 | 2023-08-04 | 质直(上海)教育科技有限公司 | 一种基于机器学习的医疗问诊方法 |
CN111353026A (zh) * | 2018-12-21 | 2020-06-30 | 沈阳新松机器人自动化股份有限公司 | 一种智能法务律师助手客服系统 |
WO2020132985A1 (zh) * | 2018-12-26 | 2020-07-02 | 深圳市优必选科技有限公司 | 模型的自训练方法、装置、计算机设备及存储介质 |
CN109727598A (zh) * | 2018-12-28 | 2019-05-07 | 浙江省公众信息产业有限公司 | 大噪音语境下的意图识别方法 |
CN109753658B (zh) * | 2018-12-29 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 交互方法和装置 |
CN111428123A (zh) * | 2019-01-09 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 查询方法和装置 |
CN111459977B (zh) * | 2019-01-18 | 2023-10-24 | 微软技术许可有限责任公司 | 自然语言查询的转换 |
CN109800296B (zh) * | 2019-01-21 | 2022-03-01 | 四川长虹电器股份有限公司 | 一种基于用户真实意图的语意模糊识别方法 |
CN109783510A (zh) * | 2019-01-22 | 2019-05-21 | 深圳追一科技有限公司 | 客服辅助机器人、方法及系统 |
CN110019753B (zh) * | 2019-01-24 | 2023-06-20 | 创新先进技术有限公司 | 针对用户问句输出反问问句的方法和装置 |
CN111563140B (zh) * | 2019-01-25 | 2023-04-14 | 阿里巴巴集团控股有限公司 | 一种意图识别方法及装置 |
CN109885652A (zh) * | 2019-01-25 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 一种操作执行方法、装置及计算机可读存储介质 |
CN111563208B (zh) * | 2019-01-29 | 2023-06-30 | 株式会社理光 | 一种意图识别的方法、装置及计算机可读存储介质 |
CN109840276A (zh) * | 2019-02-12 | 2019-06-04 | 北京健康有益科技有限公司 | 基于文本意图识别的智能对话方法、装置和存储介质 |
CN109947916B (zh) * | 2019-03-01 | 2023-08-08 | 河北尚云信息科技有限公司 | 基于气象领域知识图谱的问答系统装置及问答方法 |
CN109871543B (zh) * | 2019-03-12 | 2023-10-24 | 广东小天才科技有限公司 | 一种意图获取方法及系统 |
CN109871128B (zh) * | 2019-03-13 | 2022-07-01 | 广东小天才科技有限公司 | 一种题型识别方法及装置 |
CN109960811B (zh) * | 2019-03-29 | 2024-04-26 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN109977317B (zh) * | 2019-04-03 | 2021-04-27 | 恒生电子股份有限公司 | 数据查询方法及装置 |
CN110083685B (zh) * | 2019-04-26 | 2021-05-04 | 北京零秒科技有限公司 | 用于意图识别的数据配置方法及装置 |
CN110222049A (zh) * | 2019-05-07 | 2019-09-10 | 北京来也网络科技有限公司 | 基于多轮对话的数据处理方法及装置 |
CN110110048B (zh) * | 2019-05-10 | 2023-06-02 | 科大讯飞股份有限公司 | 问询指引方法及装置 |
CN110147551B (zh) * | 2019-05-14 | 2023-07-11 | 腾讯科技(深圳)有限公司 | 多类别实体识别模型训练、实体识别方法、服务器及终端 |
CN112052311A (zh) * | 2019-05-20 | 2020-12-08 | 天津科技大学 | 一种基于词向量技术和知识图谱检索的短文本问答方法及装置 |
CN112000798A (zh) * | 2019-05-27 | 2020-11-27 | 广东小天才科技有限公司 | 一种语文题型的答案获取方法及装置 |
CN110175223A (zh) * | 2019-05-29 | 2019-08-27 | 北京搜狗科技发展有限公司 | 一种实现问题生成的方法及装置 |
CN110209790B (zh) * | 2019-06-06 | 2023-08-25 | 创新先进技术有限公司 | 问答匹配方法和装置 |
CN110287209A (zh) * | 2019-06-10 | 2019-09-27 | 北京百度网讯科技有限公司 | 问答处理方法、装置、设备和存储介质 |
CN110413746B (zh) * | 2019-06-25 | 2024-02-09 | 创新先进技术有限公司 | 对用户问题进行意图识别的方法及装置 |
CN110442689A (zh) * | 2019-06-25 | 2019-11-12 | 平安科技(深圳)有限公司 | 一种问答关系排序方法、装置、计算机设备及存储介质 |
CN110427467B (zh) * | 2019-06-26 | 2022-10-11 | 深圳追一科技有限公司 | 问答处理方法、装置、计算机设备和存储介质 |
CN110399473B (zh) * | 2019-06-28 | 2023-08-29 | 创新先进技术有限公司 | 为用户问题确定答案的方法和装置 |
CN110502608B (zh) * | 2019-07-05 | 2023-10-10 | 平安科技(深圳)有限公司 | 基于知识图谱的人机对话方法及人机对话装置 |
WO2021008015A1 (zh) * | 2019-07-18 | 2021-01-21 | 平安科技(深圳)有限公司 | 意图识别方法、设备及计算机可读存储介质 |
CN111881266A (zh) * | 2019-07-19 | 2020-11-03 | 马上消费金融股份有限公司 | 一种应答方法及装置 |
CN110532397B (zh) * | 2019-07-19 | 2023-06-09 | 平安科技(深圳)有限公司 | 基于人工智能的问答方法、装置、计算机设备及存储介质 |
CN110390006B (zh) * | 2019-07-23 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 问答语料生成方法、装置和计算机可读存储介质 |
CN112347776A (zh) * | 2019-08-09 | 2021-02-09 | 金色熊猫有限公司 | 医疗数据处理方法及装置、存储介质、电子设备 |
CN110795528B (zh) * | 2019-09-05 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
CN110598028B (zh) * | 2019-09-06 | 2023-10-20 | 创新先进技术有限公司 | 图像分类方法、装置及存储介质、电子设备 |
CN110674273A (zh) * | 2019-09-17 | 2020-01-10 | 安徽信息工程学院 | 一种分词的智能问答机器人训练方法 |
CN112580298B (zh) * | 2019-09-29 | 2024-05-07 | 大众问问(北京)信息科技有限公司 | 一种标注数据获取方法、装置及设备 |
CN110704641B (zh) * | 2019-10-11 | 2023-04-07 | 零犀(北京)科技有限公司 | 一种万级意图分类方法、装置、存储介质及电子设备 |
CN110750998B (zh) * | 2019-10-14 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种文本输出方法、装置、计算机设备和存储介质 |
CN110795482B (zh) * | 2019-10-16 | 2022-11-22 | 浙江大华技术股份有限公司 | 数据对标方法、装置、及存储装置 |
CN110717027B (zh) * | 2019-10-18 | 2022-07-12 | 易小博(武汉)科技有限公司 | 多轮智能问答方法、系统以及控制器和介质 |
CN110866099B (zh) * | 2019-10-30 | 2023-05-09 | 上海益商网络科技有限公司 | 一种基于智能音箱语音交互的智能管家服务方法及系统 |
CN112988986A (zh) * | 2019-12-02 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 人机交互方法、装置与设备 |
CN111177339B (zh) * | 2019-12-06 | 2023-07-25 | 百度在线网络技术(北京)有限公司 | 对话生成方法、装置、电子设备及存储介质 |
CN112287079A (zh) * | 2019-12-09 | 2021-01-29 | 北京来也网络科技有限公司 | 结合rpa和ai的问答对获取方法、装置、介质及电子设备 |
CN111107156A (zh) * | 2019-12-26 | 2020-05-05 | 苏州思必驰信息科技有限公司 | 用于主动发起对话的服务端处理方法及服务器、能够主动发起对话的语音交互系统 |
CN111222323B (zh) * | 2019-12-30 | 2024-05-03 | 深圳市优必选科技股份有限公司 | 一种词槽抽取方法、词槽抽取装置及电子设备 |
CN111104505B (zh) * | 2019-12-30 | 2023-08-25 | 浙江阿尔法人力资源有限公司 | 信息提示方法、装置、设备和存储介质 |
CN111241249A (zh) * | 2020-01-21 | 2020-06-05 | 苏宁云计算有限公司 | 人机对话方法、装置、计算机设备和存储介质 |
CN111324708A (zh) * | 2020-02-07 | 2020-06-23 | 普强时代(珠海横琴)信息技术有限公司 | 一种基于人机交互的自然语言处理系统 |
CN111324712A (zh) * | 2020-02-18 | 2020-06-23 | 山东汇贸电子口岸有限公司 | 对话回复方法及服务端 |
CN111368045B (zh) * | 2020-02-21 | 2024-05-07 | 平安科技(深圳)有限公司 | 用户意图识别方法、装置、设备及计算机可读存储介质 |
CN111309306B (zh) * | 2020-02-24 | 2023-07-28 | 福建天晴数码有限公司 | 人机交互的对话管理系统 |
WO2021168650A1 (zh) * | 2020-02-25 | 2021-09-02 | 京东方科技集团股份有限公司 | 一种问题查询装置、方法、设备及存储介质 |
CN111309889B (zh) * | 2020-02-27 | 2023-04-14 | 支付宝(杭州)信息技术有限公司 | 用于文本处理的方法和装置 |
CN111460798A (zh) * | 2020-03-02 | 2020-07-28 | 平安科技(深圳)有限公司 | 近义词推送方法、装置、电子设备及介质 |
CN111400495A (zh) * | 2020-03-17 | 2020-07-10 | 重庆邮电大学 | 一种基于模板特征的视频弹幕消费意图识别方法 |
CN111460124B (zh) * | 2020-04-21 | 2023-08-25 | 文思海辉智科科技有限公司 | 智能交互方法、装置及机器人 |
CN113488035A (zh) * | 2020-04-28 | 2021-10-08 | 海信集团有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
CN111553162B (zh) * | 2020-04-28 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 一种意图识别的方法以及相关装置 |
CN111708800A (zh) * | 2020-05-27 | 2020-09-25 | 北京百度网讯科技有限公司 | 查询方法、装置及电子设备 |
CN111651600B (zh) * | 2020-06-02 | 2023-04-07 | 携程计算机技术(上海)有限公司 | 语句多意图识别方法、系统、电子设备及存储介质 |
CN111708873B (zh) * | 2020-06-15 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
CN111723559B (zh) * | 2020-06-19 | 2023-06-23 | 思必驰科技股份有限公司 | 一种实时信息抽取方法及装置 |
CN111859951B (zh) * | 2020-06-19 | 2024-03-26 | 北京百度网讯科技有限公司 | 语言模型的训练方法、装置、电子设备及可读存储介质 |
CN111737401B (zh) * | 2020-06-22 | 2023-03-24 | 北方工业大学 | 一种基于Seq2set2seq框架的关键词组预测方法 |
CN111737990B (zh) * | 2020-06-24 | 2023-05-23 | 深圳前海微众银行股份有限公司 | 一种词槽填充方法、装置、设备及存储介质 |
CN111724909A (zh) * | 2020-06-28 | 2020-09-29 | 北京来也网络科技有限公司 | 一种结合rpa和ai的疫情排查方法和装置 |
CN111966781B (zh) * | 2020-06-28 | 2024-02-20 | 北京百度网讯科技有限公司 | 数据查询的交互方法及装置、电子设备和存储介质 |
CN111767381A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 自动问答方法和装置 |
CN111506723B (zh) * | 2020-07-01 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 问答响应方法、装置、设备及存储介质 |
CN111783440B (zh) * | 2020-07-02 | 2024-04-26 | 北京字节跳动网络技术有限公司 | 意图识别方法、装置、可读介质及电子设备 |
CN111767384A (zh) * | 2020-07-08 | 2020-10-13 | 上海风秩科技有限公司 | 人机对话的处理方法、装置、设备及存储介质 |
CN111738008B (zh) * | 2020-07-20 | 2021-04-27 | 深圳赛安特技术服务有限公司 | 基于多层模型的实体识别方法、装置、设备及存储介质 |
CN113742462A (zh) * | 2020-07-20 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种答案监控方法和装置 |
CN111881294B (zh) * | 2020-07-30 | 2023-10-24 | 本识科技(深圳)有限公司 | 一种语料标注系统、方法及存储介质 |
CN113761139A (zh) * | 2020-08-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种意图预判的方法和装置 |
CN112000787B (zh) * | 2020-08-17 | 2021-05-14 | 上海小鹏汽车科技有限公司 | 语音交互方法、服务器和语音交互系统 |
CN112289398A (zh) * | 2020-08-17 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 病理报告解析方法及装置、存储介质、终端 |
CN111814481B (zh) * | 2020-08-24 | 2023-11-14 | 深圳市欢太科技有限公司 | 购物意图识别方法、装置、终端设备及存储介质 |
CN112035645A (zh) * | 2020-09-01 | 2020-12-04 | 平安科技(深圳)有限公司 | 数据查询方法以及系统 |
CN112035647B (zh) * | 2020-09-02 | 2023-11-24 | 中国平安人寿保险股份有限公司 | 一种基于人机交互的问答方法、装置、设备及介质 |
CN112328758A (zh) * | 2020-10-27 | 2021-02-05 | 创泽智能机器人集团股份有限公司 | 一种会话意图识别方法、装置、设备及存储介质 |
CN112417110A (zh) * | 2020-10-27 | 2021-02-26 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN112328871B (zh) * | 2020-10-27 | 2024-04-26 | 深圳集智数字科技有限公司 | 一种基于rpa模块的回复生成方法、装置、设备及存储介质 |
CN112328762B (zh) * | 2020-11-04 | 2023-12-19 | 平安科技(深圳)有限公司 | 基于文本生成模型的问答语料生成方法和装置 |
CN112270182B (zh) * | 2020-11-12 | 2022-11-08 | 佰聆数据股份有限公司 | 一种基于多轮对话问答式的分析思路衍生方法、系统及存储介质 |
CN112347760A (zh) * | 2020-11-16 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 意图识别模型的训练方法及装置、意图识别方法及装置 |
CN112507089A (zh) * | 2020-11-25 | 2021-03-16 | 厦门渊亭信息科技有限公司 | 一种基于知识图谱的智能问答引擎及其实现方法 |
CN112765310A (zh) * | 2020-12-11 | 2021-05-07 | 北京航天云路有限公司 | 一种基于深度学习与相似度匹配的知识图谱问答的方法 |
CN112541739B (zh) * | 2020-12-15 | 2022-04-15 | 平安科技(深圳)有限公司 | 问答意图分类模型的测试方法、装置、设备及介质 |
CN112528002B (zh) * | 2020-12-23 | 2023-07-18 | 北京百度网讯科技有限公司 | 对话识别方法、装置、电子设备和存储介质 |
CN112559715B (zh) * | 2020-12-24 | 2023-09-22 | 北京百度网讯科技有限公司 | 态度的识别方法、装置、设备及存储介质 |
CN112685546B (zh) * | 2020-12-29 | 2023-10-31 | 王福山 | 人机多轮对话方法、装置及计算机可读存储介质 |
CN112818096A (zh) * | 2021-01-26 | 2021-05-18 | 广州三星通信技术研究有限公司 | 对话生成方法及其装置 |
CN112784030B (zh) * | 2021-01-28 | 2022-08-26 | 北京三快在线科技有限公司 | 一种生成样本的方法、装置、存储介质及电子设备 |
CN112860913B (zh) * | 2021-02-24 | 2024-03-08 | 广州汇通国信科技有限公司 | 一种知识图谱的本体创建方法 |
CN112989003B (zh) * | 2021-04-01 | 2023-04-18 | 网易(杭州)网络有限公司 | 意图识别方法、装置、处理设备及介质 |
CN113221555B (zh) * | 2021-05-07 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 一种基于多任务模型的关键词识别方法、装置及设备 |
CN113139615A (zh) * | 2021-05-08 | 2021-07-20 | 北京联合大学 | 一种基于嵌入式设备的无人驾驶环境目标检测方法 |
CN113139044A (zh) * | 2021-05-10 | 2021-07-20 | 中国电子科技集团公司第二十八研究所 | 一种用于问答系统的支持多意图切换的问答多轮对话方法 |
CN113157893B (zh) * | 2021-05-25 | 2023-12-15 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
CN113282729A (zh) * | 2021-06-07 | 2021-08-20 | 北京金山数字娱乐科技有限公司 | 基于知识图谱的问答方法及装置 |
CN113283666B (zh) * | 2021-06-10 | 2023-07-07 | 中国人民解放军国防科技大学 | 一种卫星群的启发式智能任务推理与决策方法 |
CN113282734A (zh) * | 2021-06-28 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 基于结构化数据的问答处理方法、装置、设备及介质 |
CN113641803B (zh) * | 2021-06-30 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113486151A (zh) * | 2021-07-13 | 2021-10-08 | 盛景智能科技(嘉兴)有限公司 | 故障维修知识点查询方法、装置、电子设备和存储介质 |
CN113360779B (zh) * | 2021-08-09 | 2023-01-20 | 智者四海(北京)技术有限公司 | 内容推荐方法及装置、计算机设备及可读介质 |
CN113569578B (zh) * | 2021-08-13 | 2024-03-08 | 上海淇玥信息技术有限公司 | 一种用户意图识别方法、装置和计算机设备 |
CN113609248A (zh) * | 2021-08-20 | 2021-11-05 | 北京金山数字娱乐科技有限公司 | 词权重生成模型训练方法及装置、词权重生成方法及装置 |
US20230135625A1 (en) * | 2021-10-28 | 2023-05-04 | International Business Machines Corporation | Automated generation of dialogue flow from documents |
CN113901793A (zh) * | 2021-12-08 | 2022-01-07 | 北京来也网络科技有限公司 | 结合rpa和ai的事件抽取方法及装置 |
CN114490975B (zh) * | 2021-12-31 | 2023-02-07 | 马上消费金融股份有限公司 | 用户问题的标注方法及装置 |
CN114595321A (zh) * | 2022-03-23 | 2022-06-07 | 康键信息技术(深圳)有限公司 | 问题标注方法、装置、电子设备及存储介质 |
CN115292457A (zh) * | 2022-06-30 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 知识问答方法、装置、计算机可读介质及电子设备 |
CN115132178B (zh) * | 2022-07-15 | 2023-01-10 | 科讯嘉联信息技术有限公司 | 一种基于深度学习的语义端点检测系统 |
CN116737910B (zh) * | 2023-08-10 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 智能对话处理方法、装置、设备及存储介质 |
CN116842168B (zh) * | 2023-08-30 | 2023-11-14 | 汉王科技股份有限公司 | 跨领域问题处理方法、装置、电子设备及存储介质 |
CN117708337B (zh) * | 2024-02-05 | 2024-04-26 | 杭州杰竞科技有限公司 | 一种面向复杂定域的人机交互方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506657A (en) * | 2003-08-11 | 2005-02-16 | Univ Nat Cheng Kung | Semantic emotion classifying system |
CN105096942A (zh) * | 2014-05-21 | 2015-11-25 | 清华大学 | 语义分析方法和装置 |
CN105354300A (zh) * | 2015-11-05 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 一种信息推荐方法及装置 |
US20160210962A1 (en) * | 2015-01-19 | 2016-07-21 | Ncsoft Corporation | Methods and systems for analyzing communication situation based on dialogue act information |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040167875A1 (en) * | 2003-02-20 | 2004-08-26 | Eriks Sneiders | Information processing method and system |
CN1741013A (zh) * | 2004-08-27 | 2006-03-01 | 英业达股份有限公司 | 一种客户服务自动答疑系统及其方法 |
CN103810218B (zh) * | 2012-11-14 | 2018-06-08 | 北京百度网讯科技有限公司 | 一种基于问题簇的自动问答方法和装置 |
US10019484B2 (en) * | 2013-07-17 | 2018-07-10 | Google Llc | Third party search applications for a search system |
KR101678787B1 (ko) * | 2015-07-15 | 2016-12-06 | 포항공과대학교 산학협력단 | 자동질의응답 방법 및 그 장치 |
CN105389307A (zh) * | 2015-12-02 | 2016-03-09 | 上海智臻智能网络科技股份有限公司 | 语句意图类别识别方法及装置 |
CN105701253B (zh) * | 2016-03-04 | 2019-03-26 | 南京大学 | 中文自然语言问句语义化的知识库自动问答方法 |
-
2017
- 2017-02-16 CN CN201710084397.0A patent/CN108446286B/zh active Active
- 2017-11-07 TW TW106138408A patent/TWI746690B/zh active
-
2018
- 2018-02-06 WO PCT/CN2018/075410 patent/WO2018149326A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506657A (en) * | 2003-08-11 | 2005-02-16 | Univ Nat Cheng Kung | Semantic emotion classifying system |
CN105096942A (zh) * | 2014-05-21 | 2015-11-25 | 清华大学 | 语义分析方法和装置 |
US20160210962A1 (en) * | 2015-01-19 | 2016-07-21 | Ncsoft Corporation | Methods and systems for analyzing communication situation based on dialogue act information |
CN105354300A (zh) * | 2015-11-05 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 一种信息推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108446286B (zh) | 2023-04-25 |
TW201832104A (zh) | 2018-09-01 |
CN108446286A (zh) | 2018-08-24 |
WO2018149326A1 (zh) | 2018-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI746690B (zh) | 自然語言問句答案的產生方法、裝置及伺服器 | |
CN106649825B (zh) | 语音交互系统及其创建方法和装置 | |
US6606625B1 (en) | Wrapper induction by hierarchical data analysis | |
KR100533810B1 (ko) | 백과사전 질의응답 시스템의 지식베이스 반자동 구축 방법 | |
US10496749B2 (en) | Unified semantics-focused language processing and zero base knowledge building system | |
Völkel et al. | Semantic wikipedia | |
CN108268580A (zh) | 基于知识图谱的问答方法及装置 | |
Ferrández et al. | The QALL-ME Framework: A specifiable-domain multilingual Question Answering architecture | |
CN106601237B (zh) | 交互式语音应答系统及其语音识别方法 | |
US20170337261A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
EP1672537A2 (en) | Data semanticizer | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
CN111159385A (zh) | 一种基于动态知识图谱的无模板通用智能问答方法 | |
CN107656921B (zh) | 一种基于深度学习的短文本依存分析方法 | |
CN110502227A (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
WO2024011813A1 (zh) | 一种文本扩展方法、装置、设备及介质 | |
CN110209828A (zh) | 案件查询方法及案件查询装置、计算机设备和存储介质 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN109933671A (zh) | 构建个人知识图谱的方法、装置、计算机设备和存储介质 | |
CN114218472A (zh) | 基于知识图谱的智能搜索系统 | |
CN113742446A (zh) | 一种基于路径排序的知识图谱问答方法及系统 | |
CN116244344A (zh) | 基于用户需求的检索方法、装置以及电子设备 | |
CN114911915A (zh) | 一种基于知识图谱的问答搜索方法、系统、设备和介质 | |
CN111553138A (zh) | 用于规范内容结构文档的辅助写作方法及装置 | |
CN105260396A (zh) | 字词检索方法和装置 |