O INLTK pretende fornecer suporte fora da caixa para várias tarefas de PNL que um desenvolvedor de aplicativos pode precisar para idiomas Indic. O artigo para a Biblioteca INLTK foi aceito no workshop NLP-OSS do EMNLP-2020. Aqui está o link para o jornal
Checkout Docs detalhados, juntamente com as instruções de instalação em https://inltk.readthedocs.io
| Linguagem | Código |
|---|---|
| hindi | oi |
| Punjabi | PA |
| Gujarati | Gu |
| Kannada | KN |
| Malaiala | ml |
| Oriya | ou |
| Marathi | senhor |
| bengali | Bn |
| tâmil | ta |
| urdu | ur |
| Nepalês | ne |
| sânscrito | SA |
| Inglês | en |
| Telugu | te |
| Linguagem | Script | Código |
|---|---|---|
| Hinglish (hindi+inglês) | Latim | Hi-en |
| Tanglish (tâmil+inglês) | Latim | ta-en |
| Manglish (malaiala+inglês) | Latim | ML-en |
| Linguagem | Repositório | Conjunto de dados usado para modelagem de idiomas | Perplexidade de ulmfit lm (no conjunto de validação) | Perplexidade do transformador lm (no conjunto de validação) | Conjunto de dados usado para classificação | Classificação: Precisão do conjunto de testes | Classificação: Conjunto de testes MCC | Classificação: Notebook para reprodutibilidade | Visualização de incorporação de Ulmfit | Visualização de incorporação de transformadorxl |
|---|---|---|---|---|---|---|---|---|---|---|
| hindi | PNL para hindi | Artigos da Wikipedia Hindi - 172k Artigos da Wikipedia Hindi - 55k | 34.06 35.87 | 26.09 34.78 | Artigos da BBC News Críticas de filmes do IIT Patna IIT Patna Reviews | 78.75 57.74 75.71 | 0,71 0,37 0,59 | Caderno Caderno Caderno | Projeção de incorporação em hindus | Projeção de incorporação em hindus |
| bengali | PNL para bengali | Artigos da Wikipedia da Bengali | 41.2 | 39.3 | Artigos de notícias bengali (artigos de Soham) | 90.71 | 0,87 | Caderno | Projeção de incorporação de bengali | Projeção de incorporação de bengali |
| Gujarati | PNL para Gujarati | Artigos de Gujarati Wikipedia | 34.12 | 28.12 | INLTK Manchetes corpus - Gujarati | 91.05 | 0,86 | Caderno | Projeção de incorporação de Gujarati | Projeção de incorporação de Gujarati |
| Malaiala | PNL para malaiala | Artigos da Wikipedia Malayalam | 26.39 | 25.79 | INLTK manchetes corpus - malaiala | 95.56 | 0,93 | Caderno | Projeção de incorporação de malaiala | Projeção de incorporação de malaiala |
| Marathi | PNL para Marathi | Artigos da Wikipedia Marathi | 18 | 17.42 | INLTK Manchetes corpus - Marathi | 92.40 | 0,85 | Caderno | Projeção de incorporação de Marathi | Projeção de incorporação de Marathi |
| tâmil | PNL para Tamil | Artigos da Wikipedia Tamil | 19.80 | 17.22 | INLTK Manchetes corpus - Tamil | 95.22 | 0,92 | Caderno | Projeção de incorporação tâmil | Projeção de incorporação tâmil |
| Punjabi | PNL para Punjabi | Artigos de Punjabi Wikipedia | 24.40 | 14.03 | DataSet de classificação de artigos de notícias IndicNLP - Punjabi | 97.12 | 0,96 | Caderno | Projeção de incorporação de Punjabi | Projeção de incorporação de Punjabi |
| Kannada | PNL para Kannada | Artigos da Wikipedia de Kannada | 70.10 | 61.97 | DataSet de classificação de artigos de notícias IndicNLP - Kannada | 98.87 | 0,98 | Caderno | Projeção de incorporação de Kannada | Projeção de incorporação de Kannada |
| Oriya | NLP para Oriya | Artigos de Oriya Wikipedia | 26.57 | 26.81 | DataSet de classificação de artigos de notícias IndicNLP - Oriya | 98.83 | 0,98 | Caderno | Projeção de incorporação de oriya | Projeção de incorporação de oriya |
| sânscrito | PNL para sânscrito | Artigos da Wikipedia em sânscrito | ~ 6 | ~ 3 | Conjunto de dados sânscrito shlokas | 84.3 (conjunto válido) | Projeção de incorporação sânscrita | Projeção de incorporação sânscrita | ||
| Nepalês | PNL para nepaleses | Artigos da Wikipedia Nepalês | 31.5 | 29.3 | Conjunto de dados de notícias nepalês | 98.5 (conjunto válido) | Projeção de incorporação de nepalês | Projeção de incorporação de nepalês | ||
| urdu | PNL para urdu | Artigos de Urdu Wikipedia | 13.19 | 12.55 | Conjunto de dados de notícias urdu | 95.28 (conjunto válido) | Projeção de incorporação de urdu | Projeção de incorporação de urdu | ||
| Telugu | PNL para Telugu | Artigos Telugu Wikipedia | 27.47 | 29.44 | Conjunto de dados Telugu News Telugu News Andhra Jyoti | 95.4 92.09 | Caderno Caderno | Projeção de incorporação Telugu | Projeção de incorporação Telugu | |
| Tanglish | PNL para Tanglish | Conjunto de dados sintéticos de tanglish | 37.50 | - | Dravidian Codemix Hasoc @ Fire 2020 Análise de sentimento de codemix dravidiano @ fogo 2020 | Pontuação F1: 0,88 Pontuação F1: 0,62 | - | Caderno Caderno | Projeção de incorporação tanglish | - |
| Manglish | PNL para Manglish | Conjunto de dados sintéticos de manglis | 45.84 | - | Dravidian Codemix Hasoc @ Fire 2020 Análise de sentimento de codemix dravidiano @ fogo 2020 | Pontuação F1: 0,74 Pontuação F1: 0,69 | - | Caderno Caderno | Projeção de incorporação de mangumer | - |
| Hinglish | PNL para Hinglish | Conjunto de dados sintéticos Hinglish | 86.48 | - | - | - | - | - | Projeção de incorporação de Hinglish | - |
Nota: O modelo em inglês foi retirado diretamente de Fast.ai
| Linguagem | Repositório | Conjunto de dados usado para classificação | Resultados no uso Conjunto de treinamento completo | Diminuição percentual no tamanho do conjunto de treinamento | Resultados no uso conjunto de treinamento reduzido sem paráfrases | Resultados no uso conjunto de treinamento reduzido com paráfrases |
|---|---|---|---|---|---|---|
| hindi | PNL para hindi | Críticas de filmes do IIT Patna | Precisão: 57.74 MCC: 37.23 | 80% (2480 -> 496) | Precisão: 47.74 MCC: 20.50 | Precisão: 56.13 MCC: 34.39 |
| bengali | PNL para bengali | Artigos de notícias bengali (artigos de Soham) | Precisão: 90.71 MCC: 87.92 | 99% (11284 -> 112) | Precisão: 69.88 MCC: 61.56 | Precisão: 74.06 MCC: 65.08 |
| Gujarati | PNL para Gujarati | INLTK Manchetes corpus - Gujarati | Precisão: 91.05 MCC: 86.09 | 90% (5269 -> 526) | Precisão: 80,88 MCC: 70.18 | Precisão: 81.03 MCC: 70.44 |
| Malaiala | PNL para malaiala | INLTK manchetes corpus - malaiala | Precisão: 95.56 MCC: 93.29 | 90% (5036 -> 503) | Precisão: 82.38 MCC: 73.47 | Precisão: 84.29 MCC: 76.36 |
| Marathi | PNL para Marathi | INLTK Manchetes corpus - Marathi | Precisão: 92.40 MCC: 85.23 | 95% (9672 -> 483) | Precisão: 84.13 MCC: 68.59 | Precisão: 84.55 MCC: 69.11 |
| tâmil | PNL para Tamil | INLTK Manchetes corpus - Tamil | Precisão: 95.22 MCC: 92.70 | 95% (5346 -> 267) | Precisão: 86.25 MCC: 79.42 | Precisão: 89.84 MCC: 84.63 |
Para obter mais detalhes sobre a implementação ou para reproduzir resultados, check -out respectivos repositórios.
Se você deseja adicionar suporte ao idioma de sua própria escolha ao INLTK, comece com a verificação/levantamento de um problema aqui
Confira as etapas que eu mencionei aqui para começar a Telugu. Eles também devem ser quase semelhantes para outros idiomas.
Se você deseja pegar os modelos da INLTK e refiná -los com seu próprio conjunto de dados ou criar seus próprios modelos personalizados, confira os repositórios na tabela acima para o idioma de sua escolha. Os repositórios acima contêm links para conjuntos de dados, modelos pré -criados, classificadores e todo o código para isso.
Se você deseja uma funcionalidade específica no INLTK - inicie verificando/levantando um problema aqui
Shout out if you want to help :)
Shout out if you want to lead :)
Se você usar esta biblioteca em sua pesquisa, considere citar:
@inproceedings{arora-2020-inltk,
title = "i{NLTK}: Natural Language Toolkit for Indic Languages" ,
author = "Arora, Gaurav" ,
booktitle = "Proceedings of Second Workshop for NLP Open Source Software (NLP-OSS)" ,
month = nov,
year = "2020" ,
address = "Online" ,
publisher = "Association for Computational Linguistics" ,
url = "https://www.aclweb.org/anthology/2020.nlposs-1.10" ,
doi = "10.18653/v1/2020.nlposs-1.10" ,
pages = "66--71" ,
abstract = "We present iNLTK, an open-source NLP library consisting of pre-trained language models and out-of-the-box support for Data Augmentation, Textual Similarity, Sentence Embeddings, Word Embeddings, Tokenization and Text Generation in 13 Indic Languages. By using pre-trained models from iNLTK for text classification on publicly available datasets, we significantly outperform previously reported results. On these datasets, we also show that by using pre-trained models and data augmentation from iNLTK, we can achieve more than 95{%} of the previous best performance by using less than 10{%} of the training data. iNLTK is already being widely used by the community and has 40,000+ downloads, 600+ stars and 100+ forks on GitHub. The library is available at https://github.com/goru001/inltk." ,
}