本發(fā)明涉及機器學(xué)習(xí)技術(shù)領(lǐng)域,特別涉及一種獲取文本提取模型的方法及裝置。
背景技術(shù):
機器學(xué)習(xí)技術(shù)是指計算機通過歸納文本或圖片等數(shù)據(jù)改善性能的技術(shù),廣泛地應(yīng)用于數(shù)據(jù)挖掘、計算機視覺、自然語言處理和機器人等方面。例如,為使聊天機器人能夠理解自然語言的意義,從而與用戶之間進(jìn)行交互,通常利用機器學(xué)習(xí)技術(shù)獲取文本提取模型,并將文本提取模型應(yīng)用于聊天機器人,使得聊天機器人從與用戶的語料中提取出表達(dá)用戶需求的文本,并對應(yīng)該文本進(jìn)行應(yīng)答。
一般地,在獲取文本提取模型時,需要獲取大量語料,并人工地從每個語料中標(biāo)注出表達(dá)用戶需求的文本,將大量語料和對應(yīng)標(biāo)注出的文本作為訓(xùn)練文本集合,進(jìn)而對訓(xùn)練文本集合進(jìn)行訓(xùn)練,從而基于標(biāo)注出的文本在語料中的上下文等特征得到文本提取模型。其中,人工標(biāo)注出的文本一般與聊天機器人所提供的服務(wù)的相關(guān),例如,聊天機器人可提供票務(wù)服務(wù),某個語料為“我要購買火車票”,則人工標(biāo)注的文本為“火車票”。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
訓(xùn)練文本集合完全由人工標(biāo)注的方式得到,由于獲取文本提取模型所需的語料數(shù)據(jù)量龐大、人工標(biāo)注的效率低,導(dǎo)致文本提取模型的訓(xùn)練過程會消耗大量人力成本和時間成本。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種獲取文本提取模型的方法及裝置。所述技術(shù)方案如下:
一方面,提供了一種獲取文本提取模型的方法,所述方法包括:
獲取第一文本提取模型,所述第一文本提取模型根據(jù)人工標(biāo)注的第一訓(xùn)練文本集合得到;
如果所述第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,獲取第二訓(xùn)練文本集合,所述第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過所述第一文本提取模型從所述多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本;
根據(jù)所述第一訓(xùn)練文本集合和所述第二訓(xùn)練文本集合,獲取第二文本提取模型。
另一方面,提供了一種獲取文本提取模型的裝置,所述裝置包括:
模型獲取模塊,用于獲取第一文本提取模型,所述第一文本提取模型根據(jù)人工標(biāo)注的第一訓(xùn)練文本集合得到;
訓(xùn)練文本集合獲取模塊,用于如果所述第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,獲取第二訓(xùn)練文本集合,所述第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過所述第一文本提取模型從所述多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本;
所述模型獲取模塊,用于根據(jù)所述第一訓(xùn)練文本集合和所述第二訓(xùn)練文本集合,獲取第二文本提取模型。
本發(fā)明實施例通過獲取第一文本提取模型,在第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值時,獲取第二訓(xùn)練文本集合,該第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過第一文本提取模型從多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本,從而通過已獲取的第一文本提取模型得到第二訓(xùn)練文本集合,而無需人工標(biāo)注,進(jìn)一步地,根據(jù)第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,獲取第二文本提取模型,使得獲取文本提取模型的過程趨于自動化,由于通過模型獲取訓(xùn)練文本集合的效率遠(yuǎn)高于人工標(biāo)注的效率,因此采用本發(fā)明的獲取方法可以大大減少人力成本和時間成本。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種獲取文本提取模型的實施環(huán)境示意圖;
圖2是本發(fā)明實施例提供的一種獲取文本提取模型的方法流程圖;
圖3是本發(fā)明實施例提供的一種獲取訓(xùn)練文本的流程圖;
圖4是本發(fā)明實施例提供的一種獲取迭代模型的流程圖;
圖5是本發(fā)明實施例提供的一種獲取文本提取模型的裝置框圖;
圖6是本發(fā)明實施例提供的一種獲取文本提取模型的裝置框圖;
圖7是本發(fā)明實施例提供的一種獲取文本提取模型的裝置700的框圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
圖1是本發(fā)明實施例提供的一種獲取文本提取模型的實施環(huán)境示意圖。參見圖1,該實施環(huán)境中包括:
至少一個服務(wù)器101,至少一個聊天機器人102,至少一個終端103(如,移動終端和臺式電腦)。其中,服務(wù)器101用于獲取第一文本提取模型,如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,則獲取第二訓(xùn)練文本集合,根據(jù)已獲取的訓(xùn)練文本集合獲取第二文本提取模型,將獲取的文本提取模型應(yīng)用于聊天機器人102或終端103。該聊天機器人102用于根據(jù)服務(wù)器101的控制獲取或更新文本提取模型,并基于服務(wù)器101的控制為用戶提供各種服務(wù),如,聊天服務(wù)。終端103上安裝有服務(wù)器101所提供的智能聊天應(yīng)用,并根據(jù)服務(wù)器101的控制獲取或更新文本提取模型。
另外,該服務(wù)器101還可以配置至少一個數(shù)據(jù)庫,如,聊天數(shù)據(jù)庫、用戶數(shù)據(jù)庫的用戶認(rèn)證數(shù)據(jù)庫等等。該聊天數(shù)據(jù)庫用于存儲用戶與聊天機器人(或者智能聊天應(yīng)用)之間的對話語料,該對話語料可以標(biāo)識有本次對話的時間戳,或者本次對話的服務(wù)記錄等數(shù)據(jù);用戶數(shù)據(jù)庫用于存儲用戶行為數(shù)據(jù),如用戶發(fā)表的日志和評論,用戶的點贊行為和評分行為等;該用戶認(rèn)證數(shù)據(jù)庫用于存儲用戶的用戶名和用戶密碼。
圖2是本發(fā)明實施例提供的一種獲取文本提取模型的方法流程圖。參見圖2,該方法可以應(yīng)用于任一設(shè)備,且該設(shè)備至少具有處理器和存儲器,可以通過處理器處理存儲器中的訓(xùn)練樣本集合,得到文本提取模型。該方法具體包括:
201、服務(wù)器獲取第一文本提取模型,第一文本提取模型根據(jù)人工標(biāo)注的第一訓(xùn)練文本集合得到。
第一訓(xùn)練文本集合用于生成文本提取模型,該第一訓(xùn)練文本集合包括多個訓(xùn)練語料和人工對多個訓(xùn)練語料標(biāo)注的正確文本,一個訓(xùn)練語料和從中標(biāo)注出的正確文本構(gòu)成一對訓(xùn)練文本。其中,本發(fā)明實施例對訓(xùn)練語料的形式不做限定。例如,該訓(xùn)練語料可以是單句形式,或者對話形式。而且,從一個訓(xùn)練語料中標(biāo)注出的正確文本可以是一個或多個,一般與應(yīng)用該文本提取模型的聊天機器人(或智能聊天應(yīng)用)所提供的服務(wù)相關(guān),例如,訓(xùn)練語料為“怎么去杭州”,標(biāo)注出的正確文本可以為“杭州”;訓(xùn)練語料為“我要買到天津的機票”,標(biāo)注出的正確文本可以為“天津”和“機票”。
該步驟中,服務(wù)器可以從自身的數(shù)據(jù)庫或網(wǎng)絡(luò)獲取多個訓(xùn)練語料,并獲取人工從多個訓(xùn)練語料中標(biāo)注出的正確文本,從而獲取到第一訓(xùn)練文本集合,進(jìn)而,服務(wù)器對第一訓(xùn)練文本集合進(jìn)行訓(xùn)練,也即是,提取每對訓(xùn)練文本的特征(如,上下文特征),根據(jù)提取的特征確定初始提取模型的各個參數(shù)的取值,得到已知參數(shù)的第一文本提取模型。其中,該初始提取模型不限于CRF(Conditional Random Field algorithm,條件隨機場)模型或HMM(Hidden Markov Model,隱馬爾可夫模型)。
事實上,人工也可能從某些訓(xùn)練語料中不能標(biāo)注出文本,這些訓(xùn)練語料如“怎么了”、“為什么”,該情況下,本發(fā)明實施例對處理這些訓(xùn)練語料的方式不做限定,例如,直接丟棄該訓(xùn)練語料,不對它進(jìn)行標(biāo)注;又例如,人工對不能標(biāo)注出文本的訓(xùn)練語料統(tǒng)一添加默認(rèn)標(biāo)簽,該默認(rèn)標(biāo)簽用于標(biāo)記不能標(biāo)注出文本的訓(xùn)練語料,默認(rèn)標(biāo)簽如“無”。進(jìn)一步地,為了方便后續(xù)人工標(biāo)注的過程,提高人工標(biāo)注的效率,服務(wù)器可以將被丟棄的訓(xùn)練語料或者被添加了默認(rèn)標(biāo)簽的訓(xùn)練語料存儲為待篩選參考語料;后續(xù)在獲取到初始訓(xùn)練語料之后,服務(wù)器可以篩選掉與待篩選參考語料相同的初始訓(xùn)練語料,得到篩選后的訓(xùn)練語料。
需要說明的是,在訓(xùn)練過程之前,還可以將初始提取模型的各個參數(shù)進(jìn)行初始化,而在訓(xùn)練過程中,還可使用隨機梯度下降和前向后向傳播方法等來優(yōu)化文本提取模型中的各個參數(shù),以盡可能地減少文本提取模型的誤差。
另外需要說明的是,本發(fā)明實施例為了減少人工標(biāo)注的成本,相較于現(xiàn)有技術(shù)中獲取文本提取模型所需的訓(xùn)練文本的數(shù)量,該第一訓(xùn)練文本集合中的訓(xùn)練文本的數(shù)量會更少,如,現(xiàn)有技術(shù)所需的訓(xùn)練文本的數(shù)量為X,本發(fā)明實施例所需的訓(xùn)練文本的數(shù)量可以為50%*X。
202、如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,服務(wù)器獲取第二訓(xùn)練文本集合,第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過第一文本提取模型從多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本。
其中,由于通過第一文本提取模型所提取的文本可能是正確的,也可能是錯誤的,而為了保證根據(jù)該第二訓(xùn)練文本集合得到的文本提取模型的提取準(zhǔn)確度更高,本發(fā)明實施例所中的第一目標(biāo)文本是指應(yīng)該從第一訓(xùn)練語料中提取出的正確文本。該步驟中,服務(wù)器確定第一文本提取模型的提取準(zhǔn)確度,并判斷該提取準(zhǔn)確度是否低于預(yù)設(shè)閾值,如果是,則獲取第二訓(xùn)練文本集合,否則,確定該第一文本提取模型可使用。本發(fā)明實施例對預(yù)設(shè)閾值不做限定。該預(yù)設(shè)閾值如80%。事實上,即使該第一文本提取模型的提取準(zhǔn)確度不低于預(yù)設(shè)閾值,為了進(jìn)一步提高第一文本提取模型的準(zhǔn)確度,服務(wù)器也可以繼續(xù)獲取第二訓(xùn)練文本集合,該情況下,服務(wù)器既可以獲取第一訓(xùn)練語料后,直接獲取第一文本提取模型所提取出的文本作為第一目標(biāo)文本,也可以參照以下獲取第二訓(xùn)練文本集合的具體過程,以人工確認(rèn)的方式進(jìn)行獲取。
在確定提取準(zhǔn)確度時,本發(fā)明實施例對具體的確定方法不做限定。例如,服務(wù)器可以采用以下步驟(1)-(3)進(jìn)行確定:
(1)、服務(wù)器獲取測試文本集合,測試文本集合包括多個測試語料和人工從多個測試語料中標(biāo)注出的多個正確文本。
該測試文本集合的獲取過程與第一訓(xùn)練文本集合的獲取過程同理,但該測試文本集合用于測試第一文本提取模型的提取準(zhǔn)確度。
(2)、對于多個測試語料中的每個測試語料,服務(wù)器通過第一文本提取模型從測試語料中提取出第二文本。
該步驟(2)中,服務(wù)器將每個測試語料輸入第一文本提取模型,并將第一文本提取模型對應(yīng)該測試語料輸出的文本作為第二文本。
(3)、服務(wù)器將與任一正確文本相同的第二文本和多個正確文本的數(shù)量比例確定為第一文本提取模型的提取準(zhǔn)確度。
該步驟(3)中,服務(wù)器可以確定多個正確文本的數(shù)量A(也等價于多個測試語料的數(shù)量),并確定每個測試語料對應(yīng)提取的第二文本與該測試語料對應(yīng)標(biāo)注出的正確文本是否相同,如果相同,則進(jìn)行計數(shù),否則,忽略不計;進(jìn)而,服務(wù)器可以確定與任一正確文本相同的第二文本的數(shù)量B,并將B與A的比例確定為第一文本提取模型的提取準(zhǔn)確度。
該步驟202中,服務(wù)器獲取第二訓(xùn)練文本集合的過程可以具體為:如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,服務(wù)器獲取多個第一訓(xùn)練語料;對于多個第一訓(xùn)練語料中的每個第一訓(xùn)練語料,服務(wù)器通過第一文本提取模型從第一訓(xùn)練語料中提取出第一文本;如果第一文本正確,將第一訓(xùn)練語料和第一文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本;如果第一文本錯誤,將第一訓(xùn)練語料和人工修正的文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本。
以上具體過程參見圖3所示的獲取訓(xùn)練文本的流程圖,該具體過程中,服務(wù)器可以將每個第一訓(xùn)練語料輸入第一文本提取模型,并獲取該訓(xùn)練語料對應(yīng)輸出的文本作為第一文本,進(jìn)而,可以獲取人工對該第一文本添加的判斷信息,該判斷信息用于指示第一文本是否正確,如果獲取的判斷信息指示第一文本正確,服務(wù)器可以直接將第一訓(xùn)練語料和第一文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本;如果獲取的判斷信息指示第一文本錯誤,服務(wù)器可以獲取判斷信息中攜帶的人工修正的文本,并將第一訓(xùn)練語料和人工修正的文本作為第二訓(xùn)練文本集合中的一對文本。
事實上,為了提高獲取文本提取模型的效率,在判斷第一文本是否正確時,人工可以不必對每個第一文本進(jìn)行操作,而是直接對錯誤的第一文本進(jìn)行修正,使得服務(wù)器獲取人工修正的文本和對應(yīng)的第一訓(xùn)練語料,并直接獲取剩余未操作的第一文本和對應(yīng)的第一訓(xùn)練語料即可。
需要說明的是,本發(fā)明實施例對獲取第一訓(xùn)練語料的方式不做限定。例如,服務(wù)器可以從網(wǎng)絡(luò)或自身的數(shù)據(jù)庫進(jìn)行獲取,如,為了更深入地了解用戶需求,該數(shù)據(jù)庫可以為用戶數(shù)據(jù)庫,或者,為使訓(xùn)練語料更貼近文本提取模型的實際的應(yīng)用環(huán)境,從而提高文本提取模型在應(yīng)用時對用戶的語料命中率,該數(shù)據(jù)庫可以為聊天數(shù)據(jù)庫等。以從聊天數(shù)據(jù)庫中獲取第一訓(xùn)練語料為例,服務(wù)器可以采用以下至少兩種獲取方式:
獲取方式1、如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,服務(wù)器從聊天數(shù)據(jù)庫中獲取預(yù)設(shè)時段內(nèi)的對話語料,將預(yù)設(shè)時段內(nèi)的對話預(yù)料作為多個第一訓(xùn)練語料。
為了有針對性地獲取第一訓(xùn)練語料,服務(wù)器可以獲取預(yù)設(shè)時段內(nèi)的對話語料。本發(fā)明實施例對預(yù)設(shè)時段不做具體限定。例如,為使第一訓(xùn)練語料更貼近當(dāng)前用戶的表達(dá)方式,使得獲取的文本提取模型在應(yīng)用時的提取準(zhǔn)確度更高,該預(yù)設(shè)時段可以為最近一個月。又例如,為使第一訓(xùn)練語料更吻合聊天機器人所提供的不同服務(wù),從而提高文本提取模型的提取準(zhǔn)確度,該預(yù)設(shè)時段可以與提供服務(wù)的時段匹配,且每個時段單獨獲取對話語料并對應(yīng)文本提取模型,該服務(wù)時段的劃分如:售票服務(wù)的時段為白天,票務(wù)咨詢服務(wù)的時段為夜間。
該獲取方式1中,服務(wù)器可以根據(jù)預(yù)設(shè)時段,在聊天數(shù)據(jù)庫中查詢與預(yù)設(shè)時段具有相同時間戳的對話語料,并將查詢到的多個對話語料作為多個第一訓(xùn)練語料。
獲取方式2、如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,服務(wù)器從聊天數(shù)據(jù)庫中篩選出對話成功的對話語料,將對話成功的對話預(yù)料作為多個第一訓(xùn)練語料,對話成功的對話語料是指聊天機器人成功為用戶提供服務(wù)的對話語料。
為使第一訓(xùn)練語料具有更強的參考性,可以獲取對話成功的對話語料作為第一訓(xùn)練語料。其中,對話成功的對話語料的確定方式可以有多種。例如,服務(wù)器至少可以采用以下三種確定方式進(jìn)行確定:
判斷方式1、當(dāng)任一對話語料中存在對話成功的關(guān)鍵詞時,服務(wù)器將該對話語料確定為對話成功的對話語料。
其中,本發(fā)明實施例對對話成功的關(guān)鍵詞不做限定。例如,考慮到對話成功時,用戶通常會表達(dá)謝意,因此該對話成功的關(guān)鍵詞可以為:好的、謝謝。又例如,在對話成功時聊天機器人的答復(fù)也可能包括一些對話成功的關(guān)鍵詞,如:沒問題,不用謝。
判斷方式2,當(dāng)任一對話語料中存在對話失敗的關(guān)鍵詞時,服務(wù)器篩選掉該對話語料,并確定剩余的對話語料為對話成功的對話語料。
其中,本發(fā)明實施例對對話失敗的關(guān)鍵詞不做限定。例如,考慮到對話失敗時用戶可能會提醒聊天機器人理解錯誤,則該對話失敗的關(guān)鍵詞可以為:你錯了,不是這個意思。又例如,對話失敗時聊天機器人的答復(fù)也可能包括一些對話成功的關(guān)鍵詞,如:別介意,沒有理解您的意思,請再說一遍。
判斷方式3,當(dāng)任一對話預(yù)料存在對應(yīng)的服務(wù)記錄時,服務(wù)器將該對話語料確定為對話成功的對話語料。
考慮到當(dāng)某一對話語料存在對應(yīng)的服務(wù)記錄時,說明通過本次對話成功地為用戶提供了一次服務(wù),因此,可以將對應(yīng)存在服務(wù)記錄的對話語料作為對話成功的對話語料。
203、服務(wù)器根據(jù)第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,獲取第二文本提取模型。
基于第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,服務(wù)器可以將這兩個訓(xùn)練文本集合重新進(jìn)行訓(xùn)練,得到第二文本提取模型。
事實上,如果當(dāng)前的文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,服務(wù)器還可以繼續(xù)獲取訓(xùn)練文本集合,并基于已獲取的各個訓(xùn)練文本集合進(jìn)行訓(xùn)練,直到訓(xùn)練得到的文本提取模型的提取準(zhǔn)確度不低于預(yù)設(shè)閾值,該訓(xùn)練文本集合包括多個第二訓(xùn)練語料和通過當(dāng)前的文本提取模型從多個第二訓(xùn)練語料中提取的多個第二目標(biāo)文本。
例如,圖4是本發(fā)明實施例提供的一種迭代模型的流程圖,參見圖4,服務(wù)器可以根據(jù)步驟202中確定提取準(zhǔn)確度的方法來確定第二文本提取模型的提取準(zhǔn)確度,如果確定的提取準(zhǔn)確度不低于預(yù)設(shè)閾值,則確定該第二文本提取模型可使用,如果確定的提取準(zhǔn)確度低于預(yù)設(shè)閾值,則繼續(xù)獲取訓(xùn)練文本集合,該訓(xùn)練文本集合的具體獲取過程與第二訓(xùn)練文本集合的具體獲取過程同理,并基于已獲取的第一訓(xùn)練文本集合、第二訓(xùn)練文本集合和該訓(xùn)練文本集合進(jìn)行訓(xùn)練,從而得到一個準(zhǔn)確度更高的文本提取模型,并再次確認(rèn)該文本提取模型的提取準(zhǔn)確度,如果該文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,則繼續(xù)獲取訓(xùn)練文本集合,直到通過迭代的方式得到的文本提取模型的提取準(zhǔn)確度不低于預(yù)設(shè)閾值為止。
需要說明的是,在服務(wù)器獲取到最終的文本提取模型之后,既可以暫存該文本提取模型、等待應(yīng)用該文本提取模型的指令,也可以直接應(yīng)用將該文本提取模型,如,將該文本提取模型應(yīng)用于聊天機器人,或者,將該文本提取模型更新至用戶所在終端上的智能聊天應(yīng)用。
本發(fā)明實施例通過獲取第一文本提取模型,在第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值時,獲取第二訓(xùn)練文本集合,該第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過第一文本提取模型從多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本,從而通過已獲取的第一文本提取模型得到第二訓(xùn)練文本集合,而無需人工標(biāo)注,進(jìn)一步地,根據(jù)第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,獲取第二文本提取模型,使得獲取文本提取模型的過程趨于自動化,由于通過模型獲取訓(xùn)練文本集合的效率遠(yuǎn)高于人工標(biāo)注的效率,因此采用本發(fā)明的獲取方法可以大大減少人力成本和時間成本。
另外,提供了獲取第二訓(xùn)練文本集合的具體方法,通過獲取第一訓(xùn)練語料,并通過第一文本提取模型從第一訓(xùn)練語料中提取出第一文本,如果第一文本正確,則直接將第一訓(xùn)練語料和第一文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本,如果第一文本錯誤,則將人工修正的文本和第一訓(xùn)練語料獲取為第二訓(xùn)練文本集合中的一對訓(xùn)練文本,由于第二訓(xùn)練文本集合通過第一文本提取模型得到、且人工進(jìn)行確認(rèn),因此在保證了第二訓(xùn)練文本集合的獲取效率的同時,也保證了第二訓(xùn)練文本集合的準(zhǔn)確性。
另外,提供了至少兩種獲取第一訓(xùn)練語料的具體方法,如,為了保證對話語料的有效性,可以從聊天數(shù)據(jù)庫中獲取預(yù)設(shè)時段內(nèi)的對話語料,或者,為使第一訓(xùn)練語料具有更強的參考性,可以獲取聊天數(shù)據(jù)庫中對話成功的對話語料。
另外,提供了確定提取準(zhǔn)確度的具體方法,通過獲取測試文本集合,通過第一文本提取模型從測試語料中提取出第二文本,并確定與任一正確文本相同的第二文本的數(shù)量,和多個正確文本的數(shù)量,將前者與后者的比例確定為第一文本提取模型的提取準(zhǔn)確度,從而提供了測試第一文本提取模型是否達(dá)標(biāo)的具體方法。
另外,在獲取第二文本提取模型之后,還可以確定當(dāng)前的文本提取模型的提取準(zhǔn)確度,如果當(dāng)前的文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,則繼續(xù)獲取訓(xùn)練文本集合,并基于以獲取的各個訓(xùn)練文本集合進(jìn)行訓(xùn)練,直到訓(xùn)練得到的文本提取模型的提取度不低于預(yù)設(shè)閾值,從而通過迭代的方式不斷優(yōu)化已獲取的文本提取模型,以最終得到一個提取準(zhǔn)確度較高的文本提取模型。
圖5是本發(fā)明實施例提供的一種獲取文本提取模型的裝置框圖。參見圖5,該裝置具體包括:
模型獲取模塊501,用于獲取第一文本提取模型,第一文本提取模型根據(jù)人工標(biāo)注的第一訓(xùn)練文本集合得到;
訓(xùn)練文本集合獲取模塊502,用于如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,獲取第二訓(xùn)練文本集合,第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過第一文本提取模型從多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本;
模型獲取模塊501,還用于根據(jù)第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,獲取第二文本提取模型。
本發(fā)明實施例通過獲取第一文本提取模型,在第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值時,獲取第二訓(xùn)練文本集合,該第二訓(xùn)練文本集合包括多個第一訓(xùn)練語料和通過第一文本提取模型從多個第一訓(xùn)練語料中提取的多個第一目標(biāo)文本,從而通過已獲取的第一文本提取模型得到第二訓(xùn)練文本集合,而無需人工標(biāo)注,進(jìn)一步地,根據(jù)第一訓(xùn)練文本集合和第二訓(xùn)練文本集合,獲取第二文本提取模型,使得獲取文本提取模型的過程趨于自動化,由于通過模型獲取訓(xùn)練文本集合的效率遠(yuǎn)高于人工標(biāo)注的效率,因此采用本發(fā)明的獲取方法可以大大減少人力成本和時間成本。
在一種可能實現(xiàn)方式中,該訓(xùn)練文本集合獲取模塊502用于:
如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,獲取多個第一訓(xùn)練語料;對于多個第一訓(xùn)練語料中的每個第一訓(xùn)練語料,通過第一文本提取模型從第一訓(xùn)練語料中提取出第一文本;如果第一文本正確,將第一訓(xùn)練語料和第一文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本;如果第一文本錯誤,將第一訓(xùn)練語料和人工修正的文本作為第二訓(xùn)練文本集合中的一對訓(xùn)練文本。
在一種可能實現(xiàn)方式中,該訓(xùn)練文本集合獲取模塊502用于:
如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,從聊天數(shù)據(jù)庫中獲取預(yù)設(shè)時段內(nèi)的對話語料,將預(yù)設(shè)時段內(nèi)的對話預(yù)料作為多個第一訓(xùn)練語料,聊天數(shù)據(jù)庫用于存儲用戶與聊天機器人之間的對話語料。
在一種可能實現(xiàn)方式中,該訓(xùn)練文本集合獲取模塊502用于:
如果第一文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,從聊天數(shù)據(jù)庫中篩選出對話成功的對話語料,將對話成功的對話預(yù)料作為多個第一訓(xùn)練語料,聊天數(shù)據(jù)庫用于存儲用戶與聊天機器人之間的對話語料,對話成功的對話語料是指聊天機器人成功為用戶提供服務(wù)的對話語料。
在一種可能實現(xiàn)方式中,基于圖5的裝置組成,參見圖6,該裝置還包括:
測試文本集合獲取模塊503,用于獲取測試文本集合,測試文本集合包括多個測試語料和人工從多個測試語料中標(biāo)注出的多個正確文本;
提取模塊504,用于對于多個測試語料中的每個測試語料,通過第一文本提取模型從測試語料中提取出第二文本;
確定模塊505,用于將與任一正確文本相同的第二文本和多個正確文本的數(shù)量比例確定為第一文本提取模型的提取準(zhǔn)確度。
在一種可能實現(xiàn)方式中,該訓(xùn)練文本集合獲取模塊502,還用于如果當(dāng)前的文本提取模型的提取準(zhǔn)確度低于預(yù)設(shè)閾值,繼續(xù)獲取訓(xùn)練文本集合;
該模型獲取模塊501,還用于基于已獲取的各個訓(xùn)練文本集合進(jìn)行訓(xùn)練,直到訓(xùn)練得到的文本提取模型的提取準(zhǔn)確度不低于預(yù)設(shè)閾值,訓(xùn)練文本集合包括多個第二訓(xùn)練語料和通過當(dāng)前的文本提取模型從多個第二訓(xùn)練語料中提取的多個第二目標(biāo)文本。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實施例,在此不再一一贅述。
需要說明的是:上述實施例提供的獲取文本提取模型的裝置在獲取文本提取模型時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的獲取文本提取模型的裝置與獲取文本提取模型的方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
圖7是本發(fā)明實施例提供的一種獲取文本提取模型的裝置700的框圖。例如,裝置700可以被提供為一服務(wù)器。參照圖7,裝置700包括處理組件722,其進(jìn)一步包括一個或多個處理器,以及由存儲器732所代表的存儲器資源,用于存儲可由處理部件722的執(zhí)行的指令,例如應(yīng)用程序。存儲器732中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件722被配置為執(zhí)行指令,以執(zhí)行上述圖2所示實施例中獲取文本提取模型的方法。
裝置700還可以包括一個電源組件726被配置為執(zhí)行裝置700的電源管理,一個有線或無線網(wǎng)絡(luò)接口750被配置為將裝置700連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口758。裝置700可以操作基于存儲在存儲器732的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。