在Python中训练NGram模型

8
我正在使用Anaconda安装和管理的Python 3.5。我想要使用一些文本来训练NGramModel (来自nltk)。但我的安装找不到模块nltk.model。
以下是可能的答案(选择正确答案并解释如何操作):
  1. 可以使用conda安装不同版本的nltk,以便包含模块。这不仅仅是旧版本(需要太旧),而是包含当前nltk开发的模型(或model2)分支的不同版本。
  2. 不能使用conda安装前面提到的nltk版本,但可以使用pip进行安装。
  3. nltk.model已被弃用,最好使用其他软件包(请解释哪个软件包)
  4. 有比nltk更好的选项可用于训练ngram模型,使用其他库(请解释哪个库)
  5. 以上都不是,训练ngram模型的最佳选项是其他内容(请解释是什么)。

1
对于纯语言模型,我会推荐高度优化的KenLM(使用C进行速度和内存方面的优化)。它也被用于Moses,最常用的MT工具,同时也有一些很好的KenLM指南。 - user2390182
模块 ntk.model 在最新版本的 NLTK (3.2.1) 中不存在。使用Anaconda安装的版本3.2.0也没有这个模块。 - Darius
@Darius 正确,应安装model分支上的版本才能使用nltk.model - Trylks
@Darius 然而,这很可能是毫无意义的,因为那里的代码与之前的版本不同。因此:(1)所有在线示例都是无用的。而且(2)执行ngram模型训练的代码(以及几乎所有内容)都不在该分支中(即使“model”包在其中),据我所知。 - Trylks
@schwobaseggl 谢谢,我也找到了其他工具,可能很适合这个目的。我希望在Python中有一些简单直接的东西,因为在ngrams部分之前和之后,我正在使用pandas和一些操作。我可以将KenLM作为外部程序调用。 - Trylks
1个回答

0

尝试

import nltk
nltk.download('all')

在你的笔记本电脑上


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接