跳到主要内容
访问密钥 NCBI主页 MyNCBI主页 主要内容 主导航
数据库(牛津)。2015; 2015年:bav089。
2015年9月17日在线发布。 数字对象标识:10.1093/数据库/bav089
预防性维修识别码:第574036页
PMID:26385205

SORTA:基于本体论的生物医学表型数据重新编码和技术注释系统

关联数据

补充材料

摘要

迫切需要标准化生物医学数据值的语义,例如表型,以便进行比较和综合分析。然而,不太可能所有研究都使用相同的数据收集协议。因此,通常需要进行回顾性标准化,这涉及将原始(非结构化或局部编码)数据与广泛使用的编码或本体系统进行匹配,例如SNOMED CT(临床术语)、ICD-10(国际疾病分类)和HPO(人类表型本体)。这个数据管理过程通常是一个由人类专家执行的耗时过程。为了帮助实现这个过程的机械化,我们开发了SORTA,这是一个计算机辅助系统,用于将自由文本或本地编码的值快速编码为正式编码系统或本体。SORTA将原始数据值(以分号分隔格式上传)匹配到目标编码系统(以Excel电子表格、OWL本体网络语言或海外建筑运营管理局开放生物医学本体格式上传)。然后,它使用基于Lucene和n-gram的匹配算法半自动地为每个数据值列出候选代码,还可以从人类专家选择的匹配中学习。我们在两个用例中评估了SORTA的适用性。对于LifeLines生物库,我们使用SORTA将关于体育锻炼的90000个自由文本值(包括5211个唯一值)重新编码为MET(任务代谢当量)代码。对于CINEAS临床症状编码系统,我们使用SORTA映射到HPO,必要时丰富HPO(到目前为止匹配了315个术语)。在排名为1的候选名单中,我们发现生命线的准确度/召回率为0.97/0.98,CINEAS的准确度和召回率为0.58/0.45。更重要的是,用户发现该工具既节省了大量时间,又提高了质量,因为SORTA减少了人为错误的可能性。因此,SORTA可以大大简化数据(重新)编码任务,我们相信它将被证明对更多项目有用。

数据库URL:http://molgenis.org/sorta或作为开源下载http://www.molgenis.org/wiki/SORTA

介绍

生物银行和转化研究可以从医院目前通过问卷收集的大量表型数据中受益。然而,数据集之间的异质性仍然是综合分析的障碍。对于BioSHaRE(1)生物银行数据集成项目,我们之前开发了生物银行连接(2),一种克服数据异构性的工具结构通过映射数据元素从源数据库到目标方案。在这里,我们解决了克服数据异构性的需要目录通过编码和/或记录数据即将自由文本描述或本地编码的数据值映射到广泛使用的编码系统。在这种“基于知识的数据访问”中,数据是根据本地需求收集和存储的,而从数据中提取的信息是使用标准表示(如本体)来显示的,以提供统一的视图().

(重新)编码过程对三种不同功能的性能至关重要:

  1. 搜索和查询。在研究和/或临床环境中收集的数据可以使用相同的概念以多种方式进行描述,通常与多个同义词关联,这使得很难以联邦方式查询分布式数据库系统。例如,使用标准术语,如果使用相同的本体术语对数据库进行注释,那么用不同语言编写的“癌症”的发生可以在数据库之间轻松映射。
  2. 数据推理本体是知识的形式化表示,本体中的所有概念都使用不同的关系相互关联,例如“A是一个的子类B’。根据这些关系,计算机可以编程来推理和推断知识(4). 例如,当从医院查询癌症患者的记录时,将检索那些注释为“黑色素瘤”的记录,因为“黑色素癌”在本体中被明确定义为“癌症”的后代。
  3. 跨系统交换或汇集数据本体也可用于描述信息模型,例如描述微阵列实验的MGED(微阵列基因表达数据)本体或使用ICD-10(国际疾病分类)编码系统编码的医院信息,以便数据可以轻松地跨使用相同模型的系统流动(4).

数据(重新)编码任务本质上是一个自由文本数据值列表与编码系统之间的匹配问题,或者是从一个编码系统到另一个系统的匹配问题。不幸的是,据我们所知,只有少数可用的软件工具可以帮助完成这个(重新)编码过程。研究人员仍然需要手工评估和重新编码每个数据值,将值与术语中的概念进行匹配,以找到最合适的候选者。毫不奇怪,这是一项耗时且容易出错的任务。基于我们之前在BioSHaRE中的成功,我们受到启发,使用本体匹配和词汇匹配来解决这个问题(2). 我们评估了这些技术如何在表型数据的背景下帮助和加速(重新)编码过程。特别是,我们使用我们新开发的系统SORTA,在LifeLines生物库中为5210个独特的“体育锻炼”条目重新编码(5)和荷兰CINEAS中315个独特的“身体症状”条目(包括相似但不相同的术语)(网址:www.cineas.org) (6)以及代谢疾病的人类表型本体(HPO)编码系统。

要求

