图片数据集处理

一、全角符号半角符号替换

        通过统计原始数据集里的全角半角符号占比,可以得知半角符号的占比是要显著高于全角的
故使用全角符号转半角符号,能更准确地识别和处理图片信息,提升效率和准确性。

# 全角符号半角符号替换
# 将文本中的中文标点符号替换为对应的英文标点符号

def convert_punctuation(text):
    """
    Convert Chinese punctuation to corresponding English punctuation in the text.
    """
    punctuation_map = {
        '!': '!',  # 中文感叹号换为英文感叹号
        '%': '%',  # 中文顿号换为英文逗号
        '‘': "'",   # 中文左单引号换为英文左单引号
        '’': "'",   # 中文右单引号换为英文右单引号
    }
    for cn_punc, en_punc in punctuation_map.items():
        text = text.replace(cn_punc, en_punc)
    return text

二、修正错误文本和符号       

修正得到真实标点,处理OCR识别中可能出现的错误识别或者不准确标点符号问题。

def convert_OCR(text, find_gap, find_len):
    Tf = 0  # 初始化标志位为0
    for false_punc, true_punc in OCRwikisome.items():
        gap = true_punc[1]  # 获取真实标点的间隔属性
        len = true_punc[2]  # 获取真实标点的长度属性

        # 检查间隔属性是否是整型
        if not isinstance(gap, int):
            # 如果不是整型,则转换成整型
            gap = int(gap)

        # 检查长度属性是否是整型
        if not isinstance(len, int):
            # 如果不是整型,则转换成整型
            len = int(len)

        # 如果文本与假标点、间隔和长度属性匹配
        if text == false_punc and gap == find_gap and len == find_len:
            text = true_punc[0]  # 替换文本为真实标点的第一个元素
            Tf = 1  # 设置标志位为1,表示替换成功

    return text, Tf  # 返回替换后的文本和标志位


# wiki文件的处理
# 处理OCR识别过程中可能出现的错误识别或不准确的标点符号问题

def convert_OCR_submit(text):
    Tf=0
    for false_punc, true_punc in OCRwikisome.items():
        gap = true_punc[1]
        len = true_punc[2]
        # 检查变量是否是整型
        if not isinstance(gap, int):
            # 如果不是整型,则转换成整型
            gap = int(gap)
        if not isinstance(len, int):
            # 如果不是整型,则转换成整型
            len = int(len)
        if text == false_punc and ((gap == -1 and len == 1) or (gap == 0 and len == 2) or (gap == 2 and len == 2) or (gap == 4 and len == 2)\
                                    or (gap == -1 and len == 3) or (gap == 0 and len == 3) or (gap == 1 and len == 3) or (gap == 4 and len == 3)\
                                    or (gap == 5 and len == 3) or (gap == -1 and len == 4) or (gap == 0 and len == 4) or (gap == 1 and len == 4)\
                                    or (gap == 3 and len == 4) or (gap == -6 and len == 4) or (gap == -1 and len == 5) or (gap &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值