`
m635674608
  • 浏览: 5030884 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mmseg分词算法

 
阅读更多

MMSeg算法说明

 

首先来理解一下chunk,它是MMSeg分词算法中一个关键的概念。Chunk中包含依据上下文分出的一组词和相关的属性,包括长度(Length)、 平均长度(Average Length)、标准差的平方(Variance)和自由语素度(Degree Of Morphemic Freedom)。下面列出了这4个属性:

 

属性 含义
长度(Length) chuck中各个词的长度之和
平均长度(Average Length) 长度(Length)/词数
标准差的平方(Variance) 同数学中的定义
自由语素度(Degree Of Morphemic Freedom) 各单字词词频的对数之和

 

 

 


Chunk中的4个属性只有在需要该属性的值时才进行计算,而且只计算一次。

 

其次来理解一下规则(Rule),它是MMSeg分词算法中的又一个关键的概念。实际上我们可以将规则理解为一个过滤器(Filter),过滤掉不符合要求的chunk。MMSeg分词算法中涉及了4个规则:

 

  • 规则1:取最大匹配的chunk (Rule 1: Maximum matching)
  • 规则2:取平均词长最大的chunk (Rule 2: Largest average word length)
  • 规则3:取词长标准差最小的chunk (Rule 3: Smallest variance of word lengths)
  • 规则4:取单字词自由语素度之和最大的chunk (Rule 4: Largest sum of degree of morphemic freedom of one-character words)

 

这4个规则符合汉语成词的基本习惯。

 

再来理解一下匹配方式复杂最大匹配(Complex maximum matching):

 

复杂最大匹配先使用规则1来过滤chunks,如果过滤后的结果多于或等于2,则使用规则2继续过滤,否则终止过滤过程。如果使用规则2得到的过滤结果多 于或等于2,则使用规则3继续过滤,否则终止过滤过程。如果使用规则3得到的过滤结果多于或等于2,则使用规则4继续过滤,否则终止过滤过程。如果使用规 则 4得到的过滤结果多于或等于2,则抛出一个表示歧义的异常,否则终止过滤过程。

 

最后通过一个例句--“研究生命起源"来简述一下复杂最大匹配的分词过程。MMSeg分词算法会得到7个chunk,分别为:

 

编号 chunk 长度
0 研_究_生 3
1 研_究_生命 4
2 研究_生_命 4
3 研究_生命_起 5
4 研究_生命_起源 6
5 研究生_命_起 5
6 研究生_命_起源 6

 

使用规则1过滤后得到2个chunk,如下:

 

编号 chunk 长度
4 研究_生命_起源 6
6 研究生_命_起源 6

 

计算平均长度后为:

 

编号 chunk 长度 平均长度
4 研究_生命_起源 6 2
6 研究生_命_起源 6 2

 

使用规则2过滤后得到2个chunk,如下:

 

编号 chunk 长度 平均长度
4 研究_生命_起源 6 2
6 研究生_命_起源 6 2

 

计算标准差的平方后为:

 

编号 chunk 长度 平均长度 标准差的平方
4 研究_生命_起源 6 2 0
6 研究生_命_起源 6 2 4/9

 

使用规则3过滤后得到1个chunk,如下:

 

编号 chunk 长度 平均长度 标准差的平方
4 研究_生命_起源 6 2 0

 

匹配过程终止。最终取“研究”成词,以相同的方法继续处理“生命起源”。

 

分词效果:

 

研究_生命_起源_
研究生_教育_

 

参考地址:

 

http://blog.csdn.net/sunlylorn/article/details/7652737

http://blog.csdn.net/acceptedxukai/article/details/7390300

分享到:
评论

相关推荐

    elasticsearch的mmseg分词器安装包

    MMSEG(Maximum Matching Segmentation)是一种高效的中文分词算法,它采用了最长匹配原则,能够有效地处理歧义问题,适用于多种应用场景,如搜索引擎、信息检索等。相比其他分词器,MMSEG的优势在于它的灵活性和...

    ik+mmseg分词器

    接着,`MMSEG`(Maximum Matching Segmentation)是一种中文分词算法,它基于最长匹配原则,从待分词的字符串两端向中间进行匹配,寻找最长的词语序列。这种算法在处理歧义词和新词方面有一定的优势,因为它可以考虑...

    MMSeg 算法分词

    开源地址 https://github.com/chenlb/mmseg4j-core mmseg4j core 使用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/ )实现的中文分词器。...mmseg4j 已经实现了这两种分词算法。

    Rust中的 中文分词算法MMSEG_rust_代码_下载

    在 Rust 语言中实现中文分词算法,MMSEG(MaxMatch Segmentation)是一个常见的选择。MMSEG 是一种高效的中文分词方法,由廖雪峰在 2005 年提出,它基于最大匹配法,旨在提高分词的准确性和效率。在 Rust 中,我们...

    中文分词课设报告1

    本设计采用Trie树作为主要的数据结构,结合DAG和MMSEG分词算法来实现高效且准确的中文分词。Trie树能够快速查找和插入词汇,而DAG结构可以减少回溯,提高分词效率。 1.3 程序运行环境 报告中未明确提及具体的...

    精选_基于mmseg算法的轻量级中文分词器_源码打包

    mmseg(Modified Maximum Matching, 改进的最大匹配法)是由廖若雪提出的一种中文分词算法,它是在最大匹配法的基础上进行优化,有效地解决了歧义问题。最大匹配法通常会从字符串两端向中间进行匹配,而mmseg算法...

    GO中的中文分词算法MMSEG-Golang开发

    MMSEGO这是MMSEG的GO实现,它是中文分词算法。 待办事项清单文档/注释基准测试用法#输入字典格式键\ tFreq每个键占用一个MMSEGO。这是MMSEG的GO实现,它是中文分词算法。 待办事项列表文档/注释基准测试用法#输入...

    改进的正向最大匹配分词算法

    本文旨在介绍一种改进的正向最大匹配分词算法(MMSEG),该算法针对传统最大匹配算法存在的不足进行了优化,特别是在处理交集型歧义字段方面有所创新。通过引入预处理、互信息等概念和技术,提高了分词的效率和准确性...

    word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估

    其次,mmseg4j是基于Java实现的中文分词组件,它采用了MaxMatch(最大匹配法)算法,结合了词频统计信息,能够在一定程度上提高分词准确性。mmseg4j的特点在于其灵活性,用户可以根据需要调整分词模式,但可能在处理...

    Jcseg是基于mmseg算法的一个轻量级Java中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等

    关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时提供了最新版本的lucene、solr、elasticsearch、opensearch的搜索分词接口Jcseg是基于mmseg算法的一个轻量...

    基于mmseg算法的轻量级Java中文分词器源码

    该项目是一款基于mmseg算法的轻量级Java中文分词器源码,包含190个文件,其中Java源文件135个、Lex文件28个、XML文件7个、Markdown文件5个、属性文件3个、PNG文件3个、Git忽略文件1个、策略文件1个。该分词器具备...

    mmseg4j分词器jar包

    2. **mmseg算法**: mmseg4j的核心算法基于“最小编辑距离”(Minimum Edit Distance)的改进版,能够有效处理歧义分词问题,提高分词准确率。mmseg算法通过动态规划策略寻找最优的分词路径。 3. **词典(Dictionary...

    基于mmseg算法的轻量级Java中文分词器设计源码

    该项目为基于mmseg算法开发的轻量级Java中文分词器,源码包含205个文件,涵盖143个Java源文件、29个Lex定义文件、8个XML文件、6个Markdown文件、4个属性文件、3个PNG图片文件、2个策略文件以及1个Git忽略文件。...

    基于CARA模型的中文地理编码方法及应用

    5. 中文切词算法:本文采用MMSeg分词算法,它是针对中文文本的分词工具,在地理编码中用于提取地址中的关键信息。 6. 解析精度:方法能够将地址解析精确到户室级别,显著提高了地理编码的精确度。 7. 实验与应用:...

    Jcseg基于mmseg算法轻量级中文分词器.rar

    Jcseg基于mmseg算法轻量级中文分词器.rar

    兼容solr4.10.3的mmseg4j-1.9.1分词器

    1. `mmseg4j-core-1.9.1.jar`:这是mmseg4j的核心库文件,包含了mmseg4j的主要分词算法和数据结构。该版本号1.9.1与标题中的版本相匹配,用于实现基本的中文分词功能。 2. `mmseg4j-analysis-1.9.2-SNAPSHOT.jar`:...

    搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构

    搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构 概述:本资源旨在介绍搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构的过程,涵盖了Sphinx的基本概念、特性、安装和配置 MySQL+SphinxSE存储...

    mmseg4j分词器,内含词库

    mmseg4j采用了MaxMatch(最大匹配法)算法,这是一种常用的中文分词策略。该算法从待分词文本的两端同时进行匹配,寻找最长的可能词汇,再根据上下文信息进行调整,以达到最佳的分词效果。此外,mmseg4j还引入了动态...

    mmseg4j分词

    mmseg4j的设计灵感来源于MaxEnt Segmentation(最大熵分词)算法,这是一种基于统计模型的分词方法,它通过学习大量已标注的语料库,构建出一个概率模型来决定最佳的分词结果。与其他分词系统相比,mmseg4j具备以下...

Global site tag (gtag.js) - Google Analytics