Rotule seus dados

Concluído

Rotular ou marcar seus dados corretamente é uma parte importante do processo para criar um modelo de extração de entidade personalizado. Os rótulos identificam exemplos de entidades específicas no texto usado para treinar o modelo. Três coisas em que se deve focar são:

  • Consistência - Rotule seus dados da mesma maneira em todos os arquivos para treinamento. A consistência permite que seu modelo aprenda sem entradas conflitantes.
  • Precisão - Rotule as suas entidades de forma consistente, sem palavras adicionais desnecessárias. A precisão garante que apenas os dados corretos sejam incluídos na sua entidade extraída.
  • Exaustividade - Rotule seus dados completamente e não perca nenhuma entidade. A completude ajuda o seu modelo a reconhecer sempre as entidades presentes.

Screenshot of labeling an entity in Language Studio.

Como rotular os seus dados

O Language Studio é o método mais simples para rotular seus dados. O Language Studio permite que você veja o arquivo, selecione o início e o fim da sua entidade e especifique qual entidade é.

Cada rótulo identificado é salvo em um arquivo que vive em sua conta de armazenamento com seu conjunto de dados, em um arquivo JSON gerado automaticamente. Em seguida, esse arquivo é usado pelo modelo para aprender a extrair entidades personalizadas. É possível fornecer esse arquivo ao criar seu projeto (se você estiver importando os mesmos rótulos de um projeto diferente, por exemplo), no entanto, ele deve estar nos formatos de dados NER personalizados aceitos. Por exemplo:


{
  "projectFileVersion": "{DATE}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomEntityRecognition",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectName": "{PROJECT-NAME}",
    "multilingual": false,
    "description": "Project-description",
    "language": "en-us",
    "settings": {}
  },
  "assets": {
    "projectKind": "CustomEntityRecognition",
    "entities": [
      {
        "category": "Entity1"
      },
      {
        "category": "Entity2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 500,
            "labels": [
              {
                "category": "Entity1",
                "offset": 25,
                "length": 10
              },
              {
                "category": "Entity2",
                "offset": 120,
                "length": 8
              }
            ]
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 100,
            "labels": [
              {
                "category": "Entity2",
                "offset": 20,
                "length": 5
              }
            ]
          }
        ]
      }
    ]
  }
}

Campo Descrição
documents Matriz de documentos rotulados
location Caminho para o arquivo dentro do contêiner conectado ao projeto
language Língua do ficheiro
entities Matriz de entidades presentes no documento atual
regionOffset Posição de caractere inclusiva para o início do texto
regionLength Comprimento, em caracteres, dos dados utilizados na formação
category Nome da entidade a extrair
labels Matriz de entidades rotuladas nos arquivos
offset Posição de caráter inclusivo para início de entidade
length Comprimento em caracteres da entidade
dataset A qual conjunto de dados o arquivo está atribuído