李宏毅nlp学习笔记14:Multi-lingual BERT
1.Multi-lingual BERT:把多种语言丢到bert模型中进行训练。
2.惊奇的效果:可以做到跨语言学习。
用英文的QA语料进行训练,然后可以对模型做中文的QA。
而且效果要好于直接用中文训练的其他模型。
翻译语料进行训练的结果有时候还比不上直接Multi-lingual BERT的结果:
其他的,
会做英文的词性标记,就也会做中文的了。
会做英文的ner识别,就也会做中文的了。
3.XTREME:跨语言学习的能力。
4.为什么能做跨语言的训练的?
可能bert在训练时,去掉了语言的信息,而只保留了语义的信息。(之后说明猜测错误)
**我们对上述想法进行测试, **
因为bert 是考虑上下文的,因此我们将需要将词向量求平均。
如下计算:
结果:
结果说明,相同的词义,在不同语言中,向量基本是相同的,0.5以上就说明了不是第一就是第二。
对齐了,太强了吧。
5.发生上述:Alignment的可能的原因:
猜测一:
语言混用,如DNA在中英中都出现,然后模型就猜测,DNA和螺旋的关系、
如1494,中国成立,虽然不同语言说中国成立不同,但是有一个相同的时间点-1949,因此模型就把这两个看成了同一个事件。
猜测2:intermediate language
有一种语言和中文部分对齐,又和英文部分对齐,虽然两者没有直接的对齐,但是,通过这个中间的语言就很容易发现中文和英文的对齐。
做实验验证:
制造一种语言,和英文根本对不上,
而且就用这两种语言进行训练:
效果推翻了上述两个假设:
6.你输入中文,模型也会输出中文,你输入英文,模型也会输出英文:因此,模型应该是显然直到语言的信息的。
7.李宏毅团队学生做了如下工作:
以中英为例:
对所有的中文作平均,对所有的英文作平均。
得到向量之间的差异。
把英文向量的句子加上差异,发现出现中文: