Использование предварительно обученных вложений слов для классификации «пулов» слов - PullRequest
0 голосов
/ 26 мая 2018

Я видел много работ, объясняющих использование предтренированных встраиваний слов (таких как Word2Vec или Fasttext) в классификации настроения предложений с использованием CNN (например, статья Юна Кима).Однако эти классификаторы также учитывают порядок, в котором слова появляются.

Мое применение встраивания слов заключается в прогнозировании класса «пулов» слов.Например, в следующем списке списков

example = [["red", "blue", "green", "orange"], ["bear", "horse", "cow"], ["brown", "pink"]]

Порядок слов не имеет значения, но я хочу классифицировать подсписки либо по классу цвета, либо по животному.

ЕстьЕсть ли какие-либо готовые реализации Keras этого или какие-либо статьи, на которые вы могли бы указать мне, на которые решается этот тип проблемы классификации на основе предварительно обученных вложений слов?

Извините, если это не по теме на этом форуме.Если это так, пожалуйста, дайте мне знать, где было бы лучше разместить его.

1 Ответ

0 голосов
/ 26 мая 2018

Ключевым моментом при создании этого классификатора было бы избежать смещения порядка слов в списке.Наивное LSTM-решение будет просто смотреть на первые или последние несколько слов и пытаться их классифицировать, этот эффект можно уменьшить, каждый раз давая перестановки списков.Возможно, более простой подход мог бы быть:

# unknown number of words in list each 300 size from word2vec
in = Input(shape=(None, 300))
# some feature extraction per word
latent = TimeDistributed(Dense(latent_dim, activation='relu'))(in)
latent = TimeDistributed(Dense(latent_dim, activation='relu'))(latent)
sum = Lambda(lambda x: K.sum(x, axis=-1))(latent) # reduce sum all words
out = Dense(num_classes, activation='softmax')(sum)
model = Model(in, out)
model.compile(loss='categorical_crossentropy', optimiser='sgd')

, где уменьшенная сумма избежала бы любого систематического смещения, если большинство слов выражают сходные черты определенного класса, тогда сумма также склоняется к этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...