【发布时间】:2014-10-12 18:59:58
【问题描述】:
阅读 nltk 的文档后,我发现可以使用 str2tuple() 提取元组。例如假设我有以下句子(显然是一个更大的文件):
sent = "pero pero CC " \
"tan tan RG " \
"antigua antiguo AQ0FS0 " \
"que que CS " \
"según según SPS00 " \
"mi mi DP1CSS " \
"madre madre NCFS000"
我想提取一个元组列表,例如:
> ([antigua, AQ0FS0],[madre, NCFS000])
女性形容词标签(AQ0FS0)和女性名词标签(NCFS000)。 str2tuple() 是否可以做到这一点,或者更好的方法是使用正则表达式?
这是我尝试过的:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import nltk as nl
sent = "pero pero CC " \
"tan tan RG " \
"antigua antiguo AQ0FS0 " \
"que que CS " \
"según según SPS00 " \
"mi mi DP1CSS " \
"madre madre NCFS000"
nl.tag.str2tuple(t) for t in sent.split()
【问题讨论】:
-
我有一个正则表达式方法,是否值得将问题描述放入实际脚本中?
-
您的文件到底是什么样的?句子边界如何表示?请注意,如果您使用
"""(multiple lines)"""包围整个内容,则可以在单个 python 文字字符串中嵌入多行 -
另外,脚本的最后一行会在正确的上下文中为您提供一个生成器。要查看您的工作代码,请写
result = list( nl.tag.str2tuple(t) for t in sent.split() )