当前位置: 首页 > news >正文

依存句法分析

依存句法分析(dependency grammar)理论的创立者 是法国语言学家吕西安·泰尼埃(其姓氏也被译作:特 思尼耶尔、特尼耶尔等)(Lucien Tesnière , 1893-1954)。 他的主要思想反映在1953年出版的专著《结构句法概 要》(Esquisse dune syntaxe structu-rale)中。

在依存语法理论中,“依存”就是指词与词之间支配与被支配的关系,这种关系不是对等的,而是有方 向的。处于支配地位的成分称为支配者(governor, regent, head),而处于被支配地位的成分称为从属者 (modifier, subordinate, dependency)。

可以这么理解:

把句子里的每个词想象成 一个个小圆点(节点),然后不管有没有关系,先给 每两个圆点之间都连一条线(边)。

接下来,给每条线 贴个 “靠谱分”(根据词的关系、语法规则等打分)—— 比如 “打断” 和 “声” 的连线,比 “打断” 和 “我” 的连线更靠谱,分数就更高。

现在的任务是:从这堆线里,选出 一组线,满足两个条件:

  1. 所有圆点都被连起来(不能漏词);
  2. 这组线的 “靠谱分总和” 最高;
  3. 还不能绕圈(不然就不是树状结构了,而是乱麻)。

这就像 给一群人配对关系:先把所有人两两之间的 “亲密度” 打分,再挑一组关系,既把所有人连起来,又让亲密度总和最高,还不能绕圈(比如 A→B、B→C、C→A 就绕圈了,不行)。

最后选出的这组线,就是句子里 词和词的依存关系(比如 “打断” 是核心,连着眼 “声”“了”“沉思”,“脚步” 跟着 “声”,“我” 跟着 “的” 再跟着 “沉思”)。

简单说:把所有可能的关系都列出来,打分后挑出 “最合理且连得通” 的组合 ~

Arc - eager 算法可以理解成 “给词找‘老大’的动态过程” ,通过 4 种动作(Shift、Left - Arc、Right - Arc、Reduce),让每个词要么找到自己的 “老大”(支配它的词),要么成为别人的 “老大”,最终拼出句子的依存关系。下面结合 “小猫吃鱼” 的例子,通俗拆解每个动作:

1. 核心设定

把句子的分析状态想象成 “三元组”

  • 栈(S):类似 “候选区”,存放正在找老大或已经当老大的词(临时停留点)。

  • 输入(I):类似 “排队区”,按句子顺序,还没处理的词排在这里。

  • 依存弧(A):类似 “关系证明”,记录谁是老大(头)、谁是小弟(子),格式为 “老大→小弟”(比如 “猫→小” 表示 “小” 的老大是 “猫”)。

2. 4 种动作详解

① Shift(移进)

  • 时机:候选区(栈)和排队区(输入)的词,暂时没法确定老大小弟关系时,先把排队区的第一个词拉进候选区。

  • 操作:把输入的第一个词 推进栈

  • 例子
    初始状态:栈[nil](nil 是栈底标记,不算实际词),输入[小,猫,吃,鱼],弧
    第一步只能做 Shift:把 “小” 推进栈,状态变成 S=[nil,小]I=[猫,吃,鱼]A=∅

② Left - Arc(左弧)

  • 时机:栈顶的词(小弟候选,w_i),发现输入的第一个词(w_j)更适合当老大,且w_i还没认过老大(没弧指向它)。
  • 操作:让w_jw_i的老大(添加弧 w_j→w_i),然后把w_i 弹出栈(因为小弟已经找到老大,离开候选区)。
  • 例子
    状态:S=[nil,小]I=[猫,吃,鱼]A=∅(“小” 还没老大)。
    做 Left - Arc:让 “猫” 当 “小” 的老大(添加弧 猫→小),弹出 “小”,状态变成 S=[nil]I=[猫,吃,鱼]A={猫→小}

③ Right - Arc(右弧)

  • 时机:栈顶的词(老大候选,w_i),想收输入的第一个词(w_j)当小弟,且w_j还没认过老大(没弧指向它)。

  • 操作:让w_iw_j的老大(添加弧 w_i→w_j),然后把w_j 推进栈(小弟加入候选区,继续跟着老大混)。

④ Reduce(归约)

  • 时机:栈顶的词(w_i)已经认过老大了(存在弧 w_k→w_i,即有老大)。

  • 操作:把w_i 弹出栈(小弟已经找到老大,不需要再待在候选区)。

  • 例子
    状态:S=[nil,吃,鱼]I=[]A={吃→鱼}(“鱼” 的老大是 “吃”)。
    做 Reduce:弹出 “鱼”,状态变成 S=[nil,吃]I=[]A={吃→猫, 吃→鱼}

性能评价 

解题时

先描述依存关系

UA(无标记依存正确率):只看 父节点是否正确占总数

LA(带标记依存正确率):既看 父节点正确,又看关系正确占总数

DA(依存正确率,通常同 LA 逻辑)每条依存弧的两头正确占总弧

相关文章:

  • 【群体结构ADMIXTURE之三】监督分群在祖先成分分析中的应用及原理
  • 剑指offer22_合并两个排序的链表
  • 386.字典序排序
  • Xshell 8 客户端 免费版无需注册
  • 内核性能调优
  • Java八股文——Spring「SpringCloud 篇」
  • 代码随想录算法训练营第60期第六十五天打卡
  • C++默认构造函数被隐式删除
  • 某区域汽车多家4S店销售数据重叠度分析
  • 汇编(函数调用)
  • Node.js版本管理
  • LangChain文档加载器自动选择器:支持多种文件格式的统一加载方法
  • SpreadJS 在预算编制中的应用深度剖析
  • 日本滨松R669光电倍增管Hamamatsu直径51 mm 直径端窗型扩展红多碱光阴极面光谱灵敏度特性:300 至 900 nm
  • 生鲜商城源码系统设计+springboot3+vue3+JDK17(带用户协同过滤个性化推荐算法)
  • AX620Q上模型部署流程
  • Android Compose 自定义滑动进度条
  • JAVA CAS 详解
  • 【学习笔记】RTSP-Ovnif-GB28181
  • 5.Caffe
  • 住房和城乡建设部科技网站首页/关联词有哪些五年级
  • 网站中文名称注册/百度下载安装免费
  • 网站建设需要提供什么东西/百度快速收录接口
  • 手机网站搜索优化/关键洞察力
  • 辽阳网站建设多少钱/微信朋友圈广告推广
  • 网站快速被百度收录/上海疫情最新数据