一. 文本分词概述
-
文本分词是将字符串文本划分为有意义的单位的过程,如词语、句子或主题。由计算机实现的文本分词结果也应该满足人类思维阅读文本时的处理模式。在现实中,英文词组是以单词为单位,以空格为分隔,在分词上具有巨大的便利性。例如,英文句子“What will the big data bring",用中文表示则为“大数据将带来什么”。计算机可以很简单地通过空格符号将data 读取成一个单词,但是却很难明白“大”“数”“据”这3个单独的字合起来才能完整地表示一个词。
-
中文分词也叫作切分, 是将中文文本分割成若干个独立、有意义的基本单位的过程。相对于英文而言,中文文本常以词语、短语、俗语等表现形式构成,因此,计算机在处理中文分词的问题上具有很大的不确定性。经过多年的研究和发展,我国在中文分词问题上已经取得巨大的成就,实现了一系列具有较高的分词准确率和效率的分词系统,并且在1992年我国就制定了《信息处理用现代汉语分词规范》,旨在为中文信息处理提供一个国家标准化的使用标准。它对规范化处理汉语信息,以及不同的汉语信息处理系统之间的兼容性起到了重要的作用。
-
现实生活中,人类可以通过已有的知识来判断一句话中哪些是词、哪些是短语等,分词算法就是实现让计算机也能像人类思维一样分割文本信息的过程。其基本的工作原理是根据输入的字符串文本进行分词处理、过滤处理,输出分词后的结果,包括英文单词、中文单词及数字串等一系列切分好的字符串。分词原理图如下图所示。
二. 中文分词算法分类
-
(1)基于字符串匹配的分词方法,即机械分词方法。它是将待处理的中文字符串与一个 “尽可能全面”的词典中的词条按照一定的规则进行匹配, 若某字符串存在于词典中,则认为该字符串匹配成功,即该字符串为识别出的一个词12。
-
(2)基于统计的分词方法,也叫作无词典分词法或统计取词方法。由于词是特定的字组合方式,那么在上下文中,相邻的单字共同出现的频率越高,则在该种字组合方式下就越有可能是构成了一个词。
-
(3)基于理解的分词方法,即人工智能方法。该方法通过语义信息和语句信息来解决歧义分词问题,并且在分词的同时进行语义和句法分析12]。
-
衡量分词系统的主要指标是切分准确率和时间效率,到目前为止,每种方法都有自己的特点,无法证明哪一种方法优于其他方法,各方法简单的对比如下表所示。
分词方法 | 基于字符串匹配的分词方法 | 基于理解的分词方法 | 基于统计的分词方法 |
---|---|---|---|
歧义识别 | 差 | 强 | 强 |
新词识别 | 差 | 强 | 强 |
词库 | 需要 | 不需要 | 不需要 |
语料库 | 不需要 | 不需要 | 需要 |
规则库 | 不需要 | 需要 | 不需要 |
算法复杂性 | 容易 | 很难 | 一般 |
技术成熟度 | 成熟 | 不成熟 | 成熟 |
实施难度 | 容易 | 很难 | 一般 |
分词准确度 | 一般 | 准确 | 较准 |
分词速度 | 快 | 慢 | 一般 |
三. MMSEG分词工具
- 中文文本的计算分析中存在的问题是:常规的中文文本中没有单词边界。为了对中文文本进行更高层次的分析,确定中文文本中的基本单位一单 词就显得十分必要。为解决中文分词问题,Chih-Hao Tsai 实现了中文分词器MMSEG4J,该分词器基于MMSEG分词算法,包括两种匹配算法、四种消除歧义的规则和一个词典。简单来说,MMSEG分词算法就是一种带有四个歧义消解规则的正相匹配算法。
四. 斯坦福NLTK分词工具
NLP研究小组,提供了包括分词器(Word Segmenter)、 命名实体识别工具(Named EntityRecognizer)、词性标注工具(Part-of-Speech Tagger) 及句法分析器(Parser) 在内的一系列开源文本分析工具,为了更好地支持中文文本的分析处理,斯坦福NLP小组特意为上述工具提供了相应的中文模型。
-
斯坦福的分词器依赖于一个线性条件随机场(Conditional Random Fields, CRF或CRFs)模型,该模型将分词过程视为一个二元决策任务,使用的三类特征分别是字符标识n-grams、形态和字符重叠特征。由于训练CRF模型是非常耗时的,通常使用CRF模型实现的分词工具虽然分词准确率很高,但是处理速度比较慢。斯坦福的分词器在2005年的国际中文处理比赛Bakeoff 中获得了两个语料的测试第一。
-
CRF是一种经常应用于模式识别和机器学习领域的统计建模方法, 其目的是为了结构化预测。由John Lafferty等人最早用于NLP技术领域,主要用于中文分词和词性标注等词法分析工作。简单来说,CRF分词的原理就是把分词当作另种形式的命名实体识别,利用特征建立概率图模型后,用Veterbi 算法求最短路径的过程,其原理易于理解。
1. CRF方法实例
-
(1) CRF将分词视为字的词位分类问题,字的词位信息分为4种,分别是词首(B)、词中(M)、词尾(E)和单字词(S)。
-
(2) CRF分词的过程就将词位标注后,把词首和词尾之间的字及单字词构成完整的分词结果
-
(3)分词实例。
-
例句:我喜欢大数据
-
CRF标注后:我(S)喜(B)欢(E)大(S)数(B)据(E)
-
分词结果:我喜欢|大数据