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

标签 python regex nlp nltk

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

We/PRP spent/VBD some/DT time/NN reading/NN about/IN the/DT historical/JJ importance/NN of/IN tea/NN in/IN Korea/NNP and/CC China/NNP and/CC then/RB tasted/VBD the/DT most/JJS expensive/JJ green/JJ tea/NN I/PRP have/VBP ever/RB seen/VBN ./.

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

我正在加载我的语料库:

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

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

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

谢谢

最佳答案

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

关于python - POS 标记的 NLTK 语料库中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15970033/

相关文章:

python - pytest.mark.parametrize 中的 indirect = True/False 是什么意思?

python - 尝试部署到 Heroku 时如何修复 "fatal error: Carbon/Carbon.h: No such file or directory"- (Django)

Python 3 : Loops, 列表理解和映射比 Python 2 慢?

python - 如何估计特定文档的查询的重要性?

Python-Bloomberg Open API : Are there any examples?

javascript - Javascript 正则表达式文字和构造函数之间的差异

c# - 检测正则表达式后的单词

JavaScript RegEx 匹配不属于任何 HTML 标签的标点符号

python - 情感分类中的缺失值

algorithm - 找到基本单词并估计它们的难度