Lecture 15 Probabilistic Context-Free Grammar

news2024/11/25 9:45:31

目录

      • Ambiguity in Parsing
    • Basics of PCFGs
      • Basics of PCFGs
      • Stochastic Generation with PCFGs
    • PCFG Parsing
      • CYK for PCFGs
    • Limitations of CFG
      • Poor Independence Assumptions
      • Lack of Lexical Conditioning

Ambiguity in Parsing

  • Context-Free grammars assign hierarchical structure to language

    • Formulated as generating all strings in the language
    • Predicting the structure for a given string
  • Raises problem of ambiguity: Two parse tree from the same tree, which is better

Basics of PCFGs

Basics of PCFGs

  • Same symbol set:

    • Terminals: words such as book
    • Non-terminals: syntactic labels such as NP or NN
  • Same production rules:

    • LHS non-terminal -> ordered list of RHS symbols
  • In addition, store a probability with each production:

    • NP -> DT NN [p = 0.45]
    • NN -> cat [p = 0.02]
    • NN -> leprechaun [p = 0.00001]
  • Probability values denote conditional:

    • P(LHS -> RHS)
    • P(RHS | LHS)
  • Consequently they:

    • Must be positive values, between 0 and 1
    • Must sum to one for given LHS
  • E.g.

    • NN -> aadvark [p = 0.0003]
    • NN -> cat [p = 0.02]
    • NN -> leprechaun [p = 0.01]
    • ∑x P(NN -> x) = 1

Stochastic Generation with PCFGs

  • Almost the same as for CFG, with one twist:

    1. Start with S, the sentence symbol
    2. Choose a rule with S as the LHS
      • Randomly select a RHS according to P(RHS | LSH)
      • Apply this rule
    3. Repeat step 2 for each non-terminal in the string
    4. Stop when no non-terminal terminal
  • Output a tree with sentence as the yield

    • Given a tree, compute its probability

      在这里插入图片描述


      在这里插入图片描述

    • For this tree: P(tree) =
      P(S → VP) × P(VP → Verb NP) × P(Verb → Book) × P(NP → Det Nominal) × P(Det → the) × P(Nominal → Nominal Noun) × P(Nominal → Noun) × P(Noun → dinner) × P(Noun → flight)
      = 0.05 × 0.20 × 0.30 × 0.20 × 0.60 × 0.20 × 0.75 × 0.10 × 0.40
      = 2.2 × 10-6

  • This resolve the problem of parsing ambiguity:

    • Can select between different tree based on P(tree)

      在这里插入图片描述

PCFG Parsing

CYK for PCFGs

  • CYK finds all trees for a sentence: want the best tree

  • Probabilistic CYK allows similar process to standard CYK

  • Convert grammar to Chomsky Normal Form

    • From: VP -> Verb NP NP [p = 0.10]
    • To: VP -> Verb NP+NP[p = 0.10]; NP+NP -> NP NP[p = 1.0]
  • E.g.

    在这里插入图片描述

  • Retrieving the Parses

    • S in the top-right corner of parse table indicates success
    • Retain back-pointer to best analysis
    • To get parse, follow pointers back for each match
    • Convert back from CNF by removing new non-terminals
    • E.g.

      在这里插入图片描述

  • Pseudocode Code for Probabilistic CYK:

function Probabilistic-CYK(words, grammar) return most probable parse and its probability
  for j <- from 1 to LENGTH(words) do
    for all {A | A -> words[j] ∈ grammar}
      table[j-1, j, A] <- P(A -> words[j])
    for i <- from j-2 downto 0 do
      for k <- i+1 to j-1 do
        for all {A|A -> BC ∈ grammar, and table[i, k, B] > 0 and table[k, j, C] > 0}
          if (table[i, j, A] < P(A -> BC) × table[i, k, B] × table[k, j, C]) then
            table[i, j, A] <- P(A -> BC) × table[i, k, B] × table[k, j, C]
            back[i, j, A] <- {k, B, C}
  return BUILD_TREE(back[1, LENGTH(words), S]), table[1, LENGTH(words), S]

Limitations of CFG

