如何训练我自己的语料库手套算法

问题描述 投票:8回答:4

我试图按照this. 但一些如何我浪费了很多时间没有什么用处结束了。 我只是想培养我自己的语料库(〜900MB corpus.txt文件)一个GloVe模型。我下载了上面提供的链接,并使用cygwin编译它的文件(编辑demo.sh文件后,改变了它VOCAB_FILE=corpus.txt我要离开CORPUS=text8不变。?)产量为:

  1. cooccurrence.bin
  2. cooccurrence.shuf.bin
  3. text8
  4. corpus.txt
  5. vectors.txt

我该如何使用这些文件来加载它作为一个蟒蛇模型GloVe

stanford-nlp gensim word2vec glove
4个回答
2
投票

你的阴茎应该去变量语料库。该vectors.txt是输出,这假设是有用的。您可以在python训练手套,但它需要更多的时间,你需要具有C编译环境。我尝试过,并不会推荐它。


2
投票

这是我对这个::

  1. 克隆库后,你有使用自己的语料库替换为您的文件名胼名训练它编辑demo.sh文件。
  2. 然后,因为这是下载一个例子语料库为你卸妆和黄之间的脚本。
  3. 然后运行make将形成在build文件夹中的四个文件。
  4. 现在运行./demo.sh将培训和做脚本中提到的所有的东西在自己的语料库和输出将vectors.txt文件生成。

注意:不要忘了,直接让你的文集文件夹手套里面。


2
投票

这是你如何运行模型

$ git clone http://github.com/stanfordnlp/glove
$ cd glove && make

要训​​练它自己的语料库,你只需要修改一个文件,即demo.sh.

删除脚本,如果后“使”网络连接。与文件名“corpus.txt”还有另外一个如果循环在文件“demo.sh”结束替换胼名

if [ "$CORPUS" = 'text8' ]; then

与你的文件名称替换text8。

运行demo.sh一旦更改。

$ ./demo.sh

确保您的语料库文件是在正确的format.You'll需要准备好语料库与由一个或多个空格或制表符分隔的所有单词一个文本文件。如果你的文集有多个文件,这些文件(只)应该由新行字符分隔。


1
投票

您可以使用手套库做到这一点:

安装:安装PIP 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')

参考:word vectorization using glove

© www.soinside.com 2019 - 2024. All rights reserved.