如果我想使用单个 UIMA 依赖库,是否需要重写整个 java 项目?

2023-12-11

我想用https://code.google.com/p/heideltime/在一个java项目中。该代码“适合 UIMA 管道”,这是我根本不理解的。 UIMA 看起来像是为了解决大量我没有的问题而设计的,所以我只想获得运行该代码所需的最少量的 UIMA。

有没有一个简单的示例来说明如何运行简单的 UIMA 程序?

我已经添加

    <dependency>
        <groupId>org.uimafit</groupId>
        <artifactId>uimafit</artifactId>
        <version>1.4.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-core</artifactId>
        <version>2.4.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-tools</artifactId>
        <version>2.4.0</version>
    </dependency>

到我的 pom.xml 但由于某种原因 maven 仍然不会编译这个:

import org.apache.uima.jcas.JCas;
import org.apache.uima.util.Level;
import org.uimafit.component.JCasAnnotator_ImplBase;
import org.uimafit.descriptor.ConfigurationParameter;
import org.uimafit.descriptor.TypeCapability;
import org.uimafit.examples.tutorial.type.RoomNumber;

public class RoomNumberAnnotatorPipeline {

        public static void main(String[] args) throws Exception {
                String text = "The meeting was moved from Yorktown 01-144 to Hawthorne 1S-W33.";
                TypeSystemDescription tsd = createTypeSystemDescription( "org.uimafit.examples.tutorial.type.RoomNumber");
                JCas jCas = createJCas(tsd);
//                jCas.setDocumentText(text);
//                AnalysisEngine analysisEngine = createPrimitive(RoomNumberAnnotator.class, tsd);
//                analysisEngine.process(jCas);
//
//                for (RoomNumber roomNumber : select(jCas, RoomNumber.class)) {
//                        System.out.println(roomNumber.getCoveredText() + "\tbuilding = "
//                                        + roomNumber.getBuilding());
//                }
        }
}


[ERROR] symbol  : class TypeSystemDescription
[ERROR] location: class com.stackoverflow.RoomNumberAnnotatorPipeline

enter image description here

UIMA 依赖项是否比典型的 java 库更重要?仅从 Maven Central 提取 UIMA 并开始在我现有的代码中使用它们的类还不够吗?

好吧,我以某种方式让这个例子工作了(我不知道它是什么,并且仍然困惑为什么它之前不起作用)我仍然无法使用 heideltime:

package org.ryan;

import static org.uimafit.factory.AnalysisEngineFactory.createPrimitive;
import static org.uimafit.factory.JCasFactory.createJCas;
import static org.uimafit.factory.TypeSystemDescriptionFactory.createTypeSystemDescription;
import static org.uimafit.util.JCasUtil.select;

import org.apache.uima.UIMAException;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.metadata.TypeSystemDescription;
import org.uimafit.examples.tutorial.ex1.RoomNumberAnnotator;
import org.uimafit.examples.tutorial.type.RoomNumber;


/**
 * Hello world!
 *
 */
public class UIMAWTF 
{
    public static void main( String[] args ) throws UIMAException
    {
        String text = "The meeting was moved from Yorktown 01-144 to Hawthorne 1S-W33. Today is May 5, 2013.";

        TypeSystemDescription tsd = createTypeSystemDescription("org.uimafit.examples.tutorial.type.RoomNumber");
        JCas jCas = createJCas(tsd);

        jCas.setDocumentText(text);
        AnalysisEngine analysisEngine = createPrimitive(RoomNumberAnnotator.class, tsd);
        analysisEngine.process(jCas);

        for (RoomNumber roomNumber : select(jCas, RoomNumber.class)) {
            System.out.println(roomNumber.getCoveredText() + "\tbuilding = "
                    + roomNumber.getBuilding());
        }   

    }
}

edit现在正在尝试:

HeidelTimeStandalone hts_sci = new HeidelTimeStandalone(Language.ENGLISH, DocumentType.NEWS, OutputType.TIMEML);//, configPath);
dates = hts_sci.process("19-Nov-2013", new Date(2012,01,05), new TimeMLResultFormatter());          

System.out.println(dates);

Getting:

