本發(fā)明實施例涉及計算機技術,尤其涉及一種反饋內容的問題定位方法和裝置、計算機設備、存儲介質。
背景技術:
企業(yè)通常都會設有專門的問題反饋渠道,以接收用戶反饋的問題,從而不斷改進自身的產品和服務,例如,郵件已逐漸成為最主要的反饋渠道之一,而高效的識別郵件以及其他各種反饋內容中的問題,并進行自動定位,能夠大大降低客服、研發(fā)人員的重復勞動,節(jié)約企業(yè)成本。
目前,已有企業(yè)利用自然語言處理技術來進行問題識別和自動回復,其方法主要是通過對反饋信息拆分關鍵詞或組合,將其與預設問題回復的關鍵詞進行匹配,獲取對應的預設回復信息。然而,這種問題的定位精度低,無法做出進一步的分析并定位問題,不具有普適性,從而造成自動回復的內容單一且價值被大大降低,用戶體驗極差。
技術實現要素:
本發(fā)明實施例提供一種反饋內容的問題定位方法和裝置、計算機設備、存儲介質,以解決現有技術中問題定位精度低且通用性差的問題。
第一方面,本發(fā)明實施例提供了一種反饋內容的問題定位方法,該方法包括:
利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別;
獲取與所述問題類別對應的至少一個參數抽離模板,分別依據所述至少一個參數抽離模板從反饋內容中抽取出定位參數;
獲取所述定位參數對應的至少一條校驗規(guī)則,并根據所述定位參數依次進行校驗,得到每條校驗規(guī)則的校驗結果。
第二方面,本發(fā)明實施例還提供了一種反饋內容的問題定位裝置,該裝置包括:
分類模塊,用于利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別;
定位參數抽取模塊,用于獲取與所述問題類別對應的至少一個參數抽離模板,分別依據所述至少一個參數抽離模板從反饋內容中抽取出定位參數;
規(guī)則校驗模塊,用于獲取所述定位參數對應的至少一條校驗規(guī)則,并根據所述定位參數依次進行校驗,得到每條校驗規(guī)則的校驗結果。
第三方面,本發(fā)明實施例還提供了一種計算機設備,包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現如上所述的反饋內容的問題定位方法。
第四方面,本發(fā)明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現如上所述的反饋內容的問題定位方法。
本發(fā)明實施例利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別,依據與所述問題類別對應的至少一個參數抽離模板從反饋內容中抽取出定位參數,最后對所述定位參數對應的至少一條校驗規(guī)則依次進行校驗,得到每條校驗規(guī)則的校驗結果,繼而能夠實現基于反饋問題的精確的自動定位,而且具有通用性。
附圖說明
圖1是本發(fā)明實施例一中的反饋內容的問題定位方法的流程圖;
圖2是本發(fā)明實施例二中的反饋內容的問題定位方法的流程圖;
圖3是本發(fā)明實施例三中的反饋內容的問題定位裝置的結構示意圖;
圖4是本發(fā)明實施例四中的計算機設備的結構示意圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
實施例一
圖1為本發(fā)明實施例一提供的反饋內容的問題定位方法的流程圖,本實施例可適用于對文本反饋問題進行自動定位的情況,該方法可以由反饋內容的問題定位裝置來執(zhí)行,該裝置可以采用軟件和/或硬件的方式實現。如圖1所示,該方法具體包括:
s110、利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別。
其中,反饋內容可以是通過各種反饋渠道提取出的反饋內容。示例性的,可以是通過郵件反饋系統(tǒng)提取出反饋內容,由此,在s110之前,方法還可以包括:
按照預設頻率輪詢郵件反饋系統(tǒng),獲取全量反饋郵件;
從所述全量反饋郵件中獲取新增反饋郵件,并提取新增反饋郵件中的郵件內容作為所述反饋內容。
具體實現時,首先初始化累計提取的郵件數,例如可記為sum_before,接著,按照預設頻率輪詢郵件反饋系統(tǒng)中的郵件,獲取全量反饋內容,例如可記為數組c[n],顯然,本次新增的反饋數目為n與sum_before的差值,新增反饋郵件可以通過索引[sum_before,n-1]來獲取。當提取完畢后,sum_before更新為n,并等待下一次的輪詢,以此來從全量反饋郵件中獲取新增反饋郵件,而從新增反饋郵件中提取的內容即作為所述反饋內容。
示例性的,所述分類器可以是預先訓練好的tmsvm(基于svm的文本挖掘系統(tǒng))模型。預先訓練的過程可以包括:抽取一定數量的歷史反饋樣本,并對其所屬的問題類別分別進行人工標注,例如,業(yè)務問題類別、訂單問題類別或賬戶問題類別等,根據具體的應用場景劃分不同的業(yè)務問題類別;然后對這些樣本依次進行分詞、剔除停用詞或低頻詞、特征抽取和構建特征向量;最后使用libsvm(一個簡單、易于使用和快速有效的svm模式識別與回歸的軟件包)生成分類器,得到tmsvm模型。當然,在其他的實施方式中,也可以使用knn(k-nearestneighbor,鄰近算法,或者說k最近鄰算法)或者遺傳算法等機器學習的方法來訓練得到對應的分類器模型,這里不再贅述。
預先訓練好的分類器,可以用于對新增的當前反饋內容進行分類,得到反饋內容所屬的問題類別,以便接下來分別對每一種類別進行進一步的問題定位。
s120、獲取與所述問題類別對應的至少一個參數抽離模板,分別依據所述至少一個參數抽離模板從反饋內容中抽取出定位參數。
具體的,可以預先配置參數抽離模板庫,模板庫中,按照問題類別對應有至少一個參數抽離模板,該參數抽離模板中指定了參數提取的規(guī)則。示例性的,參數抽離模板可以是一個腳本,腳本由很多個片段組成,每一個片段可以是一個正則規(guī)則對應提取一個定位參數。在獲取到與問題類別對應的至少一個參數抽離模板之后,通過運行對應的腳本,根據規(guī)則提取出進行問題定位所需的定位參數,用于下一步問題自動定位。
例如,若用戶a反饋自己在外賣下了個訂單,訂單編號57781,沒有配送,通過分類得到這個反饋是屬于訂單問題類別。為了進一步細粒度定位,還需要進一步提取定位所需的有價值參數。為此,從參數抽離模板庫中獲取與“訂單問題類別”對應的參數抽離模板。對于訂單問題類別對應的定位參數,可以是訂單號參數,也可以是諸如配送等隸屬于訂單問題的類型參數。對于訂單號參數,其參數提取的規(guī)則可以為:根據信息匹配訂單編號或訂單號等類似的關鍵詞,如匹配,則提取出這些關鍵詞后面的內容(通常為數字)。于是根據該規(guī)則,可以從上述用戶a的反饋內容中匹配“訂單編號”關鍵詞,于是自動提取出“57781”這一訂單號參數。當然,也可以根據類型參數的抽離模板提取出“配送”這一類型參數。此處不再對定位參數和對應的提取規(guī)則一一舉例。
這里還需要說明的是,由于問題類別和參數抽離模板是預先設定的,而實時獲取到的反饋內容以及不同用戶對反饋內容的描述方式和語言習慣都存在差異,因此,依據每一個參數抽離模板,并不都能夠從當前的反饋內容中抽取出定位參數,而抽取出來的這些定位參數將用于進一步的問題定位。當然,對于問題類別和參數抽離模板,可以根據大量的樣本進行統(tǒng)計并根據具體的應用場景來預設,若在實際使用時出現了不屬于已有問題類別或通過所有的參數抽離模板都抽取不出定位參數的情況,則可以由人工進行分類和提取定位參數,并完善當前的問題類別的種類和參數抽離模板。
s130、獲取所述定位參數對應的至少一條校驗規(guī)則,并根據所述定位參數依次進行校驗,得到每條校驗規(guī)則的校驗結果。
其中,所述校驗規(guī)則用于表示在各個問題類別下問題出現的情形。具體的,每一個確定的問題類別,可能會有很多問題出現的不同情形,根據每一個不同的情形對應不同的檢驗規(guī)則,可以預先將這些校驗規(guī)則生成規(guī)則庫,根據獲取到的定位參數從規(guī)則庫中獲取對應的至少一條校驗規(guī)則。其中,一個定位參數可以對應一條或多條校驗規(guī)則,一條校驗規(guī)則也可以對應多個定位參數。
示例性的,針對前述例子中的“訂單問題類別”,對應的校驗規(guī)則可以包括:規(guī)則1:如果類型參數為配送,查詢訂單號在訂單庫是否下單成功;規(guī)則2:如果類型參數為配送,查詢訂單號是否沒有接單記錄;規(guī)則3:查詢訂單號對應的配送流程是否出現異?;蛘邲]有接收到數據信息等。在上述規(guī)則中,規(guī)則1中對應有兩個定位參數,分別是類型參數和訂單號;規(guī)則2中對應有兩個定位參數,分別是類型參數和訂單號;規(guī)則3中對應有一個定位參數,訂單號。在本例中,由于已經提取出兩個定位參數,分別是訂單號“57781”和類型參數“配送”,因此,規(guī)則1-3均可以作為與之對應的校驗規(guī)則進行校驗。
校驗時,將定位參數作為這些規(guī)則(例如實現為一組完整的程序片段)的輸入,根據具體的規(guī)則,通過相關接口的調用,依次由對應的下游應用系統(tǒng)來進行校驗并將結果返回,從而得到輸出的每條校驗規(guī)則的校驗結果。例如,上述規(guī)則1、2都對應到訂單系統(tǒng),規(guī)則3對應到配送系統(tǒng)。這些校驗結果即為定位的問題所在。
優(yōu)選的,在得到每條校驗規(guī)則的校驗結果之后,本發(fā)明實施例的方法還可以包括:將所述校驗結果進行文本拼接后顯示。顯示的目的是將定位的問題回復給用戶或相關人員,以供查看。
本發(fā)明實施例利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別,依據參數抽離模板從反饋內容中抽取出定位參數,最后對所述定位參數對應的至少一條校驗規(guī)則依次進行校驗,得到每條校驗規(guī)則的校驗結果,并進行拼接顯示,能夠實現基于反饋內容的自動定位及回復,并且通過定位參數抽取和校驗規(guī)則校驗,使得自動定位更加準確,并具有一定的通用性,實現了針對不同反饋內容的差異化、深入地定位,而且提高了自動回復內容的有效性。
實施例二
圖2為本發(fā)明實施例二提供的反饋內容的問題定位方法的流程圖,本實施例二在實施例一的基礎上進行進一步地優(yōu)化。如圖2所示,所述方法包括:
s210、判斷當前的分類器準確率是否滿足預設閾值,若滿足,則執(zhí)行s220,否則執(zhí)行s270之后分別執(zhí)行s230、s280。
其中,當前分類器準確率是預先訓練好的分類器根據當前訓練樣本進行預測后計算得到的準確率。
這里需要說明的是,由于抽取的樣本直接影響機器學習的效果,為了滿足分類器模型能夠自迭代更新,不斷強化識別的準確率,本發(fā)明實施例預先設定準確率閾值,當分類器依據當前訓練樣本經預測后計算得到的準確率不滿足該閾值時,視為精度不準,此時容易產生誤判,需要對待分類的反饋內容先進行人工分類與標注,獲得經人工處理得到的問題類別后再執(zhí)行s230進行定位參數抽離。此外,通過執(zhí)行s280,將該帶有人工分類標注的當前反饋內容作為新的訓練樣本添加至分類器的訓練集中,對當前的分類器重新訓練,以更新分類器模型。并且,更新后的分類器還需要重新計算器其準確率,以便在對其他反饋內容進行分類之前,用于通過s210再次判斷新的準確率是否滿足預設閾值。顯然的,通過這種方式最終將使分類器效果不斷收斂,直至準確率符合預設閾值。其中,關于s230和s280,將在下文中詳細描述。
s220、利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別。
s230、獲取與所述問題類別對應的至少一個參數抽離模板,分別依據所述至少一個參數抽離模板從反饋內容中抽取出定位參數。
s240、獲取所述定位參數對應的至少一條校驗規(guī)則,并根據所述定位參數依次進行校驗,得到每條校驗規(guī)則的校驗結果。
s250、獲取人工對所述校驗結果的反饋信息,該反饋信息表示對反饋內容的分類是否正確,若反饋信息表示對反饋內容的分類是正確的,則執(zhí)行s260,若分類不正確,則執(zhí)行s270之后執(zhí)行s280,并返回執(zhí)行s230-s250,直到分類正確為止。
s260、將校驗結果進行文本拼接后顯示。
s270、轉由人工分類并獲得問題類別。
s280、將帶有人工分類標注的當前反饋內容作為新的訓練樣本對所述分類器重新訓練,由重新訓練得到的分類器計算準確率后更新所述當前分類器準確率。
具體的,為了提高問題定位的準確性,本發(fā)明實施例在獲得校驗結果之后,通過人工反饋的方式對分類器的分類結果進行再次確認,若分類正確,則直接將這些校驗結果進行文本拼接后顯示即可,若分類不正確,則轉由人工分類,并根據人工分類的結果重新執(zhí)行s230-s250,以便重新進行問題定位,直到分類正確為止。此外,同樣也需要通過執(zhí)行s280,對當前的分類器重新訓練,并計算出新的準確率,以便在對其他反饋內容進行分類之前,用于通過s210再次判斷新的準確率是否滿足預設閾值。
本發(fā)明實施例通過對當前分類器的準確率是否滿足預設閾值進行判斷,選擇通過分類器進行分類還是通過人工分類以保證對反饋內容分類的準確度,同時更新訓練樣本以使分類器學習人工處理的結果,從而使分類器效果不斷收斂,提高其分類結果的精度。此外,通過人工反饋的方式對分類結果的正確性再次進行校驗,并在分類不正確的情況下,經人工分類后再執(zhí)行接下來問題定位的其他操作,并再次更新訓練樣本重新訓練分類器,從而進一步提高問題定位的準確度。
實施例三
圖3是本發(fā)明實施例三中的反饋內容的問題定位裝置的結構示意圖。如圖4所示,反饋內容的問題定位裝置包括:
分類模塊310,用于利用預先訓練好的分類器對反饋內容進行分類,得到反饋內容所屬的問題類別;
定位參數抽取模塊320,用于獲取與所述問題類別對應的至少一個參數抽離模板,分別依據所述至少一個參數抽離模板從反饋內容中抽取出定位參數;
規(guī)則校驗模塊330,用于獲取所述定位參數對應的至少一條校驗規(guī)則,并根據所述定位參數依次進行校驗,得到每條校驗規(guī)則的校驗結果。
優(yōu)選的,所述裝置還包括:
反饋內容獲取模塊,用于按照預設頻率輪詢郵件反饋系統(tǒng),獲取全量反饋郵件,從所述全量反饋郵件中獲取新增反饋郵件,并提取新增反饋郵件中的郵件內容作為所述反饋內容。
優(yōu)選的,所述裝置還包括:
準確率判斷模塊,用于判斷當前的分類器準確率是否滿足預設閾值,其中,所述當前分類器準確率是所述預先訓練好的分類器根據當前訓練樣本進行預測后計算得到的準確率,若滿足預設閾值,則由所述分類模塊處理,若不滿足預設閾值,則轉由人工分類并獲得所述問題類別后,由所述定位參數抽取模塊處理;
分類器優(yōu)化模塊,用于當所述準確率判斷模塊判斷出當前的分類器準確率不滿足預設閾值時,將帶有人工分類標注的當前反饋內容作為新的訓練樣本對所述分類器重新訓練,由重新訓練得到的分類器計算準確率后更新所述當前分類器準確率。
優(yōu)選的,所述裝置還包括:
結果判斷模塊,用于獲取人工對所述校驗結果的反饋信息,該反饋信息表示對反饋內容的分類是否正確,若分類不正確,則轉由人工分類并獲得所述問題類別后,由所述定位參數抽取模塊處理;
相應的,所述分類器優(yōu)化模塊還用于,當所述結果判斷模塊判斷出對反饋內容的分類不正確時,將帶有人工分類標注的當前反饋內容作為新的訓練樣本對所述分類器重新訓練,由重新訓練得到的分類器計算準確率后更新所述當前分類器準確率。
進一步的,所述裝置還包括:
拼接顯示模塊,用于將所述規(guī)則校驗模塊得到的校驗結果進行文本拼接后顯示。
本發(fā)明實施例所提供的反饋內容的問題定位裝置可執(zhí)行本發(fā)明任意實施例所提供的反饋內容的問題定位方法,具備執(zhí)行方法相應的功能模塊和有益效果。
實施例四
圖4為本發(fā)明實施例四提供的一種計算機設備的結構示意圖。圖4示出了適于用來實現本發(fā)明實施方式的示例性計算機設備412的框圖。圖4顯示的計算機設備412僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖4所示,計算機設備412以通用計算設備的形式表現。計算機設備412的組件可以包括但不限于:一個或者多個處理器或者處理單元416,系統(tǒng)存儲器428,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器428和處理單元416)的總線418。
總線418表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(isa)總線,微通道體系結構(mac)總線,增強型isa總線、視頻電子標準協會(vesa)局域總線以及外圍組件互連(pci)總線。
計算機設備412典型地包括多種計算機系統(tǒng)可讀介質。這些介質可以是任何能夠被計算機設備412訪問的可用介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
系統(tǒng)存儲器428可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質,例如隨機存取存儲器(ram)430和/或高速緩存存儲器432。計算機設備412可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質。僅作為舉例,存儲系統(tǒng)434可以用于讀寫不可移動的、非易失性磁介質(圖4未顯示,通常稱為“硬盤驅動器”)。盡管圖4中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線418相連。存儲器428可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
具有一組(至少一個)程序模塊442的程序/實用工具440,可以存儲在例如存儲器428中,這樣的程序模塊442包括但不限于操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環(huán)境的實現。程序模塊442通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
計算機設備412也可以與一個或多個外部設備414(例如鍵盤、指向設備、顯示器424等)通信,還可與一個或者多個使得用戶能與該計算機設備412交互的設備通信,和/或與使得該計算機設備412能與一個或多個其它計算設備進行通信的任何設備(例如網卡,調制解調器等等)通信。這種通信可以通過輸入/輸出(i/o)接口422進行。并且,計算機設備412還可以通過網絡適配器420與一個或者多個網絡(例如局域網(lan),廣域網(wan)和/或公共網絡,例如因特網)通信。如圖所示,網絡適配器420通過總線418與計算機設備412的其它模塊通信。應當明白,盡管圖中未示出,可以結合計算機設備412使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統(tǒng)、磁帶驅動器以及數據備份存儲系統(tǒng)等。
處理單元416通過運行存儲在系統(tǒng)存儲器428中的程序,從而執(zhí)行各種功能應用以及數據處理,例如實現本發(fā)明實施例所提供的反饋內容的問題定位方法。
實施例五
本發(fā)明實施例五還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現如本發(fā)明實施例所提供的反饋內容的問題定位方法。
本發(fā)明實施例的計算機存儲介質,可以采用一個或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。
計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于無線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設計語言—諸如”c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。