如何解释子句的 tregex
How to interpret tregex for clauses
我正在查看 L2 Syntactic Complexity Analyzer
的源代码
它有一个子句的 tregex 表达式为:
S|SINV|SQ [> ROOT <, (VP <# VB) | <# MD|VBZ|VBP|VBD | < (VP [<#
MD|VBP|VBZ|VBD | < CC < (VP <# MD|VBP|VBZ|VBD)])]
我正在阅读此 link 中的 tregex 语法,但不确定我是否正确理解 Boolean relational operators
,特别是此 tregex 的第二部分:
VP [<# MD|VBP|VBZ|VBD | < CC < (VP <# MD|VBP|VBZ|VBD)]
平均值
(VP <# MD|VBP|VBZ|VBD) OR ((VP < CC) AND (VP < (VP <# MD|VBP|VBZ|VBD)))
同时包含 cc 和 vp 的动词短语(带有 md vbp vbz vbd)
或
(VP <# MD|VBP|VBZ|VBD) OR (VP < (CC < (VP <# MD|VBP|VBZ|VBD)))
包含 cc 的动词短语包含 vp
克里斯的回答是正确的...
完整幻灯片在这里:
https://nlp.stanford.edu/software/tregex/The_Wonderful_World_of_Tregex.ppt
在 tregex(遵循早期的 tgrep 语言)中,子句 A op B op C op D
始终表示 A op B AND A op C AND A op D
。如果您想要相反的结果,则需要像示例 1 中那样使用括号:A op (B op (C op D))
。因此在原始消息的第二个析取中,VP 必须包含一个 CC 和另一个以指定词性的词为首的 VP(<#
是 "headed by" 关系)。所以答案基本上是前一种解释,增加了一个约束,即第二个析取的每个合取中的第一个 VP 必须是相同的 VP 节点。
我正在查看 L2 Syntactic Complexity Analyzer
的源代码它有一个子句的 tregex 表达式为:
S|SINV|SQ [> ROOT <, (VP <# VB) | <# MD|VBZ|VBP|VBD | < (VP [<# MD|VBP|VBZ|VBD | < CC < (VP <# MD|VBP|VBZ|VBD)])]
我正在阅读此 link 中的 tregex 语法,但不确定我是否正确理解 Boolean relational operators
,特别是此 tregex 的第二部分:
VP [<# MD|VBP|VBZ|VBD | < CC < (VP <# MD|VBP|VBZ|VBD)]
平均值
(VP <# MD|VBP|VBZ|VBD) OR ((VP < CC) AND (VP < (VP <# MD|VBP|VBZ|VBD)))
同时包含 cc 和 vp 的动词短语(带有 md vbp vbz vbd)
或
(VP <# MD|VBP|VBZ|VBD) OR (VP < (CC < (VP <# MD|VBP|VBZ|VBD)))
包含 cc 的动词短语包含 vp
克里斯的回答是正确的...
完整幻灯片在这里:
https://nlp.stanford.edu/software/tregex/The_Wonderful_World_of_Tregex.ppt
在 tregex(遵循早期的 tgrep 语言)中,子句 A op B op C op D
始终表示 A op B AND A op C AND A op D
。如果您想要相反的结果,则需要像示例 1 中那样使用括号:A op (B op (C op D))
。因此在原始消息的第二个析取中,VP 必须包含一个 CC 和另一个以指定词性的词为首的 VP(<#
是 "headed by" 关系)。所以答案基本上是前一种解释,增加了一个约束,即第二个析取的每个合取中的第一个 VP 必须是相同的 VP 节点。