如何在 OpenNLP 中训练命名实体识别器标识符?

2023-11-23

好的,我有以下代码来训练来自 OpenNLP 的 NER 标识符

FileReader fileReader = new FileReader("train.txt");
ObjectStream fileStream = new PlainTextByLineStream(fileReader);
ObjectStream sampleStream = new NameSampleDataStream(fileStream);
TokenNameFinderModel model = NameFinderME.train("pt-br", "train", sampleStream, Collections.<String, Object>emptyMap());
nfm = new NameFinderME(model); 

我不知道我是否做错了什么,是否缺少某些东西,但分类不起作用。我认为 train.txt 是错误的。

错误发生的情况是所有令牌都被分类为仅一种类型。

我的 train.txt 数据类似于以下示例,但条目的变化和数量更多。另一件事是,我每次都从文本中逐字分类查找,而不是所有标记。

<START:distance> 8000m <END>
<START:temperature> 100ºC <END>
<START:weight> 50kg <END>
<START:name> Renato <END>

有人可以表明我做错了什么吗?


你的训练数据不合格。

您应该将所有实体放在句子内的上下文中:

At an altitude of <START:distance> 8000m <END> the temperature of boiling water is less than <START:temperature> 100ºC <END> .
The climber <START:name> Renato <END> is carrying <START:weight> 50kg <END> of equipment.

如果您的训练数据源自现实世界的句子并且与您正在分类的句子具有相同的风格,您将获得更好的结果。例如,如果您要处理新闻,则应该使用报纸语料库进行训练。

此外,您将需要数千个句子来构建您的模型!也许您可以从一百个开始引导并使用较差的模型来改进您的语料库并再次训练您的模型。

当然,你应该对句子的所有标记进行分类,否则将没有上下文来决定实体的类型。

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

