如何在NLP中使用深度学习时获得单词向量表示?单词由固定长度向量表示,有关详细信息,请参阅http://machinelearning.wustl.edu/mlpapers/paper_files/BengioDVJ03.pdf。
答案 0 :(得分:3)
深度学习和NLP是非常复杂的科目,所以如果你真的想要理解它们,你需要学习该领域的几门课程并阅读很多论文。将单词转换为向量表示有很多不同的技术,它是一个非常活跃的研究领域。如果你已经熟悉NLP和机器学习(包括深度学习),那么Socher的DL for NLP tutorial是一个很好的下一步。
说到(并考虑它是一个编程论坛),如果你现在只是感兴趣使用别人的工具来快速获得在某些任务中有用的矢量表示,那么一个库你必须看看是word2vec。看看它的网站:https://code.google.com/p/word2vec/。它是一个非常强大的工具,对于一些基本的东西,它可以在没有太多知识的情况下使用。
答案 1 :(得分:0)
要获得单词的单词向量,您可以使用Google新闻300维单词矢量模型。
从这里下载模型 - https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing或从此处开始 https://s3.amazonaws.com/mordecai-geo/GoogleNews-vectors-negative300.bin.gz。
下载后使用/Users/Username/Desktop/TEST.sh
python库加载模型,如下所示 -
gensim
然后只需查询模型中与
这样的单词对应的单词向量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
模型。