Skip to main content
QUICK REVIEW

[论文解读] A Concise Query Language with Search and Transform Operations for Corpora with Multiple Levels of Annotation

Anil Kumar Singh|arXiv (Cornell University)|Aug 9, 2011
Natural Language Processing Techniques参考文献 13被引用 3
一句话总结

本文提出一种简洁、表达力强的查询语言,用于多层标注语料库,采用'线程树'——一种介于树与图之间的混合结构。该语言通过带有类型的线程实现简单语法,支持复杂查询与数据操作,无需编程即可高效执行搜索与转换,相较于现有语言在表达力与简洁性方面表现更优,尤其适用于树状标注数据。

ABSTRACT

The usefulness of annotated corpora is greatly increased if there is an associated tool that can allow various kinds of operations to be performed in a simple way. Different kinds of annotation frameworks and many query languages for them have been proposed, including some to deal with multiple layers of annotation. We present here an easy to learn query language for a particular kind of annotation framework based on 'threaded trees', which are somewhere between the complete order of a tree and the anarchy of a graph. Through 'typed' threads, they can allow multiple levels of annotation in the same document. Our language has a simple, intuitive and concise syntax and high expressive power. It allows not only to search for complicated patterns with short queries but also allows data manipulation and specification of arbitrary return values. Many of the commonly used tasks that otherwise require writing programs, can be performed with one or more queries. We compare the language with some others and try to evaluate it.

研究动机与目标

  • 解决对具有多层标注的语料库进行查询与转换的挑战。
  • 设计一种易于学习但功能强大、足以替代常见标注任务中自定义编程的查询语言。
  • 在单一统一的语言中同时支持模式匹配与数据转换,适用于线程树结构的数据。
  • 将该语言的表达力与简洁性与现有树查询语言和图查询语言进行对比评估。
  • 使非程序员(如标注员与仲裁员)能够高效执行复杂数据操作。

提出的方法

  • 该语言基于'线程树'的形式化体系构建,其中节点可通过'带类型'的线程连接到其他节点,实现在单一树结构中表达多层标注。
  • 采用简单直观的语法,包含对象、成员、操作符、通配符、变量与别名等构造,用于表达复杂查询。
  • 查询结构包含条件(如节点类型、标签、属性)、路径表达式与转换规则,支持返回值及多源/多目标操作。
  • 通过特殊索引操作符(如'@'表示合取,'*'表示析取)支持合取与析取,实现复杂模式匹配。
  • 支持通过转换操作进行数据操作,如提取子树或修改标注,并支持嵌套与别名表达式。
  • 使用先前研究中标准的七个句法查询集对语言进行评估,与NiteQL、Tgrep2、Emu等语言在表达力与简洁性方面进行比较。

实验结果

研究问题

  • RQ1能否设计一种既简洁又表达力强的查询语言,用于以线程树形式编码的多层标注语料库?
  • RQ2与现有树查询语言和图查询语言(如NiteQL、Tgrep2、Emu)相比,该语言在表达力与简洁性方面表现如何?
  • RQ3非程序员在不编写代码的情况下,能在多大程度上学习并使用该语言完成复杂标注任务?
  • RQ4当前实现存在哪些局限性,特别是性能问题以及缺少'dominates'等关键操作符?
  • RQ5该语言能否作为标注任务的脚本工具,用于验证、合理性检查与特征提取?

主要发现

  • 所有七个来自Bird和Lai(2004)的基准查询均可在该语言中表达,证明其具有极强的表达力。
  • 该语言在简洁性方面与其它语言相当或更优,许多查询的表达式长度少于以简洁著称的NiteQL,后者虽表达力强但语法冗长。
  • 仅有NiteQL能够表达全部七个查询,但该语言在显著更简洁的语法下实现了相近的表达力。
  • 该语言支持复杂操作,如子树提取、条件匹配与多源/多目标转换,且无需编程。
  • 具有非计算背景的用户发现该语言易于学习,高级用户可在数小时内掌握,尽管学习能力的正式评估尚待开展。
  • 当前实现尚未完全支持关键操作符(如'dominates'与'is-dominated-by'),若支持将显著提升简洁性与可用性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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