前提
经过昨天的数据清洗,得到了标点正确,每一行表示一段的小学生作文数据集。
原因
我们在模型评估和测试中,需要输入不带标点的作文,然后输出模型预测标点后的作文。因此接下来需要对小学生作文数据集进行去标点操作。
注
需要注意,这里不能直接去除所有非中文字符的标点(踩过坑),这样会连同数字等等的标点都去除。
去除中文标点的方法
下面以去除高年级作文的标点为例
准备:
安装python模板:zhon
命令:pip install zhon -i https://pypi.tuna./simple
导入中文标点库
punctuation是一个中文标点包,实际上就是一个中文标点的列表,里面包含了中文常见的标点。
如下:
"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃〈〉《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏﹑﹔·!?。。
from zhon.hanzi import punctuation#声明中文的标点包
打开文件
打开数据的源文件和无标点作文的输出文件。
file=open(r'C:\Users\langgoubao\Desktop\Senior.txt','r',encoding='utf-8')#打开源文件f=open(r'C:\Users\langgoubao\Desktop\Senior_no_punc.txt','w',encoding='utf-8')#打开写入文件
标点处理
遍历数据集的每一行,对于每一行判断标点包中的标点书否出现,如果出现,就调用replace方法将标点替换成空即可。
for line in file.readlines(): for i in punctuation:if i in line:line = line.replace(i, '')
写入
处理好一行,写入一行,最后关闭文件
f.write(line)f.close()file.close()
结果展示
高年级:
低年级: