程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何为 OpenNLP 准备训练数据以对包含多个单词的 token 进行 Tokenize?

发布于2021-08-06 00:20     阅读(756)     评论(0)     点赞(26)     收藏(4)


在某些语言(例如:越南语)中,某些词汇由多个单词组成。这样一些包含多个单词的标记可以被标记,而不仅仅是使用空格。

我有以下输入:

Người dân địa phương đã nhiều lần báo Điện lực Bến Tre nhưng chưa được giải quyết .

预期输出:

["Người dân", "địa phương",  "đã", "nhiều", "lần", "báo", "Điện lực",  "Bến Tre", "nhưng", "chưa", "được", "giải quyết"]

我有训练数据 _ 将需要粘在一起的单词连接到一个标记中:

Người_dân địa_phương đã nhiều lần báo Điện_lực Bến_Tre nhưng chưa được giải_quyết .

这是我用来训练的命令行

opennlp TokenizerTrainer -model "model/vi-token.bin" -alphaNumOpt 1 -lang "vi" -data "data/merge_vlsp_removehtml" -encoding "UTF-8" -params param/wordseg.param

带参数

Iterations=1000

但是,输出不能在一个标记中连接多个单词,而是由空格分割。

我运行以获取输出的命令

opennlp TokenizerME model/vi-token.bin < sample/sample_text > sample/sample_text.out 

我应该如何处理训练数据我们的配置参数来训练每个标记有多个单词的标记器?


解决方案


不要使用下划线进行训练,而是使用标签。OpenNLP 使用标签作为训练的参考。按照 NER 给出的说明训练您的 Tokenizer。

opennlp 提供了“TokenizerTrainer”工具来训练数据。OpenNLP 格式每行包含一个句子。您还可以指定由空格或特殊标签分隔的标记。

您可以关注博客,在 opennlp 中为各种目的抢先一步。该帖子将向您展示如何创建训练文件和构建新模型。

您可以使用模型构建器插件轻松创建自己的训练数据集,并遵循此处提到的一些规则来训练创建一个好的NER 模型

您可以在此处使用模型构建器插件找到一些帮助

基本上,您将所有信息放在一个文本文件中,而将 NER 实体放在另一个文件中。插件搜索特定实体并将其替换为所需的标签。因此产生标记数据。使用这个工具一定很容易!

另外,请关注先生。markg 的答案,以了解自己创建新模型。这将帮助您构建自己的模型,这些模型可以针对您的应用程序进行定制。

希望这可以帮助!



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/254874/88411ac05ac505bd312b/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)