Deep learning 非连续令牌的NER标记模式

Deep learning 非连续令牌的NER标记模式,deep-learning,nlp,pytorch,named-entity-recognition,Deep Learning,Nlp,Pytorch,Named Entity Recognition,NER最常见的标记程序是IOB。但这种标记似乎仅限于来自同一实体的标记是连续的情况 那么比如说, 简·史密斯正在公园散步将被标记为:B-PER I-PER O O 这里我的每个实体是[Jane,Smith] 如果我们调整示例: 简和詹姆斯·史密斯正在公园里散步 B-PER-O B-PER-I-PER-O 现在的问题是,我们将获得的实体是[Jane]和[James,Smith],因为IOB标记不允许将Jane链接到Smith 是否存在允许将[Jane,Smith]和[James,Smith]标记为

NER最常见的标记程序是IOB。但这种标记似乎仅限于来自同一实体的标记是连续的情况

那么比如说,

简·史密斯正在公园散步
将被标记为:
B-PER I-PER O O

这里我的每个实体是
[Jane,Smith]

如果我们调整示例:

简和詹姆斯·史密斯正在公园里散步

B-PER-O B-PER-I-PER-O

现在的问题是,我们将获得的实体是
[Jane]
[James,Smith]
,因为IOB标记不允许将Jane链接到Smith


是否存在允许将
[Jane,Smith]
[James,Smith]
标记为实体的标记模式?

首先,关于在不使用新数据格式的情况下执行此操作:

有一份文件和回购协议是关于这样做的:

然而,看看他们和你的例子,似乎你可以通过使用依赖解析来改进。如果你看一看“简和詹姆斯·史密斯在公园散步”,你会发现斯帕西知道简和史密斯是连体的。因此,在运行实体提取之后,您可以执行依赖项解析步骤,然后根据该步骤编辑您的实体

现在,来回答真正的问题。我见过多维标签,其工作方式如下(假设每个句子最多有十个实体:

empty=[0,0,0,0,0,0,0,0]
代币=[“简”、“和”、“詹姆斯”、“史密斯”、“正在”、“行走”、“在”、“公园”]
标签=[
[1, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0, 0, 0, 0],
]
标签=标签+[空]*(10个透镜(标签))
如果有多个实体类型,则可以使用这些实体类型,而不仅仅是
1


无论如何,这种格式对BERT更有效,因为无论如何,当您必须将令牌拆分为BPE时,BIO格式是一种痛苦。

我查看了GENIA语料库,但它似乎不是同一个问题。在GENIA中,嵌套实体看起来像是包含在另一个实体中的实体(但不是同一类型的实体).在我的问题中,基本上有两个相同类型的独立实体重叠在一个标记上,但它们不是按selook嵌套的,就像您的解决方案实际上是将NER任务重新构造为关系提取任务一样(因为本质上,这个N*N矩阵是一个关系矩阵,你试图预测哪个令牌与其他令牌相关)。我说得对吗?在这种情况下,用通常的BIO格式实际执行NER更有意义,然后执行关系提取(有点像联合NER/re任务)。我不同意。这将只在它们共享一个令牌的情况下显示关系。这是一个令牌分类任务。每个实体执行一行只是允许重叠的一种方式。您是否有一些来源在讨论此方法?我不再将其视为令牌分类,因为您的目标是一个N*N矩阵,N是t的数目okens(非常像RE)但我同意它在我的场景中会起作用。我会留意。我以前见过这种将物体提升到更高维度空间的技术,但我想不出一个简单的例子。我不知道我以前是否见过标记标记标记。这是一个更稀疏的输出空间,所以我想会有一些问题。。。