学习材料
The UMLS What is it and how to use it(PPT)
目标
1. umls有哪些数据类型
2. 各种数据类型是如何组织的:有哪些资源抽象成了哪些概念;relationship的来源及是怎么组织的
3. 构想如何找一个实际的例子
4. 看UMLS Restful API,怎样用python从API上取数据
笔记
一. 简介
Unified Medical Language System 统一医学语言系统。
UMLS是为了克服存在于机器检索信息中的两大障碍:
1. 同样的概念有着不同的表达
2. 有用的信息分布在不同的数据库和系统(就是进行资源的一个整合)
UMLS的使用:
1. Database提供了一系列的关系数据文件
2. 交互界面:提供了网页版的UMLS术语服务;API
3. 提供了使用工具:专家词典(Ivg); UMLS的安装和定制工具MetamorphoSys
以一个例子来看什么是UMLS
Addison's disease是一种罕见的内分泌疾病,当肾上腺产生不足的皮质醇激素时,便会得Addison's disease,因此Addison's disease有时称为慢性肾上腺功能不足,或皮质醇缺乏症。
在UMLS中可以检索出Addison's disease的Clinical variants,Symptoms,Synonyms,Organize terms。
Addison's disease这个疾病在不同的资源中会有不同的id,例如:MESH,SNOMED...但是UMLS会给出一个Unique identifier(CUI)
UMLS包含的三种数据类型
(1)超级叙词表(Metathesaurus),是UMLS知识源的核心,由来自各种受控词表的概念和术语以及它们之间的关系所构成;
(2)语义网络(Semantic Network),是对超级叙词表概念的分类和分类之间的关系;
(3)专家辞典(SPECIALIST Lexicon),是一个词典信息库,用于自然语言处理;
超级叙词表
超级叙词表是UMLS构成的基础。截至2021年的最新版本(2021AA),超级叙词表包含有444万个概念和1610万个唯一概念名称,这些概念来源于218个词表源,其类型包括主题词表、分类系统、标题表、代码表、本体等,涉及19个语种。从当前受控词表集成的规模来看,UMLS具有空前的广泛性、异构性和多语言性[ 7]。UMLS每年更新两次,春天一次,秋天一次,分别为AA和AB。
(3)以概念为核心的字串-术语-概念的组织方法 概念是超级叙词表的组织核心。
小结:超级叙词表的组织方式如上图,先将不同来源的词汇分配一个id,即AUI(注意,同一源词汇表中若收录了两次相同的概念,则分配两个AUI);相同的AUI会连接到单个字符串标识符(SUI);每个字符串会通过词法变体,如单复数来连接到同一个公共术语标识符(LUI);同样意义的LUI会连接到同一个CUI。会选择一个词作为优选词,其他为同义词。
相同的LUI可能有不同的CUI,因为LUI只是根据词形来划分在一起的。(找例子?)
(1)概念和概念标识符:每个概念被指定一个概念识别码(Concept Identifier, CUI),并给出了概念类别和概念的描述文本。相同 CUI 代表概念的同义词集合。
(2)概念名称和字符串标识符:概念名称是指概念的术语表示形式;SUI
(3)来源术语和标识符:来源术语(Atom Identifier, AUI),相同的字符串AUI被连接到一个SUI
(4)原形化术语和标识符:(Lexical Identifier, LUI)每个字符串都要进行词汇的原形化处理,如复数转单数等,其目的是将同一术语的各种词汇变体形式连接到一起。注意:很多词语中后面会跟上NOS,NOS表示没有另外说明的话,NOS是可以删除的。uninflect表示去变体。
总结一下:CUI是概念的唯一标识符,LUI是概念的同义词,SUI是不同术语(LUI)所拥有的不同的英语表达形式(单复数/过去式/...),AUI是原词
这四个表识符的关系是,AUI原词会有不同来源,但是相同字符串的AUI会被连接上同一个SUI;不同的SUI会由于单复数/时态问题有多种表达形式,但这些SUI都表示同一种东西,则会被连接到同一个LUI;不同表达形式的LUI会选出一个优选词赋予CUI
问题:不同的AUI是相同的字符串????因为写法相同
Metathesaurus数据文件 Metathesaurus 有40多个元数据和索引 数据文件
超级叙词表来源于超过200个词表的收录情况,如图展示了前十个
超级叙词表中包含了关系,除了收录来源词表中的概念,超级叙词表也继承和发展了源词表中的关系。这些关系大多来源于来源词汇表,或者NLM构建时添加的一些,或者来源于用户提供的。关系大多是AUI与AUI之间以及AUI和CUI之间的关系,因为这些关系大多是来源于来源词表的。关系文件不包含概念名称。
Metathesaurus中大约四分之一的关系还带有一个附加标签(RELA),该标签是从源词汇表获得的,可以更准确地解释关系的性质,例如is_a,branch_of,component_of。
语义网络
语义网络由两部分组成:语义类型(Semantic Types)和语义关系(Semantic Relationships)。
UMLS定义了包括is-a在内的共54种语义关系,语义类型可以看成是有层次结构的“节点”,而语义关系将这些节点连成网络。
语义网络提供了概念的一致性分类,即语义类型,以及更加详细的概念之间的语义关系,其中语义类型具有树形层次等级结构特点,UMLS 以语义类型为点, 语义类型之间的语义关系为链构成了语义网络
3、语义类型采用了构思新颖的树形等级结构,语义类型的最高层为实体(Entity)和事件(Event)两大类
4、语义类型是网状结构中的节点,而语义关系则是将这些节点连接到一起的链
6、UMLS 语义网络中最常用的语义关系是 isa,它不仅确立了语义类型之间的等级关系,而且也能被用来决定超级叙词表中的每个概念对应的具体语义类型的分配。
小结:语义关系和语义类型构成了语义网络;语义类型就是标签,也就是个各种实体分了类,比如药物统一有一类叫做“临床药物”("clinical drug")。语义关系是用来连接语义类型,详见官网https://www.nlm.nih.gov/research/umls/META3_current_relations.html。
语义类型的分配是基于源词汇表中的概念的含义来进行的,怎么把超级叙词表中的词语分配语义类型?是经历了四个过程:首先,用算法给每个词语分配一个建议的语义类型;其次,由主题专家审查或分配不同的类型;再次,由承包商人员进行审查;最后,所有任务都有一个小团队进行使用并修改。
可以看到,语义网络和超级叙词表之间的关系就是,超级叙词表通过某种方法被分为127种语义类型(7个组别),这些语义类型会通过语义关系进行连接,构成semantic network。
专家词典和各种工具
专家词典提供了词汇相关信息和很多用于自然语言处理的工具。
软件工具
(1) UMLS概念的文本映射工具MetaMap
小结:可以用这个工具自动识别出文本中实体的类别,是基因/疾病/...
(2) 语义表达工具SemRep
小结:SemRep是一个程序,可从生物医学自由文本中提取语义谓词(主题-关系-对象三元组)。semrep主要是用来进行关系抽取的。
UMLS搜索一个例子
搜索influenza,会有语义类型,CUI,以及一系列跟这个词有关的其他词(或是意思相近,或是带有这个单词)
term type是术语类型(??),默认是降序,从高到低,排名最高的是该概念的首选名称(所以是flu??,不是influenza吗???)
CODE表示来源表
二. 如何使用UMLS
1. 获得许可,注册账号
2. 远程连接 Restful API()
视频:https://www.nlm.nih.gov/research/umls/user_education/quick_tours/UTS-API/UTS_REST_API_Authentication.html
网页:https://documentation.uts.nlm.nih.gov/rest/home.html
简而言之,三大步骤:获得TGT->获得ST->用API取数据。
3. 本地化
4. UMLS基于的算法
5. UMLS的优缺点
优点:规模大,覆盖的领域广,梳理的细致;有唯一标识符;有同义词,且同义词指向同一概念;有附加的同义词(??);有关系层次;有语义类别
缺点(找例子??):结构不一致(有向无环图);
语义不一致;
缺乏关系;
isa关系的意义不是很准确,is generally a表示一般情况下成立,但是有不成立的情况,所以由这个关系推理出来的其他关系不是很准确;
对于缺失的和错误的关系很难检测到;
违反偏序关系的反对称性(?);
一些关系展示出来了但是无法查到;
关系冗余,对于A->B->C的关系中,A->C的关系是可以省略的,但是有的还是添加上了。
术语库只是单纯存在术语,或者多了来源词表的关系,但是缺乏规则和推理(规则推理/自动推理);知识库则是要由规则和推理的