【自然语言处理】实验一:基于NLP工具的中文分词

目录

前言

[1. 导入jieba分词器](#1. 导入jieba分词器)

[2. 用精确模式进行中文分词](#2. 用精确模式进行中文分词)

[3. 用全模式进行中文分词](#3. 用全模式进行中文分词)

[4. 用搜索引擎进行中文分词](#4. 用搜索引擎进行中文分词)

[5. 利用 lcut返回结果列表(list)](#5. 利用 lcut返回结果列表(list))

总结


🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。

💡本文由Filotimo__✍️原创,首发于CSDN📚。

📣如需转载,请事先与我联系以获得授权⚠️。

🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!

🌟我的格言:森林草木都有自己认为对的角度🌟。

前言

jieba分词库提供了三种分词模式:精确模式、全模式和搜索引擎模式。

这里是三种分词模式的特点:

1.精确模式:试图将句于最精确地切开,精确分词是默认分词;

2.全模式:把句子中所有的可能是词语的都扫描出来,速度非常快,但不能解决歧义;

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

实验步骤:

1. 导入jieba分词器

代码:

python 复制代码
pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple
python 复制代码
import jieba
sentence="""现如今,人工智能已经成为大众耳熟能详的词汇,而自然语言处理却很少有人了解,
自然语言处理属于人工智能的一个子领域,它对计算机和人类的交互方式有许多重要的影响。"""

截图:

2. 用精确模式进行中文分词

精确模式是默认的分词模式,它试图将文本精确地切分成词语,适用于文本分析和挖掘等任务。在精确模式下,jieba分词库会对待分的句子进行全词匹配,找出所有可能的词语,然后依据词典中的词语频率计算出最可能的切分结果。

精确模式的调用方法是:jieba.cut(text, cut_all=False),其中 cut_all=False 表示精确模式。

代码:

python 复制代码
seg_list1=jieba.cut(sentence,cut_all=False)
print("精确模式:"+"/".join(seg_list1))
print("cut分词结果的类型为:",type(seg_list1))

截图:

3. 用全模式进行中文分词

全模式是一种比较宽松的分词模式,它会将文本中所有可能的词语都分出来,适用于一些对速度要求比较高的场景。在全模式下,jieba分词库会对待分的句子进行正向最大匹配,即从前往后扫描文本,找到最长的可能词语,然后将其切分出来,再从新的位置开始继续扫描。

全模式的调用方法是:jieba.cut(text, cut_all=True),其中 cut_all=True 表示全模式。

代码:

python 复制代码
seg_list2=jieba.cut(sentence,cut_all=True)
print("全模式:"+"/".join(seg_list2))

截图:

4. 用搜索引擎进行中文分词

搜索引擎模式是一种更加智能的分词模式,它在精确模式的基础上,对长词再次进行切分,适用于搜索引擎等场景。在搜索引擎模式下,jieba分词库会使用最大概率法分出一些比较长的词语,然后在这些长词中再次使用全模式进行切分,最终得到最可能的切分结果。

搜索引擎模式的调用方法是:jieba.cut_for_search(text)

代码:

python 复制代码
seg_list3=jieba.cut_for_search(sentence)
print("搜索引擎模式:"+"/".join(seg_list3))

截图:

5. 利用 lcut返回结果列表(list)

jieba.lcut 是 jieba 库中用于中文分词的一个方法,jieba 是一个常用的中文分词工具,能将中文文本切分成词汇,这个方法特别适用于需要得到分词列表的场景。

代码:

python 复制代码
seg_list4=jieba.lcut(sentence)
print("lcut切分结果(列表形式):",seg_list4)

截图:


总结

分词是中文处理中的关键步骤,它将连续的文本划分为有意义的词汇单元,为后续的文本分析和处理奠定了基础。

不同的工具选择和参数调整对分词效果有显著影响,我们要选择合适的工具去进行分词处理。

相关推荐
Moshow郑锴22 分钟前
人工智能中的(特征选择)数据过滤方法和包裹方法
人工智能
TY-20251 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn
CareyWYR2 小时前
苹果芯片Mac使用Docker部署MinerU api服务
人工智能
失散132 小时前
自然语言处理——02 文本预处理(下)
人工智能·自然语言处理
wyiyiyi2 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101632 小时前
嵌入式学习(day 28)线程
jvm·学习
mit6.8242 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
sinat_286945193 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
没有bug.的程序员3 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋3 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat