错别字识别数据构建

本文介绍了如何通过Python脚本自动生成用于错别字识别的数据集,通过处理文本、转换拼音并随机替换,模拟实际场景中的误输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做错别字识别的项目,数据集需要自己构造,于是写了一个小脚本。

import random
from pypinyin import lazy_pinyin
from Pinyin2Hanzi import DefaultDagParams
from Pinyin2Hanzi import dag
text_list = ['每到重要历史关头,我们党都会总结党的历史,从中吸取历史智慧,掌握历史主动', '四个历史时期各自承担前后相继的历史任务:救国、立国、富国、强国']
for text in text_list:
    text_list = []
    # 去掉文本中的特殊符号,因为特殊符号没有拼音
    for num, char in enumerate(text):
        if (char >= u'\u4e00') and (char <= u'\u9fa5'):
            text_list.append(num)
    # 将每个字的序号保存进行随机抽取
    random_char = random.choice(text_list)
    # 汉字转拼音
    char_py = lazy_pinyin(text[random_char])
    # 将拼音转换为字
    dagParams = DefaultDagParams()
    result = dag(dagParams, char_py, path_num=4, log=True)
    result_list = []
    for item in result:
        if item.path[0] != text[random_char]:
            result_list.append(item.path[0])
    results = ''.join(result_list)
    # 将五个相同拼音的随机取一个
    error_char = random.choice(results)
    print('{0}------->{1}'.format(text[random_char],error_char))
    cal_text = text
    print(cal_text)
    cal_text_list = list(cal_text)
    cal_text_list[random_char] = error_char
    cal_text_results = ''.join(cal_text_list)
    print(cal_text_results)

输出:
关------->官
每到重要历史关头,我们党都会总结党的历史,从中吸取历史智慧,掌握历史主动
每到重要历史官头,我们党都会总结党的历史,从中吸取历史智慧,掌握历史主动
自------->资
四个历史时期各自承担前后相继的历史任务:救国、立国、富国、强国
四个历史时期各资承担前后相继的历史任务:救国、立国、富国、强国

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值