【问题标题】:Matching words with NLTK's chunk parser使用 NLTK 的块解析器匹配单词
【发布时间】:2012-01-02 13:09:05
【问题描述】:

NLTK 的 chunk parser 的正则表达式可以匹配 POS 标签,但是它们也能匹配特定的单词吗?
所以,假设我想用一个名词后跟动词“left”(称之为模式 L)来分块任何结构。例如,句子“the\DT dog\NN left\VB”应该被分块为
(S (DT the) (L (NN dog) (VB left))),但句子“the\DT dog\NN slept\VB”根本不会被分块。

我找不到任何关于分块正则表达式语法的文档,而且我看到的所有示例都只匹配 POS 标签。

【问题讨论】:

    标签: python nltk


    【解决方案1】:

    我遇到了类似的问题,在意识到正则表达式模式只会检查标签后,我更改了我感兴趣的部分的标签。

    例如,我尝试匹配产品名称和版本,并使用像 \NNP+\CD 这样的块规则在“Internet Explorer 8.0”上工作,但在将 SP2 标记为 NNP 的“Internet Explorer 8.0 SP2”上却失败了。

    也许我本可以训练一个 POS 标注器,但决定只将标签更改为 SP,然后像 \NNP+\CD\SP* 这样的块规则将匹配任一示例。

    【讨论】:

    • 你能提供一个例子吗:chunkGram = r"""Chunk: {**+?}"" "
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    相关资源
    最近更新 更多