POS标记的NLTK语料库中的正则表达式

时间:2013-04-12 11:20:44

标签: python regex nlp nltk

我正在NLTK中加载一个带POS标签的语料库,我想找到涉及POS标签的某些模式。这些模式可能非常复杂,包括许多不同的POS标签组合。 示例输入字符串:

  

我们/ PRP花费/ VBD一些/ DT时间/ NN读数/ NN关于/在/ DT中   历史/ JJ重要性/ NN / IN茶/ NN in / IN Korea / NNP和/ CC   China / NNP 和/ CC然后/ RB品尝/ VBD / DT最/ JJS昂贵/ JJ   绿/ JJ茶/ NN I / PRP有/ VBP / RB见/ VBN ./.

在这种情况下,POS模式类似于:(IN) (THE)? (NNP) (CC)? (NNP) ...

我正在加载我的语料库:

 reader = TaggedCorpusReader(corpus_dir, r'.*\.pos')

显然,我可以使用Python的re包执行此操作,但这些正则表达式很快就会变得难以理解,调试和更新其他开发人员。

在NLTK中最优雅的方式是什么?是否有辅助函数来查找POS标记文本中的模式比通常的正则表达式更具可读性?

由于

1 个答案:

答案 0 :(得分:2)

在NLTK中有一个名为str2tuple的函数,它将标记的句子解析为元组列表,然后您可以轻松地将POS标记提取到单独的列表中。不需要正则表达式。

相关问题