• 【NLP_Stanford课堂】句子切分


    依照什么切分句子——标点符号

    1. 无歧义的:!?等
    2. 存在歧义的:. 英文中的.不止表示句号,也可能出现在句子中间,比如缩写Dr. 或者数字里的小数点4.3
    3. 解决方法:建立一个二元分类器
      1. 检查“.”
      2. 判断这个是不是出现在句尾
      3. 具体使用手写规则(正则表达式)、机器学习分类器,最简单的是决策树
      4. 决策树:
        1. 首先检查是否在该词之后有很多空白行,如果是,则该词是句尾,否则检查下一项
        2. 检查最后一个标点是不是?, !, 或者:,如果是,则该词是句尾,否则检查下一项
        3. 检查最后一个标点是不是句号,如果否,则该词不是句尾,并结束,否则检查下一项
        4. 检查该词是不是“etc”或者其他缩写,如果是,则该词不是句尾,否则是句尾
        5. , E-O-S 表示End-Of-Sentence
        6. 其都是基于经验所建,可以有更复杂的规则如下:
          1. 带.的词:检查第一个字母是不是大写、或者小写、是不是缩写(比如Mr.)、是不是数字
          2. 检查.之后的下一个单词:第一个字母是不是大写、小写、缩写或数字
          3. 检查带有.的数字:
            1. 检查长度,一般缩写词的长度较短
            2. 检查概率:在语料库中检索该词作为句尾出现的概率
            3. 检查概率:在语料库中检索.之后的那个单词作为句首出现的概率
        7. 决策树的本质就是一系列if-then-else的声明,所以关键在于如何选择特征,也就是if里的条件语句。手动选择特征往往很难,所以一般用机器学习的方法提取特征
        8. 特征提取之后,也可以被用于其他分类器,比如逻辑回归、SVM、神经网络等等
  • 相关阅读:
    C系统,操作符和词法元素
    值类型和引用类型
    WPF
    C#版本进化
    快速排序
    C语言字符串
    查找
    简单快速排序
    PHP运行出现Notice : Use of undefined constant 的解决办法
    vs2010 修改注释模板
  • 原文地址:https://www.cnblogs.com/a-present/p/9391318.html
Copyright © 2020-2023  润新知