背景资料:
- 动态时间规整 (DTW):
在时间序列分析中,动态时间扭曲 (DTW) 是用于测量两个时间序列之间相似性的算法之一,其速度可能会有所不同。(来源:维基百科)
- 音素分割:
音素分割是将单词分解成单个声音的能力。例如,一个孩子可能会将“沙子”这个词分解成它的组成声音——/sss/、/aaa/、/nnn/ 和 /d/。(来源)
问题:
(a) 我们如何使用 DTW 进行音素分割?
(b) 我们需要哪种类型的数据来实现这个想法?(通过询问数据的类型,我们的意思是训练数据集中的每个样本应该有哪些特征可用)。
我的尝试:
假设我们在每个音素段中有一些音频文件是完全计算的并且可用。例如,我们知道从到,说话人只是说/a/,其他部分也有这种标签。如果我们有一个系统尚未看到的新样本,一种简单的方法是计算新样本与每个训练样本之间的差异。这种方法类似于 KNN(K 最近邻)算法。我们可以投票看看哪个音素赢得比赛。
另一种情况是数据未标记时。在这种情况下,我认为我们可以进行某种聚类(例如,K-means)来提取一些聚类均值,并使用它们。我们可以只计算新样本与聚类均值之间的距离(这将比我们之前在另一种情况下的计算要快得多)。
问题是这些方法对我来说似乎过于简单和低效。有没有更好(或更智能)的方法来解决使用 DTW 分割音素的问题?样本是否应该具有任何其他类型的特征?(其他,我的意思是除了指定每个音素的时间段之外)。