SORTA-用户访谈的几次迭代确定了以下用户需求:

  1. 可比较的相似性分数,例如以百分比表示的分数,因此用户可以轻松评估建议的匹配与他们的数据的接近程度,并决定自动接受匹配的截止值。
  2. 支持为专家导入常用的本体格式(OWL/OBO),为技术含量较低的用户导入Excel电子表格。
  3. 适应大输入数据集和编码系统的快速匹配算法。
  4. 在线可用性,用户无需下载/安装工具即可直接重新编码/编码数据并与同事共享。
  5. 最大限度地提高灵敏度以查找候选匹配项,并让用户决定哪一项是“最佳”匹配项。
  6. 启用复杂匹配,其中不仅提供文本字符串,还提供相关属性,例如标签、同义词和注释,例如[标签:听力障碍,同义词:(耳聋,听力缺陷)]。

方法

文献报道了两种类型的匹配方法:词汇匹配和语义匹配。词汇匹配是一个测量两个字符串之间相似性的过程(7). 编辑-距离(8),n克(9)和Levenshtein距离(10)是基于字符串的算法的例子,这些算法专注于字符串成分,通常对短字符串有用,但它们不能扩展到匹配大量实体对。基于标记的技术通过将每个字符串视为一组单词来关注单词组成。这些技术的一个例子是向量空间模型算法(11),其中每个单词被表示为空间中的一个维度,并且余弦函数被用于计算两个字符串向量之间的相似性。词汇匹配通常与规范化过程结合使用,例如降低大小写、删除停止词(例如“and”、“or”、“the”)和定义词干(例如“smoking”→“smoke”)。语义匹配技术不仅基于与概念相关的文本信息(例如描述),而且基于概念之间的关联关系(例如子类,“is-a”)来搜索对应关系(7). 例如,在这些技术中,“黑色素瘤”与“癌症”的概念部分匹配。因为我们的目标是根据描述中的相似性找到最可能匹配数据值的概念,所以基于词汇的方法似乎最合适。

(重新)编码任务的挑战之一是需要比较大量的数据值,这意味着匹配器必须找到原始数据值的笛卡尔积与所需编码系统中的代码之间的对应关系。为了应对这一挑战,需要高吞吐量的算法,并且已经开发了两种方法来大规模处理匹配问题。早期修剪匹配技术(12)通过从匹配过程中省略不相关的概念来减少搜索空间,例如,消除了不包含搜索查询“突出眼球”中任何单词的本体概念(标签:听力损伤,同义词[耳聋,听力缺陷,先天性听力损失])。并行匹配技术(12)将整个匹配任务划分为小任务,然后匹配器并行运行它们,例如,100个数据值被划分为10个分区,这些分区与本体并行匹配。

现有工具

我们发现了几个提供部分解决方案的现有工具,请参见表1马图尔和乔希(13)描述了一个本体匹配器Shiva,它包含四种字符串匹配算法(Levenshtein distance、Q-grams、Smith-Waterman和Jaccard),用户可以为特定的匹配任务选择其中任何一种算法。他们使用WordNet和Online Dictionary等通用资源来扩展匹配实体的语义。克鲁兹(14)描述了一个匹配器Agreement Maker,其中词汇和语义匹配器按顺序应用于本体,并将结果组合以获得最终匹配。在词汇匹配阶段,克鲁兹(14)应用了几种不同类型的匹配器、基于字符串的匹配(例如编辑距离和Jar-Winkler)和内部修改的基于标记的匹配器,然后将来自这些多个匹配器的相似性度量进行组合。此外,该工具背后的理念是,用户可以帮助以半自动方式进行自动匹配不可能实现的更好的匹配(14). 吉梅内斯·鲁伊斯和昆卡格拉(15)描述了一种方法,其中:(i)他们使用词法匹配来计算初始匹配集;(ii)基于这些初始匹配,他们利用语义推理方法在类层次中发现更多匹配;(iii)他们使用索引技术来提高计算本体之间匹配对应的效率。游隼(16)是一个索引引擎或标记器,可以识别人类可读文本中的概念,如果术语匹配多个概念,它会尝试消除BioPortal的歧义(17)是领先的本体搜索门户,它提供了BioPortal注解器,允许用户使用预先选择的本体对术语列表进行注解。虽然它对我们的用例很有用,但它是有限的,因为它只检索完全匹配的词,拼写稍有不同的词不容易匹配(例如“听力受损”与“听力损伤”)(18). 此外,BioPortal Annotator的500字限制减少了它在注释数千个数据值时的实际使用。最后,ZOOMA(19)支持使用选定的本体对生物数据进行半自动注释,并且最符合我们的需求。ZOOMA根据是否有支持建议匹配的手动管理知识,将匹配分为“自动”或“需要管理”。ZOOMA不满足我们的要求,因为它不提供匹配的相似性分数,不将召回优先于精度(即ZOOMA匹配对我们的需求过于严格),并且不处理部分/复杂匹配。例如,在ZOOMA中,OMIM(人类在线孟德尔遗传)术语“角化性唇炎”无法部分匹配HPO术语“唇炎”,而“肾上腺外嗜铬细胞瘤”由于连字符而无法匹配HPO词汇“肾上腺外嗜铬细胞瘤”。

表1。

现有工具与SORTA的比较

