Personalizando modelos do spaCy

Processamento de Linguagem Natural com spaCy

Azadeh Mobasher

Principal data scientist

Por que treinar modelos do spaCy?

  • Funcionam bem para casos gerais de PLN
  • Mas podem não ter visto dados de domínios específicos no treino, por exemplo:
    • Dados do Twitter
    • Dados médicos

Exemplo de NER no domínio médico

Processamento de Linguagem Natural com spaCy

Por que treinar modelos do spaCy?

 

  • Melhores resultados no seu domínio específico
  • Essencial para classificação de texto por domínio

 

Antes de treinar, faça estas perguntas:

  • Os modelos spaCy já têm bom desempenho nos nossos dados?
  • Nosso domínio inclui muitos rótulos ausentes nos modelos spaCy?
Processamento de Linguagem Natural com spaCy

Desempenho dos modelos nos nossos dados

  • Os modelos spaCy já têm bom desempenho nos nossos dados?
  • Oxford Street não é classificado corretamente com o rótulo GPE:
import spacy
nlp = spacy.load("en_core_web_sm")

text = "The car was navigating to the Oxford Street."
doc = nlp(text)
print([(ent.text, ent.label_) for ent in doc.ents])
[('the Oxford Street', 'ORG')]
Processamento de Linguagem Natural com spaCy

Rótulos de saída nos modelos do spaCy

  • Nosso domínio inclui muitos rótulos ausentes nos modelos spaCy?

Exemplo de NER em domínio comum vs. médico

Processamento de Linguagem Natural com spaCy

Rótulos de saída nos modelos do spaCy

 

Se precisarmos treinar um modelo customizado, siga estes passos:

  • Coletar dados do nosso domínio
  • Anotar os dados
  • Decidir entre atualizar um modelo existente ou treinar do zero
Processamento de Linguagem Natural com spaCy

Vamos praticar!

Processamento de Linguagem Natural com spaCy

Preparing Video For Download...