0%

文本预处理-中文分词

分词

Jieba

支持中文简体和繁体分词

精确模式分词

将句子的分词最准确的切开,适合文本分析

1
2
3
4
import jieba
content = '需要分割的字符串'
jieba.cut(content,cut_all = False) # 默认为False,返回一个生成器对象
jieba.lcut(content,cut_all = False) # 返回列表

全模式分词

将句子的分词按照所有的可能性切割

1
2
3
4
import jieba
content = '需要分割的字符串'
jieba.cut(content,cut_all = True) # 默认为False,返回一个生成器对象
jieba.lcut(content,cut_all = True) # 返回列表

搜索引擎模式分词

在精确分词的基础上,对长词在此切分,适用于搜索引擎分词

1
2
3
4
import jieba
content = '需要分割的字符串'
jieba.cut_for_search(content,cut_all = True) # 默认为False,返回一个生成器对象
jieba.lcut_for_search(content,cut_all = True) # 返回列表

用户自定义字典

设置用户自定义字典,提高准确率

1
2
3
4
5
6
7
词典格式(空格隔开)
词 词频(可省略) 词性(可省略)
import jieba
jieba.load_userdict('./userdict.txt') # 装载用户自定义字典
content = '需要分割的字符串'
jieba.cut_for_search(content,cut_all = True) # 默认为False,返回一个生成器对象
jieba.lcut_for_search(content,cut_all = True) # 返回列表

hanlp

中英文NLP工具包,基于tensorflow2.0

#使用pip安装

pip install hanlp

中文分词

1
2
3
4
5
import hanlp

#加载CTB_CONVSEG预训练模型进行分词
tokenizer = hanlp.load('CTB6_CONVSEG')
tokenizer('需要分割的句子')

英文分词

1
2
tokenizer = hanlp.utils.rules.tokenize_english
tokenizer('A sentence that need to tokenize!')

命名实体识别

命名实体识别(Named Entity Recognition,NER),识别一段文本中的实体;

hanlp

中文

1
2
3
4
5
import hanlp
recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)
recognizer(list('需要命名实体识别的具体'))
#
返回的是一个装有n个元祖的列表,每个元组代表一个命名实体

英文

1
2
3
4
5
import hanlp
recognizer = hanlp.load(hanlp.pretrained.ner.CONLL03_NER_BERT_BASE_UNCASED_EN)
# 注意输入是对句子进行分词后的结果,是列表的形式
recognizer(['this','is','a','sentence'])
# 返回结果是一个装有n个元祖的列表,每个元祖中的每一项代表一个命名实体

词性标注(POS)

词性标注(part-of-Speech tagging,简写POS)就是标注出一段文本中每个词汇的词性;

jieba

1
2
3
import jieba.posseg as pseg
pseg.lcut('我爱自然语言处理')
# 返回一个装有pair元祖的列表,每个pair元祖中分别是词汇,以及对应的词性

hanlp

1
2
3
4
5
6
7
8
9
10
11
# 中文
import hanlp
tagger = hanlp.load(hanlp.pretrained.pos.CTB5_POS_RNN_FASTTEXT_ZH)
# 输入分词的结果列表
tagger(list('我爱自然语言处理'))
# 结果以列表形式返回对应的词性
# 英文
import hanlp
tagger = hanlp.load(hanlo.pretrained.pos.PTB_POS_RNN_FASTTEXT_EN)
tagger(['i','love','natrual','language','processing'])
# 结果以列表形式返回对应的词性

-------------本文结束感谢您的阅读-------------
作者将会持续总结、分享,如果愿意支持作者,作者将会十分感激!!!