【问题标题】:How to Train GloVe algorithm on my own corpus如何在我自己的语料库上训练 GloVe 算法
【发布时间】:2018-08-04 08:31:20
【问题描述】:

我尝试关注this.
但是有些我浪费了很多时间却没有任何用处。
我只想在我自己的语料库(~900Mb corpus.txt 文件)上训练一个GloVe 模型。 我下载了上面链接中提供的文件并使用 cygwin 编译它(在编辑 demo.sh 文件并将其更改为 VOCAB_FILE=corpus.txt 。我应该保持 CORPUS=text8 不变吗?) 输出是:

  1. cooccurrence.bin
  2. cooccurrence.shuf.bin
  3. 文本8
  4. corpus.txt
  5. vectors.txt

如何使用这些文件在 python 上将其加载为GloVe 模型?

【问题讨论】:

    标签: nlp stanford-nlp gensim word2vec glove


    【解决方案1】:

    您的语料库应该转到变量 CORPUS。 vector.txt 是输出,应该很有用。你可以在python中训练Glove,但是需要更多的时间并且你需要有C编译环境。我以前试过,不推荐。

    【讨论】:

    • 我对这个答案投了反对票,因为它没有详细说明您为什么不建议使用 Python,或者是否有特定用例更喜欢 Python。我认为根据语料库的大小、用户对 Python 的舒适程度等,有充分的理由朝任一方向前进。
    【解决方案2】:

    这是我的看法:

    1. 克隆存储库后,编辑 demo.sh 文件,因为您必须使用自己的语料库对其进行训练,将 CORPUS 名称替换为您的文件名。
    2. 然后删除 MAKE 和 CORPUS 之间的脚本,因为它是为您下载示例语料库。
    3. 然后运行make,它将在构建文件夹中形成四个文件。
    4. 现在运行./demo.sh,它将在您自己的语料库上训练并执行脚本中提到的所有内容,并且输出将生成为vectors.txt 文件。

    注意:不要忘记将语料库文件直接保存在 Glove 文件夹中。

    【讨论】:

      【解决方案3】:

      这就是你运行模型的方式

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

      要在您自己的语料库上训练它,您只需更改一个文件,即 demo.sh。

      在“make”之后将脚本从 if 删除到 fi。 将 CORPUS 名称替换为您的文件名“corpus.txt” 在文件'demo.sh'的末尾还有另一个if循环

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

      将 text8 替换为您的文件名。

      更改完成后运行 demo.sh。

      $ ./demo.sh
      

      确保您的语料库文件格式正确。您需要将语料库准备为单个文本文件,其中所有单词由一个或多个空格或制表符分隔。如果您的语料库有多个文档,则(仅)文档应该用换行符分隔。

      【讨论】:

        【解决方案4】:

        您可以使用 GloVe 库来做到这一点:

        安装它:pip install glove_python

        然后:

        from glove import Corpus, Glove
        
        #Creating a corpus object
        corpus = Corpus() 
        
        #Training the corpus to generate the co-occurrence 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

        【讨论】:

        • 必须在 Windows 10 和 Linux Mint 19.3 上使用 pip install glove==1.0.0。尝试安装glove_python的各种错误
        猜你喜欢
        • 1970-01-01
        • 2019-09-19
        • 1970-01-01
        • 2011-03-10
        • 2019-09-05
        • 2013-05-29
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多