本發(fā)明屬于信息技術(shù)領(lǐng)域,具體涉及一種基于字模型的評(píng)論文本實(shí)體識(shí)別方法及裝置。
背景技術(shù):
評(píng)論文本是指用戶發(fā)布的對(duì)消費(fèi)產(chǎn)品或服務(wù)的點(diǎn)評(píng)文本,包括但不限于商品,店鋪,旅游景點(diǎn)等,具體如購物網(wǎng)站的產(chǎn)品評(píng)價(jià),旅游網(wǎng)站的旅游景點(diǎn)評(píng)論,觀影網(wǎng)站的電影評(píng)論等等。評(píng)論文本的實(shí)體識(shí)別是指從評(píng)論文本中找出用戶點(diǎn)評(píng)的對(duì)象。評(píng)論文本作為消費(fèi)用戶體驗(yàn)的直接反映,可以為產(chǎn)品或服務(wù)提供商,及其它消費(fèi)用戶提供重要參考。對(duì)該類文本的實(shí)體識(shí)別,可以快速方便地定位消費(fèi)產(chǎn)品或服務(wù)的評(píng)論信息,為相關(guān)決策提供有力依據(jù)。
用戶的評(píng)論文本不同于新聞文本,表述不規(guī)范,且包含很多噪音,使得傳統(tǒng)方法很難應(yīng)用到該類文本的實(shí)體識(shí)別中。具體來說,一方面,文本類型豐富多樣,語言碎片化嚴(yán)重,導(dǎo)致核心實(shí)體的位置分布極不規(guī)律。另一方面,不同的用戶表達(dá)方式,評(píng)論習(xí)慣差異巨大,對(duì)同一實(shí)體可能有多個(gè)完全不同的表達(dá)。鑒于以上兩點(diǎn)原因,規(guī)則匹配很難從評(píng)論文本中準(zhǔn)確識(shí)別出目標(biāo)實(shí)體。
現(xiàn)有的技術(shù)中,基于人工的方法準(zhǔn)確率相對(duì)較高,但成本高且無法處理海量文本;基于規(guī)則的匹配能識(shí)別的文本內(nèi)容很有限,只能識(shí)別出規(guī)范性表達(dá)的文本;基于分詞的方法會(huì)因?yàn)榭谡Z表達(dá)中的不規(guī)范,導(dǎo)致分詞結(jié)果不準(zhǔn)確,進(jìn)而影響識(shí)別效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于字模型的評(píng)論文本實(shí)體識(shí)別方法及裝置,可以從大規(guī)模、表達(dá)口語化的評(píng)論文本中準(zhǔn)確高效地提取文本中實(shí)體。
本發(fā)明提供的一種基于字模型的評(píng)論文本實(shí)體識(shí)別方法及裝置,針對(duì)多類型混合的評(píng)價(jià)性文本能有效地提取文本中的核心實(shí)體。該方法的主要步驟包括:使用標(biāo)注好的訓(xùn)練數(shù)據(jù)訓(xùn)練基于字的雙向LSTM(Long-Short Term Memory,長(zhǎng)短期記憶)模型;輸入評(píng)價(jià)性文本,使用訓(xùn)練好的雙向LSTM模型進(jìn)行核心實(shí)體識(shí)別;對(duì)上述模型輸出結(jié)果進(jìn)行字補(bǔ)齊,將補(bǔ)齊后的結(jié)果作為最后識(shí)別出的實(shí)體輸出;如果模型輸出結(jié)果為空,則通過實(shí)體詞典、文本分詞和詞性生成一個(gè)候選實(shí)體作為核心實(shí)體。該方法中訓(xùn)練基于字的雙向LSTM模型時(shí)要按字對(duì)訓(xùn)練文本進(jìn)行切分,同時(shí)截取定長(zhǎng)的上下文一起構(gòu)成字序列,同時(shí)采用采樣窗口機(jī)制,保證訓(xùn)練集中正負(fù)采樣數(shù)量的均衡。
具體來說,本發(fā)明采用的技術(shù)方案如下:
一種基于字模型的評(píng)論文本實(shí)體識(shí)別方法,其主要步驟包括:(1)訓(xùn)練模型:使用標(biāo)注好的訓(xùn)練數(shù)據(jù)訓(xùn)練基于字的雙向LSTM模型;(2)模型識(shí)別實(shí)體:使用訓(xùn)練好的基于字的雙向LSTM模型進(jìn)行核心實(shí)體識(shí)別;(3)字補(bǔ)齊:對(duì)于模型輸出結(jié)果非空的進(jìn)行字補(bǔ)齊,將補(bǔ)齊后的結(jié)果作為最后識(shí)別出的實(shí)體輸出;(4)生成候選實(shí)體:對(duì)于模型輸出結(jié)果為空的測(cè)試文本,通過文本分詞、詞性標(biāo)注和實(shí)體詞典生成一個(gè)候選實(shí)體作為核心實(shí)體。
進(jìn)一步地,步驟(1)訓(xùn)練模型時(shí)主要有以下幾步:
i)對(duì)于標(biāo)注好的訓(xùn)練文本,首先按照字進(jìn)行切分(連續(xù)的英文及數(shù)字整體作為一個(gè)字,標(biāo)點(diǎn)符號(hào)作為一個(gè)字),以每個(gè)字為中心截取定長(zhǎng)的上下文作為訓(xùn)練樣本,上下文長(zhǎng)度不足的補(bǔ)0處理;
ii)如果一個(gè)字序列的中心字屬于目標(biāo)核心實(shí)體,則該樣本為正樣本,否則為負(fù)樣本;
iii)按上述操作后,一條長(zhǎng)度為N的評(píng)價(jià)性文本被處理成N個(gè)定長(zhǎng)字序列,然后以核心實(shí)體首字和尾字為起點(diǎn)按定長(zhǎng)采樣窗口分別向前、向后選取字序列(長(zhǎng)度不足的忽略),連同核心實(shí)體對(duì)應(yīng)的字序列一起作為該評(píng)價(jià)性文本的訓(xùn)練樣本;
iv)訓(xùn)練樣本集按字切分后生成字典,并依據(jù)字頻對(duì)字進(jìn)行編號(hào),根據(jù)字編號(hào)將訓(xùn)練樣本轉(zhuǎn)為數(shù)字序列;
v)處理完所有帶標(biāo)注的文本,生成訓(xùn)練樣本集,訓(xùn)練雙向LSTM模型。將訓(xùn)練樣本集分為訓(xùn)練和驗(yàn)證兩部分,通過設(shè)置激活函數(shù)、損失函數(shù)等參數(shù)對(duì)LSTM模型進(jìn)行訓(xùn)練。
進(jìn)一步地,步驟(2)模型識(shí)別實(shí)體時(shí)主要有以下幾步:
對(duì)測(cè)試文本同樣進(jìn)行字切分,以每個(gè)字為中心截取定長(zhǎng)的上下文作為訓(xùn)練樣本,上下文長(zhǎng)度不足的補(bǔ)0處理,一條長(zhǎng)度為N的評(píng)價(jià)性文本被處理成N個(gè)定長(zhǎng)字序列,并依據(jù)訓(xùn)練集字典和編號(hào)轉(zhuǎn)化為數(shù)字序列(未登錄字編為0),將此N個(gè)序列輸入到訓(xùn)練好的雙向LSTM模型中進(jìn)行標(biāo)注。
進(jìn)一步地,步驟(3)對(duì)模型輸出的非空結(jié)果進(jìn)行字補(bǔ)齊時(shí),首先對(duì)測(cè)試文本進(jìn)行分詞,然后依據(jù)分詞結(jié)果找到能夠覆蓋模型輸出結(jié)果的最小分詞序列,最后依據(jù)詞性(如介詞、助詞、連詞、副詞等)等規(guī)則迭代刪除最小覆蓋序列的首尾詞。
進(jìn)一步地,步驟(4)對(duì)于模型輸出結(jié)果為空的測(cè)試文本,先對(duì)文本進(jìn)行分詞和詞性標(biāo)注,把分詞后的文本中首個(gè)滿足如下條件之一的詞作為候選實(shí)體:
i)在實(shí)體詞典中,其中實(shí)體詞典為用戶自定義的核心實(shí)體集;
ii)詞性為名詞且在測(cè)試集文本中,該詞詞頻不超過閾值。
一種基于字模型的評(píng)論文本實(shí)體識(shí)別裝置,其包括:
模型訓(xùn)練模塊,負(fù)責(zé)使用標(biāo)注好的訓(xùn)練數(shù)據(jù)訓(xùn)練基于字的雙向LSTM模型;
實(shí)體識(shí)別模塊,負(fù)責(zé)使用訓(xùn)練好的基于字的雙向LSTM模型對(duì)輸入的評(píng)價(jià)性文本進(jìn)行核心實(shí)體識(shí)別;
字補(bǔ)齊模塊,負(fù)責(zé)對(duì)基于字的雙向LSTM模型輸出的非空結(jié)果進(jìn)行字補(bǔ)齊,將補(bǔ)齊后的結(jié)果作為最終識(shí)別出的核心實(shí)體并輸出;
候選實(shí)體生成模塊,負(fù)責(zé)對(duì)基于字的雙向LSTM模型輸出的結(jié)果為空的評(píng)價(jià)性文本,通過文本分詞、詞性標(biāo)注和實(shí)體詞典生成一個(gè)候選實(shí)體作為核心實(shí)體。
利用本發(fā)明提供的方法識(shí)別評(píng)價(jià)性文本的核心實(shí)體,具有以下優(yōu)點(diǎn):
1、該方法通過基于字的雙向LSTM模型識(shí)別、基于分詞詞性的字補(bǔ)齊和基于詞典生成候選實(shí)體共同作用,解決了對(duì)多種語句描述風(fēng)格的海量評(píng)價(jià)性文本的核心實(shí)體識(shí)別,為用戶決策判斷提供有力依據(jù);
2、在訓(xùn)練雙向LSTM模型時(shí)采用字模型,有效地避免分詞錯(cuò)誤帶來的不利影響;
3、在訓(xùn)練雙向LSTM模型時(shí)使用采樣窗口機(jī)制,保證了訓(xùn)練集中正負(fù)采樣數(shù)量的均衡,從而減小了訓(xùn)練樣本體量,提高模型訓(xùn)練效率和有效性;
4、通過對(duì)雙向LSTM模型提取的實(shí)體進(jìn)行字補(bǔ)齊,可以充分利用模型得到的實(shí)體,同時(shí)補(bǔ)全目標(biāo)實(shí)體或刪去并非目標(biāo)實(shí)體的一些字,有效提高實(shí)體識(shí)別的準(zhǔn)確率。
5、對(duì)于模型未識(shí)別出的文本,可以借助實(shí)體詞典,通過文本分詞、詞性標(biāo)注生成候選實(shí)體,作為模型的有效補(bǔ)充。
附圖說明
圖1是本發(fā)明的面向評(píng)價(jià)性文本的核心實(shí)體識(shí)別方法的數(shù)據(jù)操作流程圖。
圖2是本發(fā)明的面向評(píng)價(jià)性文本的核心實(shí)體識(shí)別裝置的模塊組成圖。
具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面通過具體實(shí)施例和附圖,對(duì)本發(fā)明做進(jìn)一步說明。
實(shí)例:一種面向評(píng)價(jià)性文本的核心實(shí)體識(shí)別方法及裝置對(duì)于不同類型的評(píng)價(jià)性文本找出其中的核心實(shí)體,其總體流程如圖1所示,各功能模塊如圖2所示。以旅游評(píng)論為例,“春天,頤和園的風(fēng)景很美?!钡暮诵膶?shí)體為“頤和園”。
1)訓(xùn)練模型,使用標(biāo)注好的訓(xùn)練數(shù)據(jù)訓(xùn)練基于字的雙向LSTM模型。例如文本“北京很堵?!保诵膶?shí)體為“北京”。
i)對(duì)于標(biāo)注好的訓(xùn)練文本,首先按照字進(jìn)行切分(連續(xù)的英文及數(shù)字整體作為一個(gè)字,標(biāo)點(diǎn)符號(hào)作為一個(gè)字),以每個(gè)字為中心截取定長(zhǎng)的上下文作為訓(xùn)練樣本,上下文長(zhǎng)度不足的補(bǔ)0處理。
假設(shè)此處截取的上下文定長(zhǎng)為2,則句長(zhǎng)為5的文本“北京很堵?!笨梢赞D(zhuǎn)為如表1所示的5個(gè)序列(|為分隔符,標(biāo)粗為中心字):
表1.以每個(gè)字為中心截取定長(zhǎng)上下文后的序列
ii)如果一個(gè)字序列的中心字屬于標(biāo)注核心實(shí)體,則該樣本為正樣本,否則為負(fù)樣本。
此處“北京”為核心實(shí)體,因此“0|0|北|京|很”和“0|北|京|很|堵”為正樣本,其余為負(fù)樣本。
iii)按上述操作后,一條長(zhǎng)度為N的評(píng)價(jià)性文本被處理成N個(gè)定長(zhǎng)字序列,然后以核心實(shí)體首字和尾字為起點(diǎn)按定長(zhǎng)采樣窗口分別向前、向后選取字序列(長(zhǎng)度不足的忽略),連同核心實(shí)體對(duì)應(yīng)的字序列一起作為訓(xùn)練樣本。
假設(shè)采樣窗口為2,則由“北京很堵?!碑a(chǎn)生的訓(xùn)練樣本如表2所示:
表2.訓(xùn)練樣本
iv)訓(xùn)練集按字切分后統(tǒng)計(jì)字典并依據(jù)字頻對(duì)字進(jìn)行編號(hào),根據(jù)字編號(hào)將訓(xùn)練樣本轉(zhuǎn)為數(shù)字序列。
字典統(tǒng)計(jì)應(yīng)基于全體訓(xùn)練本文,編號(hào)從1開始,字的編號(hào)順序可隨意,此處按字頻由大到小依次編號(hào),如表3、表4所示:
v)處理完所有帶標(biāo)注的文本生成訓(xùn)練樣本集,訓(xùn)練雙向LSTM模型。
2)模型識(shí)別實(shí)體,使用訓(xùn)練好的雙向LSTM模型進(jìn)行核心實(shí)體識(shí)別。對(duì)測(cè)試文本同樣進(jìn)行字切分,以每個(gè)字為中心截取定長(zhǎng)的上下文作為訓(xùn)練樣本,上下文長(zhǎng)度不足的補(bǔ)0處理,一條長(zhǎng)度為N的評(píng)價(jià)性文本被處理成N個(gè)定長(zhǎng)字序列,并依據(jù)訓(xùn)練集字典和編號(hào)轉(zhuǎn)化為數(shù)字序列(未登錄字編為0),將此N個(gè)序列輸入到訓(xùn)練好的雙向LSTM模型中進(jìn)行標(biāo)注。
例如文本“廣州很熱?!苯?jīng)過上述操作可變?yōu)槿绫?所示的序列:
表5.測(cè)試文本的模型預(yù)測(cè)結(jié)果
使用訓(xùn)練好的雙向LSTM模型可以預(yù)測(cè)每個(gè)序列的類別,如上表輸入測(cè)試文本“廣州很熱?!?,模型最終輸出為序列“11000”,類別為1表示測(cè)試文本中對(duì)應(yīng)位置的字屬于實(shí)體,0則表示不屬于實(shí)體。選擇輸出序列中首個(gè)連續(xù)的1片段,通過對(duì)應(yīng)位置可以得出該句的核心實(shí)體為“廣州”。
如果模型輸出預(yù)測(cè)序列不為0,即模型識(shí)別出實(shí)體片段,則將模型結(jié)果輸出到步驟3)進(jìn)行字補(bǔ)齊;如果模型輸出預(yù)測(cè)序列均為0,即模型未識(shí)別出實(shí)體,則將測(cè)試文本輸出到步驟4)。
3)字補(bǔ)齊,首先對(duì)測(cè)試文本進(jìn)行分詞,然后依據(jù)分詞結(jié)果找到能夠覆蓋模型輸出結(jié)果的最小分詞序列,最后依據(jù)詞性(如介詞、助詞、連詞、副詞等)等規(guī)則迭代刪除最小覆蓋序列的首尾詞。
例如測(cè)試文本“廈大確實(shí)很美?!睂?shí)際上核心實(shí)體為“廈大”。但模型輸出序列為“1111000”,即模型給出的實(shí)體為“廈大確實(shí)”。
對(duì)模型輸出進(jìn)行字補(bǔ)齊,首先通過分詞工具對(duì)該句分詞,可以得到分詞結(jié)果為“廈大|確實(shí)|很|美|?!?,其中覆蓋模型輸出的分詞序列是“廈大|確實(shí)”。最后依據(jù)該序列的詞性,“廈大”為名詞,“確實(shí)”為副詞,實(shí)體序列的首詞為名詞是可能的,序列的尾詞為副詞則不可能,因此刪去“確實(shí)”,得到最終的實(shí)體為“廈大”。
4)生成候選實(shí)體,對(duì)于模型未識(shí)別出核心實(shí)體的文本,通過實(shí)體詞典、文本分詞、詞性標(biāo)注生成一個(gè)候選實(shí)體作為核心實(shí)體。要求候選實(shí)體在實(shí)體詞典中或者為首個(gè)名詞且詞頻不大于閾值。
例如測(cè)試文本“廈大確實(shí)很美。”,分詞結(jié)果為“廈大|確實(shí)|很|美|?!保绻麑?shí)體詞典中存在“廈大”則將其作為核心實(shí)體,否則尋找分詞后首個(gè)名詞。由于評(píng)價(jià)文本中會(huì)出現(xiàn)大量諸如“照片、汽車、電影”等泛指名詞,而真正的評(píng)價(jià)對(duì)象往往不會(huì)頻繁地出現(xiàn),所以設(shè)置一個(gè)詞頻閾值,挑選詞頻低的首個(gè)名詞作為候選實(shí)體。
以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,本領(lǐng)域的普通技術(shù)人員可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所述為準(zhǔn)。