zoukankan      html  css  js  c++  java
  • 第四章谈谈中文分词

    1.中文分词的演变

    由于中文等语言,字与字之间是没有空格隔开的,所以需要分词。最简单的分词就是查字典。就是从左到右或者从右到左扫描一句话,然后找到最长的匹配。这种方法可以解决七八成的分词问题。但是毕竟太简单了一点。后来哈工大王晓龙博士把查字典方法理论化,发展成最少词数的分词理论,即一句话应该分成数量最少的词串。但是他无法解决“北京大学生”这样的二义性分割问题。直到20世纪90年代,郭进博士用统计语言模型成功解决了分词二义性问题。假设我们有几种不同的分词方法,那么最好的方法应该是出现概率最大的划分。

    在分词上,没有一种绝对正确的划分,根据不同的需要,我们可能有不同的划分方法,“北京大学”,我们可以直接分成“北京大学”,或者分成“北京”+“大学”。

    另外不止中文需要分词,有时候,英语也需要分词,尤其是单词间空格不清楚的手写体。

    最后,虽然统计语言模型分词可以取得比人工更好的结果,但也不是完全正确,我们只能遵循“大多数人的想法”。

    2.延伸阅读:工程上的细节问题

    2.1 分词一致性

    正如上面说的,分词没有绝对正确的,对一个词可能会有不同的分法。我们不能说准确率97%的一定比95%的分词器好,只能说97%的和人工分词结果更吻合。

    2.2 词的颗粒度和层次

    分词不一致的主要原因在于人们对词的颗粒度的认识问题。有些地方(比如机器翻译),颗粒度大的效果好,但是有些地方(比如网页搜索),颗粒度小的比较好。次要原因是分词的错误造成的,比如把“北京大学生”分成“北京大学”、“生”,这种属于越界型错误;还有就是把“性价比”这样的词分成三个,这是覆盖型错误。

    我们不可能对不同的应用构造不同的分词器,最好是让一个分词器同时支持不同层次的词的切分。

    首先我们需要“北京”、“大学”这样的即本次和“北京大学”这样的复合词,为它们各建立一个语言模型L1,L2。先用基本词分句,在用复合词整合。

  • 相关阅读:
    基于 Hexo + GitHub Pages 搭建个人博客(一)
    我对软件工程这门课的理解
    SpringMVC 框架系列之组件概述与配置详解
    2018上半年广东省中小学教师资格认定流程
    教师资格笔试究竟应该如何备考?
    SpringMVC 框架系列之初识与入门实例
    PyCharm 2017.3 下载与安装
    【SSH框架】系列之 Spring 整合 Hibernate 框架
    Spring 框架系列之事务管理
    Spring 框架系列之 JDBC 整合实例
  • 原文地址:https://www.cnblogs.com/KingKou/p/3810870.html
Copyright © 2011-2022 走看看