配置SuTime以使用自定义规则文件 [英] Configuring SUTime to use custom rule files
本文介绍了配置SuTime以使用自定义规则文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试配置SUTime Annotator("ner"的一部分)以使用我自己的日期/时间规则文件,而不是位于Stanford CoreNLP模型的分发JAR中的"Models/sutime/"中的开箱即用的规则文件。
我这样做的原因是我想稍微修改一下SUTime规则正在做的事情。
根据官方SUTime documentation,只需以逗号分隔的文件路径形式指定"sutime.rules"属性即可。
但在我这样做之后,CoreNLP似乎仍然采用开箱即用的规则文件:
Reading TokensRegex rules from edu/stanford/nlp/models/sutime/defs.sutime.txt
Reading TokensRegex rules from edu/stanford/nlp/models/sutime/english.sutime.txt
Reading TokensRegex rules from edu/stanford/nlp/models/sutime/english.holidays.sutime.txt
我尝试了绝对路径和相对于项目根目录的路径-效果仍然相同。
似乎与文档相反,"sutime.rules"属性只是被忽略了。
任何帮助都将不胜感激。
更新:
以下形式的解决方法:
- 作为"NER"步骤的一部分关闭SUTime
- 复制其规则文件并根据需要进行修改
- 基于TimeAnnotator类创建自定义注释器并将其添加到管道
- 将.rules属性设置为修改后的规则文件
不起作用。
管道运行,但功能不同。需要使用"sutime"参数调用TimeAnnotator构造函数,以便其功能与在"ner"步骤中调用的功能完全相同。
这似乎不能通过属性来完成。
推荐答案
感谢您通知我们这不起作用。我们将对此进行研究,并在下一个版本中修复它。如果您确实需要稍微更改规则文件,您可以尝试将您自己的edu/stanford/nlp/models/sutime/english.sutime.txt
副本放在类路径中CoreNLP模型JAR之前。
这篇关于配置SuTime以使用自定义规则文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文