来自带有单词和时间戳的段的最佳字符串

Optimal string from segments with words and timestamps

提问人:Rob Audenaerde 提问时间:11/1/2023 更新时间:11/2/2023 访问量:43

问:

我有一个转录音频片段的列表。这些转录具有带有时间戳和置信度的单词。例如:

 Goedemiddag, 1.13 1.54 0.94892578125
 welkom       1.68 1.98 0.9658203125
 bij          1.98 2.16 0.99853515625
 de           2.16 2.3  0.98291015625
 middag       2.3 2.84  0.858154296875
 show         2.84 3.58 0.81549072265625
 Ik           3.92 4.06 0.99365234375

接下来:

 Welkom       1.52 1.96 0.856689453125
 bij          1.96 2.12 0.99853515625
 de           2.12 2.3  0.9833984375
 middag       2.3 2.84  0.843994140625
 show         2.84 3.56 0.812255859375
 Ik           3.94 4.06 0.99267578125
 ben          4.06 4.24 0.9990234375

等。

有一些重叠(目前每 5 秒转录有 4 秒重叠,但以后会更少)

有没有一种通用算法可以将这些序列合并为一个大的最优序列*?我所说的最优是指考虑单词级别的置信度。 在这种情况下,单词的转录方式相同,但转录器可能犯了错误,即单词可能被错误转录,因此不需要完全匹配字符串。

[*]我研究了生物信息学最优序列比对算法,但这没有考虑到我已经拥有的时间戳/位置信息,因此似乎一定存在优化的可能性。

字符串 算法 优化 对齐转录

评论

1赞 Cary Swoveland 11/2/2023
我不明白你说的“最佳”是什么意思。当然,读者需要对该术语进行精确定义才能为您提供帮助。也就是说,他们需要一些所有优化问题所共有的东西:一个将数据映射到要最小化或最大化的数字的函数。您能否为您的示例提供最佳解决方案,并解释为什么它优于其他解决方案?

答:

2赞 olegarch 11/2/2023 #1

我不知道一个明显的算法来解决这个问题,但我认为,也许以下建议会有用:

  1. 您将创建一个结构,包含对(字母、置信度)。vote
  2. 您将创建此类结构的二维数组,其中:
  • X 是一个“时隙”,在您的例子中 - 10ms 时隙位置,如 1.13、1.14 等。
  • Y 是一个通道。在您的示例中,您有 2 个重叠的通道。

此后,对于每个块,您计算每个字母的数组位置,并将从块生成的一对应用于 vote[time][chan]。 当应用结束时,您将按时隙扫描数组,并且为每个时隙选择具有最大投票级别的后者。