结合Word embedding来获得句子嵌入的更好方法

InA*_*ash 1 text-processing nlp deep-learning word-embedding

我在许多kaggle内核和教程中看到,平均词嵌入被认为是获得句子的嵌入。但是,我想知道这是否是正确的方法。因为它丢弃了句子中单词的位置信息。有没有更好的方法来结合嵌入?也许以特定的方式将它们分层组合?

Ami*_*mir 5

如果您需要一种简单但有效的方法,Sif 嵌入非常适合。它对句子中的词向量进行平均并删除其第一个主成分。它比平均词向量要优越得多。该代码可在此处在线获取。这是主要部分:

svd = TruncatedSVD(n_components=1, random_state=rand_seed, n_iter=20)
svd.fit(all_vector_representation)
svd = svd.components_

XX2 = all_vector_representation - all_vector_representation.dot(svd.transpose()) * svd
Run Code Online (Sandbox Code Playgroud)

all_vector_representation数据集中所有句子的平均嵌入在哪里。

其他复杂的方法也存在,如ELMOTransformer等。