A realização de processamento em língua natural em línguas não-inglesas é um desafio. Hoje em dia, é possível obter grandes resultados com o processamento multilingue de línguas naturais. Finalmente, qualquer pessoa pode realizar o processamento em língua natural em francês, japonês, espanhol, russo, chinês, alemão... e muito mais.

Quase 7000 línguas diferentes são faladas no mundo de hoje! Cada língua tem as suas próprias regras e algumas línguas pode funcionar de forma muito diferente. Por exemplo, francês, espanhol e italiano são muito semelhantes, mas não têm nada a ver com as línguas asiáticas. com base em ideografias ou símbolos como o chinês e o japonês.
A consequência é que têm de ser utilizadas diferentes técnicas para criar modelos linguísticos capazes de lidar com todas estas línguas.
Para o tornar curto, línguas diferentes podem requerer espaços vectoriais diferentes, mesmo que já existam algumas incorporações de línguas pré-treinadas. Este é um campo de investigação activo.
Quais são então as soluções?
Uma primeira abordagem é a de formar um modelo para uma língua específica. Por exemplo, várias novas versões do BERT foram treinados em várias línguas. O BERT alemão, da Deepset AI, é um bom exemplo de uma nova versão do BERT com formação na língua alemã de arranhar: ver BERT alemão aqui.
O problema é que esta técnica não tem uma boa escala. Treinar um novo modelo leva tempo e custa muito dinheiro. Treinar vários modelos ainda é acessível para modelos pequenos como a spaCy, e a Explosion AI (a empresa por detrás da spaCy) faz um excelente trabalho na manutenção de vários modelos pré-treinados em muitas línguas: ver mais aqui. But natural language processing models are getting bigger and bigger, and training these big models is very costly. For example, training the brand new GPT models (GPT-3, GPT-J and GPT-NeoX) took several weeks and cost million dollars. Training new versions of these models is not something everybody can do.
Também não é bem escalado de uma perspectiva inferencial. Se uma empresa precisa de utilizar processamento em linguagem natural na produção em várias línguas, terá de manter vários modelos e fornecer vários servidores e GPUs. Pode revelar-se extremamente dispendioso. Este é muito caro. é uma das razões pelas quais, na NLP Cloud, estamos a tentar evitar esta estratégia tanto quanto possível.
Uma segunda abordagem consiste em potenciar modelos multilingues.
Nestes últimos anos, surgiram novos modelos multilingues que provaram ser muito precisos. Por vezes ainda mais precisos do que modelos específicos não-ingleses. Os mais populares são mBERT, XLM, e XLM Roberta. XLM Roberta parece ser o modelo multilingue mais preciso, e está a ter um desempenho muito bom no conjunto de dados de avaliação XNLI (uma série de avaliações para avaliar a qualidade dos modelos multilingues).
Estão disponíveis alguns modelos muito bons pré-treinados baseados no XLM Roberta. Por exemplo, para a classificação de textos em muitos línguas, a melhor é XLM Roberta Large XNLI: ver este modelo aqui.
De momento não existe um bom modelo multilingue para a geração de textos. Por exemplo, o GPT é excelente em inglês e não é assim tão mau em várias línguas não-inglesas, mas longe de impressionar. A Big Science está actualmente a trabalhar em modelos de geração de textos multilingues muito grandes. Parece promissor! Ver mais aqui..

Big Science acaba de anunciar um modelo multilingue de 176 mil milhões de transformadores de parâmetros
A última estratégia é utilizar a tradução. A ideia é que deve traduzir o seu conteúdo não-inglês para inglês, envie o conteúdo inglês para o modelo, e traduza o resultado de volta para a sua língua original.
Esta técnica pode soar como um hack, mas tem vantagens. A manutenção de um fluxo de trabalho de tradução pode ser menos dispendioso do que a formação de modelos dedicados, e todas as línguas do mundo podem ser facilmente suportadas.
Nestes últimos anos, foram criados modelos avançados de tradução baseados na aprendizagem profunda. São ambos rápidos e dão muito bons resultados. Por exemplo, Helsinki NLP lançou uma série de modelos de tradução baseados na aprendizagem profunda. Pode utilizar o máximo de populares na NLP Cloud: ver mais aqui.
Adicionar tradução ao seu fluxo de trabalho aumentará o tempo de resposta global, no entanto. Por isso, pode não ser adequado se estiver à procura de resultados muito rápidos.
O processamento multilingue da linguagem natural não é um problema resolvido, mas muitos progressos foram feitos nestes últimos anos. É agora possível realizar o processamento em linguagem natural em línguas não-inglesas com muito bons resultados, graças a modelos específicos, modelos multilingues, e tradução.
Na NLP Cloud, acreditamos que compreender e gerar texto em muitas línguas é crucial, por isso lançámos um add-on específico chamado "add-on multilingue". Uma vez activados, todos os nossos modelos de IA podem funcionar bem em mais de 20 línguas, incluindo modelos GPT como o GPT-J e GPT-NeoX: vejam-no aqui.. We also propose advanced multilingual models like spaCy and XLM Roberta. tr%}
Julien Salinas
CTO em NLP Cloud