【问题标题】:Regular expressions in POS tagged NLTK corpusPOS标记的NLTK语料库中的正则表达式
【发布时间】:2013-04-04 21:39:36
【问题描述】:

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

我们/PRP花了/VBD一些/DT时间/NN阅读/NN约/IN/DT 历史/JJ 重要性/NN 的/IN 茶/NN 在/IN 韩国/NNP 和/CC 华/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 标记的文本中找到比通常的正则表达式更具可读性的模式?

谢谢

【问题讨论】:

  • 也许你可以提供一个示例字符串?
  • 我添加了一个例子。

标签: python regex nlp nltk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多