You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让iOS SFSpeechRecognizer支持药品名、化学术语等自定义词汇识别

SFSpeechRecognizer 自定义专有词汇识别方案

该需求可通过iOS系统公开API实现,无需依赖私有接口或越狱权限。

核心实现逻辑

SFSpeechRecognizer 原生提供了专有词汇注入能力,对应SFSpeechRecognitionRequest的contextualStrings属性,专门用于指定识别过程中需要优先匹配的自定义词条,可覆盖系统词典未收录的药品名称、化学专业术语、垂直领域专有名词等内容,识别引擎处理音频流时会提升列表内词汇的匹配权重,大幅降低专有词的识别错误率。

代码示例

import Speech

// 初始化音频流识别请求
let request = SFSpeechAudioBufferRecognitionRequest()
// 传入当前场景需要优先识别的自定义词汇
request.contextualStrings = [
    "阿莫西林克拉维酸钾",
    "聚乙二醇化干扰素α-2b",
    "对乙酰氨基酚缓释片",
    "腺苷三磷酸",
    "甲基丙烯酸甲酯"
]
// 后续按常规流程绑定音频输入、启动识别任务即可

使用注意事项

  • 单次请求传入的contextualStrings列表建议控制在100个词条以内,仅放入当前识别场景高频出现的专有词汇即可,塞入大量无关词汇会干扰识别模型判断,拉低整体识别准确率。
  • 传入的词汇尽量使用完整的专有名词全称,避免传入单字、无意义的词语碎片,完整词条的识别优先级提升效果最明显。
  • 该配置为单次识别请求维度生效,不会修改系统全局词典,也不会影响其他App的语音识别行为,每次发起新的识别任务都需要重新传入对应场景的专有词列表。

权限边界说明

如果需要实现跨App全局生效的自定义词汇识别,SFSpeechRecognizer没有开放对应修改权限,只能引导用户手动在系统「设置-通用-键盘-自定义短语」中添加对应词汇,系统语音识别模块会自动同步读取用户手动添加的自定义短语内容,但该操作必须由用户主动完成,App无权直接修改系统级自定义词典配置。

内容的提问来源于stack exchange,提问作者Bruno Coelho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 11:03:25