gpt4 book ai didi

java - Jape 文件以查找句子中的模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:26 25 4
gpt4 key购买 nike

如果我在 jape 规则中写的单词出现在同一个句子中,我需要注释句子的一部分。例如,这句话是“ child 无法抗拒对其日常生活的任何改变”。我在“trouble.lst”文件中加入了抵抗之类的词,在“alteration.lst”文件中加入了变化。现在在这句话中我需要将“resist any changes”部分注释为“A3b”。我试过使用下面的代码,但它没有考虑同一句话中的单词。我的戏谑规则也是从不同的句子中取词。假设 resist 出现在一个句子中,并在后面的其他句子中发生变化,那么这段代码也会对其进行注释。任何人都可以帮我找出解决方案吗?

Phase:secondpass
Input: Lookup
Options: control = brill

Rule: A3b
({Lookup.majorType == "trouble"}
{Lookup.majorType == "alteration"}
):label
-->
:label.A3b = {rule= "A3b"}

最佳答案

除了覆盖句子本身的 Sentence 注释外,句子拆分器还在句子边界上创建 Split 注释。如果您在 Input 行中包含 Split没有在规则中提及 {Split},这将有防止跨越句子边界的匹配的效果。

Phase: secondpass
Input: Lookup Split
Options: control = brill

Rule: A3b
({Lookup.majorType == "trouble"}
{Lookup.majorType == "alteration"}
):label
--> :label.A3b = {rule= "A3b"}

它的工作方式是 Input 行决定 JAPE 匹配器可以“看到”哪些注释——如果故障和更改 Lookup 注释在不同的句子中,那么匹配器将看到序列 {Lookup}{Split}{Lookup},它与需要 {Lookup}{Lookup} 的规则不匹配。

关于java - Jape 文件以查找句子中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com