如何用Python执行语音到文本和主题检测
使用Python和AssemblyAI对音频文件执行文本转录和主题检测
介绍
在我最近的一篇文章中,我讨论了语音识别以及如何在Python中实现它.在今天的文章中,我们将进一步探讨如何对音频和视频文件执行主题检测。
让我们以播客为例,它随着时间的推移变得越来越流行。想象一下每天有多少播客被创建;对于不同平台(如Spotify、YouTube或Apple podcast)上的推荐引擎来说,根据讨论的内容对所有这些播客进行分类不是很有用吗?
使用Python执行语音到文本和主题检测
在这个tu另外,我们将使用AssemblyAI API来标记音频和视频文件中的主题。因此,如果你想跟随你首先需要获得一个AssemblyAI访问令牌(这是绝对免费的),我们将在调用API时使用。
现在我们有了一个访问令牌,让我们从准备将请求发送到AssemblyAI的各个端点时使用的头开始。
接下来,我们需要将我们的音频(或视频)文件上传到AssemblyAI的托管服务中。然后,端点将作为上传文件的URL返回,我们将在后续请求中使用该文件。
现在,下一步是最有趣的部分,我们将在上传的音频文件上执行语音到文本。我们只需要通过帖子
请求是audio_url
我们从之前的步骤中得到的iab_categories
需要设置为的参数真正的
.后者将在文本转录中触发主题检测。的示例响应TRANSCRIPT_ENDPOINT
亦载于下文的主要内容末尾。
现在,为了得到转录结果(以及主题检测结果),我们需要再做一次请求。这是因为转录是异步当一个文件被提交进行转录时,我们需要一些时间才能看到结果(通常需要整个音频文件持续时间的15-30%)。
因此,我们需要做一些得到
请求直到我们获得成功(或失败)响应,如下图所示。
最后,让我们将接收到的结果写入一个文本文件,这样我们就可以更容易地检查输出并解释从转录端点接收到的响应:
口译的响应
下面是一个来自转录端点的响应示例:
外文本
键包含输入音频文件上文本转录的结果。但让我们更关注的是categories_iab_result
包含与主题检测结果相关的信息。
状态
:表示主题检测的状态。通常,这是成功
.如果由于任何原因Topic Detection模型失败了,那么这个值将是不可用
.结果
:此键将包括在输入音频文件上检测到的主题列表,包括影响预测并触发预测模型做出此决定的精确文本。此外,它还包括一些关于相关性和时间戳的元数据。我们将在下面讨论这两个问题。results.text
:此键包括已被特定主题标签分类的部分音频的精确转录文本。results.timestamp
:该键表示起始和结束时间(以毫秒为单位)results.text
在输入音频文件中被说了出来。results.labels
:这是一个包含主题检测模型预测的文本部分的所有标签的列表results.text
.关联键对应于一个可以在两者之间取任何值的分数0
和1.0
并指出每个预测标签的相关程度results.text
.总结
中的主题检测模型对每个唯一的标签进行检测结果
数组,总结
键将包括该标签在输入音频文件的整个长度的相关性。例如,如果科学>环境
标签只在60分钟长的音频文件中被检测一次,摘要键将包含该标签相对较低的相关性分数,因为整个转录并没有发现与该主题标签一致相关。
要查看主题检测模型能够预测的主题标签的完整列表,请确保检查官方文件中的相关章节.
完整代码
本教程中使用的完整代码可以在GitHub Gist中分享:
最终的想法
在今天的文章中,我们探讨了如何使用Python和AssemblyAI API对生成的文本转录执行语音到文本和主题检测。我们没有通过一步一步的指南,并详细解释了如何使用各种API端点来对音频和视频文件执行主题检测。
成为一员阅读Medium上的每一篇文章你的会员费直接支持我和其他你读过的作家。你也可以完全访问Medium上的每一篇报道。