我有一个文档,其中包含诸如评估、HPI、ROS、Vitals 等部分。我想在每个部分中提取注释。我为此目的使用 GATE。我制作了一个 JAPE 文件,它将在评估部分提取注释。以下是语法,
Input: Token
Options: control=appelt debug=true
Rule: Assess
({Token.string =~"(?i)diagnose[d]?"}{Token.string=="with"} | {Token.string=~"(?i)suffering"}{Token.string=~"(?i)from"} | {Token.string=~"(?i)suffering"}{Token.string=~"(?i)with"})
(
({Token})*
):assessments
({Token.string =~"(?i)HPI"} | {Token.string =~"(?i)ROS"} | {Token.string =~"(?i)EXAM"} | {Token.string =~"(?i)VITAL[S]"} | {Token.string =~"(?i)TREATMENT[s]"} |{Token.string=~"(?i)use[d]?"}{Token.string=~"(?i)orderset[s]?"} | {Token.string=~"$"})
-->
:assessments.Assessments = {}
现在,当评估部分位于文档末尾时,我可以正确检索笔记。但是,如果它介于两个部分之间,那么这将从评估部分返回整个文档,直到文件结束。
我尝试以不同的方式使用 {Token.string=~"$"} 但无法仅提取评估部分,而不管其在文档中的位置。
请解释如何使用 JAPE 语法来实现这一点。