语音识别中如何处理同音词?

2024-05-01

对于那些不熟悉什么是同音字 https://en.wikipedia.org/wiki/Homophone是的,我提供以下示例:

  • 我们的&是
  • 嗨和高
  • 到&太&二

在使用时语音API https://developer.apple.com/documentation/speech在 iOS 中,我遇到了这样的情况:用户可能会说出这些单词之一,但它并不总是返回我想要的单词。

我调查了[alternativeSubstrings] (link https://developer.apple.com/documentation/speech/sftranscriptionsegment/1649528-alternativesubstrings)属性想知道这是否有帮助,但在我对上述单词的测试中,它总是返回空。

我也调查了自然语言API https://developer.apple.com/documentation/naturallanguage,但找不到任何看起来有用的东西。

据我所知,当用户添加更多单词时,语音 API 可以开始推断上下文并对其进行纠正,但我的用例不能很好地处理此问题,因为它通常最多只需要一两个单词,从而限制了语境。

上下文处理的一个例子:

单独使用上面的话,我得到以下结果:

  • are
  • hi
  • to

但是,如果我把下面这句话放在一起,你就会发现它们都是错误的:

我对我们的梯子来说太高了

理想情况下,我要么得到一个列表,其中包含[are, our], [to, too, two], [hi, high]对于每个转录片段,或者有一种方法将字符串与支持同音字的函数进行比较。

一个例子是:

if myDetectedWord == "to" then { ... }

Where myDetectedWord can be [to, too, two],并且此函数将为其中每一个返回 true。


这是一个常见的 NLP 困境,我不太确定您在此应用程序中期望的输出是什么。但是,如果可能的话,您可能希望在设计/架构过程中绕过此问题。否则,这个问题就会变成一个挑战。


话虽这么说,如果你想真正投入其中,我喜欢你的这个想法:

针对函数的字符串

这可能会更高效且性能友好。

一种方法是,我希望通过正则表达式处理来解决这个问题,而不是使用无限循环和数组。您可以首先创建循环和数组原型并查看其工作原理,然后您可能需要使用正则表达式来获得性能。

例如,您可以在正则表达式中定义固定数组,并快速检查您的字符串(逐字,可能使用反向引用),并且您可以在您的字符串中添加许多边界表达式 https://regex101.com/r/4S2d4u/1/用于字符串处理,如您所愿。

您还可以根据字符串特定部分中某些单词出现的概率来设计固定数组。例如,

^I 

vs

^eye
  • 的概率I作为第一个词比eye.
  • 的概率I字符串的任何部分都高于eye, also.

您可能想基于此对单词进行加权。

我想说,如果您希望拥有一个良好/有效的应用程序,那么关键是您要尽可能集中地缩小所需输出的范围并提高准确性,[如果可能的话,甚至可能使用 100 个单词]。

不过,这是一个很好的项目,我希望你喜欢/享受这个挑战。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

语音识别中如何处理同音词? 的相关文章

  • 文件夹“Images.xcassets”不存在

    当我在最新的 xcode 版本中打开项目文件时 我在两个弹出窗口中收到错误 文件夹 Images xcassets 不存在 我必须多次单击 确定 才能使弹出窗口消失 我没有采取任何措施来删除此类文件夹 有谁知道我为什么会得到它们 Updat
  • 自定义 UITableViewCell 和 setSelected:animated 上的动画:

    我有一个UITableViewCell在drawRect 方法中进行绘制的子类 整个矩形是自定义绘制的 包括背景 我能够获得非常复杂的单元格 同时保持滚动非常平滑 我的问题 我打电话 table deselectRowAtIndexPath
  • 在 swift 中发送自定义 HTTP 标头

    我设法从服务器获取 json 但现在我想通过 http 标头添加额外的安全性 这就是我的代码现在的样子 let urlPath http www xxxxxxxx com let url NSURL string urlPath let s
  • Unicode、正则表达式和 PyPy

    我写了一个程序来添加 有限 统一码支持 https stackoverflow com q 1832893 520779到 Python 正则表达式 虽然它在 CPython 2 5 2 上工作正常 但在 PyPy 上不起作用 1 5 0
  • 如何在Python中按字母顺序对字符串中的字母进行排序

    有没有一种简单的方法可以在Python中按字母顺序对字符串中的字母进行排序 So for a ZENOVW 我想返回 ENOVWZ 你可以做 gt gt gt a ZENOVW gt gt gt join sorted a ENOVWZ
  • iOS 应用程序启动速度非常慢并且在 ImageLoaderMachO::loadCodeSignature 中停止

    我正在为 iOS 8 3 开发一个基于 Swift 的应用程序 我观察到该应用程序启动非常非常慢 并且似乎在应用程序加载过程中停滞不前 应用程序速度变慢before我的任何代码都会被执行 事实上 只有一个线程处于活动状态 仅使用了 60k
  • 在 Swift 中将半精度浮点数(字节)转换为浮点数

    我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数 我查看了来自其他语言 例如 Java 和 C 的几种转换 但是我无法获得与半浮点相对应的正确值 如果有人可以帮助我实施 我将不胜感激 从 Float 到 Half
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • 从字符串中提取电子邮件地址

    我有一个像这样的字符串 Francesco Renga lt email protected cdn cgi l email protection gt 我只需要提取电子邮件 即 电子邮件受保护 cdn cgi l email protec
  • 如何更改ios中FBSDKLoginButton中的默认登录按钮?

    如何自定义 Facebook 中的登录按钮 我不想使用 Facebook 默认登录按钮 对于 SDK 4 0 您应该添加一个按钮 并在按钮操作中使用以下代码 IBAction loginButtonClicked id sender FBS
  • CloudKit 和 Core 在设备之间同步数据

    我创建了一个简单的Notes应用程序基于Core data 现在我想在用户设备之间添加同步 以及我读过的所有文章 this https www raywenderlich com 134694 cloudkit tutorial getti
  • iOS设备和iPhone模拟器内存​​组织的差异

    我正在尝试使用 Xcode 4 3 3 和 iPhone 5 1 模拟器开发一个应用程序 当我在模拟器上运行这个应用程序时 我没有收到任何警告 并且它运行得很好 但是 当我尝试在 iOS 设备上执行此操作时 我收到一条警告消息 收到内存警告
  • 有没有办法在iOS模拟器上使用苹果的Touch ID(指纹扫描仪)?

    我正在开发一个需要 Touch ID 身份验证的应用程序 那么有什么方法可以在模拟器中使用 Touch ID 指纹扫描仪 另外 请分享一些使用 LocalAuthentication 框架的示例代码 XCODE 7 beta支持在iPhon
  • 未安装 Apple 的全球开发者关系 (WWDR) 中间证书

    我今天无法通过 Appcelerator Titanium 发布我的应用程序 AdHoc 我开始收到此错误 错误 未安装 Apple 的全球开发者关系 WWDR 中间证书 错误 这将阻止您为 iOS 设备构建应用程序或用于分发的软件包 我上
  • 在 iOS 上,边距、边缘插入、内容插入、对齐矩形、布局边距、锚点...之间有什么区别?

    iOS 社区中似乎有几种不同的选项 术语 人们在布局方面使用 例如 UIEdgeInsets 是一种类型 但有时我听到 读到 设置插图 或布局边距与布局指南 我总是能够找到有效的选择 但我永远不确定我是否使用了正确的工具来完成这项工作 有人
  • 如何让 Chrome Cast 在 iOS 后台运行?

    我有一个简单的问题 当您进入 iPhone 的主屏幕并且不退出应用程序时 chrome Cast 设备会停止在屏幕上播放视频 当应用程序在后台运行时 我如何才能保持播放状态 如果您有一个视频应用程序并且它在投射设备中运行 您可能需要以下行为
  • 如何从 Pandas DataFrame 转换为 Tensorflow BatchDataset 以进行 NLP?

    老实说 我想弄清楚如何转换数据集 格式 pandasDataFrame或 numpy 数组 转换为简单文本分类张量流模型可以训练用于情感分析的形式 我使用的数据集类似于 IMDB 包含文本和标签 正面或负面 我看过的每个教程要么以不同的方式
  • 使用自动布局时 UIScrollview 的中心内容

    我在项目中使用自动布局 并且有一个滚动视图 其中有一个居中的按钮 我已经让滚动视图滚动 但不占据整个屏幕 我尝试按照此处的教程进行操作 https developer apple com library ios technotes tn21
  • iOS-将图像转为视频时,CVPixelBufferCreate内存无法正确释放

    我正在将图像制作成视频 但总是因为内存警告而崩溃 分配太多CVPixelBufferCreate 我不知道如何正确处理 我看过很多类似的主题 但没有一个能解决我的问题 这是我的代码 void writeImagesArray NSArray
  • 将 .p12 证书存储在钥匙串中以供稍后使用

    我正在尝试按照 Apple 文档处理此处的客户端 p12 证书 https developer apple com library ios documentation Security Conceptual CertKeyTrustProg

随机推荐

  • SSE (EventSource) 在 1 小时 22 分钟后超时。有什么办法可以让它持续下去吗?

    我的页面中有一个区域 当数据库发生更改时 消息将发送到该区域 现在 有时数据库会发生很大的变化 以至于每 10 分钟就会显示一条新消息 其他日子它只会改变几次 我遇到的问题是 EventSource 似乎在 1 小时 22 分钟后超时 浏览
  • 分享图片在 Viber 和 Facebook 中不起作用

    我使用下面的代码来共享图像 但不幸的是它仅适用于Line 不是为了Facebook and Viber Code Intent share new Intent android content Intent ACTION SEND shar
  • 从类详细信息 Visual Studio 导出

    我发现在 Visual Studio 中我们可以通过创建类图 添加类和打开类详细信息轻松地将摘要添加到代码中 现在我想知道是否可以将其导出到 Excel 文件中 检查 MD对此答案的评论https stackoverflow com a 3
  • 带汇总总计和小计

    我有一个脚本可以生成几乎已经存在的结果集 我正在尝试获取小计和总计 我在年份栏中得到了小计 在最后得到了总计 我的目标是让最终结果显示 总计 而不是小计 请注意 由于汇总函数 我的最后一行 位置 也返回为空 SELECT YEAR COUN
  • 从特定的 setup.py 进行 pip 安装

    我在 RedHat 的 Openshift 云服务上创建了一个 python 3 3 应用程序 默认情况下 它有我的项目的 setup py 我正在学习名为 使用 Flask 构建 SaaS 应用程序 的 Udemy 课程 源代码 http
  • 如何将数据动态分配给jqGrid?

    这是我创建 jqGrid 的代码 ptDataGrid jqGrid datatype local data arrSpecData colModel colmod rowNum 10 rowList 10 pager ptPager gr
  • 如何在 XAML 中定义变量?

    我在 XAML 中有以下两个按钮
  • svn 1.7 错误 E200009 无法添加所有目标,因为某些目标已经版本化

    我对存储库进行了彻底的检查 然后每天我都有一个 hudson 工作来运行脚本来备份配置 脚本的一部分是添加 xml svn add xml svn warning W150002 data hudson config xml is alre
  • difflib python 格式化

    我使用此代码来查找两个 csv 列表之间的差异并提出一些格式问题 这可能是一个简单的解决方法 但我是新手 正在尝试学习 但遇到了很多问题 import difflib diff difflib ndiff open test1 csv rb
  • 检测碰撞方向

    一块方形瓷砖与另一块方形瓷砖碰撞 调酒师说 I have 两个图块的高度 宽度 x 和 y 引起碰撞的运动的 2D 矢量 我需要知道碰撞发生在哪一侧 例如顶部 底部 左侧 右侧 以便适当地重置位置 我会给任何能回答这个问题的人一个心理饼干
  • 用于阻止大于 20MB 的提交的预提交挂钩

    是否可以为 SVN 1 8 编写 prcommit 挂钩以避免提交大于 20MB 的文件 任何建议 将不胜感激 谢谢 我尝试过 但这不适用于二进制文件或其他文件扩展名 filesize SVNLOOK cat t TXN REPOS f w
  • Pyspark 将多个列合并为一个 json 列

    我不久前问过 python 的问题 但现在我需要在 PySpark 中做同样的事情 我有一个像这样的数据框 df cust id address store id email sales channel category 1234567 1
  • iReport 中的新页面

    这是我的情况 我有一份详细区域包含 10 个 或更多 项目的报告 我有一个大文本字段 我想跨越多个页面 此文本与项目无关 我无法创建另一个页面 因为我的所有项目都非常适合第一页 如何在页脚上创建 强制 仅包含一些可变 静态 文本的新页面 换
  • 使用 Keras、Tensorflow 进行多时间序列维度的 RNN 时间序列预测

    我正在尝试在某些时间序列集上运行 RNN LSTM 网络 值得一提的是 时间序列正在分类 我有大约 600 个不同的时间序列 每个序列都有 930 个带有特征的时间步长 我已将数据结构化为 numpy 3D 数组 其结构如下 X 666 o
  • 这是使用 husky + lint-staged 的​​正确方法吗?

    我发现很多博客 包括 lint staged 文档 介绍了这样一种使用 husky lint staged 的 方法 如 package json 中定义的以下代码 scripts precommit lint staged lint st
  • 获取 ASP.NET 网站的 IIS 站点名称

    在我的 ASP NET Web 应用程序中 我想查找在 IIS 中创建它时指定的名称 该名称对于服务器来说是唯一的 我对网站的域名不感兴趣 而是对 IIS 中为该网站指定的实际名称感兴趣 我需要能够在 IIS6 和 7 上可靠地完成此操作
  • 如何将操作和处理程序添加到“处理货件”屏幕?

    如何将操作和处理程序添加到 处理货件 屏幕 我们想要向屏幕 SO503000 上的 操作 组合框添加一个操作 然后在代码中添加一个处理程序来处理新操作 我们希望在不必覆盖 SOShipmentEntry 图中 Action 的巨大 swit
  • Functools.update_wrapper() 无法正常工作

    I use Functools update wrapper 在我的装饰器中 但看起来像update wrapper仅重写函数属性 例如 doc name 但不影响help 功能 我知道这些答案 https stackoverflow co
  • Jasmine 2.0 rc* 等待未定义

    刚刚升级到茉莉花2 0 rc5 from 1 3现在我所有的测试都使用了waits 被打破了 因为waits and waitsFor 函数未定义 我似乎在网上找不到任何参考 有人知道替换 wait 的新 API 是什么吗 好吧 异步调用的
  • 语音识别中如何处理同音词?

    对于那些不熟悉什么是同音字 https en wikipedia org wiki Homophone是的 我提供以下示例 我们的 是 嗨和高 到 太 二 在使用时语音API https developer apple com docume