结合 BERT 和其他类型的嵌入

Combining BERT and other types of embeddings

flair模型可以给出任何词的表示(可以处理OOV问题),而BERT模型将未知词拆分成几个子词。

例如,单词“hjik”在 flair 中将有一个向量表示,而在 BERT 中它将被分成几个词(因为它是 OOV),因此每个子词都有几个向量。因此,根据 flair 我们将有一个向量,而根据 BERT 我们可能有两个或更多向量。

这里的问题是 flairNLP 库是如何处理这个问题的?

注意:如果你不知道,你能至少建议我一个正确的处理方法吗?

TransformerWordEmbeddings class 对拆分为多个子词的单词具有默认处理,您可以使用 subtoken_pooling 参数控制这些子词(您的选择是“first”、“last”、“first_last " 和 "mean"),请参阅此处的信息:https://github.com/flairNLP/flair/blob/master/resources/docs/embeddings/TRANSFORMER_EMBEDDINGS.md#pooling-operation