词法系列(一)︱中文分词技术小结几大分词引擎的介绍与比较星朝

笔者想说:觉得英文与中文分词有很大的区别,毕竟中文的表达方式跟英语有很大区别,而且语言组合形式丰富,如果把国外的内容强行搬过来用,不一样是最好的。所以这边看到有几家大牛都在中文分词以及NLP上越走越远。哈工大以及北大的张华平教授(NLPIR)的研究成果非常棒!

但是商业应用的过程中存在的以下的问题:

2、或者直接调用下文介绍的分词引擎来进行分词呢?缴费使用固然很棒,但是是否值得?

——————————————————————————————————————————

来看一下这篇论文一些中文分词工具的性能比较《开源中文分词器的比较研究_黄翼彪,2013》

8款中文分词器的综合性能排名:Paoding(准确率、分词速度、新词识别等,最棒)mmseg4j(切分速度、准确率较高)IKAnalyzerImdict-chinese-analyzerAnsj盘古分词Httpcwsjieba

——————————————————————————————————————————

中文分词技术常见的有两大类:机械分词技术、基于统计的序列标注技术。

以下是思维导图的形式展示两大区别:

虽然word2vec只有三层神经网络,但是已经取得非常好的效果。通过word2vec,可以将一个词表示为词向量,将文字数字化,更好的让计算机理解。使word2vec模型,我们可以方便的找到同义词或联系紧密的词,或者意义相反的词等。

在自然语言处理中,上下文关系非常重要,一个句子中前后词并不独立,不同的组合会有不同的意义,比如”优秀”这个词,如果前面是”不”字,则意义完全相反。RNN则考虑到网络前一时刻的输出对当前输出的影响,将隐藏层内部的节点也连接起来,即当前时刻一个节点的输入除了上一层的输出外,还包括上一时刻隐藏层的输出。RNN在理论上可以储存任意长度的转态序列,但是在不同的场景中这个长度可能不同。比如在词的预测例子中:

1,“他是亿万富翁,他很?”;

2,“他的房子每平米物业费40元,并且像这样的房子他有十几套,他很?”。

从这两个句子中我们已经能猜到?代表“有钱”或其他类似的词汇,但是明显,第一句话预测最后一个词时的上线文序列很短,而第二段话较长。如果预测一个词汇需要较长的上下文,随着这个距离的增长,RNN将很难学到这些长距离的信息依赖,虽然这对我们人类相对容易。在实践中,已被证明使用最广泛的模型是LSTM(Long Short-Term Memory,长短时记忆)很好的解决了这个问题。

LSTM最早由Hochreiter及 Schmidhuber在1997年的论文中提出。首先LSTM也是一种RNN,不同的是LSTM能够学会远距离的上下文依赖,能够存储较远距离上下文对当前时间节点的影响。

所有的RNN都有一串重复的神经网络模块。对于标准的RNN,这个模块都比较简单,比如使用单独的tanh层。LSTM拥有类似的结构,但是不同的是,LSTM的每个模块拥有更复杂的神经网络结构:4层相互影响的神经网络。在LSTM每个单元中,因为门结构的存在,对于每个单元的转态,使得LSTM拥有增加或减少信息的能力。

Keras中包括了构建模型常用的模块,如Optimizers优化方法模块,Activations激活函数模块,Initializations初始化模块,Layers多种网络层模块等,可以非常方便快速的搭建一个网络模型,使得开发人员可以快速上手,并将精力放在模型设计而不是具体实现上。常见的神经网络模型如CNN,RNN等,使用keras都可以很快搭建出来,开发人员只需要将数据准备成keras需要的格式丢进网络训练即可。如果对keras中自带的layer有更多的需求,keras还可以自己定制所需的layer。

——————————————————————————————————————————

测试了11家中文分词引擎(各家分词系统链接地址),同时从分词准确度、歧义词切分、未登陆词(新涌现的通用词、专业术语、专有名词)三个方面进行论证。

最终的结果显示:

从分词精度来看,哈工大的语言云表现的稳定一直在第二,BostonNLP分词更好,一直在这个领域保持第一。

切分歧义是分词任务中的主要难题。 LTP的分词模块基于机器学习框架,可以很好地解决歧义问题。 同时,模型中融入了词典策略,使得LTP的分词模块可以很便捷地加入新词信息。

