Doccano: 功能请求:令牌级输出

创建于 2019-10-03  ·  4评论  ·  资料来源: doccano/doccano

功能描述

doccano 目前只输出字符级注释。 但是,一些用于 NLP 的工作流需要输入单词列表和标记标签列表:

Sample sentence: 
['Two', ',', 'Samsung', 'based', ',', 'electronic', 'cash', 'registers', 'were', 'reconstructed', 'in', 'order', 'to', 'expand', 'their', 'functions', 'and', 'adapt', 'them', 'for', 'networking', '.']

Sample sentence labels: 
['O', 'O', 'I-ORG', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O']

在较早的问题 (#7) 中提到,这是由于某些语言不是空格分隔的事实而这样做的。 我认为有这个选项会很好,注释空格分隔语言的用户可以使用它来无缝输入到他们的工作流程。

示例取自: https :

feature request

最有用的评论

我计划创建一个名为doccano-transformer的新 Python 包。
它将带注释的文档转换为其他格式,例如https://github.com/chakki-works/doccano/issues/362https://github.com/chakki-works/doccano/issues/454等。 因此,令牌级别输出应包含在doccano-transformer

所有4条评论

你好呀! 我为自己写了类似的东西,我很乐意为 PR 做出贡献 :) 但是,我不确定如何处理贴错标签的令牌。 即,如果令牌仅被部分标记怎么办? 出于我自己的目的,我打印出错误标记的令牌,这是对脚本用户的警告,并删除令牌注释,但在生产中这不是一种方法。

另一件事是,什么应该是“非实体”令牌? 'O' ? 那么我们应该防止用户添加这样的标签,这可能会误导某些人。 或者我们应该创建用户自己可以提供令牌的表单? 还是留空?

我认为这个功能请求很棒,但我们应该同意如何解决这个问题 :smile: 我很想阅读你的建议

我计划创建一个名为doccano-transformer的新 Python 包。
它将带注释的文档转换为其他格式,例如https://github.com/chakki-works/doccano/issues/362https://github.com/chakki-works/doccano/issues/454等。 因此,令牌级别输出应包含在doccano-transformer

有任何更新吗? 我想将数据集简单地导入为 .txt(其中每一行都是一个句子):

George Washington went to Washington.
Sam Houston stayed home.

...并将其导出(注释后)如下,同样在 .txt 中:

George B-PER
Washington I-PER
went O
to O
Washington B-LOC

Sam B-PER
Houston I-PER
stayed O
home O

换句话说,以众所周知的 IOB 注释格式导出。 因此,为此,Doccano 应该自动知道,如果一个带注释的实体包含 1 个以上的标记,则应使用 B(开始)和 I(内部)标签进行注释。 另外,除了IOB,还有更复杂的标注方案,比如BIOES。 这里,S(single) 用于表示包含单个标记的块。 BIOES 注释方案将导致以下结果:

George B-PER
Washington E-PER
went O
to O
Washington S-LOC

Sam B-PER
Houston E-PER
stayed O
home O

如果我能以 IOB 或 BIOES(或其他)格式导出带注释的数据集,那就太棒了。 许多用于 NER 的最先进的库需要令牌级别的注释才能训练模型(来自 Zalando 的 Flair,来自 HuggingFace 的 Transformers,......)。

我们发布了doccano-transformer 。 它支持数据转换。 目前,支持的任务是命名实体识别,支持的格式是 CoNLL2003 和 spaCy。

我们有一个扩展任务和格式的计划。
请期待。

此页面是否有帮助?
0 / 5 - 0 等级