【发布时间】:2013-12-24 04:46:33
【问题描述】:
我编写了一个函数,它使用 nltk 标记器来预处理 .txt 文件。基本上,该函数获取一个 .txt 文件,对其进行修改,使每个句子出现在单独的行上,然后在旧文件上覆盖修改后的文件。
我想修改函数(或者可能创建另一个函数)以在标点符号之前插入空格,有时在标点符号之后插入空格,例如括号。换句话说,抛开这个函数已经做了什么,我也希望它改变“我想写出好的、干净的句子”。变成“我想写出好的、干净的句子”。
我是一个初学者,我怀疑我可能只是错过了一些非常简单的东西。非常感谢您的帮助。
我现有的代码如下:
import nltk.data
def readtowrite(filename):
sent_detector = nltk.data.load('tokenizers/punkt/english.pickle')
with open(filename, 'r+') as f:
fout = str(f.read())
stuff = str('\n'.join(sent_detector.tokenize(fout.strip())))
f.seek(0)
f.write(stuff)
【问题讨论】:
标签: string preprocessor nltk punctuation