You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Google Speech-to-Text API(beta v1)评估说话者口语流利度

刚好我之前做过类似的口语流利度评估项目,结合你提到的Google Speech-to-Text API(beta v1)的单词时间戳数据和流利度定义,给你梳理一套可行的方案:

根据维基百科定义,口语流利度是对语言产出与接收能力的综合衡量,流利的说话者需能在对话中理解并回应他人

一、从API时间戳提取核心流利度指标

Google Speech-to-Text的beta版本返回的每个单词start_time和end_time是核心数据,咱们可以用它计算几个关键的流利度维度:

  • 语速(WPM):统计有效单词总数除以实际说话时长(总时长取最后一个单词的end_time减去第一个单词的start_time,要排除超过2秒的无说话时段)。正常流利的口语语速大概在120-160词/分钟左右,不同语言可以调整阈值。
  • 单词间停顿分析:计算相邻单词的时间差(后一个单词的start_time减去前一个的end_time)。流利的口语中,大部分停顿会小于0.5秒;如果频繁出现1秒以上的长停顿,往往说明说话者在组织语言上有障碍,流利度不足。
  • 语句碎片化判断:如果出现大量0.1-0.3秒的极短停顿,同时伴随零散的单个功能词(比如介词、冠词、语气词单独出现),这就是典型的语句碎片化特征,也是不流利的表现。

二、识别并量化口语中的不流利特征

口语里常见的“看似不流利”的特征,也可以结合API数据和简单规则来量化:

  • 重复内容标记:检查识别出的单词序列,统计连续重复的单词/短语次数(比如“我我我觉得”“这个这个问题”),重复占比越高,流利度评分越低。
  • 填充词统计:提前构建目标语言的填充词列表(比如中文的“嗯”“那个”“呃”,英文的“um”“uh”),统计这些词的出现频率——填充词越多,通常说明说话者越依赖冗余词汇填补停顿,流利度越差。
  • 语句中断识别:如果出现超过2秒的长停顿后,说话内容切换到完全不相关的主题,或者出现语法断裂的片段(比如突然从“我今天去了”跳到“天气很好”),结合停顿时长和关键词连续性来标记中断次数,中断越多流利度越低。

三、构建综合流利度评分模型

把上面的指标整合起来,做一个加权的评分体系,比如:

流利度总分 = 语速基础分(40%) + 停顿表现分(30%) + 不流利特征扣分(20%) + 语义连贯性加分(10%)

举个具体的计算逻辑:

  1. 语速基础分:如果语速在120-160 WPM之间,拿满40分;每低于下限10 WPM扣5分,每高于上限10 WPM扣3分(太快也可能是表达不清晰)。
  2. 停顿表现分:统计长停顿(>1秒)的次数和总时长,无长停顿拿满30分;每出现一次长停顿扣2分,总停顿时长每超10秒扣5分。
  3. 不流利特征扣分:重复、填充词、中断的总占比每超5%,扣4分(最多扣20分)。
  4. 语义连贯性加分:如果说话内容围绕一个主题(通过关键词重复度判断),加10分;如果主题切换自然且有逻辑,加5分;逻辑混乱则不加分。

四、避坑小贴士

  • 别把自然停顿当成不流利:比如说话者在解释复杂概念时的停顿是正常的,可以结合上下文语义(比如识别到“因为”“所以”这类逻辑词后的停顿)来区分。
  • 适配不同语言的阈值:比如中文的正常语速大概在100-140 WPM,和英文有差异,要根据目标语言调整参数。
  • 修正API识别误差:如果API把连续的单词拆分开,或者识别错误,会影响时间戳的准确性,可以先做简单的文本纠错(比如合并连续的重复识别词)再计算指标。

内容的提问来源于stack exchange,提问作者Sadi Mahmud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:22:52