車型實體識別

1 命名實體識別模型介紹

諸如中文分詞、詞性標(biāo)注、命名實體等問題均屬于序列標(biāo)簽標(biāo)注問題。經(jīng)典的模型有HMM,MEMM,CRF模型,這些都是比較傳統(tǒng)的方法,三種模型各有優(yōu)劣,HMM模型假設(shè)觀測獨(dú)立,不依賴觀測之間的序列特征,MEMM雖然加入了觀測序列之間的跳轉(zhuǎn)特征,但由于采用了局部歸一化引入了標(biāo)記偏置的問題,最后CRF采用全局歸一化從而彌補(bǔ)了HMM和MEMM的缺點(diǎn),但是計算量卻比較大。
隨著深度學(xué)習(xí)的興起,將CNN和RNN模型應(yīng)用到標(biāo)簽標(biāo)注問題上,取得了不俗的結(jié)果。比較各模型的結(jié)果,一般來說, DNN之前,CRF的結(jié)果最好,應(yīng)用中也最為廣泛, DNN這把神器出來后,state-of-the-art的結(jié)果均已被DNN的各種模型占領(lǐng)。DNN重在特征的自學(xué)習(xí),將DNN學(xué)習(xí)到的特征送入到CRF中是一個很自然的思路。下面介紹NeuroCRF命名實體識別模型,望文知義,就是神經(jīng)網(wǎng)絡(luò)+CRF的模型,這里的神經(jīng)網(wǎng)絡(luò)采用的是BI-LSTM網(wǎng)絡(luò),該模型的結(jié)果是我在實際測試中表現(xiàn)最好的。(CNN+CRF模型沒有測試,聽說表現(xiàn)不俗。)NeuroCRF的出處和代碼見底部的鏈接。


1.1 LSTM 與 CRF融合

LSTM與CRF融合時,LSTM層負(fù)責(zé)特征提取(和所有的深度網(wǎng)絡(luò)一樣),但也只是對輸入數(shù)據(jù)X進(jìn)行加工,未對輸入數(shù)據(jù)X對應(yīng)的輸出標(biāo)簽y進(jìn)行加工,因此在LSTM網(wǎng)絡(luò)輸出層追加一層CRF層,通過CRF層對標(biāo)簽之間的跳轉(zhuǎn)特征進(jìn)行加工,這里的CRF模型選用的是線性鏈CRF模型。

圖1 LSTM+CRF

結(jié)合圖1的表述來說。首先將輸入數(shù)據(jù)X輸入到Bi-LSMT網(wǎng)絡(luò)中,網(wǎng)絡(luò)的輸出P的一行表示為某個word對應(yīng)的每種tag的分值。將這個P送入到CRF層中,實際上所起的作用就是CRF中的狀態(tài)特征或者發(fā)射特征,通過CRF學(xué)習(xí)的tag之間的跳轉(zhuǎn)特征實際上就是狀態(tài)轉(zhuǎn)移特征。

1.1.1 Bi-LSTM的輸出

直接上代碼,如下
outputs, final_states = tf.nn.bidirectional_dynamic_rnn(lstm_cell["forward"], lstm_cell["backward"], input, dtype=tf.float32, sequence_length=sequence_length, initial_state_fw=initial_state["forward"], initial_state_bw=initial_state["backward"])
Bi-LSTM的輸出包含兩部分,outputs,final_states,其中outputs就是每個時間t時刻的輸出h_t, final_states就是每個時間t時刻的記憶單元cell_t。這里網(wǎng)絡(luò)的輸出矩陣P只用到了outputs. 看了多個版本Bi-lstm的輸出層的實現(xiàn),各有千秋:
版本1
weight, bias = self.weight_and_bias(2 * args.rnn_size, args.class_size) output = tf.reshape(tf.transpose(tf.stack(outputs), perm=[1, 0, 2]), [-1, 2 * args.rnn_size]) prediction = tf.nn.softmax(tf.matmul(outputs, weight) + bias)
版本2
outputs = tf.reshape(outputs, [-1, num_units]) //輸出層的學(xué)習(xí)參數(shù) W = weight_init([num_units, D_label]) b = bias_init([D_label]) output = tf.matmul(outputs, W) + b // 損失 loss=tf.reduce_mean((output-labels)**2)
版本3
outputs = tf.nn.xw_plus_b(token_lstm_output_squeezed, W, b, name="output_before_tanh") outputs = tf.nn.tanh(outputs, name="output_after_tanh") scores = tf.nn.xw_plus_b(outputs, W, b, name="scores")