索尔塔BioPortal注释器缩放湿婆协议制定者日志映射游隼
可比相似性得分Y(Y)N个N个N个Y(Y)Y(Y)N个
以本体格式导入代码系统Y(Y)Y(Y)Y(Y)Y(Y)Y(Y)Y(Y)Y(Y)
导入excel格式的代码系统Y(Y)N个N个N个N个N个N个
使用词汇索引提高性能Y(Y)Y(Y)Y(Y)N个N个Y(Y)Y(Y)
直接在工具中对数据进行编码/重新编码Y(Y)N个N个N个Y(Y)N个N个
工具可作为在线服务提供Y(Y)Y(Y)Y(Y)不适用不适用不适用N个
支持部分匹配Y(Y)N个N个Y(Y)Y(Y)Y(Y)N个
匹配复杂数据值Y(Y)N个N个Y(Y)Y(Y)Y(Y)N个
从精选数据集中学习Y(Y)N个Y(Y)N个N个N个N个

Y代表是;N代表否;N/A表示未知

ZOOMA和BioPortal Annotator最符合我们的需求。

方法

基于我们对现有工具的评估,我们决定结合基于标记的算法Lucene(20),使用基于n-gram的算法。Lucene是一个高性能搜索引擎,其工作原理类似于早期修剪匹配技术。Lucene只检索与查询相关的概念,这大大提高了匹配速度。这使我们只能为每个值调用合适的代码,并根据它们的匹配对其进行排序。然而,Lucene匹配分数在不同的查询中不具有可比性,因此不适合人工评估。因此,我们添加了一个基于n-gram的算法作为第二个匹配器,它允许我们将相似性分数标准化为百分比(0-100%),以帮助用户了解匹配的质量,并启用统一的截止值。

我们实现了以下三个步骤。首先,在Lucene中上传和索引编码系统或本体,以实现快速搜索(每个本体一次)。其次,用户通过上传数据值列表来创建自己的编码/重新编码项目。用户得到的是根据词汇相关性从选定的编码系统检索到的每个值的匹配概念的短列表。此外,使用第二个匹配器(基于n-gram的算法)将检索到的概念与相同的数据值进行匹配,以将相似性得分标准化为0到100%的值。最后,用户应用%-相似性截止值来自动接受匹配和/或手动调整分配给源值的其余代码。最后,用户下载结果以用于自己的研究。战略概述如所示图1。我们在下面提供了详细摘要。

保存图片、插图等的外部文件。对象名称为bav089f1p.jpg

SORTA概述。所需的编码系统或本体可以上传到OWL/OBO和Excel中,并为快速匹配搜索建立索引。数据值可以被上传,然后使用Lucene与索引本体自动匹配。从索引中检索出最相关的概念列表,并使用n-gram算法计算匹配百分比,以便用户可以轻松评估匹配分数。用户可以从建议列表中选择映射。

用户上传诸如本体或术语列表之类的编码源来建立知识库。本体是匹配数据值最常用的源,但一些标准术语系统尚未以本体格式提供。因此,我们允许用户不仅上传OWL和OBO格式的本体,还可以导入以简单Excel格式存储的“原始知识库”,其中包括系统ID、概念ID和标签(请参阅表2). 然后将上传的数据编入索引并存储在本地,以实现快速匹配。

表2。

如何上传编码系统和编码/重新编码目标的示例

概念IDConcept标签系统ID
02060有氧运动遇见
02020杠铃操遇见
18310游泳遇见
15430功夫遇见
15350曲棍球遇见
12150运行遇见

本例显示了一个Excel文件,其中包含MET(任务代谢当量),这是一个为标准化体力活动而开发的系统,其中每个概念ID都包含一个代表特定能量消耗量的不同运动的列表。

为了有效地匹配数据值,我们使用了Lucene搜索索引和默认的滚雪球词干分析器,以及用于词干分析和删除停止词的标准过滤器。当代码/本体概念或其相应的同义词(如果可用)包含数据值中的至少一个单词时,该概念被评估为与数据值的相关匹配。该策略的假设是,一个概念的标签或同义词包含的单词越多,Lucene对其进行的排名就越相关,因此列表中排名靠前的概念最有可能是正确的匹配。然而,滚雪球词干分析器不能正确地词干一些英语单词,例如,“placeton”和“placental”词干结果分别是“placenate”和“胎盘”。为了解决这个问题,我们启用了80%相似性的模糊匹配,这使我们能够最大限度地增加Lucene检索到的相关概念的数量。

Lucene还提供了使用两个加权向量之间的余弦相似性计算的匹配分数(21),它考虑了单词的信息内容,例如,稀有单词比普通单词权重更大。然而,在第一次用户评估后,我们决定不向用户显示Lucene分数,原因有二。首先,Lucene计算任何索引文档的相似性得分,只要它包含查询中的至少一个单词。与查询匹配的单词较多或包含相对罕见的单词的文档得分较高。其次,不同查询产生的匹配结果是不可比较的,因为比例不同(22)这使得无法确定“最佳”截止值,高于该值的建议匹配可以被假定为正确的。

因此,我们决定通过在数据值和Lucene检索到的相关概念之间使用n-gram计算来提供范围从0到100%的额外相似性得分。在这个基于n-gram的算法中,每次计算两个字符串的相似性得分。输入字符串使用小写,并用空格分隔以创建单词列表,然后由默认的滚雪球词干分析器进行词干分析。对于每个词干,它在开头加上“^”,在结尾加上“$”,由此生成二元标记,例如^smoke$→[^s,sm,mo,ok,ke,e$]。所有的二元标记都被推送到相应输入字符串的列表中,允许使用重复标记。其想法是,两个字符串越相似,它们可以共享的bigram令牌就越多。相似度得分是共享二元标记数除以两个输入字符串的二元标记总数之和的乘积,如下所示,

