当前位置: 首页 > news >正文

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

目录

前言

1. 导入jieba分词器

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

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

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

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

总结


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

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

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

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

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

前言

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

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

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

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

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


实验步骤:

1. 导入jieba分词器

代码:

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

截图:

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

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

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

代码:

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 表示全模式。

代码:

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

截图:

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

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

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

代码:

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

截图:

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

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

代码:

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

截图:


总结

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 7.1图像平移
  • 安科瑞Acrel-1000DP分布式光伏监控系统平台的设计与应用-安科瑞 蒋静
  • 哈希表、算法
  • jupyter notebook详细介绍-学习篇
  • 网络编程(UDP)
  • 云原生周刊:OpenTofu Registry 获得用户界面和 API|2024.9.9
  • 【C语言】揭开计数制的面纱:深入浅出二进制及二进制计算
  • JavaEE 第23节 TCP的流量控制与阻塞控制详解
  • 芝法酱学习笔记(0.1)——Ubuntu下,Java开发环境的基本搭建
  • 解锁Python中的人脸识别:Face Recognition库详解与应用
  • jmeter基准测试详解
  • Unity TextMeshPro 设置竖排
  • 常见概念 -- 光回波损耗
  • 快速入门游戏领域,开发游戏需要哪些技术?
  • 数理金融工程毕业之后求职应用方向,量化交易方面如何
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angular 4.x 动态创建组件
  • Angularjs之国际化
  • C++入门教程(10):for 语句
  • CentOS 7 修改主机名
  • Idea+maven+scala构建包并在spark on yarn 运行
  • js继承的实现方法
  • Next.js之基础概念(二)
  • node 版本过低
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 浅谈Golang中select的用法
  • 与 ConTeXt MkIV 官方文档的接驳
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​io --- 处理流的核心工具​
  • #include到底该写在哪
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (C语言)逆序输出字符串
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (二十三)Flask之高频面试点
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (六)软件测试分工
  • (十三)Maven插件解析运行机制
  • (四)模仿学习-完成后台管理页面查询
  • (转)【Hibernate总结系列】使用举例
  • (转)Linux下编译安装log4cxx
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .Net插件开发开源框架
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @EnableAsync和@Async开始异步任务支持
  • @TableLogic注解说明,以及对增删改查的影响
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