0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

纠错技术的背景

深度学习自然语言处理 来源:CS的陋室 作者:CS的陋室 2020-10-10 11:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

纠错是搜索引擎中一个非常有特色的模块,对用户输入的内容进行改写从而让用户得到正确的结果,有的时候也会带有一些惊喜度,所以纠错技术是一个搜索体验的加分项,近期突然对这块有兴趣,所以就了解了一下。

纠错技术的背景

人非圣贤,孰能无过,别说是搜索的时候,哪怕是我们打字、写作文的时候,都会出现错字,一般的错别字不会对最终目标带来很大影响,且出现频率很低,不拘小节的我们常常会忽略这样的小问题,但是,在搜索场景下,错别字意味着可能就搜不到内容了,对于用户而言,就是需求无法满足,造成了很差的体验,因此在搜索场景中,就很有必要去纠错。

错误是如何产生的

要去纠错,先要去看看错误是怎么产生的。

首先是误操作类型,这种类型可以从输入法角度去看。

拼音输入法。常会出现同音异形字,例如周节伦等。

笔画输入法或者手写输入法。常会出现形似字,例如博和傅。

然后是用户的主观理解,有的时候用户只是听说过而没见过,或者就是理解问题,导致主动地出入了错误的内容,例如飞扬拔(跋)扈,然后有一些名词,例如小说、音乐、电影等,写错字是非常容易的。

当然,也有用户图方便,或者输入问题,导致直接输入拼音或者拼音前缀,或者就是因为记忆的原因,输错了。

当然这里也要补充一些常见的问题举例:

谐音。深圳-森圳。

别字。师傅-师博。

中英文。Taylor swift-泰勒斯威夫特。

近义词。爱情呼叫转移-恋爱呼叫转移。

形近字。高粱-高梁。

全拼。深圳-shenzhen。

拼音前缀。北京-bj。

内容不完整。唐人街探案-唐人。

总之错误千奇百怪。理解错误产生的机理,我们就可以尝试去处理这些问题。

词典与规则方法

词典是搜索系统中非常常用的方法,词典具有高速、高准的优点,如果词典的覆盖度高,甚至可以达到高召回的效果,因此词典基本是搜索系统中的核心存在,我们不应该小看他,而是尽可能挖掘他的潜能。

词典方法,说白了就是对query找对应词典里有没有,如果有就改写过去,这种方法的优点在于速度快,而难点在于怎么去挖掘这个词典。

至于怎么挖掘这个词典,方法有很多底层数据库抽取,用户日志等,都有很多构建起这样的词典,能够大大降低耗时,复杂度至于query和单词长度有关。那么一般都有什么词典呢,我们来一个一个看看。

拼音和拼音前缀词典。先将query或者单词转为拼音,然后通过通过拼音召回对应的结果,完成纠错。

别字词典,记录一些常见的错别字,例如百度的形近词表就很不错(就在百度百科里面)。

其他改写字典。一般基于具体业务来改写,例如用户输入唐人街探案,其实唐人街探案有3部,我们应该给那个,需要基于热度等方面去改写到具体最合适的一部。

词典只是能够匹配到合适的结果,但是我们需要知道的是,改写的内容不能和原来差距太远,否则会出现很多意料之外的结果,因此改写不能大改,只能改微调,否则出来的结果会让用户感到很懵逼。控制的方法主要是编辑距离。

所谓的编辑距离,就是改写前到改写后,需要经过的操作多少,说人话就是两句话的不同点有几个,精确到字级别。深圳-森圳的编辑距离就是1。通过编辑距离的约束,一般能够让两者的差距不是很大。

我知道很多人热衷于用语义相似度之类的操作,不管别的什么方法,编辑距离一定要约束,用户强调的是直观感受,语义相近与否不是他们第一个关心的,只有当字相近的结果不好的时候考虑语义相近才是用户的实际反映,且错别字带来的语义变化非常大,此处用予以相似度其实不完全合适。

模型类方法

说是词典和规则好处很多,但是在泛化能力上,模型还是很强的。那么在模型视角下,其实会分为下面3个步骤进行分析处理。

错误诊断。即判断有没有错。

修正召回。召回可能的修改项。保证召回率

修正确认。判断最终需要的修改项。保证准确率。

当然,如果模型足够强力,召回和确认两个步骤也可以合并,具体看准招和耗时了。

其实这个思路最广泛的应用就是推荐系统,召回和排序分离,这个我在大概是去年很早的一篇文章里谈到在这个,这是推荐系统里面非常重要的思想,这个思想其实在很多地方可以迁移下面的一条公众号文章。

至于模型层面,有下面的思路。

kenlm统计语言工具。运用统计学方法进行语言建模从而检测和修正错误。

rnn_attention。RNN加上attention还是一个非常有意思的方法。

rnn_crf模型:说起来你们可能不信,这个思路来自阿里2016参赛中文语法纠错比赛的第一名的方法。

seq2seq_attention模型:比RNN强一些,长文本效果不错,但是容易过拟合。

transformer:线性优秀的序列表征模型,大家懂的。

bert:中文微调,最妙的是mask可协助纠正错别字。

conv_seq2seq模型:基于Facebook出品的fairseq,在NLPCC-2018的中文语法纠错比赛中,是唯一使用单模型并取得第三名的成绩。

小结

