首页 > 解决方案 > 从谷歌语音 api 结果中检测流畅度

问题描述

我正在尝试使用 google Speech (to text) API 来确定演讲者的流利程度。

到目前为止,我发现 API (betav1) 可以显示说出一个单词所花费的时间(它的开始时间和结束时间)。

来自维基百科,

口语流利度或口语流利度是对语言产生和接收的衡量标准,因为流利的说话者必须能够在谈话中理解和回应他人。由于“任务压力”,口语的典型特征是看似不流利的品质(例如,碎片化、停顿、错误开始、犹豫、重复)。因此,可以从感知的角度来理解一个人的口语流利程度,以及这些语音质量是否可以被认为是预期的和自然的(即流利的)或不寻常的和有问题的(即不流利的)

我可以看到我们可以从单词的 API 中获取停顿、重复等。但是相对测量可能很困难,因为我找不到任何标准值。

有没有适当的方法来实现这一目标?任何人都可以提供指导来检测谷歌 API 的流畅度(或使用某种开源语音库或外部软件的任何其他有效方法)

如果我的方向完全错误,那完全没问题,只需要一个适当的指南来实现该功能。

标签: speech-recognitionspeechgoogle-speech-api

解决方案


这实际上取决于您拥有的数据。我不熟悉谷歌文本到语音 API。但是,根据数据的结构,有一些替代选项可以实现您想要的。

  1. 如果数据是结构化的(即单词和与这些单词的属性相对应的值的表),您可以运行分类(或回归)算法,例如随机森林或多元逻辑回归来估计流畅度(在连续的量表)或流利程度的类别(例如非常不流利、有些不流利、正常、有点流利、非常流利)。

  2. 如果数据是非结构化的(例如短语的记录) - 那么您可以尝试使用 keras/tensorflow 中的神经网络,旨在将不同的短语分类为流利的或不流利的。


推荐阅读