Лучший способ объединить вложение Word, чтобы получить вложение предложения - PullRequest
0 голосов
/ 20 января 2019

Я видел во многих ядрах и руководствах kaggle, считается, что встраивание среднего слова встраивает предложение.Но мне интересно, если это правильный подход. Так как он отбрасывает информацию о положении слов в предложении.Есть ли лучший способ объединить встраивание?может быть, иерархически объединяя их определенным образом?

1 Ответ

0 голосов
/ 20 января 2019

Если вам нужен простой, но эффективный подход, Встраивание 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

Где all_vector_representation - среднее вложение всех предложений в ваш набор данных.

Существуют и другие сложные подходы, такие как ELMO , Transformer и т. Д.

...