自动语音识别系统的心理测量测试
项目描述
HumanlikeHearing
A Python package for applying a range of psychometric tests on automatic speech recognition (ASR) systems. For more information on the psychometric tests and the ASR systems this toolbox supports, see our accompanying paper
The Psychometrics of Automatic Speech Recognition Lotte Weerts, Stuart Rosen, Claudia Clopath, Dan F. M. Goodman bioRxiv 2021.04.19.440438; doi: https://doi.org/10.1101/2021.04.19.440438
安装
安装此工具箱的最简单方法是安装PyPI上的最新稳定版本
pip install humanlikehearing
为确保所有依赖项都正确安装,我们建议在安装numpy和scipy之前使用Anaconda。
要从源代码构建工具箱,请使用
python setup.py build
python setup.py install
如果您的安装顺利,您现在应该能够执行演示脚本run.py
python run.py \
--asr_system_name TestASR
--dataset TestDataSet
--data_path .
--results_folder ../results
--sentences_per_condition 1
重要:安装工具箱不会安装任何自动语音识别系统 - 示例脚本将运行一个始终打印'hello world'的虚拟ASR系统。
准备ASR系统
默认情况下,工具箱中不包含任何语音识别系统(ASR)。但是,工具箱支持三种可免费使用的ASR系统的特定版本。如果您只想快速测试工具箱,我们建议安装Mozilla DeepSpeech v0.6.1,因为它安装最简单。
安装完成后,您可以通过设置相应的 --asr_system_name 和 --model_path 来开始运行实验
python examples/run.py \
--asr_system_name <ASR CLASS NAME>
--model_path <PATH TO ASR MODEL FILE>
--dataset TestDataSet
--data_path .
--results_folder ../results
--sentences_per_condition 1
MozillaDeepSpeech(LSTM模型)
安装说明可在此处找到:https://deepspeech.readthedocs.io/en/v0.6.1/USING.html
此代码假定模型遵循Mozilla DeepSpeech版本6.1,可能不适用于后续版本!在定义model_path
时,请参考解压后的目录(例如/path/to/downloads/deepspeech-0.6.1-models
)。
Vosk的Kaldi nnet3模型(DNN-HMM模型)
安装说明可在此处找到:https://alphacephei.com/vosk/install
论文中使用的Vosk模型是vosk-model-en-us-daanzu-20200905,可以从此处下载:https://alphacephei.com/vosk/models
注意:要运行此模型,您还需要安装Kaldi:http://www.kaldi-asr.org/doc/install.html
在定义model_path
时,请参考解压后的目录(例如/path/to/downloads/vosk-model-en-us-daanzu-20200905
)。
Fairseq的Wav2vec 2.0(CNN-Transformer模型)
安装说明可在此处找到:https://github.com/pytorch/fairseq/tree/828960f5dace4787ad81aeadca60043c907adc67/examples/wav2vec
论文中使用的Wav2Vec模型是训练了960小时的Wav2Vec 2.0 Large模型。
在定义model_path
时,请参考模型的.pt
文件(例如/path/to/downloads/wav2vec_big_960h.pt
)。请注意,假设在同一文件夹中存在一个dict.ltr.txt
文件。此文件可从此处下载:https://dl.fbaipublicfiles.com/fairseq/wav2vec/dict.ltr.txt
准备数据集
工具箱支持使用两个可免费使用的语音数据集,即ARU语音语料库(包含IEEE句子的录音)和LibriSpeech数据集(包含有声书的录音)。我们通常建议使用ARU语音语料库进行测试,因为它与人类测试的数据类型最相似,而且并非所有实验目前都兼容LibriSpeech数据集(但将来会兼容)。
ARU语音语料库
ARU数据集可以从此处下载:http://datacat.liverpool.ac.uk/681/
要在ARU语音语料库上运行实验
python examples/run.py \
--dataset ARUDataSet
--data_path /your/path/to/ARU_Speech_Corpus_v1_0
--results_folder ../results
--sentences_per_condition 100
LibriSpeech语料库
LibriSpeech测试数据可以从此处下载:https://www.openslr.org/12
注意:我们建议只使用LibriSpeech数据集的"test-clean.tar.gz"子集,因为许多可免费使用的ASR系统都是使用LibriSpeech训练的,因此使用训练数据进行测试将高估ASR性能。
要在LibriSpeech语料库上运行实验
python examples/run.py \
--dataset LibriSpeechDataSet
--data_path /your/path/to/test-clean
--results_folder ../results
--sentences_per_condition 100
运行实验
要运行实验,您可以使用run.py加载正确的ASR系统和数据集,并将输出写入结果文件夹。默认情况下,run.py将运行论文中描述的所有实验
python examples/run.py \
--asr_system_name <ASR SYSTEM CLASS>
--model_path <PATH TO ASR MODEL>
--dataset <DATA SET CLASS NAME>
--data_path <PATH TO DATA>
--results_folder <RESULTS FOLDER>
--sentences_per_condition 100
在此处,--asr_system_name、--model_path、--dataset和--data_path可以按上述说明定义。--results_folder指示存储实验结果的pandas表的文件夹。--sentences_per_condition表示每个条件下使用的句子数量。对于大多数实验,特别是SRT实验,您希望这个数字至少为20,但接近100将更好地展示模型性能。
如果您只想运行部分实验或想要更改任何参数,您可以简单地按需编辑run.py。
分析您的实验结果
要查看实验结果,请找到您的实验文件夹,位于结果文件夹中,其结构如下:results/test_report_<ASRNAME>_<TIMESTAMP>/<EXPERIMENT CLASS>_<RESULTS TYPE>_<TIMESTAMP>
。在这里,<RESULTS_TYPE>
通常为'标准',但在某些情况下可能表示子实验(例如,剪辑实验将具有'峰值'和'中心'结果类型)。
要加载数据,您可以使用pandas
import pandas as pd
results = pd.read_pickle('path/to/experiment/results.pk1')
在大多数情况下,分析结果相对简单。然而,对于语音接收阈值(SRT)实验,需要额外的分析步骤来从结果文件中获取SRT。有关如何获取SRT结果的示例,请参阅examples/srt_analysis.ipynb
。
引用
如果您想在学术作品中引用HumanlikeHearing,请引用以下内容
The Psychometrics of Automatic Speech Recognition Lotte Weerts, Stuart Rosen, Claudia Clopath, Dan F. M. Goodman bioRxiv 2021.04.19.440438; doi: https://doi.org/10.1101/2021.04.19.440438
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
humanlikehearing-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e6afc57d2d8958bdab3399f1c495e7e3e2c9c5f145c80f846a18dc367b85576 |
|
MD5 | 29c84e323b88d200662cfc188538df30 |
|
BLAKE2b-256 | 1979c5db4032767979ce568ec45afa74b851a389cf2a7a38b0bc4b9a2c15f00e |
humanlikehearing-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ca2d12cdde3bcf9f4c08211cee84d40ac4ca11f06a722b40ce2bf5a5a39009d0 |
|
MD5 | 67bc214ace8ef098ea71f93b61334f21 |
|
BLAKE2b-256 | de2b1ec8d99aec835e2b111f720cae2f381dfffb7061b49800a2a39b6784e3c9 |