Este repositório é a implementação oficial do Pytorch do seguinte artigo:
Yaoyiran Li, Anna Korhonen e Ivan Vulić. 2024 . Em Anais da 62ª Reunião Anual da Associação de Linguística Computacional (ACL 2024). [Papel]
Sail visa melhorar a tradução de palavras não supervisionada / indução bilíngue de léxico (BLI) ao (1) inferir um dicionário de tradução de palavras de alta confiança com o impulso zero, (2) , opcionalmente, refinar o dicionário de alta confiança iterativamente com poucos solicitantes onde Os exemplos no contexto são do dicionário de alta confiança na iteração anterior e (3) finalmente conduzindo a avaliação no conjunto de testes do BLI com poucos impulsionamentos também derivando amostras no contexto do mais recente dicionário de alta confiança. Todo o processo não aproveita nenhum pares de tradução de palavras de verdade no solo para treinamento/aprendizado de poucos anos e melhora as pontuações do BLI em normalmente 10 ~ 15 precisão@1 pontos em nossos benchmarks BLI em comparação com o acumulação zero.
Seguindo nosso trabalho anterior Contrastebli, Blicer e Prompt4Bli, nossos dados são obtidos das XLing (8 idiomas, 56 direções do BLI no total) e Panlex-bli (15 idiomas de recursos inferiores, 210 direções de BLI no total).
Obtenha dados Xling:
sh get_xling_data.sh
Para Panlex-bli, consulte ./get_panlex_data, onde fornecemos o código para derivar as incorporações monolíngues da palavra.
Prepare o vocabulário BLI:
python run_extract_vocabularies.py
Execute a avaliação do BLI com a vela (defina os principais hiper-parâmetros, diretórios e pares de idiomas para avaliar manualmente em run_bli.py):
python run_bli.py
(Opcional) Execute a linha de base de tiro zero, introduzido no Prompt4Bli com os modelos LLAMA:
python run_zero_shot.py
(Opcional) Execute a linha de base zero acionando a linha de base introduzida no Prompt4Bli com os modelos ChatGPT:
python run_zero_shot_chatgpt.py
Principais experimentos (vela):
Nossos principais experimentos incluem quatro modelos de llama pré-terenciados sem ajuste de instrução.
Llm | (Abraçando o rosto) ID do modelo |
---|---|
Llama-7b | "Huggyllama/llama-7b" |
LLAMA-13B | "Huggyllama/llama-13b" |
Llama2-7b | "Meta-llama/llama-2-7b-hf" |
Llama2-13b | "Meta-llama/llama-2-13b-hf" |
ATUALIZAÇÃO: LLAMA3-8B meta-llama/Meta-Llama-3-8B
também é suportado em nosso Código Repo agora.
Experiências adicionais de chatgpt (apenas provocação zero, correspondendo à seção 4.2 do nosso artigo):
Como o ajuste de instrução dos modelos ChatGPT provavelmente abrange dados paralelos em larga escala para tradução para a máquina, eles não são adequados para BLI não supervisionado (além disso, o RLHF também pode incluir sinais de supervisão de tradução no nível de palavra/frase de annotators/usuários ). Relatamos os resultados do ChatGPT derivados com zero tiro, solicitando apenas como referência.
Llm | (API OpenAI) ID do modelo |
---|---|
GPT-3.5 | "GPT-3.5-Turbo-0125" |
GPT-4 | "GPT-4-Turbo-2024-04-09" |
Também lançamos os dicionários auto-consumidos derivados com LLAMA2-13B, conforme discutido na seção 4.2 do nosso artigo em ./augmentDdicts-lama2-13b. Esses dicionários de alta confiança são inferidos com n it = 1, n f = 5000, e com tradução para trás da palavra.
Por favor, cite nosso artigo se achar útil o Sail-Bli .
@inproceedings { li-etal-2024-self-augmented ,
title = { Self-Augmented In-Context Learning for Unsupervised Word Translation } ,
author = { Li, Yaoyiran and Korhonen, Anna and Vuli{'c}, Ivan } ,
booktitle = { Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics } ,
year = { 2024 }
}