成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

達觀數據:如何打造一個中文NER系統

開發 開發工具
NER(Named Entity Recognition,命名實體識別)又稱作專名識別,是自然語言處理中常見的一項任務,使用的范圍非常廣。

?[[192140]]?

1 NER簡介

NER(Named Entity Recognition,命名實體識別)又稱作專名識別,是自然語言處理中常見的一項任務,使用的范圍非常廣。命名實體通常指的是文本中具有特別意義或者指代性非常強的實體,通常包括人名、地名、機構名、時間、專有名詞等。NER系統就是從非結構化的文本中抽取出上述實體,并且可以按照業務需求識別出更多類別的實體,比如產品名稱、型號、價格等。因此實體這個概念可以很廣,只要是業務需要的特殊文本片段都可以稱為實體。以下將詳細介紹達觀數據在文本語義理解過程中是如何構建中文NER系統的。(達觀數據 高翔)

2 NER問題分解

NER問題的目標是從文本抽取出特定需求實體的文本片段。針對這個任務,通常使用基于規則的方法和基于模型的方法。

2.1基于規則的方法

基于規則進行實體抽取是較容易想到的方式。針對有特殊上下文的實體,或實體本身有很多特征的文本,使用規則的方法簡單且有效。比如,抽取文本中物品價格,如果文本中所有商品價格都是“數字+元”的形式,則可以通過正則表達式”\d*\.?\d+元”進行抽取。但是如果待抽取文本中價格的表達方式多種多樣,例如“一千八百萬”、“伍佰貳拾圓”、“2000萬元”,這個時候就要修改規則來滿足所有可能的情況。隨著語料數量的增加,面對的情況也越來越復雜,規則之間也可能發生沖突,整個系統也可能變得不可維護。因此基于規則的方式比較適合半結構化或比較規范的文本中的進行抽取任務,結合業務需求能夠達到一定的效果。總結一下基于規則的實體抽取方式,優點:簡單,快速;缺點:適用性差,維護成本高后期甚至不能維護。

2.2 基于模型的方法

從模型的角度來看,命名實體識別問題實際上是序列標注問題。序列標注問題指的是模型的輸入是一個序列,包括文字、時間等,輸出也是一個序列。針對輸入序列的每一個單元,輸出一個特定的標簽。以中文分詞任務進行舉例,例如輸入序列是一串文字:“我是中國人”,輸出序列是一串標簽:“SSBME”,其中“BMES”組成了一種中文分詞的標簽體系,B表示這個字是詞的開始Begin,M表示詞的中間Middle,E表示詞的結尾End,S表示單字成詞。因此我們可以根據輸出序列“SSBME”進行解碼,得到分詞結果“我\是\中國人“。序列標注問題涵蓋了自然語言處理中的很多任務,包括語音識別、中文分詞、機器翻譯、命名實體識別等,而常見的序列標注模型包括HMM,CRF,RNN等模型。

2.2.1 HMM

HMM(Hidden Markov Model,隱馬爾可夫模型)是使用非常廣泛經典的一個統計模型,作為一個生成式模型,HMM用來描述一個含有隱含未知參數的馬爾可夫過程。簡單來講,HMM模型包括兩個序列三個矩陣:觀察序列、隱藏序列、初始狀態概率矩陣、狀態轉移概率矩陣、發射概率矩陣。通常情況下,我們要根據觀察序列和三個矩陣,來得到隱藏序列。

??

圖1:HMM模型,其中X表示隱藏序列,y表示觀察序列,a表示狀態轉移概率,b表示發射概率

以中文分詞任務舉例,使用“BMES”標簽體系,HMM模型就是從切分好的語料中統計出初始狀態概率矩陣、狀態轉移概率矩陣、發射概率矩陣這三個矩陣的概率參數。初始狀態矩陣指的是序列第一個字符是BMES的概率,顯然字符是M和E的概率為0。狀態轉移概率矩陣是BMES四種狀態間轉移的概率,顯然B-->S,M-->S,M-->B等狀態的轉移概率為0。發射概率矩陣指的是一個字符是BMES四種狀態其中一種的概率,比如“中-->B:0.3“、“中-->E:0.4“等。可以看到,HMM模型只需按照模型要求,統計出上述概率矩陣即可,因此HMM的優點是模型簡單訓練快,但因為馬爾可夫假設的原因,模型效果相對較差。

2.2.2 CRF

CRF(Conditional random field,條件隨機場)是一種判別式模型。條件隨機場是給定隨機變量X的情況下,隨機變量Y的馬爾科夫隨機場。馬爾科夫隨機場是概率無向圖模型,滿足成對、局部及全局馬爾可夫性。對于序列標注問題,一般使用線性鏈條件隨機場。

?圖2:一種線性條件隨機場?

圖2:一種線性條件隨機場

對于條件隨機場的模型訓練,通常使用基于BFGS、SGD等算法的優化算法,不同軟件包的實現上也有所區別。理論上CRF算法性能要優于HMM,因為CRF可以使用更多的特征,但同時,特征選擇對于模型的性能有一定的影響,除此之外,相對于HMM,CRF模型的訓練也更加復雜,時間相對較長。