Poor Independence Assumptions

  • Rewrite decisions made independently, whereas interdependence is often needed to capture global structure

  • E.g.:

    • NP -> DT NN [p = 0.28] and NP -> PRP [p = 0.25]

    • Probability of a rule is independent of rest of tree

    • No way to represent this contextual difference in PCFG probabilities:

    • NP -> PRP should go up to 0.91 as a subject

    • NP -> DT NN should be 0.66 as an object

  • Solution: add a condition to denote whether NP is a subject or object (Parent Conditioning)

    • Make non-terminals more explicit by incorporating parent symbol into each symbol

    • E.g.

      在这里插入图片描述

      • NP^S represents subject position
      • NP^VP represents object position

Lack of Lexical Conditioning

  • Lack of sensitivity to words in tree

  • Prepositional phrase PP attachment ambiguity

  • E.g. Worker dumped sacks into bin

    在这里插入图片描述

    • into a bin describes the resulting location of the sack. So correct tree should be:

      在这里插入图片描述

  • Coordination Ambiguity:

    • dogs in houses and cats
    • dogs is semantically a better conjunct for cats than house

      在这里插入图片描述

  • Solution: Head Lexicalization

    • Record head word with parent symbols

      • Head word: the most salient child of a constituent, usually the noun in NP, verb in VP

      在这里插入图片描述

      • VP -> VBD NP PP to VP(dumped) → VBD(dumped) NP(sacks) PP(into)
    • Incorporate head words into productions, to capture the most important links between words

      • Captures correlations between head words of phrases
    • Grammar symbol inventory expands massively. Many production rule are too specific, rarely seen.

      • Leaning more involved to avoid sparsity problems

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenELB 在 CVTE 的最佳实践

作者&#xff1a;大飞哥&#xff0c;视源电子股份运维工程师&#xff0c; KubeSphere 社区用户委员会广州站站长&#xff0c;KubeSphere Ambassador。 公司介绍 广州视源电子科技股份有限公司&#xff08;以下简称视源股份&#xff09;成立于 2005 年 12 月&#xff0c;旗下拥…

