与NLTK的块解析器匹配单词

时间:2011-11-20 21:40:54

标签: python nltk

NLTK的块解析器的正则表达式可以匹配POS标签,但它们是否也可以匹配特定的单词?
因此,假设我想要使用名词后跟动词“left”(将此模式称为L)来构建任何结构。例如,句子“\ DT dog \ NN left \ VB”应该被分块为
(S(DT)(L(NN狗)(VB左))),但句子“\ DT dog \ NN slept \ VB”根本不会被分块。

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

1 个答案:

答案 0 :(得分:1)

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

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

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