Cod*_*dir 10 stanford-nlp gensim word2vec glove
我试着遵循这个.
但是有些我浪费了很多时间而没有任何用处.
我只想GloVe在我自己的语料库(~900Mb corpus.txt文件)上训练模型.我下载了上面链接中提供的文件并使用它编译cygwin(在编辑demo.sh文件并将其更改为VOCAB_FILE=corpus.txt.我应该CORPUS=text8保持不变吗?)输出为:
我怎样才能将这些文件作为GloVe模型加载到python上?
Gha*_*nem 18
您可以使用 GloVe 库来实现:
安装它:pip install glove_python
然后:
from glove import Corpus, Glove
#Creating a corpus object
corpus = Corpus()
#Training the corpus to generate the co occurence matrix which is used in GloVe
corpus.fit(lines, window=10)
glove = Glove(no_components=5, learning_rate=0.05)
glove.fit(corpus.matrix, epochs=30, no_threads=4, verbose=True)
glove.add_dictionary(corpus.dictionary)
glove.save('glove.model')
Run Code Online (Sandbox Code Playgroud)
参考:使用手套进行词向量化
这就是您运行模型的方式
$ git clone http://github.com/stanfordnlp/glove
$ cd glove && make
Run Code Online (Sandbox Code Playgroud)
要在您自己的语料库上训练它,您只需更改一个文件,即 demo.sh。
在'make'之后从if到fi中删除脚本。将 CORPUS 名称替换为您的文件名 'corpus.txt' 在文件 'demo.sh' 末尾还有另一个 if 循环
if [ "$CORPUS" = 'text8' ]; then
Run Code Online (Sandbox Code Playgroud)
将 text8 替换为您的文件名。
更改完成后运行 demo.sh。
$ ./demo.sh
Run Code Online (Sandbox Code Playgroud)
确保您的语料库文件格式正确。您需要将您的语料库准备为单个文本文件,所有单词由一个或多个空格或制表符分隔。如果您的语料库有多个文档,则文档(仅)应以换行符分隔。
你的语料库应该转到变量 CORPUS。Vectors.txt 是输出,它应该是有用的。你可以用python来训练Glove,但是需要更多的时间,并且需要有C编译环境。我之前尝试过,不会推荐它。
| 归档时间: |
|
| 查看次数: |
6246 次 |
| 最近记录: |