【问题标题】:Remove Part of Speech Tags after chunking分块后删除部分语音标签
【发布时间】:2019-03-10 14:03:54
【问题描述】:

如何从分块结果中去除词性标签? 我正在使用 NLTK 来执行此操作。目前我只能使用以下代码迭代块:

for i in sent_list:
tagged = nltk.pos_tag(i)

ChunkGram = r"""Chunk: {<VB.?>+<JJ.?>*<NN.?>}"""

ChunkParser = nltk.RegexpParser(ChunkGram)
chunked = ChunkParser.parse(tagged)
for subtree in chunked.subtrees(filter=lambda t: t.label() == 'Chunk'):
    print(subtree)

可以说我的结果是这样的:

(Chunk routing/VBG rework/NN build/NN)
(Chunk build/VBP instruction/NN schedule/NN lot/NN)
(Chunk based/VBN firm/NN plan/NN)

预期结果:

'routing','rework','build'

'routing rework build'

有可能这样做吗?或者请告诉我我可以做些什么来提取这些短语。

【问题讨论】:

    标签: python-3.x nltk text-processing pos-tagger chunking


    【解决方案1】:

    我发现这段代码帮助我实现了我想要的结果。

    for subtree in chunked.subtrees(filter=lambda t: t.label() == 'Verb'):
                verblist.append(" ".join([a for (a,b) in subtree.leaves()]))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 2019-10-23
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多