iOS 语音搜索通讯录算法

技术背景

目前的语音识别技术相当强大国内的语音平台,百度科大讯飞也都有自己的开放平台,开发者可以很方便的集成到自己的开发环境。

具体需求

通过语音命令手机打电话给联系人,由于一些原因,比如:语音输入不准,语音识别偏差,读音与联系人类似等等,识别出来的联系人名字需要通过算法分析提取出通讯录中可能的联系人,并返回给用户选择确认。

分析步骤

1.将中文名转换为拼音

        CFStringTransform 转换函数, 可以带音标,可以不带


2.转换容易混淆的字符

       中文读音中的一些容易混淆的读法,比如:"s"-"sh" ,"c"-"ch","z"-"zh","f"-"h","l"-"n","ang"-"an"等等,把它们换成统一的字符

3.全匹配和模糊匹配
        全匹配:遍历通讯录找到与搜索拼音相同的联系人并添加到返回列表
模糊匹配:根据自己的需求来分析判断联系人与搜索的拼音是否为同一个,我的做法是如果两个字符串中有5个连续的字符相同,则将联系人添加到返回列表

4.由于当搜索字符太短时,搜索结果太多,所以我把字符串长度比搜索字符长度多5以上的联系人排除掉

5.当有全匹配的结果是优先返回全匹配的结果

结束


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值