Preparação dos dados de treino

Processamento de Linguagem Natural com spaCy

Azadeh Mobasher

Principal data scientist

Etapas de treino

 

  1. Anotar e preparar os dados de entrada
  2. Inicializar os pesos do modelo
  3. Prever alguns exemplos com os pesos atuais
  4. Comparar a previsão com as respostas corretas
  5. Usar o otimizador para calcular pesos que melhorem o desempenho
  6. Atualizar levemente os pesos
  7. Voltar ao passo 3.
Processamento de Linguagem Natural com spaCy

Anotando e preparando dados

  • O primeiro passo é preparar os dados de treino no formato exigido
  • Depois de coletar os dados, nós os anotamos
  • Anotação é rotular a intenção, entidades etc.
  • Este é um exemplo de dado anotado:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Processamento de Linguagem Natural com spaCy

Anotando e preparando dados

  • Aqui vai outro exemplo de dado anotado:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Processamento de Linguagem Natural com spaCy

Formato de dados de treino do spaCy

  • A anotação prepara os dados de treino para o que queremos que o modelo aprenda
  • O conjunto de treino deve ser armazenado como um dicionário:
training_data = [
("I will visit you in Austin.", {"entities": [(20, 26, "GPE")]}),
("I'm going to Sam's house.", {"entities": [(13,18, "PERSON"), (19, 24, "GPE")]}),
("I will go.", {"entities": []})
]

Três pares de exemplo:

  • Cada par de exemplo inclui uma frase como primeiro elemento
  • O segundo elemento é a lista de entidades anotadas com caracteres inicial e final
Processamento de Linguagem Natural com spaCy

Dados do objeto Example para treino

  • Não podemos passar o texto bruto diretamente para o spaCy

  • Precisamos criar um objeto Example para cada exemplo de treino

import spacy
from spacy.training import Example

nlp = spacy.load("en_core_web_sm")

doc = nlp("I will visit you in Austin.")

annotations = {"entities": [(20, 26, "GPE")]} example_sentence = Example.from_dict(doc, annotations)
print(example_sentence.to_dict())
Processamento de Linguagem Natural com spaCy

Vamos praticar!

Processamento de Linguagem Natural com spaCy

Preparing Video For Download...