zoukankan      html  css  js  c++  java
  • 基于神经网络的高性能依存句法分析器

    参考一下链接:

    http://www.hankcs.com/nlp/parsing/neural-network-based-dependency-parser.html/2

    谈起依存句法分析,主流的统计句法分析一般分为两大流派——生成式和判决式。

    生成式:

    生成式就是生成一系列句法树,从里面挑选出概率最大的那一棵作为输出。在具体实现的时候,可以选择最大熵等模型去计算单条依存边的概率,利用最大生成树算法来挑选最佳句法树,比如《最大熵依存句法分析器的实现》。

    其优点是效果好,但开销大。训练的时候常常要用一份巨大的特征模板,得到的模型中含有大量复杂的特征函数。在解码的时候,这些特征函数的储存和运算成本很高。由于是全局最优,所以可以取得较高的准确率,还可以很方便地处理非投射的句法树。不过也由于搜索的全局性和特征函数的复杂度,模型常常会过拟合,在训练集和测试集上的准确率差别很大。

    判别式:

    判决式一般是基于动作(或称转移)和一个分类器实现的,仿照人类从左到右的阅读顺序,判决式句法分析器不断地读入单词,根据该单词和已构建的句法子树等信息建立分类模型,分类模型输出当前状态下的最佳动作,然后判决式分析器根据最佳动作“拼装”句法树。

    动作体系简介:

    一般有两大体系,分别处理投射和非投射两种语言现象。

    投射:(大概意思就是无交叉性)汉语和英语等都满足

    所谓投射性是指:如果词p依存于词q,那么p和q之间的任意词r就不能依存到p和q所构成的跨度之外(用白话说,就是任意构成依存的两个单词构成一个笼子,把它们之间的所有单词囚禁在这个笼子里,只可内部交配,不可与外族通婚)。比如:

    此处缺图。。。

    非投射性:

    非投射就没有上述限制了,这会导致依存边有交叉,怎么都理不顺:

    Arc-standard详解:只能处理投射型的句子。

    在arc-standard system中,一次分析任务神经网络依存句法分析5.png由一个栈s(题外话,有些人包括维基认为栈也叫堆栈,我强烈反对,堆是heap,栈是stack,heap和stack才混称堆栈),一个队列b,一系列依存弧A构成。如果定义一个句子为单词构成的序列神经网络依存句法分析6.png,那么——

    栈:

    栈s是用来储存系统已经处理过的句法子树的根节点的,初始状态下神经网络依存句法分析7.png。另外,定义从栈顶数起的第i个元素为si。那么栈顶元素就是s1,s1的下一个元素就是s2

    还有另外一种存放形式。此处缺图。

    则称s2为左焦点词,s1为右焦点词。接下来的动作都是围绕着这两个焦点词展开的。

    队列

    队列模拟的是人眼的阅读顺序,人眼从左到右阅读,系统也从左往右读入单词,未读入的单词就构成一个队列,队列的出口在左边。初始状态下队列就是整个句子,且顺序不变:b=神经网络依存句法分析8.png

    依存弧:

    一条依存弧(原文dependency arcs,我认为翻译成变换也许更好)有两个信息:动作类型+依存关系名称l。l视依存句法语料库中使用了哪些依存关系label而定,在arc-standard系统中,一共有如下三种动作:

    此处缺图

    基于神经网络的句法分析器

    看前先科普一下:反向神经网络入门:http://www.hankcs.com/ml/back-propagation-neural-network.html

    后面主要是实现过程。

  • 相关阅读:
    ASE19团队项目 beta阶段 model组 scrum report list
    ASE19团队项目 beta阶段 model组 scrum7 记录
    ASE19团队项目 beta阶段 model组 scrum6 记录
    ASE19团队项目 beta阶段 model组 scrum5 记录
    ASE19团队项目 beta阶段 model组 scrum4 记录
    ASE19团队项目 beta阶段 model组 scrum3 记录
    ASE19团队项目 beta阶段 model组 scrum2 记录
    ASE19团队项目 beta阶段 model组 scrum1 记录
    【ASE模型组】Hint::neural 模型与case study
    【ASE高级软件工程】第二次结对作业
  • 原文地址:https://www.cnblogs.com/maowuyu-xb/p/8385532.html
Copyright © 2011-2022 走看看