Facebook开源NLP迁移学习工具包LASER,支持93种语言
2019年01月24日 由 浅浅 发表
318747
0
Facebook AI研究团队宣布他们已经扩展并增强了LASER工具包,可以使用28种不同的字母表编写超过90种语言。这加速了自然语言处理(NLP)应用程序向更多语言的迁移。团队现在开源了LASER,并将其作为多语言句子表征的第一次探索。目前,已有93种语言被整合到LASER中。
LASER通过将所有语言嵌入到一个共享空间中来实现结果,还免费提供多语言编码器和PyTorch代码,并为100多种语言提供多语言测试集。
Facebook写道:“融入LASER的93种语言包括主谓宾顺序(SVO),如英语,主宾谓顺序(SOV),如孟加拉语和突厥语,谓主宾(VSO)顺序,如塔加路语和柏柏尔语,甚至是谓宾主顺序(VOS),如马达加斯加语。”
LASER的特征
- 支持NLP模型从一种语言(如英语)到其他语言(包括训练数据有限的语言)的零距离传输。
- 处理资源少的语言和方言。
- 为XNLI语料库中的14种语言中的13种语言提供准确性。它提供跨语言文档分类(MLDoc语料库)的结果。
- LASER的句子嵌入在并行语料库挖掘方面非常强大,这为2018年BUCC关于为四对语言中的三对构建和使用可比较语料库的研讨会确立了一种新的技术状态。
- 它提供了快速的性能,在GPU上每秒处理多达2000个句子。
- Pytorch已经被用来实现具有最少外部依赖的句子编码器。
- LASER支持在一个句子中使用多种语言。
- 随着新语言的增加,系统不断学习识别语言系列的特性,LASER的性能也得到了提高。
句子嵌入
LASER将任何语言的句子映射到高维空间中的某个点,使得任何语言中的相同句子最终都会出现在同一个邻域中。该表征也可以是语义向量空间中的通用语言。
Facebook表示:“我们已经观察到,空间中的距离与句子的语义紧密程度密切相关。”语句嵌入用于通过线性转换初始化解码器LSTM,并在每个时间步上连接到其输入嵌入。
编码器/解码器方法
该项目背后的方法使基于神经机器翻译,一种编码器/解码器方法,也称为序列到序列处理。LASER为所有输入语言使用一个共享编码器,并使用共享解码器生成输出语言。
LASER使用1024维固定大小的向量来表示输入句子。指示解码器需要生成哪种语言。由于编码器没有用于指示输入语言的明确信号,因此该方法鼓励它学习与语言无关的表征。
Facebook AI研究团队已经对用2.23亿个公共并行数据训练了系统,这些数据与英语或西班牙语对齐。
零样本,跨语言的自然语言推理
LASER在跨语言自然语言推理(NLI)中取得了优异的成绩。Facebook的AI研究团队在他们用英语训练NLI分类器时考虑零样本设置,然后将其应用于所有目标语言,不需要微调或目标语言资源。
计算所有句子对之间的距离,并选择最接近的句子对。为了更精确,考虑了最近的句子和其他最近的句子之间的距离。这个搜索是使用Facebook的FAISS库执行的。
该团队在共享BUCC任务方面的表现大大超过了现有技术水平。该团队提高了F1得分:德语/英语从85.5到96.2,法语/英语从81.5到93.9,俄语/英语从81.3到93.3,中文/英语从77.5到92.3。
开源:
github.com/facebookresearch/LASER