Python NLTK-何时规范化文本?

Python NLTK-何时规范化文本?,python,nlp,nltk,Python,Nlp,Nltk,我已经收集好了我打算用于语料库的数据,但是对于是否应该规范文本,我有点困惑。我计划在将来标记和分块语料库。NLTK的一些语料库都是小写的,其他的则不是 有谁能解释一下这个问题吗?所谓的“规范化”是指所有内容都小写吗 是否将所有内容小写的决定实际上取决于您计划做什么。出于某些目的,将所有内容都小写会更好,因为它降低了数据的稀疏性(大写词更为罕见,并且可能会混淆系统,除非您拥有大量语料库,因此大写词的统计数据更为合理)。在其他任务中,案例信息可能很有价值 此外,您还必须考虑其他类似的因素。例如,应该

我已经收集好了我打算用于语料库的数据,但是对于是否应该规范文本,我有点困惑。我计划在将来标记和分块语料库。NLTK的一些语料库都是小写的,其他的则不是

有谁能解释一下这个问题吗?

所谓的“规范化”是指所有内容都小写吗

是否将所有内容小写的决定实际上取决于您计划做什么。出于某些目的,将所有内容都小写会更好,因为它降低了数据的稀疏性(大写词更为罕见,并且可能会混淆系统,除非您拥有大量语料库,因此大写词的统计数据更为合理)。在其他任务中,案例信息可能很有价值

此外,您还必须考虑其他类似的因素。例如,应该将
“不能”
视为
[“不能”]
[“可以”,“不能”]
,或
[“ca”,“n't”]
(我在不同的语料库中看到了这三个词)。7岁的孩子怎么样?是一个长单词吗?还是三个应该分开的词


也就是说,没有理由重新格式化语料库。您可以让您的代码动态地进行这些更改。这样,如果您需要,原始信息在以后仍然存在。

“大多数情况下”是不正确的:文本分类器将需要小写输入,但POS标记器、NER模块和解析器会利用案例信息。如果没有案例信息,NER几乎是不可能的(至少在英语中是如此)。@larsmans的观点很好。在试图决定如何处理数据时,需要考虑所有好的事情。“不能”的区别是由于选择/默认标记器造成的,不应该反映在实际的原始语料库文本中。但这绝对是一件需要考虑的重要事情,这就是为什么我在上展示了一个NLTK标记器演示,以便更容易决定使用哪个标记器。