Skip to main content
QUICK REVIEW

[论文解读] Memoization of Top Down Parsing

Mark Johnson|ArXiv.org|Apr 25, 1995
Natural Language Processing Techniques参考文献 10被引用 44
一句话总结

本文提出了一种延续传递风格(CPS)的函数式形式化方法,用于自顶向下解析,通过逐项枚举字符串位置而非返回集合,使记忆化机制能够在左递归文法上终止——此前这一直是一个已知的失败点。其关键贡献是一种新颖的记忆化技术,可模拟表解析(chart parsing)的行为,确保即使在存在左递归的情况下也能实现终止性与多项式时间复杂度。

ABSTRACT

This paper discusses the relationship between memoized top-down recognizers and chart parsers. It presents a version of memoization suitable for continuation-passing style programs. When applied to a simple formalization of a top-down recognizer it yields a terminating parser.

研究动机与目标

  • 解决记忆化自顶向下解析器在左递归文法上非终止的问题。
  • 以函数式、延续传递风格的形式化自顶向下解析,支持增量结果枚举。
  • 证明在此CPS框架中,记忆化可实现与表解析等价的行为。
  • 使上下文无关文法(包括左递归文法)的高效、可终止解析器得以构建。
  • 为该方法扩展至完整解析树构造与语义值传播奠定基础。

提出的方法

  • 使用延续传递风格(CPS)将解析表示为字符串位置结果的流,而非返回集合。
  • 引入一种记忆化机制,按输入位置和类别缓存结果,防止冗余计算。
  • 采用基于表格的记忆化结构,其中“条目”单元存储延续和结果,并通过可变性提升效率。
  • 定义高阶组合子如‘seq’、‘alt’、‘opt’和‘k*’,用于从终结符和非终结符函数组合式地构建文法。
  • 将记忆化应用于CPS转换后的解析函数,确保每个函数对每对参数(类别,位置)至多被调用一次。
  • 使用破坏性赋值(set-car!、set-cdr!)高效更新记忆化表格,提升Scheme中的性能。

实验结果

研究问题

  • RQ1能否通过函数式编程技术使记忆化自顶向下解析在左递归文法上实现终止?
  • RQ2延续传递风格如何实现更高效且可终止的记忆化形式?
  • RQ3CPS记忆化在多大程度上能模拟表解析器的预测与完成步骤行为?
  • RQ4该记忆化技术能否扩展至构建完整解析树或语义值,同时不牺牲终止性?
  • RQ5是否可能在纯粹函数式、记忆化自顶向下框架中实现类似表解析的效率与完备性?

主要发现

  • 基于CPS的记忆化解析器在左递归文法(如(35)中的NP规则)上能够终止,而此前标准记忆化自顶向下解析在该情况下会导致非终止。
  • 记忆化机制确保每个解析函数对每个输入位置和类别至多被调用一次,从而防止无限递归。
  • 解析器的行为与预测型表解析器高度一致,记忆化表格条目对应于预测边和完成边。
  • 该方法对上下文无关文法(即使含左递归)实现了多项式时间内的高效识别。
  • 该方法在Scheme中可实现高效、可工作的识别器,通过整数位置和基于向量的记忆化实现潜在优化。
  • 通过增加额外的延续参数,该框架可扩展至解析树构造与语义值传播。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。