Masakhane é um esforço de pesquisa para a PNL para idiomas africanos que são de código aberto, em todo o continente, distribuídos e online. Este repositório do GitHub abriga os dados, código, resultados e pesquisas para a construção de resultados de PNL de linha de base aberta para idiomas africanos.
Site: Masakhane.io
Para a África : construir e facilitar uma comunidade de pesquisadores de PNL, conectá -lo e cultivá -lo, estimular e compartilhar pesquisas adicionais, construir ferramentas úteis para aplicações em governo, medicina, ciência e educação, para permitir a preservação de idiomas e aumentar sua visibilidade e relevância global.
Para pesquisa de PNL : criar conjuntos de dados e ferramentas para facilitar a pesquisa da PNL sobre idiomas africanos e representar novos problemas de pesquisa para enriquecer o cenário de pesquisa da PNL.
Para a comunidade global de pesquisadores : descobrir as melhores práticas para pesquisas distribuídas, a serem aplicadas por outras comunidades de pesquisa emergentes.
Existem muitas maneiras de contribuir para Masakhane .
Quer mais detalhes? Confira nossas iniciativas atuais
Junte -se à nossa folga
Solicitação para ingressar no nosso grupo do Google
Isso é para que possamos apresentá -lo em nossa página da web masakhane.io. Envie um email o seguinte para [email protected]:
Por favor, seja paciente com uma resposta através do nosso endereço de e-mail, estamos muito atrasados em nossa administração, no tempo do Covid-19.
Normalmente, se você tem alguma experiência de programação, incentivamos você a começar sua jornada com Masakhane, construindo uma linha de base para o seu idioma. Sentindo -se nervoso em se submeter ou não sabe por onde começar? Por favor, junte -se à nossa reunião semanal e nós o emparemos com um mentor!
Temos um exemplo de notebook Colab que treina um modelo para tradução em inglês para zulu. Você pode selecioná -lo indo para a seção do GitHub ao abrir um novo projeto.
Este é um grande desafio, mas felizmente temos um lugar para começar! Na ACL 2019, este artigo foi publicado. O conto? Acontece que a comunidade de testemunhas de Jeová está traduzindo muitos documentos e nem todos são religiosos. E a representação de sua linguagem é diversa.
Confira esta planilha aqui para ver se o seu idioma está em destaque e depois vá para o Opus para encontrar os links para os dados: http://opus.nlpl.eu/jw300.php
Também fornecemos um script para facilitar o download e o preprocessamento do BPE dos dados JW300 da Opus: jw300_utils/get_jw300.py . Requer a instalação do pacote Python Opustools-PKG. Exemplo: para dowloading e pré-processamento das partes acholi (ACh) e Nyaneka (NYK) do JW300, chame o script como este: python get_jw300.py ach nyk --output_dir jw300
Então ainda temos algumas opções! Nossa comunidade está pesquisando ampla e longe! Junte -se ao nosso grupo Slack e Google para discutir um caminho a seguir!
Sua próxima etapa é usar o conjunto de dados JW300 no notebook Colab e executá -lo. A maioria dos conselhos está dentro do próprio caderno. Estamos constantemente melhorando esse caderno e estamos abertos a quaisquer recomendações. Lutou para ir? Então vamos trabalhar juntos para construir um caderno mais fácil de usar! Crie um problema do GitHub ou envie um email!
Incrível! Você criou sua primeira linha de base. Agora precisamos obter o código, dados e resultados neste repositório do GitHub
Para considerarmos o seu oficial de envio de resultados, precisamos de algumas coisas:
O notebook que executará o código. O notebook deve ser executado na conta de outra pessoa e os dados que ele usa devem estar acessíveis publicamente (ou seja, se eu baixar o notebook e executá -lo, ele deve funcionar - portanto, não deve estar usando arquivos privados). Se você está se perguntando como fazer isso, não tema! Deixe -nos uma linha e trabalharemos juntos para garantir que o envio seja bom! :)
Os conjuntos de testes - para replicar isso e testar seus resultados, precisamos de configurações de teste salvas enviadas separadamente.
Um readme.md que descreve os (a) os dados utilizados - ESP Importante se for uma combinação de fontes (b) quaisquer alterações interessantes no modelo (c) talvez alguma análise de algumas frases do modelo final
O próprio modelo. Isso pode ser na forma de um link do Google Drive ou Dropbox. Em breve encontraremos um lar para nossos modelos treinados. Para que os modelos sejam usados para o aprendizado de transferência, mais treinados ou implantados, você precisa fornecer:
.ckpt ),src_vocab.txt , trg_vocab.txt ),config.yaml ),Os resultados - o trem, o dev e o conjunto de testes Bleu Score
Vamos expandir ainda mais nossas técnicas de análise, por isso é super importante agora temos uma cópia do modelo e dos conjuntos de testes, para que não precisemos executar novamente o treinamento apenas para fazer a análise
Depois de ter tudo isso acima, crie uma solicitação de tração no repositório. Veja as diretrizes aqui.
Veja também isso como um exemplo para a estrutura de sua contribuição
Estrutura:
/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
Exemplo:
/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
Aqui está um link para uma solicitação de tração que tenha as coisas relevantes.
Sentindo -se nervoso por contribuir com sua primeira solicitação de tração ou não tem certeza de como proceder? Por favor, não se sinta desanimado! Envie -nos um e -mail ou uma mensagem frouxa e trabalharemos juntos para obter sua contribuição em forma de navio!
Legal! Portanto, existem muitas maneiras de melhorar os resultados. Nós nos desentendemos alguns deles neste documento. Tem outras idéias? Deixe -nos uma linha ou envie um PR!
Gostaríamos de destacar como nenhum dos modelos treinados é adequado para o uso da produção . Em nosso artigo aqui, exploramos os efeitos de desempenho do treinamento desse modelo nos conjuntos de dados JW300 - os modelos ainda não conseguem generalizar para domínios não religiosos. Como regra, nunca se deve implantar um modelo de PNL em um domínio para o qual ele não tenha sido treinado. E mesmo que seja treinado no domínio relevante, um modelo deve ser analisado em detalhes para entender os vieses e possíveis danos . Esses modelos têm como objetivo servir como trabalho em andamento para estimular mais pesquisas e entender melhor o fracasso de tais sistemas.
Consulte Código de Conduta
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}
}