NLP|中文分词技术及应用

article/2025/9/23 0:44:59
 

摘要:中文分词是中文信息处理的重要基础,本文详细阐述了目前主要的几种中文分词算法的技术原理 、中文分词目前的瓶颈和评价准则,以及中文分词的具体应用。

中文分词指将一个汉字序列切分成一个个单独的词。现有的中文分词算法有五大类:基于词典的方法,基于统计的方法,基于规则的方法,基于字标注的方法,基于人工智能技术(基于理解)的方法。中文分词目前主要有四个瓶颈,分别是分词歧义、未登录词识别、分词粒度问题、错别字和谐音字规范化。中文分词有五大评价准则:分词正确率,切分速度,功能完备性,易扩充性和可维护性,可移植性。中文信息处理包括三个层次:词法分析,句法分析,语义分析,其中中文分词是词法分析的第一步,非常重要。中文分词是大部分下游应用的基础,这些下游应用小到POS词性标注、NER命名实体识别,大到自动分类、自动摘要、自动校对、语言模型、机器翻译、搜索引擎、语音合成等等。

一、 中文分词是什么

中文分词是中文信息处理的基本技术,指将一个汉字序列切分成一个个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记。

二、中文分词的技术原理

2.1 中文分词算法

现有的中文分词算法有五大类:基于词典的分词方法,基于统计的分词方法,基于规则的分词方法,基于字标注的分词方法,基于人工智能技术(基于理解)的分词方法。

图1:中文分词算法总结

2.1.1 基于词典的方法

基于词典的方法:字符串匹配,机械分词方法

原理:按照一定策略将待分析的汉字串与一个“大机器词典”中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。

  • 按照扫描方向的不同:正向匹配 & 逆向匹配

  • 按照长度的不同:最大匹配 & 最小匹配

  • 按照是否与词性标注过程相结合:单纯分词方法 & 分词与标注相结合

1.正向最大匹配算法(MM)

步骤

  • 从左向右取待切分汉语句的m个字符作为匹配字段,m为大机器词典中最长词条个数

  • 查找大机器词典并进行匹配,若匹配成功,则将这个匹配字段作为一个词切分出来;若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为信我的匹配字段,进行再次匹配,重复以上过程直到切分出所有词为止

2.邻近匹配算法

邻近匹配算法

  • 对正向最大匹配算法的改进,因为正向正向最大匹配算法对每个不存在的长字符串都要进行一次二分搜索,算法复杂度太高,可以利用同一个首字符下的词条按升序排列这一条件,在找到某个字符串后,在其后增加一个字得到一个新字串,如果新字串在词典中出现,那么新词一定在原字串的后面,且相隔位置不会太远

  • 优点:可以加快匹配进程

3.逆向最大匹配算法(RMM)

逆向最大匹配算法

  • 是正向最大匹配的逆向思维(最大匹配的顺序不是从首字母开始,而是从末尾开始,由右向左),匹配不成功,将匹配字段的最前一个字去掉

  • 优点:逆向最大匹配算法要优于正向最大匹配算法(实践证明)

4.双向最大匹配法(Bi-directction Matching method,BM)

双向最大匹配法:将正向最大匹配法得到的分词结果和逆向最大匹配法的到的结果进行比较,从而决定正确的分词方法。

中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正确,只有大概9.0%的句子两种切分方法得到的结果不一样,但其中必有一个是正确


http://chatgpt.dhexx.cn/article/4K4DrlKo.shtml

相关文章

入门科普:一文看懂NLP和中文分词算法(附代码举例)

导读:在人类社会中,语言扮演着重要的角色,语言是人类区别于其他动物的根本标志,没有语言,人类的思维无从谈起,沟通交流更是无源之水。 所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言…

中文分词算法—— 基于词典的方法

1、基于词典的方法(字符串匹配,机械分词方法) 定义:按照一定策略将待分析的汉字串与一个“大机器词典”中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。 按照扫描方向的不同:正向匹配和逆向匹配…

【NLP】中文分词:原理及分词算法

一、中文分词 词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。 Lucene中…

常见分词算法综述

