动态规划的中文分词方法
中文分词方法有很多,其中基于词典的分词方法有:
- 基于模式匹配的方法:(速度快)
正向最大匹配、逆向最大匹配法、双向匹配法
- 基于规则的方法:(索引压缩的效果最好)
- 统计语言模型分词(2-gram,3-gram)
- 串频统计的汉语自动分词
除了这些基本的方法,为了获得最佳的效果,也可以引入动态规划的方法获得最优解。
设句子P = W0W1W2⋯Wn , 其中Wi (0≤i≤n) 为句子P中的第i 个汉字。Si(0≤i≤n+1)为句子的第i个间隙(切分位置)
那么一个句子P理论上有多少种分词法呢?
分词分法总数的通项:F(n)表示一个有n个单词的句子包含的全部不同的分词方法。
F(n)=1+ F(n-1)+F(n-2)+F(n-3)+F(n-4)+..F(1)
F(1)=1
F(2)=2
F(3)=4
F(4)=8
…
F(n)=2F(n-1)
则F(n)=2n-1
如果将词频看做是距离,则求解最佳切分方法等价于在2n-1的解空间中寻找1种最佳的切分方法使得路径最大。为此我们举个例子:
早起先刷牙
图中红圈为切分点,切分点之间的连线表示确定的一种分词
图中给出了三种分法,分别是[早][起][先][刷][牙]、[早起][先][刷牙]和[早][起先][刷牙]
使用bigram的情况下:分别计算这几种划分方法的概率:
P([早][起][先][刷][牙])=P(早)*P(起|早)*P(先|起)*P(刷|先)*P(牙|刷)
p([早起][先][刷牙])=P(早起)*P(先|早起)*P(刷牙|先)
P([早][起先][刷牙])=P(早)*P(起先|早)*P(刷牙|起先)
通过选出这3种方案中概率最大的一种,以此来作为最佳的划分方案。
参考文献
[1]孙 晓, 黄德根 基于动态规划的最小代价路径汉语自动分词 [J]小型微型计算机系统 第27 卷第3 期2006 年3 月
其他推荐阅读
http://www.leadbbs.com/MINI/default.asp?230-2682632-0-0-0-0-0-a-.htm
动态规划的中文分词方法相关推荐
- 转一个,中文分词方法概述
感兴趣的可以看看自然语言理解,很好的图书,可以了解中文的处理过程, 动态规划的中文分词方法 中文分词方法有很多,其中基于词典的分词方法有: 基于模式匹配的方法:(速度快) ...
- 中文分词方法汇总笔记
中文分词方法汇总笔记 分词难点 分词方法 传统基于字典(规则分词) 基于机器学习的分词方法 统计分词 语言模型 隐马尔可夫 HMM 模型 其他 分词工具和云服务 其他 感谢知乎 @华天清 的总结 分词 ...
- 计算机毕设分词,毕业设计(论文)+计算机科学与技术+中文分词方法研究与实现论文全文.doc...
毕业论文 中文分词方法研究与实现 计算机工程系学生姓名: 学号: 计算机工程系 计算机科学与技术系 部: 计算机科学与技术 专 业: 指导教师: 诚信声明 本人郑重声明:本设计(论文)及其研究工作是本 ...
- 计算机毕设——中文分词方法研究与实现
毕业论文 中文分词方法研究与实现 1.课题意义及目标 中文分词技术不断发展,各种中文分词系统层出不穷.中文分词技术应用也原来越广泛.如搜索引擎的应用.语音识别系统.机器翻译.自动分类校对等.学生应通过 ...
- Macropodus中文分词方法综述详解(CWS, chinese word segment)
一.Macropodus简介 Macropodus自然语言处理工具(Albert+BiLSTM+CRF) 拥有中文分词 命名实体识别 新词发现 关键词 文本摘要 计算器 中文 数字阿拉伯数字转换等算法 ...
- php自定义中文分词方法,一个用PHP写的中文分词函数_php
class Segmentation { var $options = array('lowercase' => TRUE, 'segment_english' => FALSE); va ...
- php自定义中文分词方法,PHPAnalysis中文分词类详解
PHPAnalysis是目前广泛使用的中文分词类,使用反向匹配模式分词,因此兼容编码更广泛,现将其变量与常用函数详解如下: 一.比较重要的成员变量 $resultType = 1 生 ...
- php自定义中文分词方法,php实现的中文分词类完整实例
本文实例讲述了php实现的中文分词类.分享给大家供大家参考,具体如下: 该中文分词类源码使用http://tools.jb51.net/code/jb51_php_format进行了格式化处理,便于阅 ...
- 中文路径_中文分词的原理、方法与工具
海德格尔说"词语破碎处,无物可存在".中文句子不像英文那样的词与词之间有显示空格边界,使得词和词组边界模糊. 为了让计算机更容易理解文本,通常中文信息处理的第一步是中文分词.中文分 ...
最新文章
- Amazon关键词抓取
- ((ios开发学习笔记五))手动创建Tab Bar Controller 程序
- A Faster Volatile
- TensorFlow MNIST CNN LeNet5模型
- 汉语编程能获得诺贝尔奖
- leetcode1451. 重新排列句子中的单词(排序)
- linux开源游戏_2014年杰出的开源和Linux游戏
- TreeMap的排序
- 每天Leetcode 刷题 初级算法篇-缺失数字
- Canvas.Top和Canvas.Left属性
- 统计学附录,F分布和t分布表
- oracle中日期转换格式,oracle日期格式转换 to_date()
- T和?是什么 ?有什么区别?
- Jupyter/IPython笔记本集合 !(附大量资源链接)-上篇
- hexo+yilia添加百度统计和Google统计
- CSS图片底部留白的解决办法
- (28)Verilog实现倍频【方法三】
- 网页点名器(移动端、pc端)
- 内核——eCos内核概览
- 十年磨一剑,霜刃未曾试(纪念最爱——加内特)
热门文章
- Nuitka打包教程
- gamit怎么利用glred生成测站时间序列_香侬读 | 按什么套路生成?基于插入和删除的序列生成方法
- Ubuntu16.04声卡配置
- Vue中MarvinJS(化学结构式)
- 五大机器学习微信公众号推荐
- WorkNC配置与MAKINO牧野 MCC2013 6轴加工中心
- InputStream 中available 的使用
- vscode 添加万能头文件#include<bits/stdc++.h>
- 1.1.1和1.1.2支持漫游运营商LOGO更换
- C#多人抢票模拟器,假设高铁有seatCount个座位