Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 语音识别-如何将句子分割成单词?_Python_Tensorflow_Pytorch_Tensorflow2.0 - Fatal编程技术网

Python 语音识别-如何将句子分割成单词?

Python 语音识别-如何将句子分割成单词?,python,tensorflow,pytorch,tensorflow2.0,Python,Tensorflow,Pytorch,Tensorflow2.0,我是语音识别的新手,我正在寻找一种方法,以音频/wav文件的形式将一个句子(或多个句子)拆分为单个单词?这听起来像是一个标准问题,所以我想知道业内人士是如何解决的 ps:是的,这个问题是三年前提出的,但我正在使用更新的库(即pytorch和tensorflow 2.0)寻找最新的答案。谢谢 这并不是那么简单 您需要的是所谓的对齐。即,每个音频帧与一个单词(或子单词、字符或更好的单个音素)对齐 最合理的方法需要一个标准的常规语音识别系统。最简单的方法是使用HMM系统,或者由老式的GMM支持,或者由

我是语音识别的新手,我正在寻找一种方法,以音频/wav文件的形式将一个句子(或多个句子)拆分为单个单词?这听起来像是一个标准问题,所以我想知道业内人士是如何解决的


ps:是的,这个问题是三年前提出的,但我正在使用更新的库(即pytorch和tensorflow 2.0)寻找最新的答案。谢谢

这并不是那么简单

您需要的是所谓的对齐。即,每个音频帧与一个单词(或子单词、字符或更好的单个音素)对齐

最合理的方法需要一个标准的常规语音识别系统。最简单的方法是使用HMM系统,或者由老式的GMM支持,或者由NNs支持(称为混合HMM-NN模型)。这还需要一个词典(音素到单词的映射)。通常,您会使用所有这些的现有实现,例如,或者,因为实现起来并不那么简单。我还没有看到一个纯粹的TF实现。然后,该软件计算通过HMM的最佳可能对齐路径(即,根据训练模型,其概率最高)。如果你知道地面真相的话,这是维特比算法,用来计算这个最佳路径。否则,您将执行一些解码(使用波束搜索)

您也可以做些什么,但这会更粗糙,也不太好(对于获得对齐的任务):使用一些端到端模型,例如关注编码器-解码器,或CTC。对于有注意的编码器-解码器,您可以使用注意权重来很好地猜测单词在哪里(然后您可以猜测边界在哪里)。反恐委员会也是如此。但这并不准确。但这是可以在纯TF中轻松实现的


在任何情况下,实现本身都不是那么难的部分(尽管仍然不简单)。你首先需要了解所有的理论。也许StackOverflow不是问这个问题的好地方。阅读Kaldi或RASR文档,或者观看一些关于语音识别的讲座,或者阅读一本关于该主题的书。

这并不是那么简单

您需要的是所谓的对齐。即,每个音频帧与一个单词(或子单词、字符或更好的单个音素)对齐

最合理的方法需要一个标准的常规语音识别系统。最简单的方法是使用HMM系统,或者由老式的GMM支持,或者由NNs支持(称为混合HMM-NN模型)。这还需要一个词典(音素到单词的映射)。通常,您会使用所有这些的现有实现,例如,或者,因为实现起来并不那么简单。我还没有看到一个纯粹的TF实现。然后,该软件计算通过HMM的最佳可能对齐路径(即,根据训练模型,其概率最高)。如果你知道地面真相的话,这是维特比算法,用来计算这个最佳路径。否则,您将执行一些解码(使用波束搜索)

您也可以做些什么,但这会更粗糙,也不太好(对于获得对齐的任务):使用一些端到端模型,例如关注编码器-解码器,或CTC。对于有注意的编码器-解码器,您可以使用注意权重来很好地猜测单词在哪里(然后您可以猜测边界在哪里)。反恐委员会也是如此。但这并不准确。但这是可以在纯TF中轻松实现的


在任何情况下,实现本身都不是那么难的部分(尽管仍然不简单)。你首先需要了解所有的理论。也许StackOverflow不是问这个问题的好地方。阅读Kaldi或RASR文档,或者观看一些关于语音识别的讲座,或者阅读一本关于该主题的书。

这不应该被认为是Stackoverflow的主题之外的吗?这似乎只是要求提供工具/方法的建议,这在中明确说明为离题。也许这在其他SE平台上也更相关,比如,或者?这不应该被认为是Stackoverflow的主题之外吗?这似乎只是要求提供工具/方法的建议,这在中明确说明为离题。也许这在其他SE平台上也更相关,比如,或者?