2.2.3 RNN

隨著深度學習的興起,RNN、LSTM、BILSTM等模型已經被證明在NLP任務上有著良好的表現。相比傳統模型,RNN能夠考慮長遠的上下文信息,并且能夠解決CRF特征選擇的問題,可以將主要的精力花在網絡設計和參數調優上,但RNN一般需要較大的訓練數據,在小規模數據集上,CRF表現較好。在學術界,目前比較流行的做法是將BILISTM和CRF進行結合,借鑒兩個模型各自的優點,來達到更好的效果。

?圖3:BILSTM+CRF標注模型?

圖3:BILSTM+CRF標注模型

3基于CRF模型打造中文NER系統

上面介紹了用于序列標注不同模型的特點。雖然深度學習有著廣闊的前景,并且在機器翻譯等任務上表現優異,但對于序列標注任務而言,CRF模型老而彌堅且比較成熟,在工業界中被廣泛使用,因此本章使用CRF模型打造一個中文NER系統。(達觀數據 高翔)

3.1 明確標注任務

前文講過,NER可以根據業務需求標注各種不同類型的實體,因此首先要明確需要抽取的實體類型。一般通用場景下,最常提取的是時間、人物、地點及組織機構名,因此本任務提取TIME、PERSON、LOCATION、ORGANIZATION四種實體。

3.2 數據及工具準備

明確任務后就需要訓練數據和模型工具。對于訓練數據,我們使用經典的人民日報1998中文標注語料庫,其中包括了分詞和詞性標注結果,下載地址為:??http://icl.pku.edu.cn/icl_groups/corpus/dwldform1.asp???。對于CRF,有很多開源的工具包可供選擇,在此使用CRF++進行訓練。CRF++官方主頁為??https://taku910.github.io/crfpp/??,包括下載及使用等說明。

3.3 數據預處理

人民日報1998語料庫下載完畢后,解壓打開“199801.txt”這個文件(注意編碼轉換成UTF-8),可以看到內容是由word/pos組成,中間以兩個空格隔開。我們需要的提取的實體是時間、人名、地名、組織機構名,根據1998語料庫的詞性標記說明,對應的詞性依次為t、nr、ns、nt。通過觀察語料庫數據,需要注意四點:1,1998語料庫標注人名時,將姓和名分開標注,因此需要合并姓名;2,中括號括起來的幾個詞表示大粒度分詞,表意能力更強,需要將括號內內容合并;3,時間合并,例如將”1997年/t 3月/t” 合并成”1997年3月/t”;4,全角字符統一轉為半角字符,尤其是數字的表示。

3.4 模型訓練

根據我們的NER任務需求及CRF++的訓練要求,模型訓練需要4個步驟:1,確定標簽體系;2,確定特征模板文件;3,處理訓練數據文件;4,模型訓練。(達觀數據 高翔)

3.4.1 確定標簽體系

對于NER任務,常見的標簽體系包括IO、BIO、BMEWO、BMEWO+。下面舉例說明不同標簽體系的區別。

?表格1:不同標簽體系的標注示例?

表格1:不同標簽體系的標注示例

大部分情況下,標簽體系越復雜準確度也越高,但相應的訓練時間也會增加。因此需要根據實際情況選擇合適的標簽體系。本文選擇和分詞系統類似的BMEWO標簽體系。

3.4.2 特征模版設計

特征模版是一個文本文件,其內容如圖6所示,其中每行表示一個特征。圖6使用了unigram特征,并且僅以字符本身作為特征而不考慮其他特征。除當前字符外,還使用了其前后3個字,以及上下文的組合作為特征。CRF++會根據特征模版生成相關的特征函數。關于特征模版的詳細解釋可以查看官網文檔,并且對于特征的選擇和設計可以靈活配置,圖6僅作為參考。

?圖6:特征模板設計?

圖6:特征模板設計

3.4.3 訓練數據生成

CRF模型的訓練數據是一行一個token,一句話由多行token組成。每一行可以分為多列,除最后一列外,其他列表示特征。本文所描述的NER系統,單字表示token,并且僅使用字符這一種特征,因此可以根據語料庫中每個字在詞中的位置和詞性,以及所選的標簽系統,生成CRF++的訓練數據。生成的訓練數據如圖7所示。

?圖7:CRF++訓練數據示例?

圖7:CRF++訓練數據示例

3.4.4 模型訓練

準備好特征模版和訓練數據后就可以進行模型訓練,如圖8所示。使用crf_learn命令,指定模版文件、訓練數據文件和輸出模型文件就可以進行訓練。參數-f 1表示過濾頻次低于1的特征,在這里不進行特征過濾,-c 1.0用來調節CRFs的超參數,c值越大越容易過擬合。除此之外,還有-a等其他參數進行控制調整。

3.5 模型預測及使用

模型訓練完畢后就可以進行預測。CRF++提供crf_test命令進行測試,我們使用文本“北京市委組織部長姜志剛調任寧夏副書記“進行測試,測試文件中每字一行,每句話使用空行隔開。測試結果如圖10所示。

