在Python中使用NLTK时generate()会做什么?

时间:2013-08-22 22:06:47

标签: nlp nltk

过去三天我一直在与NLTK合作,熟悉并阅读“自然语言处理”一书,以了解正在发生的事情。我很好奇是否有人可以为我澄清以下内容:

  

请注意,第一次运行此命令时,它很慢,因为它   收集有关单词序列的统计信息。每次你运行它,你   将获得不同的输出文本。现在尝试生成随机文本   就职演说或互联网聊天室的风格。虽然   文本是随机的,它重新使用来自源的常用单词和短语   文字,让我们了解它的风格和内容。 (缺少什么   在这个随机生成的文本中?)

文本的这一部分,chapter 1,只是说它“收集统计信息”,它会得到“不同的输出文字”

具体确实生成了什么以及它是如何工作的?

generate()的这个例子使用text3,这是圣经的创世纪:

  

一开始,在我和你之间以及在花园里,你可能会   进入方舟进入方舟,和米布萨姆说,还有   我们的任何部分或继承,并使你成为以法莲和以法莲   和她一起来的公爵的沙子;他们来了也   他用羽毛笔把鸽子从你身上赶了出去,然后又哭了起来   很大她以自己的名字构思并称呼他们的名字   子宫结束后?而且他

在这里,generate()函数似乎只是输出通过在标点符号处切断文本而创建的短语,并随机重新组合它,但它有一点可读性。

1 个答案:

答案 0 :(得分:2)

type(text3)会告诉您text3的类型为nltk.text.Text

引用Text.generate()的{​​{3}}:

  

打印使用trigram语言模型生成的随机文本。

这意味着NLTK为Genesis文本创建了一个documentation,计算每个三个单词序列的出现次数,以便它可以预测本文中任何给定两个单词的最可能的后继。 N-Gram模型将在N-Gram model中详细解释。

另见chapter 5 of the NLTK book的答案。

相关问题