如何以编程方式重新配置 uima ruta 分析引擎(更改参数值)?

2023-12-02

这是问题的延续:如何从 Maven 项目运行外部 ruta 脚本而不将脚本或其类型系统放在类路径中?

请指导我以编程方式重新配置分析引擎(通过更改参数值)。


情况:您有一个 UIMA Ruta 分析引擎的正确 xml 描述符,并且您想要重新配置,以便路径指向该描述符的文件夹。java url 文件

下面的代码通过改变不同阶段的参数值来说明这一点。只需要一个阶段。哪一种最适合您取决于您​​的代码。

package example;

import java.io.File;
import java.net.URL;

import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.resource.metadata.ConfigurationParameterSettings;
import org.apache.uima.ruta.engine.RutaEngine;

public class ReconfigureExample {

  public static void main(String[] args) throws Exception {

    File file = new File("path to descriptor");
    String path = new File(file.toURI()).getParentFile().getAbsolutePath();
    String[] pathsArray = new String[] { path };

    // override the values in the descriptor when creating the description
    AnalysisEngineDescription desc = AnalysisEngineFactory.createEngineDescriptionFromPath(
            file.getAbsolutePath(), RutaEngine.PARAM_SCRIPT_PATHS, pathsArray,
            RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray, RutaEngine.PARAM_RESOURCE_PATHS,
            pathsArray);

    // in case the location of the descriptor is not known...
    URL sourceUrl = desc.getSourceUrl();
    path = new File(sourceUrl.toURI()).getParentFile().getAbsolutePath();
    pathsArray = new String[] { path };

    // set the values in the description
    ConfigurationParameterSettings settings = desc.getAnalysisEngineMetaData()
            .getConfigurationParameterSettings();
    settings.setParameterValue(RutaEngine.PARAM_SCRIPT_PATHS, pathsArray);
    settings.setParameterValue(RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray);
    settings.setParameterValue(RutaEngine.PARAM_RESOURCE_PATHS, pathsArray);

    // override the values in the descriptor when creating the analysis engine
    AnalysisEngine ae = AnalysisEngineFactory.createEngine(desc, RutaEngine.PARAM_SCRIPT_PATHS, pathsArray,
            RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray, RutaEngine.PARAM_RESOURCE_PATHS,
            pathsArray);

    // set the values in the analysis engine and reconfigure it
    ae.setConfigParameterValue(RutaEngine.PARAM_SCRIPT_PATHS, pathsArray);
    ae.setConfigParameterValue(RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray);
    ae.setConfigParameterValue(RutaEngine.PARAM_RESOURCE_PATHS, pathsArray);
    ae.reconfigure();

  }

}

免责声明:我是 UIMA Ruta 的开发人员

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式重新配置 uima ruta 分析引擎(更改参数值)? 的相关文章

