配置SuTime以使用自定义规则文件 [英] Configuring SUTime to use custom rule files

查看:10
本文介绍了配置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"属性只是被忽略了。

任何帮助都将不胜感激。

更新:

以下形式的解决方法:

  1. 作为"NER"步骤的一部分关闭SUTime
  2. 复制其规则文件并根据需要进行修改
  3. 基于TimeAnnotator类创建自定义注释器并将其添加到管道
  4. 将.rules属性设置为修改后的规则文件

不起作用。
管道运行,但功能不同。需要使用"sutime"参数调用TimeAnnotator构造函数,以便其功能与在"ner"步骤中调用的功能完全相同。
这似乎不能通过属性来完成。

推荐答案

感谢您通知我们这不起作用。我们将对此进行研究,并在下一个版本中修复它。如果您确实需要稍微更改规则文件,您可以尝试将您自己的edu/stanford/nlp/models/sutime/english.sutime.txt副本放在类路径中CoreNLP模型JAR之前。

这篇关于配置SuTime以使用自定义规则文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