Jul 3, 2013 2:02:41 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
INFO: HeidelTimeStandalone initialized with language english
Jul 3, 2013 2:02:41 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone readConfigFile
INFO: trying to read in file config.props
java.lang.NullPointerException
    at java.io.Reader.<init>(Reader.java:61)
    at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
    at de.unihd.dbs.uima.annotator.heideltime.resources.GenericResourceManager.readResourcesFromDirectory(GenericResourceManager.java:45)
    at de.unihd.dbs.uima.annotator.heideltime.resources.NormalizationManager.<init>(NormalizationManager.java:58)
    at de.unihd.dbs.uima.annotator.heideltime.resources.NormalizationManager.getInstance(NormalizationManager.java:73)
    at de.unihd.dbs.uima.annotator.heideltime.HeidelTime.initialize(HeidelTime.java:143)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.initialize(HeidelTimeStandalone.java:153)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.<init>(HeidelTimeStandalone.java:128)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.<init>(HeidelTimeStandalone.java:112)
    at com.hrl.issl.osi.date.LocalHeidelTime.main(LocalHeidelTime.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:662)
Jul 3, 2013 2:02:41 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
WARNING: HeidelTime could not be initialized
java.lang.NullPointerException
    at org.apache.uima.util.XMLInputSource.<init>(XMLInputSource.java:118)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.initialize(HeidelTimeStandalone.java:163)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.<init>(HeidelTimeStandalone.java:128)
    at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.<init>(HeidelTimeStandalone.java:112)
    at com.hrl.issl.osi.date.LocalHeidelTime.main(LocalHeidelTime.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:662)
Jul 3, 2013 2:02:41 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
WARNING: JCas factory could not be initialized

它说在海德尔时间的主页

HeidelTime 可作为 UIMA 注释器和独立版本使用。

有一个我 mavenized 的独立版本here。你应该能够破解de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.java主要是为了满足您的需求。

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

如果我想使用单个 UIMA 依赖库,是否需要重写整个 java 项目? 的相关文章

  • 如何从Firebase Firestore实时更新文档中获取修改后的字段或数据? [复制]

    这个问题在这里已经有答案了 我有多个文档 我的问题是我无法获取修改的特定数据 我正在获取完整的文档 db collection employees whereEqualTo OID OID addSnapshotListener new E
  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要