玻森采用的结构化预测分词模型是传统线性条件随机场(Linear-chain CRF)的一个变种。

分词与词性标注中,新词识别与组合切分歧义是两个核心挑战。玻森在这方面做了不少的优化,包括对特殊字符的处理,对比较有规律的构词方式的特征捕捉等。

例如,近些年比较流行采用半监督的方式,通过使用在大规模无标注数据上的统计数据来改善有监督学习中的标注结果,也在我们的分词实现上有所应用。比如通过使用Accessory Variety作为特征,能够比较有效发现不同领域的新词,提升泛化能力。

怎样确定两个词是否是固定的搭配呢?我们通过计算两个词间的归一化逐点互信息(NPMI)来确定两个词的搭配关系。逐点互信息(PMI),经常用在自然语言处理中,用于衡量两个事件的紧密程度。归一化逐点互信息(NPMI)是逐点互信息的归一化形式,将逐点互信息的值归一化到-1到1之间。如果两个词在一定距离范围内共同出现,则认为这两个词共现。

筛选出NPMI高的两个词作为固定搭配,然后将这组固定搭配作为一个组合特征添加到分词程序中。如“回答”和“问题”是一组固定的搭配,如果在标注“回答”的时候,就会找后面一段距离范围内是否有“问题”,如果存在那么该特征被激活。

可以看出,如果我们提取固定搭配不限制距离,会使后面偶然出现某个词的概率增大,降低该统计的稳定性。在具体实现中,我们限定了成为固定搭配的词对在原文中的距离必须小于一个常数。具体来看,可以采用倒排索引,通过词找到其所在的位置,进而判断其位置是否在可接受的区间。这个简单的实现有个比较大的问题,即在特定构造的文本中,判断两个词是否为固定搭配有可能需要遍历位置数组,每次查询就有O(n)的时间复杂度了,并且可以使用二分查找进一步降低复杂度为O(logn)。

其实这个词对检索问题有一个更高效的算法实现。我们采用滑动窗口的方法进行统计:在枚举词的同时维护一张词表,保存在当前位置前后一段距离中出现的可能成词的字符序列;当枚举词的位置向后移动时,窗口也随之移动。

这样在遍历到“回答”的时候,就可以通过查表确定后面是否有“问题”了,同样在遇到后面的“问题”也可以通过查表确定前面是否有“回答”。当枚举下一个词的时候,词表也相应地进行调整。采用哈希表的方式查询词表,这样计算一个固定搭配型时间复杂度就可以是O(1)了。

斯坦福大学自然语言处理组是世界知名的NLP研究小组,他们提供了一系列开源的Java文本分析工具,包括分词器(Word Segmenter),词性标注工具(Part-Of-Speech Tagger),命名实体识别工具(Named Entity Recognizer),句法分析器(Parser)等,可喜的事,他们还为这些工具训练了相应的中文模型,支持中文文本处理。

在使用NLTK的过程中,发现当前版本的NLTK已经提供了相应的斯坦福文本处理工具接口,包括词性标注,命名实体识别和句法分析器的接口,不过可惜的是,没有提供分词器的接口。在google无果和阅读了相应的代码后,我决定照猫画虎为NLTK写一个斯坦福中文分词器接口,这样可以方便的在Python中调用斯坦福文本处理工具,详情可见该公众号分享文。

——————————————————————————————————————————

本文选择了4个常见的分词工具,分别是:哈工大LTP、中科院计算所NLPIR、清华大学THULAC和jieba,为了对比分词速度,选择了这四个工具的c++版本进行评测。

前两个数据集是SIGHAN于2005年组织的中文分词比赛所用的数据集,也是学术界测试分词工具的标准数据集,本文用于测试各大分词工具的准确性,而最后一个数据集规模较大,用于测试分词速度。

1、MSR测试结果

2、PKU测试结果

3、人民日报测试结果

一个好的分词工具不应该只能在一个数据集上得到不错的指标,而应该在各个数据集都有很不错的表现。从这一点来看,thulac和ltp都表现非常不错。特别需要强调的一点是,哈工大的ltp支持分词模型的在线训练,即在系统自带模型的基础上可以不断地增加训练数据,来得到更加丰富、更加个性化的分词模型。

——————————————————————————————————————————

