首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >word2vec模型是如何与lstm模型集成的?

word2vec模型是如何与lstm模型集成的?
EN

Stack Overflow用户
提问于 2017-09-10 18:17:50
回答 1查看 1K关注 0票数 1

对于自然语言处理(NLP)任务,通常使用word2vec向量作为words.however的嵌入,我仍然不明白word2vec模型是如何与words.however模型集成的?

当使用长期(LSTM)网络对NLP任务(如情绪预测)建模时,应该如何处理这些未知的单词?

EN

回答 1

Stack Overflow用户

发布于 2017-09-10 18:37:32

为了将文本数据作为神经网络的输入,您需要将其转换为数字,简单地说,word2vec是这样做的,作为一个大的热编码向量的替代。

但是为了能够使用它,您还需要一个字典,它只是一组已知的单词,它将映射到嵌入矩阵(生成的word2vec)。该矩阵将作为形状,字典大小和嵌入的大小(特征向量大小)。

该字典使用一个特殊的标记(例如<UNK>)处理未知单词,该标记在嵌入矩阵中也有一个条目。

编辑:添加了示例

让我们说这是您的输入文本:The quick brown fox jumps over the lazy dog

这是你的字典(8码):

代码语言:javascript
复制
<EOF> 0
<UNK> 1
the   2
fox   3
jumps 4
over  5
lazy  6
dog   7

嵌入大小为2的嵌入矩阵:

代码语言:javascript
复制
0 | -0.88930951349  -1.62185932033
1 | -0.11004085279  0.552127884563
2 | 0.689740990506  0.834548005211
3 | -0.7228834693   0.633890390277
4 | -1.47636106953  -0.20830548073
5 | 1.08289425079   0.211504860598
6 | -0.626065160814 0.505306007423
7 | 1.91239085331   -0.102223754095

然后需要对输入进行预处理,用字典中的索引替换每个单词,结果如下:

[2, 1, 1, 3, 4, 5, 2, 6, 7]

注意,由于quickbrown不在字典中,所以这些都是未知的单词。

最后,要在网络中使用它,您需要用嵌入替换索引。

代码语言:javascript
复制
[[0.689740990506, 0.834548005211], [-0.11004085279, 0.552127884563],
 [-0.11004085279, 0.552127884563], [-0.7228834693, 0.633890390277],
 [-1.47636106953, -0.20830548073], [1.08289425079, 0.211504860598],
 [0.689740990506, 0.834548005211], [-0.626065160814, 0.505306007423],
 [1.91239085331, -0.102223754095]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46144026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档