随机推荐

  • Azure 函数在大型 TIF 文件上调用 Image.FromStream 抛出“参数无效”

    我正在尝试在 Azure 函数中处理多页 TIF 该函数由 blob 存储的更改触发 当触发器运行时 它会调用 function loadFile Stream mpTif Bitmap pageOnes Bitmap Image From
  • 将模块版本作为命令行参数发送给 SBT

    我正在使用 TeamCity 运行 bash 脚本 该脚本利用 SBT Native Packager 将映像发布到 Docker bash 脚本的 sbt 部分如下所示 sbt DdockerRepository repo Dpackag
  • 更新 VS2008 Crystal Reports 上的数据集架构

    我正在使用 Visual Studio 2008 中 Crystal Reports 的内置模块创建一个报告 为此我添加了一个包含多个数据表的数据集 就目前而言 数据表具有一定数量的字段 这些字段将来可能会增长 因此下一个更新我的报告的人将
  • event.currentTarget 的实际用途?

    非常清楚的是event target处理发起事件的 DOM 元素 And event delegateTarget提供我们实际附加监听器的 DOM 元素 但我很难理解我什么时候会使用 事件 currentTarget 查看显示此示例的 jQ
  • 并行 ForEach 与 SQL 插入 C#

    我有一个如下所示的对象 但数据量很大 我们观察到插入到我们的 SQL 数据库中需要很长时间 因为我们使用普通的foreach 主要思想是插入每个部门并获取生成的身份号码 然后插入分配有该部门 ID 的嵌套员工
  • 按行删除每行列子集中的重复项,按行仅保留第一个副本

    我有以下 pandas 数据框 超过 700 万行 import pandas as pd data date 2023 02 22 2023 02 21 2023 02 23 x1 descx1a descx1b descx1c x2 A
  • angular2firebase - 使用 Angular 6 的多个实例

    我正在升级到Angular 6 using AngularFire2 我的应用程序引用了 2Firebase项目使用这样的代码来创建数据库引用 public initFirebaseApp config FirebaseAppConfig
  • 寻找实时网络服务器分析包[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我是一家县医院教育科的程序员 我希望能够在只能在内部访问的 IIS6 Web 服务器上查看一些实时统计数据 我正在寻找类似于 1and1 com 为
  • 圆角包含在小分区中的大图像的侧面在 Chrome 中不起作用

    我正在尝试用圆角化背景图像的侧面border radius财产 这是我的场景 我将一个大图像放在一个小分区中作为背景 并将溢出隐藏起来 现在我需要对小部门进行四舍五入 我成功绕过了小师 但图像的角不是圆角的 HTML div class v
  • 如何自动调整 iFrame 的大小? [复制]

    这个问题在这里已经有答案了 可能的重复 根据内容调整 iframe 的大小 我正在加载 iFrame 并希望父级根据 iFrame 内容的高度自动更改高度 简而言之 所有页面都属于同一域 因此我不应该遇到跨站点脚本问题 在任何其他元素上 我
  • Keras - 绘制训练、验证和测试集准确性

    我想绘制这个简单神经网络的输出 model compile loss binary crossentropy optimizer adam metrics accuracy history model fit x test y test n
  • 使用node-csv和meteor-file将CSV导入到集合中

    现在已经挣扎了几个小时 尝试导入从客户端上传的 CSV流星文件并使用转换为 CSVnode csv服务器端 我基本上需要用用户上传的 CSV 文件中的数据填充我的集合 server filehandler js Meteor methods
  • 如何克隆包含装箱特征对象的 HashMap?

    I have HashMap使用自定义哈希器 这个的项目HashMap没有实现特征Clone 这是一个特征 但是有一个克隆项目的功能 如下所示 use std collections HashMap use std hash BuildHa
  • 使用 std::unique_ptr/std::shared_ptr 确认线程安全

    我的应用程序有一个 IRC 模块 本质上是一个普通的客户端 由于这是高度线程化的 因此我面临插件检索的风险 例如 用户昵称 它当时有效 但解析器触发更新 更改所述昵称 一旦另一个线程再次执行 它就会处理指向现在无效内存的指针 因为不可能将
  • 如何将 SPListitem 从一个 SPList 复制到另一个 SPList

    我需要将项目从一个 SPList 复制到另一个 这是不起作用的代码 public void CopyList SPList src Copy items from source List to Destination List foreac
  • 使用 Google 地图 API 进行标记的路线

    因此 我正在使用 Google Maps API 目前我有一个自定义标记来突出显示该位置 如果可能的话 我想做的是能够单击它并让它弹出谷歌地图方向对话框 例如THIS 通常在谷歌地图上点击地名时会得到 目前 我刚刚将其设置为放大标记 但显然
  • 从 Windows 服务更新 ASP.Net 成员资格

    我正在为一家物业管理公司做一个项目 有存储所有租户和物业组合的后端系统 以及允许用户查看其套餐 服务请求等的前端网站 我需要编写一个 Windows 服务 从后端提取他们的信息并将其放入会员数据库中 我不知道如何配置服务以连接到会员提供商
  • Qt 嵌入应用程序内的屏幕旋转

    在我们的目标设备中 我们使用 qws 参数运行 QtE 应用程序 要旋转屏幕 我们指定 display Transformed rot90 作为应用程序参数 效果很好 但是 我们有一个在应用程序内旋转屏幕的功能 因此我们尝试 QScreen
  • 文字函数的隐式参数

    边读边玩 框架文档 我遇到了这个片段 def index Action implicit request gt session get connected map user gt Ok Hello user getOrElse Unauth
  • 如何以编程方式重新配置 uima ruta 分析引擎(更改参数值)?

    这是问题的延续 如何从 Maven 项目运行外部 ruta 脚本而不将脚本或其类型系统放在类路径中 请指导我以编程方式重新配置分析引擎 通过更改参数值 情况 您有一个 UIMA Ruta 分析引擎的正确 xml 描述符 并且您想要重新配置