我有一个文本文件。我需要得到一个句子清单。
如何实现呢?有很多细微之处,例如缩写中使用了点。
我的旧正则表达式效果很差:
re.compile('(\. |^|!|\?)([A-Z][^;↑\.<>@\^&/\[\]]*(\.|!|\?) )',re.M)
自然语言工具包(nltk.org)满足你的需求。 该群组发布表明这样做:
(nltk.org)
import nltk.data tokenizer = nltk.data.load('tokenizers/punkt/english.pickle') fp = open("test.txt") data = fp.read() print '\n-----\n'.join(tokenizer.tokenize(data))
(我还没有尝试过!)