python - 使用 NLTK 的 block 解析器匹配单词

标签 python nltk

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

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

最佳答案

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

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

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

关于python - 使用 NLTK 的 block 解析器匹配单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8204968/

相关文章:

python - 无限循环

python - 在 python pandas 中的数据帧上执行 groupby 时如何保留具有空(nan)单元格的行

python - 在 python 的 sklearn 中绘制 DBSCAN 中的特定点

python - 将连字符与换行符相结合

python - 使用Python从nltk树结构中提取特定的叶子值

python - 使用 NLTK 和 Python 检查两个单词之间的相似性

python - 从集合转换时列表为空

php - 创建一个 PHP 页面以接受 python HTTP POST

python - NLTK精度: "ValueError: too many values to unpack"

macos - 导入NLTK : no module NLTK corpus