中文分词主要分为三个流派:

机械式分词法(基于词典):
简单来说就是建立一个巨大的词典,然后将词典中的词语和文章中的词语相匹配,找到这个词语就算匹配成功,但是词典的完备性得不到保证。也就是文章中的有的词语在词典中找不到。

基于语法和规则的分词法:
分词的同时在句法语义方面进行分析,利用句法信息和语义信息进行词性标注,解决分词的歧义。
因为现在的语法句法还十分复杂,所以精度还不高。

基于统计的分词法
根据字符串在语料库中出现的统计频率来决定这是否是一个词语。

本文主要介绍ICTCLAS中文分词的来源与现状。

什么是词语和分词规范
有人做过一个测试,被测试的有三个人来自内地 三个人来自台湾,分词结果差异最大0.69最小0.89平均认同率0.76说明同是汉语使用者的分词标准有分歧
本书涉及的分词规范有两类:

第一类包括《北大(中科院)词性标注》、《现代汉语语料库加工规范---词语切分与词性标注》、《北京大学现代汉语语料库基本加工规范》三篇文章。

第二类为《宾州树库中文分词规范》,http://www.threedweb.cn/thread-1478-1-1.html下载

将汉语的词类主要分为13种:名词、动词、代词、形容词、数词、量词、副词、介词、连词、助词、语气词、叹词和象声词。

两种分词标准:
例如:浙江大学坐落在西湖旁边
粗粒度:浙江大学、坐落、在、西湖、旁边
细粒度:浙江、大学、坐落、在、西湖、旁边

粗粒度主要应用在自然语言处理的应用
细粒度主要应用在搜索引擎

机械分词方法采用自动分词词典中的词语从前往后匹配和从后往前匹配,这个方法没有考虑词汇上下文的相关性,准确度不高,不能满足高精度文本处理的需求。

这个机械分词的缺陷揭示一个重要规律:
也就是每个词语的出现是和前后上下文有关系的,但是上下文依赖关系不能考虑太远的词语,如果假设每个词语只和相邻的一个词语有关系,就提出了二元模型,一阶Markov链:

感觉51CTO要提供一个公式编辑器,不然这个还能不能好好写下去:
下面有个python实现二元模型的代码,代码我就不抄了,简单来说,几元模型就是和相邻的几个词语有关系。
https://www.2cto.com/net/201701/588278.html

分词中还要解决一个问题就是词语是不断更新的,词库里面是没有的,这个问题叫做未登录词识别:
基于半监督的条件随机场(semi-CRF)算法 对于处理不同领域的专名识别具有较低的成本和较好的效果。

https://www.zhihu.com/question/35866596

ICRCLAS汉语分词系统是由张华平博士于2002年设计开发的。。。。。历史我就不说了还是感谢作者张华平博士提供了这么好的系统,现在很多知名互联网公司都以这个算法为分词系统的核心算法。

hanLP分词模块的流程:

http://www.hankcs.com/nlp/python-calls-hanlp.html

Nshort算法原理
1、从此图中构建处节点和权重排序数组
2、从此图中过滤掉排序数组中权重较高的路径
http://www.xuebuyuan.com/743558.html