在 NLP 中使用深度学习时如何获得词向量表示?这些词由一个固定长度的向量表示,有关更多详细信息,请参阅http://machinelearning.wustl.edu/mlpapers/paper_files/BengioDVJ03.pdf。
2 回答
深度学习和 NLP 是相当复杂的学科,所以如果你真的想了解它们,你需要学习该领域的几门课程并阅读大量论文。有许多不同的技术可以将单词转换为向量表示,这是一个非常活跃的研究领域。如果您已经非常熟悉 NLP 和机器学习(包括深度学习),那么Socher 的DL for NLP 教程是一个很好的下一步。
话虽如此(考虑到它是一个编程论坛),如果您现在只是对使用其他人的工具来快速获取在某些任务中有用的向量表示感兴趣,那么您必须查看的一个库是 word2vec。看看它的网站:https ://code.google.com/p/word2vec/ 。这是一个非常强大的工具,对于一些基本的东西,它可以在没有太多知识的情况下使用。
要获取单词的词向量,您可以使用 Google News 300 维词向量模型。
从这里下载模型 - https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing或从这里
https://s3.amazonaws.com/mordecai-geo/GoogleNews-vectors-negative300。斌 .gz
gensim
下载后使用python 库加载模型,如下所示 -
import gensim
# Load Google's pre-trained Word2Vec model.
model = gensim.models.Word2Vec.load_word2vec_format('./model/GoogleNews-vectors-negative300.bin', binary=True)
然后只需在模型中查询对应于一个词的词向量
model['usa']
它会为您返回一个 300 维的词向量usa
。
请注意,您可能找不到此模型中所有单词的词向量。此外,也可以使用其他模型来
代替该模型。Google News