相似性= 编号 属于 共享 二元结构 代币×2编号 属于 二元结构 代币S公司1+编号 属于 二元结构 代币S公司2

因为我们只对被比较字符串的成分感兴趣,所以字符串中单词的顺序不会改变分数。我们还考虑只使用n-gram计算,但这需要计算所有数据值和代码之间所有可能的成对比较,这将大大减慢该过程。

最终,这两种算法结合在一起,因为Lucene在检索相关匹配方面非常高效,而我们的用户更喜欢n-gram分数,因为它们更容易比较。将Lucene与基于n-gram的算法相结合是一种最优解决方案,在保持效率、准确性和分数可比性的同时,两种方法的优势互补。

要对数据值进行编码,可以将数据上传为简单的逗号分隔值文件,或直接在SORTA中复制/粘贴到文本区域。上传的数据通常是简单字符串值的列表,但在某些情况下,它也可以是包含简单标签以外的信息的复杂数据值。

对于这些情况,SORTA允许包含描述性信息,如同义词和外部数据库标识符,以提高表3.

表3。

如何上传数据值和编码/记录源的示例)

名称(必填)同义词_1(可选)OMIM(可选)
2,4-二烯基-CoA还原酶缺乏DER缺乏222745
3-甲基巴豆酰-CoA羧化酶缺乏3MCC公司210200
酸性鞘磷脂酶缺乏症ASM公司607608

至少应提供一列值:第一列的标题为“名称”。以“Synonym_”开头的其他可选列可以包含输入值的同义词。其他可选列标题可以包含其他标识符,例如在本例中的OMIM。

对于每个数据值,将根据相似性检索和排序建议的匹配概念列表。然后,用户可以从上到下检查列表,并决定应选择哪些概念作为最终匹配。然而,如果列表中的第一个概念与高相似度评分相关,用户也可以选择不查看列表,因为他们可以自信地认为已经找到了与该数据值匹配的良好匹配。默认情况下,90%的相似性是临界值,超过该临界值,检索到的列表上的第一个概念将自动选择为数据值的匹配,并存储在系统中。相似度低于90%时,用户需要手动检查列表以选择最终匹配项。可以根据项目的需要更改截止值,例如,如果数据值是使用自由文本收集的,则可以使用70%的低截止值,因为在数据收集过程中不可避免地会出现打字错误。

结果

我们在各种项目中对SORTA进行了评估。这里我们报告了两种典型的匹配场景,其中原始数据值要么是自由文本(案例1),要么已经编码,但使用本地编码系统(案例2)。此外,作为基准,我们生成了HPO、NCIT(国家癌症研究所同义词库)、OMIM(人类在线孟德尔遗传)和DO(疾病本体论)之间的匹配,并将匹配与这两者之间现有的交叉引用进行了比较(案例3)

案例1:在LifeLines生物银行中对非结构化数据进行编码

背景

LifeLines是由荷兰格罗宁根大学医学中心发起的一项大型生物银行和队列研究。自2006年以来,它从荷兰北部地区招募了167729名参与者(5). LifeLines参与了欧盟BioSHaRE财团,BioSHaRE正在进行的联合数据分析之一是“健康肥胖项目”(HOP),该项目研究了为什么一些明显肥胖的人仍然代谢健康(23). HOP分析所需的变量之一是体力活动,但不幸的是,这些信息是通过荷兰问卷收集的,问卷中包含了各种运动类型的自由文本字段。因此,研究人员需要将这些与现有的编码系统相匹配:安斯沃思体育活动简编(24). 在本纲要中,每个代码都与对应于该体力活动能量消耗的代谢当量任务(MET)强度水平相匹配,并定义为执行该活动的代谢率与静止代谢率的比率。一个MET等于一个人安静坐着时的代谢率,可以等效为:

1遇见1千卡公斤×小时4.184千焦公斤×小时

创建了800个代码的列表,以表示各种日常活动及其相应的能耗(24). 例如,代码1015表示MET值为7.5的“普通自行车”。将生命线数据的物理活动与代码匹配的过程称为编码。

挑战和动机

这项任务有两个挑战。首先,身体活动是用荷兰语收集的,因此只有荷兰语水平较高的研究人员才能执行编码任务。其次,有90000多名参与者的数据,每个参与者可以报告最多四个与“运动”相关的数据值,用于计算MET值。总共有80708个术语(包括5211个唯一术语)需要编码。我们咨询了研究人员,了解到他们通常在Excel表中手工编码数据,或在SPSS中通过语法编码数据,对于每个条目,他们需要交叉检查编码表并查找适当的代码。虽然这种方法在小范围内是可行的(少于10000名参与者),但很明显,手动编码如此大量的数据将需要太多的工作。因此,我们使用了我们的SORTA编码系统。

为了训练SORTA,我们重新使用了一个列表,其中列出了荷兰语中描述的体力活动与之前项目中创建的代码之间的人工匹配。我们以此为基础,半自动匹配LifeLines的新数据。策划的比赛示例如所示表2完整的列表可以在补充材料:Lifelines_MET_mapings.xlsx。此外,我们还增强了SORTA的上传功能,以支持一个协调项目中的多个“运动”相关列。只要列标题符合标准命名方案,即可执行此操作,其中第一个列标题为“Identifier”,其他列标题以字符串“Sport_”开头,例如“Sport_1”和“Sport_2”。

