中文文本分词:敏感词与GAOMING系统解析
1. 中文分词方法概述
中文分词主要有基于词典的方法和统计方法这两大类型。
统计方法依赖于训练数据中的词和字符(共)出现频率等统计信息,训练数据通常是一组手动分词的文本。统计数据描述了一个字符串成为一个词的概率,或者一个词跟随另一个词的概率。分词过程是先确定一个词序列的概率,然后选择概率最高的那个序列。
基于词典的方法则基于一个简单的概念:正确的分词结果应该由合法的词组成,这些词存储在词典中或可从某些规则推导得出。一般来说,一个中文句子可能有多个合法的词序列,这时会使用最长匹配算法来选择包含最长(或等效地,最少)词的词序列。例如,“机器翻译不准确”可能有以下几种分词方式:
- 机器翻译 | 不 | 准确
- 机器 | 翻译 | 不 | 准确
- 机器翻译 | 不 | 允/准确 | 的确
在这些可能的解决方案中,最长匹配算法会选择第一种。大多数情况下,最长匹配方法能选择正确的解决方案,其准确率通常约为90%。然而,如果句子稍微改为“使用机器翻译文章不准确”,算法会选择错误的分词:“机器翻译 | 文章 | 不 | 准确”,正确的分词应该把“机器翻译”分成两个词。这些例子说明了分词对整个中文分析的影响。
分词的问题在于其歧义性。许多包含至少两个字符的中文词在现代汉语中可以分解成更简单的词,但大多数这种分解不会根本改变句法类别。例如,一个复合名词分解成名词 + 名词结构,通常不会显著改变句子的句法结构。但也有分解会导致两个类别差异很大的词,比如“将来”(副词)分解成“将 | 来”(助词 + 动词序列)会使句子结构产生很大变化,这就涉及到了敏感词。