1

在过去的三天里,我一直在使用 NLTK 来熟悉并阅读“自然语言处理”一书以了解发生了什么。我很好奇是否有人可以为我澄清以下内容:

请注意,第一次运行此命令时,它会很慢,因为它会收集有关单词序列的统计信息。每次运行它,你都会得到不同的输出文本。现在尝试以就职演说或互联网聊天室的形式生成随机文本。尽管文本是随机的,但它重用了源文本中的常用单词和短语,并让我们对其风格和内容有所了解。(这个随机生成的文本缺少什么?)

这部分文本,第 1 章,简单地说它“收集统计数据”,它将得到“不同的输出文本”

generate具体是做什么的,它是如何工作的?

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

起初 , 在 我 和 你 之间 , 在 花园 里 你 可以 进入 挪亚 和 米比萨姆 , 说 , 我们 还 有 任何 分 或 产业 吗 , 使 你 像 以法莲 和 公爵 们 的 沙子 一样 .和她一起来的;他们来了。又 放 出 鸽子 从 你 身上 放 出 手 鼓 , 为 他们 大哭 ; 她 怀孕 了 , 并 叫 他们 的 名字 , 在 子宫 结束 后 用 他们 的 名字 ? 和他

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

4

1 回答 1

2

type(text3)会告诉你 text3 是 type nltk.text.Text

引用以下文档Text.generate()

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

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

另请参阅此问题的答案。

于 2013-08-22T23:13:35.293 回答