分類模型的訓練,獲取意圖 分類模型。
[0055] 在本發明實施例中,進行分類模型訓練的方法可以包括:SVM和樸素貝葉斯中的 一種或兩種。
[0056] 步驟105,對當前問句進行向量化計算,得到當前問句的向量,根據當前問句的向 量和意圖分類模型確定當前問句對應的意圖類別。
[0057] 在步驟105中,對當前問句進行向量化計算的處理可以參照步驟1031-1032執行。
[0058] 以下結合附圖,對本發明實施例的上述技術方案進行詳細說明。
[0059] 圖2是本發明實施例的語句意圖類別識別方法的詳細處理的流程圖,如圖2所示, 具體包括如下處理:
[0060] 步驟201,獲取問答日志信息中的問句和意圖類別,并獲取問句與意圖類別之間的 對應關系,存儲到意圖類別表;
[0061] 步驟202,對從問句獲取的語料統一為文本格式,并過濾無效的格式,去除臟詞、敏 感詞和停用詞中的一種或多種;將過濾后的文本數據按大標點分割成行保存,其中,大標點 可以是問號、嘆號、分號或句號;
[0062] 步驟203,采用字典雙向最大匹配法、viterbi方法、HMM方法和CRF方法中的 一種或多種對分行后的文本數據進行分詞處理,其中,每個詞之間通過空格分隔,例如:wlw2w3w4w5......〇
[0063] 步驟204,對語料詞語進行過濾處理,得到包括多個關鍵詞的詞典;其中,過濾處 理采用以下任一種或兩種方式:方式一:根據詞性對語料詞語進行過濾,保留名詞、動詞以 及形容詞;方式二:根據頻次對語料詞語進行過濾,保留頻次大于頻次閾值的語料詞語,其 中,頻次是指語料詞語在語料數據中出現的頻率或者次數。
[0064] 步驟205,統計每個關鍵詞在不同意圖類別中出現的次數,并計算詞典中每個關鍵 詞的信息熵,其中,信息熵表示該關鍵詞在各意圖類別中出現的概率,將計算出的信息熵保 存到信息熵數據庫,從信息熵數據庫獲取關鍵詞的信息熵,判斷關鍵詞的信息熵是否小于 預先設置的信息熵閾值,并將信息熵大于信息熵閾值的關鍵詞保留在詞典中,將詞典保存 在關鍵詞詞典數據庫中。
[0065] 步驟206,將問答日志中包括的問句總數目除以包含關鍵詞的問句的數目,將得到 的商取對數得到關鍵詞的IDF值;計算關鍵詞在對應問句中出現的頻率,確定TF值;將TF 值乘以IDF值得到關鍵詞的TF-IDF值。將關鍵詞的TF-IDF值存儲到TF-IDF特征數據庫。
[0066] 具體地,計算關鍵詞的IDF值的公式如下:其中,D表示問句總數,{jd』表 示包含關鍵詞的問句的數目。
[0067]
[0068] 步驟207,根據詞典的大小和相應問句中出現的關鍵詞的TF-IDF值,對該問句生 成向量,其中,向量的維度是詞典的大小,每個維度的值為:相應問句中未出現在詞典中的 詞的維度值為〇,相應問句中出現在詞典中的關鍵詞的維度值為該關鍵詞的TF-IDF值。
[0069] 步驟208,根據每個問句的向量及對應的意圖類別進行分類模型的訓練,獲取意圖 分類模型,進行分類模型訓練的方法包括:SVM和樸素貝葉斯中的一種或兩種。在本發明實 施例中,采用的是SVM分類訓練模型。在其他實施例中,還可以采用樸素貝葉斯、或者,采用 SVM和樸素貝葉斯中結合進行分類模型訓練。
[0070] 步驟209,對當前問句進行向量化計算,具體地,首先,對問句進行預處理和分 詞,根據關鍵詞詞典數據庫中的詞典的大小和相應問句中出現的關鍵詞所對應的存儲在 TF-IDF特征數據庫的TF-IDF值,對該問句生成向量,得到當前問句的向量,根據當前問句 的向量和意圖分類模型確定當前問句對應的意圖類別。
[0071] 綜上所述,通過從問答系統中日志信息的問句中獲取關鍵詞,并利用這些關鍵詞 初步確定用戶的意圖,解決了現有技術中用戶問句意圖分析計算時間長,計算效率低的問 題,能夠初步準確地識別用戶的問句意圖,提高語義理解的執行效率,降低了成本,節約了 答案回復的時間,提高了用戶的使用體驗。
[0072] 裝置實施例
[0073] 根據本發明的實施例,提供了一種語句意圖類別識別裝置,圖3是本發明實施例 的語句意圖類別識別裝置的結構示意圖,如圖3所示,根據本發明實施例的語句意圖類別 識別裝置包括:提供模塊30、生成模塊31、計算模塊32、訓練模塊33、以及識別模塊34,以 下對本發明實施例的各個模塊進行詳細的說明。
[0074] 提供模塊30,用于提供問答日志信息,每條問答日志信息包括:問句和意圖類別;
[0075] 生成模塊31,用于根據從問句中獲取的關鍵詞生成詞典;生成模塊31具體包括:
[0076] 預處理子模塊,用于對從問句獲取的語料進行預處理,得到文本數據;具體地,預 處理子模塊將問句的格式統一為文本格式,過濾臟詞、敏感詞和停用詞中的一種或多種,并 將過濾后的文本數據按照標點劃分為多行。
[0077] 分詞處理子模塊,用于對文本數據進行分詞處理,得到多個語料詞語;分詞處理采 用字典雙向最大匹配法、viterbi方法、HMM方法和CRF方法中的一種或多種。
[0078] 過濾處理子模塊,用于對語料詞語進行過濾處理,得到包括多個關鍵詞的詞典;過 濾處理子模塊具體用于:采用以下任一種或兩種方式進行過濾處理:方式一:根據詞性對 語料詞語進行過濾,保留名詞、動詞以及形容詞;方式二:根據頻次對語料詞語進行過濾, 保留頻次大于頻次閾值的語料詞語。
[0079] 降維子模塊,用于對詞典進行降維處理。降維子模塊具體用于:根據問答日志統計 問句對應的意圖類別,計算詞典中每個關鍵詞的信息熵,將信息熵小于信息熵閾值的關鍵 詞從詞典中刪除,其中,信息熵表示該關鍵詞在各意圖類別中出現的概率。
[0080] 由于關鍵詞的信息熵可以直接根據上述計算公式計算出來,計算復雜度非常低, 因此,本發明實施例的技術方案利用信息熵能夠快速準確將信息熵小于信息熵閾值的關鍵 詞從詞典中刪除,大大提高了詞典降維的準確率和效率。
[0081] 本發明實施例通過對詞典進行降維,使得詞典更加的準確和精簡,在后續進行問 句的向量化計算和分類模型訓練時,大大降低了計算的復雜度,有效提高了計算效率。
[0082] 計算模塊32,用于根據詞典分別對每個問句進行向量化計算,得到每個問句的向 量;計算模塊32具體用于:
[0083] 對問句進行預處理和分詞;預處理具體包括:將問句的格式統一為文本格式,過 濾臟詞、敏感詞和停用詞中的一種或多種,并將過濾后的文本數據按照標點劃分為多行。
[0084] 根據詞典的大小和相應問句中出現的關鍵詞的TF-IDF值,對該問句生成向量,其 中,向量的維度是詞典的大小,每個維度的值為:相應問句中未出現在詞典中的詞的維度值 為0,相應問句中出現在詞典中的關鍵詞的維度值為該關鍵詞的TF-IDF值。其中,計算關鍵 詞的TF-IDF值為:
[0085] 將問答日志中包括的問句總數目除以包含關鍵詞的問句的數目,將得到的商取對 數得到關鍵詞的IDF值;計算關鍵詞在對應問句中出現的頻率,確定TF值;將TF值乘以IDF 值得到關鍵詞的TF-IDF值。
[0086] 訓練模塊33,用于根據每個問句的向量及對應的意圖類別進行分類模型的訓練, 獲取意圖分類模型;訓練模塊33進行分類模型訓練的方法包括:SVM和樸素貝葉斯中的一 種或兩種。
[0087] 識別模塊34,用于對當前問句進行向量化計算,得到當前問句的向量,根據當前問 句的向量和意圖分類模型確定當前問句對應的意圖類別。
[0088] 綜上所述,通過從問答系統中日志信息的問句中獲取關鍵詞,并利用這些關鍵詞 初步確定用戶的意圖,解決了現有技術中用戶問句意圖分析計算時間長,計算效率低的問 題,能夠初步準確地識別用戶的問句意圖,提高語義理解的執行效率,降低了成本,節約了 答案回復的時間,提高了用戶的使用體驗。
[0089] 顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精 神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍 之內,則本發明也意圖包含這些改動和變型在內。
[0090] 在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。 各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求 的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種 編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發 明的最佳實施方式。
[0091] 在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施 例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構 和技術,以便不模糊對本說明書的理解。
[0092] 類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在 上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施 例、圖、或者對其的描述中。然而,并不應將該公