腾讯云智聆口语评测请求示例-教育服务解决方案
一次性评测
使用中文单词模式做演示。适合初次接入,使用较短文件来进行评测。
单词模式只支持单词(缩写,组合词)/单字。
请求参数
UserVoiceData 需要使用音频数据的 base64 格式。音频数据转成 base64。格式要求参考音频上传格式。
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZPSUNSRBEAAAAyMDIxLTA3LTAxIDEzOjQzAABJU0ZUDgAAAE*"
SessionId 是音频的唯一标识,为了避免重复,推荐使用 uuid 作为唯一标识。
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
EvalMode 是评测模式,参考 评测模式介绍。
EvalMode = 0
其他参数信息可以参考 官方文档。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1RefText = "我"WorkMode = 1ScoreCoeff = 1.0ServerType = 1
返回结果
所有评测模式都需要关注的字段。
SuggestedScore:作为总分使用PronAccuracy:准确度PronFluency:流利度PronCompletion:完整度Phone:音素DetectedStress:用户是否重音Stress:是否应该重音MatchTag:当前词匹配情况。评分为0情况下观察是否漏读,错读。
流式评测
使用英文句子演示流式评测。由于一次性评测评测不了过长的音频数据,所以需要使用流式评测,将音频数据分片传输。
句子模式可以支持30单词/单字以下的文本。
请求参数
流式评测情况下 SeqId 从1开始依次累加(index+1),IsEnd 在尾包的时为1,其他时候为0。UserVoiceData 需要音频 base64 的数据,会根据 SeqId 顺序拼接成完整的音频。使用流式评测需要将 WorkMode 设置为0。
流式分片评测可以根据我们 SDK 的方法实现,或者百度搜索大文件分片传输,如图所示(将音频分成三个分片):
SeqId = 1IsEnd = 0WorkMode = 0UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZPSU*"
SeqId = 2IsEnd = 0WorkMode = 0UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
SeqId = 3IsEnd = 1WorkMode = 0UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
句子模式支持实时,可以通过设置 SentenceInfoEnabled=1,获取实时中间结果。
SentenceInfoEnabled = 1
其他参数信息可以参考 官方文档 或上方参数描述。
VoiceFileType = 3VoiceEncodeType = 1SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"RefText = "i have a car"EvalMode = 1ScoreCoeff = 1.0ServerType = 0TextMode = 0
返回结果
实时评测需要关注参数。
SentenceInfo:可以返回评测中间结果Status:中间结果为Evaluating,最终结果为Finished
指定单词发音
使用英文句子模式演示指定单词发音。
当需要使用音标评测或文本中出现不常见人名,地名,返回结果 MatchTag:4(不在字典)的时候,需要指定单词发音,否则会按照我们词库生成发音或报错。
请求参数
使用指定发音需要设置 TextMode = 1。使用 Wordlist 的结构来表示音素结构。音素结构 Word 需要填写指定的单词,Pron 需要填写智聆音素(可以参考音素映射表)。没有 Pron 则不指定发音,Pron 为空或非智聆音素会报错。
RefText = "{\"wordlist\": [{\"word\": \"english\"},{\"word\": \"tencent\",\"pron\": [[\"t\",\"ah\",\"n\",\"s\",\"ah\",\"n\",\"t\"]]},{\"word\": \"smart oral evaluation\"}]}"TextMode = 1
音标评测
不指定音标的情况下一般发字母音或报错,所以需要对音标进行评测。
请求参数
文本参考Word 需要填入国际音标,Pron 需要填入智聆音素,例如国际音标 e,对应智聆音素 eh。详情参考音素映射表。
RefText = "{\"wordlist\": [{\"word\": \"e\",\"pron\": [[\"eh\"]]}]}"TextMode = 1
Word 无法直接传入部分音标,所以需要做替换处理。例如 æ,可以使用 ae。文本参考
RefText = "{"wordlist": [{"word": "ae","pron": [["ae"]]}]}"TextMode = 1
多音词评测
当一个单词有是多音词且发音都算正确时,可以使用多音词评测。
请求参数
文本参考
RefText = "{\"wordlist\": [{\"word\": \"bikeOrabout\",\"pron\": [[\"b\",\"ay\",\"k\"],[\"ah\",\"b\",\"ao\",\"t\"]]}]}"TextMode = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0EvalMode = 1ScoreCoeff = 1.0ServerType = 0
指定汉字发音
使用中文段落模式演示指定汉字发音。
请求参数
指定汉字发音和指定单词发音类似,都是属于指定发音。Word 填入需要指定的汉字,Pron 填入拼音。
RefText = "{\"wordlist\": [{\"word\": \"靠山吃山,靠水吃水。仪\"},{\"word\": \"陇\",\"pron\": [[\"long2\"]]},{\"word\": \"是山区,有山林竹木,有山货药材,一定要根据山区特点,多搞副业,广开财路。除了粮食,还要抓好棉花、油料生产。多养猪,多喂鸡鸭牛羊,把改善老百姓的生活作为大事来抓。还要动员老百姓在田边地角、河坡路旁多种树,比如桑树、果树、茶树、白蜡树等。要搞好发展规划,定目标要切合实际,不要搞一刀切、瞎指挥。办事要老老实实,统计的数字要真实,遇事多和群众商量。\"}]}"TextMode = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0EvalMode = 2ScoreCoeff = 1.0ServerType = 1
异步轮询
使用中文自由说模式演示结果查询。
请求参数
自由说模块可以不填写参考文本,根据用户阅读的内容来进行打分。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"RefText = ""WorkMode = 1EvalMode = 3ScoreCoeff = 1.0ServerType = 1IsAsync = 1
在请求结束之后,一般会返回评测结果。如果需要再次对结果查询(10分钟内),可以设置 IsQuery = 1,使用对应 SessionId 查询相应的结果。如果不存在会报错:结果缓存已过期。
IsQuery = 1SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3VoiceEncodeType = 1UserVoiceData ="UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"RefText = ""WorkMode = 1EvalMode = 3ScoreCoeff = 1.0ServerType = 1
音素到字母映射
使用英文单词纠错模式做演示。
请求参数
音素纠错模式可以返回用户发音内容和文本标准内容,标明客户读错的具体内容。RefText 与单词模式一致。
RefText = "hello"EvalMode = 4
音素到字母的映射 RefText 需要使用{::cmd{F_P2L=true}}+单词 开启音素到字母映射。
RefText = "{::cmd{F_P2L=true}}hello"EvalMode = 4
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 1ScoreCoeff = 1.0ServerType = 0
返回结果
音素纠错模式需要关注字段。
Phone:音频对应音素ReferencePhone:文本对应标准音素
映射需要关注参数。
Phone:当前音素ReferenceLetter:当前音素对应字母
中文句子多分支模式
需要使用单选题的场景。
请求参数
RefText 使用 | 来划分不同的句子,| 表示或。
RefText = "苹果|香蕉|菠萝"EvalMode = 6
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 1ScoreCoeff = 1.0ServerType = 1
单词实时模式
使用单词实时模式,可以中间就拿到单词的评测结果。
请求参数
RefText 使用 | 来划分不同的单词,| 表示或。
RefText = "apple | bagworm | first"EvalMode = 7
单词实时模式如果需要普通文本和指定发音混合评测,需要使用 单词+{::pron{智聆音素}} 来进行指定发音。
RefText = "apple | bagworm | first | happy{::pron{hh,ae,p,iy}}"EvalMode = 7TextMode = 0
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 0VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0ScoreCoeff = 1.0ServerType = 0
SeqId = 2IsEnd = 0VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0ScoreCoeff = 1.0ServerType = 0
SeqId = 3IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0ScoreCoeff = 1.0ServerType = 0
拼音模式
请求参数
拼音模式需要使用中文模式,RefText 使用1,2,3,4,表示声调。
RefText = "sh an1"EvalMode = 8ServerType = 1
声调检测
请求参数
RefText需要使用 {::cmd{F_TDET=true}} + 拼音 开启声调检测。
RefText = "{::cmd{F_TDET=true}}sh an1"EvalMode = 8ServerType = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 1ScoreCoeff = 1.0
返回结果
声调评测需要关注参数。
word:原始评测文本ReferenceWord:标准发音phone:真实发音音素ReferencePhone:标准发音音素,可依此判断声调是否正确。
中英文混合评测
中文评测下可以支持一些简单的英文,也可以通过音素结构来指定发音。
RefText = "我有一座house"ServerType = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"WorkMode = 0EvalMode = 1ScoreCoeff = 1.0
业务应用
为了区分不同的业务,需要使用不同的业务应用 ID 来区分。例如同一公司,不同的产品,不同的应用平台,不同地域划分。
需要在 应用管理控制台 新建应用,新建应用内容根据需要填写。
请求参数
在请求参数填入对应 SoeAppId。
SoeAppId = "soe_100xxxxx"
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"RefText = "hello"WorkMode = 1EvalMode = 0ScoreCoeff = 1.0ServerType = 0
苛刻度
设置不同的苛刻度,对应不同年龄段。
影响范围
取三段不同的数据,苛刻度在1.0 – 4.0之间的变化曲线如下所示:
按需设值
具体需要设置值,可以根据反馈情况,收集音频数据进行打分对比,调整为更符合的苛刻度。
ScoreCoeff = 1.0
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1IsEnd = 1VoiceFileType = 3 VoiceEncodeType = 1UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"RefText = "hello"WorkMode = 1EvalMode = 0ServerType = 0
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论