- 流行中英文分詞工具hanlp:
- 中英文NLP處理工具包, 基于tensorflow2.0, 使用在學術界和行業中推廣最先進的深度學習技術.
>>> import hanlp
# 加載CTB_CONVSEG預訓練模型進行分詞任務
>>> tokenizer = hanlp.load('CTB6_CONVSEG')
>>> tokenizer("工信處女干事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作")
['工信處', '女', '干事', '每', '月', '經過', '下', '屬', '科室', '都', '要', '親口', '交代', '24口', '交換機', '等', '技術性', '器件', '的', '安裝', '工作']
# 進行英文分詞, 英文分詞只需要使用規則即可
>>> tokenizer = hanlp.utils.rules.tokenize_english
>>> tokenizer('Mr. Hankcs bought hankcs.com for 1.5 thousand dollars.')
['Mr.', 'Hankcs', 'bought', 'hankcs.com', 'for', '1.5', 'thousand', 'dollars', '.']
?
- hanlp分詞命名實體識別:
- 命名實體: 通常我們將人名, 地名, 機構名等專有名詞統稱命名實體. 如: 周杰倫, 黑山縣, 孔子學院, 24輥方鋼矯直機.
- 顧名思義, 命名實體識別(Named Entity Recognition,簡稱NER)就是識別出一段文本中可能存在的命名實體.
- 命名實體識別的作用:
- 同詞匯一樣, 命名實體也是人類理解文本的基礎單元, 因此也是AI解決NLP領域高階任務的重要基礎環節.
魯迅, 浙江紹興人, 五四新文化運動的重要參與者, 代表作朝花夕拾.==>魯迅(人名) / 浙江紹興(地名)人 / 五四新文化運動(專有名詞) / 重要參與者 / 代表作 / 朝花夕拾(專有名詞)
>>> import hanlp
# 加載中文命名實體識別的預訓練模型MSRA_NER_BERT_BASE_ZH
>>> recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)
# 這里注意它的輸入是對句子進行字符分割的列表, 因此在句子前加入了list()
# >>> list('上海華安工業(集團)公司董事長譚旭光和秘書張晚霞來到美 國紐約現代藝術博物館參觀。')
# ['上', '海', '華', '安', '工', '業', '(', '集', '團', ')', '公', '司', '董', '事', '長', '譚', '旭', '光', '和', '秘', '書', '張', '晚', '霞', '來', '到', '美', '國', '紐', '約', '現', '代', '藝', '術', '博', '物', '館', '參', '觀', '。']
>>> recognizer(list('上海華安工業(集團)公司董事長譚旭光和秘書張晚霞來到美國紐約現代藝術博物館參觀。'))
[('上海華安工業(集團)公司', 'NT', 0, 12), ('譚旭光', 'NR', 15, 18), ('張晚霞', 'NR', 21, 24), ('美國', 'NS', 26, 28), ('紐約現代藝術博物館', 'NS', 28, 37)]# 返回結果是一個裝有n個元組的列表, 每個元組代表一個命名實體, 元組中的每一項分別代表具體的命名實體, 如: '上海華安工業(集團)公司'; 命名實體的類型, 如: 'NT'-機構名; 命名實體的開始索引和結束索引, 如: 0, 12.
>>> import hanlp
# 加載英文命名實體識別的預訓練模型CONLL03_NER_BERT_BASE_UNCASED_EN
>>> recognizer = hanlp.load(hanlp.pretrained.ner.CONLL03_NER_BERT_BASE_UNCASED_EN))
# 這里注意它的輸入是對句子進行分詞后的結果, 是列表形式.
>>> recognizer(["President", "Obama", "is", "speaking", "at", "the", "White", "House"])
[('Obama', 'PER', 1, 2), ('White House', 'LOC', 6, 8)]
# 返回結果是一個裝有n個元組的列表, 每個元組代表一個命名實體, 元組中的每一項分別代>表具體的命名實體, 如: 'Obama', 如: 'PER'-人名; 命名實體的開始索引和結束索引, 如: 1, 2.
?
- hanlp分詞詞性識別:
- 詞性: 語言中對詞的一種分類方法,以語法特征為主要依據、兼顧詞匯意義對詞進行劃分的結果, 常見的詞性有14種, 如: 名詞, 動詞, 形容詞等.
- 顧名思義, 詞性標注(Part-Of-Speech tagging, 簡稱POS)就是標注出一段文本中每個詞匯的詞性.
- 詞性標注的作用:
- 詞性標注以分詞為基礎, 是對文本語言的另一個角度的理解, 因此也常常成為AI解決NLP領域高階任務的重要基礎環節.
我愛自然語言處理==>我/rr, 愛/v, 自然語言/n, 處理/vnrr: 人稱代詞
v: 動詞
n: 名詞
vn: 動名詞
>>> import hanlp
# 加載中文命名實體識別的預訓練模型CTB5_POS_RNN_FASTTEXT_ZH
>>> tagger = hanlp.load(hanlp.pretrained.pos.CTB5_POS_RNN_FASTTEXT_ZH)
# 輸入是分詞結果列表
>>> tagger(['我', '的', '希望', '是', '希望', '和平'])
# 結果返回對應的詞性
['PN', 'DEG', 'NN', 'VC', 'VV', 'NN']
>>> import hanlp
# 加載英文命名實體識別的預訓練模型PTB_POS_RNN_FASTTEXT_EN
>>> tagger = hanlp.load(hanlp.pretrained.pos.PTB_POS_RNN_FASTTEXT_EN)
# 輸入是分詞結果列表
>>> tagger(['I', 'banked', '2', 'dollars', 'in', 'a', 'bank', '.'])
['PRP', 'VBD', 'CD', 'NNS', 'IN', 'DT', 'NN', '.']
總結
以上是生活随笔為你收集整理的hanlp分词学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。