《TensorFlow自然语言处理》—3.6 总结

举报
华章计算机 发表于 2019/07/21 22:09:07 2019/07/21
【摘要】 本节书摘来自华章计算机《TensorFlow自然语言处理》一书中的第3章,第3.6节,[澳] 图珊·加内格达拉(Thushan Ganegedara) 著 马恩驰 陆 健 译。

3.6 总结

词嵌入已成为许多NLP任务不可或缺的一部分,并广泛用于机器翻译、聊天机器人、图像标题生成和语言建模等任务。词嵌入不仅可以作为降维技术(与独热编码相比),而且与其他现有技术相比,它们还提供了更丰富的特征表示。在本章中,我们讨论了两种主流的基于神经网络的学习单词表示的方法,即skip-gram模型和CBOW模型。

首先,我们讨论了经典方法,了解过去如何学习单词表示,例如使用WordNet、构建单词的共现矩阵以及计算TF-IDF。后来,我们讨论了这些方法的局限性。

这促使我们探索基于神经网络的单词表示学习方法。首先,我们手动设计了一个例子来理解如何计算词嵌入或词向量,然后用一个词向量的例子来了解可以用词向量完成的有趣事情。

接下来,我们讨论了第一个词嵌入学习算法:skip-gram模型。之后,我们学习了如何准备用于学习的数据。后来,我们研究了如何设计一个可以让我们根据给定单词的上下文单词来获得词嵌入的损失函数。之后,我们讨论了我们所设计的封闭形式损失函数的一个关键的限制。对于大型词汇表,损失函数无法扩展。后来,我们分析了两种主流的近似损失,它们使我们能够有效地计算损失:负采样和分层softmax。最后,我们讨论了如何使用TensorFlow实现skip-gram算法。

然后,我们介绍了学习单词嵌入的下一个选择:CBOW模型。我们还讨论了CBOW与skip-gram模型的不同之处。最后,我们讨论了CBOW的TensorFlow实现。

在下一章中,我们将分析我们学习过的Word2vec技术的性能,并学习几个可显著提高其性能的扩展方法。此外,我们将学习另一个词嵌入学习技术,称为Global Vectors或GloVe。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。