操作步骤
参考快速开始
环境准备
为了更快的体验产品,这里选择了使用ModelScope提供的远程环境,即Notebook进行开发,更加便捷。
- “快速开始”文档中,并未给出进入notebook的链接,需要从个人中心进入,https://modelscope.cn/#/my/mynotebook
模型调试:语音转文本
准备语音文件:
- 只支持wav格式,如果你没有这个格式的文件,请下载格式转换器一类的工具
- 将wav文件上传至notebook
- 输入下列代码
frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksinference_16k_pipline=pipeline( task=Tasks.auto_speech_recognition, model='damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflow1') rec_result=inference_16k_pipline(audio_in='xigua2.wav') print(rec_result)
- 注意文件的路径,使用相对路径。
模型调试:文本情感分析
参考:https://modelscope.cn/#/models/damo/nlp_structbert_sentiment-classification_chinese-base/summary
直接输入代码
frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTaskssemantic_cls=pipeline(Tasks.sentiment_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base') semantic_cls(input=rec_result["text"]) # 注意,这是上一步语音识别的结果
上面的代码直接引用了第一步语音识别的结果,如果你想单独测试,可以直接给文本输入,例如:
semantic_cls(input="我爱中国")
至此,我们已经在代码层面完成了两个模型的调试和串联,并实现了“语音情绪识别”这一功能。下面,我们通过一个web ui将该功能封装起来,形成一个小的app。
引入web ui
安装gradio:pip install gradio
frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksimportgradioasgrasr=pipeline( task=Tasks.auto_speech_recognition, model='damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflow1') classifier=pipeline(Tasks.sentiment_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base') defspeech_to_text(speech): text=asr(speech)["text"] returntextdeftext_to_sentiment(text): returnclassifier(text) demo=gr.Blocks() withdemo: audio_file=gr.Audio(type="filepath") text=gr.Textbox() label=gr.Textbox() b1=gr.Button("Recognize Speech") b2=gr.Button("Classify Sentiment") b1.click(speech_to_text, inputs=audio_file, outputs=text) b2.click(text_to_sentiment, inputs=text, outputs=text) demo.launch(share="true")
至此,我们就搭建了一个支持语音识别+文本情绪识别的小应用。
体验优化建议
- 文档:
- 文档中给出的链接不能点击右键开新的窗口,只能在一个页面上切换。
- 文档本身自带滚动条,与浏览器本身的滚动条重复,屏幕中能看到两套水平和垂直的滚动条,例如:
- 所有的网页都没有标题,窗口开多了之后就分不清楚哪个是干嘛的了。如下图所示
- 文档自身目录缺失,对于“快速开始”这样很长的文章,无法按需跳转到目标章节,只能一点点滚动页面。
- 帮助文档中没有给出进入notebook的方法