随机推荐

  • 无法在 Linux 机器上通过 ODBC 连接到 informix

    我正在运行 CentOS 7 的虚拟机上工作 并且尝试通过一些 php 使用 ODBC unixODBC 连接到 Informix 数据库 我使用的是 php7 0 并且安装了 unixODBC 2 3 7 以及 informix sdk
  • 创建自定义 MutableState 持有者

    Compose 仅 允许有限数量的状态持有者 包括所有原始数据类型和一些额外的附加组件 但不支持自定义对象或任何更复杂的对象 例如Path 我希望确保对这些类型的更改也能很好地观察到 因此我想为这些类型实现自定义扩展 就像他们添加了muta
  • 如何避免 Java 中未使用的代码抛出 NoClassDefFoundError

    我正在从事的项目是一个支持两个不同平台的API 在运行时 类路径上实际上只有两个平台之一可用 在大多数情况下 我很容易就能编写出这样工作正常的代码 if isPlatformOne PlatformOne doSomething Even
  • Python2 和 Python3:__init__ 和 __new__

    我读过其他问题来解释两者之间的区别 init and new 但我只是不明白为什么在下面的代码中用 python 2 输出 init 和Python3 new init 示例代码 class ExampleClass def new cls
  • 在 iOS 导航栏上放置标签、按钮

    我创建了自定义导航控制器 我想添加 左侧是日期 右侧是后退按钮 后退按钮旁边是标题 我尝试添加一个标签 但不起作用 请告诉我一个方法 UINavigationBar naviBarObj UINavigationBar alloc init
  • gcc 和 g++/gcc-c++ 有什么区别?

    在我看来 gcc 可以处理 c 和 c 项目 那么为什么需要 g gcc c 呢 g 和 gcc c 有什么区别 gcc如果文件具有适当的扩展名 则将 C 源文件编译为 C 将 C 源文件编译为 C 但是它不会自动链接到 C 库中 g 将自
  • “ON CONVERSION ERROR”失败并显示“ORA-43918:此参数必须是文字”

    ON CONVERSION ERROR应允许转换函数处理诸如 ORA 01858 在需要数字的地方发现非数字字符 之类的错误 但是当我使用该功能时 我只会收到不同的错误 SQL gt select to date the date defa
  • 将“CallLog.Calls”存储到另一个表中

    我需要使用什么样的查询 将 CallDB 创建为 从 CallLog Calls 中选择 我想将整个通话记录存储到另一个表中进行处理 因为我读到 calllog calls 只有最后 500 条记录 好吧 我自己做了一个解决方案 不知道它是
  • SQL Server批量插入

    我想将一列文本文件导入到我的 SQL 表之一中 该文件只是脏话列表 我编写了以下 TSQL 来执行此操作 BULK INSERT SwearWords FROM c swears txt WITH FIELDTERMINATOR ROWTE
  • Scapy多次嗅探数据包?

    我正在使用 Scapy 通过使用以下代码来捕获数据包 from scapy all import def verify p p display sniff prn verify iface lo 嗅探功能多次捕获每个数据包 例如 如果我有一
  • RecyclerView 加载更多内容并出现 ProgressBar 错误

    我正在尝试创建RecyclerviewonLoadMore 与ProgressBar在底部 我试过了这个解决方案 但是我的方法 onLoadMoreActivity从未被调用过 请帮我 这是我的Adapter public class Ne
  • 使用 Realm studio 打开我的领域文件时出现问题

    我无法在领域工作室中打开 default realm 文件 这是我收到的错误 此版本的 Realm 不支持打开格式版本 20 的 Realm 文件 我在 stackoverflow 上看到了类似的问题 但没有任何答案 领域工作室版本 5 0
  • String.intern() 的性能损失

    很多人谈论 String intern 的性能优势 但实际上我更感兴趣的是性能损失可能是什么 我主要关心的是 搜索成本 intern 确定常量池中是否存在可内部字符串所花费的时间 该成本如何随着池中字符串的数量而变化 同步 显然常量池是整个
  • 无法使用 spring javamail 从服务器 heroku 发送电子邮件

    我尝试从以下位置发送电子邮件Heroku using 春季javamail 但出现错误 我的代码 import org springframework mail MailSender import org springframework m
  • Git - git-svn 克隆后删除远程分支

    我已经使用以下命令克隆了 SVN 存储库git svn clone trunk trunk tags tags branches branches 该操作已正确执行 现在当我列出我的分支时 我拥有所有过去的标签 例如 git branch
  • 将样式应用于 Android ListView

    我想在我的应用程序中设置 lisview 的样式 如下图所示 我尝试通过应用渐变来开发它 list item normal 的代码是
  • 具有自定义视图的堆叠式 ActionBar 选项卡未正确显示

    使用操作栏选项卡时 有时当选项卡内容对于显示来说太大时 它们会显示为 堆叠 当我对选项卡内容使用自定义视图时 会出现问题 它会导致所选选项卡不会显示在下拉列表中 并且一旦选择选项卡 下拉列表就会消失 并出现小的空选项卡 Here is a
  • Aho-Corasick 整个单词的文本匹配?

    我正在使用 Aho Corasick 文本匹配 想知道是否可以更改它以匹配terms而不是字符 换句话说 我希望术语而不是字符成为匹配的基础 举个例子 搜索查询 他 句子 你好世界 Aho Corasick 会将 he 与以索引 2 结尾的
  • 播放视频 android 时未捕获第一次按后退按钮

    我有一个奇怪的错误 我不知道如何修复 我有一个视频播放器 一个播放视频的简单视频视图 现在我已经实现了逻辑 以便当用户按下后退按钮时 它告诉他再次按下后退按钮以退出 当他这样做时 它就会退出 但问题是第一次背压没有被抓住 我不知道是什么原因
  • 如果我想使用单个 UIMA 依赖库,是否需要重写整个 java 项目?

    我想用https code google com p heideltime 在一个java项目中 该代码 适合 UIMA 管道 这是我根本不理解的 UIMA 看起来像是为了解决大量我没有的问题而设计的 所以我只想获得运行该代码所需的最少量的