Python机器学习NLP自然语言处理基本操作精确分词
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python机器学习NLP⾃然语⾔处理基本操作精确分词
⽬录
概述
分词器 jieba
安装
精确分词
全模式
搜索引擎模式
获取词性
概述
从今天开始我们将开启⼀段⾃然语⾔处理 (NLP) 的旅程. ⾃然语⾔处理可以让来处理, 理解, 以及运⽤⼈类的语⾔, 实现机器语⾔和⼈类语⾔之间的沟通桥梁.
分词器 jieba
jieba 算法基于前缀词典实现⾼效的词图扫描, ⽣成句⼦中汉字所有可能成词的情况所构成的有向⽆环图. 通过动态规划查找最⼤概率路径, 找出基于词频的最⼤切分组合. 对于未登录词采⽤了基于汉字成词能⼒的 HMM 模型, 使⽤ Viterbi 算法.
安装
pip install jieba
查看是否安装成功:
import jieba
print(jieba.__version__)
输出结果:
0.42.1
精确分词
精确分词: 精确模式试图将句⼦最精确地切开, 精确分词也是默认分词.
格式:
jieba.cut(content, cut_all=False)
参数:
content: 需要分词的内容
cut_all: 如果为 True 则为全模式, False 为精确模式
例⼦:
import jieba
# 定义⽂本
content = "⾃然语⾔处理是⼈⼯智能和语⾔学领域的分⽀学科。
此领域探讨如何处理及运⽤⾃然语⾔;⾃然语⾔处理包括多⽅⾯和步骤,基本有认知、理解、⽣成等部分。
"
# 精确分词
seg = jieba.cut(content, cut_all=False)
# 调试输出
print([word for word in seg])
输出结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
Loading model cost 0.984 seconds.
Prefix dict has been built successfully.
['⾃然语⾔', '处理', '是', '⼈⼯智能', '和', '语⾔学', '领域', '的', '分⽀', '学科', '。
', '此', '领域', '探讨', '如何', '处理', '及', '运⽤', '⾃然语⾔', ';', '⾃然语⾔', '处理', '包括', '多⽅⾯', '和', '步骤', ',', '基本', '有', '认知', '、', '理解', '、', '⽣成', '等', '部分', '。
']
全模式
全模式分词: 全模式会把句⼦中所有可能是词语的都扫出来. 速度⾮常快, 但不能解决歧义问题.
例⼦:
C:\Users\Windows\Anaconda3\pythonw.exe "C:/Users/Windows/Desktop/project/NLP 基础/结巴.py"
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
['⾃然', '⾃然语⾔', '语⾔', '处理', '是', '⼈⼯', '⼈⼯智能', '智能', '和', '语⾔', '语⾔学', '领域', '的', '分⽀', '学科', '。
', '此', '领域', '探讨', '如何', '何处', '处理', '及', '运⽤', '⾃然', '⾃然语⾔', '语⾔', ';', '⾃然', '⾃然语⾔', '语⾔', '处理', '包括', '多⽅', '多⽅⾯', '⽅⾯', '和', '步骤', ',', '基Loading model cost 0.999 seconds.
Prefix dict has been built successfully.
输出结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
['⾃然', '⾃然语⾔', '语⾔', '处理', '是', '⼈⼯', '⼈⼯智能', '智能', '和', '语⾔', '语⾔学', '领域', '的', '分⽀', '学科', '。
', '此', '领域', '探讨', '如何', '何处', '处理', '及', '运⽤', '⾃然', '⾃然语⾔', '语⾔', ';', '⾃然', '⾃然语⾔', '语⾔', '处理', '包括', '多⽅', '多⽅⾯', '⽅⾯', '和', '步骤', ',', '基Loading model cost 0.999 seconds.
Prefix dict has been built successfully.
搜索引擎模式
搜索引擎模式: 在精确模式的基础上, 对长词再次切分. 提⾼召回率, 适合⽤于搜索引擎分词.
例⼦:
import jieba
# 定义⽂本
content = "⾃然语⾔处理是⼈⼯智能和语⾔学领域的分⽀学科。
此领域探讨如何处理及运⽤⾃然语⾔;⾃然语⾔处理包括多⽅⾯和步骤,基本有认知、理解、⽣成等部分。
"
# 搜索引擎模式
seg = jieba.cut_for_search(content)
# 调试输出
print([word for word in seg])
输出结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
[('⾃然语⾔', 'l'), ('处理', 'v'), ('是', 'v'), ('⼈⼯智能', 'n'), ('和', 'c'), ('语⾔学', 'n'), ('领域', 'n'), ('的', 'uj'), ('分⽀', 'n'), ('学科', 'n'), ('。
', 'x'), ('此', 'zg'), ('领域', 'n'), ('探讨', 'v'), ('如何', 'r'), ('处理', 'v'), ('及', 'c'), ('运⽤', 'vn'), ('⾃然语⾔', 'l'), (';', 'x'), ('⾃然语⾔', 'l'), ('处理', 'v'), ('包括', Loading model cost 1.500 seconds.
Prefix dict has been built successfully.
获取词性
通过 jieba.posseg 模式实现词性标注.
import jieba.posseg as psg
# 定义⽂本
content = "⾃然语⾔处理是⼈⼯智能和语⾔学领域的分⽀学科。
此领域探讨如何处理及运⽤⾃然语⾔;⾃然语⾔处理包括多⽅⾯和步骤,基本有认知、理解、⽣成等部分。
"
# 分词
seg = psg.lcut(content)
# 获取词性
part_of_speech = [(x.word, x.flag) for x in seg]
# 调试输出
print(part_of_speech)
输出结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
[('⾃然语⾔', 'l'), ('处理', 'v'), ('是', 'v'), ('⼈⼯智能', 'n'), ('和', 'c'), ('语⾔学', 'n'), ('领域', 'n'), ('的', 'uj'), ('分⽀', 'n'), ('学科', 'n'), ('。
', 'x'), ('此', 'zg'), ('领域', 'n'), ('探讨', 'v'), ('如何', 'r'), ('处理', 'v'), ('及', 'c'), ('运⽤', 'vn'), ('⾃然语⾔', 'l'), (';', 'x'), ('⾃然语⾔', 'l'), ('处理', 'v'), ('包括', Loading model cost 1.500 seconds.
Prefix dict has been built successfully.
以上就是Python机器学习NLP⾃然语⾔处理基本操作之精确分词的详细内容,更多关于Python机器学习NLP⾃然语⾔处理的资料请关注其它相关⽂章!。