Abstract
在本文中,我们描述了用于从医学对话中提取临床相关信息的新组件,这些组件将作为Google API提供。我们描述了一个基于transformer的 Recurrent Neural Network Transducer(RNN-T)模型,该模型为 长格式音频 量身定制,可以产生丰富的转录,包括 说话人分割、说话人角色标记、标点符号和大写字母 。在一个有代表性的测试集上,我们比较了具有不同encoders、units和streaming约束的RNN-T模型的性能。我们基于transformer的流模型在ASR任务上的WER约为20%,在diarization任务上的WDER为6%,在句号上的SER为43%,在逗号上的SER为52%,在问号上的SER为43%,在大写字母上的SER为30%。 我们的识别器与一个置信度模型配对,该模型利用了来自识别器的声学和词汇特征 。该模型的性能约为0.37 NCE。最后,我们描述了一个基于RNN-T的标注模型。模型的性能取决于ontologies,药物的F-scores为0.90,症状的F-scores为0.76,疾病的F-scores为0.75,诊断的F-scores为0.76,治疗的F-scores为0.61。虽然仍有改进的余地,但我们的结果表明,这些模型对于实际应用来说是足够准确的。
Introduction
医学对话是临床记录和决策的重要信息来源。随着自动语音识别(ASR)和自然语言处理(NLP)技术的成熟,从这些对话中自动提取有用信息已经成为相当大的研究兴趣[1,2,3]。以前的工作主要集中在某些子问题上,如转录的摘要,ASR的错误分析,或从文本到ASR转录的适应工具。相反,我们 将重点放在从原始音频中提取临床信息所需的最小组件上 ,从医学对话的 rich transcription 开始,如第2节所述。我们在第3节中深入研究了 置信度评分 的估计,这是医疗ASR中最需要的功能之一,因此 用户可以决定何时信任识别输出的正确性 。最后,我们在第4节中描述了一个Recurrent Neural Network Transducer(RNN-T)的 标注器 ,这是我们所知的第一个此类标注器。
Rich Transcription
语音识别是理解医学对话的第一步。在深入研究我们的ASR模型的细节之前, 了解医学对话的本质和相关的挑战是有用的 。
在 说话者 、 说话风格 和 持续时间 方面,医学对话中的音频与医学听写或数字助理等应用有本质上的不同。对话可能涉及 2-5名说话者 —— 医生 、 护士 、 病人 、 护理人员 和 其他临床支持人员 。 音频通常由远场麦克风捕获,与扬声器的距离变化很大 。与其他会话语料库(如Switchboard)相比, 该语料库的风格是协作式的,相对较少的串音,因为各方都对高效有效地解决手头的问题有既得利益 。更重要的是, 对话时间相当长 。虽然 平均持续时间约为11分钟,但有些谈话超过了一个小时 。请注意,最近有几篇论文将长格式音频(例如librisspeech任务)视为短片段的串联,这会导致次优性能。有关语料库的更多细节,请参见[4]。
由于 总体目标是理解医学对话 ,我们需要创建一个 丰富的对话转录 ,不仅 包括标点符号、大写字母和自信分数 ,还需要执行 diarization任务 ,包括 推断说话人的turns ,并 将它们与说话人联系起来 ,这样我们就 知道谁什么时候说了什么 。由于我们的任务类似于NIST的Rich Transcription任务,因此我们借鉴了它们的置信度和diarization指标[5]。在下文中,我们将讨论 这些需求如何影响建模选择 。
将语音识别模型分解为单独训练的声学模型P(X|W)和语言模型P(W),首先被表述为隐马尔可夫模型(HMM),仍然是ASR的主要选择。在这个框架中,即使声学模型是用MMIE或MPE[6,7]等判别函数训练的,或者声学模型是用lstm[8]或transformer[9,10]建模的,声学模型和语言模型之间也缺乏强耦合。这种耦合的缺乏使得在rich transcription中难以同时利用声学和语言线索。
基于具有注意机制的序列到序列模型的替代方法可以联合优化声学(编码器)和语言(解码器)组件[11,12,13]。虽然这些是适合 rich transcription的模型,但它们的输出受到 删除 和 重复 的影响,特别是当输入序列 很长 时。在实践中,这已经通过一些特殊的方法得到了一定程度的缓解,比如输入覆盖惩罚和单调对齐约束。在之前关于医学对话的工作中,删除问题没有被注意到,因为模型是在选择的分割数据上进行训练和评估的,其中排除了难以识别的片段[14]。
Recurrent Neural Network Transducer(RNN-T)模型类似于基于注意力的序列到序列模型,编码器和解码器通过一个损失函数共同优化[15],使得这些模型也适用于rich transcription。此外,推理以 时间同步 的方式执行,并使用 考虑每个输入帧 的 beam search 过程。因此,与注意力模型不同,它们 不存在删除或重复问题 ,也非常适合流式应用[16]。
在我们之前的工作中,我们证明了RNN-T可以使用双向LSTM编码器在非流应用中准确预测说话人的turn和两个说话人的角色标签[4]。在本文中,我们研究了如何将RNN-T模型应用于流式ASR应用程序中,以便对具有更多说话者的长医学对话进行rich transcription。
Experimental Setup
我们的实验是在一个大约100K(≈15K小时)的大型语料库上进行的,这些语料库是医生和患者之间的临床对话的人工转录录音。除了医疗提供者(医生或护士)和患者之外,对话还可能包括护理人员和其他支持人员。与[4]相比,我们总共建模了4个说话人角色,在[4]中,我们将实验限制为2个说话人角色。
利用基于神经网络的语音检测器对整个对话进行自动分割,对模型进行评估。此外,为了了解模型性能对不同话语的影响,我们创建了三个版本的测试集,分别为5秒、10秒和15秒。这些片段是使用与参考转录文本的维特比比对创建的。
在这里插入图片描述
Choice of Encoder and Units
长序列 的流式转录对编码器提出了挑战。它们需要在 不观察整个输入序列的情况下捕获足够的时间依赖性 ,以便进行准确的预测。另一个加剧这一挑战的复杂性是 训练和测试场景之间的不匹配 。训练数据通常是分段的,这样它们就可以在加速器上大量有效地训练。 双向编码器往往对这种不匹配不太敏感,但自回归编码器在处理长话语时显示出很高的删除率 。已经提出了几种解决方法,包括每N帧重置LSTM状态[17]。
针对流式应用,已经提出了有限、固定尺寸attention的transformer[18]。与计算整个序列的注意力分数不同,这个改进版本的transformer采用了一种方法,将计算限制在一个固定的窗口,并根据层数分层构建receptive receptive[19]。他们展示了在librisspeech上的性能提升[20],它的片段比我们的任务相对较短。
虽然 语素(morphemes)等较长的units[21]在双向编码器中可能是有益的,但在单向编码器中缺乏足够的未来(正确)上下文可能比字素(graphemes)等较小的单位更容易debilitating 。
输出帧率需要与目标units的大小相关联 。这种考虑导致将 字素 和 语素 的 输出速率 分别调整为 40ms 和 80ms ,分别使用 2 和 3 个 sub-sampling 或TDNN层实现,类似于我们之前的工作[22]。
一帧10ms,
降采样为40ms(字素),
降采样为80ms(语素)。
ASR Performance
在这里插入图片描述
表2总结了流式和非流式模型的结果。重点是:
- (a ) 无论units或序列长度如何,transformer编码器的性能都比具有TDNN层的双向LSTM高20%左右;
- (b ) 对于非流transformer编码器,其性能不依赖于units的选择;
- (c ) 对于全上下文LSTM/TDNN编码器,当使用较大的语素单位时,性能提高约10%;
- (d ) 失去 right context 会导致表现下降10%到20%,语素越大,下降幅度越大;
- (e ) 当只使用 left context时,较短的字素单位比语素单位低约10%,特别是对于较长的序列,并且在两种编码器中都是一致的。
Rich Transcription Performance
说话人分割和角色预测 的性能是用 Word Diarization Error Rate(WDER) 来衡量的,WDER是文本中带有正确说话人标签的单词的百分比,类似于NIST评估中的指标[23]。使用 Slot Error Rate(Slot Error Rate, SER)来衡量标点符号的表现 ,这在之前的工作中有定义[24,25]。为了测量 大写 性能,使用一个特殊的标记来表示一个大写单词,我们测量该token的SER。
表3比较了非流式(NS)、流式(S)和编码器中跨段保存状态的流式(S-ESS)下rich transcription性能。值得注意的是,当从非流式场景(NS中WDER为3.2%)到流式场景(S-ESS中WDER为5.6%)时, 跨语音段扩展左上下文对于保持说话者角色预测的高精度至关重要 。如果没有状态保存机制,流式情况下的性能会大幅下降(S中的WDER为9.7%)。
我们的研究结果表明, 大写(capitalization)比预测标点(punctuation)更容易 ,而在标点中 句号和问号比逗号更容易 。与 流式场景相关的性能损失无法通过状态保存恢复 (未显示)。不幸的是,最近关于标点和大写的研究很少。在文本语料库上预训练的模型已被用于ASR输出的后处理,以预测标点和大写[26]。他们使用F1-score,该评分不考虑2倍的删除和插入折扣[24]。在NIST Rich Transcription评估的背景下,据报道,在ASR输出和人工转录文本中,预测标点符号的SER分别为68%和53.5%[25]。我们的结果比较有利,而且我们的模型不像前面提到的工作那样需要后处理ASR输出。
Confidence Models
关于建立 ASR输出 的稳健而准确的 置信度 估计已经进行了20多年的研究[27,28]。在声学和语言模型分开估计的早期,主流范式涉及 从ASR lattices中提取声学和语言特征,并使用单独的分类器预测分数 [28]。在神经网络模型中,一种流行的技术涉及 修改主识别器或分类器本身的后验概率(softmax输出) [29]。不幸的是,与没有集成语言模型的CTC模型相比, RNN-T 模型具有非常 偏斜的后验概率 [30]。此外,RNN-T模型使用负对数似然进行优化, 这(偏斜的后验概率)可以通过增加正确样本的 logits 值来降低 [31]。最近,人们提出了具有注意力的序列到序列模型,该模型可以灵活地使用ASR模型的各种特征[32,33]。
我们为RNN-T提出了一个置信度模型,该模型利用了与 输出标签相关的声学和语言特征 。对于 每个假设的输出标签 ,我们从 ASR编码器输出 中提取潜在的 声学表示 , 在标签发射时堆叠3帧左右上下文 。通过 输出标签的 embedding 来增强声学特征 (见图1),并使用两个transformer层和 20个unit注意窗口 进行建模。与之前的工作中T个输入帧和U个输出标签的计算成本为 O(TU)相比,所提出的模型的 计算成本为 O(U) [33],这使得我们即使在流式ASR应用中也可以计算分段的置信度。
预测文本与参考文本是否相同作为置信度的label。
训练置信度需要先有一个训练好的ASR模型,这样就可以解码出每个输出标签对应声学的 emission frame。这个ASR模型一般是freeze的。
输出标签的embedding,其实就是LM的output logits。
置信度模型改成流式的模型,就可以做流式置信度。
可以尝试的点迭代优化(是否成立呢?):通过EM算法,交替训练ASR和Confidence Model,这样置信度的label信号可以指导优化ASR。先固定ASR,提取emit frame,训练置信度 N轮;放开ASR,固定置信度,训练M轮;重新固定ASR,提取emit frame,训练置信度 N轮;如此往复。
置信度是否可以和ASR一同训练呢?也是EM算法,初始输出标签的emit frame平均分配,优化ASR和置信度N轮;重新计算输出标签的emit frame,再优化ASR和置信度;循环往复;
虽然我们表现最好的ASR系统在字素和语素等子词单位上运行,但用户或下游任务需要在word-level上进行置信度估计。一个直接的解决方案包括在单词级别累积特征并在单词级别预测估计。这种方法的缺点是, 单词的数量明显低于字素的数量(应该指的是输出长度),约为4倍 。我们研究了另一种方法,即我们 强制模型预测所有的字素是不正确的,即使在相关单词中只有一个字素是不正确的,而所有其他字素都是正确的 。将ASR假设与参考文献对齐后提取训练样本。在推理时, 通过平均相应子词单元的得分来估计词水平置信度得分 。
对于词级别的置信度评估,不是通过累计子词的特征来评估的。而是将子词映射到词级别,再词级别与参考文本对齐,如果某个词错误了,则认为此词对应的子词全部预测错误,即对应子词的label全部标记为False。而推理的时候,只需要将子词对应的置信度分平均即可作为词单元的置信度。
置信模型 的性能主要使用 normalized cross-entropy(NCE) 来 衡量 [34]。在实际应用程序中,用户或下游应用程序可能希望选择一个 置信度阈值 来对单词进行 正确 或 不正确 的分类。由于现在的ASR系统具有比不正确的预测更多的正确预测(预测正确的更多),因此 选择阈值 的最相关的性能权衡曲线是 Negative Predictive Value(NPV) 和 True Negative Rate(TNR) 。
A Guide To Normalized Cross Entropy交叉熵是衡量分类问题中类的预测概率和真实概率之间的不相似度的度量。归一化交叉熵是对交叉熵度量的修改,它考虑了基线。
Experimental Results
置信度的训练数据应该是真实数据。
除了训练对话外,还在 6k个hold out上训练了置信度模型 ,并在相同的ASR评估集上进行了评估。作为参考,当使用(streaming morpheme)RNN-T模型的后验概率作为置信度分数时,其性能对应于NCE为 -0.40。接下来,我们尝试用以下技术正则化置信度得分: 1) label smoothing 的RNN-T模拟 (NCE = -0.14); 2)采用temperature标度[29](NCE = -0.41); 3)通过在标记嵌入中添加高斯噪声来减少语言模型过拟合(NCE = -0.13),这些方法都没有帮助。
所提出的置信模型大大提高了性能,NCE得分始终高于0.3。四种系统之间的性能差异在其他指标方面受到限制,如s Expected Calibration Error(0.02至0.03),
(0.86至0.89)和
(0.95至0.97)。
Extracting Medical Information
Task Description
为了开发NLP模型,提供者和抄写员在临床对话中注释了有用的 实体 和 属性 [35]。这些实体包括64万种 症状 、10万种 药物 、42万种 病症 、6万种 治疗方法 和38万种 诊断 。 外行人对症状的描述使用标准化标签进行标记 。例如,“反胃”或“急于呕吐”被贴上了临床术语“恶心”的标签。药物被视为一个开放的集,并捕获所有药物标签适用于所有直接和间接提及的药物。这包括具体和非具体的参考,如“泰诺”,“止痛药”和“药物”。已注释的与药物实体相关的属性包括 Prop:频率、 Prop:剂量、 Prop:模式和 Prop:持续时间。病情分为: 病情:患者、 病情:家族史和 病情:其他。
开发和测试集与第2.1节中描述的ASR语料库保持一致。然而,训练集要小得多,只有5000个对话,因为标注是劳动密集型的。
Modeling Architecture
Linear-Chain Conditional Random Fields(Linear-Chain Conditional Random Fields, CRF)常用于命名实体标记[36]。当标签集很小时,它们工作得很好,但如果像我们的情况那样多个本体联合建模,则计算成本很高。分层方法通过使用单独的跨度提取和属性标记层来分解问题[37]。
带有注意力的序列到序列模型也被用于标记任务[38]。目标序列形成一个标签序列,不包括(BIO注释)。虽然这个模型没有大的标签空间,但是标签没有分配到输入文本中的特定位置,使得输出的可解释性较差。
据我们所知,RNN-T还没有被用于命名实体标记任务。它们提供了与其他序列到序列模型相同的好处,此外,还指定了标签在输入中的位置。该模型可以很容易地扩展到大型标签集,并且解码器可以捕获它们之间的依赖关系,例如, 药物:泰诺的预测可以从序列中更早的系统疼痛预测中受益。与传统的标记方案不同,目标序列仅包含每种标记的开始和结束符号,并且由发射时间步长确定位置。
Fixed Alignment Training of RNN-T
与其他序列到序列模型类似,RNN-T学习对齐,特别是通过最大化边际P(Y |X),通过对可能的对齐求和计算,
。训练有效地忽略了人类注释的关于输入中标签位置的对齐信息,使训练任务比需要的更难。
我们提出了一个更好地利用人工注释的修改。我们将位置信息编码为在RNN-T对齐网格中形成有效路径的空白和标签步骤序列,并修改目标函数,以便仅使用该特定路径,即我们直接最大化
,其中
是来自人类注释的对齐。模型不再尝试学习对齐,而是给出它们。它仍然对输入和输出之间的联合依赖进行建模,并且像常规RNN-T一样使用维特比束搜索进行推理。
Experimental Results
表5总结了主要结果,其中我们将标准RNN-T与固定对齐模型进行了比较。编码器是一个类似于用于ASR的transformer,并且使用所有100k对话用屏蔽LM损失[39,40]进行预训练。注意,我们的标记模型与我们的ASR模型相同,除了固定的对齐损失。
我们用序列长度约为50个单词的正则RNN-T训练模型。使用较长的序列训练规则的RNN-T模型会随着对齐学习问题的加剧而导致性能大幅下降,而固定对齐的RNN-T模型在推理中对较长的序列具有鲁棒性。总体而言,固定对齐模型对基线RNN-T进行了改进,特别是在属性、疾病、诊断和治疗方面。
在第二组实验中,我们使用95k个未标记的对话进行自我训练,如表5最后一列所述,我们看到症状、疾病、条件和诊断方面有了小小的改善。
Error Analysis
在之前的工作中,我们分析了临床信息提取中常见的错误[35]。约30%的残差与不良参考文献有关。我们在这个模型中也注意到类似的实例。模型正确地标记了“草过敏”这个术语,但参考文献遗漏了这个标签。
we know that you have SYM:IMMUNO:ALLERGIES grass allergies END:SYM because we did our DIAGS:LABS testing END:DIAGS
另一个常见的错误是只识别相关文本的一部分。例如,模型只突出了water,而参考文献则突出了整个短语 eyes would just water。
because I used to have this burning and my eyes would just SYM:EYES:WATEREYE water END:SYM uh-hum
总的来说,这些观察表明自动化度量可能低估了模型的性能。
Conclusion
在本文中,我们描述了从医学会话中提取临床信息的三个主要组成部分。通过对现实世界测试集的经验评估,我们表明,与LSTMs编码器或更大的语素单元相比,具有transformer编码器和字素单元的RNN-T在流式场景下(WER≈20%)可以提供更好的性能。我们的置信度模型的NCE值为0.37,与最近在相对简单的任务和较短的话语上的其他模型相当[33]。我们展示了一种具有固定对齐损失的新颖且相对简单的RNN-T模型如何比以前使用定制分层模型架构的工作提高性能[37]。
参考文献
-
A Guide To Normalized Cross Entropy:https://forecastegy.com/posts/normalized-cross-entropy/
