小编Cas*_*rey的帖子

如何从 Brown 语料库访问原始文档?

对于所有其他 NLTK 语料库,调用会corpus.raw()从文件中生成原始文本。例如:

>>> from nltk.corpus import webtext
>>> webtext.raw()[:10]
'Cookie Man'
Run Code Online (Sandbox Code Playgroud)

但是,当brown.raw()您打电话时,您会收到带标签的文本。

>>> from nltk.corpus import brown
>>> brown.raw()[:10]
'\n\n\tThe/at '
Run Code Online (Sandbox Code Playgroud)

我已经阅读了我能找到的所有文档,但似乎找不到明显的解释或获取未标记版本的方法。是否有理由对这个语料库进行标记而其他语料库没有?

python nlp corpus nltk tagged-corpus

5
推荐指数
1
解决办法
7351
查看次数

NLTK 单词与 word_tokenize

我正在探索 NLTK 的一些语料库并遇到以下行为:word_tokenize() 和 words 产生不同的 words() 集

下面是一个使用 webtext 的例子:

from nltk.corpus import webtext
Run Code Online (Sandbox Code Playgroud)

当我运行以下命令时,

len(set(word_tokenize(webtext.raw('wine.txt'))))
Run Code Online (Sandbox Code Playgroud)

我得到:3488

当我运行以下命令时,

len(set(webtext.words('wine.txt')))
Run Code Online (Sandbox Code Playgroud)

我得到:3414

我在文档中只能找到 word_tokenize 是标点符号和单词的列表。但它也说单词是标点符号和单词的列表。我想知道,这里发生了什么?他们为什么不同?

我已经尝试查看设置差异。

U = set(word_tokenize(webtext.raw('wine.txt')))
V = set(webtext.words('wine.txt'))

tok_not_in_words = U.difference(V) # in tokenize but not in words
words_not_in_tok = V.difference(U) # in words but not in tokenize
Run Code Online (Sandbox Code Playgroud)

我只能看到 word_tokenize 包含带连字符的单词,而单词将带连字符的单词分开。

任何帮助表示赞赏。谢谢!

python nlp corpus tokenize nltk

4
推荐指数
1
解决办法
2633
查看次数

标签 统计

corpus ×2

nlp ×2

nltk ×2

python ×2

tagged-corpus ×1

tokenize ×1