语音OTP认证系统与母语识别技术研究
1. 语音OTP认证系统概述
语音OTP认证系统(VOA)结合了说话人识别(SI)和一次性密码识别(OTP Identification)两个关键模块,旨在通过语音实现安全的身份验证。
1.1 OTP识别
OTP识别通过自动语音识别(ASR)模型对OTP语音进行解码。这里使用基于W2V的Conformer模型,该模型由Vakyansh团队训练并开源。模型训练分两个阶段:
1.
预训练
:使用来自39种印度语言约35000小时的无标签语音数据。
2.
微调
:使用700小时的印度英语标签语音数据对预训练网络进行微调。微调后的模型可在vakyansh - models获取。
解码过程中,解码器通常输出数字的拼写形式,因此设计了一个包装算法将其转换为数字输出。以下是该算法的代码:
# Algorithm 1: Digit Recognition Wrapper
def digit_recognition_wrapper(transcription):
T = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
D = {}
for i in range(len(T)):
S = T[i]
for L in range(2, len(S) + 1):
for start in range(len(S) - L + 1):
sub = S[start:start + L]
D[sub] = i
pred = ""
for w in transcription.split():
if w in D:
d = D[w]
pred += str(d)
return pred
1.2 决策逻辑
决策模块结合SI和OTP识别模块的输出做出最终决策。只有当说话人识别和OTP识别结果都为正,系统才接受认证尝试;否则,拒绝该尝试。
2. 实验结果与分析
为了评估VOA系统的性能,进行了一系列实验,包括不同特征向量、OTP长度、训练样本数量等对系统性能的影响。
2.1 SI与X向量说话人表示
使用内部DigitUtter - IITDH数据集进行实验,比较了基于X向量和传统VQ、GMM框架的说话人识别性能。结果如下表所示:
| Vectors | Model | Accuracy |
| ---- | ---- | ---- |
| MFCC | VQ | 80% |
| MFCC | GMM | 88% |
| x - vector | SVM | 100% |
| x - vector | LR | 98% |
从表中可以看出,基于X向量的框架在说话人识别任务中表现明显优于传统框架。
2.2 不同OTP长度下的SI性能
实验观察了训练和测试时OTP长度变化对SI性能的影响。使用前三个会话生成的OTP语音提取X向量,并训练LR和SVM分类器。结果如下:
逻辑回归(Logistic Regression)
| Train \ Test | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 1 | 66.26 | 53.06 | 42.26 | 23.33 |
| 2 | 55.28 | 87.29 | 87.29 | 81.30 |
| 3 | 39.72 | 78.05 | 93.57 | 92.96 |
| 4 | 29.54 | 66.13 | 86.58 | 96.75 |
支持向量机(SVM)
| Train \ Test | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 1 | 29.34 | 27.67 | 31.39 | 22.74 |
| 2 | 56.29 | 86.09 | 83.07 | 67.15 |
| 3 | 41.92 | 79.70 | 93.99 | 93.94 |
| 4 | 27.94 | 65.33 | 85.71 | 96.40 |
可以看出,无论使用哪种分类器,随着OTP长度的增加,性能都有所提高,并且建议在训练和测试时使用相同的OTP长度。
2.3 不同训练OTP语音数量下的SI性能
实验确定了每个说话人进行SI任务所需的OTP语音数量。对于N = 4的情况,随机选择3000、6000个OTP语音与使用所有可能的30000个OTP语音进行比较,结果如下表:
| # Utterances per Speaker in Train Data | LR Accuracy |
| ---- | ---- |
| 3000 | 95.90% |
| 6000 | 96.75% |
| 30000 | 96.75% |
结果表明,随机选择6000个OTP语音的性能与使用所有可能的OTP语音的最大可实现性能相似。
2.4 基于模型和无模型方法的SI性能
使用内部和Kaggle数据集,比较了基于模型的LR、SVM分类器和无模型的CD方法的SI性能。结果如下表:
| Model Name | N | In - house Data Accuracy | Kaggle Data Accuracy |
| ---- | ---- | ---- | ---- |
| SVM | 1 | 2.00% | 90.17% |
| SVM | 2 | 80.64% | 99.55% |
| SVM | 3 | 94.01% | 99.98% |
| SVM | 4 | 95.91% | 99.996% |
| LR | 1 | 66.27% | 92.17% |
| LR | 2 | 87.29% | 99.68% |
| LR | 3 | 94.23% | 99.97% |
| LR | 4 | 96.75% | 99.99% |
| CD | 1 | 53.87% | 91.83% |
| CD | 2 | 64.68% | 99.06% |
| CD | 3 | 67.15% | 99.72% |
| CD | 4 | 74.45% | 99.91% |
可以看出,LR在N = 4时在两个数据集上都表现较好,并且说话人口音差异对性能有影响。
2.5 OTP识别性能
使用内部数据评估OTP识别任务的性能,结果如下表:
| Number of Digits | Number of samples | Accuracy |
| ---- | ---- | ---- |
| 1 | 500 | 50.70% |
| 2 | 5000 | 74.58% |
| 3 | 5000 | 78.89% |
| 4 | 5000 | 81.16% |
随着OTP长度的增加,OTP识别系统的性能也有所提高。
2.6 VOA系统性能评估
联合评估SI和OTP识别的性能,计算两者概率的交集作为组合准确率。结果如下表:
| Model | Number of digits in test Data | SI Accuracy | OI Accuracy | Combined Accuracy |
| ---- | ---- | ---- | ---- | ---- |
| LR | 1 | 66.26% | 50.70% | 32.87% |
| LR | 2 | 87.29% | 74.58% | 66.14% |
| LR | 3 | 93.58% | 80.18% | 75.89% |
| LR | 4 | 96.75% | 83.25% | 78.92% |
| CD | 1 | 53.09% | 50.70% | 33.27% |
| CD | 2 | 64.69% | 74.58% | 61.10% |
| CD | 3 | 67.15% | 80.18% | 65.99% |
| CD | 4 | 74.45% | 83.25% | 73.98% |
可以看出,组合准确率较低是因为认证需要SI和OTP识别任务同时正确。
2.7 内存消耗分析
对VOA系统各步骤的运行时内存消耗进行了详细分析,主要内存消耗模块包括模块导入、ECAPA TDNN模型加载、嵌入提取和vakyansh模型加载等,具体如下表:
| Step | CM | MI |
| ---- | ---- | ---- |
| Importing modules | 520 – 525 MiB | 520 – 525 MiB |
| Loading ECAPA TDNN model | 1930 – 1940 MiB | 1407 – 1417 MiB |
| Extracting embeddings | 3626 – 3628 MiB | 1695 – 1698 MiB |
| Loading trained model and predicting | 3626 – 3628 MiB | 0.2 – 0.4 MiB |
| Loading vakyansh | 4338 – 4340 MiB | 711 – 713 MiB |
| Transcription | 4340 – 4342 MiB | 2.6 – 2.9 MiB |
2.8 不同平台可行性探索
选择了三种不同性能的设备(服务器、桌面、边缘设备)评估VOA系统的计算性能和内存使用情况,结果如下表:
| # Digits | LR - Accuracy(%) | LR - Time(s) | CD - Accuracy(%) | CD - Time(s) |
| ---- | ---- | ---- | ---- | ---- |
| | SC | LC | OD | SC | LC | OD | SC | LC | OD | SC | LC | OD |
| 1 | 32.9 | 32.9 | 32.9 | 0.0519 | 0.5468 | 1.7357 | 33.3 | 33.3 | 33.3 | 0.0398 | 0.5284 | 1.5575 |
| 2 | 71.6 | 71.8 | 71.8 | 0.0555 | 0.7229 | 2.262 | 61.2 | 61.2 | 61.2 | 0.0424 | 0.9451 | 2.2203 |
| 3 | 85.4 | 85.4 | 85.4 | 0.0609 | 1.1859 | 2.759 | 63.4 | 63.4 | 63.4 | 0.4512 | 1.2341 | 2.9556 |
| 4 | 79 | 79 | 79 | 0.0593 | 1.3685 | 3.1377 | 70.6 | 70.6 | 70.6 | 0.0486 | 1.4675 | 3.0473 |
虽然边缘设备处理速度比服务器慢约50倍,但考虑到设备尺寸、功耗和成本,边缘设备更适合实际部署。
3. 母语识别技术
3.1 母语识别概述
母语识别(L1识别)通过分析个人第二语言(L2)语音的音频记录来识别其母语。目前,大多数L1识别研究集中在使用卷积神经网络(CNNs)对音频频谱图进行预测。
3.2 基于改进Vision Transformer的L1识别
采用改进的Vision Transformer模型分析音频频谱图进行L1识别。在NISP数据集上进行实验,该数据集包含345名说话者的5种地区语言(印地语、泰米尔语、泰卢固语、卡纳达语、马拉雅拉姆语)的英语语音录音。该模型在测试数据集上实现了97.87%的总体准确率。
4. 总结与展望
4.1 语音OTP认证系统总结
语音OTP认证系统中的说话人识别组件性能可接受,而OTP识别组件性能稍逊。未来可通过使用内部训练数据进一步微调模型来提高性能。此外,除了推理时间有延迟外,VOA系统在不同设备上的性能稳定。未来的目标是优化系统,使其适用于资源受限的环境,并集成到移动银行等实时应用中。
4.2 母语识别技术展望
基于改进Vision Transformer的母语识别方法取得了较好的效果,未来可进一步探索该模型在更多数据集和场景下的应用,以提高母语识别的准确性和泛化能力。
语音OTP认证系统与母语识别技术研究
5. 语音OTP认证系统优化建议
5.1 模型微调
-
OTP识别模型
:为了提升OTP识别组件的性能,可以使用训练OTP语音对W2V Conformer架构进行微调。具体操作步骤如下:
- 收集大量的训练OTP语音数据,确保数据的多样性和代表性。
- 使用收集到的数据对W2V Conformer模型进行重新训练,调整模型的参数,使其更适应OTP识别任务。
- 在微调过程中,可以采用逐步调整学习率等优化策略,以提高模型的收敛速度和性能。
-
说话人识别模型
:使用内部训练数据对基于X向量的说话人识别模型进行进一步微调,以减少口音差异对性能的影响。操作步骤如下:
- 提取内部训练数据的X向量特征。
- 使用这些特征对基于X向量的SVM或LR模型进行微调,更新模型的参数。
- 在微调过程中,可以使用交叉验证等方法选择最优的模型参数。
5.2 资源优化
- 内存优化 :分析内存消耗大的模块,如模块导入、模型加载等,尝试采用轻量级的模型或优化代码结构,减少内存占用。例如,可以使用更高效的模型压缩算法对ECAPA TDNN模型进行压缩,降低模型的内存需求。
-
计算时间优化
:对于边缘设备,可以采用模型剪枝、量化等技术优化模型,减少计算量,提高处理速度。具体步骤如下:
- 使用模型剪枝算法,去除模型中对性能影响较小的参数,减少模型的复杂度。
- 对模型进行量化,将模型的参数从浮点数转换为整数,降低计算量和内存占用。
- 在优化过程中,需要对优化后的模型进行性能评估,确保其在不显著降低准确率的前提下提高处理速度。
5.3 数据利用
- 增加训练数据多样性 :收集更多不同口音、不同环境下的语音数据,增加训练数据的多样性,提高模型的泛化能力。可以通过网络爬虫、语音采集设备等方式收集数据。
- 合理选择训练样本 :根据实验结果,在保证性能的前提下,合理选择训练样本数量,减少训练时间和资源消耗。例如,对于说话人识别任务,可以选择6000个OTP语音作为训练样本。
6. 语音OTP认证系统流程优化
6.1 整体流程
graph LR
A[语音输入] --> B[说话人识别(SI)]
A --> C[OTP识别(OI)]
B --> D[决策模块]
C --> D
D --> E{认证结果}
E -- 通过 --> F[接受认证]
E -- 拒绝 --> G[拒绝认证]
6.2 详细步骤
- 语音输入 :用户通过语音设备输入包含OTP的语音信息。
-
说话人识别(SI)
:
- 提取语音信号的特征,如MFCC或X向量。
- 使用训练好的分类器(如SVM、LR)对说话人进行识别。
-
OTP识别(OI)
:
- 使用基于W2V的Conformer模型对OTP语音进行解码。
- 通过包装算法将解码后的结果转换为数字输出。
-
决策模块
:
- 验证说话人识别和OTP识别的结果。
- 只有当两个结果都为正时,系统接受认证尝试;否则,拒绝该尝试。
- 输出结果 :向用户反馈认证结果。
7. 母语识别技术的拓展应用
7.1 教育领域
- 语言学习评估 :通过母语识别技术,教师可以了解学生的母语背景,从而更好地调整教学方法和内容,提高语言学习效果。例如,对于母语为汉语的学生,在学习英语时可能会受到汉语发音和语法的影响,教师可以针对性地进行纠正和指导。
- 个性化教学 :根据学生的母语背景,为学生提供个性化的学习资源和辅导,满足不同学生的学习需求。例如,对于母语为西班牙语的学生,可以提供更多与西班牙语相关的英语学习资料,帮助他们更好地理解和掌握英语。
7.2 人机交互领域
- 语音助手优化 :在语音助手中集成母语识别功能,根据用户的母语背景提供更准确、更自然的语音交互服务。例如,对于母语为日语的用户,语音助手可以使用更符合日语表达习惯的语言进行回复。
- 智能客服 :在智能客服系统中,通过母语识别技术可以更好地理解用户的需求,提供更个性化的服务。例如,对于母语为法语的用户,智能客服可以使用法语进行交流,提高用户的满意度。
7.3 安全领域
- 身份验证 :将母语识别技术与其他身份验证方式相结合,如密码、指纹识别等,提高身份验证的准确性和安全性。例如,在进行银行转账等重要操作时,除了输入密码外,还可以通过母语识别技术验证用户的身份。
- 反恐和情报分析 :在反恐和情报分析中,母语识别技术可以帮助识别嫌疑人的母语背景,为案件的侦破提供线索。例如,通过分析嫌疑人的语音信息,确定其母语为阿拉伯语,从而可以进一步调查其与阿拉伯地区的关联。
8. 总结
8.1 语音OTP认证系统
语音OTP认证系统在说话人识别和OTP识别方面取得了一定的成果,但仍有提升空间。通过模型微调、资源优化和合理利用数据等方法,可以进一步提高系统的性能和稳定性。同时,系统在不同设备上的性能表现稳定,为其在实际应用中的部署提供了可能。
8.2 母语识别技术
基于改进Vision Transformer的母语识别方法在NISP数据集上取得了较高的准确率,具有良好的应用前景。在教育、人机交互和安全等领域,母语识别技术都可以发挥重要作用,未来可以进一步探索其在更多场景下的应用。
8.3 未来展望
未来,语音OTP认证系统和母语识别技术有望在更多领域得到广泛应用。随着技术的不断发展和创新,相信这两项技术将不断完善,为人们的生活和工作带来更多的便利和安全保障。同时,也需要关注技术应用过程中可能出现的隐私保护、数据安全等问题,确保技术的健康发展。
超级会员免费看

被折叠的 条评论
为什么被折叠?