图2显示了一个使用MET代码手动编码体力活动“ZWEMMEN”(游泳)的示例,其中SORTA检索了候选人的短名单,并选择列表中的第一项作为真正的匹配项。每次手动管理过程产生一个新的匹配项时,这个新知识都可以添加到知识库中,以应用于所有未来的数据值。这是一个可选操作,因为数据值(尤其是由研究参与者填写的值)有时包含不应添加到知识库中的拼写错误。

保存图片、插图等的外部文件。对象名称为bav089f2p.jpg

对身体活动进行编码的示例。将MET代码列表与输入进行匹配,并根据相似性得分进行排序,从中可以选择合适的代码对输入进行重新编码。如果没有合适的候选代码,用户可以手动搜索代码或决定使用“未知代码”。如果单击“代码数据”按钮,则仅使用所选代码对输入进行重新编码。如果单击按钮“Code and add”,输入将被重新编码,并作为新的同义词添加到代码中。这个例子是荷兰语单词“游泳”的拼写错误。zwemmen=游泳,zwemmen 2x=每周两次,soms-zwemme=偶尔游泳,gym-zwemne=水上健身房。

评价

在SORTA的协助下,负责发布生命线项目中体力活动数据的研究人员对所有数据值进行了编码。包含匹配列表的编码结果被用作以下分析的黄金标准,其中我们评估了两个主要问题:(i)前一轮编码能在多大程度上改进新的匹配结果?(ii)SORTA选择的代码可以自信地假设与某个值正确匹配的最佳截止值是多少?

SORTA的目标是为数据值筛选出好的代码,因此我们首先评估正确的手动匹配的排名,因为它们的排名越高,用户需要执行的手动工作就越少。我们的用户评估表明,只要在前10个代码中捕捉到正确的匹配,研究人员就认为该工具有用。否则,根据用户的经验,用户更改了工具中的查询以更新匹配结果。

重新使用上一轮编码中的手动管理数据,提高了SORTA的性能,召回率/准确度为1级标准从0.59/0.65增加到0.97/0.98,第10位从0.79/0.14增加到0.98/0.11(参见图3表4). 在编码任务结束时,大约97%的正确匹配被捕获到排名第一的位置,用户只需查看第一个候选匹配。

保存图片、插图等的外部文件。对象名称为bav089f3p.jpg

评估生命线数据性能的接收器工作特性(ROC)曲线。蓝色代表研究人员记录所有生命线数据之前的表现。在编码过程中,研究人员向数据库中引入了新知识,如果再次上传类似的数据集(例如同一问卷的第二轮),编码性能将大大提高,如红色曲线所示。

表4。

生命线案例研究的准确性和召回率

排名截止日期编码前
编码后
召回精密度F-测量召回精密度F-测量
10.590.650.620.970.980.97
20.660.390.490.970.500.66
0.710.290.410.970.340.50
40.740.240.360.970.260.41
50.760.210.330.970.210.35
60.770.190.300.970.180.30
70.780.170.280.970.150.26
80.780.160.270.980.140.25
90.780.140.240.980.120.21
100.790.140.240.980.110.20
110.790.130.220.980.100.18
120.790.120.210.980.090.16
130.790.120.210.980.090.16
140.790.120.210.980.080.15
150.790.110.190.980.080.15
160.790.110.190.980.070.13
170.790.110.190.980.070.13
180.800.110.190.980.060.11
190.800.100.180.980.060.11
200.800.100.180.980.060.11
300.800.100.180.980.040.08
500.800.090.160.980.030.06

总计,使用MET编码系统将90000个自由文本值(其中5211个是唯一的)重新编码到体育锻炼中。该表显示了编码前(仅使用MET分数描述)和编码后(当人类管理员已经手动处理了大量SORTA建议时)SORTA结果中每个位置的召回率和精确度。

我们使用了一种基于n-gram的算法,为用户提供一种易于理解的度量,根据值和代码(或其同义词)之间的n-gram匹配,以1-100%的比例判断建议代码的相关性。补充表S1这表明,在LifeLines案例中,82%的相似性是自动接受推荐代码的一个很好的界限,因为系统生成的100%匹配都是由人类管理员判断为正确匹配的。由于LifeLines数据不断更新(新参与者和现有参与者每18个月更新一次问卷数据),因此在重新应用该工具时重新校准截止值将非常有用。

案例2:从CINEAS编码系统到HPO本体的重新编码

背景

