我想找一种方法,能够对一段英文文本中的动词短语进行统计,分别计算过去、现在和将来时的数量。目前我在使用NLTK这个工具,先进行词性标注(POS tagging),然后通过统计'VBD'来获取过去时的动词。不过这样的方法准确性不够,所以我觉得需要更进一步,使用分块技术(chunking),然后分析动词短语块(VP-chunks)来识别特定的时态模式。有没有现成的工具可以做到这一点?有没有什么推荐的阅读资料?NLTK书籍主要集中在名词短语块(NP-chunks)上,我在动词短语块(VP-chunks)方面找到的信息很少。
你可以使用伯克利解析器或者斯坦福解析器来实现这个功能。不过我不确定这两个解析器是否有Python的接口可以使用。
具体的答案取决于你打算使用哪种分块工具,但列表推导式会对你帮助很大。这个方法可以让你计算动词短语的数量,虽然这里用的是一个不存在的分块工具。
len([phrase for phrase in nltk.Chunker(sentence) if phrase[1] == 'VP'])
你也可以采取更细致的方法来检测时态的数量。