提问人:Rob Audenaerde 提问时间:11/1/2023 更新时间:11/2/2023 访问量:43
来自带有单词和时间戳的段的最佳字符串
Optimal string from segments with words and timestamps
问:
我有一个转录音频片段的列表。这些转录具有带有时间戳和置信度的单词。例如:
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 秒重叠,但以后会更少)
有没有一种通用算法可以将这些序列合并为一个大的最优序列*?我所说的最优是指考虑单词级别的置信度。 在这种情况下,单词的转录方式相同,但转录器可能犯了错误,即单词可能被错误转录,因此不需要完全匹配字符串。
[*]我研究了生物信息学最优序列比对算法,但这没有考虑到我已经拥有的时间戳/位置信息,因此似乎一定存在优化的可能性。
答:
2赞
olegarch
11/2/2023
#1
我不知道一个明显的算法来解决这个问题,但我认为,也许以下建议会有用:
- 您将创建一个结构,包含对(字母、置信度)。
vote
- 您将创建此类结构的二维数组,其中:
- X 是一个“时隙”,在您的例子中 - 10ms 时隙位置,如 1.13、1.14 等。
- Y 是一个通道。在您的示例中,您有 2 个重叠的通道。
此后,对于每个块,您计算每个字母的数组位置,并将从块生成的一对应用于 vote[time][chan]。 当应用结束时,您将按时隙扫描数组,并且为每个时隙选择具有最大投票级别的后者。
评论