手把手陪你学文本分析——Chapter 1 分词的基础操作

Chapter 1.1 分词的基础操作

知识点1.1.1 分词方法的类型

1、基于规则的分词

定义:将每个字符串与词典中的每个词进行匹配,若匹配上则进行切分,反之则不进行切分

优势:简单高效

劣势:不能较好处理未登录词(新词)

2、基于统计的分词

定义:将字作为组成词的最小单位,统计大规模语料库中字与字相连共现的频次,频次越高越能认为这些相连的字能够组成一个词

优势:能够较好处理未登录词(新词)

劣势:算法较为复杂(HMM、CRF)

知识点1.1.2 基于规则分词的主要规则

1、正向最大匹配法

第一步,在需分析的文档中,从左往右取出i个字符作为待匹配的字符串,i为词典中最长的词的字符数

第二步,将待匹配的字符串与词典中的每个词进行匹配,若匹配上则进行切分,若匹配不上则将待匹配字符串的最后一个字去掉,再进行匹配,不断重复直至切分出文档中的所有词为止

2、逆向最大匹配法

第一步,生成需分析文档的逆序文档,从左往右取出i个字符作为待匹配的字符串,i为词典中最长的词的字符数

第二步,将待匹配的字符串与逆序词典中的每个逆序词进行匹配,若匹配上则进行切分,若匹配不上则将待匹配字符串的最后一个字去掉,再进行匹配,不断重复直至切分出文档中的所有词为止

3、双向最大匹配法

第一步,分别使用正向最大匹配法、逆向最大匹配法进行分词

第二步,若两种方法的分词词数相同且分词结果相同,则返回任意一个结果

​ 若两种方法的分词词数相同但分词结果不同,则返回单字个数较少的结果

​ 若两种方法的分词词数不同,则返回词数较少的结果

知识点1.1.3 分词工具的介绍——Jieba分词

工具特点:动态更新、功能多样(分词、自定义词典、词性标注、关键词提取等)、操作简单

分词方法:基于规则+基于统计(HMM,Viterbi算法)

分词模式:

(1)精确模式(默认)——试图将句子最精确地切开,适合用于文本分析

(2)全模式——把句子中所有可以成词的词语都扫描出来,速度非常快,但不能解决歧义

(3)搜索引擎模式——在精确模式的基础上,对长词再次切分,适合用于搜索引擎分词

(4)paddle模式——利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词

知识点1.1.4 Jieba分词的实战——2021年政府工作报告

#安装所需要的程序包
pip install jieba
#载入所需要的程序包
import numpy as np
import pandas as pd
import jieba
#导入需分析的文档,并查看前十行
chap1 = pd.read_csv('C:\\Users\\dell-pc\\desktop\\2021.txt', names = ['txt'], sep = ' ', encoding = 'utf-8')
chap1.head(10)
#使用jieba.cut命令进行分词,分词结果为generator,不能直接print
word_list = jieba.cut(" ".join(chap1.txt))
print(' '.join(word_list))
#使用jieba.lcut命令进行分词,分词结果为list,能够直接print
word_list = jieba.lcut(" ".join(chap1.txt))
print(word_list)
#使用精确模式进行分词
word_list = jieba.cut("我们在六稳工作基础上明确提出六保任务")
print(' '.join(word_list))
#使用全模式进行分词
word_list = jieba.cut("我们在六稳工作基础上明确提出六保任务", cut_all = True)
print(' '.join(word_list))
#使用搜索引擎模式进行分词
word_list = jieba.cut_for_search("我们在六稳工作基础上明确提出六保任务")
print(' '.join(word_list))
#使用paddle模式进行分词
jieba.enable_paddle()   #启动paddle模式
word_list = jieba.cut("我们在六稳工作基础上明确提出六保任务", use_paddle = True)
print(' '.join(word_list))

欢迎关注微信公众号“Trihub数据社”

TMS320F28335是德州仪器(TI)推出的一款数字信号处理器(DSP),用于实现各种实时控制和信号处理应用。习DSP需要掌握相关的基本知识和编程技巧。 首先,我们可以通过阅读TMS320F28335的官方文档,即TMS320F28335的PDF手册。该手册详细介绍了DSP的硬件架构、指令集、寄存器和外设等内容。通过仔细阅读和理解手册,我们可以全面掌握DSP的基本结构和工作原理。 其次,我们可以选择一个合适的开发环境,如Code Composer Studio(CCS),这是TI为DSP开发提供的集成开发环境。在CCS中,我们可以创建新的项目并配置编译器和调试器。通过CCS集成的调试功能,我们可以方便地调试和验证自己的DSP程序。 为了更好地习DSP,我们可以按照以下步骤进行实践: 1.了解DSP的基本概念和数原理,如离散傅里叶变换(DFT)、离散时间傅里叶变换(DTFT)等。 2.习DSP的编程语言,如C语言或汇编语言。TI提供了DSP的编程工具包,可以帮助我们编写和调试DSP程序。 3.选择合适的实例或项目来进行实践。可以通过加载预定义的DSP库函数或手动编写代码来实现信号滤波、变换、调制等功能。 4.通过仿真和调试,验证自己的程序是否符合预期。根据调试结果进行修改和改进,直到达到要求。 5.不断习和积累经验,参考相关的书籍和教程,习其他高级的DSP算法和应用。 总之,习DSP需要理论和实践相结合。通过阅读TMS320F28335的官方文档,配置开发环境,习基本概念和编程语言,进行实践和调试,我们可以逐步掌握DSP的原理和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值