CN112712804B - 语音识别方法、系统、介质、计算机设备、终端及应用 - Google Patents
语音识别方法、系统、介质、计算机设备、终端及应用 Download PDFInfo
- Publication number
- CN112712804B CN112712804B CN202011533459.XA CN202011533459A CN112712804B CN 112712804 B CN112712804 B CN 112712804B CN 202011533459 A CN202011533459 A CN 202011533459A CN 112712804 B CN112712804 B CN 112712804B
- Authority
- CN
- China
- Prior art keywords
- model
- text
- training
- data
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000012805 post-processing Methods 0.000 claims abstract description 52
- 230000002441 reversible effect Effects 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims description 136
- 238000009826 distribution Methods 0.000 claims description 48
- 239000013598 vector Substances 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 34
- 230000007246 mechanism Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 22
- 238000013518 transcription Methods 0.000 claims description 21
- 230000035897 transcription Effects 0.000 claims description 21
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 238000002474 experimental method Methods 0.000 claims description 14
- 238000011160 research Methods 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 238000004140 cleaning Methods 0.000 claims description 9
- 210000001072 colon Anatomy 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000009499 grossing Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 238000005303 weighing Methods 0.000 claims description 2
- 238000010845 search algorithm Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000010276 construction Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000004913 activation Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000002372 labelling Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001926 lymphatic effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
- G10L15/144—Training of HMMs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
- G10L15/148—Duration modelling in HMMs, e.g. semi HMM, segmental models or transition probabilities
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本发明属于语音信息处理技术领域,公开了一种语音识别方法、系统、介质、计算机设备、终端及应用,通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。本发明根据医疗领域语音识别系统的需求进行分析与设计,开发了基于web的网站系统。通用录入与模板录入两种功能形式符合语音识别实际的录入形式需求。本发明的语音识别与后处理技术作为系统支撑下,完成了性能出色,并具有用户友好性的软件系统。
Description
技术领域
本发明属于语音信息处理技术领域,尤其涉及一种语音识别方法、系统、介质、计算机设备、终端及应用。
背景技术
目前:语音识别技术从对特定说话人孤立数字识别系统开始已有六十多年的发展,技术方案从初期的模式匹配方法,逐步发展为如今的基于统计的模型。上世纪九十年代中期到本世纪初,基于高斯混合模型(Gaussian Mixture Model,GMM)和隐马尔科夫模型(Hidden Markov Model,HMM)的混合语音识别框架的发展使得大规模连续语音识别系统的开发成为可能。进入本世纪以来,随着深度学习的蓬勃发展,基于深度学习的语音识别技术成为主流。2015年之前,基于深度学习的语音识别仍属于混合框架语音识别框架。上下文相关-深度神经网络-隐马尔科夫框架(Context-Dependent Deep Neural Network HiddenMarkov Model,CD-DNN-HMM),以及循环神经网络-隐马尔科夫框架(Recurrent NeuralNetworkHidden Markov Model,RNN-HMM)中,深度学习模型逐步替代了GMM作为发音状态概率分布进行建模,极大地提高了语音识别的效果。然而,基于混合架构的语音识别框架构建过程复杂,且需要大量的专家知识,自2015年以来,研究人员开始研究不依赖HMM的更简单的语音识别框架,即端到端的语音识别框架。基于链接的时序分类器(ConnectionistTemporal Classification,CTC)与基于带注意力机制的RNN编解码结构等端到端技术的不断提出,端到端的语音识别系统越来越成为学术界研究的热点。目前工业界应用上,基于混合架构的语音识别框架与端到端的语音识别框架仍处于共存的状态,应用于不同特点的应用场景与产品。
语音识别模块输出的识别文本通常是没有标点符号的,为识别文本添加标点符号能够大大地提高文本的可读性,并能够增强机器翻译、问答、情感分析等下游任务的性能。目前,标点预测等句子边界信息检测的研究已经得到了广泛的研究,可以分为基于声学特征的方法、基于文本特征的方法与基于声学特征与文本特征的混合方法三种。尽管基于声学特征的在很多情况下都是有效的,但是当用户在真实的ASR系统中不自然的地方停顿时,它并不能很好地发挥作用。基于声学和文本特征的混合方法可以缓解这个问题,但是,这些方法需要将文本数据与相应的声学数据一起用于训练,而由于声学与文本数据的平行数据的采集难度较大,基于声学特征和文本特征的混合方法在数据上具有局限性。
基于文本特征的方法有在包含标点的文本上训练N-gram语言模型(语言模型是语音识别的重要部分)对标点符号进行预测,近年来的研究一般将标点预测任务视为序列标注任务,或者无标点文本到有标点文本的单语言机器翻译任务。带注意力机制的循环神经网络,带条件随机场的双向长短时记忆网络(BiLSTM-CRF)等模型以序列标注任务的形式提高了标点预测的性能。带注意力机制的循环神经网络编码解码模型则被用于以机器翻译的形式解决标点符号的预测。
语音识别模块输出的是以发音单元为建模粒度的序列,因此识别文本序列为读形式的文本序列。语音识别中从“读形式”到“写形式”的非单词字符转写,称为文本逆标准化。与之对应的,从“写形式”到“读形式”的转写,又称为文本标准化,常用于语音识别的逆过程任务,语音合成当中。文本标准化任务作为逆标准化任务的逆向过程,文本逆标准化任务可以借鉴其研究思路。文本逆标准化的传统方法是是构建规则系统,手工撰写“读形式”到“写形式”的转换语法,或者是训练在“写形式”文本上的语言模型,语言模型倾向于选择“写形式”的文本,在解码阶段完成逆标准化的工作。在文本标准化中,基于深度学习与规则的混合模型得到了很好应用效果。而规则方法的构建往往流程繁琐且容易产生冲突,因此,基于数据驱动的序列到序列方法能够结合语义信息进行标准化转写,是目前研究解决文本标准化问题的一个重要方向。
通过上述分析,现有技术存在的问题及缺陷为:在文本标准化中,基于深度学习与规则的混合模型得到了很好应用效果。而规则方法的构建往往流程繁琐且容易产生冲突,因此,基于数据驱动的序列到序列方法能够结合语义信息进行标准化转写,是目前研究解决文本标准化问题的一个重要方向。
解决以上问题及缺陷的难度为:缺乏医疗领域相关的音频数据用于识别系统的定制化开发,实现专业领域的精准语音识别很困难;医疗领域语音识别的结果中缺乏标点符号信息,停顿随机且多主体交叉频繁,添加表征句子边界信息的标点符号,构造标点预测模型很困难;医疗领域识别中涉及许多的日期、数字、单位符号等复杂形式,将朗读形式音频转化为阅读形式文本,构建文本逆标准化模型比较困难。
解决以上问题及缺陷的意义为:随着医院不断增长的临床业务量,医务人员面临着越来越重的工作负荷。在众多的工作中,门诊病历、检查报告、病程记录等大量文书撰写的工作,占据了医务人员大量的精力。而语音是人与人之间最普遍、最重要的交流方式,也是人最自然的表达信息的方式。通过语音实现与智能设备的交互,用语音录入代替键盘输入,能够显著地提高信息录入的效率。开发面向医疗领域的语音识别系统对于降低医务人员劳动强度,提高医务人员的工作效率具有重要的意义。
发明内容
针对现有技术存在的问题,本发明提供了一种语音识别方法、系统、介质、计算机设备、终端及应用。
本发明是这样实现的,一种语音识别方法,所述语音识别方法通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
进一步,所述语音识别方法基于混合架构的语音识别技术,即使用HMM作为语序列的生成模型;首先通过去噪等方法对语音进行增强,然后将信号由时域转换到频域,最后提取适用于AM建模的特征向量;声学模型对声学和发音学知识进行建模,其输入为特征抽取模块产生的特征向量,输出为某条语音的声学模型得分;语言模型用于估计某条文本语句产生的概率,称为语言模型得分。
进一步,所述语音识别方法在交叉熵训练过深度神经网络后,再进行序列鉴别性训练;
(1)交叉熵准则CE训练,交叉熵是深度神经网络解决分类任务时常用的训练准则,计算公式:
在分类任务中,衡量真实标签p(x)与预测标签q(x)之间分布的差异,并不断优化真实分布于预测分布之间的差异;而KL散度则能够用于衡量两个概率分布之间的差异,其计算公式:
经过变换可得形式:
该式前一部分为p(x)的熵,为常量,计算值对结果无影响,后一部分即为p(x)与q(x)的交叉熵;通过对交叉熵的优化;
(2)序列鉴别性训练
序列鉴别性训练为区分性训练,交叉熵的训练只在帧级别上进行分类,最小化训练数据中的帧错误率;序列鉴别性训练解码词格中产生错误的参数,优化整体模型性能:
MBR的目标方程能写作:
序列鉴别性训练的目标函数均可以被形式化为两个词图的值的比率:代表参考标注的分子词图和代表与之竞争的解码输出的分母词图;
(3)大规模中文语音数据集训练,模型结构为LSTMP-HMM,在大规模中文语音数据集上进行训练;数据集来自于所在团队项目积累,数据量级在数千小时以上,包括不同时长、不同噪音环境与地域及不同场景;训练方法上,采用了sMBR序列鉴别性训练方法,以及预训练。
进一步,所述语音识别方法对N-gram语言模型建模使用的是Witten-Bell折扣算法,并使用插值算法进行插值进行平滑处理;
(1)语言模型的训练,在进行语言模型训练之前,训练数据的清洗与预处理;其中数据清洗包括去除爬取的网页内容中包含的html标签、乱码垃圾信息;文本标准化指的是将写形式的数字、符号转写为读形式的发音汉字;在清洗处理后的文本上,通过SRILM工具,构建了N-gram语言模型,其中N的取值为4;
(2)语言模型的插值,组合来自不同的训练数据的语言模型,使用线性插值的方法整合为一个模型;线性插值模型的公式:
pLI(w|h)=∑iλipi(w|h);
pi(w|h)是第i个ngram模型中以h为历史的单词w的概率,λi是线性插值的权重值,∑iλiλi=1;
通用语言模型的训练数据,包括对微博、博客、新闻多个网站爬取的文本数据以及口语文本数据,已插值整合为一个通用语言模型,并进行了剪枝以减小模型的规模,模型称之为Model1;
第二个模型为医疗咨询网站语言模型,爬取了某医疗咨询网站的咨询问答的文本数据,数据量大小为3.1G,在该文本数据上训练医疗咨询网站语言模型,并与Model1进行插值,称之为Model2;
第二个模型为医疗病历语言模型,训练数据为与合作医院得到的病历文本数据,数据经过了脱敏处理,将数据增广为5倍,大小为818M;其与Model2进行插值,称之为Model3;
(3)语言模型与语音识别解码:
在语音识别解码阶段,语音模型、发音模型以及声学模型中HMM模型中的信息会提前构建为图,然后在待识别语音的声学信息指导下在图中利用维特比搜索等算法,找出和语音最匹配的路径,语音识别解码过程是一个在图中搜索的过程;语言模型、发音模型表示为WFST的形式进行构图;N-gram语言模型中的概率经过处理后直接作为图的权重;当图构建完成后,语言模型就成了图权重的一部分,解码时直接使用图的权重进行搜索解码,实现语言模型在语音识别解码中的应用。
进一步,所述语音识别方法的识别后处理模块包含为语音识别产生的没有标点的口语文本添加标点的标点预测与将口语文本发音汉字形式的文本转写为适宜人阅读的数字、符号,达到适宜人阅读的形式的文本逆标准化。
进一步,所述标点预测采用的基于文本特征的方法,未使用声学相关特征,在纯文本数据上进行模型的训练;标点预测作为序列标注任务,即为给定文本序列中的每一个token预测其标签y,y即为该token后出现的标点,若该token后无标点则预测为O;主要处理的标点为句号、顿号、冒号、逗号四种医疗领域中出现的形式;
标点预测采用的模型结构为BERT-BiLSTM-CRF,BERT模型是两阶段的语言模型,首先在大规模语料上进行预训练,然后在BERT模型之后接入特定任务的模型参数,对下游任务进行微调fine-tuning;BERT引入了Masked LM的预训练任务,在训练中将一定比例的token进行遮掩mask,再将遮掩的token对应的模型最终输出的隐向量输出到softmax层中进行预测重建;通过Masked LM任务,能够促使模型学习深度双向信息;BERT还引入了NextSentence Prediction任务,以期对句子级别的信息进行学习,Next Sentence Prediction任务的预训练构建了50%正常连续的句子对与50%随机选取的句子对,进行二分类的任务学习;NSP任务以期提高问答(QA)与自然语言推理(NLI)等注重句子关系的任务的性能。
在所用数据为医院病历文本数据,即先前进行语言模型训练使用的病历文本数据;首先,对数据进行清洗处理,去除特殊符号、标记等无关内容,将数据形式为读形式文本,并去除或替换其他标点符号,只保留“。句号”、“,逗号”、“:冒号”、“、顿号”四种标点符号;
在输入形式上,为防止模型对输入序列末尾添加句号的几率过高,数据输入形式为在包含完整句子的情况下,对200个token进行截断,训练语料共有语料11600条。测试集含有714条语料;
BiLSTM的层数为1层,LSTM隐层单元为128。BERT使用的google公开的中文预训练模型,层数为12层,隐层单元为768,多头注意力取值为8;实验的评价指标为分类任务的精确率precision,召回率recall,与F1值;指标为分类任务的常用指标,计算方法如下:
定义TP为真实值与预测值均为正类;FP为真实值为负类,预测值为正类;FN为真实值为正类,预测值为负类;精确率的计算公式为表示预测为正类的样本中正确的比例;召回率的计算公式为表示真实值为正类的样本中正确预测为正类的比例;F1值为精确率与召回率的调和平均值,公式为
各标点的指标为将该标点本身视为正类,其他视为负类;Overall为将所有标点视为正类,非标点(即O标签)视为负类。
进一步,将文本逆标准化任务看作机器翻译任务,以序列到序列Sequence2Sequence的生成式方法进行,将带有“读形式”非单词符号的识别文本序列转写为“写形式”的文本序列;利用神经网络模型,更好地结合上下文语义信息,以数据驱动的形式进行文本逆标准化的任务;
以机器翻译的任务进行,采用的模型结构带注意力机制的编码器-解码器码Encoder-Decoder框架:编码器与解码器的基本结构为LSTM,编码器为双向的LSTM,模型加入了注意力机制ttention Mechanism;在解码阶段,使用pointer generator进行生成,提高与原句重合的token的生成概率,编码器与解码共享词表与嵌入层;
引入了attention机制,在每一个时间步产生一个语义向量ci来加强对编码端信息的利用;语义向量Ci取决于编码器将输入编码得到的隐状态向量序列hj认为其包含表示整个输入序列中重点放在第i个字周围的信息,αij为第i个时间步时对hj的attention权重,通过加权求和,得到该时间步的语义向量Ci:
attention权重αij的计算如公式:
其中eij=a(si,hj)是一个对齐模型,基于编码向量hj与解码器的状态si,对输入序列中位置j周围的信息与输出序列中位置i周围的信息的对其程度进行评分;使用的MLP的attention计算方式,语义向量ci能够在i时刻解码时,更好地利用与该时刻解码相关的编码向量,Attention机制已应用在多种NLP任务当中;
引入copy机制,使用pointer-generator进行解码,对于pointer-generator的解码器,在每个解码器时间步生成概率pgen∈[0,1]通过pgen权衡从输出词汇表生成单词的概率与从源文本复制单词的概率;最终的概率分布由输出词汇表概率分布和注意力分布进行加权和求和得到;其中注意力分布复用了编码器生成的注意力分布,在最终的概率分布P(w)上,预测解码的结果:
Pvocab(w)为输出词汇表概率分布,是在原句上的注意力分布,如果w是未登录词(OOV),则Pvocab(w)为零,如果w没有出现在源文档中,则在为零;通过pointer-generator形式的解码策略。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的语音识别方法。
本发明的另一目的在于提供一种实施所述语音识别方法的语音识别系统,所述语音识别系统包括:
语音识别模块,用于为对声学模型的技术原理进行介绍与实验验证,以及通过基于医疗领域文本数据上进行语言模型建模提高医疗领域语音识别的效果;
识别文本后处理模块,用于实现对识别文本进行后处理得到适宜人阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测研究识别文本添加表征句子边界信息的标点符号,文本逆标准化研究将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
进一步,所述语音识别系统还包括:
通用语音录入单元,形式为用户自主输入音频,由音频输入形式的不同,分为语音听写与语音转写;
语音听写,实现用户在客户端点击按钮开始录音,由麦克风进行音频录制,进行语音听写;
语音转写,实现用户选择音频文件上传进行语言转写,返回识别结果;
模板语音录入单元,通过提取设置病历模板便于语音的录入,包括两个功能需求:模板语音录入与模板管理功能;
模板管理:用户设置病历模板,根据模板提示与病患具体情况进行录入,用户可对病历模板进行增加、删除、修改的管理操作;
模板语音录入:当识别出“调用模板”关键词时,检索数据库中是否存储了该模板,系统为用户显示病历模板内容或提示信息,用户根据模板提示内容与病患具体情况进一步语音录入。
进一步,所述语音识别系统还包括:
显示层:为系统面向用户的展示接口,为对各类信息进行展示的显示页面。显示层实现用户与系统的各种交互操作,并将业务层的结果展示给用户;
业务层:为系统的业务功能,根据用户操作,以及服务层和数据层的支持,实现系统功能的业务逻辑;
服务层:为核心算法的调用层,在业务层下,将核心算法封装为http服务形式,使得系统根据业务逻辑进行调用,服务层的服务为语音识别与识别文本后处理;
数据层:为系统运行所依赖的数据,包括数据库表、与服务层算法模型与配置文件。
本发明的另一目的在于提供一种智能家居语音识别终端,所述智能家居语音识别终端用于实现所述的语音识别方法。
本发明的另一目的在于提供一种机器人,所述机器人用于实现所述的语音识别方法。
本发明的另一目的在于提供一种无人机,所述无人机用于实现所述的语音识别方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:随着深度学习方法在语音识别领域的应用,语音识别技术有了长足的发展。然而,在特定领域的场景下,语音识别系统还需要定制化开发。本发明构建了面向医疗领域的语音识别系统,在识别性能、规范化展示与系统实用性方面进行了优化。
在识别性能提升方面,本发明验证了基于LSTMP-HMM的混合语音识别声学模型及训练准则的效果,并探索实现在大规模中文训练数据上得到的声学模型的基础上,通过语言模型建模的方式,对医疗领域的语音识别模块效果进行优化提升。本发明构建了医疗领域优化的语音识别模块。
在规范化展示方面,本发明利用深度学习技术,构建了识别文本后处理模块,提高识别文本的可读性。通过构建深度学习模型与数据集,完成两项后处理任务:为识别文本添加表征句子边界信息的标点符号,以及根据医疗领域识别文本的特点,对识别文本进行逆标准化改写。本发明将BERT预训练模型与copy机制的生成解码策略引入到两个任务当中,在模型设计上进行了探索。
另外,本发明根据医疗领域的应用场景,设计开发了具有较强实用性的软件系统。在算法模块的基础上,本发明对医疗领域语音识别系统的需求进行分析与设计,完成了具有用户友好性的web网站系统。
本发明首先医疗领域中疾病、器官、检查项目等复杂专有名词较多,识别难度高,并且往往缺乏领域相关的音频数据用于识别系统的定制化开发。其次,医疗领域识别文本中涉及许多的日期、数字、单位符号等复杂形式,不适宜以发音汉字的形式进行展示,需要进行规范化后处理(该过程也被称之为“文本逆标准化”)。另外大多数语音识别的识别结果中都缺乏标点符号信息,规范化后处理中还需要为识别文本添加标点符号。
本发明在语音识别性能上,本发明研究目的是探索验证模型性能,在医疗领域音频低资源的情况下,开发对医疗领域语音识别进行优化的语音识别模块。在规范性展示上,本发明研究目的是探索深度学习模型的应用,能够充分利用文本上下文语义信息,构建良好的识别文本后处理模块,实现适宜人阅读的识别文本规范化展示。除此之外,在系统构建上,最终构建良好的语音识别软件系统也是本发明的一个重要研究目的。本发明的意义在于构建良好的面向医疗领域语音识别系统,这对解决医务人员实际工作中的语音录入识别需求具有重要的意义。
本发明实现了面向医疗领域的语音识别系统,主要包括语音识别模块构建、识别文本后处理模块构建,与软件系统构建三个部分。针对本发明提出的需要解决的两个主要问题:1.提高医疗领域语音识别的性能,2.针对医疗领域特点,实现适宜人阅读的识别文本形式转写,本系统语音识别模块与识别文本后处理模块分别提出了解决方案。
在语音识别模块的构建中,本发明选用LSTMP-HMM的混合语音识别模型,在TIMIT数据上验证了模型的性能,并介绍了大规模中文训练数据上训练声学模型的情况。在声学模型对声学信息进行充分建模的基础上,通过训练医疗领域上的语言模型进行插值,在语义级别上对语音识别结果进行调整优化。
在识别文本后处理模块的构建中,针对标点预测任务,选用BERT-BiLSTM-CRF作为模型,在预训练模型的基础上进行微调,提高了模型对语义表征提取的能力,优化了性能。针对文本逆标准化,使用带注意力机制的编解码框架,并引入了pointer-generator作为解码策略,能够结合语义信息进行文本逆标准化的转写。
在系统开发方面,本发明根据医疗领域语音识别系统的需求进行分析与设计,开发了基于web的网站系统。通用录入与模板录入两种功能形式符合语音识别实际的录入形式需求。本发明的语音识别与后处理技术作为系统支撑下,完成了性能出色,并具有用户友好性的软件系统。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的语音识别方法流程图。
图2是本发明实施例提供的语音识别系统的结构示意图;
图2中:1、语音识别模块;2、识别文本后处理模块。
图3是本发明实施例提供的识别处理流程图。
图4是本发明实施例提供的LSTMP结构示意图。
图5是本发明实施例提供的数据处理流程图。
图6是本发明实施例提供的标点预测模型结构图。
图7是本发明实施例提供的Transformer编码器结构图。
图8是本发明实施例提供的文本逆标准化模型结构图。
图9是本发明实施例提供的系统用例图。
图10是本发明实施例提供的系统架构图。
图11是本发明实施例提供的系统总功能图。
图12是本发明实施例提供的通用录入功能流程图。
图13是本发明实施例提供的模板录入功能流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种语音识别方法、系统、介质、计算机设备、终端及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的语音识别方法包括以下步骤:
S101:通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;
S102:对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;
S103:标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
本发明提供的语音识别方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的语音识别方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的语音识别系统包括:语音识别模块1、识别文本后处理模块2。
语音识别模块1,用于实现在领域相关语音数据稀少的情况下,提高医疗领域的常用表达,专有名词的识别效果;具体为对声学模型的技术原理进行介绍与实验验证,以及通过基于医疗领域文本数据上进行语言模型建模提高医疗领域语音识别的效果。
识别文本后处理模块,用于实现对识别文本进行后处理得到适宜人阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测研究识别文本添加表征句子边界信息的标点符号,文本逆标准化研究将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式;如图3所示,音频从输入到最终输出形式的处理流程。具体内容为针对两种任务的特点,本发明提出了BERT-BiLSTM-CRF模型用于标点预测,以及带有注意力与copy机制的编解码模型用于文本逆标准化,并分别介绍了所构建的数据集与训练实验的情况。
下面结合附图对本发明的技术方案作进一步的描述。
1、语音识别模块
本发明语音识别模块所采用的技术为基于混合架构的语音识别技术,即使用HMM作为语序列的生成模型。语音识别系统主要由图中的四部分组成:信号处理和特征提取、声学模型(Acoustic Model)、语言模型(Language Model)和解码搜索部分。信号处理与特征抽取模块的输入为语音信号,输出为特征向量,主要过程为:首先通过去噪等方法对语音进行增强,然后将信号由时域转换到频域,最后提取适用于AM建模的特征向量。声学模型对声学和发音学知识进行建模,其输入为特征抽取模块产生的特征向量,输出为某条语音的声学模型得分。语言模型用于估计某条文本语句产生的概率,称为语言模型得分。模型中存储的是不同单词之间的共现概率,一般通过从文本格式的语料库中估计得到。语言模型与应用领域和任务密切相关,当获得领域相关的先验知识与数据分布后,语言模型得分更加精确。解码器的作用为,将所有候选句子的声学模型得分和语言模型得分融合在一起,输出得分最高的句子作为最终的识别结果。本发明介绍语音识别模块的构建,主要介绍声学模型与语言模型的建模方法。由于缺少医疗领域的音频数据,本发明主要技术框架为在大规模通用音频数据上得到的良好的声学模型的基础上,通过语言模型的建模实现面向医疗领域语音识别性能优化。
1.1声学模型
1.1.1模型结构
混合框架下语音识别声学模型的基本结构。在该框架中,深度神经网络(DNN)与隐马尔科夫模型(HMM)结合,HMM负责对语音信号的序列性质进行建模,对状态转移概率进行建模。深度神经网络负责对输入语音帧估计其绑定三音子状态的后验概率,对观测概率进行建模。
本发明所采用的深度神经网络为带映射层的长短时记忆网络(Long-Short TermMemory Projected,LSTMP),是长短时记忆网络(Long-Short Term Memory,LSTM)的变体,LSTM是具有门控单元的循环神经网络(Recurrent Neural Network,RNN)。已有工作研究了该模型在英文大规模连续语音识别任务上的效果。
1.1.2带线性映射层的长短时记忆网络
首先对长短期记忆网络(LSTM)进行介绍,LSTM是一种深度学习中经典的循环神经网络(RNN)架构。在整体上看,LSTM与简单RNN结构一致,都具有反馈连接将前一时刻的激活值与当前时刻的输入一起进行前向反馈。理论上讲,LSTM可以记忆当前时刻之前的所有历史信息,每次预测前都利用了当前时刻及其之前的所有信息,因此,LSTM模型十分适用于序列建模类型的任务。与简单RNN不同的是,LSTM用复杂的记忆单元(Memory Cell)取代了简单的非线性单元。LSTM单元内部是自回归的,其内部状态通过权值为1的自回归链接进行反馈,以得到对记忆的保持。另外,LSTM单元还具有三个控制门,分别为输入门、输出门、遗忘门。通过控制门,LSTM具有控制记忆单元信息的读入、读出与重置的能力,与简单RNN相比,LSTM具有更好地解决长距离依赖问题的能力。
图4为LSTMP的结构图,由于LSTMP与LSTM结构只相差一个线性映射层,因此,本发明将两者的结构用一张图来表示,LSTM结构可由去掉图4中的线性映射层得到。图4中展示了LSTM中各单元的计算流程,具体计算公式与意义在下文中进行详细介绍。
图4中h,g均为记忆值输入与输出的激活函数,一般为tanh。输出it的圆圈表示输入门,输出ft的圆圈表示遗忘门,输出Ot的圆圈表示输出门,均为非线性激活函数sigmod函数。对于某个LSTM层,其在t时刻的输出激活值ht,由其在该时刻输出门的输出值ot与其在该时刻的内部状态(即记忆值)Ct控制,具体计算如公式(1)所示:
ht=ot*tanh(Ct) (1)
从公式(1)中可以看出,LSTM输出门控制其内部状态对外展现的程度。输出门ot的值由当前时刻的输入、上一时刻的激励值以及当前时刻的记忆值决定,公式如(2)所示。公式中σ为sigmod函数,Wo为输出门的权重矩阵,bo为其偏置,ht-1为上一时刻的激励值,xt为当前时刻的输入。
ot=σ(Wo[ht-1,xt,ct]+bo) (2)
记忆模块的更新由上一时刻的记忆值Ct-1与当前时刻新产生的记忆值决定,并通过前一时刻的遗忘门输出ft决定上一时刻记忆值的遗忘程度,以及前一时刻输入门的输出it决定当前时刻新产生记忆值的使用程度,具体形式见公式(3)。公式(4)描述了新产生的记忆值的计算方法,WC,bC分布为其权重矩阵与偏置值。
其中遗忘门的输入由公式(5)决定,Wf为遗忘门的权重矩阵,bf为其偏置,输入门的输入由如公式(6)决定,Wi为输出门的权重矩阵,bi为其偏置。
ft=σ(Wf·[ht-1,xt,ct-1]+bf) (5)
it=σ(Wi·[ht-1,xt,ct-1]+bi) (6)
通过不同的控制门,LSTM能够有效地控制对于记忆单元信息与当前输入信息的利用。在简单RNN中,每一时刻的记忆单元信息都会被当前时刻输入信息产生的新的信息所覆盖,LSTM则可以保持更长时间范围的记忆信息,具有对长距离依赖关系建模的能力。
LSTMP(LSTM-Projected)是带线性映射层的LSTM。与上述的LSTM结构唯一不同的地方,LSTMP增加了一个线性映射层。LSTM单元的输出激励在自回归前,通过线性映射层映射到另一维度,然后再进行自反馈。线性映射层能够减少模型参数,并且有实验证明,线性映射层对于声学模型建模的精度度有着非常重要的作用。
1.1.3训练准则
在混合语音识别框架中,深度神经网络的训练一般采用交叉熵(cross-entropy,CE)准则逐帧训练,来最小化期望帧错误。深度神经网络本质上是一个语音帧的分类器。而语音识别本质是一个序列分类的任务,因此在CE训练过深度神经网络后,再进行序列鉴别性训练往往会对模型性能的提升有帮助。
(1)交叉熵准则(CE)训练
交叉熵是深度神经网络解决分类任务时常用的训练准则。其计算公式如(7)所示:
在分类任务中,本发明需要衡量真实标签p(x)与预测标签q(x)之间分布的差异,并不断优化真实分布于预测分布之间的差异。而KL散度则能够用于衡量两个概率分布之间的差异,其计算公式如(8)所示:
经过变换可得(9)的形式:
该式前一部分为p(x)的熵,为常量,计算值对结果无影响,后一部分即为p(x)与q(x)的交叉熵。通过对交叉熵的优化,能够不断拉近真实分布与预测分布的差异。
(2)序列鉴别性训练
序列鉴别性训练(Discriminative Training)又称为区分性训练,是语音识别领域提高系统性能的重要方法。交叉熵的训练只在帧级别上进行分类,最小化训练数据中的帧错误率。序列鉴别性训练则希望能抑制那些让训练数据在其解码词格中产生错误的参数,从而优化整体模型性能。
本发明使用的是状态级最小贝叶斯风险(sMBR)准则。
首先定义一些符号
Tm:第m个句子中的帧数
Nm:第m个句子的词数
θ:模型参数
MBR的目标方程能写作如下公式(10)的形式:
序列鉴别性训练的目标函数均可以被形式化为两个词图(Lattice)的值的比率:代表参考标注的分子词图和代表与之竞争的解码输出的分母词图。词图是解码过程中一部分解码路径的集合,由图的数据结构紧凑有效地保存下来。序列鉴别在优化目标中引入了分母,将正确路径从容易混淆的路径中鉴别出来,是序列鉴别训练能够带来效果提升的重要原因。
1.1.4 TIMIT数据集实验
为验证模型在声学建模上的能力,本发明在TIMIT集合音子识别任务上进行实验。TIMIT数据集是斯坦福研究院(SRI)等单位合作构建的连续语音集。数据集中共有6300个句子,采样率为16kHz,标注信息为音素级别(phone level)。
语音识别的评价指标为词错误率(WER),根据标签粒度的不同分又可以为词错误率(WER)、字错误率(CER)等,其计算方式基本相同。公式如(12)所示。由于TIMIT数据集是在音素级别上进行的分割,其评价指标称之为音素错误率(PER)。
Insertions、Substitutions、Deletions分别为插入、替换、删除操作的次数,N为标准答案的词序列中词的总个数。为了使识别结果的词序列和标准答案的词序列保持一致,需要进行替换、删除或者插入的编辑操作,这些插入、替换或删除编辑操作的最小操作操作次数,除以标准词序列中词的总数,即为WER。编辑的最小操作次数也被称为字符串编辑距离(Edit Distance),可以通过动态规划算法来进行计算。
由于交叉熵训练需要标签,因此在进行深度神经网络训练前,需要先训练GMM-HMM模型进行了强制对齐,具体原理不是本发明重点不在此详述。实验所用训练目标为绑定之后的三音子状态,数目为1896个。本发明对比的基线系统是深度前馈神经网络FNN,与LSTMP使用相同的GMM-HMM进行强制对齐。所使用声学特征均为拼接在一起的连续11帧特征(5+1+5),每帧特征为包含一二阶差分的40维MFCC特征。
基线系统FNN的模型隐层激活单元为1024,输出层激活单元为1896(与三音子状态数目相同)。LSTMP模型LSTM隐层激活单元为320,线性映射层单元为400,在LSTMP层后也需要一个全连接输出层,输出激活单元为1896。模型使用随机梯度下降进行优化,batch大小为256,梯度裁减设为5,DNN与LSTMP都只有一个隐层。所使用的语言模型是在训练文本上得到2-gram的语言模型,关于语言模型将在下文具体介绍。
实验结果如表1所示,FNN作为基线模型,FNN+sMBR为加入序列鉴别训练,LSTMP为本发明介绍的模型,LSTMP+sMBR为LSTMP加入了序列鉴别训练。
表1 TIMIT数据集上测试结果
从实验结果中能够看出LSTMP模型以及序列鉴别算法能够有助于提高声学模型的性能。
1.1.5大规模中文语音数据集训练
在TIMIT数据集上的实验中,本发明可以看到LSTMP具有较强的声学建模能力,具有对大规模声学模型进行建模的潜力。大规模数据训练对声学模型的建模至关重要,本发明系统的声学模型为团队技术积累,模型结构为上述介绍的LSTMP-HMM,在大规模中文语音数据集上进行训练。数据集来自于所在团队项目积累,数据量级在数千小时以上,包括不同时长、不同噪音环境与地域及不同场景。训练方法上,采用了上述介绍的sMBR序列鉴别性训练方法,以及预训练等其他声学模型训练方法。
对于声学模型的识别性能的评价,在结合下面介绍的语言模型后。
1.2语言模型
1.2.1基于N-gram的语言模型
在声学模型对声学信息良好建模的基础上,语言模型的建模对语音识别最终正确解码有着重要的影响。在统计自然语言处理中,N-gram的语言模型是最常用有效的语言模型的形式,被广泛使用在基于混合架构的语音识别的技术流程中。通过语言模型与声学模型构建FST进行构图解码,对声学模型的识别结果进行修正。
语言模型的作用是表征文本序列的概率分布,对于一个给定长度为m的序列S=w1,w2,...,wm它可以为整个序列产生一个概率P(S)。语言模型的目的就是学习一个概率分布,能够准确地表示一个句子或序列出现的概率,形式如公式(13)所示:
P(S)=P(w1,w2,...,wm)=P(w1)P(w2|w1)...P(wm|w1,w2,...,wm-1) (13)
N-gram语言模型,为解决参数空间过大与数据稀疏的问题,引入了马尔科夫假设:某个词出现的概率只于其前面出现的N-1个词汇有关,公式如(14)所示。若N=1则某个词的出现与周围是独立的,称为unigram;若N=2则某个词出现只与其前一个词相关,称为bigram;N=3则称为trigram,通常N的取值不会大于4,否则数据稀疏的问题会对条件概率的计算有很大的影响:
在N-gram语言模型中,参数估计就是计算出模型中各项条件概率,也可以称之为模型的训练。求解模型的参数,即涉及到的条件概率,使用的是最大似然估计,以unigram为例,公式如(15):
其中c(wi-1)表示在训练文本语料中wi-1出现的次数,c(wi-1,wi)表示在训练文本语料中词汇组合wi-1,wi出现的次数。
为了解决数据稀疏的问题,N-gram模型一般都需经过平滑算法处理。在本发明中,本发明对N-gram语言模型建模使用的是Witten-Bell折扣算法,并使用插值算法进行插值,来进行平滑处理。
1.2.2语言模型的训练与插值
(1)语言模型的训练
在进行语言模型训练之前,训练数据的清洗与预处理,对于语言模型的建模结果十分重要。文本预处理的过程如图5所示。
其中数据清洗主要包括去除爬取的网页内容中包含的html标签、乱码等垃圾信息。文本标准化指的是将写形式的数字、符号转写为读形式的发音汉字。
在清洗处理后的文本上,本发明通过SRILM工具,构建了N-gram语言模型,其中N的取值为4。
(2)语言模型的插值
在不同数据分布的训练数据下,本发明通常会训练多个语言模型,来对不同分布的文本数据进行语言模型的建模。如在通用大规模的新闻数据下,本发明可以训练通用领域语言模型,在病历等医疗相关的数据下,本发明可以训练医疗领域语言模型,不同的语言模型针对不同的领域场景有着不同的效果。
而大多数情况下,本发明希望能够对不同的场景下的数据分布进行建模,通常的做法是组合来自不同的训练数据的语言模型,使用线性插值的方法整合为一个模型。
线性插值模型的公式如(16)所示:
pLI(w|h)=∑iλipi(w|h) (16)
pi(w|h)是第i个ngram模型中以h为历史的单词w的概率,λi是线性插值的权重值,∑iλiλi=1。
在本系统的构建中,本发明在通用语言模型的基础上,插值在医疗领域相关文本上训练的领域语言模型,以期提高对于医疗领域的建模能力。
通用语言模型的训练数据,包括对微博、博客、新闻等多个网站爬取的文本数据以及口语文本数据,为团队之前的积累,已插值整合为一个通用语言模型,并进行了剪枝以减小模型的规模。该模型称之为Model1。
第二个模型为医疗咨询网站语言模型,在本系统构建中,爬取了某医疗咨询网站的咨询问答的文本数据,数据量大小为3.1G。在该文本数据上训练医疗咨询网站语言模型,并与Model1进行插值,称之为Model2。
第二个模型为医疗病历语言模型,训练数据为与合作医院得到的病历文本数据,数据经过了脱敏处理。另外为了提高数据的丰富程度,将数据增广为5倍,大小为818M。其与Model2进行插值,称之为Model3。
1.2.3模型测试
语言模型的评价指标为困惑度(perplexity),能够反映语言模型预测样本的好坏程度。困惑度的计算公式如(17)所示:
假设语言模型训练集与测试集的分布是一致的,当语言模型在训练集上训练完成后,能够给测试集赋予较高的概率值,则说明模型效果较好,同时其困惑度越低。
模型评测使用的测试数据是淋巴科病历数据,数据量大小为300k,按预处理流程进行了处理。表2为模型测试结果。需要注意,测试集淋巴科病历与Model3所插值的医疗病历语言模型的训练数据有重合。
表2语言模型测试集困惑度
Model3在测试集上有着较低的困惑度,Model3作为本发明系统语音识别模块中的语言模型,参与到系统语音识别的解码当中。
1.2.4语言模型与语音识别解码
在早期的语音识别中方案中,语言模型通常是在解码时像字典一样被查询的,而在基于混合架构语音识别的解码方案中,N-gram语言模型会被构建为图的形式,参与到语音识别的解码过程中,解码时直接使用图的权重,而无须再去查询语音模型。
在语音识别解码阶段,语音模型、发音模型以及声学模型中HMM模型中的信息会提前构建为图,然后在待识别语音的声学信息指导下在图中利用维特比搜索等算法,找出和语音最匹配的路径。语音识别解码过程是一个在图中搜索的过程。
基于WFST(Weighted Finite-state Transducer)的构图方案是目前语音识别构图的经典解决方案。语言模型、发音模型等很适合表示为WFST的形式进行构图。N-gram语言模型中的概率经过处理后直接作为图的权重。当图构建完成后,语言模型就成了图权重的一部分,解码时直接使用图的权重进行搜索解码,就实现了语言模型在语音识别解码中的应用。
1.3语音识别模块性能指标
本发明对语音识别模块在医疗领域的识别性能进行评价,衡量其对医疗领域语音识别的性能效果。本发明采用的评价指标为字错误率CER。
由于缺乏相关数据,本发明所使用的的测试集为自录的医疗领域相关语音测试数据集。录音使用的是普通笔记本电脑麦克风,录音文本选自上一节中语言模型测试集,淋巴科病历文本。录音在安静的室内环境下进行录制,测试录音总时长约5分钟,共包含732个字素(汉字)。
测试结果为字错误率CER为2.55%,说明在安静的室内情况下,语音识别模块在医疗领域的识别上能够达到比较高的准确识别效果。
本发明主要介绍了面向医疗领域的语音识别系统的语音识别模块的构建,主要包括声学模型与语音模型的建模。在声学模型方面,本发明介绍了LSTMP的模型结构,以及基于交叉熵准则与序列鉴别准则的模型训练方法,并通过在TIMIT数据集上的实验验证了LSTMP-HMM模型对于声学建模的能力。最终本发明使用的声学模型是在内部大规模中文语音数据上训练得到的。在语言模型方面,本发明介绍了基于N-gram的语言模型建模方法。通过在医疗相关文本数据上进行语言模型的建模,并多个模型插值合并为大模型。解决了在缺乏音频数据下对语音识别的领域性能的提升。测试实验结果上显示,本发明在大规模中文语音数据上训练得到的声学模型对声学信息良好建模的基础上,通过语言模型建模的方法提升模型在领域内数据上的先验概率,实现了对语音识别的领域性能提升。
2、识别文本后处理模块
识别文本后处理的构建对系统的用户友好性十分重要。识别后处理模块主要包含标点预测与文本逆标准化。
2.1标点预测
2.1.1任务描述
由于语音识别模块的输出为其建模单元的序列,缺乏标点符号信息,需要识别文本后处理模块添加句子边界信息的标点符号。标点预测是指为语音识别产生的没有标点的口语文本添加标点。本发明中标点预测采用的基于文本特征的方法,未使用声学相关特征,在纯文本数据上进行模型的训练。
本发明中,标点预测作为序列标注任务,即为给定文本序列中的每一个token预测其标签y,y即为该token后出现的标点,若该token后无标点则预测为O。本发明主要处理的标点为句号、顿号、冒号、逗号四种医疗领域中出现较多的形式。
2.1.2模型结构
本发明中标点预测采用的模型结构为BERT-BiLSTM-CRF,模型结构图如图6所示:
BiLSTM是双向的长短时记忆网络(LSTM)模型,LSTM模型在2.2.2节中已介绍,这里不再详述。BiLSTM是将正向(从左到右)和反向(从右到左)的LSTM模型拼接起来,如公式(18)所示:
hb=[hl,hr] (18)
BiLSTM的激活值hb为两个方向的LSTM的激活值hl,hr的拼接。BiLSTM能够更好地捕捉双向的语义依赖。
CRF是条件随机场模型(conditional random field model),是一种判别式的概率图模型。CRF能够应用句子级别的标注信息,可以考虑上下文的标注信息,更好地对当前标注做出预测。
BiLSTM-CRF模型十分适用于序列标注形式的任务,在词性标注,命名实体识别等任务中均有很不错的效果。也有工作将BiLSTM-CRF模型也用于标点预测任务,在英文测试集上取得了不错的效果。
由于标点预测任务的数据集通常很小,对语义信息的表征的学习有限,为了进一步提高模型对语义信息的表征能力,本发明在BiLSTM-CRF的基础上,应用了预训练语言模型BERT模型。在BERT模型的下游接入了BiLSTM-CRF,共同参与训练,进行微调(fine-tuning)。
2.1.3 BERT预训练模型
预训练语言模型已被证明能够有效地改善许多自然语言处理任务,包括句子级别的句子关系分析或token级别的命名实体识别等任务。在大规模语料上预训练的模型,对于小数据量上任务的性能提升很有帮助。
BERT(Bidirectional Encoder Representations fromTransformers)是Google发布的预训练语言模型,在多个NLP任务上表现出了出色的性能。BERT模型是两阶段的语言模型,首先在大规模语料上进行预训练,然后在BERT模型之后接入特定任务的模型参数,对下游任务进行微调(fine-tuning)。
BERT的模型架构是多层双向的Transformer编码器,Transformer编码器的结构如图7所示:
Transformer的编码器是非自回归式的并行结构,因此BERT模型不是自回归性质的语言模型,而是自编码的语言模型。对于位置信息的编码,BERT采用positionembeddings的形式表征。
在预训练任务上,为实现深度双向的语言模型,而不是将从左到右及从右到左浅显地结合起来,BERT引入了Masked LM的预训练任务。在训练中将一定比例的token进行遮掩(mask),再将遮掩的token对应的模型最终输出的隐向量输出到softmax层中进行预测重建。通过Masked LM任务,能够促使模型学习深度双向信息。
另外,BERT还引入了Next Sentence Prediction任务,以期对句子级别的信息进行学习。Next Sentence Prediction任务的预训练构建了50%正常连续的句子对与50%随机选取的句子对,进行二分类的任务学习。NSP任务以期提高问答(QA)与自然语言推理(NLI)等注重句子关系的任务的性能。
在BERT的原论文以及后续研究中,都证明了BERT对于多项自然语言处理任务的性能提升有着很大的帮助。
2.1.4数据集与实验结果
本发明在所用数据为医院病历文本数据,即先前进行语言模型训练使用的病历文本数据。首先,对数据进行清洗处理,去除特殊符号、标记等无关内容,将数据形式为读形式文本(即发音汉字形式),并去除或替换其他标点符号,只保留“。句号”、“,逗号”、“:冒号”、“、顿号”四种标点符号(本发明所关注的医院病历中出现较多的四种标点符号)。
在输入形式上,为防止模型对输入序列末尾添加句号的几率过高,数据输入形式为在包含完整句子的情况下,对200个token进行截断(即句末不一定为句号),训练语料共有语料11600条。测试集含有714条语料。
BiLSTM的层数为1层,LSTM隐层单元为128。BERT使用的google公开的中文预训练模型,层数为12层,隐层单元为768,多头注意力取值为8。实验的评价指标为分类任务的精确率(precision),召回率(recall),与F1值。指标为分类任务的常用指标,计算方法如下。
定义TP为真实值与预测值均为正类;FP为真实值为负类,预测值为正类;FN为真实值为正类,预测值为负类。精确率的计算公式为表示预测为正类的样本中正确的比例。召回率的计算公式为表示真实值为正类的样本中正确预测为正类的比例。F1值为精确率与召回率的调和平均值,公式为
各标点的指标为将该标点本身视为正类,其他视为负类。Overall为将所有标点视为正类,非标点(即O标签)视为负类。测试结果如表3所示:
表3标点预测测试结果
从实验结果可以看出,模型取得了较高的F1值,能够较好地为文本添加标点符号,能够达到应用于识别系统的水平。
2.2文本逆标准化
2.2.1任务描述
由于文本存在“读形式”与“写形式”不一致的问题,识别文本中“读形式”的非单词字符不适宜人的阅读,需要转写为“写形式”文本。文本逆标准化是将口语文本发音汉字形式的文本转写为适宜人阅读的数字、符号,达到适宜人阅读的形式。根据对病历医疗语料的观察,总结了本任务所要主要处理的逆标准化形式,内容如表4所示:
表4文本逆标准化主要处理形式
不同于以往的基于规则的方式,本发明中将文本逆标准化任务看作机器翻译任务,以序列到序列(Sequence2Sequence)的生成式方法进行,将带有“读形式”非单词符号的识别文本序列转写为“写形式”的文本序列。本发明期望能够不再依赖复杂且容易产生冲突的规则系统,而是利用神经网络模型,更好地结合上下文语义信息,以数据驱动的形式进行文本逆标准化的任务。
2.2.2模型结构
本任务以机器翻译的任务进行,采用的模型结构带注意力机制的编码器-解码器码(Encoder-Decoder)框架,模型结构图如图8所示:编码器与解码器的基本结构为LSTM,编码器为双向的LSTM(BiLSTM),模型加入了注意力机制(Attention Mechanism)。在解码阶段,使用pointer generator进行生成,提高与原句重合的token的生成概率,编码器与解码共享词表与嵌入层。
2.2.3带注意力机制的编解码模型
编解码框架(Encoder-Decoder)是解决机器翻译等序列到序列的主流模型框架,经典的编解码框架具有两部分:编码器(Encoder)与解码器(Decoder),编码器在源端接收不定长的序列输入,通过具体的网络结构将其编码为定长的语义向量C。语义向量C被认为包含了编码序列的全部信息,通常选用输出的最后一个隐状态向量。解码器根据在目标端的已输出序列与语义向量C来预测下一个输出的单词。
然而,定长的语义向量C的表征能力有限,随着编码器端输入序列长度的增加,较长的序列信息容易被遗忘。因此,引入了attention机制,在每一个时间步产生一个语义向量Ci来加强对编码端信息的利用。
语义向量Ci取决于编码器将输入编码得到的隐状态向量序列hj认为其包含表示整个输入序列中重点放在第i个字周围的信息。αij为第i个时间步时对hj的attention权重。通过加权求和,得到该时间步的语义向量ci。公式(19)如下:
attention权重αij的计算如公式(20)所示:
其中eij=a(si,hj)是一个对齐模型,基于编码向量hj与解码器的状态si,可对输入序列中位置j周围的信息与输出序列中位置i周围的信息的对其程度进行评分。具体的对齐计算有多种,本发明中使用的MLP的attention计算方式。
语义向量ci能够在i时刻解码时,更好地利用与该时刻解码相关的编码向量。Attention机制已应用在多种NLP任务当中,并取得了不错的效果。
2.2.4解码策略
由于在本任务中,原句与目标句大部分内容是完全一致的,不加限制的解码会使模型产生更多的错误,因此本发明引入了copy机制,使用pointer-generator进行解码。
对于pointer-generator的解码器,在每个解码器时间步生成概率pgen∈[0,1],通过pgen权衡从输出词汇表生成单词的概率与从源文本复制单词的概率。最终的概率分布由输出词汇表概率分布和注意力分布进行加权和求和得到。其中注意力分布复用了上一小节介绍的编码器生成的注意力分布。在最终的概率分布P(w)上,预测解码的结果。公式如(21)所示:
通过pointer-generator形式的解码策略,能够更好地提升原句分布的概率,并能够解决未登录词(OOV,out of vocabulary)的问题。
2.2.5数据集与实验结果
训练数据的质量对于模型的最终性能十分重要。由于缺乏中文开源数据且不同于标点预测任务,数据自身带有监督信息,文本逆标准化任务首先需要通过编写规则处理程序生成训练数据,进行冷启动。根据对病历语料的文本内容进行分析,总结设计了医疗领域文本处理的形式,规制处理程序的实现主要通过编写正则表达式与条件设置处理实现。
训练数据的主要依据为病历文本与医疗咨询网站文本(即前文中用于语言模型建模中语料),将其中需要转写的句子抽取出来作为原始语料。将原始语料文本作为目标端文本,使用规则处理程序生成源端文本,并进行了一定程度的人工校正,作为序列到序列任务的训练数据。经过对数据集进行多次处理调整,文本逆标准化的数据集情况如表5所示,其中每条数据在35个字符以内。
另外,由于真实数据的缺乏,本发明还通过生成伪造数据的方法进行数据增广。根据本发明所要处理的数据的形式,生成真实数据中所缺乏的形式的文本,主要包括复杂分数、长尾的小数等复杂或组合形式的处理情况。另外还生成了一部分不规范的文本输入,以期提高模型的鲁棒性。
表5文本逆标准化数据情况
在训练过程中,采样每个batch中,真实数据与伪造数据以8:1的比例进行抽取组合,进行训练。模型具体参数为:嵌入层单元为128,解码器与编码器LSTM均为隐层单元512,层数2层。
测试集为在病历语料上提前抽取的2000条文本,称之为test1。另外还抽取了500条集外文本数据作为测试集考察模型的泛化性,称之为test2。评价指标准确率按如下标准得到:首先是完全转换的,即转换为与标准答案完成一致的比例,另一部分是人工检查认为其为正确转写的。实验结果如表6所示:
表6文本逆标准化准确率
根据上述实验结果,可以看出模型能够较好地对规则处理进行拟合,基本能够解决规则所能够覆盖的情况,具有根据语义信息进行转写的潜能,能够达到应用于识别系统的水平。本发明介绍了面向医疗领域的语音识别系统中的识别文本后处理模块的构建过程,对标点预测任务与文本逆标准化任务的原理与方案。对于标点预测,本发明以序列标注任务的形式,利用BERT-BiLSTM-CRF模型,在病历文本数据上进行训练与实验,取得了较好的性能结果。对于文本逆标准化,本发明以机器翻译任务的形式,以期能够利用上下文语义信息进行更好的转写。本发明探索了使用带注意力机制的编解码模型,结合copy机制的解码策略,在制作的数据集上进行训练与实验,取得了不错的效果。
3、系统设计与实现
本发明介绍了语音识模块与文本后处理模块的基本原理与算法,本发明针对软件实际应用的场景,对面向医疗领域的语音识别系统的软件系统进行需求分析与设计,并介绍系统的实现。
3.1系统分析与设计
3.1.1系统需求分析
本系统是为医务人员提供的语音识别系统,方便医务人员进行病历等录入工作。根据实际应用场景,本发明对系统功能需求进行分析,本系统的需求形式有如下两种。
(1)通用语音录入
通用语音录入形式为用户自主输入音频,是语音识别最常见的形式。由音频输入形式的不同,分为语音听写与语音转写。
语音听写:用户在客户端点击按钮开始录音,由麦克风进行音频录制,进行语音听写。
语音转写:用户选择音频文件上传进行语言转写,返回识别结果。
(2)模板语音录入
模板录入模块通过提取设置病历模板便于语音的录入,主要包括两个功能需求:模板语音录入与模板管理功能。
模板管理功能:用户可以设置病历模板,便于根据模板提示与病患具体情况进行录入,用户可对病历模板进行增加、删除、修改的管理操作。
模板语音录入:当识别出“调用模板”关键词时,检索数据库中是否存储了该模板,系统为用户显示病历模板内容或提示信息,用户可以根据模板提示内容与病患具体情况进一步语音录入。
本系统中,用户角色只有一种,用户与系统之间的交互如系统用例图9所示。
在非功能需求方面,系统要求有较低的时延与较强的稳定性。主要体现在能够以较快的速度进行语音识别与文本后处理。
3.1.2系统设计
首先介绍系统的总体架构设计,图10为本系统的系统架构图,分为显示层、业务层、服务层与数据层。
(1)显示层:显示层为系统面向用户的展示接口,为对各类信息进行展示的显示页面。显示层可以实现用户与系统的各种交互操作,并将业务层的结果展示给用户。
(2)业务层:业务层为系统的业务功能。根据用户操作,以及服务层和数据层的支持,实现系统功能的业务逻辑。
(3)服务层:服务层为核心算法的调用层。在业务层下,本发明将核心算法封装为http服务形式,使得系统可以根据业务逻辑进行调用。服务层的服务为语音识别与识别文本后处理。
(4)数据层:数据层为系统运行所依赖的数据,包括数据库表、与服务层算法模型与配置文件。
对于系统功能设计,系统总功能图如图11所示。
根据需求分析系统两种主要功能形式,通过功能流程与的形式表现功能实现的设计。
通用录入语音转写(或语音听写)功能流程图如图12所示。
模板录入的功能流程图如图13所示。
3.2系统实现
3.2.1核心功能算法实现
核心功能算法包括语音识别模块的实现与识别文本后处理模块的实现,其实现与业务功能的实现是解耦的。
语音识别模块中,声学模型部分的开发使用了所在团队已有的技术方案,语言模型的训练主要使用了SRILM工具包,具体的训练数据与模型介绍已在前文中介绍。
识别文本后处理模块中,标点预测是基于TensorFlow框架进行实现,文本逆标准化模型是基于Pytorch框架进行实现。TensorFlow与Pytorch均为目前主流的深度学习框架。BETR预训练模型采用的为谷歌公开的bertbase,chinese预训练模型。关于模型的训练数据与模型具体模型结构与超参数设置在前文中已经介绍。
语音识别模块与识别文本后处理模块均部署在GPU集群服务器上,利用flask框架封装为http服务调用形式,根据业务逻辑由软件系统进行调用。
3.2.2业务功能实现
本发明软件系统的开发实现是基于B/S架构的web网站形式,后端开发使用的flask框架。Flask框架是python的后端框架,具有便捷等特点。前端开发使用了bootstrap框架。本系统中文件的传输使用的套接字通信实现,上传的音频文件使用ffmpeg工具进行采用率与格式的处理转换。由于未接入语音识别的流式解码,语音听写形式也是将本地录制的录音文件上传进行识别。
语音听写界面,点击麦克风图标进行录音,录音功能通过JavaScript调用实现。
语音转写界面,用户点击上传图标选择本地的音频文件,上传进行转写。
模板管理页面,用户可以添加新模板以及查看或修改模型详细内容。
模板管理页面,用户对模板详情内容进行查看修改,或删除。本系统中的数据库表只有一张,即模板表,使用的数据库为MySQL数据库。
模板录入界面,左侧为调用模板命令触发后的模板内容提示,右侧为识别文本的显示与文件上传按键。文件上传与语音转写的形式相同。本发明将算法技术进行整合,完成了软件系统的搭建。首先分析了在医疗领域场景的用户需求,对用户的行为与系统功能进行分析。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种语音识别方法,其特征在于,所述语音识别方法通过基于医疗领域文本数据上进行语言模型建模对医疗领域语音识别;对识别文本进行后处理得到阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测识别文本添加表征句子边界信息的标点符号,文本逆标准化将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式;
所述语音识别方法的识别后处理模块包含为语音识别产生的没有标点的口语文本添加标点的标点预测与将口语文本发音汉字形式的文本转写为适宜人阅读的数字、符号,达到适宜人阅读的形式的文本逆标准化;
所述标点预测采用的基于文本特征的方法,未使用声学相关特征,在纯文本数据上进行模型的训练;标点预测作为序列标注任务,即为给定文本序列中的每一个token预测其标签y,y即为该token后出现的标点,若该token后无标点则预测为O;主要处理的标点为句号、顿号、冒号、逗号四种医疗领域中出现的形式;
标点预测采用的模型结构为BERT-BiLSTM-CRF,BERT模型是两阶段的语言模型,首先在大规模语料上进行预训练,然后在BERT模型之后接入特定任务的模型参数,对下游任务进行微调fine-tuning;BERT引入了Masked LM的预训练任务,在训练中将一定比例的token进行遮掩mask,再将遮掩的token对应的模型最终输出的隐向量输出到softmax层中进行预测重建;通过Masked LM任务,能够促使模型学习深度双向信息;BERT还引入了Next SentencePrediction任务,以期对句子级别的信息进行学习,Next Sentence Prediction任务的预训练构建了50%正常连续的句子对与50%随机选取的句子对,进行二分类的任务学习;NSP任务以期提高问答QA与自然语言推理NLI注重句子关系的任务的性能;
在所用数据为医院病历文本数据,即先前进行语言模型训练使用的病历文本数据;首先,对数据进行清洗处理,去除特殊符号、标记无关内容,将数据形式为读形式文本,并去除或替换其他标点符号,只保留“。句号”、“,逗号”、“:冒号”、“、顿号”四种标点符号;
在输入形式上,为防止模型对输入序列末尾添加句号的几率过高,数据输入形式为在包含完整句子的情况下,对200个token进行截断,训练语料共有语料11600条;测试集含有714条语料;
BiLSTM的层数为1层,LSTM隐层单元为128,BERT使用的google公开的中文预训练模型,层数为12层,隐层单元为768,多头注意力取值为8;实验的评价指标为分类任务的精确率precision,召回率recall,与F1值;指标为分类任务的常用指标,计算方法如下:
定义TP为真实值与预测值均为正类;FP为真实值为负类,预测值为正类;FN为真实值为正类,预测值为负类;精确率的计算公式为表示预测为正类的样本中正确的比例;召回率的计算公式为表示真实值为正类的样本中正确预测为正类的比例;F1值为精确率与召回率的调和平均值,公式为
各标点的指标为将该标点本身视为正类,其他视为负类;Overall为将所有标点视为正类,非标点(即O标签)视为负类;
将文本逆标准化任务看作机器翻译任务,以序列到序列Sequence2Sequence的生成式方法进行,将带有“读形式”非单词符号的识别文本序列转写为“写形式”的文本序列;利用神经网络模型,更好地结合上下文语义信息,以数据驱动的形式进行文本逆标准化的任务;
以机器翻译的任务进行,采用的模型结构带注意力机制的编码器-解码器码Encoder-Decoder框架:编码器与解码器的基本结构为LSTM,编码器为双向的LSTM,模型加入了注意力机制ttention Mechanism;在解码阶段,使用pointer generator进行生成,提高与原句重合的token的生成概率,编码器与解码共享词表与嵌入层;
引入了attention机制,在每一个时间步产生一个语义向量ci来加强对编码端信息的利用;语义向量ci取决于编码器将输入编码得到的隐状态向量序列hj认为其包含表示整个输入序列中重点放在第i个字周围的信息,αij为第i个时间步时对hj的attention权重,通过加权求和,得到该时间步的语义向量ci:
attention权重αij的计算如公式:
其中eij=a(si,hj)是一个对齐模型,基于编码向量hj与解码器的状态si,对输入序列中位置j周围的信息与输出序列中位置i周围的信息的对其程度进行评分;使用的MLP的attention计算方式,语义向量ci能够在i时刻解码时,更好地利用与该时刻解码相关的编码向量,Attention机制已应用在多种NLP任务当中;
引入copy机制,使用pointer-generator进行解码,对于pointer-generator的解码器,在每个解码器时间步生成概率pgen∈[0,1],通过pgen权衡从输出词汇表生成单词的概率与从源文本复制单词的概率;最终的概率分布由输出词汇表概率分布和注意力分布进行加权和求和得到;其中注意力分布复用了编码器生成的注意力分布,在最终的概率分布P(w)上,预测解码的结果:
2.如权利要求1所述的语音识别方法,其特征在于,所述语音识别方法基于混合架构的语音识别技术,即使用HMM作为语序列的生成模型;首先通过去噪方法对语音进行增强,然后将信号由时域转换到频域,最后提取适用于AM建模的特征向量;声学模型对声学和发音学知识进行建模,其输入为特征抽取模块产生的特征向量,输出为语音的声学模型得分;语言模型用于估计文本语句产生的概率,称为语言模型得分;
所述语音识别方法在交叉熵训练过深度神经网络后,再进行序列鉴别性训练;
(1)交叉熵准则CE训练,交叉熵是深度神经网络解决分类任务时常用的训练准则,计算公式:
在分类任务中,衡量真实标签p(x)与预测标签q(x)之间分布的差异,并不断优化真实分布于预测分布之间的差异;而KL散度则能够用于衡量两个概率分布之间的差异,其计算公式:
经过变换可得形式:
该式前一部分为p(x)的熵,熵为常量,计算值对结果无影响,后一部分即为p(x)与q(x)的交叉熵;通过对交叉熵的优化;
(2)序列鉴别性训练
序列鉴别性训练为区分性训练,交叉熵的训练只在帧级别上进行分类,最小化训练数据中的帧错误率;序列鉴别性训练解码词格中产生错误的参数,优化整体模型性能:
MBR的目标方程能写作:
序列鉴别性训练的目标函数均可以被形式化为两个词图的值的比率:代表参考标注的分子词图和代表与之竞争的解码输出的分母词图;
(3)大规模中文语音数据集训练,模型结构为LSTMP-HMM,在大规模中文语音数据集上进行训练;数据量级在数千小时以上,包括不同时长、不同噪音环境与地域及不同场景;训练方法上,采用了sMBR序列鉴别性训练方法,以及预训练。
3.如权利要求1所述的语音识别方法,其特征在于,所述语音识别方法对N-gram语言模型建模使用的是Witten-Bell折扣算法,并使用插值算法进行插值进行平滑处理;
(1)语言模型的训练,在进行语言模型训练之前,训练数据的清洗与预处理;其中数据清洗包括去除爬取的网页内容中包含的html标签、乱码垃圾信息;文本标准化指的是将写形式的数字、符号转写为读形式的发音汉字;在清洗处理后的文本上,通过SRILM工具,构建了N-gram语言模型,其中N的取值为4;
(2)语言模型的插值,组合来自不同的训练数据的语言模型,使用线性插值的方法整合为一个模型;线性插值模型的公式:
pLI(w|h)=∑iλipi(w|h);
pi(w|h)是第i个ngram模型中以h为历史的单词w的概率,λi是线性插值的权重值,∑iλiλi=1;
通用语言模型的训练数据,包括对微博、博客、新闻多个网站爬取的文本数据以及口语文本数据,已插值整合为一个通用语言模型,并进行了剪枝以减小模型的规模,模型称之为Model1;
第二个模型为医疗咨询网站语言模型,爬取了某医疗咨询网站的咨询问答的文本数据,数据量大小为3.1G,在该文本数据上训练医疗咨询网站语言模型,并与Model1进行插值,称之为Model2;
第二个模型为医疗病历语言模型,训练数据为与合作医院得到的病历文本数据,数据经过了脱敏处理,将数据增广为5倍,大小为818M;其与Model2进行插值,称之为Model3;
(3)语言模型与语音识别解码:
在语音识别解码阶段,语音模型、发音模型以及声学模型中HMM模型中的信息会提前构建为图,然后在待识别语音的声学信息指导下在图中利用维特比搜索算法,找出和语音最匹配的路径,语音识别解码过程是一个在图中搜索的过程;语言模型、发音模型表示为WFST的形式进行构图;N-gram语言模型中的概率经过处理后直接作为图的权重;当图构建完成后,语言模型就成了图权重的一部分,解码时直接使用图的权重进行搜索解码,实现语言模型在语音识别解码中的应用。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~3任意一项的语音识别方法。
5.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~3任意一项的语音识别方法。
6.一种实施权利要求1~3任意一项所述语音识别方法的语音识别系统,其特征在于,所述语音识别系统包括:
语音识别模块,用于为对声学模型的技术原理进行介绍与实验验证,以及通过基于医疗领域文本数据上进行语言模型建模提高医疗领域语音识别的效果;
识别文本后处理模块,用于实现对识别文本进行后处理得到适宜人阅读的形式,包括标点预测与文本逆标准化两种后处理任务;标点预测研究识别文本添加表征句子边界信息的标点符号,文本逆标准化研究将识别文本中朗读形式的符号发音文本转写为阅读形式的符号形式。
7.如权利要求6所述的语音识别系统,其特征在于,所述语音识别系统还包括:
通用语音录入单元,形式为用户自主输入音频,由音频输入形式的不同,分为语音听写与语音转写;
语音听写,实现用户在客户端点击按钮开始录音,由麦克风进行音频录制,进行语音听写;
语音转写,实现用户选择音频文件上传进行语言转写,返回识别结果;
模板语音录入单元,通过提取设置病历模板便于语音的录入,包括两个功能需求:模板语音录入与模板管理功能;
模板管理:用户设置病历模板,根据模板提示与病患具体情况进行录入,用户可对病历模板进行增加、删除、修改的管理操作;
模板语音录入:当识别出“调用模板”关键词时,检索数据库中是否存储了该模板,系统为用户显示病历模板内容或提示信息,用户根据模板提示内容与病患具体情况进一步语音录入。
8.如权利要求6所述的语音识别系统,其特征在于,所述语音识别系统还包括:
显示层:为系统面向用户的展示接口,为对各类信息进行展示的显示页面,显示层实现用户与系统的各种交互操作,并将业务层的结果展示给用户;
业务层:为系统的业务功能,根据用户操作,以及服务层和数据层的支持,实现系统功能的业务逻辑;
服务层:为核心算法的调用层,在业务层下,将核心算法封装为http服务形式,使得系统根据业务逻辑进行调用,服务层的服务为语音识别与识别文本后处理;
数据层:为系统运行所依赖的数据,包括数据库表、与服务层算法模型与配置文件。
9.一种终端智能家居语音识别终端,其特征在于,所述终端用于实现权利要求1~3任意一项所述的语音识别方法;所述终端包括:智能家居语音识别终端、机器人、无人机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533459.XA CN112712804B (zh) | 2020-12-23 | 2020-12-23 | 语音识别方法、系统、介质、计算机设备、终端及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533459.XA CN112712804B (zh) | 2020-12-23 | 2020-12-23 | 语音识别方法、系统、介质、计算机设备、终端及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112712804A CN112712804A (zh) | 2021-04-27 |
CN112712804B true CN112712804B (zh) | 2022-08-26 |
Family
ID=75543543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011533459.XA Active CN112712804B (zh) | 2020-12-23 | 2020-12-23 | 语音识别方法、系统、介质、计算机设备、终端及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712804B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378541B (zh) * | 2021-05-21 | 2023-07-07 | 标贝(北京)科技有限公司 | 文本标点预测方法、装置、系统及存储介质 |
CN113362811B (zh) * | 2021-06-30 | 2023-03-24 | 北京有竹居网络技术有限公司 | 语音识别模型的训练方法、语音识别方法和装置 |
CN113723050A (zh) * | 2021-07-23 | 2021-11-30 | 内蒙古工业大学 | 一种基于语音交互的word文档处理系统及方法 |
CN113643694A (zh) * | 2021-08-17 | 2021-11-12 | 科大讯飞股份有限公司 | 语音识别方法、装置、电子设备和存储介质 |
CN113763939B (zh) * | 2021-09-07 | 2024-04-16 | 普强时代(珠海横琴)信息技术有限公司 | 基于端到端模型的混合语音识别系统及方法 |
CN114120975A (zh) * | 2021-11-11 | 2022-03-01 | 北京有竹居网络技术有限公司 | 用于语音识别标点恢复的方法、设备和存储介质 |
CN113782001B (zh) * | 2021-11-12 | 2022-03-08 | 深圳市北科瑞声科技股份有限公司 | 一种特定领域语音识别方法、装置、电子设备及存储介质 |
CN114462364B (zh) * | 2022-02-07 | 2023-01-31 | 北京百度网讯科技有限公司 | 录入信息的方法和装置 |
CN114495114B (zh) * | 2022-04-18 | 2022-08-05 | 华南理工大学 | 基于ctc解码器的文本序列识别模型校准方法 |
CN115938353B (zh) * | 2022-11-24 | 2023-06-27 | 北京数美时代科技有限公司 | 语音样本分布式采样方法、系统、存储介质和电子设备 |
CN116306687B (zh) * | 2023-05-25 | 2023-08-18 | 北京梆梆安全科技有限公司 | 一种医疗咨询平台自检测系统及医疗咨询平台 |
CN116680377B (zh) * | 2023-06-01 | 2024-04-23 | 广州中康数字科技有限公司 | 基于日志反馈的中文医学术语自适应对齐方法 |
CN116383367B (zh) * | 2023-06-06 | 2023-08-11 | 北京啄木鸟云健康科技有限公司 | 对话系统冷启动阶段的数据处理方法、装置、设备及介质 |
CN117351940B (zh) * | 2023-12-05 | 2024-03-01 | 中国科学院自动化研究所 | 基于语音大模型的合成语音检测方法及装置 |
CN117827886B (zh) * | 2024-03-06 | 2024-04-30 | 北京长河数智科技有限责任公司 | 一种基于大语言模型的自然语句转sql语句的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067514A (en) * | 1998-06-23 | 2000-05-23 | International Business Machines Corporation | Method for automatically punctuating a speech utterance in a continuous speech recognition system |
EP1887451A2 (en) * | 2000-10-18 | 2008-02-13 | 602531 British Columbia Ltd. | Data entry method and system for personal computer, and corresponding computer readable medium |
WO2012039686A1 (en) * | 2010-09-24 | 2012-03-29 | National University Of Singapore | Methods and systems for automated text correction |
CN109410949A (zh) * | 2018-10-11 | 2019-03-01 | 厦门大学 | 基于加权有限状态转换器的文本内容添加标点方法 |
CN111737989A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种意图识别方法、装置、设备及存储介质 |
CN112016320A (zh) * | 2020-09-14 | 2020-12-01 | 深圳市北科瑞声科技股份有限公司 | 基于数据增强的英文标点符号添加方法和系统及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259176A (ja) * | 1999-03-08 | 2000-09-22 | Nippon Hoso Kyokai <Nhk> | 音声認識装置およびその記録媒体 |
US10860685B2 (en) * | 2016-11-28 | 2020-12-08 | Google Llc | Generating structured text content using speech recognition models |
CN108648748B (zh) * | 2018-03-30 | 2021-07-13 | 沈阳工业大学 | 医院噪声环境下的声学事件检测方法 |
CN109147767A (zh) * | 2018-08-16 | 2019-01-04 | 平安科技(深圳)有限公司 | 语音中的数字识别方法、装置、计算机设备及存储介质 |
CN109446508B (zh) * | 2018-10-19 | 2023-06-02 | 科大讯飞股份有限公司 | 一种文本规整方法、装置、设备及可读存储介质 |
CN111435595A (zh) * | 2019-01-10 | 2020-07-21 | 北京搜狗科技发展有限公司 | 文本规整方法及装置 |
CN110675951A (zh) * | 2019-08-26 | 2020-01-10 | 北京百度网讯科技有限公司 | 智能化的疾病诊断方法及装置、计算机设备与可读介质 |
CN111339750B (zh) * | 2020-02-24 | 2023-09-08 | 网经科技(苏州)有限公司 | 去除停用语并预测句子边界的口语文本处理方法 |
CN111898014B (zh) * | 2020-08-12 | 2021-07-13 | 哈尔滨工业大学 | 一种面向认知服务的用户意图识别方法及系统 |
CN112016314A (zh) * | 2020-09-17 | 2020-12-01 | 汪秀英 | 一种基于bert模型的医疗文本理解方法及系统 |
-
2020
- 2020-12-23 CN CN202011533459.XA patent/CN112712804B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067514A (en) * | 1998-06-23 | 2000-05-23 | International Business Machines Corporation | Method for automatically punctuating a speech utterance in a continuous speech recognition system |
EP1887451A2 (en) * | 2000-10-18 | 2008-02-13 | 602531 British Columbia Ltd. | Data entry method and system for personal computer, and corresponding computer readable medium |
WO2012039686A1 (en) * | 2010-09-24 | 2012-03-29 | National University Of Singapore | Methods and systems for automated text correction |
CN109410949A (zh) * | 2018-10-11 | 2019-03-01 | 厦门大学 | 基于加权有限状态转换器的文本内容添加标点方法 |
CN111737989A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种意图识别方法、装置、设备及存储介质 |
CN112016320A (zh) * | 2020-09-14 | 2020-12-01 | 深圳市北科瑞声科技股份有限公司 | 基于数据增强的英文标点符号添加方法和系统及设备 |
Non-Patent Citations (1)
Title |
---|
通过标点恢复提高机器同传效果;陈玉娜等;《计算机应用》(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112712804A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112712804B (zh) | 语音识别方法、系统、介质、计算机设备、终端及应用 | |
CN110782870B (zh) | 语音合成方法、装置、电子设备及存储介质 | |
US10049106B2 (en) | Natural language generation through character-based recurrent neural networks with finite-state prior knowledge | |
Hahn et al. | Comparing stochastic approaches to spoken language understanding in multiple languages | |
CN111145718B (zh) | 一种基于自注意力机制的中文普通话字音转换方法 | |
CN109887484B (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
Alsayadi et al. | Arabic speech recognition using end‐to‐end deep learning | |
CN114580382A (zh) | 文本纠错方法以及装置 | |
CN112466279B (zh) | 一种英语口语发音自动纠正方法和装置 | |
US11322133B2 (en) | Expressive text-to-speech utilizing contextual word-level style tokens | |
Deepak et al. | An artificially intelligent approach for automatic speech processing based on triune ontology and adaptive tribonacci deep neural networks | |
Alrumiah et al. | Intelligent Quran Recitation Recognition and Verification: Research Trends and Open Issues | |
Viacheslav et al. | System of methods of automated cognitive linguistic analysis of speech signals with noise | |
Thennattil et al. | Phonetic engine for continuous speech in Malayalam | |
Bai et al. | Integrating knowledge into end-to-end speech recognition from external text-only data | |
Veisi et al. | Jira: a Central Kurdish speech recognition system, designing and building speech corpus and pronunciation lexicon | |
Saha | Development of a bangla speech to text conversion system using deep learning | |
CN113012685B (zh) | 音频识别方法、装置、电子设备及存储介质 | |
Manishina | Data-driven natural language generation using statistical machine translation and discriminative learning | |
Pilar | Knowledge-driven subword grammar modeling for automatic speech recognition in tamil and kannada | |
Yolchuyeva | Novel NLP Methods for Improved Text-To-Speech Synthesis | |
Theis | Learning to detect named entities in bilingual code-mixed open speech corpora | |
Sharan et al. | ASR for Speech based Search in Hindi using Attention based Model | |
WO2022074760A1 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
Porjazovski | End-to-end named entity recognition for spoken Finnish |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |