首页 > 解决方案 > 如何为以下标记的 pos 应用分块?(nltk)

问题描述

from nltk import word_tokenize, pos_tag, pos_tag_sents
tagged_pos = pos_tag_sents(map(word_tokenize, data))
tagged_pos

以下是 pos 标签:[('dpdb', 'NN'),('engine', 'NN'),('bottom', 'NN'),('power', 'NN'),('gain ', 'NN'),('curve', 'NN'), ('every', 'DT')],[('dpdb', 'NN'),('engine', 'NN'),( 'center', 'NN'),('power', 'NN'),('gain', 'NN'), ('curve', 'NN'),('every', 'DT')]]

我试过:

grammar = "NP: {<DT>?<JJ>*<NN>}"
chunk_parse = nltk.RegexpParser(grammar)

chunked=[]
for s in tagged_pos:
    chunked.append(chunk_parse.parse(s))

得到以下输出: 警告:解析空文本 警告:解析空文本 警告:解析空文本 警告:解析空文本 警告:解析空文本 警告:解析空文本 警告:解析空文本

标签: pythonnlpnltk

解决方案


推荐阅读