很抱歉,如果我的问题是基本的,但我是NLP的新手,我仍然想要掌握一些概念。
我想使用NLTK库中的Viterbi算法实现使用UPenn树库训练树解析器。但是,我希望我的解析器将已经被POS标记的句子作为输入。换句话说,我希望它只识别较浅的非终端产品。
使用已经训练过的Stanford解析器的NLTK包装器,只需使用有用的tagged_parse
模块即可实现:
from nltk.parser import stanford
stanford_parser = stanford.StanfordParser()
parsed_sentence = stanford_parser.tagged_parse(tagged_sentence)
其中tagged_sentence
是包含标记化句子和相应POS标记的元组列表。例如:
tagged_sentence = [('hello', 'VB'), ('stack', 'NN'), ('exchange', 'NN')]
我的问题是:如何在NLTK Viterbi解析器中实现等效的tagged_parse
?
注意:为了训练维特比解析器,我遵循Section 3 of these handout solutions。其他有关Python培训资源的参考资料也将受到赞赏。