利用预训练的单词嵌入对单词“池”进行分类

2024-05-19 19:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我看过很多文章解释了预训练词嵌入(如Word2Vec或Fasttext)在使用CNNs进行句子情感分类方面的使用(比如Yoon Kim的论文)。然而,这些量词也说明了单词出现的顺序。在

我对单词嵌入的应用是预测单词“池”的类别。例如,在以下列表中

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

单词的顺序无关紧要,但我想将子列表分为颜色类或动物类。在

是否有任何预先构建的Keras实现,或者您可以向我指出的任何基于预训练单词嵌入的分类问题的论文?在

很抱歉,如果这是这个论坛的主题。如果是的话,请让我知道哪里是更好的地方张贴它。在


Tags: 列表顺序example文章分类word2vec类别单词
1条回答
网友
1楼 · 发布于 2024-05-19 19:28:35

创建该分类器的关键点是避免对列表中单词顺序的任何偏差。一个朴素的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')

如果减少的和可以避免任何排序偏差,如果大多数单词表达某个类的相似特征,那么总和也会倾向于这个。在

相关问题 更多 >