注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《分布式機器學習實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】
文章目錄
- 自然語言處理系列二十四
- 詞性標注
- 感知器詞性標注
- 總結
自然語言處理系列二十四
詞性標注
詞性標注(Part-Of-Speech tagging, POS tagging)也被稱為語法標注(grammatical tagging)或詞類消疑(word-category disambiguation),是語料庫語言學(corpus linguistics)中將語料庫內單詞的詞性按其含義和背景關系內容進行標記的文本資料處理技術,
詞性標注可以由人工或特定演算法完成,使用機器學習(machine learning)方法實作詞性標注是自然語言處理(Natural Language Processing, NLP)的研究內容,常見的詞性標注演算法包括隱馬爾可夫模型(Hidden Markov Model, HMM)、條件隨機場(Conditional random fields, CRFs)等,詞性標注主要被應用于文本挖掘(text mining)和NLP領域,是各類基于文本的機器學習任務,例如語意分析(semantic analysis)和指代消解(coreference resolution)的預處理步驟,下面我們分別從原理和實戰工具給大家詳細講解,
感知器詞性標注
前面講的感知器分詞的時候我們講到感知器的原理,這里不再重復,按照中文分詞時的經驗,感知機能夠利用豐富的背景關系特征,是優于隱馬爾可夫模型的選擇,對于詞性標注也是如此,
感知機模型詞性標注代碼如下所示:
from pyhanlp import *
import zipfile
import os
from pyhanlp.static import download, remove_file, HANLP_DATA_PATH
def test_data_path():
"""
獲取測驗資料路徑,位于$root/data/test,根目錄由組態檔指定,
:return:
"""
data_path = os.path.join(HANLP_DATA_PATH, 'test')
if not os.path.isdir(data_path):
os.mkdir(data_path)
return data_path
## 驗證是否存在 MSR語料庫,如果沒有自動下載
def ensure_data(data_name, data_url):
root_path = test_data_path()
dest_path = os.path.join(root_path, data_name)
if os.path.exists(dest_path):
return dest_path
if data_url.endswith('.zip'):
dest_path += '.zip'
download(data_url, dest_path)
if data_url.endswith('.zip'):
with zipfile.ZipFile(dest_path, "r") as archive:
archive.extractall(root_path)
remove_file(dest_path)
dest_path = dest_path[:-len('.zip')]
return dest_path
## 指定 PKU 語料庫
PKU98 = ensure_data("pku98", "http://file.hankcs.com/corpus/pku98.zip")
PKU199801 = os.path.join(PKU98, '199801.txt')
PKU199801_TRAIN = os.path.join(PKU98, '199801-train.txt')
PKU199801_TEST = os.path.join(PKU98, '199801-test.txt')
POS_MODEL = os.path.join(PKU98, 'pos.bin')
NER_MODEL = os.path.join(PKU98, 'ner.bin')
## ===============================================
## 以下開始 感知機 詞性標注
AbstractLexicalAnalyzer = JClass('com.hankcs.hanlp.tokenizer.lexical.AbstractLexicalAnalyzer')
PerceptronSegmenter = JClass('com.hankcs.hanlp.model.perceptron.PerceptronSegmenter')
POSTrainer = JClass('com.hankcs.hanlp.model.perceptron.POSTrainer')
PerceptronPOSTagger = JClass('com.hankcs.hanlp.model.perceptron.PerceptronPOSTagger')
def train_perceptron_pos(corpus):
trainer = POSTrainer()
trainer.train(corpus, POS_MODEL) # 訓練感知機模型
tagger = PerceptronPOSTagger(POS_MODEL) # 加載
analyzer = AbstractLexicalAnalyzer(PerceptronSegmenter(), tagger) # 構造詞法分析器,與感知機分詞器結合,能同時進行分詞和詞性標注,
print(analyzer.analyze("李狗蛋的希望是希望上學")) # 分詞+詞性標注
print(analyzer.analyze("李狗蛋的希望是希望上學").translateLabels()) # 對詞性進行翻譯
return tagger
if __name__ == '__main__':
train_perceptron_pos(PKU199801_TRAIN)
運行會有些慢,結果如下:
李狗蛋/nr 的/u 希望/n 是/v 希望/v 上學/v
李狗蛋/人名 的/助詞 希望/名詞 是/動詞 希望/動詞 上學/動詞
這次的運行結果完全正確,感知機成功的識別出 OOV “李狗蛋”的詞性,
總結
此文章有對應的配套視頻,其它更多精彩文章請大家下載充電了么app,可獲取千萬免費好課和文章,配套新書教材請看陳敬雷新書:《分布式機器學習實戰》(人工智能科學與技術叢書)
【新書介紹】
《分布式機器學習實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】
新書特色:深入淺出,逐步講解分布式機器學習的框架及應用配套個性化推薦演算法系統、人臉識別、對話機器人等實戰專案
【新書介紹視頻】
分布式機器學習實戰(人工智能科學與技術叢書)新書【陳敬雷】
視頻特色:重點對新書進行介紹,最新前沿技術熱點剖析,技術職業規劃建議!聽完此課你對人工智能領域將有一個嶄新的技術視野!職業發展也將有更加清晰的認識!
【精品課程】
《分布式機器學習實戰》大資料人工智能AI專家級精品課程
【免費體驗視頻】:
人工智能百萬年薪成長路線/從Python到最新熱點技術
從Python編程零基礎小白入門到人工智能高級實戰系列課
視頻特色: 本系列專家級精品課有對應的配套書籍《分布式機器學習實戰》,精品課和書籍可以互補式學習,彼此相互補充,大大提高了學習效率,本系列課和書籍是以分布式機器學習為主線,并對其依賴的大資料技術做了詳細介紹,之后對目前主流的分布式機器學習框架和演算法進行重點講解,本系列課和書籍側重實戰,最后講幾個工業級的系統實戰專案給大家, 課程核心內容有互聯網公司大資料和人工智能那些事、大資料演算法系統架構、大資料基礎、Python編程、Java編程、Scala編程、Docker容器、Mahout分布式機器學習平臺、Spark分布式機器學習平臺、分布式深度學習框架和神經網路演算法、自然語言處理演算法、工業級完整系統實戰(推薦演算法系統實戰、人臉識別實戰、對話機器人實戰)、就業/面試技巧/職業生涯規劃/職業晉升指導等內容,
【充電了么公司介紹】
充電了么App是專注上班族職業培訓充電學習的在線教育平臺,
專注作業職業技能提升和學習,提高作業效率,帶來經濟效益!今天你充電了么?
充電了么官網
http://www.chongdianleme.com/
充電了么App官網下載地址
https://a.app.qq.com/o/simple.jsp?pkgname=com.charged.app
功能特色如下:
【全行業職位】 - 專注職場上班族職業技能提升
覆寫所有行業和職位,不管你是上班族,高管,還是創業都有你要學習的視頻和文章,其中大資料智能AI、區塊鏈、深度學習是互聯網一線工業級的實戰經驗,
除了專業技能學習,還有通用職場技能,比如企業管理、股權激勵和設計、職業生涯規劃、社交禮儀、溝通技巧、演講技巧、開會技巧、發郵件技巧、作業壓力如何放松、人脈關系等等,全方位提高你的專業水平和整體素質,
【牛人課堂】 - 學習牛人的作業經驗
1.智能個性化引擎:
海量視頻課程,覆寫所有行業、所有職位,通過不同行業職位的技能詞偏好挖掘分析,智能匹配你目前職位最感興趣的技能學習課程,
2.聽課全網搜索
輸入關鍵詞搜索海量視頻課程,應有盡有,總有適合你的課程,
3.聽課播放詳情
視頻播放詳情,除了播放當前視頻,更有相關視頻課程和文章閱讀,對某個技能知識點強化,讓你輕松成為某個領域的資深專家,
【精品閱讀】 - 技能文章興趣閱讀
1.個性化閱讀引擎:
千萬級文章閱讀,覆寫所有行業、所有職位,通過不同行業職位的技能詞偏好挖掘分析,智能匹配你目前職位最感興趣的技能學習文章,
2.閱讀全網搜索
輸入關鍵詞搜索海量文章閱讀,應有盡有,總有你感興趣的技能學習文章,
【機器人老師】 - 個人提升趣味學習
基于搜索引擎和智能深度學習訓練,為您打造更懂你的機器人老師,用自然語言和機器人老師聊天學習,寓教于樂,高效學習,快樂人生,
【精短課程】 - 高效學習知識
海量精短牛人課程,滿足你的時間碎片化學習,快速提高某個技能知識點,
上一篇:自然語言處理系列二十三》詞性標注》詞性標注原理》HMM詞性標注
下一篇:自然語言處理系列二十五》詞性標注》詞性標注原理》CRF詞性標注
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/257416.html
標籤:其他
下一篇:Vue基礎(二)
