【2006.07】UMLS工具——MetaMap原理深度解析
文献:《MetaMap: Mapping Text to the UMLS Metathesaurus》2006 年 7 月 14 日
https://lhncbc.nlm.nih.gov/ii/information/Papers/metamap06.pdf
MetaMap:将文本映射到 UMLS 元数据库
总结
解决的问题
- 自动概念映射问题:解决如何将文本自动映射到 UMLS Metathesaurus 中的概念,这是信息检索、文本挖掘等众多自然语言处理任务的基础。
挑战
- 语义多样性和歧义性:即使是简单匹配也可能将文本映射到不相关的 Metathesaurus 术语,且术语可能存在语义歧义。例如“ventilation” 有建筑气流和呼吸相关的不同概念。
- 词汇变体处理:包括缩写、首字母缩写、同义词、词形变化、拼写变体等多种词汇变体形式,如何准确处理这些变体以找到正确的映射是一大挑战。
- 映射准确性和复杂性:不同类型的匹配(简单、复杂、部分、不匹配)存在不同程度的准确性问题,部分匹配中的各种情况(正常部分、有间隙部分、过度匹配)增加了映射的复杂性。
创新点
- 映射策略
- 基于短语解析和变体生成:通过 SPECIALIST 解析器将文本解析为名词短语,然后为每个名词短语生成各种变体(使用词汇工具),包括其所有的拼写变体、缩写、首字母缩写、同义词、词形变化和派生变体以及这些的组合。
- 综合评估候选映射:形成包含变体的 Metathesaurus 字符串候选集,使用基于中心性、变化性、覆盖度和内聚性(或在忽略单词顺序时使用参与度)的评估函数计算每个候选的映射质量,综合考虑多种因素来选择最佳映射。
- 中心性:中心性用于衡量 Metathesaurus 候选字符串是否涉及名词短语的关键部分(即头部)。如果字符串涉及到名词短语的头部,中心性值为 1;否则为 0。
- 对于名词短语 “ocular complications”,如果一个候选字符串是 “Complications”,它涉及到了短语的核心部分 “complications”,所以它的中心性值为 1;而如果是 “Eye”,它没有涉及到核心部分 “complications”,中心性值则为 0。
- 变化性:可以把它想象成这个人与团队原本的风格或要求有多大的差异。对于映射来说,就是看 Metathesaurus 字符串中的变体和名词短语中对应词的差别有多大。如果差别很小,就像这个人很容易融入团队风格,那么变化性得分就高;如果差别很大,就像一个很另类的人加入一个传统团队,得分就低。通过计算每个变体在 Metathesaurus 字符串中的变化距离来确定,这个距离是变体生成过程中每个步骤的距离值之和。然后根据公式计算变化值,其中是总距离值。【变体是内置工具算的,根据计算过程定义了每种变化的距离】
- 覆盖度:覆盖度表示 Metathesaurus 字符串和名词短语在匹配中参与匹配的单词数量比例。分别计算 Metathesaurus 字符串和名词短语参与匹配的单词数(称为 Metathesaurus 跨度和短语跨度),忽略间隙。然后,Metathesaurus 字符串的覆盖度值是 Metathesaurus 跨度除以字符串长度,短语的覆盖度值是短语跨度除以短语长度,最终覆盖度值是两者的加权平均,其中 Metathesaurus 字符串的权重是短语的两倍。
- 内聚性(或在忽略单词顺序时使用参与度):这有点像看一个人不管有没有按照规定的顺序,只要他能参与到团队任务中的能力。对于映射来说,就是看短语中的单词不管顺序如何,能映射到 Metathesaurus 单词的比例。如果很多单词都能在不考虑顺序的情况下找到对应,就像这个人在各种情况下都能参与任务,参与度得分就高。
- 中心性:中心性用于衡量 Metathesaurus 候选字符串是否涉及名词短语的关键部分(即头部)。如果字符串涉及到名词短语的头部,中心性值为 1;否则为 0。
- 变体生成算法:采用知识密集型的变体生成算法,利用 SPECIALIST 词典、首字母缩写和缩写知识库、派生形态规则知识库以及从医学词典中提取的同义词知识库等多种知识源来生成变体。
贡献
- 算法通用性:MetaMap 算法不限于生物医学领域,可应用于任何具有足够知识源的领域。
- 工具实用性:提供了一个高度可配置的工具,通过众多选项可以适应不同的应用场景和需求,包括信息检索、文本挖掘、分类和分类、文本摘要、问答系统、知识发现等自然语言处理任务。
- 详细指导:详细描述了 MetaMap 的开发过程和使用方法,包括映射问题的分析、算法的实现细节以及各种选项的作用,为用户提供了全面的指导。
提出的方法
- 基本映射流程
- 文本解析为名词短语,对每个名词短语生成变体,找到包含变体的 Metathesaurus 候选字符串,计算每个候选的映射强度,结合相关候选重新计算并选择最佳映射。
- 变体生成方法
- 确定名词短语的变体生成器(有意义的子序列),为每个生成器计算缩写、首字母缩写、同义词及其派生变体等,递归生成派生变体和同义词变体,但不递归生成缩写和首字母缩写变体。
- 评估函数
- 基于中心性(短语头部是否参与匹配)、变化性(Metathesaurus 字符串中变体与短语中对应词的差异程度)、覆盖度(匹配涉及的 Metathesaurus 字符串和短语的单词比例)和内聚性(强调匹配的连续单词组成的连通分量)计算匹配质量,在忽略单词顺序时使用参与度替代覆盖度。
指标
- 映射类别指标:将映射分为简单匹配、复杂匹配、部分匹配(包括正常部分匹配、有间隙部分匹配和过度匹配)和不匹配四类,通过手动映射分析不同类别在样本中的占比(如简单匹配占 30%,复杂匹配占 8%,部分匹配占 38%,不匹配占 24%)。
- 评估函数指标:使用基于中心性、变化性、覆盖度和内聚性(或参与度)的评估函数,为每个组件计算 0 到 1 之间的归一化值并加权平均,最终得到 0 到 1000 之间的评估分数,用于衡量候选映射的质量。
结论
- 通过手动分析映射问题,提出了一种自动映射文本到 UMLS Metathesaurus 的有效策略和方法,该方法在处理各种类型的匹配和词汇变体方面具有良好的性能,通过评估函数能够合理地选择最佳映射,并且 MetaMap 工具具有高度可配置性,适用于多种自然语言处理任务和领域。
剩余挑战和未来工作
- 复杂语义理解:虽然在一定程度上解决了词汇层面的映射问题,但对于更复杂的语义关系和上下文理解可能还需要进一步改进,以提高映射的准确性和语义相关性。
- 处理大规模数据:随着数据量的不断增加,如何提高算法在大规模数据上的效率和性能是一个挑战,可能需要进一步优化算法结构和数据处理方式。
- 领域适应性增强:尽管算法不限于生物医学领域,但在不同领域可能需要进一步调整和优化知识源以及相关参数,以更好地适应特定领域的特点和需求。
- 我认为可以优化的部分:
- 映射质量有待提高
- 数字无法进行准确映射,作为量化的工具无法发挥作用。
- 解决方法:使用大模型对映射后的结果进行筛选,在映射后使用大模型,加入数值,进行下一步的判断
- 思考:映射的质量到底如何,能不能用新的技术,如冯提出的实体抽取关系抽取获得CUI与关系。
原文
艾伦・R・阿伦森
自动确定文本中提到的概念是一项常见的任务。它是一个许多应用程序的先决条件,包括信息检索、文本挖掘、分类和分类、文本摘要、问答、知识发现和其他自然语言处理任务。元地图最初是为信息检索而开发的,即基于用英语表述的查询来改进相关 MEDLINE® 引文的检索。在这种情况下,文本不仅可以包含用户查询,还可以包含 MEDLINE 引文的标题和摘要;并且要在文本中找到的概念是 UMLS® 元词库 ® 的概念。该任务成为将文本映射到元词库的任务之一。本报告描述了元地图的发展,并就其使用提供了指导。第 1 节包含手动检查一小部分话语映射问题的结果。它为定义自动映射到元词库的策略提供了基础,如第 2 节所述。自动方法的特点是确定如何从 SPECIALIST 解析器发现的短语映射到元数据库中的适当概念。这种映射的结果可用于规范化文本,以便每个引用的概念都被唯一地表示。MetaMap 实现的详细信息在第 3 节到第 6 节中给出。
第 7 节描述了定义 MetaMap 行为的选项;第 8 节定义了 SKR(MetaMap 的泛化)的附加选项。第 9 节通过指定 MetaMap 选项的有用组合描述了 MetaMap 的使用。最后,第 10 节由几个附录组成。应该注意的是,MetaMap 算法并不特定于生物医学领域,可以应用于任何具有足够知识来源的领域。
1. 映射问题的初步研究
为了确定将文本映射到元词库问题的范围,从 NLM 测试集中提取了一组 99 个话语(16 个查询和 83 个引文标题)。SPECIALIST 解析器被应用于产生 301 个名词短语的话语。每个短语都被手动映射到 1992 年版本的元词库,并根据它映射到元词库的程度分为四个类别之一。一个类别中的成员身份由如下定义的映射的词汇属性决定;在每种情况下,屈曲和拼写变化都被忽略:
【全部对应】
1.简单匹配名词短语映射到元词库字符串。例如,重症加强护理病房映射到重症监护室。
2.复杂匹配名词短语中的单词有一个分区,因此分区的每个元素都与元词库有一个简单匹配。例如,重症监护医学映射到元词库的两个术语重症监护和医学
【有部分不对应】
3.部分匹配名词短语映射到元词库字符串的方式是,名词短语或元词库字符串(或两者)中的至少一个单词不参与映射。部分匹配有以下变体:
【狭义概念映射到广义概念】
正常部分匹配 最简单的部分匹配发生在元词库字符串映射名词短语的一部分时,而它映射的内容没有间隙。例如,液晶体热成像映射到热成像,其中映射不涉及液晶体。同样,人工耳蜗受试者映射到人工耳蜗,其中受试者不涉及。正常部分匹配为所涉及的名词短语部分提供了良好的结果。
【长词汇首尾匹配】
间隙部分匹配 间隙部分匹配涉及名词短语或 Metathesaurus 字符串中的间隙或两者兼而有之。对于动态监测到 AMBULATORY CARDIAC MONITORING 的映射,间隙 CARDIAC 出现在 Metathesdragon 字符串中。对于阻塞性睡眠呼吸暂停到阻塞性呼吸暂停的映射,间隙睡眠出现在名词短语中。对于连续泵驱动血液滤过到连续动静脉血液滤过的映射,两者都出现间隙。间隙部分匹配通常比正常部分匹配提供更好的结果,因为它们的匹配参与更大。然而,当间隙出现在 Metathesdragon 字符串中时,字符串往往过于具体。
【源词库部分不一样】
超匹配 当匹配不涉及元词库字符串的任一端或两端的单词时,就会发生超匹配。超匹配类似于正常的部分匹配,只是元词库字符串的一部分不涉及映射。例如,元词库字符串术后并发症是眼部并发症的超匹配。短语应用程序有许多超匹配,包括作业应用程序、热 / 冷应用程序和医学信息学应用。除非浏览是映射的对象,否则超匹配几乎总是给出糟糕的结果。
4.没有匹配,名词短语的任何部分都没有映射到 Metathesaurus 中的任何字符串。
上面的分类是按照映射强度的顺序排列的,简单的匹配是最强的。然而,应该强调的是,映射的语义或概念质量差异很大。即使是简单的匹配也可以将文本映射到不相关的元词库术语。
【数值的映射差距很大,因为在医学中一般指概念而不是数量。在这里我觉得可以优化一下流程,比如数量在最后进行补充。映射后的结果由几个大模型再次进行筛选,排除部分内容】
例如,名词短语数值映射到元词库概念具有语义类型定性概念的值。在元词库中,值是心理学中的一个术语,指的是社会价值观;它不是一个定量概念。此外,即使元词库包含正确的概念,该概念也可能是模棱两可的。例如,元词库包含两个通风概念,一个与建筑物中的气流有关,另一个与呼吸有关。
下面给出了一些说明刚才讨论的匹配类型的手动研究示例。在每种情况下,一个短语和一个或多个元词库术语与匹配类型一起列出。请注意,每个短语通常映射到比显示的更多的元词库术语。
computerized system > Computer Systems (simple) and Computerized Medical Record Sys-
tems (gapped partial);
indications > Indicators (simple);
ischaemic limbs > Ischemic and Limbs (complex);
diabetic foot > Diabetes and Foot (complex), DIABETIC FOOT CARE (overmatch), and
Diabetic Foot (simple);
obstructive sleep apnea > Obstructive Apnea (gapped partial) and Sleep apnea (normal par-
tial);
membrane plasma filtration > Membranes, Plasma, and Filtration (complex);
inferior vena caval stent filter > Inferior Vena Cava Filter and Stent (complex);
laboratory tests > laboratory Tests (simple) but also TEST1 (normal partial);
cardiokymography > Kymography (simple); and
phrenic motoneurones > Motor Neurons (normal partial)
适应症 > 指标(简单);
肢体缺血 > 缺血和肢体(复杂);
糖尿病足 > 糖尿病和足部(复杂),糖尿病足部护理(超配)和糖尿病足(简单);
阻塞性睡眠呼吸暂停 > 阻塞性呼吸暂停(间隙部分)和睡眠呼吸暂停(正常部分);
膜等离子过滤 > 膜、等离子和过滤(复合物);
下腔静脉支架滤器 > 下腔静脉滤器和支架(复合);实验室测试 > 实验室测试(简单),但也有 TEST1(正常部分);
心动图 > 造影(简单);和
膈运动神经元 > 运动神经元(正常部分)。
将 301 个名词短语手动映射到元词库的结果总结在
表 1.2 [注意,113 个部分匹配中有 70% 涉及名词短语的头部。] (注意有一些是复合的)
2.基本映射策略
从上述手动映射练习中获得的经验自然导致了以下自动完成映射的策略。对每个文本话语执行以下步骤:
1. 将文本解析为名词短语,并对每个短语执行其余步骤;
2. 生成名词短语的变体,其中一个变体基本上由一个或多个名词短语单词及其所有拼写变体、缩写、首字母缩略词、同义词、屈折和派生变体以及这些变体的有意义的组合组成;
3. 形成包含其中一个变体的所有元词库字符串的候选集;
4. 对每个候选者,根据名词短语计算映射,并使用评估函数计算映射的强度。按映射强度对候选者进行排序;
5. 合并涉及名词短语不相交部分的候选者,基于合并后的候选者重新计算匹配强度,并选择得分最高的候选者,为原始名词短语形成一组最佳元词库映射。
映射策略的步骤 2-5 的描述将在接下来的四个部分中给出。
3.名词短语变体
元词库映射算法首先计算解析器发现的每个名词短语的一组变体生成器。变体生成器是短语中任何有意义的单词子序列,如果子序列是单个单词或出现在 SPECIALIST 词典中,它就是有意义的。例如,液晶体热成像 1 名词短语的变体生成器是液晶体热成像、液晶体、液晶和热成像(介词、限定词、连词、助词、情态、代词和标点符号被忽略)。注意多词生成器。一个将在整个续集中使用的更简单的例子是基于名词短语眼睛并发症。2 它的生成器是简单的眼睛和并发症。
计算变体的方法是规范化方法。这仅仅意味着一个变体不仅代表它自己,还代表它的所有屈折和拼写变体。3 折叠屈折和拼写变体可以节省大量计算。根据图 1 所示的方案为每个变体生成器计算变体。每个生成器生成变体的计算过程如下:
1. 计算生成器的所有首字母缩略词、缩写词和同义词。这会产生三组 Generator、Acronyms/Abbreviations 和 Synonyms,它们在图 1 中用框突出显示;
2. 通过计算三个集合的派生变体和派生变体的同义词来扩充它们的元素;
3. 对于首字母缩略词集的每个成员,计算同义词;和
4. 对于同义词集的每个成员,计算首字母缩略词 / 缩写。
是否递归生成给定类型的变体的问题处理如下:
首字母缩略词和缩写不是递归生成的,因为这样做几乎总是产生不正确的结果。例如,钠的缩写 na 有膨胀护士助手和与钠无关的核抗原;和
派生变体和同义词是递归生成的,因为这通常会产生有意义的变体。
为生成器眼计算的变体如图 2 所示。每个变体后面是它的变体距离分数,它与生成器的变化程度的粗略度量(见第 5 节)以及它是如何计算的历史。例如,
oculus(具有变量距离 3 和历史 d)只是生成器眼的派生变量;
光学(具有变体距离 7 和历史 ssd)是眼睛同义词(眼睛)的同义词(光学)的派生变体;和
Vision(带有变体距离 9 和历史 ssds)是上述衍生变体光学的同义词。
此处描述的变体生成算法是知识密集型的。它使用以下知识来源:
专家词典和从它派生的规范形式表;
首字母缩略词和缩写的专业知识库;
包含派生形态学规则的专业知识库;和两个同义词知识库:一个是从 Dorland 的插图医学词典中提取同义词获得的,另一个是为与 SPECIALIST 一起使用而开发的补充同义词知识库。
4.原词库候选
名词短语的元词库候选者由包含至少一个为短语计算的变体的所有元词库字符串的集合组成。1 通过使用元词库单词索引的版本(a version of the Metathesaurus word index),很容易找到候选者,该索引从单词到包含它们的所有元词库字符串。名词短语眼并发症的元词库候选者如图 3 所示。当字符串本身不是元词库骗局的首选名称时,
例如,首选名称出现在字符串后面的括号中。候选者根据下一节中描述的评估函数排序。最佳候选者是并发症;和并发症这两个都是涉及短语头部的简单匹配。1 其余候选者是眼睛的变体,并按与眼睛相似的顺序列出。
the Metathesaurus candidates for a noun phrase consist of the set of all Metathesaurus strings containing at least one of the variants computed for the phrase. 1 The candidates are easily found by using a version of the Metathesaurus word index, an index from words to all Metathesaurus strings containing them. The Metathesaurus candidates for the noun phrase ocular complications(短语眼并发症) are shown in Figure 3. When a string is not, itself, the preferred name for a Metathesaurus concept, the preferred name appears in parentheses following the string. The candidates are orderedaccording to the evaluation function described in the next section. The best candidates are Com-
plications; and complications <1> both of which are simple matches involving the head of the
phrase.1 The remaining candidates are variants of ocular and are listed in order of similarity to
ocular
1. 在这里,我们假设正常的 MetaMap 处理最重要的是正确性而不是广度。由于超匹配很少是好的匹配,因此在本讨论的其余部分中忽略了它们。这种超匹配的一个例子是眼部并发症的术后并发症。类似地,有间隙的 Metathesaurus 字符串(例如,用于计算机化系统的计算机化病历系统)也被忽略了。
5. 评估职能
评价函数,或称度量,计算短语和元数据库候选者之间匹配质量的度量。对于正常的 MetaMap 操作,评价函数基于四个组成部分:中心性、变异、覆盖率和凝聚力。为这些组成部分中的每一个计算 0(最弱匹配)和 1(最强匹配)之间的归一化值。计算加权平均值,其中覆盖率和凝聚力组成部分获得的权重是中心性和变异组成部分的两倍。2 然后将结果归一化为 0 到 1,000 之间的值,0 表示完全不匹配,1,000 表示完全匹配(除了拼写变异、大写、NOS 后缀和反转,如癌症、肺癌;)。当 MetaMap 设置为忽略词序时,覆盖率组成部分被参与组成部分替换。下面讨论每个评价函数组成部分。
中心度:如果字符串涉及短语的头部,中心度值仅为 1,否则为 0。对于名词 短语眼并发症,并发症的中心度值为 1;Eye 的值为 0。
Centrality: The centrality value is simply 1 if the string involves the head of the phrase and 0
otherwise. For the noun phrase ocular complications, Complications has centrality value 1; and Eye has value 0.
变异:变体值估计元词库字符串中的变体与短语中的相应单词有多大差异。它是通过首先确定元词库字符串中每个变体的变体距离来计算的。这个距离是变体生成期间采取的每个步骤的距离值的总和。每个步骤的值都列在表 2. 变化距离根据公式()确定给定变体的变化值。随着总距离值 D 从其最小值 0 增加,V 从最大值 1 减少,并在 0 以下。最终变化值对于候选是每个变体值的平均值。对于眼部并发症,Eye 的变体距离值为 2,因此变体值为 2/3(())。并发症的变体距离值为 0,因此变体值为 1。
Variation: The variation value estimates how much the variants in the Metathesaurus string dif-
fer from the corresponding words in the phrase. It is computed by first determining the variation
distance for each variant in the Metathesaurus string. This distance is the sum of the distance
values for each step taken during variant generation. The values for each step are listed in Table 2. The variation distance determines the variation value for the given variant according to
the formula V=4/(D+4). As the total distance value, D, increases from its minimum value of 0,
V decreases from a maximum value of 1 and is bounded below by 0. The final variation value
1. 符号 <1> 表示模棱两可的元词库字符串的第一个含义。在匹配过程中它被忽略。请注意, <1> 等歧义指示符现在已过时。
2. 实际使用的权重是根据经验确定的。此外,相对评估值对权重的微小差异并不特别敏感。
覆盖率:覆盖率值表示匹配中涉及到多少元词库字符串和短语。为了计算该值,计算元词库字符串和短语参与匹配的单词数。这些数字分别称为元词库跨度和短语跨度。但是,请注意,间隙被忽略了。元词库字符串的覆盖率值是元词库跨度除以字符串长度。类似地,短语的覆盖率值是短语跨度除以短语长度。最终的覆盖率值是元词库字符串和短语的值的加权平均值,其中元词库字符串的权重是短语的两倍。对于眼部并发症和 Eye 或 Complics,Metathesaurus 跨度和短语跨度均为 1,覆盖值为 5/6(()())
凝聚力:凝聚力值与覆盖值相似,但强调连通分支的重要性。连通分支是参与匹配的连续单词的最大序列。计算 Metathesaurus 字符串和短语的连通分支。该信息通过记录每个组件的大小来抽象。这为 Metathesors 字符串和短语生成了一组连通组件大小。Metathesaurus 字符串的凝聚力值是连接的 Metathesors 字符串组件大小的平方和除以字符串长度的平方。为短语计算类似的凝聚力值。最终的内聚性值是 Metathesdragon 字符串和短语值的加权平均值,其中 Metathesaurstring 字符串的权重再次是短语的两倍。对于眼部并发症和眼睛或并发症,Metathesdragon 字符串和短语的连接分量大小为 {1},因为短语或 Metathesdragon 字符串中的一个单词参与匹配。内聚性值为 3/4(()())。
Eye 的最终评估是加权平均值(()()),归一化为 638。同样,复杂症的最终评估是(()()),归一化为 861。
参与度:当词序被忽略时,参与度值是覆盖值的替换。不再遵循匹配图暗示的严格词序。短语的参与度值是短语单词的比例,无论它们是否根据匹配图映射到元词库单词。例如,给定短语
带有单词 [高级,癌症,肺] 的晚期肺癌和带有单词 [肺癌,癌症] 的元词库字符串肺癌,匹配图将肺映射到肺,但不映射癌症,因为词序。这里的短语参与值是 2/3,而不是 1/3 的覆盖值。同样,元词库字符串的参与值是可以从短语映射到的单词比例。对于当前示例,
元数据库的参与值是 2/2 或 1,而不是 1/2。因此,本示例的最终参与值是加权平均值()或 0.83.2
1. 下面的例子说明了这个有点令人惊讶的方案。在计算短语下腔静脉支架过滤器与下腔静脉过滤器的覆盖范围时,短语跨度为 5,即使支架不参与匹配。
2. 注意短语涉入和元词库涉入的权重是相等的,而不是正常的 1:2 比例。
6. 最终映射
映射算法的最后一步很简单。它包括检查元词库候选者的组合,这些候选者参与与名词短语不相交部分的匹配。评估函数应用于组合的候选者,最好的候选者形成最终的映射结果。眼部并发症的最佳映射如图 4 所示。映射的中心性、变异性、覆盖率和凝聚力值分别为 1、2/3、1 和 1。映射的最终评估是加权平均值(),归一化为 861,并在图中报告为置信度值。(巧合的是,这与并发症的候选分数相同。)
7. MetaMap Options
MetaMap 具有高度可配置性,其行为由选项标志控制,每个选项标志都有一个短名称(例如 - p)和一个长名称(例如 --plain_syntax)。在命令行中,大多数选项都是切换开关。指定非默认选项会打开它;指定默认选项会关闭它。接受参数的选项永远不会是默认值,因此它们的存在始终表明它们有效。以下部分描述了截至 2006 年的选项。有关特定于相关 skr 程序的选项的描述,请参见第 8 节。有关 MetaMap 输出的示例,请参见第 10.1 节。
-t (--tag_text);
-a (--no_acros_abbrs) (new default as of 2006);
-D (--an_derivational_variants) (new default as of 2006);
-l (--stop_large_n);
-p (--plain_syntax);
-c (--candidates);
-s (--semantic_types); and
-m (--mappings).
-b (--best_mappings_only);
Each of these options is defined below.
7.2 Data options
Data options determine the underlying vocabularies and data model used by MetaMap.
-V (--mm_data_version) <data version> specifies which version of MetaMap s
data files will be used for processing. The default data version is:
normal. It consists of all vocabularies in a given AA release of the Metathesaurus with the
exception of the AMA vocabularies, CPT (Current Procedural Terminology) and CDT (Current
Dental Terminology). Also excluded from the normal data version are CPT and CDT deriva-
tive vocabularies such as HCPCS (Healthcare Common Procedure Coding System) and
MTHHH (Metathesaurus HCPCS Hierarchical Terms).
Two other data versions that are sometimes available are:
level0 which consists of those UMLS vocabularies with the least restrictive source restric-
tion level, namely level 0. Even level 0 vocabularies have some copyright restrictions, but they
are less restrictive than those with restriction levels 1 through 3; and
level0and4 which includes both level 0 and level 4 vocabularies. Currently SNOMEDCT
and its derivatives are the only level 4 vocabularies in the Metathesaurus. (Note that, despite
the numbering, level 4 is not as restrictive as levels 1 through 3, especially for USA users.)
-A (--strict_model), -B (--moderate_model) and -C (--relaxed_
model) determine which of the data models is used. If more than one model is specified, the
strictest one is used; if none are specified then the strict model is used. See the report Filtering
the UMLS Metathesaurus for MetaMap at the SKR website (http://skr.nlm.nih.gov/papers/
index.shtml) for a description of the models.
7.3 Processing options
Processing options control MetaMap s internal behavior.
-t (--tag_text) specifies that the SPECIALIST parser will use the results of a tagger to
assist in parsing. We previously used the Xerox Parc part of speech tagger but now use the Med-
Post/SKR tagger. The MedPost tagger was developed at NCBI specifically for tagging biomed-
ical text; we modified it to use our part of speech tags.
-L (--longest_lexicon_match) causes lexical lookup to prefer matching as much
text as possible to lexicon entries. This used to be the only form of lexical lookup, but it has
been superseded by a shortest match algorithm. This is mainly due to the fact that the SPE-
CIALIST lexicon is a syntactic lexicon; multi-word items contain no more information than
their constituents which have their own lexicon entries. (This option, and the new shortest
match lookup algorithm are new for 2006.)
-P (--composite_phrases) causes MetaMap to reconstruct longer, composite phrases
from the simple phrases produced by the parser. A composite phrase is a simple phrase followed
-t(--tag_text)指定 SPECIALIST 解析器将使用标记器的结果来帮助解析。我们以前使用 Xerox Parc 词性标记器,但现在使用 MedPost/SKR 标记器。MedPost 标记器是在 NCBI 开发的,专门用于标记生物医学文本;我们修改它以使用我们的词性标签。
-L(--longest_lexicon_match)导致词法查找更喜欢匹配尽可能多的文本而不是词典条目。这曾经是词法查找的唯一形式,但它已经被最短匹配算法所取代。这主要是因为 SPECIALIST 词典是一个句法词典;多单词项目包含的信息并不比它们有自己词典条目的组成部分多。(此选项和新的最短匹配查找算法是 2006 年的新内容。)
-p(--composite_phrases)使 MetaMap 从解析器生成的简单短语中重建更长的复合短语。复合短语是后面的简单短语
任何介词短语,可选择后跟一个或多个介词短语。一个例子是胸部左侧的疼痛,它将映射到左侧胸部疼痛,而不是像没有选项一样分离概念。请注意 ——composite_phrases 是实验性的;它目前既低效又不完全正确。
-Q(--quick_composite_phrases)是 --composite_phrases 的一个版本,旨在克服其低效率。它既是实验性的,也是暂时的。
-a(--no_acros_abbrs)防止使用任何首字母缩略词 / 缩写变体,这是最不可靠的变体形式,因为通常情况下,缩写形式的扩展最多只有一个是正确的。该选项于 2006 年成为默认选项。
-u(--unique_acros_abbrs_only)将首字母缩略词 / 缩写变体的生成限制为那些具有唯一扩展的形式。此选项比允许所有形式的首字母缩略词 / 缩写变体产生更好的结果,但仍最好阻止所有此类变体。
-d(--no_derivational_variants)防止在计算单词变体时使用任何派生变体。此选项的存在是因为派生变体与所有其他形式的变体相反,总是涉及意义的重大变化。
-d(--an_derivational_variants)允许在形容词和名词之间使用派生变体,因此得名 an_derivational 变体。形容词 / 名词派生变体通常是派生变体中最好的。这个选项在 2006 年成为默认选项。
-l(--stop_large_n)防止检索出现在 2,000 多个元词库字符串中的双字符单词或出现在 1,000 多个元词库字符串中的单字符单词的元词库候选词。此选项还防止检索可以是介词、连词或限定词的单词(根据 2006 年词典)。
-i(--ignore_word_order)允许 MetaMap 忽略它处理的短语中的单词顺序。MetaMap 最初是为处理全文而开发的,因此非常依赖于正常的英语词序。当生效时,此选项避免使用用于有效检索候选词的专门单词索引,在将短语文本与候选词匹配时忽略词序,并用用于评估候选词覆盖程度的参与度指标取代正常覆盖指标。(有关参与度指标的描述,请参阅第 5 节。)
-Y(--prefer_multiple_concepts)使 MetaMap 对概念较多的映射比概念较少的映射得分高。(它只是通过反转正常的内聚值来做到这一点。)作为一个简化的例子,使用此选项,输入文本肺癌将比映射到单个概念肺癌的映射得分更高。此选项对于发现文本中概念之间的高阶关系很有用(例如,Lung 是示例中癌症的位置)。
-y(--word_sense_disambiguation)导致 MetaMap 试图在匹配输入文本时得分相同的概念之间消除歧义。MetaMap 词义消除歧义的初始实现使用一种方法,该方法为产生歧义的上下文选择一个(或多个)最有可能具有语义类型的概念。这是 2006 年的一个新选项。
-z(--term_processing)告诉 MetaMap 处理术语而不是全文。调用时,MetaMap 将每个输入视为单个短语(尽管解析器仍用于确定该短语的头部)。它还导致 MetaMap 使用参与度量而不是
评估元数据库候选的覆盖范围(见第 5 节)。当与 --allow_overmatches 和 --allow_concept_gaps 选项结合使用时,它构成了 MetaMap 的浏览模式,用于彻底搜索元数据库。在这种情况下,明智的做法是同时指定 - m(--mappings)来关闭映射结构;否则,MetaMap 会花费太多时间尝试将许多候选组合成最终映射。
-o(--allow_overmatches)导致元地图检索一端或两端有与文本不匹配的单词的元数据库候选者。例如,医学的过度匹配包括替代医学、医疗记录和核医学程序、NOS。使用 --allow_overmatches 大大增加了检索候选者的数量,因此比没有过度匹配的元地图慢得多。它适合浏览目的。
-g(--allow_concept_gaps)导致 MetaMap 检索有间隙的元数据库候选(例如未指定的儿童精神病为未指定的精神病)。使用此选项不会明显影响 MetaMap 的性能。它适合浏览目的。
-8(--dynamic_variant_generation)强制 MetaMap 动态生成变体,而不是通过在表中查找变体。此选项通常仅用于调试目的。
-k(--ignore_stop_phrases)只是防止 MetaMap 中止对已知不会产生映射的常见短语的处理。此选项仅用于在 UMLS 数据更改后生成新的停止短语表。
7.4 输出选项
输出选项控制 MetaMap 显示结果的方式。
-q(--machine_output)导致输出采用 Prolog 术语的形式,而不是人类可读的形式。--machine_output 选项影响所有其他输出选项。第 10.2 节给出了机器输出的示例。有关机器输出的更多信息,包括视觉增强示例,请参见Help。
-f(--fielded_output)产生多行、制表符分隔的输出。与机器输出一样,它会影响所有其他输出选项。它在第 10.3 节中以示例进行了描述。有关字段输出的更多信息,包括视觉增强示例,请参阅 http://
skr.nlm.nih.gov/Help/.
-t(--tagger_output)显示 MedPost/SKR 标记器的输出,该标记器将输入单词排在一行上,并将它们的标签排在下面的一行上。有关示例,请参见第 10.1 节。
-F(--formal_tagger_output)将 MedPost/SKR 标记器的输出显示为单词 / 标记对的 Prolog 列表。
-p(--plain_syntax)控制 SPECIALIST 解析器结果的输出形式。它只输出没有任何语法信息的文本。
-x(--synTax)控制 SPECIALIST 解析器结果的输出形式。它输出一个 Prolog 术语,显示语法处理的详细信息。(有关示例,请参阅第 10.1 节。)
-h(--display_original_phrases)显示的原始(未展开)文本
短语,而不是 word_sense_disambigu 时产生的扩展形式
ation 生效。即使使用此选项,确定 MetaMap 输出的也是扩展形式。
-v(--Variants)显示为每个输入单词生成的变体。(有关示例,请参阅第 10.1 节。)
根据 MetaMap 评估指标(请参阅第 5 节),-c(-- 候选)会导致元数据库候选列表从最佳到最差显示。请注意,如果候选不是概念的首选名称,则首选名称将显示在候选之后的括号中。当匹配字符串和首选概念名称不同时显示它们旨在避免混淆概念出现在候选列表中的原因。
-o(--show_preferred_names_only)防止 MetaMap 在显示概念时同时显示匹配的字符串和首选名称。
-r(-- 阈值)<integer>将输出限制为评估分数达到阈值或更好的候选者。明智地使用此选项可以防止 MetaMap 在元数据库中某些输入文本没有接近匹配的情况下出错。通常可以通过检查给定应用程序中典型文本的 MetaMap 输出来确定适当的阈值。
-x(--truncate_candidates_mappings)在计算映射之前,首先将候选列表截断为 100 个得分最高的,然后将映射列表截断为 8 个得分最高的。这个选项有时可以防止使用 allow_overmatches 时经常遇到的由大量候选计算大量映射引起的组合爆炸。
-n(--number_the_candidates)仅对显示的候选列表中的候选者进行编号。
-r(--restrict_to_sources)<list>将输出限制为逗号分隔的<list>中不允许使用空格的源。有关 2006AA 源,请参阅第 10.6 节。
-e(--exclude_sources)<list>排除逗号分隔的<list>中不允许使用空格的源。有关 2006AA 源,请参阅第 10.6 节。
-j(--restrict_to_sts)<list>将输出限制为逗号分隔的<list>中不允许使用空格的语义类型的概念。有关 2006AA 语义类型,请参见第 10.7 节。
-k(--exclude_sts)<list>排除逗号分隔的<list>中没有语义类型的概念,其中不允许使用空格。有关 2006AA 语义类型,请参见第 10.7 节。
- 我(--show_cuis)显示了显示的每个概念的 UMLS CUI。有关示例,请参见第 10.1 节。
-w(--preferred_name_sources)列出了显示概念的首选名称的所有来源。请注意,这只是显示来源的许多可能选择之一;例如,显示概念中任何同义词的所有来源通常会产生非常混乱的输出。
-s(--semantic_types)导致元词库概念的语义类型显示在候选列表或映射中每个概念的方括号中。
...............省略配置解释,要用再去查
示例
相关文章:
【2006.07】UMLS工具——MetaMap原理深度解析
文献:《MetaMap: Mapping Text to the UMLS Metathesaurus》2006 年 7 月 14 日 https://lhncbc.nlm.nih.gov/ii/information/Papers/metamap06.pdf MetaMap:将文本映射到 UMLS 元数据库 总结 解决的问题 自动概念映射问题:解决如何将文本…...
ros2 colcon build 构建后,install中的local_setup.bash 和setup.bash有什么区别
功能概述 在 ROS2 中,colcon build是用于构建软件包的工具。构建完成后会生成install文件夹,其中的setup.bash和local_setup.bash文件都与环境设置相关,但存在一些区别。setup.bash 作用范围 setup.bash文件用于设置整个工作空间的环境变量。…...
Thymeleaf基础语法
Thymeleaf 是一种用于 Web 和非 Web 环境的现代服务器端 Java 模板引擎。它能够处理 HTML、XML、JavaScript、CSS 甚至纯文本。以下是 Thymeleaf 的一些基础语法: 1. 变量表达式 <!-- 显示变量的值 --> <p th:text"${name}">Default Name&l…...
spring cloud alibaba学习路线
以下是一条学习Spring Cloud Alibaba的路线: 一、基础前置知识 1. Java基础 熟练掌握Java语言特性,包括面向对象编程、集合框架、多线程等知识。 2. Spring和Spring Boot基础深入理解Spring框架,如依赖注入(DI)、控…...
基于 Seq2Seq 的中英文翻译项目(pytorch)
项目简介 本项目旨在使用 PyTorch 构建一个基于 Seq2Seq(编码器-解码器架构)的中英文翻译模型。我们将使用双语句子对的数据进行训练,最终实现一个能够将英文句子翻译为中文的模型。项目的主要步骤包括: 数据预处理:从数据集中提取英文和中文句子,并进行初步清洗和保存。…...
部标主动安全(ADAS+DMS)对接说明
1.前言 上一篇介绍了部标(JT/T1078)流媒体对接说明,这里说一下如何对接主动安全附件服务器。 流媒体的对接主要牵扯到4个方面: (1)平台端:业务端系统,包含前端呈现界面。 &#x…...
C++ STL(1)迭代器
文章目录 一、迭代器详解1、迭代器的定义与功能2、迭代器类型3、示例4、迭代器失效4.1、vector 迭代器失效分析4.2、list 迭代器失效分析4.3、set 与 map 迭代器失效分析 5、总结 前言: 在C标准模板库(STL)中,迭代器是一个核心概念…...
uview表单校验不生效问题
最近几次使用发现有时候会不生效,具体还没排查出来什么原因,先记录一下解决使用方法 <u--formlabelPosition"top"labelWidth"auto":model"form":rules"rules"ref"uForm" ><view class"…...
前端开发设计模式——单例模式
目录 一、单例模式的定义和特点: 1.定义: 2.特点: 二、单例模式的实现方式: 1.立即执行函数结合闭包实现: 2.ES6类实现: 三、单例模式的应用场景 1.全局状态管理: 2.日志记录器: …...
行情叠加量化,占据市场先机!
A股久违的3000点,最近都没有更新,现在终于对我们的市场又来点信息。相信在座的朋友这几天都是喜笑颜开,对A股又充满信心。当前行情好起来了,很多朋友又开始重回市场,研究股票学习量化,今天我们给大家重温下…...
大厂面试真题-ConcurrentHashMap怎么保证的线程安全?
ConcurrentHashMap是Java中的一个线程安全的哈希表实现,它通过一系列精妙的机制来保证线程安全。以下是ConcurrentHashMap保证线程安全的主要方式: 分段锁(Segment Locking,Java 1.8之前): 在Java 1.8之前的…...
【RabbitMQ】消息堆积、推拉模式
消息堆积 原因 消息堆积是指在消息队列中,待处理的消息数量超过了消费者处理能力,导致消息在队列中不断堆积的现象。通常有以下几种原因: 消息生产过快:在高流量或者高负载的情况下,生产者以极高的速率发送消息&…...
MySQL常用SQL语句(持续更新中)
文章目录 数据库相关表相关索引相关添加索引 编码相关系统变量相关 收录一些经常用到的sql 数据库相关 建数据库 CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];例如: C…...
【更新】红色文化之红色博物馆数据集(经纬度+地址)
数据简介:红色博物馆作为国家红色文化传承与爱国主义教育的重要基地,遍布全国各地,承载着丰富的革命历史与文化记忆。本数据说明旨在汇总并分析全国范围内具有代表性的红色博物馆的基本信息,包括其地址、特色及教育意义࿰…...
Python项目Flask框架整合Redis
一、在配置文件中创建Redis连接信息 二、 实现Redis配置类 import redis from config.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWD, REDIS_DB, EXPIRE_TIMEclass RedisDb():def __init__(self, REDIS_HOST, REDIS_PORT, REDIS_DB, EXPIRE_TIME, REDIS_PASSWD):# 建立…...
完整网络模型训练(一)
文章目录 一、网络模型的搭建二、网络模型正确性检验三、创建网络函数 一、网络模型的搭建 以CIFAR10数据集作为训练例子 准备数据集: #因为CIFAR10是属于PRL的数据集,所以需要转化成tensor数据集 train_data torchvision.datasets.CIFAR10(root&quo…...
高效便捷,体验不一样的韩语翻译神器
嘿,大家好啊!今天想跟大家聊聊我用过的几款翻译神器,特别是它们在翻译韩语时的那些小感受。作为一个偶尔需要啃啃韩语资料或者跟韩国朋友聊天的普通人,我真心觉得这些翻译工具简直就是我的救星! 一、福昕在线翻译 网址…...
Markdown笔记管理工具Haptic
什么是 Haptic ? Haptic 是一个新的本地优先、注重隐私的开源 Markdown 笔记管理工具。它简约、轻量、高效,旨在提供您所需的一切,而不包含多余的功能。 目前官方提供了 docker 和 Mac 客户端。 Haptic 仍在积极开发中。以下是未来计划的一些…...
网络原理-传输层UDP
上集回顾: 上一篇博客中讲述了应用层如何自定义协议:确定传输信息,确定数据格式 应用层也有一些现成的协议:HTTP协议 这一篇博客中来讲述传输层协议 传输层 socket api都是传输层协议提供的(操作系统内核实现的了…...
C++中,如何使你设计的迭代器被标准算法库所支持。
iterator(读写迭代器) const_iterator(只读迭代器) reverse_iterator(反向读写迭代器) const_reverse_iterator(反向只读迭代器) 以经常介绍的_DList类为例,它的迭代…...
Java NIO 全面详解:掌握 `Path` 和 `Files` 的一切
在 Java 7 中引入的 NIO (New I/O) 为文件系统和流的操作带来了强大的能力,其中 Path 和 Files 是核心部分。Path 作为对文件路径的抽象,提供了灵活的方式处理文件系统中的路径;Files 则通过一系列静态方法,使得文件的读写、复制、…...
bluez免提协议hands-free介绍,全到无法想象,bluez hfp ag介绍
零. 前言 由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统…...
关于区块链的安全和隐私
背景 区块链技术在近年来发展迅速,被认为是安全计算的突破,但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述,帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…...
特征工程——一门提高机器学习性能的艺术
当前围绕人工智能(AI)和机器学习(ML)展开的许多讨论以模型为中心,聚焦于 ML和深度学习(DL)的最新进展。这种模型优先的方法往往对用于训练这些模型的数据关注不足,甚至完全忽视。类似MLOps的领域正迅速发展,通过系统性地训练和利用ML模型&…...
Paper解读:工作场所人机协作的团队形成:促进组织变革的目标编程模型
人工智能(AI)具有降低运营成本、提高效率和改善客户体验的潜力。 因此,在组织中组建项目团队至关重要,这样他们就会在决策过程中欢迎人工智能。 当前的技术革命要求公司快速变革,并增加了对团队在促进创新采用方面的作…...
图文深入理解Oracle Network配置管理(一)
List item 本篇图文深入介绍Oracle Network配置管理。 Oracle Network概述 Oracle Net 服务 Oracle Net 监听程序 <oracle_home>/network/admin/listener.ora <oracle_home>/network/admin/sqlnet.ora建立网络连接 要建立客户机或中间层连接,Oracle…...
leetcode-链表篇3
leetcode-61 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 输出&#x…...
RAG(Retrieval Augmented Generation)及衍生框架:CRAG、Self-RAG与HyDe的深入探讨
近年来,随着大型语言模型(LLMs)的迅猛发展,我们在寻求更精确、更可靠的语言生成能力上取得了显著进展。其中,检索增强生成(Retrieval-Augmented Generation)作为一种创新方法,极大地…...
C语言介绍
什么是C语言 C programing language 能干什么 Hello world? 如何学C语言 no reading no learning...
损失函数篇 | YOLOv10 更换损失函数之 MPDIoU | 《2023 一种用于高效准确的边界框回归的损失函数》
论文地址:https://arxiv.org/pdf/2307.07662v1.pdf 边界框回归(Bounding Box Regression,BBR)在目标检测和实例分割中得到了广泛应用,是目标定位的重要步骤。然而,对于边界框回归的大多数现有损失函数来说,当预测的边界框与真值边界框具有相同的长宽比,但宽度和高度的…...
wordpress首页验证码/网络营销的六大特征
为了练手,我就自己试着做了一个网站的登录与注册的小案例。由于没有做美化处理,所以界面并不是很好看。网站实现的功能如下:用户首次注册功能用户登录功能项目目录展示:下面我将会分模块展示注册模块首先需要一个注册界面…...
长安网站建设好吗/互联网金融
2019独角兽企业重金招聘Python工程师标准>>> 一、 整体诉说: 1.ArrayList是不固定的,比如用sql查询数据库,不知道有多少记录返回,用Arraylist。 2.HashMap/Hashtable 和 Vector/ArrayList 都是放一组对象,…...
建设银行官网网站首页纪念币预约/深圳白帽优化
CONVERT_TZ(dt,from_tz,to_tz)转换datetime值dt,从 from_tz 由给定转到 to_tz 时区给出的时区,并返回的结果值。 如果参数无效该函数返回NULL。mysql> SELECT CONVERT_TZ(2004-01-01 12:00:00,GMT,MET);--------------------------------------------…...
在微信中做网站/做百度推广多少钱
1.概念: 一个完整的JavaScript实现应该由以下三个部分构成:ECMAScript、DOM、BOM. ECMAScript: ES规定了JS的变成语法和基础核心知识,是所有浏览器厂商都遵守的JS语法工业标准。 DOM: 文档对象模型(Document Object Model…...
网站备案繁琐工作/搜索引擎网页
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。…...
做夏促的网站有哪些/百度网盘登录
要理解SG函数,首先要先知道SG的定理:Sprague-Grudy定理: 令N {0, 1, 2, 3, ...} 为自然数的集合。Sprague-Grundy 函数给游戏中的每个状态分配了一个自然数。结点v的Grundy值等于没有在v的后继的Grundy值中出现的最小自然数. 形式上…...