MUSE项目使用教程
1. 项目介绍
MUSE是一个Python库,用于多语言单词嵌入,旨在为社区提供以下功能:
- 最先进的多语言单词嵌入(fastText嵌入,在公共空间中对齐)
- 大规模高质量的 bilingual 字典,用于训练和评估
MUSE包括两种方法,一种是有监督的方法,它使用双语字典或相同的字符字符串;另一种是无监督的方法,它不使用任何并行数据。
2. 项目快速启动
首先,确保您已安装以下依赖项:
- Python 2/3
- NumPy/SciPy
- PyTorch
- Faiss(推荐,用于快速的最近邻搜索)
以下是如何在CPU或GPU上启动MUSE项目的步骤:
获取评估数据集
cd data/
wget https://dl.fbaipublicfiles.com/arrival/vectors.tar.gz
wget https://dl.fbaipublicfiles.com/arrival/wordsim.tar.gz
wget https://dl.fbaipublicfiles.com/arrival/dictionaries.tar.gz
或者,您也可以使用以下脚本来下载数据:
cd data/
./get_evaluation.sh
注意:需要bash 4。Europarl的下载默认是禁用的(速度慢),您可以在脚本中取消注释来启用。
获取单语言单词嵌入
对于预训练的单语言单词嵌入,我们强烈推荐使用fastText Wikipedia嵌入,或者使用fastText从您的语料库中训练自己的单词嵌入。
以下是如何下载英语(en)和西班牙语(es)嵌入的示例:
# 英语 fastText Wikipedia 嵌入
curl -Lo data/wiki.en.vec https://dl.fbaipublicfiles.com/fasttext/vectors-wiki/wiki.en.vec
# 西班牙语 fastText Wikipedia 嵌入
curl -Lo data/wiki.es.vec https://dl.fbaipublicfiles.com/fasttext/vectors-wiki/wiki.es.vec
对齐单语言单词嵌入
此项目包括两种获得跨语言单词嵌入的方法:
有监督的方法:迭代 Procrustes(CPU|GPU)
python supervised.py --src_lang en --tgt_lang es --src_emb data/wiki.en.vec --tgt_emb data/wiki.es.vec --n_refinement 5 --dico_train default
默认情况下,dico_train
将指向我们下载的地面真实字典;当设置为"identical_char"时,它将使用源语言和目标语言之间的相同字符字符串来形成一个词汇表。日志和嵌入将被保存在dumped/目录中。
无监督的方法:对抗性训练和细化(CPU|GPU)
python unsupervised.py --src_lang en --tgt_lang es --src_emb data/wiki.en.vec --tgt_emb data/wiki.es.vec --n_refinement 5
默认情况下,验证度量是使用CSLS(跨域相似度局部缩放)构建的合成字典的单词对的平均余弦值。对于某些语言对(例如En-Zh),建议使用--normalize_embeddings center
来居中嵌入。
评估单语言或跨语言嵌入(CPU|GPU)
我们还包括一个简单的脚本来评估单语言或跨语言单词嵌入的质量:
单语言
python evaluate.py --src_lang en --src_emb data/wiki.en.vec --max_vocab 200000
跨语言
python evaluate.py --src_lang en --tgt_lang es --src_emb data/wiki.en-es.en.vec --tgt_emb data/wiki.en-es.es.vec --max_vocab 200000
3. 应用案例和最佳实践
- 案例1:使用MUSE库来训练一个多语言嵌入模型,并将其用于机器翻译任务的词汇对齐。
- 案例2:利用MUSE生成的嵌入来改善跨语言信息检索系统的性能。
最佳实践包括:
- 在训练嵌入之前,确保您的字典质量高,并且已经适当预处理。
- 在评估嵌入时,使用多个任务来全面理解嵌入的质量。
4. 典型生态项目
- fastText:用于训练和检索单词嵌入的开源库。
- PyTorch:用于深度学习的开源机器学习库。
- Faiss:用于快速相似性搜索和聚类的高效库。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考