塞巴斯蒂安·卡斯特罗
本视频演示如何调用Python®来自MATLAB的代码®使用情绪分析示例。该示例包括通过麦克风收听音频、从语音中检测文本,以及使用预训练的机器学习模型预测检测到的文本的情绪(积极、消极或中性)。在本例中,首先使用MATLAB记录来自麦克风的音频数据。然后使用用户定义的Python模块检测音频信号中的文本。然后将该文本返回到MATLAB以继续执行情绪分析。
在本视频中,您将学习如何从MATLAB调用Python代码。
为此,我们将使用情绪分析示例。假设一个人说那是他们参加过的最好的音乐会。情绪分析算法将查看此文本并输出它认为是该人的意图或情绪的内容。在这种情况下,它应该预测这是一个积极的陈述。另一方面,如果那个人说他们把冰激凌掉在地板上,他们很伤心,那个么算法应该能预测出负面情绪。
情绪分析程序可能是这样的。我们像麦克风一样收听音频源,从音频信号中检测文本,然后使用我们的情感分析模型对文本进行分类。假设我正在用MATLAB进行所有的开发,但我的同事已经有了Python代码来执行语音到文本的转换。我不想重写代码或寻找新的解决方案,而是希望仍然使用Python代码进行语音到文本转换,并在MATLAB中完成其余工作。
让我们先看看我们的Python代码。我有一个Python模块,它使用SpeechRecognition包,特别是卡内基梅隆大学的PocketSphinx软件,从语音中识别文本。在这个包中,我的同事提供了一个“audioToText”函数。它接受音频信号及其采样频率和通道宽度,并返回检测到的文本和指示检测是否成功的布尔标志。
转到MATLAB,这里是我们的现场脚本,展示了整个情绪分析过程。
首先,我将使用“pyversion”函数来查看MATLAB正在使用哪个版本的Python解释器。对我来说,它使用的是Python 3.7。请参阅文档以了解MATLAB版本支持哪些版本,以及如何设置其他选项。在这一步中,我还将我同事的Python模块添加到Python路径中。金宝app
接下来,我将使用MATLAB中内置的“audiorecorder”函数来收听麦克风并显示生成的音频信号。让我们听5秒钟,给程序一个句子进行测试。例如,“我去了我最喜欢的餐馆,吃了一顿美味的饭”。
现在我们有了音频数据,是时候调用Python代码了。通过这行代码,我指示MATLAB调用“mySpeechRecognizer”Python包中的“audioToText”函数。然后,我可以从返回的Python输出列表中提取输出数据。
我们在MATLAB中有已识别的文本。最后,我将调用一个MATLAB函数来执行情绪分析。正如你所见,预测的情绪是积极的,这似乎是正确的。如果您想知道这个函数中包含什么,我使用的是一个内置的情绪分析算法,名为“文本分析工具箱”(Text Analytics Toolbox)中的维德(VADER)。
我们的示例到此结束。总结一下,让我们谈谈为什么要从MATLAB调用Python。如果您已经在MATLAB中工作,并且希望使用Python解决部分问题,那么我们展示的工作流是合适的。这可能是您希望重用现有的Python代码,或者您需要访问我提供的功能它仅在Python中可用。
要了解更多信息,请查看下面的参考资料。另外,请务必观看关于如何从Python调用MATLAB的其他视频。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。