怎么说呢,目前我还只是在探索,深度不是很够,后面有所补充,再和大家交流,参考文献放这里吧:

中文文本纠错算法--错别字纠正的二三事:https://zhuanlan.zhihu.com/p/40806718

pycorrector:https://github.com/shibing624/pycorrector

中文文本纠错算法走到多远了?:https://blog.csdn.net/sinat_26917383/article/details/86737361

责任编辑:lq
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 搜索引擎
    +关注

    关注

    0

    文章

    120

    浏览量

    13877
  • 模型
    +关注

    关注

    1

    文章

    3818

    浏览量

    52268
  • 语言建模
    +关注

    关注

    0

    文章

    5

    浏览量

    6378

原文标题:搜索系统中的纠错问题

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    一、什么是前向纠错(FEC)? 前向纠错(Forward Error Correction,FEC)是一种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它特别适用于单向
    发表于 04-09 10:10

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    一、什么是前向纠错(FEC)?前向纠错(Forward Error Correction,FEC)是一种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它特别适用于单向
    发表于 03-27 15:51

    字符串,数字控件如何控制背景颜色和前景字体颜色?

    字符串,数字控件如何控制背景颜色和前景字体颜色?
    发表于 01-20 15:12

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    一、什么是前向纠错(FEC)?前向纠错(Forward Error Correction,FEC)是一种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它特别适用于单向
    发表于 01-09 14:12

    Aumovio案例研究 | 软件即产品(SWaap)背景下的模型系统工程与闭环系统验证

    Aumovio案例研究客户背景Aumovio作为一家科技公司,致力于为当前及未来的移动出行挑战提供硬件、软件与服务的最佳融合方案。挑战在软件即产品(SoftwareasaProduct,SWaaP
    的头像 发表于 01-07 10:04 719次阅读
    Aumovio案例研究 | 软件即产品(SWaap)<b class='flag-5'>背景</b>下的模型系统工程与闭环系统验证

    如何在Keil中设置窗口标题颜色和背景颜色呢?

    如何在Keil中设置窗口标题颜色和背景颜色呢
    发表于 12-10 07:56

    IQM与NVIDIA携手开展NVQLink合作,推动可扩展量子纠错技术发展

    全球超导量子计算领域的领军企业IQM Quantum Computers今日宣布,将在其量子计算机中集成NVIDIA的NVQLink技术,以实现量子纠错的规模化。量子纠错是实现量子计算实际
    的头像 发表于 10-31 10:30 516次阅读

    语法纠错和testbench的自动生成

    。 语法纠错 在vscode的拓展中,输入Verilog查找如下插件: 安装完该插件后就支持了语法高亮和自动补全等功能,但是要实现自动纠错还需要安装ctags。这在该扩展的细节中有介绍,各位可以
    发表于 10-27 07:07

    指令集测试的一种纠错方法

    本文描述在进行指令集测试的一种纠错方法 1.打开测试指令集对应的dump文件 dump文件是指由汇编文件进行反汇编之后,可以供人阅读指令的反汇编文件。其包含了每一条指令的具体操作的信息。指令集测试
    发表于 10-24 14:04

    一种抗辐射加固检错纠错电路的设计

    电子发烧友网站提供《一种抗辐射加固检错纠错电路的设计.pdf》资料免费下载
    发表于 08-11 15:38 0次下载

    没有强大纠错的工业硬盘,敢叫工业级SSD固态硬盘吗?

    在工业环境中,数据的精度与稳定性往往意味着设备运转的成败,甚至关乎系统安全和业务连续性。很多用户在选购“工业级SSD固态硬盘”时,只盯着读写速度,却忽略了一个至关重要的核心指标——纠错与坏块管理能力
    的头像 发表于 08-02 10:32 1117次阅读

    安科瑞电碳表:双碳背景下的能碳计量核心工具

    一、发展背景:双碳目标驱动下的计量革新 18721098782     ++++   a安科瑞​ 全球碳中和战略加速推进,中国 “双碳” 政策体系持续完善,《碳排放权交易管理办法》《重点用能单位节能
    的头像 发表于 07-09 15:54 1166次阅读
    安科瑞电碳表:双碳<b class='flag-5'>背景</b>下的能碳计量核心工具

    双电机驱动系统消隙技术分析

    摘要: 双电机驱动系统是电力系统中重要的电机系统,双电机驱动的消隙技术是双电机驱动系统中的关键技术,双电机驱动系统能否实现正常运行关键在于消隙技术本身的水平。在人们对电机系统的要求越来越高的
    发表于 06-19 11:01

    【AIBOX 应用案例】通过 U²-Net 实现背景移除

    设计,高效散热,保障在高温运行状态下的运算性能和稳定性,满足各种工业级的应用需求。应用案例:背景移除BackgroundRemoval(背景移除)技术已成为图像处理
    的头像 发表于 06-11 16:32 769次阅读
    【AIBOX 应用案例】通过 U²-Net 实现<b class='flag-5'>背景</b>移除

    PCB应变测试的背景和目的

    一、背景 目前随处可见的电子产品如电子计算机、PDA、手机、数位照相机、电子仪器、车辆卫星导航器、汽车驱动零件等电路,无一不使用PCB产品。随着电子产品功能多样化、体积小型化及质量轻量化之设计趋势
    的头像 发表于 06-06 16:40 744次阅读
    PCB应变测试的<b class='flag-5'>背景</b>和目的