没有合适的资源?快使用搜索试试~ 我知道了~
=视觉信息学5(2021)54处方的快速数字化算法Mehul GuptaMuhammad,Kabir Soeny1mg Technologies Private Limited,印度ar t i cl e i nf o文章历史记录:收到2021年2021年6月8日收到修订版,2021年2021年7月17日在线提供保留字:人工智能图像处理医疗保健技术模式智能a b st ra ct处方数据对于医疗保健研究和情报是非常宝贵的,然而,提取这些数据是具有挑战性的,因为这些信息在处方图像中的非结构化和非语法文本中交织在一起。此外,从图像中提取文本本身是困难的,特别是对于手写文本。虽然存在零碎的解决方案,但它们要么局限于一小部分感兴趣的实体,要么准确性很低,而且不可扩展。在本文中,我们提出了两个算法:C-Cube算法的数字化的计算机打印的处方和3-Step过滤算法的手写处方。虽然蛮力方法会将从光学字符阅读器(OCR)接收的每个单词与数据库中所有可能的条目进行匹配,但这种方法效率低下且不精确。我们的算法的前提是应用模式智能来选择一个更小的单词集(从OCR返回的单词中)作为感兴趣的潜在实体。我们在超过10,000张处方图像的语料库上严格测试了这两种算法,并将蛮力技术作为基线方法。关于laving,我们发现C-Cube和3步过滤算法比蛮力方法快588倍和231倍。在准确性方面,我们发现C-cube算法的F分数比蛮力方法的F分数高90%,而3步过滤算法的F分数高出8,600%。这些算法明显比蛮力方法更快、更准确。这些属性使它们适合在实时环境中实现,也适合在各种应用程序的批处理模式中使用。我们希望这些算法在医疗信息的数字化中发挥重要作用,并简要讨论了一些应用。版权所有2021作者。由爱思唯尔公司出版我代表浙江大学和浙江大学出版社有限公司这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍随着大数据现象也渗透到医疗保健行业,为医疗保健中一些最复杂和最具影响力的问题开发先进的解决方案提供了前所未有的机会。例如,据估计,生成的全球患者医疗保健数据在2020年的大小约为25 EB(1 EB 10 18 bytes),Chrimes et al. (2016年)。随着这样的一代大量的信息通常是非结构化的和基于纸张的(例如处方、诊断报告、出院摘要),通过高效和可扩展的技术将这些信息转换为数字格式可以促进基于AI的产品的发展,这些产品不仅对个体患者有益,而且对更广泛的医疗保健研究社区也有益。此外,研究表明,由于缺乏医学知识和无法正确阅读,患者经常误解处方或实验室报告中包含的信息(Davis etal. ,2008; Medicine et al. ,2000年)。因此,这种健康记录的有效数字化可以*通讯作者。https://doi.org/10.1016/j.visinf.2021.07.002例如,刺激基于智能手机的应用程序的开发,这些应用程序可以帮助患者社区解决这些问题。处方是医生处方确保有关处方药物的信息被准确地传递给药剂师,然后药剂师确保药物被无错误地分配。这样的处方可以是完全计算机打印的(因此,下文称为打印处方)或由医生在打印信笺上手写的(下文称为打印处方)。手写处方)。这是一个共同的观察,医生的笔迹是很难理解,里昂等人。 (1998年)。虽然这意味着与手写处方相比,打印处方更容易被人眼阅读,但我们将在本文稍后讨论这种差异也适用于机器阅读。我们的组织1mg Technologies,1mg Technologies(2021)是一个数字医疗保健平台,提供电子订购药物,医疗保健产品和诊断测试以及远程咨询等服务。为了配合业务2468- 502 X/©2021作者。由爱思唯尔公司出版代表浙江大学和浙江大学出版社。这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表视觉信息学期刊主页:www.elsevier.com/locate/visinfM. Gupta和K. 瑟尼视觉信息学5(2021)5455在这个过程中,我们对用户上传到我们平台的处方图片进行了过滤鉴于我们每年收到超过1000万份订单,我们需要投入数千个工时来搜索每个处方的相关信息。然后,根据相应的用户识别密钥,针对每个处方安全地存储该信息我们一直致力于开发解决方案,通过机器预测处方中药物的名称来加快这一过程,作为一种辅助技术,而不会影响准确性标准。在我们对关于这个问题的现有文献的回顾中,观察到稀疏的作品,涵盖两个处方的类型,以及,工作的一个大宇宙的药物的名称。过去的大多数工作都集中在基于OCR的解决方案上(图像作为深度学习模型的输入),特别是对于文本难以解释的手写处方。例如,Fajardo et al. (2019)创建了一个特殊的数据集,其中每个图像只有一个药物名称,并且消除了处方图像中存在的不必要信息。一组考虑了12种独特的药物,并训练了由CNN和RNN组成的混合神经网络,即CRNN即使在一个只有12种药物的小集合上,验证准确率也只有35%,这凸显了机器识别医生笔迹的挑战。此外,注释数据用于模型的训练,这是繁琐的准备。有一些关于这个问题的作品,整合生物学的信息学和床边的(i2b2)第三次研讨会自然语言处理的挑战,临床记录,Uzuner等人。(2010年)。作为这次研讨会的一部分,使用包括预先注释的出院摘要的数据集,并且问题陈述是提取诸如药物名称、剂量、频率的实体。为给定的数据集和问题陈述开发了多种解决方案例如,(Tao et al. ,2017)通过 使 用 具有 词 性 ( POS ) 标 记 作 为 主 要 特征 的 条 件 随 机 场(CRF)来处理该问题。后处理包括使用与维基百科和谷歌搜索API的药物类别的行序列的精确匹配来提高召回度量。另一方面,(Li et al. ,2010)使用CRF,并开发了AdaBoost分类模型,用于将药物名称与其相应的字段(例如剂量、频率、原因)相关联,然后使用支持向量机(SVM)模型来区分不同的书写风格。Patrick和Li(2009)开发了一种级联方法,用于基于机器学习方法和基于规则的方法的组合来提取医疗事件。使用了两个机器学习器还开发了一些基于规则的系统。Grouin等人使用了诸如将整个文本划分为不同区域然后基于规则的标记、正则表达式模式、精确标记匹配、使用外部词汇如UMLS元词库等规则。(2009年)、Solt和Tikk(2009年)、Yang(2009年)、Doan等人(2009年)、Hamon和Grabar(2009年)、Spasić等人(2009年)。 (2010)和Bodenreider(2004)。然而,上述方法并不能帮助我们的问题,lem声明因为种种原因。第一,它们是根据一小套出院摘要编制的,这些摘要在结构和内容上与典型的处方有很大的不同。其次,由于这些是预先手动注释的,因此没有考虑OCR输出中错误第三,没有对这些方法的可行性进行评价。最后,出院小结中的文字有一些语法结构,这在处方中通常是不存在的。本文提出的工作是朝着填补上述空白的方向迈出的一步。首先,我们提出了专门的算法两种处方其次,我们的算法不仅限于一小部分药物名称,而且可以用于 任何大小 的数据库 。我们 使用我们 自己的库 存单位(SKU)数据库评估了我们的算法,该数据库包含95,000多种药物名称。第三,我们提出了明确的指标的准确性的算法,并建立其有效性。第四,我们证明了我们的算法是决定性的速度更快,适用于在实时生产环境中使用最后,我们的算法不需要任何注释数据集进行训练,因此可以在即插即用的基础上使用。我们的算法建立在从最先进的OCR接收的输出虽然蛮力方法会将从OCR接收的每个单词与所有可能的药物名称进行匹配我们的算法的前提是应用模式智能来选择一个更小的单词集(从OCR返回的单词中)作为潜在的感兴趣的实体。这种方法导致非常低的疲劳和显著改善的F分数。我们希望这些算法在医疗信息的数字化中发挥重要作用。本文的组织如下:在第2节中,我们描述了我们在本文中讨论的三种方法-蛮力,C-cube和3步过滤算法,以及它们的实现细节。第3节介绍了我们的实验的细节,以及与三种方法的延迟和准确性有关的结果。最后,在第4节中,我们讨论了我们的算法的一些扩展,局限性和改进的机会。我们还简要讨论了几个应用的算法。2. 方法和动机2.1. Google Vision APIGoogle Cloud它为图像分配标签,能够检测物体并读取打印和手写文本。我们开发的处方数字化算法使用Vision API返回的输出。也可以使用其他OCR,只要它们不仅返回读取的单词,还返回它们的坐标(图像中的相对位置)。我们简要讨论了API输出的一个组件,它与我们的工作有关。FullTextAnnotation是从图像中提取的UTF-8文本的结构化层次响应。层次结构按以下顺序组织:页面>块>段落>单词>符号。在本文中,我们将仅使用响应中包含的“单词”及其相关坐标。因此,我们将在此简要讨论这些问题。Word是文本的最小单位,表示为Symbol数组。单词提供以下信息:从单词左上角开始的四个(x, y)坐标对,相关的置信度得分和符号。图1显示了FullTextAnnotation在我们平台上上传的处方提供坐标所依据的坐标系假定在图像的左上角处为(0,0),而与图像的取向无关。每个实体中的四个(x, y)坐标对从实体(而不是图像)的左上角开始,其余3个坐标对的顺序以顺时针顺序给出因此,相同的图像与M. Gupta和K. 瑟尼视觉信息学5(2021)5456Fig. 1. 在我们的平台上上传的处方的部分图像和从Google Vision API返回的输出。请注意,每个单词都伴随着四对(x,y)坐标。不同的方向(以不同的角度旋转)将为相同的实体提供不同的坐标。从OCR接收的这些单词和相关坐标是我们在本文后面描述虽然只有包含药物名称的单词才虽然蛮力技术可以将每个OCR单词与每个可用的药物名称进行匹配,但这种方法效率低下,并且容易出现误报,特别是在使用模糊匹配技术时。这就是单词的相关坐标可以被利用。单词的坐标不仅指示该单词在处方中的相对位置,而且坐标可以用于计算由单词限定的区域,这是关于该单词的潜在性质的重要信号。例如,对于相同数量的字母,在处方中打印的单词通常会比手写的单词占据更小我们将在稍后描述我们开发的用于将潜在药物名称(称为候选词)与从OCR接收的词分离的算法时讨论这些想法我们首先介绍了数字化的最基本的方法,蛮力方法。2.2. 暴力手段问题陈述是,给定一个处方的图像,预测该处方中包含的药物处方可以是完全打印的,也可以是医生手写的药名,即手写处方。在蛮力方法中,从Vision API接收的每个单词都是候选单词,并与数据库中存储的所有药物名称相匹配。对于大型数据库,这种匹配在计算上是昂贵的,并且可能会增加误报率。为了给出必须执行的匹配的可能数量的概念,我们在这里给出了一些数字,然而,细节在第3节中解释。从Vision API接收的典型处方的平均字数约为200。 我们数据库中的SKU数量大约是95K。因此,平均评价次数一个处方需要进行的匹配约为1900万次。因此,很容易想象暴力破解方法是一种高延迟和可能低精度的方法。然而,由于OCR中的所有单词都得到了适当的考虑,因此蛮力方法的潜在优势可能是良好的召回率,即更高的真阳性率。这些是我们将在第3节中探讨的一些假设。对于打印的处方,蛮力技术需要OCR单词与处方名称的精确匹配然而,由于OCR对于手写处方的输出稍差,用于手写处方的蛮力方法蛮力方法将是我们评估算法的基准因此,由于蛮力方法昂贵且可能不准确,因此我们努力开发可以减轻延迟问题并且同时产生更准确预测的专门这些算法的基础是建立在处方通常倾向于拥有的一些模式和属性在描述我们的算法之前,我们讨论了我们从大型处方语料库中观察到的模式2.3. 处方的一些观察为了解释我们的方法,我们借助两张图片- 打印和手写处方-作为陈述。这些图像如图所示。 二、在开发我们的方法时,我们手动仔细阅读了几个处方,以了解处方内容和结构的性质这些观察促使我们开发我们的算法。我们在下面描述我们所做的一些观察1. 诸如片剂、注射剂、两次、帽、片之类的词在书写药物的处方区域中相当常见。这些词的数量是有限的,可以编制一个这样的词的列表2. 如果处方多种药物,它们通常以柱状图案书写,即药物名称开始的位置的x坐标几乎相等。同样,对应的y坐标M. Gupta和K. 瑟尼视觉信息学5(2021)5457−图二、上传到 我 们 平 台 上 的打印和手写处方的 代 表 性 图 像 。由于隐私原因,PII信息已被屏蔽每种药都有小的变化。因此,可以使用药物名称的坐标3. 药品名称中一般不含英语字典词。事实上,在对我们公司的数据库(包含超过95K个药品名称)的实证研究中4. 手写处方通常是印刷和手写文本的混合物,药物5. 药品名称的第一个字母一般大写。6. 处方中提到药物名称的行,剂量和剂量的频率也被提到。7. Vision API通常会正确预测单词的第一个字母。此外,实际单词和预测单词的长度相等,并且如果存在错误,则错误是在字符级。例如,8. 药品名称一般至少包含四个字母。对于我们的数据库,我们发现只有2%的药物9. 一般来说,打印文本比手写文本写得更紧凑。这可以用数学来表达,即一个单词所占的面积与它所包含的字母数之比,印刷文本比手写文本要低。我们将在下面的章节中参考这些观察结果,在这些章节中,我们描述了我们为打印和手写处方开发的算法。2.4. 建议的打印处方解决方案图2(a)给出了一个打印处方的例子。我们现在解释C-cube算法,它是我们为打印处方的数字化而开发的,使用此图像作为解释的辅助工具。我们将算法命名为C-Cube,因为它包括三个缩小搜索空间的步骤:捕获,聚类和清理。这些步骤将在下文详细解释。阶段1:捕获C cube算法的前提基于两个事实:处方中的药物通常集中在一个区域,第二,药物的名称与一些常见的英语单词交织在一起,例如片剂,每日,一次。在捕获阶段,我们编译所有的单词(从OCR接收到的),这些单词与预定义列表中包含的单词完全匹配,比如说,常见单词列表。这些单词的(x, y)坐标(从Vision API接收)也被编译。常用词列表由大约40个单词组成。我们在下面描述其中的一些:1. 单位如ml、mg、w/w、%、mcg,2. 时间如下午、晚上、早上、白天、月份、星期、晚上,3. 频率如一次,两次,三次,4. 剂型如片剂、乳膏剂、滴剂、软膏剂、凝胶剂、糖浆剂,5. 其他词,如瓶子、食物、早餐、午餐、正餐。捕获步骤如图所示。3.第三章。如前一节观察结果1所述,常见词列表中包含的词通常与处方中的药物名称穿插在一起M. Gupta和K. 瑟尼视觉信息学5(2021)5458=ˆˆ()下一页||∩ ||100万cx=1)2. 同样,com-ˆ图3.第三章。第 一阶段:捕捉感兴趣的单 词 。因此,如果形成使用这些词的(x, y)坐标的聚类这就是我们在下一阶段要实现的第二阶段:集群聚类阶段的目标是,首先,在可能包含处方中所有药物名称的区域周围创建聚类由于印刷药品该集群是在以下步骤的帮助下形成的:1.假设捕获的单词数为nc。然后,每个捕获的单词的x坐标,比如xi,i1,. . .,n c被认为是随机变量X的一个实现,其均值为μX,方差为σx。那么,µx=nc我i=1=ncX=x<$和σ<$i=1i然后,集群的四个角是:(min(x),min(y))(max(x),min(y))(min(x),max(y))(max(x),max(y))。5.在上述步骤中形成的聚类然后用于为下一阶段列出单词的短列表。对于下一阶段,考虑具有落入上述四个坐标对(聚类的角)的左上或右下坐标对的所有单词(由OCR返回)聚类步骤如图所示。 四、最后,从上述步骤中获得的单词列表然后被传递到最后阶段。阶段3:清洁由于大多数药物从上一阶段创建的群集中删除它。故凡有诸法,皆有诸法;凡有诸法,皆有诸法;凡有诸法,皆有诸法。2. 计算所有x和y坐标的Z分数,即,其余的词是候选词,并且都是潜在的药物我们观察到,对于印刷文档-Z =xi−µx和Z =yi−µy,对于所有i=1,. . . ,n.Google Vision OCR以非常高的置信度返回文本Xiσxyiσ-γC级,一般来说。因此,将这些候选词与3. 第i个字,i 1,. . . ,n c,被认为是最终聚类的一部分,如果(Z Xi<1. 8)Zyi<1. 8,也就是说,单词的两个坐标的Z分数的绝对值小于1.8,这是通过实验调谐找到的阈值。其坐标不满足上述条件的单词被视为离群值,并从任何进一步的考虑中删除4. 接下来,我们确定由上一步中找到的单词形成的聚类的角。对于这些单词,我们计算max(x),min(x),max(y)和min(y),其中函数max(.)和min(.)仅应用于作为在前一步骤中形成的聚类的一部分的那些词。已发现不需要该数据库。因此,这些候选词是算法的最终输出,候选词的数量是处方中发现的预测药物的数量此外,该算法可以独立地操作而不需要外部数据库的事实使得它适合于发现处方中的新药,其甚至可能不存在于现有药物名称的数据库对于手写处方,我们发现C-cube al-tax m没有充分执行。由于Vision API对手写文本的置信度较低,捕获阶段无法有效捕获感兴趣的单词。因此,我们开发了一种不同的方法,专门用于手写处方。这将在下一节中介绍清洁步骤如图所示。 五、M. Gupta和K. 瑟尼视觉信息学5(2021)5459==≥ ×=处方Nwi=1图四、第二阶段:形成一个 可能包含药 物 名称的 集 群 。图五、 阶段3:清理群集以提取药 物 名称。在这张处方中发现了三个名字2.5. 建议的手写处方解决方案:3步过滤算法图2(b)给出了手写处方的示例。我们将解释我们开发的用于手写处方数字化的3步过滤算法,使用此图像作为解释的辅助。我们将其命名为3步过滤,因为它由三个不同的过滤层组成,用于过滤Vision API的TextAn- notation部分中的不相关文本,这些步骤将在下文详细解释。过滤器1由于手写处方是印刷文本和手写文本的混合物,因此该过滤器致力于检测和分离这两种类型。输入是从Vision API接收的所有单词的列表。该过滤器的输出是预测为手写的单词列表,然后将其传递到下一个过滤器。那些没有被预测为手写的单词将从任何进一步的考虑中删除。正如在2.3节的观察9中所提到的,一个单词所占的面积与它所包含的字母数之比是对于打印文本比对于手写文本低该观察结果用于设计滤波器1的逻辑,其需要以下步骤:1. 如果Nw是从OCR接收的单词的数量,我们定义R iA i/L i作为第i个字的扩展比,其中A i是第i个单词所占的面积,L i是该单词中的字母数,i 1,. . .,Nw.2. 计算R<$=1<$ NwRi作为形象3. 如果R i C,则预测第i个单词是手写的,并将其传递到下一步R′,i1,. . . ,Nw,其中C是常数,其值通过实验调谐这一步骤如图所示。 六、由于印刷字预计将被包装得更紧,因此具有较低的扩散率,在最后一步中指定的条件确保它们被排除在进一步的考虑之外。常数C的值被确定为0.80。需要该常数来稍微降低阈值,因为M. Gupta和K. 瑟尼视觉信息学5(2021)5460=见图6。 过滤器1:提取手写单词。也可以是处方信头上的文字,通常字体较大。由于这些词的传播比率会比其他词的比率大得多,平均传播比率R<$会因为这些词而膨胀。因此,为了抵消这种现象的影响,常数C 0。8是必须的。接下来,将预测为手写的单词传递给Filter见图7。过滤器2:只有非英语字典单词和至少有四个字母被传递到下一步,其他单词从任何进一步的考虑中删除。2.滤波器2让我们回顾一下2.3节中的两个观察结果:观察结果3指出,药品这个过滤器的目的只是为了确保包含在英语词典中或少于四个字母的单词从任何进一步的考虑中删除。这一步骤如图所示。7.第一次会议。在上述两组单词被移除后剩下的单词被称为候选单词,并被传递到下一个步骤。滤波器3在最后一步中,从过滤器中获得的候选词2与包含所有药物名称的数据库进行模糊匹配。在我们的案例中,我们的药品过滤器1和2的应用通过缩小单词的搜索空间而大大减少了计算负担在这种情况下,我们不能使用精确匹配,因为手写文本的Vision API的结果很少是完美的,并且有一定程度的错误。通过实验试错我们发现模糊匹配的模糊评分阈值为70%见图8。过滤器3:候选词与药品名称数据库的模糊匹配。在精确度和召回率之间提供了最佳平衡。Leven-Shtein距离用于模糊匹配,例如,康斯坦丁诺夫(2007年)。我们稍后在第3节中介绍结果。这一步骤如图所示。8.第八条。对于我们的应用程序,由于我们的药物数据库包含超过95 K个名称,我们添加了几个检查以提高速度并降低误报率,如下所述。1. 模糊匹配只对第一个字母与候选词的第一个字母相同的人名进行。这是根据第2.3节中提到的观察结果7得出的。第一个字母与候选单词不同的其他SKUM. Gupta和K. 瑟尼视觉信息学5(2021)5461±()×2. 同样,如观察结果7所述,预期实际药物名称和候选词的长度相似。这一事实被用来进一步减少搜索空间。仅考虑具有在候选词的长度的2个字母的间隔内的词长度的SKU过滤器3的输出是具有正模糊匹配结果的预测药物名称的列表。可以注意到,如果对于任何候选词都没有获得肯定匹配,则预测列表可以为空。此外,可能存在当过滤器2没有提取适当的词时候选词的集合甚至为空的情况。同样,该算法可以预测比处方中实际存在的药物更多的药物我们将在第3节中详细讨论这些问题。2.6. 实现细节在讨论结果之前,我们比较了到目前为止,我们已经讨论了三种方法的实现:蛮力,C-cube和3步过滤算法。图9给出了三种方法的概述。这三种方法都依赖于OCR的输出,在我们的例子中,OCR是Google Vision API。在蛮力方法中,这些单词中的每一个都被视为候选单词,并与数据库中的名称进行匹配。对于手写处方,执行模糊匹配,而对于打印处方,由于OCR的输出质量更好,执行精确匹配。对于手写处方,3步过滤算法遵循相同的结构,不同之处在于算法的过滤器大大减少了搜索空间,预计这将增加每个处方的周转时间并降低误报率。用于打印处方的C-cube算法与上述两种方法的不同之处在于不依赖于外部数据库来匹配候选词。如前所述,这种特性是有利的,因为它可以帮助数字化甚至可能尚未在任何数据库中注册的较新药物。此外,由于不执行匹配,因此与其他方法相比,C-cube有望成为最快的算法。接下来,我们介绍这三种方法的性能。3. 结果3.1. 实验装置我们在10,176个预处理的语料库中评估了这两种算法,其中5,176个处方是打印的(用于评估C-cube算法),5,000个处方是手写的(用于评估3步过滤算法)。图图10显示处方按处方药物数目的百分比分布。从图中可以看出,对于每张处方多达五种药物,手写处方的百分比较大,而对于五种以上的药物,情况正好相反。处方中的平均药物数量为4.5份打印处方和4.0份手写处方。3.2. 算法的性能指标我们提出了三个主题下的指标:首先,我们阐述了这两种算法如何使减少搜索空间的药物的名称。如前所述,算法的目标是减少候选词的数量,以便处理速度更快。其次,我们提出了比较蛮力方法和我们的算法的吞吐量的指标最后,我们提出的指标表明,我们的算法是更准确的,甚至比蛮力的方法。3.2.1. 缩小搜索空间打印和手写处方的单词分布见表1。我们比较了从OCR中获得的词的分布和候选词的分布。处方的收缩率定义为Nw−NcNw100,其中Nw是从OCR获得的单词的数量,Nc是从我们的算法接收的候选词的数量如表中所示,虽然手写处方的平均字数为162.9,但候选单词的平均数量仅为12.9,平均收缩率为91.1%。这种收缩减少了模糊匹配的计算负担,这将反映在吞吐量中稍后讨论的度量对于手写处方,分布是针对从过滤器2获得的单词,即3步过滤算法的候选单词。此后,作为过滤器3的一部分,这些词与用户名如前所述,对于打印处方,从C-cube算法获得的候选词是最终输出。因此,候选词的平均数量3.7接近于每个处方的平均从表中可以看出,从两个算法返回的候选单词的数量有时也可以为零在这种情况下,最终输出为空,即没有预测药物名称。因此,通过应用这两种算法,与蛮力方法相比,可以避免显著的计算负担。这反映在吞吐量度量中,如下所述。3.2.2. 吞吐量度量这两种算法和蛮力方法在具有2.30 GHz CPU和64 GB RAM的IntelXeonXeon XeonXeonE5-2686 v4机器上进行了吞吐率见表2可以观察到,与蛮力方法相比,这两种算法在生产环境中的速度明显更快。虽然c-cube算法平均每分钟可以处理6,000个打印处方,但暴力方法每分钟只能处理10.2个处方。类似地,通过3步算法每分钟可以处理大约46.2个处方,而通过蛮力,平均需要5分钟来处理单个处方。在生产环境中的实际应用中,这两种算法的应用将增加输出并导致更高的处理效率。接下来,我们描述了这两种算法不仅速度更快,而且在确定处方中的药物名称时更准确M. Gupta和K. 瑟尼视觉信息学5(2021)5462图9.第九条。暴 力 破解和拟议方法概述。图10个。根据处方药的数量分配处方。表1对于两种类型的处方(未应用算法)和应用两种算法后,处方类型最小Q1平均Q3最大平均收缩比从OCR获得的单词的分布印刷7154241.1302877–手写897162.9210955–两种算法得到的候选词的分布印刷023.7546百分之九十八点四手写0812.91784百分之九十一点一M. Gupta和K. 瑟尼视觉信息学5(2021)5463++表2使用不同方法每分钟处理的平均处方数在处方的层面上如表3所示,两种算法的召回率为70%和34.7%。 这意味着,平均而言,大约70%的处方蛮力技术我们的算法类型的后应用Rx数字化/分钟Rx数字化/分钟百分比涨幅印刷10.26,00058,724%手写0.2046.222,977%3.2.3. 准确性度量我们提出了在两个维度的算法的准确性首先,我们提出了一个整体水平上的指标,我们比较了精度,召回率和F1得分指标的不同方法。其次,我们根据处方中所含药物的数量给出了结果的分布。总体而言,如前所述,三种方法(蛮力、C立方体和3步过滤)的输出都是药物名称列表。预测的药物名称的数量为了比较这些方法的性能,我们将预测的药物清单与实际处方的药物清单进行请注意,这只是用于性能测量-这三种方法都不依赖于处方药的实际列表让我们定义:真阳性(TP)作为实际处方中也出现在药物名称的预测列表中的药物名称的数量- 假阳性(FP),作为实际处方中不存在但出现在预测列表中的药物名称的数量,以及假阴性(FN),即处方中存在但预测列表中不存在的药物名称的数量TPTP然后,精确度=,召回率=,和F分数这两种算法都能正确地恢复打印处方中的处方药物和手写处方中约35%的预写药物。现在,让我们探讨召回的两个算法的预处理包含不同数量的处方药。图图11显示了根据处方中包含的药物数量和正确回收的药物数量的处方百分比分布。接下来,在Fig. 12,我们提供了关于两种算法正确回收的药物平均数量的数据,以及95%的置信区间。从图11(a)中可以看出,具有完全匹配率的处方百分比,即当所有药物正确恢复的可能性随着处方中药物的数量而减少,这是直观的,因为联合可能性随着试验数量的增加而减少。然而,对于打印处方,即使处方药物的数量多达8种,也只有约20%的处方能够正确回收所有药物。同样,至少一种药物被正确回收的处方百分比随着处方药物数量的增加而增加,如图11(b)所示。对于包含大量药物的处方(每份处方超过8份),在打印的处方中几乎100%,在手写处方中约80%,至少有一份处方被成功回收。因此,通过展示更快的吞吐量和准确性指标,我们建立了我们的算法优于蛮力的方法。3.3. 失效分析我们在前一节中提出的度量证明了这两种算法的有效性。然而,在许多情况下,算法甚至不能正确识别处方图像中的单个药物名称。图13显示了处方的分布,其中=2精度(TP FP)记得了(TP+FN)算法无法正确识别任何药物名称。对于仅包含一种药物名称的处方(精度召回)上述度量是针对蛮力方法(both打印和手写处方)、C-cube(用于打印处方)和3步过滤(用于手写处方),并在表3中给出。从表中可以看出,与蛮力方法相比,C-Cube和3步过滤算法的应用导致精度的大幅增加。打印处方的精确度是三倍,而手写处方的精确度则是十倍以上。虽然这些收益是以召回率的轻微代价来实现的,但实质上改进的F分数(精确度和召回率的调和平均值)强调了我们的算法能够实现的改进的准确性标准如图 9,在蛮力方法的情况下,从OCR接收的单词与SKU数据库模糊匹配。由于从OCR获得的平均单词数量相当大三步过滤算法将候选词的平均数量减少到13个左右,使其能够达到更高的精度。虽然虽然手写处方的F分数有一定的改善范围,但它仍然比从蛮力方法获得的F分数好得多。C-cube算法在大约27%处方中未能检测到药物名称,而对于手写处方,三步过滤算法在64%的处方中失败正如预期的那样,完全失败的百分比随着处方中药物数量的增加而减少。分析这些失败背后的原因是恰当的因为这可能有助于我们对未来的处方采取纠正措施。在讨论导致这些失败的具体例子之前,让我们讨论这些失败背后的两个主要原因。A类错误:这些是由于OCR(在我们的例子中是Vision API)无法正确识别字符而导致的失败。这种情况主要发生在笔迹难以辨认的上传图像的质量非常差,并且存在纸张模糊和折痕等问题。或者输入文本的格式不佳导致错误的解释,例如在两个单词之间没有空格时检测到空格,并将它们视为两个单独的单词而不是一个单词。B类错误:这些是由于我们算法的限制而导致的失败。例如,违反了我们所做的一些假设。现在让我们举例说明几个具体的例子,说明上述原因如何导致算法无法正确检测给定处方中的单个药物名称。M. Gupta和K. 瑟尼视觉信息学5(2021)54表3三种方法的准确性指标:蛮力,C-cube(打印处方)和3步过滤(手写处方)。处方型蛮力技术我们算法精度召回F-score精度召回F-score印刷百分之二十九点九百分之八十二点七41.8%百分之九十一点六70.0%百分之七十九点四手写百分之零点二62.0%百分之零点三21.1%百分之三十四点七百分之二十六点二图十一岁 根据处 方 中 所 含 药 物 数量和正 确 回 收 的药物数 量 分 配 处 方 的 百 分 比 。图12个。正 确 回 收 的 药 物 平均数量以及95%置信区间。图13岁过 滤 器3:候选词与药 品 名 称 数据库的 模 糊 匹 配 。64M. Gupta和K. 瑟尼视觉信息学5(2021)5465图十四岁 C-cube算法无法识别打 印 处 方 中 的单个药物名称的 四 个示例。我们首先讨论了C-cube算法的打印处方。图14给出了算法失败时的四个例子。我们观察到算法失败背后的四大主题:图像质量差(A类错误)。例如,图像模糊或页面起皱或模糊。图14(a)说明了这一点。文本格式不佳(A类错误)。由于文本位置不佳,单词读得不正确例如,当两个单词之间没有空格时检测空格,并将它们视为两个单独的单词而不是一个单词。见图14(b)这类的例子。算法的聚类阶段失败(B型 er-ror)。对于稀疏处方,即只有一个或两个···M. Gupta和K. 瑟尼视觉信息学5(2021)5466图十五岁三步过滤算法无法识别打 印 处 方 中 的单个药物名称的 四 个示例。如果在整个图像中提到药物,则算法的聚类阶段将具有失败的趋势。在图13中,可以看出,随着药物数量的增加,C-cube算法的失败百分比的下降比3步过滤算法的下降要急剧得多。图14(c)说明了导致算法失败其他原因(A类和B类错误)。等因素由于药品名称由英文字典单词组成,因此使用方言处方、未完整提及但使用缩写的药品名称也导致算法无法成功检测药品名称。图14(d)示出了包含药物名称的处方,所述药物名称是处方的一部分。·M. Gupta和K. 瑟尼视觉信息学5(2021)5467英语单词。如第2.3节第3点所述,算法背后的假设之一是药物名称不包含英语词典单词。因此,对于该特定处方,该算法是不成功的。接下来,我们讨论手写处方的3步过滤算法 图 15给出了算法失败时的四个例子。在这里,我们也观察到算法失败背后的四个主要主题:Cacography(A类错误)。这是算法失败的一个最突出、最直观的原因。我们发现,虽然稍微糟糕的笔迹可能仍然是可管理的,但鲁棒性相当低。图图15(a)示出了算法由于计算错误而失败的处方。图像质量差(A类错误)。例如图像模糊或页面起皱或模糊。图图15(b)给出了导致算法失败的这种图像的示例。过滤器I故障(B类错误)。如第2.5节所述,第一个过滤器的作用是将图像中的打印单词与手写单词分开。基本逻辑是计算平均扩散率,并将其与单个单词的扩散率进行比较(如第2.5节第3点所述)。在医学词汇很少的情况下,处方信笺中的词汇将主导平均扩散率,从而使其膨胀。因此,任何单词都不符合第3点中提到的条件,因此,没有单词将被归类为手写。这将导致算法终止,因为没有单词可用于后续过滤器中的进一步处理图15(c)呈现了由于该原因而失败的实例的示例。当医生的笔迹太小时,过滤器I也会失败。其他原因(A类和B类错误)。例如,手写文本是杂乱的,缺乏连贯的格式。或字符之间的间距过大,导致错误地解释为多个单词。图图15(d)呈现了这种处方图像的示例。上述原因之一-质量差的上载图像,是可以避免的.因此,我们鼓励客户在我们的平台上下订单时上传高质量和清晰可见的处方图像。4. 讨论本文提出了一种快速准确地从处方中提取药名的算法。我们的算法的低延迟使它们适合在生产环境中使用,其中需要在实时的基础上的结果。此外,我们的算法可以用作即插即用,因为既不需要在任何数据集上进行训练从数据安全的角度来看,我们的系统中的两个算法的实现在我们的系统中,客户和患者信息存储在安全的环境中,完全符合政府法律法规。关于将处方图像上传必要时提供Vision API服务(根据适当的安全和保密合同义务)。如第2.5节所述,模糊分数的阈值选择为70%,因为它可以在精确度和召回率之间实现最佳平衡。一般来说,阈值越低,查全率越高,但查准率越低,反之亦然。如果有实现更高精确度(召回率)的特定要求,则可以相应地增加(降低)阈值。蛮力方法的召回率比这两种算法都要好,但精度很差。蛮力方法的延迟因此,即使有很高的召回率,我们也不认为在任何实际应用中,蛮力方法会比我们的算法更受欢迎我们选择的性能指标F分数是精确度和召回率的调和平均值,它确保了两个指标之间的平衡,因此是此类系统的理想指标如第3节所讨论的,我们的算法比蛮力方法将F分数提高了90%和8,600%,因此,在准确性方面具有明显的优势,并且具有更高的处理速度。C-cube算法的精度约为92%,这已经是相当高的。此外,不需要与任何SKU数据库匹配,这使得该算法独立,并赋予其发现可能未在数据库中注册的新药名称的能力如果需要进一步提高C-cube算法的精度,则可以将该算法找到的候选词与XML数据库进行精确匹配。这可能会稍微提高精度,但可能会以召回率略有下降和延迟增加为代价。如第2.4节所述,我们使用Z分数来决定一个词是否是预测药物区域 集 群 的 一 部 分 。 我 们 还 探 讨 了 其 他 聚 类 算 法 , 如 k- 均 值 和DBSCAN,酯等。(1996年)。然而,这两种方法都不充分。k-均值算法的问题是对极端值(离群值)过于敏感。DBSCAN的问题是无法优化半径超参数。由于典型的处方在不同的单词和行的排列方式上显示出很大的可变性
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功