Conjuntos de Dados do Modelo Personalizado

Revise os conjuntos de dados suportados para modelos personalizados e como converter conjuntos de dados em um formato suportado.

Integração com o Label Studio

O Data Labeling Service da Oracle está sendo preterido. Como opção, recomendamos migrar seus conjuntos de dados rotulados para o Label Studio, uma ferramenta de rotulagem de código-fonte aberto e suportada pelo marketplace.

Siga estas etapas para converter exportações de snapshot do serviço Data Labeling para importação do Label Studio e formatos de exportação JSON brutos do Label Studio. Use esses formatos para anotação adicional no Label Studio ou treinamento direto do modelo.

Conjuntos de Dados Permitidos para Classificação de Texto Personalizado

Você pode fornecer dados rotulados para modelos de classificação de texto personalizados de duas maneiras:

  • Projetos de Data Labeling
  • Arquivos de valores separados por vírgulas (.csv)
Requisitos do arquivo CSV
  • A primeira linha deve ser um cabeçalho contendo os seguintes nomes de duas colunas:
    • text: captura o texto a ser classificado.
    • labels: captura uma ou mais classes designadas. Para conjuntos de dados de classificação com vários rótulos, vários nomes de classe podem ser especificados juntando-os ao símbolo |.
  • Todas as linhas após a linha do cabeçalho contêm registros de treinamento.
  • Se o arquivo tiver mais de duas colunas, somente as colunas text e labels serão usadas para treinar o modelo.
  • Para a codificação do arquivo CSV, use UTF-8. Ao usar o Excel, salve o arquivo como CSV UTF-8 (Delimitado por vírgula) (.csv).

  • Para delimitador, use vírgula (,).
  • Para caractere de escape, use aspas duplas ("), também conhecidas com o caractere Unicode U+0022.

    Por exemplo, no Excel, se você digitar o seguinte texto:

    This is a "double quote" sentence

    A frase anterior é armazenada no CSV da seguinte forma:

    "This is a ""double quote"" sentence"

Exemplo de arquivo CSV para Classificação de Texto de rótulo único:

text,labels
Windows OS -unable to print,Network Printer Failure
Citrix Account frequently locking,Account (Password reset)
Pull print queue not working ,Application Component Disconnect
wifi disable and lan is disconnected at the desktop,Hardware Device Failure
Exemplo de arquivo CSV para Classificação de Texto com vários rótulos:
Windows OS -unable to print,Network Printer Failure
Pull print queue not working ,Application Component Disconnect|Network Printer Failure
wifi disable and lan is disconnected at the desktop,Hardware Device Failure|Network Connection Issue

Formatos de Conjunto de Dados Permitidos para NER Personalizado

Você pode fornecer dados rotulados para modelos NER personalizados de duas maneiras:

  • Projetos do Label Studio
  • Formato de Linhas JSON (.jsonl).
Requisitos do arquivo JSON

O arquivo JSON não inclui os dados de treinamento. Em vez disso, o arquivo JSON é um arquivo de manifesto que contém rótulos e ponteiros (caminhos relativos) para arquivos com dados não rotulados.

O formato JSON é um formato de Linhas JSON (JSONL), em que cada linha é um único objeto JSON:

  • A primeira linha no objeto descreve o conjunto de rótulos ou classes e o tipo de arquivo de anotação.
  • Todas as linhas posteriores descrevem um registro de treinamento.
  • Salve todos os arquivos de texto no mesmo diretório que o arquivo de manifesto (.jsonl) e os registros de treinamento nomeiam os arquivos.

Definição de Esquema
  1. A primeira linha é uma linha de cabeçalho. Ele contém um objeto JSON que descreve o tipo de arquivo.
  2. Qualquer linha posterior contém um objeto JSON que representa um registro rotulado.
Formato da Linha do Cabeçalho
Campo Tipo Descrição
labelsSet matriz de objetos.

Objeto com um membro de string, "name", que indica o conjunto de entidades suportadas para anotação. Liste todas as entidades aqui.

annotationFormat String Use "ENTITY_EXTRACTION" para conjuntos de dados NER.
datasetFormatDetails Objeto Objeto com um membro de string, "formatType", que indica o tipo de dados que está sendo anotado. Defina o valor de formatType como "TEXT" para Idioma.
Exemplo de Esquema JSON:
{
    "labelsSet": [
      {
        "name": "Label1"
      },
      {
        "name": "Label2"
      },
      {
        "name": "Label3"
      },
      {
        "name": "Label4"
      }
    ],
    "annotationFormat": "ENTITY_EXTRACTION",
    "datasetFormatDetails": {
      "formatType": "TEXT"
    }
  }
Formato de registro rotulado
Campo Tipo Descrição:
sourceDetails Objeto

Objeto com um membro de string, path, que aponta para o arquivo que está sendo anotado.

O caminho do arquivo é relativo ao local do arquivo json.

annotations Objeto Objeto complexo que descreve as anotações.
entities Matriz (Objetos) Uma lista das entidades identificadas no registro.
entityType String O tipo de anotação de entidade. Para o valor, use "TEXTSELECTION" para NER.
labels Matriz (Objetos) Cada objeto no array tem o membro, "label_name", que representa o tipo de entidade identificada.
textSpan Objeto Um objeto que representa o intervalo de texto. Contém dois membros numéricos obrigatórios: "offset" e "length".
Exemplo de Esquema JSON para Formato de Registro Rotulado:
{
    "sourceDetails": {
      "path": "Complaint3.txt"
    },
    "annotations": [
      {
        "entities": [
          {
            "entityType": "TEXTSELECTION",
            "labels": [
              {
                "label_name": "Label1"
              },
              {
                "label_name": "Label2"
              }
            ],
            "textSpan": {
              "offset": 0,
              "length": 28
            }
          },
          {
            "entityType": "TEXTSELECTION",
            "labels": [
              {
                "label_name": "Label1"
              }
            ],
            "textSpan": {
              "offset": 196,
              "length": 11
            }
          }
        ]
      }
    ]
  }