如何在整个Penn Treebank语料库中训练NLTK?

时间:2013-06-03 15:36:03

标签: python nlp nltk corpus tagged-corpus

我最初使用以下来自NLTK的Penn Treebank标记:

POS_Tagger = UnigramTagger(treebank.tagged_sents(), backoff=DefaultTagger('NN'))

然而,这不符合口头文字。例如,“hello”在应该的时候不被认为是感叹词。我从这里(In NLTK pos_tag, why “hello” is classified as Noun?)读到,如果我想标记语音文字,我将“需要在整个宾夕法尼亚大学银行树上训练标记器,其中包括300万字的英语口语。”我现在的问题是 HOW 我可以这样做吗?我一直在这里(Penn Treebank Project),但找不到任何东西。

如果对整个宾州树园的培训太难了,那会有什么选择呢?我正在考虑布朗语料库而不是POS标签不同,这使得我必须重写该程序的其他部分。

3 个答案:

答案 0 :(得分:3)

你可能想要考虑美国国家语料库。虽然并非所有这些都是免费提供的,但是大部分是(大约1400万字)。那部分被称为" OANC" (" O" for" Open")。它标有Penn Treebank POS标签。

它还包括更高级别的注释,例如段落,句子,名词和动词" chunks",您可能需要也可能不需要,但当然可以忽略。

请参阅http://www.americannationalcorpus.org/OANC/index.html

答案 1 :(得分:1)

不幸的是,Penn Treebank只能通过Linguistic Data Consortium获得高额费用。如果您的需求是非商业性的,您可能会找到一位可以授予您访问权限的学者。

或者,您可以通过在其他一些数据上运行ClearNLP toolsStanford CoreNLP tools等现有POS标记来创建自己的银标(而不是黄金标准)数据(新闻报道,布朗,维基百科等...)然后你可以拿这个标记的数据并训练NLTK标记。当然,如果您需要更适合语音的数据,您可能需要查看Switchboard语料库。看起来通过知识共享许可证可以获得version with some POS and syntactic annotation

答案 2 :(得分:1)

NLTK中的Penn Treebank语料库只是真正的Penn Treebank的样本,请参阅https://en.wikipedia.org/wiki/User:Alvations/NLTK_cheatsheet/CorporaReaders#Penn_Tree_Bank

样本只包含3000多个句子,而NLTK中的棕色语料库包含超过50,000个句子。除非您可以访问整个PTB,否则最好使用其他语料库。