谈谈分词

语言模型与词

语言模型是建立在词的基础上的,而词是表达语意的最小单元。

中文分词方法的演变

查字典

实际就是把一个句子从左到右扫描一遍,遇到字典里有的词就标识出来,遇到复合词(比如“上海大学”)就找最长的词匹配,遇到不认识的字串就分割成单字词。

最少词数分词法

最大词数分词法

优缺点

优点:简单,可以解决七八成以上的分词问题,在复杂性(成本)不高的前提下,效果还不错。

缺点:无法解决分词二义性(有双重理解意思)问题。

基于统计语言模型的分词

分词器由词典和统计语言模型两部分组成。

加上的统计语言模型来解决分词的二义性问题,将汉语分词的错误率降低一个数量级。

如何衡量分词的结果

分词的一致性

在将统计语言模型用于分词以前,分词的准确率通常较低。不同的人切分的差异虽然会影响分词评测的准确性,但是好的方法与坏的方法还是可以根据分词结果与人工切分的比较来衡量的。

当统计语言模型被广泛应用后,不同的分词器产生的结果的差异要远远小于不同人之间的差异,这时简单的依靠人工分词的结果比较来衡量分词器的准确性就很难,甚至是毫无意义了。==所幸的是,现在中文分词是一个已经解决了的问题,提高的空间微乎其微,只要采用统计语言模型,效果都差不到哪里去。==

词的颗粒度和层次

我们可以构造不同的分词器,但是这样做不仅非常浪费,而且没必要。更好的做法是让一个分词器同时支持不同层次的词的切分。然后由不同的应用自行决定切分的颗粒度。

原理和实现

  • 首先需要一个基本词表和一个复合词表。基本词表是那些无法再分的词,如“清华”、“大学”等。复合词表包含复合词以及他们由哪些基本词构成,比如“清华大学:清华 - 大学”、“搜索引擎:搜索 - 引擎”。
  • 接下来需要根据基本词表和复合词表各建立一个语言模型,比如L1和L2。
  • 然后根据基本词表和语言模型L1对句子进行分词,得到小粒度的分词结果。基本词比较稳定,分词方法又是解决了的,因此小颗粒度的分词除了偶尔增加点新词外,不需要什么额外点研究或工作。
  • 在此基础上,再用复合词表和语言模型L2进行第二次分词。

对于某些应用,需要尽可能的找到各种复合词,而不是将其切分。要继续做数据挖掘,不断完善复合词的词典(它的增长速度较快),这也是近年来中文分词工作的重点。

参考

数学之美,作者:吴军

你可能感兴趣的:(语言,算法&数据结构,搜索引擎)