INLTK tiene como objetivo proporcionar soporte fuera del cuadro para varias tareas de PNL que un desarrollador de aplicaciones podría necesitar para idiomas IND. El documento de la Biblioteca INLTK ha sido aceptado en el taller NLP-OSS de EMNLP-2020. Aquí está el enlace al papel
Vea los documentos detallados junto con las instrucciones de instalación en https://inltk.readthedocs.io
| Idioma | Código |
|---|---|
| hindi | Hola |
| punjabi | Pensilvania |
| Gujarati | Gu |
| Kannada | Kn |
| Malayalam | ml |
| Oriya | o |
| Marathi | señor |
| bengalí | bn |
| Tamil | ejército de reserva |
| Urdu | tu |
| Nepalí | nordeste |
| Sanskrit | SA |
| Inglés | interno |
| Telugu | TE |
| Idioma | Guion | Código |
|---|---|---|
| Hinglish (hindi+inglés) | latín | salpiche |
| Tanglish (tamil+inglés) | latín | Ta-en |
| Manglish (malayalam+inglés) | latín | ML-en |
| Idioma | Repositorio | Conjunto de datos utilizado para modelado de idiomas | Perplejidad de Ulmfit LM (en el conjunto de validación) | Perplejidad de transformerxl lm (en el conjunto de validación) | Conjunto de datos utilizado para la clasificación | Clasificación: Precisión del conjunto de pruebas | Clasificación: Test Set MCC | Clasificación: cuaderno para la reproducibilidad | Visualización de incrustaciones de ulmfit | Visualización de incrustaciones de transformerxl |
|---|---|---|---|---|---|---|---|---|---|---|
| hindi | PNL para hindi | Artículos Hindi Wikipedia - 172K Artículos Hindi Wikipedia - 55K | 34.06 35.87 | 26.09 34.78 | Artículos de noticias de la BBC Reseñas de películas de IIT Patna Revisiones de productos de IIT Patna | 78.75 57.74 75.71 | 0.71 0.37 0.59 | Computadora portátil Computadora portátil Computadora portátil | Proyección de incrustaciones hindi | Proyección de incrustaciones hindi |
| bengalí | PNL para bengalí | Artículos bengalí de Wikipedia | 41.2 | 39.3 | Artículos de noticias bengalíes (artículos de Soham) | 90.71 | 0.87 | Computadora portátil | Proyección de incrustaciones bengalíes | Proyección de incrustaciones bengalíes |
| Gujarati | PNL para Gujarati | Artículos de gujarati wikipedia | 34.12 | 28.12 | INLTK Corpus de los titulares - Gujarati | 91.05 | 0.86 | Computadora portátil | Proyección de incrustaciones de Gujarati | Proyección de incrustaciones de Gujarati |
| Malayalam | PNL para malayalam | Artículos de Malayalam Wikipedia | 26.39 | 25.79 | INLTK Corpus de los titulares - Malayalam | 95.56 | 0.93 | Computadora portátil | Proyección de incrustaciones de malayalam | Proyección de incrustaciones de malayalam |
| Marathi | PNL para marathi | Artículos de marathi wikipedia | 18 | 17.42 | INLTK Corpus de los titulares - Marathi | 92.40 | 0.85 | Computadora portátil | Proyección de incrustaciones de marathi | Proyección de incrustaciones de marathi |
| Tamil | PNL para tamil | Artículos de tamil wikipedia | 19.80 | 17.22 | INLTK Corpus de los titulares - Tamil | 95.22 | 0.92 | Computadora portátil | Proyección de incrustaciones tamil | Proyección de incrustaciones tamil |
| punjabi | PNL para Punjabi | Artículos de Punjabi Wikipedia | 24.40 | 14.03 | INDNLP NOTICIAS Clasificación de datos de datos - Punjabi | 97.12 | 0.96 | Computadora portátil | Proyección de incrustaciones de Punjabi | Proyección de incrustaciones de Punjabi |
| Kannada | PNL para Kannada | Artículos de Kannada Wikipedia | 70.10 | 61.97 | INDNLP Noticias de datos de clasificación de artículos - Kannada | 98.87 | 0.98 | Computadora portátil | Proyección de incrustaciones de kannada | Proyección de incrustaciones de kannada |
| Oriya | PNL para Oriya | Artículos de Oriya Wikipedia | 26.57 | 26.81 | INDNLP NOTICIAS Clasificación de datos de datos - Oriya | 98.83 | 0.98 | Computadora portátil | Proyección de incrustaciones de Oriya | Proyección de incrustaciones de Oriya |
| Sanskrit | PNL para sánscrito | Artículos sánscritos de Wikipedia | ~ 6 | ~ 3 | Conjunto de datos sánscrito Shlokas | 84.3 (conjunto válido) | Proyección de incrustaciones sánscritas | Proyección de incrustaciones sánscritas | ||
| Nepalí | PNL para nepalí | Artículos nepalí wikipedia | 31.5 | 29.3 | Conjunto de datos de noticias nepalíes | 98.5 (conjunto válido) | Proyección de incrustaciones nepalíes | Proyección de incrustaciones nepalíes | ||
| Urdu | PNL para urdu | Artículos de urdu wikipedia | 13.19 | 12.55 | Conjunto de datos de noticias urdu | 95.28 (conjunto válido) | Proyección de incrustaciones urdu | Proyección de incrustaciones urdu | ||
| Telugu | PNL para telugu | Artículos de telugu wikipedia | 27.47 | 29.44 | Conjunto de datos de noticias telugu Telugu News Andhra Jyoti | 95.4 92.09 | Computadora portátil Computadora portátil | Proyección de incrustaciones de telugu | Proyección de incrustaciones de telugu | |
| Anglish | PNL para Tanglish | Conjunto de datos de tanglish sintético | 37.50 | - | Dravidian codemix hasoc @ fire 2020 Dravidian Codemix Sentiment Analysis @ Fire 2020 | Puntuación F1: 0.88 Puntuación F1: 0.62 | - | Computadora portátil Computadora portátil | Proyección de incrustaciones de tanglish | - |
| Mango | PNL para Manglish | Conjunto de datos sintético Manglish | 45.84 | - | Dravidian codemix hasoc @ fire 2020 Dravidian Codemix Sentiment Analysis @ Fire 2020 | Puntuación F1: 0.74 Puntuación F1: 0.69 | - | Computadora portátil Computadora portátil | Proyección de incrustaciones de Manglish | - |
| Pañuelo | PNL para Hinglish | Conjunto de datos sintético Hinglish | 86.48 | - | - | - | - | - | Proyección de incrustaciones de Hinglish | - |
Nota: El modelo inglés se ha tomado directamente de Fast.ai
| Idioma | Repositorio | Conjunto de datos utilizado para la clasificación | Resultados al usar conjunto de entrenamiento completo | Disminución porcentual En el tamaño del conjunto de entrenamiento | Resultados al usar conjunto de entrenamiento reducido sin parafrases | Resultados al usar conjunto de entrenamiento reducido con parafrases |
|---|---|---|---|---|---|---|
| hindi | PNL para hindi | Reseñas de películas de IIT Patna | Precisión: 57.74 MCC: 37.23 | 80% (2480 -> 496) | Precisión: 47.74 MCC: 20.50 | Precisión: 56.13 MCC: 34.39 |
| bengalí | PNL para bengalí | Artículos de noticias bengalíes (artículos de Soham) | Precisión: 90.71 MCC: 87.92 | 99% (11284 -> 112) | Precisión: 69.88 MCC: 61.56 | Precisión: 74.06 MCC: 65.08 |
| Gujarati | PNL para Gujarati | INLTK Corpus de los titulares - Gujarati | Precisión: 91.05 MCC: 86.09 | 90% (5269 -> 526) | Precisión: 80.88 MCC: 70.18 | Precisión: 81.03 MCC: 70.44 |
| Malayalam | PNL para malayalam | INLTK Corpus de los titulares - Malayalam | Precisión: 95.56 MCC: 93.29 | 90% (5036 -> 503) | Precisión: 82.38 MCC: 73.47 | Precisión: 84.29 MCC: 76.36 |
| Marathi | PNL para marathi | INLTK Corpus de los titulares - Marathi | Precisión: 92.40 MCC: 85.23 | 95% (9672 -> 483) | Precisión: 84.13 MCC: 68.59 | Precisión: 84.55 MCC: 69.11 |
| Tamil | PNL para tamil | INLTK Corpus de los titulares - Tamil | Precisión: 95.22 MCC: 92.70 | 95% (5346 -> 267) | Precisión: 86.25 MCC: 79.42 | Precisión: 89.84 MCC: 84.63 |
Para obtener más detalles sobre la implementación o para reproducir resultados, consulte los respectivos repositorios.
Si desea agregar soporte para el lenguaje de su propia elección para inltk, comience con la verificación/planteación de un problema aquí
Por favor, consulte los pasos que mencioné aquí para comenzar con Telugu. Deben ser casi similares para otros idiomas también.
Si desea tomar los modelos de Inltk y refinarlos con su propio conjunto de datos o crear sus propios modelos personalizados además, consulte los repositorios en la tabla anterior para el lenguaje de su elección. Los repositorios anteriores contienen enlaces a conjuntos de datos, modelos previos a la aparición, clasificadores y todo el código para eso.
Si desea una funcionalidad particular en INLTK, comience por verificar/plantear un problema aquí
Shout out if you want to help :)
Shout out if you want to lead :)
Si usa esta biblioteca en su investigación, 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." ,
}