【发布时间】:2020-06-15 09:13:52
【问题描述】:
是否有最新的预训练多语言词嵌入(多种语言联合映射到同一个向量空间)?
我查看了以下内容,但它们不符合我的需求:
- FastText / MUSE (https://fasttext.cc/docs/en/aligned-vectors.html):这个好像太老了,词向量没有使用子词/词片信息。
- LASER (https://github.com/yannvgn/laserembeddings):我现在正在使用这个,它使用子词信息(通过 BPE),但是,建议不要将其用于词嵌入,因为它旨在嵌入句子 (https://github.com/facebookresearch/LASER/issues/69) .
- BERT 多语言(bert-base-multilingual-uncased in https://huggingface.co/transformers/pretrained_models.html):它是上下文嵌入,可用于嵌入句子,似乎不擅长嵌入没有上下文的单词。
这是我要解决的问题:
我有一个公司名称列表,可以是任何语言(主要是英语),我有一个英语关键字列表,用于衡量给定公司名称与关键字的接近程度。现在我有一个简单的关键字匹配解决方案,但我想使用预训练嵌入来改进它。正如您在以下示例中看到的那样,存在几个挑战:
- 关键字和品牌名称不使用空格分隔(现在我使用包“wordsegment”将单词拆分为子词),因此使用子词信息嵌入应该会有很大帮助
- 关键字列表并不广泛,公司名称可能使用不同的语言(这就是我想使用嵌入的原因,因为“soccer”与“football”很接近)
公司名称示例:“cheapfootball ltd.”、“wholesalefootball ltd.”、“footballer ltd.”、“soccershop ltd.”
关键字示例:“足球”
【问题讨论】:
-
the word vectors are not using subwords / wordpiece information.- 不,基于 fasttext 的词嵌入是使用 n-gram 子词创建的。见:github.com/facebookresearch/fastText/issues/475 -
你说得对,大多数基于 fasttext 的词嵌入都使用子词,尤其是那些可以通过“fasttext.load_model”加载的子词,但是,我指的是 (fasttext.cc/docs/en/aligned-vectors.html) 只有“文本”格式,并且不使用子词信息。
-
抱歉,没有看到您的链接指向“对齐的词向量”:)
标签: nlp word-embedding pre-trained-model fasttext bert-language-model