231112-中文错别字识别与纠正问题的大模型与小模型调研

在这里插入图片描述

A. 引言

当前,以ChatGPT为代表的大语言模型(Large Language Models, LLMs)正引领着新一轮工业革命。ChatGPT最开始的研究领域隶属于NLP的一个子问题,其输入是text,输出也是text。在从文本输入到文本输出的诸多应用场景中,中文错别字及语法纠正,有着诸多潜在的应用场景及实用价值。然而,大模型在这一领域尚存在研究不足。

带错别字或语法错误的输入文本
AI模型/LLM模型/ChatGPT模型等
错别字纠正或语法纠正后的输出文本

B. 实验方法

  • 数据构造:从网络找一篇合同文件,并通过人工的方式故意将正确中文改成错误中文。

在这里插入图片描述

B.1 测试过程

文件上传
提示输入
回答分析
  • 提示语句
    1. 你是一个中文合同审核专员。
    2. 请逐行阅读文章中的每一话。
    3. 如果这句话中有错别字,请通过括号的形式指出来。
    4. 这是一个参考的原文例子:本合同文本供用人单位与建立劳动关系的劳动者签定劳动合同时使用。
    5. 你要输出的结果格式是:本合同文本供用人单位与建立劳动关系的劳动者签定(签订)劳动合同时使用。

B.2 平台对比:

C. 结果分析

C.1 实验结果

OpenAI:ChatGPT >>> 失败

在这里插入图片描述

AskYourPDF>>> 失败

在这里插入图片描述

科大讯飞:讯飞星火>>> 失败

在这里插入图片描述

百度:文心一言>>> 失败

在这里插入图片描述

原文:甲乙双方依法参加社会保险,甲方为乙方办理有关社会保险手续,并承担相应社会保险义务,乙方应当缴纳的社会保险费由甲方从乙方的工资中代扣代缴。

修改:甲乙双方依法参加社会保险,甲方为乙方办理有关社会保险手续,并承担相应社会保险义务,乙方应当缴纳的社会保险费由甲方从乙方的工资中代扣代缴。”

智谱AI:智谱清言>>> 失败,无法访问

在这里插入图片描述

C.2 实验分析

本质

  • 大语言模型本质上仍然是一个深度学习模型。

数据

  • 深度学习模型在既定的任务Task上需要大量数据input输入数据Xoutput输出数据Y,从而构成输入 X → Y X \rightarrow Y XY的映射关系,进而服务于单任务学习或多任务的学习。

猜测

  • 上述大模型,在文件错别字识别与语法纠正任务上,可能缺少相应的中文数据集的训练,故而并不适用于错别字及语法的纠正任务。

局限

  • 本文及实验部分仅为初步实验结果,在提示词及API调用阶段可能会进一步提升不同平台的模型分析性能。

D. 未来展望

对于中文错别字识别及语法纠正分析的任务,实际上已有一些商业软件或开源项目。这些软件或项目本身并不依赖大模型,就可以在一定程度上取得不错的效果。如果将大模型与这些小模型结合,可能会给用户更好的体验效果。

D.1 现有模型

商用软件

开源项目

这些工具和项目各有特点,适用于不同的应用场景。商用软件通常提供更全面的服务和支持,而开源项目则提供了更大的灵活性和定制化的可能性。在选择时,商用软件如百度的文本纠错工具适用于更广泛的商业应用场景,而开源项目则为研究人员和开发者提供了更多的定制化和研究机会。

D.2 后续调研

  • 针对上述商业软件及开源项目,将做进一步的实验分析,整理、汇总并更新。

D.3 未来模型

基本范式

  • 未来Agent-Based LLMs将通过大模型,对用户的需求进行任务拆解,随后交付给不同的Agents(小模型、系统、或API)进行执行,随后Agents会将执行的结果返回给中央大模型,并按照用户需求的格式,进行回复呈现。

结合方向

  • 在未来,大模型+小模型的基本范式,将同样适用于中文错别字识别及语法纠正的任务之中。
### 错别字识别模型种类及应用 #### 基于规则的方法 早期的错别字检测依赖于基于规则的语言模型。这种方法通过定义一系列语法规则和语言特征来辅助识别纠正错误。尽管这类方法对于结构化的语言处理非常有效,但在面对自然语言的变化性和复杂性时显得不够灵活[^2]。 #### 统计模型 统计模型利用大规模文本数据集进行训练,能够捕捉到词语之间的概率分布特性。这些模型通常会计算给定上下文中某个单词出现的概率,并据此判断是否存在拼写或语法上的错误。然而,传统统计模型往往需要大量的标注数据来进行有效的参数估计,在资源有限的情况下效果不佳。 #### 深度学习模型 近年来,随着深度学习技术的发展,出现了许多高效的错别字识别方案: - **字符级循环神经网络 (RNN)**:可以直接作用于原始输入序列而不需要额外的手工设计特征工程;通过对相邻字符间的关系建模提高准确性。 - **双向长短时记忆网络(BiLSTM)+条件随机场(CRF)**:BiLSTM可以从前后两个方向获取更丰富的上下文信息,CRF层有助于解决标签偏移问题并增强整体性能。 - **Transformer架构下的预训练语言模型**:如BERT及其变体,由于其强大的自监督学习机制,能够在未见过的数据上表现出良好的泛化能力和涌现现象,即产生一些意想不到的新功能[^1][^3]。例如,经过适当调整后的BERT可用于执行多种NLP子任务,包括但不限于错别字校正。 ```python from transformers import BertTokenizer, BertForMaskedLM import torch tokenizer = BertTokenizer.from_pretrained('bert-base-chinese') model = BertForMaskedLM.from_pretrained('bert-base-chinese') def correct_spelling(text): inputs = tokenizer.encode_plus( text, return_tensors="pt", max_length=512, truncation=True ) mask_token_index = torch.where(inputs.input_ids == tokenizer.mask_token_id)[1] with torch.no_grad(): outputs = model(**inputs) top_k_predictions = torch.topk(outputs.logits[mask_token_index], k=5).indices.squeeze().tolist() corrected_word = None for pred_idx in top_k_predictions: predicted_token = tokenizer.decode([pred_idx]) if predicted_token != '[UNK]' and not any(char.isdigit() or char.isalpha() for char in predicted_token.strip()): corrected_word = predicted_token break return f"{text[:mask_token_index]}{corrected_word}{text[mask_token_index+1:]}" if corrected_word else "无法找到合适的替换" print(correct_spelling("我喜欢吃苹[MASK].")) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuokLiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值