浅谈基于模糊音的中文匹配算法

没有具体代码展示,只做思路分享,有更好的思路,欢迎交流。查看原文

背景介绍

字符串的相似度算法在许多领域都能经常用到,在数据清理、语音识别、语音纠错、搜索等领域有重要的用处。本文主要介绍基于模糊音的方式匹配中文字符串,文末还会有作者对中文相似度匹配算法的其它想法。

问题描述

在语音识别领域,由于我国方言众多,所以需要精准地匹配每个地方的方言目前还不太现实。市面上的语音识别服务基本上对普通话的识别率是最高的,但是也需要用户用很标准的普通话来讲。这就涉及到模糊音匹配的问题了。

提出问题

用户说:“大娘水饺好吃吗”,被语音识别成了“大亮睡觉好吃嘛”(举个栗子而已),这个时候怎么将语音识别后的结果转换成我想要的结果。

解决思路

中文汉字大致有几个特征:1)声母;2)韵母;3)声调;4)偏旁;5)结构;6)笔画
这几个特征中,在语音识别后的处理过程中,1、2、3的权重要高一些,其中,1、2最为重要,也就是语音识别为什么出错的原因,要做的事情就是通过模糊音将声母、韵母来进行匹配。

先将23个声母编号:

声母 编号 声母 编号 声母 编号 声母 编号
b 1 p 2 m 3 f 4
d 5 t 6 n 7 l 7
g 8 k 9 h 4 j B
q C x D zh E ch F
sh G r H z E c F
s G y I w J

韵母编号:

韵母 编号 韵母 编号 韵母 编号 韵母 编号
a 1 o 2 e 3 i 4
u 5 v 6 ai 7 ei 7
ui 8 ao 9 ou A iu B
ie C ue D er E an F
en G in H un I ven J
ang F eng G ing H ong K
ian L uan M iang N uang O
iong P iao Q

我把常用模糊音的声母和韵母各自都标成相同的,比如n、l都是7,这样便于后面处理。

将语音识别结果按照 “声母-韵母-声母-韵母” 这样的格式转换成编号就变成了“517NG8BQA9F431”,关键字中“大娘水饺”拼音编码后是“517NG8BQ”,这个时候可以看出有两个字符串已经相同了。

所以目前可以想到的基于模糊音的中文匹配算法大概就是:先将原语句通过声母表和韵母表编码,再将自建的关键词库(事先也通过这种方法编码)与其对比,如果有相同的字符串,则很大概率可以直接替换掉原文,当然也有少数情况两个关键词拼音都一样。

思维发散

目前这种方式是基于绝对匹配来做的,也就是关键词库和原语句必须完全相同才能相互替换,但是需要用到模糊匹配上面似乎这种方式已经不行了。

不过,在这种方式的基础上,再利用到Edit Distance的算法似乎也可以实现模糊匹配,找出距离最相近的关键词,这种方式我没有试过,算法可参见Edit Distance

我真正想说的是下面的东西。

在输入法上面会有简拼的用法,相信大家很习惯了‘wzry’就会匹配到‘王者荣耀’这样的输入方式。这个用法会给我一个启发,在模糊匹配的时候,有时候不需要用到韵母,有时候也不需要用到声母,特别是在长语句当中,简拼这种方式尤其受人喜欢。我们可以将上面例子中的原语句只将声母编码出来“57GBAF3”,“大娘水饺”关键词的声母是“57GB”,这个时候如果嫌精度不够高的话,可以把韵母加在后面,原语句为“57GBAF31N8Q941”,关键词为“57GB1N8Q”,这样精度就高了点,而且可以当作hash来使用,查找的时候复杂度为O(1),这个时候再用上前面的Edit Distance的算法的话,基本上基于模糊音的中文匹配精度就很高了。

如果不只是对语音识别后的语句做调整的话,还可以在前面编码的过程中加入字形的特征,偏旁结构笔画等做到根据字形也能智能纠错。

甚至如果在有大量统计数据的情况下,将每个声母或者韵母的编号用出现的概率来表示的话,还可以定量地计算出两个字符串之间的相似度,但是遗憾没有这么大量的数据。

中文字符串相似度算法还有很多可以拓展的,还需读者自行探索下去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文将向大家介绍岁寒输入法Android版的使用方法。如果对教程有任何不明白的地方或者有任何想法建议,请在下面的评...
    临岁之寒阅读 50,575评论 4 9
  • 车机从WinCE逐步进化到Android,从不能通讯到带4G通讯,随之带来了一系列的新技术的应用。今天就来介绍当前...
    天楚锐齿阅读 4,468评论 0 7
  • 理查德•怀斯曼《那些怪诞又实用的日常心理学》。教你发现潜藏在工作和生活中的机遇,获得人人羡慕的好运气。开启大脑的准...
    玲锋阅读 1,344评论 4 2
  • 被生活折磨着,才会清醒。往往痛苦了,才思考平常不会在意的方面。大部分不好也不坏的时候,都是被时间推着往前的意义不大...
    蓝天之南阅读 107评论 0 0
  • 半晚听歌,灵魂最安静,我很喜欢黄伟文大师给eason写的《葡萄成熟时》。大概绝多数的爱情都是前人种树,后人乘凉。...
    何马笔记阅读 439评论 0 1