文本预处理的基本方法

1.jieba的使用

精确模式分词:试图将句子最精确的切开,适合文本分析

import jieba

content = '鸿蒙系统耗费了华为10年心血,投入了数千名研发人员。这一基于微内核的系统,是为万物互联时代而生的,可带来跨设备的无缝体验'
a = jieba.cut(content,cut_all=False)  #cut_all默认为False
#将返回一个生成器对象
print(a)

#若需要返回列表内容,使用jieba.lcut
list = []
list = jieba.lcut(content,cut_all=False)
print(list)

输出结果:

<generator object Tokenizer.cut at 0x00000248AF037C48>
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\22843\AppData\Local\Temp\jieba.cache
Loading model cost 0.978 seconds.
Prefix dict has been built successfully.
['鸿蒙', '系统', '耗费', '了', '华为', '10', '年', '心血', ',', '投入', '了', '数千名', '研发', '人员', '。', '这一', '基于', '微内核', '的', '系统', ',', '是', '为', '万物', '互联', '时代', '而生', '的', ',', '可', '带来', '跨', '设备', '的', '无缝', '体验']

全模式分词:把句子中所有的可以成词的词语都扫描出来,但不能消除歧义

import jieba

content = '鸿蒙系统耗费了华为10年心血,投入了数千名研发人员。这一基于微内核的系统,是为万物互联时代而生的,可带来跨设备的无缝体验'
a = jieba.cut(content,cut_all=True)  #cut_all默认为False
#将返回一个生成器对象
print(a)

#若需要返回列表内容,使用jieba.lcut
list = []
list = jieba.lcut(content,cut_all=True)
print(list)

输出结果:

<generator object Tokenizer.cut at 0x000002A14DD67C48>
Loading model cost 0.991 seconds.
Prefix dict has been built successfully.
['鸿蒙', '系统', '耗费', '了', '华为', '10', '年', '心血', ',', '投入', '了', '数千', '数千名', '千名', '研发', '发人', '人员', '。', '这', '一', '基于', '微内核', '内核', '的', '系统', ',', '是', '为', '万物', '互联', '时代', '而', '生', '的', ',', '可', '带来', '跨', '设备', '的', '无缝', '体验']

搜索引擎模式分词:在精确模式的基础上,对长词再次切分,提高召回率。

import jieba

content = '鸿蒙系统耗费了华为10年心血,投入了数千名研发人员。这一基于微内核的系统,是为万物互联时代而生的,可带来跨设备的无缝体验'
a = jieba.cut_for_search(content)
#将返回一个生成器对象
print(a)

#若需要返回列表内容,使用jieba.lcut_for_search
list = []
list = jieba.lcut_for_search(content)
print(list)

运行结果:

<generator object Tokenizer.cut_for_search at 0x00000269919D7CC8>
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\22843\AppData\Local\Temp\jieba.cache
['鸿蒙', '系统', '耗费', '了', '华为', '10', '年', '心血', ',', '投入', '了', '数千', '千名', '数千名', '研发', '人员', '。', '这一', '基于', '内核', '微内核', '的', '系统', ',', '是', '为', '万物', '互联', '时代', '而生', '的', ',', '可', '带来', '跨', '设备', '的', '无缝', '体验']

中文繁体分词:

import jieba
content = '艱苦奮鬥更加接近開個房單價'
list = jieba.lcut(content)
print(list)

运行结果:

['艱苦', '奮鬥', '更加', '接近', '開個', '房', '單價']

使用用户自定义词典:

  • 添加自定义词典后,jieba能够准确识别词典中出现的词汇,提升整体的识别准确率
  • 词典格式:每一行分三部分:词语,词频(可省略),词性(可省略),用空格隔开,顺序不可颠倒
  • jieba词性对照表

添加自定义词典:userdict.txt

云计算 5 n
李小福 2 nr
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
import jieba
content = '八一双鹿更名为八一南昌篮球队!'
list1 = jieba.lcut(content)
print(list1)
jieba.load_userdict(r"C:\Users\22843\pythonProject3\data\userdict.txt")
list2 = jieba.lcut(content)
print(list2)

运行结果:

['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
['八一双鹿', '更名', '为', '八一', '南昌', '篮球队', '!']

2.命名实体识别(NER)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值