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