词嵌入后输出一个词而不是向量?

数据挖掘 Python nlp rnn 词嵌入
2021-09-22 13:38:55

我正在尝试使用翻译或文本摘要的玩具实现。我现在明白,大多数人在使用任何模型之前都会使用嵌入层,这会产生类似于 300 维向量的东西。但是模型输出了什么?就像编码器-解码器模型一样,它的输入是这些向量的序列。那么最后一层解码器出来的是什么呢?不像事件提取或类似的东西,我们将其分类为少数类。

所以我的核心问题是:输出也是一个300维的向量,然后我必须根据最相似的词向量生成词吗?或者它是原始单词空间中单词的索引?在第二种情况下,网络正在分类超过 100000 个类?

而且,是否有任何现有的包支持这种“反向嵌入到单词”?

我没有在网站上看到任何类似的问题。如果是,请将其标记为重复。

任何帮助,将不胜感激。

2个回答

这个答案描述了如何从嵌入空间中的向量返回到最相似的类(例如单词或字符)。

这取决于模型的架构。

许多工作使用文本数据对某些特定类别进行分类(例如,IMDB 电影评论或推文上的情绪分析)。

其他工作实际上可以取一个句子的单词并预测最后一个单词。或者将其分解为预测后续单词的每个单词,这实际上是 RNN/embedding 维度正在做的事情。

其他人甚至在角色级别上也做出了这些。最终,这取决于您如何处理数据并指定您的结果。下面是一些有用的教程,应该会增加一点清晰度。

  1. http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-2-implementing-a-language-model-rnn-with-python-numpy-and-theano/

  2. http://karpathy.github.io/2015/05/21/rnn-effectiveness/

  3. http://deeplearning.net/tutorial/lstm.html

  4. http://machinelearningmastery.com/sequence-classification-lstm-recurrent-neural-networks-python-keras/

  5. https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py