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

server/2024/9/30 0:15:57/

目录

前言

1. 导入jieba分词器

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

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

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

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

总结


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

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

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

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

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

前言

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

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

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

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

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


实验步骤:

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)

截图:


总结

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

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


http://www.ppmy.cn/server/124722.html

相关文章

【RocketMQ】SpringBoot整合RocketMQ

🎯 导读:本文档详细介绍了如何在Spring Boot应用中集成Apache RocketMQ,并实现消息生产和消费功能。首先通过创建消息生产者项目,配置POM文件引入RocketMQ依赖,实现同步消息发送,并展示了如何发送普通字符串…

二分查找详解(Java版)

目录 一.什么是二分查找? 二.二分查找的实现: 三.二分查找的进阶算法: 1.寻找左侧重复元素的索引值: 2.寻找元素有序排列的插入位置: 目的: 实现: 举例: 细节: …

成功使用DDNS动态域名访问我的群晖NAS(TP-link路由器)

当NAS设备部署在动态IP环境中(如家庭或小型办公室宽带),远程访问常常受到IP地址频繁变动的困扰。为了解决这一问题,结合神卓互联NAS公网助手提供的DDNS(动态域名服务)功能,我们可以轻松实现通过…

Vscode超好看的渐变主题插件

样式效果: 插件使用方法: 然后重启,之后会显示vccode损坏,不用理会,因为这个插件是更改了应用内部代码,直接不再显示即可。

ubuntu命令行设置wifi和宽带连接

在Ubuntu中,你可以使用命令行工具来设置Wi-Fi和宽带连接。以下是具体的步骤: 设置Wi-Fi连接 1. 使用 nmcli 工具 nmcli 是一个用于控制NetworkManager并报告其状态的命令行工具。 查看可用的Wi-Fi网络: nmcli dev wifi list连接到Wi-Fi网络…

轻量级日志管理系统SpringBoot3+Loki+grafana的使用实例

目录 文章目录 目录1、简介2、SpringBoot3应用发送日志到Loki2.1、基本介绍2.2、添加依赖2.3、配置文件application.yml2.4、创建logback配置2.5、添加日志示例2.6、运行SpringBoot3 3、在grafana中查看日志3.1、登录grafana3.2、查询日志3.3、查询我们的SpringBoot发送过来的日…

lua基础语法

Lua 是一种轻量级的脚本语言,它以其简洁和灵活性而闻名。以下是 Lua 基础语法的一些关键点: 1. 变量声明 Lua 中的变量声明需要使用 local 关键字,表示变量的作用域仅限于当前区块。 local x 10 -- 局部变量 x 20 -- 全局变量&a…

uniapp 动态修改input样式

最近在用HBuilderx工具开发蓝牙调试工具,项目采用uniapp、vue3.0架构,需求设计为在向蓝牙模块发送数据之前,监测input是否为空,如果为空,则input边框橙红色。界面如下图所示: uniapp架构采用 .vue格式文件&…