1.2 模型結(jié)構(gòu)

圖2 LSTM+CRF網(wǎng)絡(luò)結(jié)構(gòu).png

Figure1描述了BiLSTM+CRF進(jìn)行實體識別的一般網(wǎng)絡(luò)結(jié)構(gòu):首先用word2vec或者Glove與訓(xùn)練好word embeddings 作為輸入向量,送入到Bi-LSTM中,輸出是經(jīng)過Bi-LSTM網(wǎng)絡(luò)編碼后的包含上下文信息的新的詞向量ci,最后將ci 送入到CRF層中,經(jīng)過這一層學(xué)習(xí)到得到的分值為最終為每個word所打的標(biāo)簽對應(yīng)的分值。
Figure2是在Figure1所示的網(wǎng)絡(luò)結(jié)構(gòu)上,對輸入信息又加入一層character embeddings。 對于中文來說,character embeddings 應(yīng)該是分詞后的每個詞包含的字對應(yīng)的embeddings,比如對于“簡書”,其對應(yīng)的character embeddings 就是"簡",“書”對應(yīng)的embeddings。在別的論文中看到有作者進(jìn)一步對單個漢字進(jìn)行拆分,比如"錦",拆分成"钅"和"帛",說是漢字的偏旁也是能夠表達(dá)一些隱含信息的。

1.3 代碼結(jié)構(gòu)

圖3 code-bilstm-crf

2 數(shù)據(jù)準(zhǔn)備

2.1 數(shù)據(jù)標(biāo)注方式說明

數(shù)據(jù)標(biāo)注方式,對實體進(jìn)行標(biāo)注方式有兩種,BIO和BIEOS。 B表示Beign, I 表示Internal, O表示Other, E表示End,S表示Single.舉個例子,"第八 代 雅閣"的兩種標(biāo)注方式:

第八 B-MODEL
代 I-MODEL
雅閣 I-MODEL

第八 B-MODEL
代 I-MODEL
雅閣 E-MODEL

BIEOS的標(biāo)注更為詳細(xì),模型的結(jié)果表現(xiàn)也優(yōu)于BIO方式。
完整的數(shù)據(jù)格式如下,其中每一行是的第一個是要進(jìn)行實體類別標(biāo)注的詞,第二個是詞性,第三個是實體類別標(biāo)注。

EU NNP B-ORG
rejects VBZ O
German JJ B-MISC
call NN  O
to TO O
boycott VB O
British JJ B-MISC
lamb NN O
. . O O

2.2 數(shù)據(jù)標(biāo)注

由于沒有專門的人員進(jìn)行實體類別的標(biāo)注,只能依靠自己,通過人工標(biāo)注+程序,反復(fù)的校驗。
實體類別有:汽車品牌(brand),車型(model),產(chǎn)品(product_name),公司(company_name),組織機(jī)構(gòu)名(org_name),地點(diǎn)(location_name),人名(person_name),職位(title_name),其他(misc).
首先借助多個第三方實體識別工具,識別產(chǎn)品、公司、組織機(jī)構(gòu)、地點(diǎn)、人名、職位等實體,在識別出的實體集中通過行業(yè)詞典+word2vec的方式提取出車型和品牌。這一步主要得益于我們長期維護(hù)的一個行業(yè)詞典。數(shù)據(jù)集中的實體及類別基本確定后,對數(shù)據(jù)集進(jìn)行清洗,將數(shù)據(jù)集按照句子拆分,并分析句子中包含的實體個數(shù)和類別分布,去除包含實體少的句子,對數(shù)據(jù)集中的每個類別下的實體進(jìn)行均衡,最后整理出大約10w條富含實體的句子。

