本文對(duì)自然語(yǔ)言基礎(chǔ)技術(shù)之命名實(shí)體識(shí)別進(jìn)行了相對(duì)全面的介紹,包括定義、發(fā)展歷史、常見(jiàn)方法、以及相關(guān)數(shù)據(jù)集,最后推薦一大波 Python 實(shí)戰(zhàn)利器,并且包括工具的用法。
01
定義
先來(lái)看看維基百科上的定義:Named-entity recognition (NER) (also known as entity identification, entity chunking and entity extraction) is a subtask of information extraction that seeks to locate and classify named entity mentions in unstructured text into pre-defined categories such as the person names, organizations, locations, medical codes, time expressions, quantities, monetary values, percentages, etc.
命名實(shí)體識(shí)別(Named Entity Recognition,簡(jiǎn)稱NER),又稱作“專名識(shí)別”,是指識(shí)別文本中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名、專有名詞等。簡(jiǎn)單的講,就是識(shí)別自然文本中的實(shí)體指稱的邊界和類別。
02
發(fā)展歷史
命名實(shí)體識(shí)別這個(gè)術(shù)語(yǔ)首次出現(xiàn)在 MUC-6(Message Understanding Conferences),這個(gè)會(huì)議關(guān)注的主要問(wèn)題是信息抽取(Information Extraction),第六屆 MUC 除了信息抽取評(píng)測(cè)任務(wù)還開(kāi)設(shè)了新評(píng)測(cè)任務(wù)即命名實(shí)體識(shí)別任務(wù)。
除此之外,其他相關(guān)的評(píng)測(cè)會(huì)議包括CoNLL(Conference on Computational Natural Language Learning)、ACE(Automatic Content Extraction)和IEER(Information Extraction-Entity Recognition Evaluation)等。
在MUC-6之前,大家主要是關(guān)注人名、地名和組織機(jī)構(gòu)名這三類專業(yè)名詞的識(shí)別。自MUC-6起,后面有很多研究對(duì)類別進(jìn)行了更細(xì)致的劃分,比如地名被進(jìn)一步細(xì)化為城市、州和國(guó)家,也有人將人名進(jìn)一步細(xì)分為政治家、藝人等小類。
此外,一些評(píng)測(cè)還擴(kuò)大了專業(yè)名詞的范圍,比如CoNLL某年組織的評(píng)測(cè)中包含了產(chǎn)品名的識(shí)別。一些研究也涉及電影名、書名、項(xiàng)目名、研究領(lǐng)域名稱、電子郵件地址、電話號(hào)碼以及生物信息學(xué)領(lǐng)域的專有名詞(如蛋白質(zhì)、DNA、RNA等)。甚至有一些工作不限定“實(shí)體”的類型,而是將其當(dāng)做開(kāi)放域的命名實(shí)體識(shí)別和分類。
03
常見(jiàn)方法
早期的命名實(shí)體識(shí)別方法基本都是基于規(guī)則的。之后由于基于大規(guī)模的語(yǔ)料庫(kù)的統(tǒng)計(jì)方法在自然語(yǔ)言處理各個(gè)方面取得不錯(cuò)的效果之后,一大批機(jī)器學(xué)習(xí)的方法也出現(xiàn)在命名實(shí)體類識(shí)別任務(wù)。宗成慶老師在統(tǒng)計(jì)自然語(yǔ)言處理一書粗略的將這些基于機(jī)器學(xué)習(xí)的命名實(shí)體識(shí)別方法劃分為以下幾類:
有監(jiān)督的學(xué)習(xí)方法:這一類方法需要利用大規(guī)模的已標(biāo)注語(yǔ)料對(duì)模型進(jìn)行參數(shù)訓(xùn)練。目前常用的模型或方法包括隱馬爾可夫模型、語(yǔ)言模型、最大熵模型、支持向量機(jī)、決策樹(shù)和條件隨機(jī)場(chǎng)等。值得一提的是,基于條件隨機(jī)場(chǎng)的方法是命名實(shí)體識(shí)別中最成功的方法。
半監(jiān)督的學(xué)習(xí)方法:這一類方法利用標(biāo)注的小數(shù)據(jù)集(種子數(shù)據(jù))自舉學(xué)習(xí)。
無(wú)監(jiān)督的學(xué)習(xí)方法:這一類方法利用詞匯資源(如 WordNet)等進(jìn)行上下文聚類。
混合方法:幾種模型相結(jié)合或利用統(tǒng)計(jì)方法和人工總結(jié)的知識(shí)庫(kù)。
值得一提的是,由于深度學(xué)習(xí)在自然語(yǔ)言的廣泛應(yīng)用,基于深度學(xué)習(xí)的命名實(shí)體識(shí)別方法也展現(xiàn)出不錯(cuò)的效果,此類方法基本還是把命名實(shí)體識(shí)別當(dāng)做序列標(biāo)注任務(wù)來(lái)做,比較經(jīng)典的方法是 LSTM+CRF、BiLSTM+CRF。
04
相關(guān)數(shù)據(jù)集
1. CCKS2017 開(kāi)放的中文的電子病例測(cè)評(píng)相關(guān)的數(shù)據(jù)。
評(píng)測(cè)任務(wù)一:
https://biendata.com/competition/CCKS2017_1/
評(píng)測(cè)任務(wù)二:
https://biendata.com/competition/CCKS2017_2/
2. CCKS2018 開(kāi)放的音樂(lè)領(lǐng)域的實(shí)體識(shí)別任務(wù)。
評(píng)測(cè)任務(wù):
https://biendata.com/competition/CCKS2018_2/
3. (CoNLL 2002)Annotated Corpus for Named Entity Recognition。
地址:
https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus
4. NLPCC2018 開(kāi)放的任務(wù)型對(duì)話系統(tǒng)中的口語(yǔ)理解評(píng)測(cè)。
地址:
http://tcci.ccf.org.cn/conference/2018/taskdata.php
5. 一家公司提供的數(shù)據(jù)集,包含人名、地名、機(jī)構(gòu)名、專有名詞。
下載地址:
https://bosonnlp.com/dev/resource
05
工具推薦
1. Stanford NER
斯坦福大學(xué)開(kāi)發(fā)的基于條件隨機(jī)場(chǎng)的命名實(shí)體識(shí)別系統(tǒng),該系統(tǒng)參數(shù)是基于 CoNLL、MUC-6、MUC-7 和 ACE 命名實(shí)體語(yǔ)料訓(xùn)練出來(lái)的。
地址:
https://nlp.stanford.edu/software/CRF-NER.shtml
Python 實(shí)現(xiàn)的 Github 地址:
https://github.com/Lynten/stanford-corenlp
2 .MALLET
麻省大學(xué)開(kāi)發(fā)的一個(gè)統(tǒng)計(jì)自然語(yǔ)言處理的開(kāi)源包,其序列標(biāo)注工具的應(yīng)用中能夠?qū)崿F(xiàn)命名實(shí)體識(shí)別。
官方地址:
http://mallet.cs.umass.edu/
3. Hanlp
HanLP 是一系列模型與算法組成的 NLP 工具包,由大快搜索主導(dǎo)并完全開(kāi)源,目標(biāo)是普及自然語(yǔ)言處理在生產(chǎn)環(huán)境中的應(yīng)用。支持命名實(shí)體識(shí)別。
Github 地址:
https://github.com/hankcs/pyhanlp
官網(wǎng):
http://hanlp.linrunsoft.com/
4. NLTK
NLTK 是一個(gè)高效的 Python 構(gòu)建的平臺(tái),用來(lái)處理人類自然語(yǔ)言數(shù)據(jù)。
Github 地址:
https://github.com/nltk/nltk
官網(wǎng):
http://www.nltk.org/
5. SpaCy
工業(yè)級(jí)的自然語(yǔ)言處理工具,遺憾的是不支持中文。
Gihub 地址:
https://github.com/explosion/spaCy
官網(wǎng):https://spacy.io/
6. Crfsuite
可以載入自己的數(shù)據(jù)集去訓(xùn)練 CRF 實(shí)體識(shí)別模型。
文檔地址:
https://sklearn-crfsuite.readthedocs.io/en/latest/?badge=latest
代碼已上傳:
https://github.com/yuquanle/StudyForNLP/blob/master/NLPbasic/NER.ipynb
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8444瀏覽量
133113 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1209瀏覽量
24848 -
自然語(yǔ)言處理
+關(guān)注
關(guān)注
1文章
620瀏覽量
13655
原文標(biāo)題:一文讀懂命名實(shí)體識(shí)別
文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
python自然語(yǔ)言
自然語(yǔ)言處理技術(shù)介紹
hanlp漢語(yǔ)自然語(yǔ)言處理入門基礎(chǔ)知識(shí)介紹
HanLP分詞命名實(shí)體提取詳解
HanLP-命名實(shí)體識(shí)別總結(jié)
【推薦體驗(yàn)】騰訊云自然語(yǔ)言處理
基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在命名實(shí)體識(shí)別中應(yīng)用的分析與總結(jié)
![基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在<b class='flag-5'>命名實(shí)體</b><b class='flag-5'>識(shí)別</b>中應(yīng)用的分析與總結(jié)](https://file.elecfans.com/web1/M00/45/0A/pIYBAFpf-OOAA8eyAAAT3_pK7zg728.png)
思必馳中文命名實(shí)體識(shí)別任務(wù)助力AI落地應(yīng)用
命名實(shí)體識(shí)別的遷移學(xué)習(xí)相關(guān)研究分析
![<b class='flag-5'>命名實(shí)體</b><b class='flag-5'>識(shí)別</b>的遷移學(xué)習(xí)相關(guān)研究分析](https://file.elecfans.com/web1/M00/E9/4A/pIYBAGBmzuWAbTkQAAJV8MnnzTo350.png)
基于字語(yǔ)言模型的中文命名實(shí)體識(shí)別系統(tǒng)
![基于字<b class='flag-5'>語(yǔ)言</b>模型的中文<b class='flag-5'>命名實(shí)體</b><b class='flag-5'>識(shí)別</b>系統(tǒng)](https://file.elecfans.com/web1/M00/E9/E9/pIYBAGBuqQCAWn3VAAKPvwMooq4124.png)
評(píng)論