当前位置: 首页 > 知识库问答 >
问题:

配置SUTime以使用自定义规则文件

杨飞
2023-03-14

我试图配置SUTime注释器(“ner”的一部分),以使用我自己的日期/时间规则文件,而不是Stanford CoreNLP模型的分发JAR中位于“models/SUTime/”中的开箱即用的规则文件。

我这样做的原因是,我想稍微修改SUTime规则正在执行的操作。

根据官方的SUTime文档,所需要的只是以逗号分隔的文件路径的形式指定“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. 关闭SUTime作为“ner”步骤的一部分
  2. 复制规则文件并根据需要修改
  3. 基于TimeAnnotator类创建自定义注释器并将其添加到管道
  4. 将.rules属性设置为修改后的规则文件

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

共有1个答案

姬国安
2023-03-14

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

 类似资料:
  • 授人以鱼,不如授人以渔。Dism++的能力是有限的,无法覆盖的所有用户的需求。因此给程序添加了自定义规则功能,方便高级用户打造自己的专属工具。 创建一个空白的自定义规则文件 我们只需要在Config目录新建一个 Custom*.xml 这样形式的xml文件即可(*表示任何字符串,比如Custom1.xml或者Custom我爱我的家.xml,另外文件以UTF8或者Unicode编码保存)。初始文件内

  • 背景 业务在使用分表分表时多数会使用简单的hash分表或者按照时间或者id使用内置的range分表函数,但某些情况下这些简单的hash规则和内置函数并不能满足业务复制的分表场景,这时就需要业务自定义分库分表规则。而zebra的分库分表规则使用的是groovy脚本,理论上可以支持定制各种复杂的路由规则。 基本原理 首先,先看一个简单的分库分表规则(使用本地配置时的XML),后面会基于该例子解释zeb

  • Dism++的“空间回收”通过插件自定义规则文件来加载插件自定义清理项目,插件信息文件必须命名为Custom.xml且放在插件目录下 这是一个xml文件,如果要寻找使用方法,请参考Dism++的帮助文档 插件自定义规则文件格式 <?xml version="1.0" encoding="utf-8"?> <Data> <CleanCollection4> <Item Name="清理项

  • 自定义中间有突起的UITabBar,demo中高仿了gogobot app底部不规则的TabBar。 [Code4App.com]

  • 本文向大家介绍thinkphp5.0自定义验证规则使用方法,包括了thinkphp5.0自定义验证规则使用方法的使用技巧和注意事项,需要的朋友参考一下 我们在用thinkphp5.0时候,经常要自定义验证规则,这个写法与tp以前的版本有所区别,小编今天带来大家一起来学习一下5.0下验证规则的使用方法。 在thinkphp5中定义$rule(验证规则)有两种方式 方式一: 方式二: 如果方式一自定义

  • 本文向大家介绍golang 使用 viper 读取自定义配置文件,包括了golang 使用 viper 读取自定义配置文件的使用技巧和注意事项,需要的朋友参考一下 viper 支持 Yaml、Json、 TOML、HCL 等格式,读取非常的方便。 viper 官网有案例:https://github.com/spf13/viper 创建 config.yaml 文件 建一个 config.go 用