?圖10:CRF++測試結果?

圖10:CRF++測試結果

從圖10的結果我們可以看到,CRF模型能夠對輸入文字序列輸出相應的標簽從而完成NER任務。在模型預測時,CRF++主要使用了維特比算法進行nbest輸出。在模型訓練時,可以指定-t參數輸出文本格式的模型,方便debug或編寫自己的模型加載及解碼程序。

對于一個完整的NER過程,除了得到序列標簽外,還要對標簽序列進行解碼得到最終的結果。CRF++同時提供了python接口,可以方便的在python 程序中進行模型的調用得到標簽序列,然后通過標簽解碼得到最終的結果。圖11展示了一個完整的NER預測結果。

圖11展示了較好的結果,能夠識別出諸如“北京小米科技有限責任公司”這樣的組織機構名。通過使用1998年的數據識別出了2010年才成立的公司,這就是模型算法的力量。當然模型也有瑕疵,諸如“郁亮“、”海聞”這樣的人名沒有識別出來,這除了和模型特征選擇相關外,也和語料庫的規模和標注有關,因此語料庫的建設和積累更加重要。(達觀數據 高翔)

4 總結

本文講述了NER任務的基本概念及方法,并使用業界成熟的語料和工具開發了一個簡單能work的基于CRF模型的中文NER系統,而實際提供線上服務的NER系統要比這個復雜的多。在自然語言處理的實際工作中,除了不同模型、算法、工具的使用和參數調優外,語料庫的選擇和積累也非常重要。對于中文文本語義分析技術,達觀數據擁有多年的技術積累并緊跟行業潮流,對已有成熟技術進行深挖,對新興技術進行研究集成。同時,針對不同行業及任務積累了豐富的文本語料,并源源不斷的使用新數據對語料模型進行升級更新,保證分析結果的準確性和實時性,為客戶提供高品質服務。(達觀數據 高翔)

作者簡介

高翔,達觀數據聯合創始人,首席數據官聯盟成員,達觀數據前端項目組、文本語義理解組負責人,自然語言處理技術專家,上海交通大學通信專業碩士,曾代表達觀數據參加2016青年互聯網創業大賽并贏得全國總冠軍榮譽、第五屆中國創新創業大賽優秀企業獎、中國電子i+創新創效創意大賽總決賽一等獎。曾就職于騰訊文學,盛大文學,盛大創新院,負責文本閱讀類產品、搜索引擎、文本挖掘及大數據調度系統的開發工作。在自然語言處理和機器學習等技術方向有著豐富的經驗。

【本文為51CTO專欄作者“達觀數據”的原創稿件,轉載可通過51CTO專欄獲取聯系】

??戳這里,看該作者更多好文??

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2018-07-20 14:30:15

2022-07-20 09:38:31

Python語音合成代碼

2020-12-16 14:29:40

終端開發shell

2017-11-07 22:25:17

網站評測工具YSlow

2016-08-04 14:08:57

前端javascripthtml

2024-04-01 11:52:46

2018-09-18 09:38:11

RPC遠程調用網絡通信

2022-09-29 15:13:47

健康管理平臺—鴻蒙

2017-08-28 15:11:41

PythonJavaPHP

2017-05-10 16:01:39

推薦系統算法實踐

2016-08-11 17:09:14

Javascripthtml前端

2016-11-07 21:15:12

前后端分離expressJavascript

2016-11-07 21:24:08

HtmlNode.jsJavascript

2021-02-04 10:22:32

前端開發技術

2020-06-18 10:03:13

在家工作疫情統一通信

2023-09-08 08:10:48

2023-09-08 08:22:30

2024-08-27 12:49:20

2023-03-01 09:39:40

調度系統

2020-09-02 07:22:17

JavaScript插件框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久久久91 | av香港经典三级级 在线 | 天天干狠狠操 | 91九色视频在线 | 91国语清晰打电话对白 | 欧美一区二区三区在线观看视频 | 国产日韩欧美精品一区二区 | 成人精品鲁一区一区二区 | 一区二区三区国产好 | 久久综合激情 | 国产精品亚洲一区二区三区在线观看 | 日日夜夜精品视频 | 午夜电影一区 | 亚洲网址在线观看 | 91精品国产美女在线观看 | 亚洲一区免费在线 | 国产成人精品一区二区 | 狠狠av| 国产精品久久久久久久久久久久久 | 精品成人一区二区 | 中文字幕在线三区 | 欧美国产日韩一区二区三区 | 国产精品无码久久久久 | 日韩av在线播 | 国产亚洲日本精品 | 亚洲视频欧美视频 | 97视频久久 | 久久免费高清 | 午夜精品一区二区三区免费视频 | 中文字幕欧美一区 | 免费国产一区二区 | 亚洲视频 欧美视频 | 综合精品在线 | 精品欧美一区二区在线观看欧美熟 | 人人九九精 | 久久久久久影院 | 秋霞电影一区二区三区 | 国产精品一二区 | 国产在线精品一区二区 | 日韩视频 中文字幕 | 亚洲 欧美 日韩 在线 |