如何在 OpenNLP 中训练命名实体识别器标识符? 的相关文章

  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 退出状态是可观察的行为吗?

    C 2018 5 1 2 3 6 说 一致实施的最低要求是 对易失性对象的访问严格按照抽象机的规则进行评估 在程序终止时 写入文件的所有数据应与根据抽象语义执行程序所产生的结果相同 交互设备的输入和输出动态应按照 7 21 3 的规定进行
  • 南希:如何捕获所有请求,无论动词或路径如何

    我想将 Nancy 与默认路由一起使用 因为它干净且运行良好 但是我想要一个选项来将所有传入请求记录到控制台 我正在使用 Nancy 的自托管模块 无论是否存在显式路由 简而言之 我希望能够捕获动词 传入请求 URI 任何发布的数据 如果是
  • ModuleNotFoundError:没有名为“pandas.core.indexes”的模块

    我编写了这段代码来将数据集加载到数据框中 数据集在 pickle 文件中给出 但会引发错误 ModuleNotFoundError 没有名为 pandas core indexes 的模块 import pickle import pand
  • 如何从 ASP .NET Core MVC 1.0 中的视图访问会话

    我正在尝试从视图内部访问会话数据 使用案例 我将状态消息存储在会话中 该消息将显示在页面顶部 目前我通过使用DisplayMessages 设置一些函数ViewData 属性并在每个控制器操作开始时调用它 Goal 我只想设置一次状态消息
  • 如何从 Java 向 Erlang 发送消息?

    我正在 Erlang 中制作一个应用程序 并使用 Java 中的 GUI 我已经成功地在两种语言之间建立了连接 但现在我需要 我猜 每次按下按钮时从 Java 向 Erlang 发送一条消息 这是正确的做法吗 这样的消息看起来怎么样 我发现
  • #includes 在命名空间中,将预先编写的内容“嵌入”命名空间中

    简而言之 这样做安全吗 namespace Foo include bar 在你愉快地拒绝之前 我想我有一些规则可以保证它相当安全 但我不喜欢它们 因为它们要求包含器单独包含所需的所有全局范围标头 尽管这可能是可以容忍的 但如果我们想象包含
  • 是什么导致 Java JLabel 图标图像质量差?

    Java JLabel图标显示的像素扭曲JFrame 不同的 png 图像 均为 32x32 都会出现这种情况 我没有缩放图像 它们在程序中显示为 32x32 我使用它进行了验证getWidth and getHeight在 JLabel
  • 如何在列表理解中转换这个 for 循环?

    我有一个像这样的 for 循环 for i in conversion for f in glob glob i print os path getsize f 我想将其转换为列表理解 尝试过这个 os path getsize f for
  • 从某个范围生成随机整数

    我需要一个函数 它可以生成给定范围 包括边界值 内的随机整数 我没有不合理的质量 随机性要求 我有四个要求 我需要它快点 我的项目需要生成数百万 有时甚至数千万 的随机数 而我当前的生成器函数已被证明是一个瓶颈 我需要它相当均匀 使用 ra
  • 获取对象的实例名称,而不是 C# 4.0 中的对象类型名称

    假设这个类型 public class Car 我创建了一个实例 Car myCar new Car Target target new Target target Model myCar 这是另一种类型 public class Targ
  • C# python 实时进程间

    我正在开发一个项目 其中一个应用程序使用 C 编写 另一个应用程序使用 Python 编写 C 应用程序将持续分析数据流 并在每次检测到有趣的内容时发出一个标志 因此 每次发生事件时 我的 Python 应用程序都必须读取它并继续其自己的进
  • 包含 espresso-contrib:2.0 时出现 java.lang.InknownClassChangeError

    我有 android support v7 widget RecyclerView 的子类 当我使用该应用程序并进行测试时 它工作得很好 但是 当我在 gradle 应用程序文件中包含 espresso contrib 时 当我尝试运行相同
  • 自定义 Visual Studio MSIX 打包项目输出

    我正在使用 Visual Studio MSIX 打包项目在网络共享上为内部应用程序创建安装程序 一个问题是它正在创建一个末尾带有 Test 的目录 为什么会这样以及我该如何摆脱它 我只想要 MyApp MSIX 0 0 1 0 或者理想情
  • 在 matlab 中保存 imagesc 的精确图像输出

    你好 我想保存这张图片imagesc magic 3 确切的彩虹表示 可能吗 Thanks 这个问题可能看起来像重复的问题 但事实并非如此 我在这个网站上查看了类似问题的解决方案 但它并不令我满意 我查看了 Matlab 帮助中心 得到的最
  • android ffmpeg .so下载[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人知道从哪里获得 Android 编译的 so FFMPEG 库吗 我尝试了数千次使用 Android NDK 在 windows 7 上手动编译
  • 接受 YouTube 的 cookie 同意

    我正在尝试从 Youtube 频道检索 Youtube 视频列表 例如 https www youtube com user YouTube videos 以获得第 n 个第一个视频 感谢key videoId 它曾经像魅力一样发挥作用 直
  • Oracle中的游标for循环

    请解释一下如何在 oracle 中使用游标 for 循环 如果我使用下一个代码 一切都很好 for rec in select id name from students loop do anything end loop 但是如果我为这个
  • 绘制一个奇特的对角相关矩阵,其系数位于上三角形中

    我有以下内容合成的数据框 包括数值 and 绝对的列以及label柱子 我想绘制一个对角相关矩阵并在上部显示相关系数 如下所示 预期产出 尽管合成数据集 数据帧中的分类列df需要转换成数值 到目前为止我已经用过这个海伯恩的例子 using
  • 如何以角度获取前一个日期?

    请帮我获取 Angular 4 中之前的日期 currentdate Date this currentdate new Date console log this datePipe transform this currentdate y
  • 如何在 OpenNLP 中训练命名实体识别器标识符?

    好的 我有以下代码来训练来自 OpenNLP 的 NER 标识符 FileReader fileReader new FileReader train txt ObjectStream fileStream new PlainTextByL