3 模型結(jié)果展示和解讀

以下是基于10w條進(jìn)行進(jìn)行訓(xùn)練和測試的結(jié)果。這里僅使用了words-level embeddings。

訓(xùn)練結(jié)果
processed 1306244 tokens with 252442 phrases; found: 252367 phrases; correct: 218323.
accuracy:  94.80%; precision:  86.51%; recall:  86.48%; FB1:  86.50
            BRAND: precision:  92.18%; recall:  89.24%; FB1:  90.68  18124
      COMPANYNAME: precision:  85.01%; recall:  85.05%; FB1:  85.03  32655
         JOBTITLE: precision:  90.20%; recall:  92.82%; FB1:  91.49  18333
         LOCATION: precision:  84.62%; recall:  86.69%; FB1:  85.64  33164
             MISC: precision:  97.58%; recall:  98.68%; FB1:  98.13  538
            MODEL: precision:  82.10%; recall:  88.95%; FB1:  85.39  55556
          ORGNAME: precision:  82.72%; recall:  79.73%; FB1:  81.20  11184
       PERSONNAME: precision:  86.79%; recall:  86.54%; FB1:  86.66  20972
      PRODUCTNAME: precision:  78.30%; recall:  62.89%; FB1:  69.75  20048
             TIME: precision:  95.64%; recall:  96.34%; FB1:  95.99  41793
測試結(jié)果
processed 47386 tokens with 9229 phrases; found: 9191 phrases; correct: 7943.
accuracy:  94.62%; precision:  86.42%; recall:  86.07%; FB1:  86.24
            BRAND: precision:  90.88%; recall:  89.45%; FB1:  90.16  746
      COMPANYNAME: precision:  84.79%; recall:  83.73%; FB1:  84.26  1190
         JOBTITLE: precision:  86.72%; recall:  88.57%; FB1:  87.63  670
         LOCATION: precision:  84.78%; recall:  86.47%; FB1:  85.62  1183
             MISC: precision: 100.00%; recall: 100.00%; FB1: 100.00  23
            MODEL: precision:  84.71%; recall:  87.35%; FB1:  86.01  2014
          ORGNAME: precision:  78.50%; recall:  75.75%; FB1:  77.10  386
       PERSONNAME: precision:  87.12%; recall:  84.87%; FB1:  85.98  792
      PRODUCTNAME: precision:  76.44%; recall:  66.75%; FB1:  71.27  662
             TIME: precision:  94.69%; recall:  96.07%; FB1:  95.38  1525

從結(jié)果來看,還是不錯的,觀察具體識別的結(jié)果,可以看到模型的學(xué)習(xí)能力還是很強(qiáng)大的,有些label標(biāo)錯了也能正確的識別出來。以下數(shù)據(jù)的第三列是標(biāo)注結(jié)果,第四列是模型預(yù)測結(jié)果。

總結(jié) v O O
: wm O O
近期 t O O
, wd O O
金杯 n B-MODEL B-MODEL
蒂阿茲 nz I-MODEL I-MODEL
、 wn O O
昌河 nz B-MODEL B-MODEL
M70 nx I-MODEL I-MODEL
、 wn O O
獵豹 v B-MODEL B-MODEL
CT7 nx I-MODEL I-MODEL
、 wn O O
長安 nz B-MODEL B-MODEL
CX70T nx I-MODEL I-MODEL
、 wn O O
起亞 nz B-BRAND B-MODEL
混動 n O I-MODEL
Niro nx B-PRODUCTNAME I-MODEL
極睿 nz I-PRODUCTNAME I-MODEL
、 wn O O
濰柴 nz B-MODEL B-MODEL
英致 nz I-MODEL I-MODEL
G3CVT nx I-MODEL I-MODEL
版 n I-MODEL I-MODEL
等 udeng O O
車型 n O O
相繼 d O O
上市 vi O O
。 wj O O

Refs

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,641評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內(nèi)容