CINEAS是荷兰疾病代码开发和临床遗传学社区分发中心(网址:www.cineas.org) (6). 该中心于1992年由荷兰负责遗传咨询和诊断的八个临床遗传学中心发起(25). 荷兰临床遗传学家和遗传咨询师在日常实践中使用CINEAS代码来为患者分配疾病和临床症状。63人第个CINEAS版目前列出了5600多种疾病和2800多种临床症状。面临的挑战是将CINEAS临床症状列表与HPO进行匹配和整合(或重新编码),以便使用一个丰富的标准化编码系统来对患者症状进行未来编码,并实现全国各地本地系统中已注册的CINEAS代码的互操作性。代谢性疾病来源于CINEAS疾病列表,该列表已成为一个独立项目,名为荷兰诊断注册代谢性疾病(DDRMD,网址:https://ddrmd.nl/) (25),将在未来与孤儿本体匹配。

挑战和动力

CINEAS馆长以前的策略是通过BioPortal搜索HPO,然而,跟踪可能的候选词意味着做书面笔记或在旁边保留数字注册表,跟踪方法耗时,容易出现人为错误,需要在工具或屏幕之间进行大量切换。因此,SORTA被纳入项目。图4显示了数据值“外耳道缺陷”的示例和作为候选匹配项的HPO本体术语列表。虽然没有一个与输入词完全匹配,但前三个候选词是最匹配的,但对于输入来说太具体了。专家的审查表明,由于“听道异常”的普遍性,它可能是一个很好的“部分”匹配。

保存图片、插图等的外部文件。对象名称为bav089f4p.jpg

将输入值“外耳道缺陷”与HPO本体术语匹配的示例。从索引中检索出候选HPO本体术语列表,并根据相似度得分进行排序。用户可以通过单击“v”按钮来选择映射。如果没有合适的候选映射,用户可以选择“No match”选项。

评价

在一项评估研究中,2800个临床症状中的前315个由人类专家重新编码,其中246个与HPO术语匹配,而69个无法匹配。此外,我们使用BioPortal Annotator和ZOOMA执行了相同的匹配任务,因为这些现有工具看起来最有前途(请参阅表5). 我们进一步研究了通过计算所有可能的n-gram截断(0–100%)的精度和召回率,可以自信地使用哪一个截断值来假设自动匹配是正确的。补充表S2显示89%是未来CINEAS匹配任务的良好截止值,因为高于此值,所有建议的匹配都是正确的,精度为100%。

表5。

SORTA、BioPortal和ZOOMA的比较

排名截止日期索尔塔
生物门户
ZOOMA公司
召回精密度F-测量召回精密度F-测量召回精密度F-测量
10.580.450.510.340.540.420.170.630.27
20.690.270.390.350.440.390.170.600.26
0.730.190.300.350.440.390.180.600.28
40.760.150.25不适用不适用不适用不适用不适用不适用
50.780.130.22不适用不适用不适用不适用不适用不适用
60.810.110.19不适用不适用不适用不适用不适用不适用
70.810.090.16不适用不适用不适用不适用不适用不适用
80.830.080.15不适用不适用不适用不适用不适用不适用
90.830.080.15不适用不适用不适用不适用不适用不适用
100.850.070.13不适用不适用不适用不适用不适用不适用
110.850.060.11不适用不适用不适用不适用不适用不适用
120.850.060.11不适用不适用不适用不适用不适用不适用
130.860.060.11不适用不适用不适用不适用不适用不适用
140.860.050.09不适用不适用不适用不适用不适用不适用
150.870.050.09不适用不适用不适用不适用不适用不适用
160.870.050.09不适用不适用不适用不适用不适用不适用
170.870.050.09不适用不适用不适用不适用不适用不适用
180.880.040.08不适用不适用不适用不适用不适用不适用
190.880.040.08不适用不适用不适用不适用不适用不适用
200.880.040.08不适用不适用不适用不适用不适用不适用
300.890.030.06不适用不适用不适用不适用不适用不适用
500.920.020.04不适用不适用不适用不适用不适用不适用

N/A不适用

评估基于CINEAS案例研究,其中315个临床症状与人类表型本体匹配。该表显示了SORTA、BioPortal Annotator和ZOOMA中每个位置的召回率/精确度。注意:BioPortal Annotator和ZOOMA都有一个限制,即它们只能找到精确的匹配项并最多返回三个候选项。

案例3:根据本体之间现有的匹配进行基准测试

我们从BioPortal下载了700个HPO和DO概念之间的现有匹配,1148个HPO与NCIT概念之间的匹配,以及3631个HPO概念与OMIM概念的匹配。我们使用DO、NCIT和OMIM中的匹配项作为输入值,HPO作为目标编码系统,并使用SORTA、BioPortal Annotator和ZOOMA生成匹配项。补充表S3显示所有三个工具都成功地重现了大多数现有本体匹配,通过检索所有本体匹配,SORTA略优于其他两个工具。审查表明,SORTA能够找到复杂的匹配项,其中数据值和本体术语由多个单词组成,其中一些单词是串联的,例如,将DO中的“丙酸血症”与HPO中的“丙酸血症”进行匹配。我们还注意到,在第一级之外,SORTA中的精度低于其他两个(在ZOOMA中精度最高)。此外,我们还研究了在不同的截止点可以自动匹配的数据值比例。补充表S4结果表明,在相似度分界为90%的情况下,SORTA在所有三个匹配实验中以100%的准确率召回了至少99.6%的现有匹配。

讨论

在结果部分,我们在三个不同的用例中评估了SORTA,这表明SORTA确实可以帮助人类专家执行(重新)编码任务,从而提高效率。虽然用户对SORTA的评价非常积极,但合作者之间仍存在很多争议,即需要将基于Lucene的匹配与n-gram后处理相结合,以及我们是否可以更好地利用本体关系。下面我们将讨论这些问题,作为未来改进算法性能并保持可用性的方向的基础。

正如方法部分所提到的,Lucene分数对用户来说并不是真正的信息,但由于考虑了信息内容的余弦相似性函数,Lucene对匹配结果进行排序的顺序似乎更好。应用基于n-gram的算法后,有时会更改此顺序。为了评估这个问题,我们使用Lucene和Lucene+n-gram执行了相同的匹配任务。在对LifeLines数据进行编码的情况下,性能非常相似,并且包含n-gram不会改变匹配结果的顺序,请参见补充材料:PrecisionRecallLifeLines.xlsx。然而,在匹配HPO术语的情况下,如图5补充材料精确召回CINEAS.xlsx。光是Lucene就胜过了这两种算法的组合。我们假设,这可能是由于Lucene使用了单词反向文档频率(IDF)指标造成的,该指标是使用以下公式为每个术语(t)计算的:

国际开发基金(t吨)=1+日志(全部的编号文档文档频率+1)

其中docFreq是包含术语的文档数。

保存图片、插图等的外部文件。对象名称为bav089f5p.jpg

三种算法匹配HPO项的性能比较。Lucene(蓝线)、Lucene+n-gram组合(红色)和Lucene+n-gram+反转文档频率组合(绿色)。

我们检查了IDF中HPO用例输入值的所有单词补充图S1显示了每个单词所携带信息的巨大差异。这表明,为了提高工具的可用性,我们应该允许用户选择他们希望使用的算法来对匹配结果进行排序,我们将在不久的将来添加这一选项。我们还探讨了是否可以简单地将信息内容添加到n-gram评分机制中,以便根据IDF重新分配n-gram分数中每个查询词的贡献,从而使排名保持一致。例如,使用n-gram,查询字符串“hyperextensibility hand joint”中单词“joint”的贡献率约为18.5%,因为“join”是5/27个字母。然而,如果这个词在语义上更重要,那么与这个词匹配的结果应该有更高的分数。因此,我们采用n-gram算法分别计算每个单词的IDF,计算平均值,并将分数重新分配给更重要的单词,如下所示:

方程式图像

其中common_word被定义为具有低于IDF的IDF平均的important_words定义为高于IDF的IDF平均的.

与排名第10的朴素n-gram评分相比,这使得回忆能力从0.79提高到0.84(有关详细信息,请参阅补充材料:comparision_ngram_ lucene.xlsx),并通过中的接收器工作特性(ROC)曲线提供了汇总的比较图5然而,Lucene仍然优于该指标,我们推测这可以通过基础评分函数之间的根本差异来解释。n-gram分数对输入字符串的长度比Lucene更敏感,很可能两个字符串不共享任何单词,但共享类似的二元标记,尤其是在处理长字符串时。因此,基于n-gram的算法可能会发现比Lucene更多的假阳性。然而,在实践中,要编码/重新编码的数据值的数量相当大,使用n-gram分数截止值的好处超过了这个缺点,所有建议的匹配都会被自动选择。

另一个问题是我们是否可以更好地利用本体中捕获的所有知识。我们注意到,在一些匹配示例中,来自同一本体簇的相关术语往往会一起出现在匹配结果中。例如,图4显示输入术语“外耳道缺陷”与前三名候选人中的任何一个都不匹配,因为它们太具体,因此我们不得不使用更通用的本体术语“耳道异常”,它实际上排名第11位,尽管这一届实际上是三位顶尖候选人的家长,但这场比赛仍不相上下。这表明,如果输入值与具有高相似性得分的任何候选者都不匹配,并且候选者包含本体术语的聚类,则父本体术语可能应该被选择为最佳匹配(这类似于人类策展人对这种匹配做出决策的方式)。然而,将这些知识转化为匹配分数的自动适应是非常重要的,我们计划在未来继续努力。

结论

我们将SORTA开发为一个软件系统,通过使用词汇和本体匹配自动筛选每个值的标准代码,从而简化数据清理和编码/重新编码。用户和性能评估表明,与生物医学研究人员用于协调数据池的早期协议相比,SORTA提供了显著的速度和质量改进。随着使用量的增加,我们计划根据所有用户之前的选择动态更新精度和召回指标,以便用户可以使用可靠的截止值开始匹配任务。此外,我们计划包括额外的资源,如WordNet,用于查询扩展,以增加从本体或编码系统中找到正确匹配的机会。最后,我们还希望将映射作为链接数据发布,例如作为纳米出版物(26) (http://nanopub.org),因此可以轻松地重复使用。SORTA作为运行于的服务可用http://molgenis.org/sorta。文档和源代码可以从下载http://www.molgenis.org/wiki/SORTA在开源LGPLv3许可证下。

补充数据

补充数据可在数据库在线。

基金

这项工作得到了欧盟第七框架计划(FP7/2007-2013)赠款编号的支持261433(欧盟生物银行卓越研究标准化与协调-BioSHaRE-EU)和拨款编号284209(生物医学桥梁)。它还得到了BBMRI-NL的支持,这是一个由荷兰科学研究组织(NWO)资助的研究基础设施,赠款编号为184.021.007我们感谢莱斯特大学的安东尼·布鲁克斯(Anthony Brookes)提供了缩写词“SORTA”,感谢凯特·麦金太尔(Kate Mc Intyre)和杰姬·西奥多(Jackie Senior)编辑了这份手稿。开放获取费用的资金来源:BioSHaRE-EU。

利益冲突。未声明。

补充材料

补充数据:

工具书类

1BioShaRE(2011)BioShaRE项目。https://www.bioshare.eu网站/
2Pang,C.、Hendriksen,D.、Dijkstra,M。.(2015)BiobankConnect:使用本体和词汇索引快速连接数据元素以进行跨生物库的集合分析的软件。doi:10.1136/amijnl-2013-002577。[PMC免费文章][公共医学]
三。Poggi A.、Lembo D.、Calvanee D.等人(2008年)将数据链接到本体.计算机科学课堂讲稿(包括人工智能子系列课堂讲稿和生物信息学课堂讲稿)斯普林格,第4900卷,LNCS,第133-173页。[谷歌学者]
4.Rubin D.L.、Shah N.H.、Noy N.F.(2008)生物医学本体论:功能视角.简介。生物信息学。,9, 75–90. [公共医学][谷歌学者]
5Scholtens S.、Smidt N.、Swertz M.A.等人(2014)队列概况:生命线、三代队列研究和生物银行.国际流行病学杂志。,doi:10.1093/ije/dyu229。[公共医学][谷歌学者]
6Zwamborn Hanssen A.M.N.、Bijlsma J.B.、Hennekam E.F.A.M.等人(1997年)荷兰遗传病和畸形综合征统一多中心登记系统.美国医学遗传学杂志。,70, 444–447. [公共医学][谷歌学者]
7Euzenat,J.和Shvaiko,P.(2013)本体匹配秒.http://www.springer.com/computer/数据库+管理+信息+检索/图书/978-3-642-38720-3最后访问日期:2015年6月26日
8纳瓦罗·G(2001)近似字符串匹配的导游.ACM计算。Surv公司。,33, 31–88.[谷歌学者]
9Brown P.F.、DeSouza P.V.、Mercer R.L.等人(1992年)基于类的自然语言n-gram模型.计算。语言学,18, 467–479.[谷歌学者]
10Levenshtein V.I.(1966)能够纠正删除、插入和反转的二进制代码.苏联物理学。多克拉迪,10, 707–710.[谷歌学者]
11Salton G.、Wong A.、Yang C.S.(1975)一种用于自动索引的向量空间模型.Commun公司。ACM公司,18, 613–620.[谷歌学者]
12Saruladha K.(2011)本体与模式匹配系统的比较分析.国际期刊计算。申请。,34, 14–21.[谷歌学者]
13Mathur I.,Joshi N.(2014)Shiva++:一种增强的基于图的本体匹配器.国际期刊计算。申请。,92, 30–34.[谷歌学者]
14Cruz I.F.(2009)AgreementMaker:大型真实世界模式和本体的高效匹配.PVLDB公司,2, 1586–1589.[谷歌学者]
15Jiménez-Ruiz E.,Cuenca Grau B.(2011年)LogMap:基于逻辑的可扩展本体匹配.计算机科学课堂讲稿(包括人工智能子系列课堂讲稿和生物信息学课堂讲稿)斯普林格,7031 LNCS,第273-288页。[谷歌学者]
16Schuemie M.J.、Jelier R.、Kors J.(2007)Peregrine:通过字典查找实现轻量级基因名称规范化。输入:第二届生物创意挑战评估研讨会论文集第131-133页。[谷歌学者]
17.Whetzel P.L.、Shah N.H.、Noy N.F.等人(2009年)BioPortal:点击鼠标即可获得本体和集成数据资源.核酸研究。,37, 170–3.[PMC免费文章][公共医学][谷歌学者]
18Funk C.、Baumgartner W.、Garcia B.等人(2014)大规模生物医学概念识别:当前自动标注器及其参数的评估.BMC生物信息学,15, 59.[PMC免费文章][公共医学][谷歌学者]
19.Burdett T.、Jupp S.、Malone J.等人(2012年)Zooma2-注释知识和管理API的存储库.http://www.ebi.ac.uk/spot/zooma/index.html(2015年6月26日,上次访问日期)。[谷歌学者]
20Apache软件基金会(2006)阿帕奇·卢森.议程,2009 https://lucene.apache.org/core网站/(2015年5月5日,上次访问日期)。[谷歌学者]
21Apache软件基金会(2001)Lucene相似性得分。https://lucene.apache.org/core/4_6_0/core/overview-summary.html(2015年6月26日,上次访问日期)。
22ElasticSearch(2015)《Elastic搜索:Lucene的实用评分函数》。https://www.elastic.co/guide/en/lasticsearch/guide/master/practical-scoring-function.html查询-规范(2015年6月26日,上次访问日期)。
23Van Vliet-Ostaptchouk J.V、Nuotio M.-L.、Slatter S.N.等人(2014)欧洲代谢综合征和代谢健康肥胖的患病率:十项大型队列研究的协同分析.BMC内窥镜。迪索德。,14, 1–13.[PMC免费文章][公共医学][谷歌学者]
24Ainsworth B.E.、Haskell W.L.、Leon A.S.等人(1993年)体育活动纲要:人类体育活动的能源成本分类.医学科学。体育锻炼。,25, 71–80. [公共医学][谷歌学者]
25Sollie A.、Sijmons R.H.、Lindhout D.等人(2013)代谢紊乱的一个新编码系统显示了国际疾病分类ICD-10和SNOMED-CT中的差距,这可能是基因型-表型数据共享的障碍.嗯,变种人。,34, 967–973. [公共医学][谷歌学者]
26Sernadela P.、Horst E.、Thompson M.等人(2014)生物医学数据的纳米发布体系结构。输入:第八届计算生物学和生物信息学实际应用国际会议(PACBB 2014)第277-284页。[谷歌学者]

文章来自数据库:生物数据库与治疗杂志由以下人员提供牛津大学出版社