NLP基础笔记1——中文分词技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IOT_victor/article/details/87823305

一、简介

中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

中文分词是其他中文 (信息) 处理的基础,搜索引擎、机器翻译(MT)、语音合成、自动分类、自动摘要、自动校对等等,都需要用到分词。

目前主流分词方法:基于规则,基于统计以及二者混合。

基于规则的分词:主要是人工建立词库也叫做词典,通过词典匹配的方式对句子进行划分。其实现简单高效,但是对未登陆词很难进行处理。主要有正向最大匹配法FMM,逆向最大匹配法RMM以及双向最大匹配法Bi-MM

二、准确分词方法(以jieba、hanlp为例)

1加载自定义字典

当分词工具分词不准确时,需要加载自定义词典!

正则表达式常用函数

①re.sub用于替换字符串中的匹配项

compile 函数:用于编译正则表达式,生成一个正则表达式( Pattern )对象

findall 函数:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

split 函数:按照能够匹配的子串将字符串分割后返回列表

扫描二维码关注公众号,回复: 5307425 查看本文章

 Python正则表达式

2动态调整词频和字典顺序

当分词字典的词冲突,相互影响时,需要调整词频和字典顺序!

假设字典中定义的词也可能被切开,此时需要调用jieba.suggest_freq函数

      例如“台中”,字典中定义了依然会分为“台”,“中”

②使用hanlp时,需要用sort_dict_by_lenth.py来排序字典,不然会冲突

      比如字典中有“数据挖掘算法工程师”和“数据挖掘”两个,排序后就可以最长字符串匹配

③拓展: 基于词典的中文分词

猜你喜欢

转载自blog.csdn.net/IOT_victor/article/details/87823305