常见分词算法综述 文章目录 常见分词算法综述一、基于词典的分词1. 最大匹配分词算法2. 最短路径分词算法:2.1基于dijkstra算法求最短路径:2.2N-dijkstra算法求最短路径:2.3. 基于n-gram model的分词算法: 二、基于字的分词算法生…

中文分词原理及分词工具介绍

转自:https://blog.csdn.net/flysky1991/article/details/73948971 本文首先介绍下中文分词的基本原理,然后介绍下国内比较流行的中文分词工具,如jieba、SnowNLP、THULAC、NLPIR,上述分词工具都已经在github上开源,后…

中文分词常见方法

中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果…

自然语言处理之中文分词技术与算法

1 正向最大匹配法 1.1 正向最大匹配(Maximum Match Method, MM法)的基本思想: 假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词&#…

列举:中文分词算法你知道几种?

列举:中文分词算法你知道几种? 摘要:看似普通的一句话,甚至几个词,在机器眼里都要经过好几道“程序”。这个过程主要靠中文分词算法,这个算法分为三大类:机械分词算法、基于n元语法的分词算法、…

(转)Linux下管道的原理

7.1.1 Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制。从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为: 限制管…

Linux之进程间通信——管道

文章目录 前言一、进程间通信1.概念2.目的3.进程间通信分类 二、管道1.管道介绍2.管道分类1.匿名管道pipi创建管道文件,打开读写端fork子进程关闭父进程的写入端,关闭子进程的读取端读写特征管道特征 2.命名管道mkfifo创建管道文件删除管道文件通信 三、…

Linux系统中的管道通信

目录 管道如何通信 管道的访问控制机制: 匿名管道 匿名管道数据传输的原理 如何使用(代码案例) 用C/C代码编译实现父子进程间通信案例 : 思路 实现 命名管道 为什么要有命名管道 回归进程间通信的本质 匿名管道的短板…

linux 管道 (单管道与双管道)

管道的局限性: ①数据不能进程自己写,自己读。 ②管道中数据不可反复读取。-旦读走, 管道中不再存在。 ③采用半双工通信方式,数据只能在单方向上流动。 ④只能在有公共祖先的进程间使用管道 单通道将小写字母改为大写例程: #in…

Linux 管道文件

管道分为无名管道和有名管道两种管道,管道文件是建立在内存之上可以同时被两个进程访问的文件。 先来说说有名管道: mkfifo函数创建有名管道,属于系统调用。 在linux操作系统中为实现下述功能, 先创建一个有名管道文件fifo。 …

【Linux】Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】

目录 🐋Cut— 根据条件 从命令结果中 提取 对应内容 🐋sort—可针对文本文件的内容,以行为单位来排序。 🐋wc命令— 显示/统计 指定文件 字节数, 单词数, 行数 信息. 🐋 uniq— 用于检查及删除文本文件中重复出现的…

Linux管道命令(pipe)全

目录 选取命令:cut、grep 传送门 排序命令:sort、wc、uniq 传送门 双向重定向:tee 字符转换命令:tr、col、join、paste、expand 传送门 划分命令:split 传送门 参数代换:xargs 传送门 关于减号…

Linux中管道命令的用法

原文地址:http://blog.csdn.net/wirelessqa/article/details/8968381 一. 管道命令 管道命令操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,…

Linux管道符

管道 1、管道符 管道符:| 作用:管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。 2、过滤功能 # ls / | gr…

linux管道相关命令

目标 cutsortwcuniqteetrsplitawksedgrep 准备数据 zhangsan 68 99 26 lisi 98 66 96 wangwu 38 33 86 zhaoliu 78 44 36 maq 88 22 66 zhouba 98 44 46以上是成绩表信息 使用 逗号 分割, 第一列 是 姓名, 第二列是 语文成绩, 第三列是 数学成绩, 第四列是 英语成绩 需求1: …

Linux管道到底能有多快?

【CSDN 编者按】本文作者通过一个示例程序,演示了通过Linux管道读写数据的性能优化过程,使吞吐量从最初的 3.5GiB/s,提高到最终的 65GiB/s。即便只是一个小例子,可它涉及的知识点却不少,包括零拷贝操作、环形缓冲区、分…

linux管道pipe详解

管道 管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。有如下特质: 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个文件描述符引用,一个表…