最详细整理,HttpRunner接口自动化框架Hook机制详解(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 httprunner 4.x可…

软体机器人,刚柔软机器人仿真建模,干货满满,直接上图!

一、 背景&#xff1a; 软体机器人技术是近年来机器人领域最为热门的研究领域之一。软体机器人具有天然的柔 性、自适应性、低成本和被动安全性&#xff0c;在人机交互、医疗服务等领域具有广泛的应用前景。同时&#xff0c; 软体机器人的研究涉及软材料、机构设计、仿生学、微…

全链路压测

一般区分为两种&#xff1a;测试环境和生产环境压测。因生产环境的压测和真实用户的使用环境完全一致&#xff0c;测试结果更具有参考性。 全链路的压测的实施一般需要给压测请求带一个压测标识&#xff0c;用于压测数据的数据落库&#xff0c;查询&#xff0c;缓存&#xff0c…

设备维修管理系统

设备维修管理系统能够有效提高设备管理水平和设备运行效率。它不仅能够帮助企业实现设备信息化管理&#xff0c;还可以快速定位设备故障&#xff0c;提高设备修复效率&#xff0c;从而更好地保障生产安全和生产效率。 凡尔码搭建设备维护保养管理系统主要由以下几个模块组成&am…

【TA100】图形 2.2 模型与材质基础

一、 渲染管线与模型基础 1.可编程渲染管线 ● 蓝色背景的&#xff1a;可编程管线 ● 顶点着色器&#xff1a;模型的顶点进行计算 ● 片元着色器&#xff1a;将光栅化阶段插值的信息进行计算 2.uv ● 纹理映射&#xff1a;任何3D物体的表面都是2D的→纹理就是一张图→纹理…

6个免费商用图片素材库,再也不用担心版权问题了

本期给大家分享6个免费可商用的视频素材网站&#xff0c;设计师、自媒体、视频剪辑有福啦&#xff0c;再也不用担心版权问题了&#xff0c;记得收藏起来哦~ 菜鸟图库 https://www.sucai999.com/pic.html#?vNTYxMjky 网站主要是为新手设计师提供免费素材的&#xff0c;素材的…

[CKA]考试之基于角色的访问控制-RBAC

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Context&#xff1a; 为部署流水线创建一个新的ClusterRole并将其绑定到范围为特定…

Pandas的to_sql()插入数据到mysql中所遇到的问题

使用pymysql驱动API&#xff0c;出现如下错误&#xff1a; DatabaseError: Execution failed on sql ‘SELECT name FROM sqlite_master WHERE type‘table’ AND name?;’: not all arguments converted during string formatting 1. pandas的数据表插入数据到mysql中所遇到…

王道考研数据结构代码总结(后四章)

目录 树基本概念与属性树的基本性质 图拓扑排序 本文包含王道考研讲课中所涉及的数据结构中的所有代码&#xff0c;当PPT代码和书上代码有所区别时以咸鱼的PPT为主&#xff0c;个人认为PPT上的代码比王道书上的代码要便于理解&#xff0c;此外&#xff0c;本博客也许会补充一些…

css01:顶部导航栏,左右分离布局

css01&#xff1a;顶部导航栏&#xff0c;左右分离布局 效果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>顶部导航栏</title><style>body {margin: 0;padding: 0;}.top-nav {background-color: #ff…

Python采集二手车数据信息,看看啥车最得心意

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 环境使用: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版是付费的 <码可以免费用> 社区版是免费的 模块使用: 内置模块 无需安装 csv 第三方模块 需要安装的 requests >>> pip install req…

大数据可视化开源平台,一招让数据资源活泛起来!

在现代化办公环境中&#xff0c;数据资源也是非常重要的一种发展要素。有不少朋友会私信我们询问道&#xff1a;如何将企业内部的数据资源利用起来&#xff0c;真正发挥其价值为我所有&#xff1f;在这里&#xff0c;推荐大家了解大数据可视化开源平台&#xff0c;这是可以为企…

深度学习的各种卷积的总结

如果你听说过深度学习中不同种类的卷积&#xff08;比如 2D / 3D / 1x1 /转置/扩张&#xff08;Atrous&#xff09;/空间可分/深度可分/平展/分组/混洗分组卷积&#xff09;&#xff0c;并且搞不清楚它们究竟是什么意思&#xff0c;那么这篇文章就是为你写的&#xff0c;能帮你…

既然jmeter也能做接口自动化,为什么还需要pytest自己搭框架?

今天这篇文章呢&#xff0c;我会从以下几个方面来介绍&#xff1a; 1、首先介绍一下pytest框架 2、带大家安装Pytest框架 3、使用pytest框架时需要注意的点 4、pytest的运行方式 5、pytest框架中常用的插件 一、pytest框架介绍 pytest 是 python 的第三方单元测试框架&a…

微信如何群发消息?如何群发突破200上限?

相信每到各种节日的时候&#xff0c;很多人都会发布或收到微信好友的节日祝福或活动通知。群发已经是一件很普遍的事了。逢年过节&#xff0c;发个微信祝福&#xff0c;是维系关系的必须&#xff1b;发个活动通知&#xff0c;是为了告知客户&#xff0c;促进销售。 01 微信自带…

2023年最新网络安全面试题合集(附答案解析)

前言 为了拿到心仪的 Offer 之外&#xff0c;除了学好网络安全知识以外&#xff0c;还要应对好企业的面试。 作为一个安全老鸟&#xff0c;工作这么多年&#xff0c;面试过很多人也出过很多面试题目&#xff0c;也在网上收集了各类关于渗透面试题目&#xff0c;里面有我对一些…

佩戴舒适音质悦耳,试试这款耳夹式耳机,塞那Z51S Pro Max上手

蓝牙耳机很多人每天都用&#xff0c;工作学习的时候戴上&#xff0c;可以随便听听舒缓心情&#xff0c;随便哪个平台都有丰富的音乐、播客等类型的资源&#xff0c;听着听着就下班了。市面上蓝牙耳机的种类这两年多了不少&#xff0c;我目前用的是一款sanag塞那Z51S Pro Max&am…

从Android UI收集流的更安全方法

从Android UI收集流的更安全方法 在安卓应用中&#xff0c;通常从UI层收集Kotlin flows以显示屏幕上的数据更新。但是&#xff0c;为了确保不做过多的工作、浪费资源&#xff08;包括CPU和内存&#xff09;或在视图转到后台时泄漏数据&#xff0c;您需要收集这些flows。 在本…

(2023,语义混合)处理神经网络中语义和视觉对齐的差异

Addressing Discrepancies in Semantic and Visual Alignment in Neural Networks 公众号&#xff1a;EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 4. 实验 5. 结果 6. 讨论与结论 参考 S. 总结 S.1 主要思想 S.2 语义混合 S.3 方法 0. 摘要 对于图像分类任…