python for in遍历字符串 并将其return返回_python – NLTK:如何遍历名词短语以返回字符串列表?...

在NLTK中,如何遍历已解析的句子以返回名词短语字符串列表?

我有两个目标:

(1)创建名词短语列表,而不是使用’traverse()’方法打印它们.我目前使用StringIO来记录现有traverse()方法的输出.这不是一个可接受的解决方案.

(2)解析名词短语字符串,以便:'(NP Michael / NNP Jackson / NNP)成为’Michael Jackson’.在NLTK中有解除解析的方法吗?

NLTK文档建议使用traverse()来查看名词短语,但是如何在这个递归方法中捕获’t’,以便生成一个字符串名词短语列表?

from nltk.tag import pos_tag

def traverse(t):

try:

t.label()

except AttributeError:

return

else:

if t.label() == 'NP': print(t) # or do something else

else:

for child in t:

traverse(child)

def nounPhrase(tagged_sent):

# Tag sentence for part of speech

tagged_sent = pos_tag(sentence.split()) # List of tuples with [(Word, PartOfSpeech)]

# Define several tag patterns

grammar = r"""

NP: {

?*} # chunk determiner/posses
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值