Masakhane es un esfuerzo de investigación para la PNL para los idiomas africanos que es de código abierto, en todo el continente, distribuido y en línea. Este repositorio de GitHub alberga los datos, el código, los resultados y la investigación para construir resultados de PNL de base abiertos para idiomas africanos.
Sitio web: Masakhane.io
Para África : construir y facilitar una comunidad de investigadores de PNL, conectarlo y cultivarlo, estimular y compartir más investigaciones, desarrollar herramientas útiles para aplicaciones en el gobierno, la medicina, la ciencia y la educación, permitir la preservación del idioma y aumentar su visibilidad y relevancia global.
Para la investigación de PNL : para construir conjuntos de datos y herramientas para facilitar la investigación de PNL sobre idiomas africanos y plantear nuevos problemas de investigación para enriquecer el panorama de la investigación de la PNL.
Para la comunidad de investigadores globales : para descubrir las mejores prácticas para la investigación distribuida, para ser aplicadas por otras comunidades de investigación emergentes.
Hay muchas formas de contribuir a Masakhane .
¿Quieres más detalles? Consulte nuestras iniciativas actuales
Únete a nuestro Slack
Solicite unirse a nuestro Grupo de Google
Esto es para que podamos presentarlo en nuestra página web Masakhane.io. Envíe lo siguiente por correo electrónico a [email protected]:
Tenga el paciente con una respuesta a través de nuestra dirección de correo electrónico, estamos muy atrasados en nuestra administración, en el momento de Covid-19.
Por lo general, si tiene alguna experiencia de programación, le recomendamos que comience en su viaje con Masakhane, construyendo una línea de base para su idioma. ¿Sentirse nervioso de someterse o no estar seguro de por dónde empezar? ¡Únase a nuestra reunión semanal y lo combinaremos con un mentor!
Tenemos un ejemplo de cuaderno Colab que entrena un modelo para la traducción de inglés a Zulu. Puede seleccionarlo yendo a la sección GitHub al abrir un nuevo proyecto.
Este es un gran desafío, ¡pero afortunadamente tenemos un lugar para comenzar! En ACL 2019, se publicó este documento. El cuento? Resulta que la comunidad de testigos de Jehová ha traducido muchos muchos documentos y no todos son religiosos. Y su representación del idioma es diversa.
Consulte esta hoja de cálculo aquí para ver si se presenta su idioma, luego vaya a Opus para encontrar los enlaces a los datos: http://opus.nlpl.eu/jw300.php
También proporcionamos un script para descargar fácilmente y el procesamiento de BPE de los datos JW300 de Opus: jw300_utils/get_jw300.py . Requiere la instalación del paquete OpUSTOOLS-PKG Python. Ejemplo: para cargar y preprocesar las porciones de Acholi (ACh) y Nyaneka (NYK) de JW300, llame al script de esta manera: python get_jw300.py ach nyk --output_dir jw300
¡Entonces todavía tenemos algunas opciones! ¡Nuestra comunidad ha estado buscando amplia y lejos! ¡Únete a nuestro grupo Slack y Google para discutir un camino a seguir!
Su siguiente paso es usar el conjunto de datos JW300 en el cuaderno Colab y ejecutarlo. La mayoría de los consejos están dentro del cuaderno en sí. Estamos mejorando constantemente ese cuaderno y estamos abiertos a cualquier recomendación. ¿Luchó para ponerse en marcha? ¡Entonces trabajemos juntos para construir un cuaderno que sea más fácil de usar! ¡Crea un problema de GitHub o envíenos un correo electrónico!
¡Asombroso! Usted ha creado su primera línea de base. Ahora necesitamos obtener el código, los datos y los resultados en este repositorio de GitHub
Para que consideremos su funcionario de presentación de resultados, necesitamos un par de cosas:
El cuaderno que ejecutará el código. El cuaderno debe ejecutarse en la cuenta de otra persona y los datos que usa deben ser accesibles públicamente (es decir, si descargo el cuaderno y lo ejecuto, debe funcionar, por lo que no debería usar ningún archivo privado). Si te preguntas cómo hacer esto, ¡no tengas temas! ¡Envíenos una línea y trabajaremos juntos para asegurarnos de que la presentación esté bien! :)
Los conjuntos de pruebas: para replicar esto y probar con sus resultados, necesitamos conjuntos de pruebas guardados cargados por separado.
Un readMe.md que describe los (a) los datos utilizados - es importantes si es una combinación de fuentes (b) cualquier cambio interesante en el modelo (c) tal vez algún análisis de algunas oraciones del modelo final
El modelo en sí. Esto puede ser en forma de un enlace de Google Drive o Dropbox. Pronto encontraremos un hogar para nuestros modelos capacitados. Para que los modelos se utilicen para el aprendizaje de transferencia, capacitados o implementados, debe proporcionar:
.ckpt ),src_vocab.txt , trg_vocab.txt ),config.yaml ),Los resultados: el tren, el desarrollo y la prueba establecen la puntuación Bleu
Estaremos ampliando aún más nuestras técnicas de análisis, por lo que es muy importante que tengamos una copia del modelo y conjuntos de pruebas ahora para que no necesitemos volver a ejecutar la capacitación solo para hacer el análisis.
Una vez que tenga todo lo anterior, cree una solicitud de extracción en el repositorio. Ver pautas aquí.
También vea esto como un ejemplo para la estructura de su contribución
Estructura:
/benchmarks
/<src-lang>-<tgt-lang>
/<technique> -- this could be "jw300-baseline" or "fine-tuned-baseline" or "nig-newspaper-dataset"
- notebook.ipynb
- README.md
- test.src
- test.tgt
- results.txt
- src_vocab.txt
- trg_vocab.txt
- src.bpe
- [trg.bpe if the bpe model is not joint with src]
- config.yaml
- any other files, if you have any
Ejemplo:
/benchmarks
/en-xh
/xhnavy-data-baseline
- notebook.ipynb
- README.md
- test.xh
- test.en
- results.txt
- src_vocab.txt
- trg_vocab.txt
- en-xh.4000.bpe
- config.yaml
- preprocessing.py
Aquí hay un enlace a una solicitud de extracción que tiene las cosas relevantes.
¿Sentirse nervioso por contribuir con su primera solicitud de extracción o no estar seguro de cómo proceder? ¡Por favor, no te sientas desanimado! ¡Envíenos un correo electrónico o un mensaje flojo y trabajaremos juntos para obtener su contribución en forma del barco!
¡Fresco! Por lo tanto, hay muchas formas de mejorar los resultados. Hemos resaltado algunos de estos en este documento. ¿Tienes otras ideas? ¡Déjanos una línea o envía un PR!
Nos gustaría destacar cómo ninguno de los modelos entrenados es adecuado para el uso de la producción . En nuestro artículo aquí exploramos los efectos de rendimiento de la capacitación de tal modelo en los conjuntos de datos JW300: los modelos aún no pueden generalizar a dominios no religiosos. Como regla general, uno nunca debe implementar un modelo NLP en un dominio para el que no haya sido entrenado. E incluso si está capacitado en el dominio relevante, un modelo debe analizarse en detalle para comprender los sesgos y los posibles daños . Estos modelos tienen como objetivo servir como trabajo en progreso para estimular más investigación y comprender mejor el fracaso de dichos sistemas.
Ver código de conducta
Bibtex
@article{nekoto2020participatory,
title={Participatory research for low-resourced machine translation: A case study in african languages},
author={{$forall$}, { } and Nekoto, Wilhelmina and Marivate, Vukosi and Matsila, Tshinondiwa and Fasubaa, Timi and Kolawole, Tajudeen and Fagbohungbe, Taiwo and Akinola, Solomon Oluwole and Muhammad, Shamsuddee Hassan and Kabongo, Salomon and Osei, Salomey and others},
journal={Findings of EMNLP},
year={2020}
}