I'm new to NLP. I have a few doubts about PCFG parser (NLTK). My understanding is that PCFG parser will return most probable parse tree. So if I'm parsing one sentence with PCFG parser, I'll be getting one parse tree. Is my assumption right?
Moving further, PCFG parser is trained using corpus consisting of 1000 sentences, will I be getting 1000 parse tree (1 per sentence) or only one parse tree? If it is different for each sentence, are the production rules for one parse tree independent of another parse tree?
Why does the NLTK PCFG parser expect input in Penn treebank format? (I mean Penn treebank is also a parsed tree, isn't it?)
Do we have to define production rules and assign its probability explicitly? If no, how to do it programmatically?