O que é aprendizagem zero, e como pode ser efectivamente aplicado, no Processamento de Linguagem Natural, à classificação de texto, graças aos transformadores de abraçar a cara?
Graças aos recentes modelos de Processamento de Linguagem Natural baseados em transformadores de última geração, a aprendizagem de zero-shot tem ganho muito popularidade no mundo do Processamento de Linguagem Natural. A ideia é que um modelo pode agora reconhecer algumas classes, mesmo que não tenha foi treinado para isso.
Isto é o que os seres humanos fazem naturalmente. Por exemplo, se o seu filho sabe o que é um camelo, só precisa de dizer-lhe que existe outro animal chamado dromedário, muito semelhante a um camelo, excepto que tem 1 corcunda as suas costas em vez de 2! Da próxima vez que o seu filho vir uma fotografia de um dromedário, ele saberá o que é enquanto é a primeira vez que ele vê um!
As técnicas de tiro zero associam classes observadas e não observadas através de alguma forma das chamadas informação "auxiliar", que codifica as propriedades distintivas dos objectos. Esta tem sido uma informação muito popular técnica em visão por computador durante muito tempo, que é agora cada vez mais utilizada no Processamento de Linguagem Natural.
A aprendizagem à distância zero funciona bem para a classificação de textos. A classificação de texto é sobre a aplicação de um ou mais categorias a um texto (espaço, negócio, desporto, etc.).
Até recentemente, os modelos de classificação de texto só podiam categorizar pedaços de texto com um número pré-definido de categorias de candidatos. Estas categorias tinham de ser estabelecidas com antecedência durante a formação. Isto foi doloroso porque isso significava que, cada vez que queria adicionar uma categoria, tinha de re-treinar o seu modelo com mais exemplos.
Desde a criação de modelos de Processamento de Linguagem Natural muito maiores (na maioria das vezes baseados em Transformadores), tem sido possível treinar os modelos apenas numa lista específica de categorias, e depois deixar os utilizadores criarem novos categorias na mosca sem ter de voltar a treinar o modelo.
Por exemplo, digamos que o seu modelo de classificação de texto de tiro zero foi treinado para reconhecer apenas 3 categorias: espaço, natureza, e desporto. Ainda se pode utilizá-lo para categorizar textos para outras categorias, como, por exemplo, negócios, alimentação, ou ciência.
Esta é uma técnica muito poderosa que permite muita flexibilidade, ao mesmo tempo que ainda dá grandes resultados.
Existem excelentes modelos de Processamento de Linguagem Natural de Código Aberto lá fora, baseados em Transformadores de Abraços Faciais, que funcionam realmente bem para a classificação de texto de zero tiros.
Na NLP Cloud seleccionámos estes 2 modelos que, na nossa opinião, são os melhores modelos de ponta para classificação de texto de zero tiros, por enquanto:
Mesmo que a sua precisão seja impressionante e a sua latência seja bastante boa, estes 2 modelos continuam a ser modelos de computação intensiva, e a latência pode facilmente aumentar se o texto que pretende analisar ficar demasiado grande ou o número de categorias de candidatos é demasiado elevado. Se a precisão não for a sua principal preocupação, e você preferia um modelo mais rápido e menos intensivo em recursos, poderia facilmente seleccionar outro modelo. Para Por exemplo, existem versões destiladas de Bart, chamadas "DistilBart", e são perfeitas para isso.
Aprendizagem com zero tiros, juntamente com poucos tiros de aprendizagem, são técnicas modernas que surgiram com a criação de grandes modelos de Processamento de Linguagem Natural (ver mais sobre a aprendizagem de poucos tiros aqui). Dão uma grande flexibilidade e tornar o Processamento da Linguagem Natural cada vez mais impressionante!
Sinta-se à vontade para dar uma classificação de tiro zero e ver se também gosta.
Julien Salinas
CTO em NLP Cloud