本發(fā)明涉及自然語言處理領(lǐng)域,具體涉及一種文本分類方法及系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展以及互聯(lián)網(wǎng)的快速普及,人們面對的信息量越來越多,在獲取到豐富信息的同時(shí),也帶來信息困擾,即很多非目標(biāo)信息充斥其中,這導(dǎo)致人們需要通過瀏覽所有的信息,以選擇出有用的或者感興趣的信息,給用戶帶來了極大的不便。人們所面臨的信息中大部分都是文本信息,如何在眾多的文本數(shù)據(jù)中快速、高效地找出自己所需要的文本數(shù)據(jù)成為迫切需要解決的問題。
為了解決上述問題,產(chǎn)生了文本自動分類技術(shù),所述文本分類指依據(jù)文本的內(nèi)容,根據(jù)自動分類算法把大量文本判斷并歸類為預(yù)先定義好的一個(gè)或多個(gè)類別的過程?,F(xiàn)有文本分類方法通常通過提取文本數(shù)據(jù)的詞特征,利用預(yù)先訓(xùn)練好的分類模型進(jìn)行文本分類,得到文本數(shù)據(jù)的文本類別。一種文本分類方法的流程圖如圖1所示,包括:1.接收待分類文本數(shù)據(jù);2.對待分類文本數(shù)據(jù)進(jìn)行分詞處理,得到文本數(shù)據(jù)的詞特征;3.以句為單位對待分類文本數(shù)據(jù)的長度進(jìn)行規(guī)整;4.利用預(yù)先訓(xùn)練好的詞向量模型,將規(guī)整后的文本數(shù)據(jù)的詞特征向量化,得到文本數(shù)據(jù)的詞向量;5.利用預(yù)先訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型對文本數(shù)據(jù)進(jìn)行分類?,F(xiàn)有文本分類方法只是簡單的把文本數(shù)據(jù)包含的詞特征堆積起來作為分類模型的輸入,這樣會丟失文本數(shù)據(jù)中大量的其它特征信息,使得輸入特征過于單一,不能從多角度表達(dá)文本數(shù)據(jù)的語義信息等,導(dǎo)致文本數(shù)據(jù)的信息丟失過多使得文本分類的準(zhǔn)確度降低。此外,現(xiàn)有文本分類方法輸入的詞特征中,噪聲過多,如表現(xiàn)形式多樣化的數(shù)詞或停用詞等,增加了詞特征的噪聲,進(jìn)一步降低了文本分類的準(zhǔn)確度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種文本分類方法及系統(tǒng),以解決現(xiàn)有文本分類方法不能從多角度表達(dá)文本數(shù)據(jù)的語義信息,導(dǎo)致文本分類的準(zhǔn)確度低的問題。
為此,本發(fā)明實(shí)施例提供如下技術(shù)方案:
一種文本分類方法,包括:
預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型,所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征;
獲取待分類文本數(shù)據(jù);
提取待分類文本數(shù)據(jù)的分類特征;
將所述分類特征輸入所述文本分類模型,得到待分類文本數(shù)據(jù)的文本類別。
優(yōu)選地,所述預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型包括:
收集訓(xùn)練文本數(shù)據(jù),所述訓(xùn)練文本數(shù)據(jù)為具有文本類別標(biāo)注信息的文本數(shù)據(jù);
提取所述訓(xùn)練文本數(shù)據(jù)的分類特征;
確定基于分類特征進(jìn)行文本分類的文本分類模型的拓?fù)浣Y(jié)構(gòu);
基于所述訓(xùn)練文本數(shù)據(jù)和所述訓(xùn)練文本數(shù)據(jù)的分類特征,,訓(xùn)練得到所述文本分類模型。
優(yōu)選地,所述文本分類模型為多窗口卷積神經(jīng)網(wǎng)絡(luò)模型,所述文本分類模型的拓?fù)浣Y(jié)構(gòu)包括:輸入層、卷積層、池化層、全連接層以及輸出層,所述輸入層包含輸入模塊的個(gè)數(shù)不少于所述分類特征的種類個(gè)數(shù),,每個(gè)輸入模塊存在獨(dú)享的卷積層和池化層,每種分類特征輸入一個(gè)或多個(gè)輸入模塊,所述輸入模塊的大小根據(jù)待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)規(guī)整后長度以及輸入的各向量化后分類特征的維數(shù)確定。
優(yōu)選地,當(dāng)所述分類特征中一種或多種特征輸入多個(gè)輸入模塊時(shí),同一種分類特征輸入的多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小不同。
優(yōu)選地,提取待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)的分類特征包括:
對文本數(shù)據(jù)進(jìn)行分字和/或分詞,以及詞性標(biāo)注和/或依存句法分析,提取分類特征;
對文本數(shù)據(jù)的長度進(jìn)行規(guī)整;
將規(guī)整后的文本數(shù)據(jù)的分類特征向量化。
優(yōu)選地,所述方法還包括:
對文本數(shù)據(jù)的長度進(jìn)行規(guī)整之前,對超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化;和/或
刪除詞特征中的停用詞。
相應(yīng)地,還提供了一種文本分類系統(tǒng),包括:
模型構(gòu)建模塊,用于預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型,所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征;
獲取模塊,用于獲取待分類文本數(shù)據(jù);
提取模塊,用于提取待分類文本數(shù)據(jù)的分類特征;
分類模塊,用于將所述分類特征輸入所述文本分類模型,得到待分類文本數(shù)據(jù)的文本類別。
優(yōu)選地,所述模型構(gòu)建模塊包括:
收集單元,用于收集訓(xùn)練文本數(shù)據(jù),所述訓(xùn)練文本數(shù)據(jù)為具有文本類別標(biāo)注信息的文本數(shù)據(jù);
提取單元,用于提取所述訓(xùn)練文本數(shù)據(jù)的分類特征;
拓?fù)浯_定單元,用于確定基于分類特征進(jìn)行文本分類的文本分類模型的拓?fù)浣Y(jié)構(gòu);
訓(xùn)練單元,用于基于所述訓(xùn)練文本數(shù)據(jù)和所述訓(xùn)練文本數(shù)據(jù)的分類特征,訓(xùn)練得到所述文本分類模型。
優(yōu)選地,所述文本分類模型為多窗口卷積神經(jīng)網(wǎng)絡(luò)模型,所述文本分類模型的拓?fù)浣Y(jié)構(gòu)包括:輸入層、卷積層、池化層、全連接層以及輸出層,所述輸入層包含輸入模塊的個(gè)數(shù)不少于所述分類特征的種類個(gè)數(shù),,每個(gè)輸入模塊存 在獨(dú)享的卷積層和池化層,每種分類特征輸入一個(gè)或多個(gè)輸入模塊,所述輸入模塊的大小根據(jù)待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)規(guī)整后長度以及輸入的各向量化后分類特征的維數(shù)確定。
優(yōu)選地,當(dāng)所述分類特征中一種或多種特征輸入多個(gè)輸入模塊時(shí),同一種分類特征輸入的多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小不同。
優(yōu)選地,所述提取模塊包括:
特征提取單元,用于對文本數(shù)據(jù)進(jìn)行分字和/或分詞,以及詞性標(biāo)注和/或依存句法分析,提取分類特征;
規(guī)整單元,用于對文本數(shù)據(jù)的長度進(jìn)行規(guī)整;
向量化單元,用于將規(guī)整后文本數(shù)據(jù)的分類特征向量化。
優(yōu)選地,所述提取模塊還包括:
抽象單元,用于在所述規(guī)整單元對文本數(shù)據(jù)的長度進(jìn)行規(guī)整之前,對超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化;和/或
停用詞刪除單元,用于刪除詞特征中的停用詞。
本發(fā)明實(shí)施例提供的文本分類方法及系統(tǒng),通過預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型;利用所述文本分類模型及從待分類文本數(shù)據(jù)中提取的分類特征,獲取待分類文本數(shù)據(jù)的文本類別。由于所述分類特征,包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征,這些特征能從多角度表達(dá)文本數(shù)據(jù)的語義信息等,使得分類特征能夠更完整的表達(dá)文本數(shù)據(jù)的信息,以便提升利用該分類特征進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
進(jìn)一步地,本發(fā)明實(shí)施例中所述文本分類模型可以采用卷積神經(jīng)網(wǎng)絡(luò)模型,所述文本分類模型的拓?fù)浣Y(jié)構(gòu)包括:輸入層、卷積層、池化層、全連接層以及輸出層,所述輸入層包含輸入模塊的個(gè)數(shù)不少于所述分類特征的種類個(gè)數(shù),每個(gè)輸入模塊存在獨(dú)享的卷積層和池化層,所述輸入模塊的大小根據(jù)待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)規(guī)整后長度以及輸入的各向量化后分類特征的維數(shù)確 定,可以適用于多種不同分類特征的同時(shí)輸入;進(jìn)一步地,所述文本分類模型還可以采用多窗口卷積神經(jīng)網(wǎng)絡(luò)模型,每種分類特征可以使用一個(gè)或多個(gè)輸入模塊輸入,當(dāng)某種分類特征使用多個(gè)輸入模塊輸入時(shí),該多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小不同,例如字特征使用兩個(gè)輸入模塊:輸入模塊1和輸入模塊2,輸入模塊1對應(yīng)卷積層的窗口大小為4,輸入模塊2卷積層的窗口大小為3,從而在卷積層得到了不同的字特征信息,這樣可以更全面地表達(dá)文本數(shù)據(jù)的語義信息等,從而進(jìn)一步提升利用該分類特征進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
進(jìn)一步地,本發(fā)明實(shí)施例在提取待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)的分類特征之后,對文本數(shù)據(jù)的長度進(jìn)行規(guī)整之前,對超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化和/或刪除詞特征中的停用詞,這樣可以有效減少詞特征的噪聲,進(jìn)一步保證提取詞特征的準(zhǔn)確性,從而提高了文本分類的準(zhǔn)確度。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)中文本分類方法的一種流程圖;
圖2是本發(fā)明實(shí)施例提供的文本分類方法的一種流程圖;;
圖3是本發(fā)明實(shí)施例構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型的一種流程圖;
圖4是本發(fā)明實(shí)施例提供的文本分類模型的拓?fù)浣Y(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提取數(shù)據(jù)的分類特征的一種流程圖;;
圖6是本發(fā)明實(shí)施例提供的文本分類系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的提取模塊的一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例的方案,下面結(jié)合附圖和實(shí)施方式對本發(fā)明實(shí)施例作進(jìn)一步的詳細(xì)說明。
如圖2所示,是本發(fā)明實(shí)施例提供的文本分類方法的一種流程圖,包括以下步驟:
步驟s01,預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型,所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征。
在本實(shí)施例中,所述文本分類模型可以將多種不同類型的分類特征作為輸入,根據(jù)預(yù)先設(shè)定的各分類特征的不同維數(shù),可以設(shè)定不同的輸入窗口(為了便于與卷積層的窗口進(jìn)行區(qū)別表示,以下以輸入模塊表示)的大小以輸入不同維數(shù)的分類特征。優(yōu)選地,所述文本分類模型為多窗口卷積神經(jīng)網(wǎng)絡(luò)模型,所述文本分類模型的拓?fù)浣Y(jié)構(gòu)包括:輸入層、卷積層、池化層、全連接層以及輸出層,所述輸入層包含的輸入模塊的個(gè)數(shù)不少于所述分類特征的種類個(gè)數(shù),每個(gè)輸入模塊存在獨(dú)享的卷積層和池化層,每種分類特征輸入一個(gè)或多個(gè)輸入模塊,所述輸入模塊的大小根據(jù)待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)規(guī)整后長度以及輸入的各向量化后分類特征的維數(shù)確定。
進(jìn)一步地,當(dāng)某種分類特征使用多個(gè)輸入模塊輸入時(shí),該多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小不同,這樣可以在卷積層得到該種分類特征的不同的特征信息,這樣可以更全面地表達(dá)文本數(shù)據(jù)的語義信息,從而進(jìn)一步提升利用該分類特征進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
如圖3所示,是本發(fā)明實(shí)施例構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型的一種流程圖。
在本實(shí)施例中,所述預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型包括:
步驟s31,收集訓(xùn)練文本數(shù)據(jù),所述訓(xùn)練文本數(shù)據(jù)為具有文本類別標(biāo) 注信息的文本數(shù)據(jù)。
在本實(shí)施例中,文本類別標(biāo)注信息可以是通過人工標(biāo)注的方式對收集的數(shù)據(jù)進(jìn)行標(biāo)注,當(dāng)然也可以是直接收集已經(jīng)具有文本類別標(biāo)注信息的文本數(shù)據(jù)。需要說明的是,所述文本數(shù)據(jù)可以為包含多個(gè)領(lǐng)域的通用文本數(shù)據(jù),也可以為只包含一個(gè)領(lǐng)域的定制文本數(shù)據(jù),所述待分類文本數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用需求定制,如待分類文本為智能客服相關(guān)文本數(shù)據(jù),標(biāo)注的文本類別可以根據(jù)業(yè)務(wù)分為查詢話費(fèi)、查詢流量、辦理流量、查詢套餐。
步驟s32,提取所述訓(xùn)練文本數(shù)據(jù)的分類特征。
在本實(shí)施例中,可以以句為單位,提取收集得到的文本數(shù)據(jù)的分類特征。具體可以包括分字、分詞、詞性標(biāo)注以及依存句法分析等步驟,詳細(xì)參照步驟s03。
步驟s33,確定基于分類特征進(jìn)行文本分類的文本分類模型的拓?fù)浣Y(jié)構(gòu)。
所述文本分類模型采用多窗口卷積神經(jīng)網(wǎng)絡(luò)表示,其拓?fù)浣Y(jié)構(gòu)可以如圖4所示,所述多窗口卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、卷積層、池化層、全連接層及輸出層,所述多窗口指每種分類特征可以使用多個(gè)輸入模塊輸入,同一種分類特征輸入的多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小可以不同,即多窗口。
為了適應(yīng)不同類型分類特征的同時(shí)輸入,輸入層包含多個(gè)輸入模塊,每種類型的分類特征可以使用一個(gè)或多個(gè)輸入模塊輸入,以下以字特征為例進(jìn)行說明,如圖4所示,當(dāng)字特征使用兩個(gè)輸入模塊輸入時(shí),這兩個(gè)輸入模塊的輸入相同,都為字特征向量。每個(gè)輸入模塊根據(jù)該模塊對應(yīng)輸入特征向量的維數(shù)和文本數(shù)據(jù)規(guī)整后的長度確定輸入模塊的大小,例如對于字特征,規(guī)整后文本數(shù)據(jù)包含50個(gè)字特征,字特征向量為128維,則輸入模塊的大小為50行128列,即50*128。每個(gè)輸入模塊存在獨(dú)享的卷積層和池化層,當(dāng)同一種分類特征使用多個(gè)模塊輸入時(shí),輸入模塊的卷積層輸入窗口大小不同,從而可以得到同一種分類特征不同的特征信息;如字特征使用兩個(gè)輸入模塊:輸入模塊1和輸入模塊2,輸入模塊1對應(yīng)的卷積 層的窗口大小為4,輸入模塊2對應(yīng)的卷積層的窗口大小為3,從而在卷積層得到不同的字特征的信息。所有輸入模塊對應(yīng)的池化層使用一個(gè)全連接層連接,最后通過輸出層獲取輸出結(jié)果。
所述文本分類模型的運(yùn)算過程可以如下所示:
將每個(gè)文本數(shù)據(jù)的每種分類特征分別作為每個(gè)輸入模塊的輸入特征,使用vi表示第i個(gè)輸入模塊的輸入特征,該輸入模塊對應(yīng)的卷積層對輸入特征vi進(jìn)行濾波后,得到卷積層的輸出特征為yi,然后經(jīng)過池化層的計(jì)算后,得到池化層的輸出特征為zi,在得到每個(gè)輸入模塊對應(yīng)池化層的輸出特征zi后,將所述輸出特征作為全連接層的輸入特征,經(jīng)過全連接層的轉(zhuǎn)換后,得到全連接層的輸出特征d,具體轉(zhuǎn)換方法如式(1)所示::
其中,m為輸入模塊總數(shù),wi和bi分別為第i個(gè)輸入模塊對應(yīng)池化層到全連接層的轉(zhuǎn)換矩陣和偏置項(xiàng),即需要訓(xùn)練的模型參數(shù),f為激活函數(shù),通常使用tanh函數(shù),即正切函數(shù),當(dāng)然,也可以使用其它激活函數(shù),例如sigmoid函數(shù)。
最后將全連接層的輸出特征作為輸出層的輸入特征,經(jīng)過輸出層的轉(zhuǎn)換后,得到當(dāng)前文本數(shù)據(jù)屬于每個(gè)類別的概率p,即輸出特征,所述輸出層的轉(zhuǎn)換方法可以如式(2)所示:
p=f(wd+b)(2)
其中,w和b分別為全連接層到輸出層的轉(zhuǎn)換矩陣和偏置項(xiàng),f為激活函數(shù),通常使用softmax函數(shù)等。
步驟s34,基于所述訓(xùn)練文本數(shù)據(jù)和所述訓(xùn)練文本數(shù)據(jù)的分類特征,訓(xùn)練得到所述文本分類模型。
具體訓(xùn)練時(shí),首先對神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型上的每個(gè)連接的權(quán)重值進(jìn)行隨機(jī)初始化或直接初始化為0等;訓(xùn)練時(shí)將提取的文本數(shù)據(jù)的分類特征作為多窗口卷積神經(jīng)網(wǎng)絡(luò)的輸入特征,輸出為當(dāng)前文本數(shù)據(jù)是每個(gè)類別的概 率,將當(dāng)前文本數(shù)據(jù)人工標(biāo)注的類別作為正確的類別,其它類別為錯(cuò)誤的類別,根據(jù)輸出結(jié)果可以得到當(dāng)前文本數(shù)據(jù)正確分類的概率和錯(cuò)誤分類的概率,以最大化正確分類概率和最小化錯(cuò)誤分類概率為準(zhǔn)則,采用逆向誤差傳播方法進(jìn)行模型參數(shù)的訓(xùn)練,具體訓(xùn)練過程與現(xiàn)有技術(shù)相同,本案不再詳述。
在本實(shí)施例中,所述文本分類模型的各參數(shù),主要為每個(gè)輸入模塊輸入分類特征的轉(zhuǎn)換矩陣以及偏置項(xiàng)。
步驟s02,獲取待分類文本數(shù)據(jù)。
所述文本數(shù)據(jù)包括但不限于:媒體新聞、科技、報(bào)告、電子郵件、技術(shù)專利、網(wǎng)頁、書籍或其中的一部分。在本實(shí)施例中,文本數(shù)據(jù)可以為包含多個(gè)領(lǐng)域的通用文本數(shù)據(jù),也可以為只包含一個(gè)領(lǐng)域的定制文本數(shù)據(jù),如接收的文本數(shù)據(jù)為智能客服相關(guān)文本數(shù)據(jù),文本類別可以根據(jù)業(yè)務(wù)分為查詢話費(fèi)、查詢流量、辦理流量、查詢套餐等。
步驟s03,提取待分類文本數(shù)據(jù)的分類特征。
在本實(shí)施例中,如圖5所示,提取數(shù)據(jù)的分類特征可以包括以下步驟:
步驟s51,對文本數(shù)據(jù)進(jìn)行分字和/或分詞,以及詞性標(biāo)注和/或依存句法分析,提取分類特征。
在一個(gè)具體實(shí)施例中,可以以句為單位,提取收集得到的文本數(shù)據(jù)的分類特征,所述分類特征共四種類型,即待分類文本數(shù)據(jù)的字特征、詞特征、詞性特征及依存句法特征。具體提取時(shí),首先去除每句文本數(shù)據(jù)中的無意義字符及非法字符,所述無意義字符如“#”、“@”,所述非法字符如“\”、“/”,得到純文本數(shù)據(jù)后。
隨后將純文本數(shù)據(jù)按字切分,得到待分類文本數(shù)據(jù)的單字,作為文本數(shù)據(jù)的字特征,如文本數(shù)據(jù)“取消已經(jīng)開通的十元一百兆的流量”,按字切分后得到的單字特征為“取消已經(jīng)開通的十元一百兆的流量”。
接著,對所述純文本數(shù)據(jù)進(jìn)行分詞,得到文本數(shù)據(jù)的詞特征,可以采用現(xiàn)有的分詞方法進(jìn)行分詞及詞性標(biāo)注,如基于條件隨機(jī)場對純文本數(shù)據(jù)進(jìn)行分詞 及詞性標(biāo)注,得到文本數(shù)據(jù)的詞特征及詞性特征,如文本數(shù)據(jù)“取消已經(jīng)開通的十元一百兆的流量”,經(jīng)過分詞和詞性標(biāo)注后得到的詞特征和詞性特征為“取消/v已經(jīng)/d開通/v的/u十/m元/q一百/m兆/q的/u流量/n”,其中每個(gè)詞的詞性特征分別為“vdvumqmqun”,字符表示詞性,n表示名詞,m表示數(shù)詞,v表示動詞,u表示助詞,q表示量詞,d表示副詞。
最后對分詞和詞性標(biāo)注后的文本數(shù)據(jù)進(jìn)行依存句法分析,,所述依存句法分析指針對給定的句子使用某一依存句法對自然語言進(jìn)行自動分析構(gòu)建句子對應(yīng)依存句法樹的一種方法,具體可以采用現(xiàn)有方法進(jìn)行依存句法分析。當(dāng)然,也可以基于一些公開的依存句法分析工具進(jìn)行分析,如基于斯坦福自然語言處理工具(stanfordparser)、哈工大ltp分析工具等對每句文本進(jìn)行依存句法分析,得到每句文本中詞與詞之間的依存關(guān)系,將所述依存關(guān)系作為文本數(shù)據(jù)的依存句法特征。
如“取消/v已經(jīng)/d開通/v的/u十/m元/q一百/m兆/q的/u流量/n”進(jìn)行依存句法分析后,得到該句中詞與詞之間的依存關(guān)系如下:
root(root-0,取消-1)
adv(開通-3,已經(jīng)-2)
att(流量-10,開通-3)
rad(開通-3,的-4)
att(元-6,十-5)
att(流量-10,元-6)
att(兆-8,一百-7)
att(流量-10,兆-8)
rad(兆-8,的-9)
vob(取消-1,流量-10),
其中,括號前面的“att”、“vob”、“adv”、“rad”表示依存句法分析后得到的詞與詞之間的依存關(guān)系,括號中第一個(gè)詞表示依存句法樹中的父節(jié)點(diǎn)詞, 第二個(gè)詞表示依存句法樹中的子節(jié)點(diǎn)詞,每個(gè)詞后的數(shù)字表示詞在句子中的位置,root表示依存句法樹的根節(jié)點(diǎn),該節(jié)點(diǎn)為虛節(jié)點(diǎn),其與子節(jié)點(diǎn)之間的關(guān)系為root關(guān)系,即虛關(guān)系,文本數(shù)據(jù)的依存句法特征分別為“root、adv、att、rad、att、att、att、att、rad、vob”。root表示為虛關(guān)系,adv表示狀中結(jié)構(gòu),att表示定中關(guān)系,rad表示后附加關(guān)系,vob表示動賓關(guān)系。
步驟s52,對文本數(shù)據(jù)的長度進(jìn)行規(guī)整。
在本實(shí)施例中,將所有文本數(shù)據(jù)的長度規(guī)整到指定的長度。具體地,將每句待分類文本規(guī)整到指定文本長度,所述文本長度指文本包含的詞特征總數(shù),如果當(dāng)前文本數(shù)據(jù)的長度小于指定文本長度,則可以在當(dāng)前文本數(shù)據(jù)一端添加固定的詞特征,如使用“null”表示固定的詞特征直接添加到當(dāng)前文本數(shù)據(jù)的前端,直到當(dāng)前文本數(shù)據(jù)的長度與指定文本長度相同;如果當(dāng)前文本數(shù)據(jù)的長度大于指定文本長度,則直接從當(dāng)前文本數(shù)據(jù)的一端開始刪除詞特征,直至當(dāng)前文本數(shù)據(jù)的長度與指定文本長度相同。
例如,“取消已經(jīng)開通的十元一百兆的流量”,經(jīng)過分詞之后得到“取消/已經(jīng)/開通/的/十/元/一百/兆/的/流量”,當(dāng)前文本長度為10。
如果指定文本度為12時(shí),當(dāng)前文本長度小于指定文本長度,則對本句文本數(shù)據(jù)進(jìn)行規(guī)整時(shí),從當(dāng)前文本數(shù)據(jù)的一端補(bǔ)充兩個(gè)詞特征,,如從前端補(bǔ)充,得到規(guī)整后的文本數(shù)據(jù)為“null/null/取消/已經(jīng)/開通/的/十/元/一百/兆/的/流量”,其中,“null”表示固定的詞特征。
如果指定文本長度為8時(shí),當(dāng)前文本長度大于指定文本長度,則對本句文本數(shù)據(jù)進(jìn)行規(guī)整時(shí),從當(dāng)前文本數(shù)據(jù)的一端刪除兩個(gè)詞特征,,如從前端刪除,得到規(guī)整后的文本數(shù)據(jù)為“開通/的/十/元/一百/兆/的/流量”。
步驟s53,將規(guī)整后的文本數(shù)據(jù)的分類特征向量化。
在本實(shí)施例中,利用預(yù)先訓(xùn)練好的詞向量模型,將規(guī)整后的文本數(shù)據(jù)的分類特征向量化,得到文本數(shù)據(jù)的分類特征向量。具體向量化時(shí),每個(gè)類型的分類特征單獨(dú)向量化,向量化后的維數(shù)可以相同,也可以不同,具體維數(shù)可以根據(jù)每種分類特征的取值數(shù)確定,如字特征的取值較多,常用的字約有5000多 個(gè),字特征的取值有5000多種。
在一個(gè)具體實(shí)施例中,字特征及詞特征可以直接使用word2vec技術(shù)向量化,由于字特征或詞特征的取值較多,因此,向量維數(shù)可以設(shè)置大一些,如設(shè)置為128維;詞性特征及依存句法特征的取值較少,可以使用較少維數(shù)表示,如使用64維表示,直接使用相應(yīng)維數(shù)的向量表示,向量的初始值可以采用隨機(jī)初始化的方法得到。
進(jìn)一步地,為了提升提取詞特征的準(zhǔn)確性,以提高文本分類的準(zhǔn)確度,本實(shí)施例還可以對數(shù)詞等表現(xiàn)形式多樣化的詞特征進(jìn)行抽象化和/或刪除無實(shí)際意義的停用詞等后處理,這樣可以有效減少詞特征的噪聲。例如,現(xiàn)有方法輸入的詞特征中噪聲過多,如表現(xiàn)形式多樣化的數(shù)詞或無實(shí)際意義的停用詞等,所述表現(xiàn)形式多樣化的數(shù)詞如“十元套餐”和“二十元套餐”中的“十元”和“二十元”都表示套餐金額,但具體表現(xiàn)形式不同,如果作為兩個(gè)不同的詞特征處理,增加了詞特征的噪聲。具體的,本實(shí)施例中可以對數(shù)據(jù)進(jìn)行分詞之后,對文本數(shù)據(jù)的長度進(jìn)行規(guī)整之前,對超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化和/或刪除詞特征中的停用詞。
在一個(gè)具體實(shí)施例中,首先對存在超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化,如對數(shù)詞、同義詞及上下位詞等詞特征進(jìn)行抽象化。在分詞得到的詞組中存在大量詞特征的表示形式較多,而每種表示形式的意義一般都相同或相近,每種表現(xiàn)形式的含義對文本分類的作用較小,甚至?xí)纬稍肼暎阂詳?shù)詞為例,如“我需要辦理一個(gè)十元的套餐”和“我需要辦理一個(gè)二十元的套餐”中的“十元”和“二十元”表現(xiàn)形式不同,但都是表示套餐金額,在文本分類時(shí)僅需要根據(jù)數(shù)字后的文本數(shù)據(jù)來判斷數(shù)字的含義即可,具體數(shù)值對文本分類意義較小,并且不同表現(xiàn)形式的數(shù)字容易增加文本數(shù)據(jù)的噪聲;如同義詞“查詢”,“咨詢”,“查一下”等詞特征的表現(xiàn)形式不同,但含義相同。因此,為了使提取的詞特征更準(zhǔn)確,本案對提取的詞特征進(jìn)行抽象化,將詞特征的多種表現(xiàn)形式統(tǒng)一為一種表現(xiàn)形式,具體抽象時(shí),根據(jù)預(yù)先構(gòu)建的詞集等,查找待分類文本中表現(xiàn)形式多樣的詞特征,將其抽象成相應(yīng)詞 特征的詞集名,所述詞集可以通過預(yù)先收集大量數(shù)據(jù),將每個(gè)詞的不同表現(xiàn)形式放到一個(gè)詞集中得到,每個(gè)詞集有相應(yīng)的詞集名;為了區(qū)分詞集名和普通詞特征,需要在抽象后的詞集名前添加抽象符號,如使用“@”表示抽象符號,抽象后的詞集名為“@數(shù)字”、“@時(shí)間”、“@地點(diǎn)”等,如文本數(shù)據(jù)的詞特征為“取消已經(jīng)開通的十元一百兆的流量”,抽象化后的詞特征為“取消已經(jīng)開通的@數(shù)字元@數(shù)字兆的流量”,其中數(shù)字為詞集名。
然后,刪除詞特征中的停用詞。為了減少文本數(shù)據(jù)的噪聲數(shù)據(jù),提高分類準(zhǔn)確度,本案還可以刪除文本數(shù)據(jù)的停用詞,所述停用詞指句子中出現(xiàn)頻率較高,但沒有實(shí)際含義的詞,如“的、那、這”等,具體可以通過預(yù)先建立停用詞表,通過文本匹配的方法,將文本數(shù)據(jù)中相應(yīng)停用詞刪除,當(dāng)然刪除停用詞的操作可以在詞特征抽象化之前或之后進(jìn)行,以在詞特征抽象化之后刪除停用詞為例,如抽象化后的詞特征為“取消已經(jīng)開通的@數(shù)字元@數(shù)字兆的流量”,刪除停用詞后的詞特征為“取消已經(jīng)開通@數(shù)字元@數(shù)字兆流量”,將停用詞“的”刪除了。然后將經(jīng)過后處理的文本數(shù)據(jù)進(jìn)行長度規(guī)整。
需要說明的是,提取訓(xùn)練文本數(shù)據(jù)的分類特征與提取待分類文本數(shù)據(jù)的分類特征的過程可以相同,在此不再詳述。
步驟s04,將所述分類特征輸入所述文本分類模型,得到待分類文本數(shù)據(jù)的文本類別。
在本實(shí)施例中,將待分類文本數(shù)據(jù)的分類特征輸入所述文本分類模型,經(jīng)過如步驟s33中示例的運(yùn)算過程后,由輸出層輸出文本分類結(jié)果。具體地,可以將輸出結(jié)果中概率最大的類別作為待分類文本數(shù)據(jù)的文本類型。
本發(fā)明實(shí)施例提供的文本分類方法,該方法在提取待分類文本數(shù)據(jù)的分類特征之后,利用預(yù)先構(gòu)建的文本分類模型對待分類文本數(shù)據(jù)的文本類型進(jìn)行預(yù)測。由于所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征,這些特征能從多角度表達(dá)文本 數(shù)據(jù)的語義信息等,因而可以更完整的表達(dá)文本數(shù)據(jù)的信息,能夠提升利用該分類特征進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
相應(yīng)地,本發(fā)明實(shí)施例還提供了一種文本分類系統(tǒng),如圖6所示,是該系統(tǒng)的一種結(jié)構(gòu)示意圖。
在該實(shí)施例中,所述系統(tǒng)包括:
模型構(gòu)建模塊601,用于預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型,所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征;
獲取模塊702,用于獲取待分類文本數(shù)據(jù);
提取模塊703,用于提取待分類文本數(shù)據(jù)的分類特征;
分類模塊704,用于將所述分類特征輸入所述文本分類模型,得到待分類文本數(shù)據(jù)的文本類別。
其中,所述模型構(gòu)建模塊601包括:
收集單元,用于收集訓(xùn)練文本數(shù)據(jù),所述訓(xùn)練文本數(shù)據(jù)為具有文本類別標(biāo)注信息的文本數(shù)據(jù);
提取單元,用于提取所述訓(xùn)練文本數(shù)據(jù)的分類特征;
拓?fù)浯_定單元,用于確定基于分類特征進(jìn)行文本分類的文本分類模型的拓?fù)浣Y(jié)構(gòu);
訓(xùn)練單元,用于基于所述訓(xùn)練文本數(shù)據(jù)和所述訓(xùn)練文本數(shù)據(jù)的分類特征,訓(xùn)練得到所述文本分類模型。在本實(shí)施例中,可以根據(jù)所述分類特征確定每個(gè)輸入模塊的大小。
優(yōu)選地,所述提取模塊703包括:
特征提取單元7031,用于對文本數(shù)據(jù)進(jìn)行分字和/或分詞,以及詞性標(biāo)注和/或依存句法分析,提取分類特征;
規(guī)整單元7032,用于對文本數(shù)據(jù)的長度進(jìn)行規(guī)整;
向量化單元7033,用于將規(guī)整后的文本數(shù)據(jù)的分類特征向量化。
在其它實(shí)施例中,如圖7所示,是本發(fā)明實(shí)施例提供的一種提取模塊的結(jié) 構(gòu)示意圖,為了減少詞特征的噪聲,以保證提取詞特征的準(zhǔn)確性,所述提取模塊還包括:
抽象單元7034,用于在所述規(guī)整單元對文本數(shù)據(jù)的長度進(jìn)行規(guī)整之前,對超過一種表示形式、且每種表示形式的意義相同或相近的詞特征進(jìn)行抽象化;和/或
停用詞刪除單元7035,用于刪除詞特征中的停用詞。
在本實(shí)施例中,所述文本分類模型為多窗口卷積神經(jīng)網(wǎng)絡(luò)模型,所述文本分類模型的拓?fù)浣Y(jié)構(gòu)包括:輸入層、卷積層、池化層、全連接層以及輸出層,所述輸入層包含輸入模塊的個(gè)數(shù)不少于所述分類特征的種類個(gè)數(shù),每個(gè)輸入模塊存在獨(dú)享的卷積層和池化層,每種分類特征輸入一個(gè)或多個(gè)輸入模塊,所述輸入模塊的大小根據(jù)待分類文本數(shù)據(jù)或訓(xùn)練文本數(shù)據(jù)規(guī)整后長度以及輸入的各向量化后分類特征的維數(shù)確定。其中,所述分類特征的字特征向量和詞特征向量的維數(shù)可以為128維,所述分類特征的詞性特征向量和依存句法特征向量的維數(shù)可以為64維。
進(jìn)一步地,當(dāng)所述分類特征中一種或多種特征輸入多個(gè)輸入模塊時(shí),同一種分類特征輸入的多個(gè)輸入模塊各自獨(dú)享的卷積層的輸入窗口大小不同。這樣可以更全面地表達(dá)文本數(shù)據(jù)的語義信息等,從而進(jìn)一步提升利用該分類特征進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
當(dāng)然,該系統(tǒng)還可以進(jìn)一步包括存儲模塊(未圖示),用于保存模型參數(shù)、分類特征等相關(guān)信息,如轉(zhuǎn)換矩陣、詞特征等。這樣,以方便計(jì)算機(jī)進(jìn)行自動處理。并可以用于存儲文本數(shù)據(jù)的文本類型。
本發(fā)明實(shí)施例提供的文本分類系統(tǒng),該系統(tǒng)通過模型構(gòu)建模塊601預(yù)先構(gòu)建基于分類特征進(jìn)行文本分類的文本分類模型,然后利用該模型以及提取模塊703獲取的待分類文本數(shù)據(jù)的分類特征,通過分類模塊704獲取待分類文本數(shù)據(jù)的文本類別。由于所述分類特征包括以下任意一種或多種:字特征、詞特征,還包括以下任意一種或多種:詞性特征、依存句法特征,這些特征能從多角度表達(dá)文本數(shù)據(jù)的語義信息等,因而提取模塊703獲取的分類特征能更完整的表 達(dá)文本數(shù)據(jù)的信息,能夠提升利用分類模塊704進(jìn)行文本類別預(yù)測的準(zhǔn)確度。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
以上對本發(fā)明實(shí)施例進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體實(shí)施方式對本發(fā)明進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及系統(tǒng);同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。