【问题标题】:How to compute a language model with word2vec tool?如何使用 word2vec 工具计算语言模型?
【发布时间】:2014-03-29 00:07:09
【问题描述】:

我正在尝试构建一个神经网络语言模型,而 Mikolov 等人的 word2vec 工具似乎是一个很好的工具。我试过了,但它只会产生单词表示。 有人知道我如何通过该工具或任何其他合理的深度学习框架生成语言模型吗?

【问题讨论】:

  • 我现在使用 opennlp。
  • 现在我知道你不能用 word2vec 构建神经网络语言模型,这要感谢 Phyrox。所以我需要一个深度学习工具,它具有易于使用的功能来构建语言模型。

标签: theano word2vec deep-learning


【解决方案1】:

word2vec 是一种将单个单词(或一组单词)表示为数字向量的工具。所以它与语言模型没有直接关系。

要生成语言模型,您可以使用MITLM 来完成。例如,您可以通过以下命令使用语料库Lectures.txt 创建一个 N-gram 模型:

estimate-ngram -text Lectures.txt -write-lm Lectures.lm

可以在here找到一个很棒的教程。

【讨论】:

  • 是的,但我的目标是坚持使用神经网络语言模型,特别是那些非常接近最先进方法并且易于运行的框架。
  • 实际上,word2vec 学习了一个神经语言模型,然后丢弃了它的预测能力,而只保留了目标词的内部表示(嵌入)。
  • 确实,你丢掉了输出层,同时保留了隐藏层的权重
【解决方案2】:

Microsoft Research 发布了一个使用 word2vec 样式向量进行语言建模的工具包。你可以找到它here

【讨论】:

    【解决方案3】:

    在 Gensim 中实现的 Doc2Vec 可以完成这项工作。诀窍是他们使用文档 ID 作为上下文词,该词出现在文档中所有词的所有窗口大小中。

    代码是here in Python/Gensim

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      • 2016-09-02
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多