如何为机器学习选择和创建自然语言数据

数据挖掘 机器学习 nlp 数据集
2022-03-16 00:32:08

这两种数据格式有什么区别?

例如,对于命名实体识别任务,我了解到索引和BIO 编码是流行的训练数据格式。

它们是否具有不同的机器学习功能,我应该根据训练模型的要求选择输入数据格式吗?

# index representation
    "entities": [
        {
            "name": "John J. Smith ",
            "span": [4,8],
            "type": "PERSON"
        }

# BIO Encoding
Tokens  IO  BIO BMEWO   BMEWO+
Yesterday   O   O   O   BOS_O
afternoon   0   O   O   O
,   0   O   O   O_PER
John    I_PER   B_PER   B_PER   B_PER
J   I_PER   I_PER   M_PER   M_PER
.   I_PER   I_PER   M_PER   M_PER
Smith   I_PER   I_PER   E_PER   E_PER
traveled    O   0   O   PER_O
to  O   O   O   O_LOC
Washington
I_LOC   B_LOC   W_LOC   W_LOC
.   O   O
1个回答

BIO 格式(及其变体)是用于训练序列标记模型的标准格式,特别是命名实体识别 (NER) 模型。

序列标记包括为序列中的每个标记分配一个标签,因此在训练和预测的“低级”阶段,系统必须处理标记及其标签,以及(可能)与标记相关的其他特征。通过标签来表示一个实体有几种可能的选择:显然必须至少有两个,并且已经证明B为实体中的第一个标记添加至少一个特殊是有益的。

类似 json 的格式(如您提供的格式)可以用作 NER 系统的简化输出,通常用于只需要识别实体及其类型的列表的应用程序。它通常操作起来更方便,但它不能被 NER 系统直接使用:它甚至不包含全文,它没有被标记,并且每个标记都没有标签。但是假设还提供了全文,这种格式也可以转换为 BIO 或一些变体,但它的工作量更大。

  • 如果目标是提供可以立即用于训练 NER 模型的数据集,那么 BIO 格式显然更合适。
  • 如果目标是为其他用途提供一种方便的格式,那么像这种 JSON 格式就可以了,这不是 NER 的问题。