【发布时间】:2015-03-27 14:56:35
【问题描述】:
我想从文本中标记句子,如图所示,包括在 (i.E.) 括号中的句子。它分割图像中以绿色显示的句子。
我已经尝试过 nltk 标记化函数和正则表达式。你能给我建议吗?谢谢。
import nltk
tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
infile = open("textfile.txt", "r")
for line in infile:
line = line.strip()
print tokenizer.tokenize(line)
infile.close()
#partial RE code
sentences = re.split(r'(?<=!w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)\s', text)
这里是示例文本:
是的,它是真实的,并且有无数证据表明世界正在我们耳边大声疾呼人类正在造成的气候变化。气候变化和混乱步伐加快的证据是显而易见的。首先,全球的温度计都有一个平均温度读数,自 1880 年测量以来,该读数上升到前所未有的水平。自 1958 年以来测量的二氧化碳水平也一直在上升。从含有其他时代空气的冰中得出的结论是,二氧化碳含量是 60 万年来最高的。从化石记录中,科学家们得出结论,人类可能在全球所有大型脊椎动物(即猛犸象、野牛等)的灭绝中发挥了重要作用。不相信二氧化碳变暖效应的人,必须停止相信事物并开始寻找,金星是一个与地球非常相似的行星,二氧化碳浓度非常高,因此它的温度超过 400 摄氏度。
所有这些都不是乱七八糟的东西,它们都是简单的事实和数据,如果我们不改变我们的行为,所有这些都指向灾难。请人们醒来!
【问题讨论】:
-
它不会解决你的问题,但不要一次一行地输入句子标记器;它需要更多的上下文来正确识别句子边界。将整个文件或至少整个段落提供给它。
标签: string python-2.7 nltk tokenize