本技术涉及训练集数据生成,特别是涉及一种合并大规模药物数据列表方法、装置、设备和介质。
背景技术:
1、人工智能的发展需要经过三个阶段:计算智能、感知智能和认知智能。随着高性能计算、gpu加速等技术的发展,目前机器的计算智能已经远远超过人类水平;而利用深度神经网络(deep neural networks, 以下简称dnn)算法,计算机在感知智能领域,如自动驾驶汽车、医学图像识别等领域也基本达到了人类想到的水平。但是,认知智能需要的推理、规划、联想、创作等建立在语言、概念、关系、属性等基础上的高级"思维",利用强大的计算能力和海里的数据并不能对认知智能的提升有多大帮助,目前可能仅有人类六岁儿童的水平。
2、目前,人工智能领域的共识是,知识图谱是感知智能通往认知智能的基石,因为它能解决语义理解问题,也能解决知识推理问题。知识图谱是由google公司在2012年提出来的一个概念。从学术的角度,知识图谱是一种用来表示语义网络(semantic network)的知识库。从实际应用的角度出发,知识图谱实际上是由"三元组"构建的多关系图(multi-relational graph)。其中的三元组是由实体(entity)、属性(attribute)和关系(relation)组成的,形式为<实体,关系,实体>或<实体,属性,属性值>。所以在知识库图谱的构建过程中,最核心的认为是从海量的知识数据中提取三元组关系,而三元组的核心就是知识图谱中用于表示知识概念的"实体"。
3、在自由文本中,往往由于书写习惯、领域差异等原因,同一个"实体"往往具有多种不同的指代名称。比如,对一个抗肿瘤药物,可能的名称包括开发名称、常用化合物名称、上市后的商品名称等。另外,英文的药物名称往往还会看到词序的交换、空格字符的省略等等问题。
技术实现思路
1、鉴于以上所述现有技术的缺点,本技术的目的在于提供一种合并大规模药物数据列表方法、装置、设备和介质,以解决现有技术中命名实体识别技术在医学文献中发现的药物名称实体书写不规范的问题,更具体的,特别是当存在大量重复元素时,传统的循环迭代方法在处理大规模数据时效率较低(可能难以完成),为此,提出了一种基于并查集的高效列表合并算法,以显著提高合并过程的速度。
2、为实现上述目的及其他相关目的,本技术提供一种合并大规模药物数据列表方法,所述方法包括:根据最新的umls数据集筛选出符合药物概念语义类型的数据,并根据最新的mesh数据集,解析其中药物入口词与其同义词;在mesh数据集中通过药物的实体名称查询所有相同概念编号的药物名称以及同义词名称,并将合并的查询结果作为该药物的同义词集合,据以遍历所有药物的同义词集合;对任意至少两个具有相同元素的同义词集合并,以作为一个新药物的同义词集合;为每个药物的同义词集合定义药物编号,以表征该同义词集合的标准化药物名称;
3、其中,定义药物的一个实体名称为一个列表,所有不同同义词名称构成该药物的n个列表,即上述中的药物的同义词集合;每个列表包括m个元素,该元素是指药物的名词术语;
4、具体为:初始化:对于每个列表中的元素,将其作为节点加入并查集,并记录其所属列表的标识;
5、遍历:遍历每个列表中的元素,检查其所属列表以及该元素是否已经存在于列表并查集中,如果存在,说明两个列表具有相同元素,将它们合并为一个集合;
6、路径压缩:在进行合并的同时,采用路径压缩优化并查集;
7、结果提取:通过查询并查集得到合并后的列表集合,即每个集合中包含具有相同元素的列表,即上述中的新药物的同义词集合;
8、上述中提到的并查集具体算法中:初始构建并查集需要o(n * m)的时间,而路径压缩和合并操作的复杂度为近似o(α(n)),其中α(n)是阿克曼函数的反函数,总体时间复杂度近似为o(n * m + α(n))。
9、于本技术的一实施例中,路径压缩中在执行查找操作时,通过将路径上的每个节点直接连接到根节点,从而使树的深度变浅;在在执行合并操作时,根据树的秩或大小,将较小的树连接到较大的树上,从而防止树变得过深。
10、于本技术的一实施例中,所述umls数据集中符合药物概念语义类型包括:chem、chvs、orch、nnon、aapp、chvf、phsu、bodm、bacs、horm、enzy、vita、imft及sbst中任意一种或多种。
11、于本技术的一实施例中,所述方法包括:解析mesh数据集词汇表,构建mesh同义词预料库;通过umls数据集的umls_subset和mesh数据集的mesh_subset分别查询各药物的概念编号;通过所述概念编号在umls_subset和mesh_subset中查询其它所有同义词。
12、于本技术的一实施例中,所述药物编号相同的不同同义词表示同一药物;其中,通过各同义词集合也可将药物编号自定义为药物标准化名称。
13、为实现上述目的及其他相关目的,本技术提供一种用于合并具有大规模药物数据列表装置,所述装置包括:获取模块,用于根据最新的umls数据集筛选出符合药物概念语义类型的数据,并根据最新的mesh数据集,解析其中药物入口词与其同义词;处理模块,用于在mesh数据集中通过药物的实体名称查询所有相同概念编号的药物名称以及同义词名称,并将合并的查询结果作为该药物的同义词集合,据以遍历所有药物的同义词集合;对任意至少两个具有相同元素的同义词集合并,以作为一个新药物的同义词集合;为每个药物的同义词集合定义药物编号,以表征该同义词集合的标准化药物名称;算法模块,定义药物的一个实体名称为一个列表,所有不同同义词名称构成该药物的n个列表;每个列表包括m个元素,该元素是指药物的名词术语;
14、采用路径压缩优化并查集;通过查询并查集得到合并后的列表集合,即每个集合中包含具有相同元素的列表;
15、初始构建并查集需要o(n * m)的时间,而路径压缩和合并操作的复杂度为近似o(α(n)),其中α(n)是阿克曼函数的反函数,增长极其缓慢,总体时间复杂度近似为o(n * m+ α(n))。
16、为实现上述目的及其他相关目的,本技术提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的方法。
17、为实现上述目的及其他相关目的,本技术提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的方法。
18、综上所述,本技术提供的一种合并大规模药物数据列表方法、装置、设备和介质,通过根据最新的umls数据集筛选出符合药物概念语义类型的数据,并根据最新的mesh数据集,解析其中药物入口词与其同义词;在mesh数据集中通过药物的实体名称查询所有相同概念编号的药物名称以及同义词名称,并将合并的查询结果作为该药物的同义词集合,据以遍历所有药物的同义词集合;对任意至少两个具有相同元素的同义词集合并,以作为一个新药物的同义词集合;为每个药物的同义词集合定义药物编号,以表征该同义词集合的标准化药物名称,以及采用路径压缩优化并查集;通过查询并查集得到合并后的列表集合,即每个集合中包含具有相同元素的列表。
19、具有以下有益效果:
20、本技术通过整合umls、mesh等词汇库,可统一不同文本中识别出的药物名称,同时也可以用来构建一个全面的药物同义词语料库,用于医学自然语言处理的开发和应用。
21、本技术的算法具有高效性:并查集算法具有更低的时间复杂度,尤其在大规模数据处理时表现更为优越。空间效率:并查集算法只需额外的空间存储节点关系,相比于循环迭代方法,内存开销较小。可扩展性:由于并查集算法的时间复杂度与元素数目的增加关系较小,因此在处理更大规模的数据时,算法性能更为可扩展
1.一种合并大规模药物数据列表方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,路径压缩中在执行查找操作时,通过将路径上的每个节点直接连接到根节点,从而使树的深度变浅;在在执行合并操作时,根据树的秩或大小,将较小的树连接到较大的树上,从而防止树变得过深。
3.根据权利要求1所述的方法,其特征在于,所述umls数据集中符合药物概念语义类型包括:chem、chvs、orch、nnon、aapp、chvf、phsu、bodm、bacs、horm、enzy、vita、imft及sbst中任意一种或多种。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
5.根据权利要求1所述的方法,其特征在于,所述药物编号相同的不同同义词表示同一药物;其中,通过各同义词集合也可将药物编号自定义为药物标准化名称。
6.一种合并大规模药物数据列表的装置,其特征在于,所述装置包括:
7.一种计算机设备,其特征在于,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如权利要求1至4中任意一项所述的方法。
8.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令被运行时执行如权利要求1至4中任一项所述的方法。