THE END
0.有书辅助阅读共读电子书听书课程有书-辅助阅读共读电子书听书课程You Might Also Like 十点读书 Books Books 酷匠阅读-电子小说阅读软件 Books 藏书馆-借书看书阅读神器 当当云阅读-有价值的正版电子书阅读平台 Books 帆书-原樊登读书 Books 中信书院 Books 湛庐阅读 Books 三联中读-让阅读更高品质 百度阅读-电子书看书阅读神器jvzquC41crvt0jurng4dqv4w{1gqr8*G8'?D'A>'G6+C;.F8/'K9'KJ':7+F7.=C'C?&GB*;:'>6'N='CH+CD.J7':;&D:*G:'GG'KG'G9+:6.G7'G;&CM*;2'K5'K>'C8+F7.>2'CI&G=*D;'G7'N='CH+CG.J9'C>&:K4kf3688A>439>@unj/cnr>e~xvqoksu6fnuq3cq~ljv/gqr|
1.手机小说,手机看书,小说在线阅读专业的手机看书网,汇集情感、言情、玄幻、鬼话、商道、历史、军事等小说jvzquC41ulqt:A3eqo5
2.看书网在线听TA的声音欢迎收听看书网的有声读物,酷狗听书,为您免费提供海量在线收听与下载的各种有声读物、小说、相声等精选内容!jvzquC41yy}/m~lqw0ipo8yu1|nvdxjwctkk8q:f7k31
3.免费看书大全合集免费看书大全在线阅读免费看书大全合集-免费看书大全在线阅读免费看书大全APP更新时间:2022-09-26 今天为大家带来的免费看书大全,就是让玩家可以随时的在线观看到更多经典的小伙内容,无需花费一分钱就可以轻松阅读,同时不论你是听书看书统统可以满足你,还可以环节视觉疲劳。 免费看书大全APP大全 开源阅读书源最新 资讯阅读 | 45.00M 查看 jvzquC41o0pvzrf0eqs0us|{1jkkk666::4ivvq
4.昌云在线看书昌云在线看书是广大书友最值得收藏的网络小说阅读网,网站收录了当前最火热的网络小说,免费提供高质量的小说最新章节,是广大网络小说爱好者必备的小说阅读网。jvzq<84yyy4kzqque0ipo8
5.品看书阁小说在线无广告全文在品看书阁,您可以在线阅读好看的小说推荐的所有章节,并下载完整txt文件。我们的平台为您提供最流畅的阅读体验,让您沉浸在精彩的故事中。jvzq<84yyy445<=rm0ipo8
6.看书否小说网闹书荒就来看书否小说网逛逛,这里有分门别类的热门小说排行榜,多种多样的在线好看小说包你畅快阅读,淋漓尽致!jvzq<84ui0qbpotw0ei0
7.书书看书网,最新热门小说,好看的小说在线阅读网站书书看书网提供全网最新最全最火的小说免费在线阅读,书书看书网是广大书友最值得收藏的网络小说阅读网,网站收录了当前最火热的网络小说,免费提供高质量的小说最新章节免费在线阅读,是广大网络小说爱好者必备的小说阅读网。jvzq<84eqjuyo7hqo1
8.看书否小说网闹书荒就来看书否小说网逛逛,这里有分门别类的热门小说排行榜,多种多样的在线好看小说包你畅快阅读,淋漓尽致!jvzq<84yyy4lcwkqw0id1
9.有书辅助阅读共读电子书听书课程十点读书 Books 听小说软件听书-懒人有声小说百家讲坛大全 Books 当当云阅读-有价值的正版电子书阅读平台 Books 网易蜗牛读书 Books 微信听书 Books 三联中读-让阅读更高品质 Books 帆书-原樊登读书 Books 得到-课程听书电子书 Books 中信书院 Books 看理想-看见另一种可能 jvzquC41crvt0jurng4dqv4m|1gqr8*G8'?D'A>'G6+C;.F8/'K9'KJ':7+F7.=C'C?&GB*;:'>6'N='CH+CD.J7':;&D:*G:'GG'KG'G9+:6.G7'G;&CM*;2'K5'K>'C8+F7.>2'CI&G=*D;'G7'N='CH+CG.J9'C>&:K4kf3688A>439>@unj/cnr>e~xvqoksu6fnuq3cq~ljv/gqr|