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.

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 atribuídas. Para conjuntos de dados de classificação com vários rótulos, é possível especificar vários nomes de classe unindo-os com o 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 de Data Labeling
  • 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 subsequentes 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 subsequente 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
            }
          }
        ]
      }
    ]
  }

Fazendo Upload dos Conjuntos de Dados

Faça upload de conjuntos de dados para buckets do Object Storage.

Observação

Como alternativa, você pode criar conjuntos de dados usando o serviço OCI Data Labeling.

Criando um Bucket

Se você tiver um bucket do Object Storage para conjuntos de dados, ignore esta seção.

  1. Abra o menu de navegação e clique em Armazenamento. Em Object Storage & Archive Storage, clique em Buckets.
  2. Em Escopo da Lista, na lista Compartimento, clique no nome do compartimento no qual você deseja criar um bucket. Você já deve ter permissão para adicionar recursos do Object Storage a este compartimento.
  3. Clique em Criar Bucket.
  4. Informe um nome para o bucket, exclusivo da região.
  5. Para outros campos, clique nos links Saiba Mais e escolha as opções que se aplicam aos dados.
  6. Clique em Criar. Por padrão, os buckets têm Visibilidade Privada, a menos que você altere sua visibilidade após criá-los.

Observação

Você deve ter nomes de bucket exclusivos dentro de um namespace. Embora o namespace seja específico da região, o nome do namespace propriamente dito é o mesmo em todas as regiões. Por exemplo, se a tenancy receber um nome de namespace <your-namespace>, que é o nome do namespace em todas as regiões.

Você pode criar um bucket chamado MyBucket no Oeste dos EUA (Phoenix). Não é possível criar outro bucket chamado MyBucket no Oeste dos EUA (Phoenix). No entanto, você pode criar um bucket chamado MyBucket na Região Central da Alemanha (Frankfurt). Como o nome do namespace é exclusivo de um tenant, outros usuários podem criar buckets denominados MyBucket em seus próprios namespaces.

Adicionando Dados a um Bucket

Depois de criar um bucket, adicione seus conjuntos de dados ao bucket. Se seus conjuntos de dados já estiverem em um bucket, ignore esta seção.

Você armazena arquivos como objetos em buckets. Um objeto é composto dos dados em si e dos metadados sobre ele.

  1. Abra o menu de navegação e clique em Armazenamento. Em Object Storage & Archive Storage, clique em Buckets.
  2. Em Escopo da Lista, na lista Compartimento, clique no nome do compartimento que hospeda o bucket.
  3. Clique no nome do bucket ao qual você deseja adicionar dados.
  4. Clique em Fazer Upload.
  5. Carregue os dados.