Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Medicine

生物医学出版物中基于云的短语挖掘与用户定义短语类协会的分析

Published: February 23, 2019 doi: 10.3791/59108
* These authors contributed equally

Summary

我们提供了一个协议和相关的编程代码以及元数据示例, 以支持基于云的短语类别关联的自动标识, 该关联代表了生物医学文献中用户选择的知识领域中的独特概念。该协议量化的短语类别关联可促进在选定的知识领域进行深入分析。

Abstract

生物医学文本数据的迅速积累远远超出了人工策划和分析的人的能力, 因此需要新的文本挖掘工具从大量科学报告中提取生物见解。2016年开发的上下文感知语义在线分析处理 (caseolap) 管道通过对文本数据的分析成功地量化了用户定义的短语类别关系。caseolap 有许多生物医学应用。

我们为基于云的环境开发了一个协议, 支持端到端短语挖掘和分析平台。我们的协议包括数据预处理 (例如, 下载、提取和分析文本文档)、使用 elasticsearch 进行索引和搜索、创建名为 "文本多维数据集" 的功能文档结构以及量化短语类别关系使用核心 caseolap 算法。

我们的数据预处理为所有相关文档生成键值映射。对预处理的数据编制索引, 以搜索包括实体在内的文档, 这进一步促进了文本多维数据集的创建和 caseolap 分数计算。利用一系列综合分析, 包括维数约简、聚类、时间和地理分析, 对得到的原始 caseolap 分数进行解释。此外, caseolap 分数用于创建图形数据库, 从而实现文档的语义映射。

caseolap 以准确 (标识关系)、一致 (高度可重现) 和高效的方式 (处理 100, 000篇 wordssec) 定义短语类别关系。按照此协议, 用户可以访问云计算环境, 以支持自己的 caseolap 配置和应用程序。该平台提供了更高的可访问性, 并为生物医学界提供了用于广泛生物医学研究应用的短语挖掘工具。

Introduction

手动评估数以百万计的文本文件, 用于研究短语类别关联 (例如,年龄组与蛋白质关联) 是无与伦比的, 与自动计算方法提供的效率是无与伦比的。我们要引入基于云的上下文感知语义在线分析处理 (caseolap) 平台, 作为在生物医学环境中自动计算短语类别关联的短语挖掘方法。

caseolap 平台于 2016年1首次定义, 与传统的数据管理和计算方法相比非常高效, 因为它的功能文档管理称为 text-cube2,3, 4, 它分发文档, 同时保持底层层次结构和邻域。它已应用于生物医学研究5中, 用于研究实体类别关联。caseolap 平台由六个主要步骤组成, 包括数据下载和提取、分析、索引、文本多维数据集创建、实体计数和 caseolap 分数计算;这是协议的主要焦点 (图 1, 图 2,表 1).

为了实现 caseolap 算法, 用户设置感兴趣的类别 (例如, 疾病、体征和症状、年龄组、诊断) 和感兴趣的实体 (例如蛋白质、药物)。本文中包含的一个类别的示例是 "年龄组", 它具有 "婴儿"、"儿童"、"青少年" 和 "成人" 子类别作为文本多维数据集和蛋白质名称 (同义词) 的细胞和缩写作为实体。实施医疗主题标题 (mesh) 是为了检索与定义类别相对应的出版物 (表 2)。msh 描述符按层次结构树结构进行组织, 以允许搜索具有不同特异性级别的出版物 (如图 3所示的示例)。caseolap 平台利用数据索引和搜索功能来管理与实体相关的文档, 从而进一步促进文档到实体计数映射和 caseolap 分数计算。

caseolap 分数计算的详细信息可在以前的出版物1,5中找到。此分数是使用基于基础文本多维数据集文档结构的特定排名标准计算的。最终的分数是诚信大众化独特性的产物。完整性描述了一个代表性实体是否是一个整体语义单元, 它统称为一个有意义的概念。用户定义短语的完整性被认为是 1.0, 因为它在文献中是一个标准短语。其他单元格相比, 显著性表示文档的一个子集中的短语的相对相关性。它首先通过比较目标数据集中蛋白质名称的出现来计算实体与特定细胞的相关性, 并提供归一化的显著得分受欢迎程度表示这样一个事实,即受欢迎程度较高的短语在文档的一个子集中出现的频率更高。细胞中罕见的蛋白质名称排名较低, 而提及频率的增加则由于频率对数函数的实现而不断减少。定量测量这三个概念取决于 (1) 实体在单元格和单元之间的术语频率, 以及 (2) 在单元内和整个单元中具有该实体的文档数量 (文档频率)。

我们使用 pubmed 数据集和我们的算法研究了两种具有代表性的场景。我们感兴趣的是线粒体蛋白如何与两个独特的类型的 mesh 描述符联系在一起;"年龄组" 和 "营养和代谢疾病"。具体而言, 我们从 pubmed 收集的20年出版物 (1998年至2018年) 中检索了 15 728, 250 种出版物, 其中 8, 123, 458 本独特的摘要有完整的医疗卫生描述符。因此, 从 uniprot.org (uniprot.org org) 和 mitocart2.0 (http://mitominer.mrc-mbu.cam.ac.uk/release-4.0/begin.do>) 获得的 1, 842个人类线粒体蛋白名称 (包括缩写和同义词) 是系统的检查。他们与这 8, 89, 019 出版物和实体的联系, 使用我们的协议进行了研究;我们构造了一个文本立方体, 并计算了各自的 casolap 分数。

Protocol

注: 我们开发了基于 python 编程语言的此协议。要运行此程序, 请在设备上预装 anaconda python 和 git。此协议中提供的命令基于 unix 环境。该协议提供了从 pubmed (medline) 数据库下载数据、分析数据以及建立云计算平台以进行用户定义的实体类别关联的短语挖掘和量化的详细信息。

1. 获取代码和巨蟒环境设置

  1. 从 github (https://github.com/CaseOLAP/caseolap) 下载或克隆代码存储库, 或在终端窗口中键入 "git 克隆https://github.com/CaseOLAP/caseolap.git"。
  2. 导航到 "caseolap" 目录。这是项目的根目录。在此目录中, 当您完成协议中的这些步骤时, "data" 目录将填充多个数据集。"输入" 目录适用于用户提供的数据。"log" 目录具有用于故障排除的日志文件。"结果" 目录是最终结果的存储位置。
  3. 使用终端窗口, 转到克隆 github 存储库的目录。使用 "环境. yml" 文件创建caseolap环境, 方法是在终端中键入"conda env 创建-f环境. yaml"。然后通过在终端中键入 "源激活 caseolap" 来激活环境。

2. 下载文件

  1. 确保配置目录中的 "ftp _ config. json"中的 ftp 地址与链接 (https://www.nlm.nih.gov/databases/download/pubmed_medline.html) 中的 "年度基准" 或 "每日更新文件" 链接地址相同。.
  2. 若要仅下载基线或仅更新文件, 请在 "配置" 目录中的 "下载 _ config. json" 文件中设置 "true"。默认情况下, 它下载并提取基线文件和更新文件。提取的 xml 数据的示例可在 (https://github.com/CaseOLAP/caseolap-pipelines/blob/master/data/extracted-data-sample.xml) 查看
  3. 在终端窗口中键入 "python run _ 起作用. py", 以便从 pubmed 数据库中下载摘要。这将在当前目录中创建一个名为 "ftp.ncbi.nlm.nih.gov" 的目录。此过程检查下载数据的完整性, 并将其提取到目标目录。
  4. 转到 "log" 目录以读取"下载 _ log. txt" 中的日志消息, 以防下载过程失败。如果该过程已成功完成, 则下载过程的调试消息将打印在此日志文件中。
  5. 下载完成后, 请浏览 "ftp.ncbi.nlm.nih.gov", 以确保存在 "更新文件" 或 "基农", 或者根据 "下载 _ config. json" 中的下载配置同时存在这两个目录。文件统计信息可在 "data" 目录中的 "filestat. txt" 中找到。

3. 分析文档

  1. 确保从步骤2的 "ftp.ncbi.nlm.nih.gov" 目录中提供下载和提取的数据。此目录是此步骤中的输入数据目录。
  2. 若要修改数据分析架构, 请通过将值设置为 "true", 在 "config" 目录中的 "分析_ config. json" 文件中选择参数。默认情况下, 它分析pmid、作者、摘要、mesh、位置、日志、出版日期.
  3. 在终端中键入 "python run _ parsing-pyy", 以分析下载 (或提取的) 文件中的文档。此步骤分析所有下载的 xml 文件, 并为每个带有密钥的文档创建一个巨蟒字典 (例如, 基于步骤3.2 中分析架构设置的文件的 pmid、作者、摘要和 mosh )。
  4. 数据分析完成后, 请确保将分析的数据保存在数据目录中名为 "pub. json" 的文件中。图 3提供了分析数据的示例。
  5. 转到 "log" 目录, 在分析 _ log. txt中读取日志消息, 以防分析过程失败。如果该过程已成功完成, 调试消息将打印在日志文件中。

4. 网格到 pmid 映射

  1. 确保分析的数据 ("public. json")在 "data" 目录中可用。
  2. 在终端中键入 "巨蟒 run_mesh2pmid.py" 以执行 msh 到 pmid 映射。这将创建一个映射表, 其中每个 msh 收集关联的 pmid。单个 pmid 可能属于多个 msh 术语的范围。
  3. 映射完成后, 请确保数据目录中有 "网格 2pmidd. json"。前20个映射统计数据的示例可在图 2图 4图 5中找到。
  4. 转到 "log" 目录以读取 "mesh2pmid_mapping_log.txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 则映射的调试消息将打印在此日志文件中。

5. 文件索引

  1. https://www.elastic.co下载弹性搜索应用程序。目前, 下载可在 (https://www.elastic.co/downloads/elasticsearch)。要在远程云中下载软件, 请在终端中键入 "wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-x.x.x.tar.gz"。确保将上述命令中的 "x. x. x" 替换为正确的版本号。
  2. 确保下载的 "elasticsearch-x.x.x.tar.gz" 文件出现在根目录中, 然后通过在终端窗口中键入 "tar xvzf elasticsearch-x.x.x.tar.gz" 来提取文件。
  3. 打开一个新的终端, 并通过从根目录在终端中键入 "cd elasticrekingn" 进入 elasticrekrekbin目录。
  4. 通过在终端窗口中键入 "./弹性搜索" 来启动弹性搜索服务器。确保服务器启动时没有错误消息。如果启动弹性搜索服务器时出错, 请按照(https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)中的说明进行操作。
  5. 修改 "config" 目录中的 "index _ init _ config. json"目录中的内容, 以设置索引启动。默认情况下, 它将选择存在的所有项目。
  6. 在终端中键入 "python run _ index _ init. py", 以启动 elasticsearch 服务器中的索引数据库。这将使用一组称为索引信息的条件 (例如,索引名称、类型名称、分片数、副本数)初始化索引。您将看到提及索引的消息已成功创建。
  7. 通过将 "config" 目录中的值设置为 "true", 选择 "index _ 致力. json" 目录中的项目。默认情况下, 它将选择存在的所有项目。
  8. 确保 "数据" 目录中存在已分析的数据 ("public. json")。
  9. 在终端中键入 "python run _ index _ 致力. py", 通过创建具有两个组件的大容量数据来填充索引。第一个组件是一个字典, 其中包含有关索引名称、类型名称批量 id (例如"pmid") 的元数据信息。第二个组件是包含标记上的所有信息 (例如, "标题"、"摘要"、"mesh")的数据字典.
  10. 转到 "log" 目录以读取 "索引 _ log. txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 索引的调试消息将打印在日志文件中。

6. 文本立方体创建

  1. 下载最新的 mesh 树可在 (https://www.nlm.nih.gov/mesh/filelist.html)。当前版本的代码在输入目录中使用 mesh 树2018作为 "网格-2018. bin"。
  2. 定义感兴趣的类别 (例如, 疾病名称、年龄组、性别)。一个类别可能包括一个或多个 mesh 描述符 (https://meshb-prev.nlm.nih.gov/treeView)。收集类别的 msh id。将类别的名称保存在配置目录中的文件 "textcube _ config. json" 中 (请参阅下载版本的 "textcube _ config. json"文件中 "年龄组" 中的类别示例)。
  3. 将收集到的 mesh id 类别放在由空格分隔的行中。将类别文件保存为 "类别. txt" 目录中的 "类别. txt" (请参阅下载版本的"类别. txt" 文件中的 "年龄组" mesh id 示例)。此算法自动选择所有后代的 msh 描述符。根节点和后代的示例如图 4所示。
  4. 确保 "网格 2pmidd. json" 在 "data" 目录中。如果 mesh 树已在 "输入" 目录中使用不同的名称 (例如,"mehtree2019. bin") 进行了更新, 请确保在 "run _ textub.py" 文件中的输入数据路径中正确表示了这一点。
  5. 在终端中键入 "python run _ textcube. py", 以创建名为 "文本多维数据集" 的文档数据结构。这将为每个类别创建文档集合 (pmid)。单个文档 (pmid) 可能属于多个类别 (参见表 3 a、表 3b、图 6a图 7a).
  6. 完成文本多维数据集创建步骤后, 请确保以下数据文件保存在 "数据" 目录中: (1) 将一个单元格保存到 pmid 表中, 作为 "textcube_cell2pmid.json", (2) pmid 到单元格映射表作为 "textcube_pmid2cell.json", (3) a收集单元格的所有后代 mesh 术语, 将其作为 "结节 _ per _ cats. json" (4) 文本多维数据集数据统计信息作为 "textcube _ state. txt"。
  7. 转到 "log" 目录以读取"textcube _ log. txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 则文本多维数据集创建的调试消息将打印在日志文件中。

7. 实体计数

  1. 创建用户定义的实体 (例如, 蛋白质名称、基因、化学品)。将一个实体及其缩写放在用 "" 分隔的一行中。将实体文件保存为 "实体. txt" 在 "输入" 目录中。实体示例见表 4.
  2. 确保弹性搜索服务器正在运行。否则, 请转到步骤5.2 和5.3 以重新启动弹性搜索服务器。预计它将有一个索引数据库称为 "pubmed" 在您的弹性搜索服务器, 这是在步骤5中建立。
  3. 确保 "textcube_pmid2cell.json" 在 "数据" 目录中。
  4. 在终端中键入 "python run _ entitycount. py" 以执行实体计数操作。这将从索引数据库中搜索文档, 并对每个文档中的实体进行计数, 并收集在其中找到实体的 pmid。
  5. 实体计数完成后, 请确保最终结果保存为 "里亚特克科. txt" 和 "实体发现_pmid2cl.json" 在 "data" 目录中。
  6. 转到 "log" 目录以读取"entitycount _ log. txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 则实体计数的调试消息将打印在日志文件中。

8. 元数据更新

  1. 确保所有输入数据 ("正数. txt"、"textcube_pmid2cell.json"、"entityfound_pmid2cell.txt") 都在 "数据" 目录中。这些是元数据更新的输入数据。
  2. 在终端中键入 "python run _ 元数据 _ update.py" 以更新元数据。这将准备表示单元格中每个文本文档的元数据集合 (例如, 单元格名称、关联的 msh、pmid)。表 3 a 和表 3 b 显示了文本多维数据集元数据的示例.
  3. 元数据更新完成后, 请确保 "metadata_pmid2pcount.json" 和 "metadata_cell2pmid.json" 文件保存在 "数据" 目录中。
  4. 转到 "log" 目录以读取"元数据 _ update _ log. txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 元数据更新的调试消息将打印在日志文件中。

9. 案例评分计算

  1. 确保 "数据"目录中存在 "metadata_pmid2pcount.json" 和 "metadata_cell2pmid.json" 文件。这些是分数计算的输入数据。
  2. 在终端中键入 "巨蟒 run _ caseolap _ score.py" 以执行 caseolap 分数计算。这将根据用户定义的类别计算实体的 caseolap 分数。caseolap 分数是完整性受欢迎程度和显著性的产物。
  3. 完成分数计算后, 请确保这将结果保存在多个文件中 (例如, "pops. csv" 的受欢迎程度, "disti. csv" 的显著性, caseolap 分数作为 "caseolap. csv"), 在 "结果" 目录中。caseolap 分数计算的摘要也见表 5
  4. 转到 "log" 目录以读取"caseolap _ 分为 _ log. txt" 中的日志消息, 以防此过程失败。如果该过程已成功完成, 则 caseolap 分数计算的调试消息将打印在日志文件中。

Representative Results

为了得到样本结果, 我们在两个主题标题描述符中实现了 caseolap 算法: "年龄组" 和 "营养和代谢疾病" 作为用例。

年龄组.我们选择了 "年龄组" 的所有4个子类别 (婴儿、儿童、青少年和成人) 作为文本立方体中的细胞。获得的元数据和统计信息如表 3 a所示。文本多维数据集单元格之间的文档数的比较如图 6a所示。成人包含 172, 394 文件, 这是所有单元格中最高的数字。成人和青少年亚类拥有最多的共享文件 (26, 858 文件)。值得注意的是, 这些文件只包括我们感兴趣的实体 (即线粒体蛋白)。图 6b中的 venn 图表示在每个细胞内以及在细胞之间的多个重叠中发现的实体 (即线粒体蛋白) 的数量。在所有年龄组子类别中共享的蛋白质数量为162。成人亚类描述了最多的独特蛋白质 (151), 其次是儿童 (16)、婴儿 (8) 和青少年 (1)。我们计算了蛋白质年龄组的关联作为一个 caseolap 得分。与婴儿、儿童、青少年和成人亚类相关的前10个蛋白质 (根据其平均 caseolap 评分) 是甾醇 26-羟化酶、α-晶体 b 链、25-羟基维生素 d-1 α-羟化酶、血清性转铁蛋白、柠檬酸合酶,L-seryl-tRNA、sodium/toma何 s-输油 atpase 亚基α-3、谷胱甘肽 s-转移酶欧米茄-1、nadph: 肾上腺素酸氧化还原酶和线粒体肽蛋氨酸减硫酶 (见图 6c)。成人亚类显示10个热图细胞, 与青少年、儿童和婴儿亚类的热图细胞相比强度更高, 表明前10个线粒体蛋白与成人亚类细胞的关联最强。与其他9个线粒体蛋白的热图细胞相比, 线粒体蛋白 sterol 26-羟化酶在所有年龄亚类中具有较高的关联, 这表现在强度较高的热图细胞中。两组之间得分绝对差的统计分布显示, 平均差的范围为99% 置信区间: (1) "adlt" 和 "inft" 之间的平均差在范围内 (0.029 至 0.029), (2) 平均值"adlt" 和 "chld" 之间的差异位于范围内 (0.021 至 0.021), (3) "adlt" 与 "adol" 的平均差在范围内 (0.021 ~ 0.021), (4) "adol" 与 "inft" 的平均差在范围内 (0.021 ~ 0.021), (5) 平均差"成人" 和 "chld" 之间的距离 (0.007 到 0.010), (6) "chld" 和 "eft" 之间的平均差异位于范围内 (0.010 到 0.010)。

营养和代谢疾病.我们选择了2个亚类的 "营养和代谢疾病" (即代谢疾病和营养失调), 以创建2个细胞在文本立方体。获得的元数据和统计信息如表 3b所示。文本多维数据集单元格之间的文档数的比较如图 7a所示。亚类代谢疾病包含 54, 762份文件, 随后有 19 181份营养失调文件。亚类代谢疾病和营养失调有 7, 101份共享文件。值得注意的是, 这些文件只包括我们感兴趣的实体 (即线粒体蛋白)。图 7b中的 venn 图表示在每个单元格中找到的实体数, 以及在单元格之间的多个重叠中找到的实体数。我们计算了蛋白质-"营养和代谢疾病" 的关联作为一个案例 olap 评分。与本例相关的前10个蛋白质 (根据其平均 caseolap 评分) 是甾醇 26-羟化酶、α-晶体素 b 链、l-血清-rna、柠檬酸合成酶、trna 假尿链合酶 a、25-羟基维生素 d-1 α-羟基-羟基酶,谷胱甘肽 s-转移酶欧米茄-1, nadph: 肾上腺素氧化还原酶, 线粒体肽蛋氨酸亚硫酸还原酶, 纤溶酶原激活物抑制剂 1 (如图 7c所示)。一半以上 (54%)所有蛋白质中的所有蛋白质在亚类之间共享代谢疾病和营养失调 (397 蛋白质)。有趣的是, 几乎一半 (43%)代谢疾病亚类中的所有相关蛋白质都是独特的 (300 种蛋白质), 而营养失调只表现出少数独特的蛋白质 (35)。α-晶体素 b 链显示了与亚类代谢疾病的最强关联。甾醇 26-羟化酶, 线粒体显示最强的关联在营养失调亚类, 表明这种线粒体蛋白是高度相关的研究描述营养失调。两组 "mbd" 和 "ntd" 之间得分绝对差的统计分布显示平均差的范围 (0.046 到 0.046) 为99% 置信区间。

Figure 1
图1。案例 olap 工作流的动态视图。此图表示 caseolap 工作流中的5个主要步骤。在步骤1中, 工作流从下载和提取文本文档 (例如, 从 pubmed) 开始。在步骤2中, 对提取的数据进行分析, 以便为每个文档创建数据字典以及 mesh 到 pmid 映射。在步骤3中, 进行数据索引以方便快速、高效地进行实体搜索。在步骤4中, 实现了用户提供的类别信息(例如, 每个单元的根 msh), 以构建文本多维数据集。在步骤5中, 实体计数操作在索引数据上实现, 以计算 caseolap 分数。这些步骤以迭代的方式重复, 以更新系统, 使用公共数据库 (例如 pubmed) 中提供的最新信息。请点击这里查看此图的较大版本.

Figure 2
图2。案例计划工作流的技术体系结构。此图表示 caseolap 工作流的技术细节。从 pubmed 存储库中获得的数据来自 pubmed ftp 服务器。用户通过其设备连接到云服务器 (例如, aws 连接), 并创建一个下载管道, 将数据下载并提取到云中的本地存储库。提取的数据经过结构化、验证, 并使用数据分析管道以适当的格式显示。同时, 在解析步骤中创建一个 msh 到 pmid 映射表, 用于文本多维数据集构造。分析的数据存储为 json, 就像带有文档元数据的键值字典格式一样 (例如, pmid、mesh、发布年份)。索引步骤通过实现 elasticsearch 来处理批量数据, 进一步改进了数据。接下来, 通过实现 mesh 到 pmid 映射, 使用用户定义的类别创建文本多维数据集。完成文本多维数据集形成和索引步骤后, 将进行实体计数。实体计数数据实现到文本多维数据集元数据。最后, 根据底层文本立方体结构计算 caseolap 分数。请点击这里查看此图的较大版本.

Figure 3
图3。已分析文档的示例。下图中给出了解析数据的示例。解析的数据被排列为与索引和文档元数据创建兼容的键值对。在此图中, pmid (例如, "25896987") 是一个关键, 相关信息 (如标题、期刊、出版日期、摘要、mesh、物质、部门和位置) 具有价值。此类文档元数据的第一个应用是构建 msh 到 pmid 映射 (图 5表 2), 该映射后来实现, 以创建文本多维数据集, 并使用用户提供的实体计算 caseolap 分数。类别。请点击这里查看此图的较大版本.

Figure 4
图4。一个 msh 树的样本。 "年龄组" mesh 树根据国家卫生研究院数据库 (mesh 树 2018, < http://meshb.nlm.nih.gov/treeView >) 中提供的树数据结构进行了调整。mesh 描述符是使用其节点 id (例如, 人员 [m01]、年龄组 [m01. 060]、青少年 [M01.060.057]、成人 [M01.060.116]、儿童 [M01.060.406]、婴儿 [M01.060.703]) 来收集与特定的 msh 描述符相关的文件 (例如, 人员 [m01]、年龄组 []、儿童 []、婴儿 []) 来收集与特定的 msh 描述符相关的文件 (表 3 a)。请点击这里查看此图的较大版本.

Figure 5
图5。年龄组中的 msh 到 pmid 映射。此图显示了在 "年龄组" 中的 msh 描述符下收集的文本文档 (每个与 pmid 链接) 的数量, 作为气泡图。生成 mesh 到 pmid 映射是为了提供在 mesh 描述符下收集的文档的确切数量。根据18个后代的 mesh 描述符共收集了 3 062 143份独特文件 (见表 2).在特定的 msh 描述符下选择的 pmid 数越高, 表示 mesh 描述符的气泡半径就越大。例如, 在医疗卫生服务描述符 "成人" (1 786 371 文件) 下收集的文件数量最多, 而在卫生部描述符 "婴儿、后熟" (62份文件) 下收集的文本文件数量最少。
另一个例子是 "营养和代谢疾病" (https://caseolap.github.io/mesh2pmid-mapping/bubble/meta.html) 的 mesh 至 pmid 映射。在 "营养和代谢疾病" 的361个后代 mesh 描述符下, 共收集了 42 2 039份独特文件。在医疗卫生方法描述符 "肥胖" (七, 881份文件) 下收集的文件数量最多, 其次是 "2 型糖尿病" (61 901 份文件), 而 "糖原储存疾病, 第八类" 的文件数量最少 (1份文件)).相关表格也可在 https://github.com/CaseOLAP/mesh2pmid-mapping/blob/master/data/diseaseall.csv 在线查阅。请点击这里查看此图的较大版本.

Figure 6
图6。"年龄组" 作为用例。此图显示了 caseolap 平台的一个用例的结果。在这种情况下, 蛋白质名称及其缩写 (见表4中的样本) 作为实体实现, 包括细胞在内的 "年龄组" (婴儿 (eft)、儿童 (chld)、青少年 (adol) 和成人 (adlt)) 作为子类别实现 (见表4中的样本) (见表4中的样本) (见表4中的样本)。表 3 a)。()"年龄组" 中的文档数:此热图显示分布在 "老年组" 单元格中的文档数量 (有关文本多维数据集创建的详细信息, 请参阅第4议定书和表 3 a)。更多的文档显示热图单元的较深强度 (请参见比例)。单个文档可以包含在多个单元格中。热图显示沿对角线位置的单元格内的文档数 (例如, adlt 包含 172, 394个文档, 是所有单元格中的最高编号)。非对角线位置表示属于两个单元格的文档数 (例如, adlt 和 adol 有 26, 858 共享文档)。().实体计数在 "年龄组": venn 图表示在代表 "年龄组" 的四个细胞 (inft、chld、adol 和 adlt) 中发现的蛋白质数量。在所有细胞内共享的蛋白质数量为162。年龄组 adlt 描述了最大数量的独特蛋白 (151), 其次是 chld (16)、inft (8) 和 adol (1)。(c)"年龄组" 中的案例记分介绍:每个组平均 casolap 分数最高的前10个蛋白质在热图中显示。较高的 casolap 分数显示热图单元的较暗强度 (请参见比例)。蛋白质名称显示在左列上, 细胞 (ft、chld、adol、adlt) 沿 x 轴显示。有些蛋白质与特定年龄组有很强的关联 (例如, sterol 26-羟化酶、α-晶体素 b 链和 L-seryl-tRNA 与 adlt 有很强的关联, 而 Sodium/potassium-transporting 亚基α-3 有很强的关联与 inft)。请点击这里查看此图的较大版本.

Figure 7
图7。"营养和代谢疾病" 作为一个用例: 此图显示了 caseolap 平台的另一个用例的结果。在这种情况下, 蛋白质名称及其缩写 (见表 4中的样本) 作为实体实现, "营养和代谢疾病" 包括两个细胞: 代谢疾病 (mbd) 和营养失调 (ntd) 作为实体实施。子类别 (见表 3b)。(a). "营养和代谢疾病" 中的文件数量:本热图描述了 "营养和代谢疾病" 细胞中的文本文件数量 (关于创建文本立方的详细情况, 见第4议定书和表 3 b)).更多的文档显示热图单元的较暗强度 (请参见比例)。单个文档可以包含在多个单元格中。热图显示沿对角线位置的单元格内的文档总数 (例如, mbd 包含 54, 762 文档, 是两个单元格中最高的数字)。非对角线位置表示两个单元格共享的文档数 (例如, mbd 和 ntd 有 7, 101个共享文档)。(b). "营养和代谢疾病" 中的实体计数: venn 图表示在代表 "营养和代谢疾病" 的两个细胞中发现的蛋白质数量。两个细胞内共享的蛋白质数量为397。mbd 细胞描绘了300种独特的蛋白质, 而 ntd 细胞描绘了35种独特的蛋白质。(c). caseolap 在 "营养和代谢疾病" 中的评分: 在 "营养和代谢疾病" 中平均 caseolap 分数最高的前10个蛋白质在热图中显示。较高的 casolap 分数显示热图单元的较暗强度 (请参见比例)。蛋白质名称显示在左侧列上, 单元格 (mbd 和 ntd) 沿 x 轴显示。一些蛋白质与特定疾病类别有很强的关联 (例如, α-晶体素 b 链与代谢性疾病有很高的关联, 甾醇 26-羟化酶与营养失调有很高的关联)。请点击这里查看此图的较大版本.

所花费的时间 (占总时间的百分比) caseolap 平台中的步骤 caseolap 平台的算法与数据结构 算法与数据结构的复杂性 步骤的详细信息
40% 下载和
解析
迭代和树解析算法 具有嵌套循环和常量乘法的迭代: O(n^2), o (log n)。其中 "n" 不是迭代。 下载管道将每个过程迭代到多个文件上。对单个文档的分析在原始 xml 数据的树结构上运行每个过程。
30% 索引、搜索和文本多维数据集创建 迭代, 搜索算法由 elasticsearch (排序, lucene 索引, 优先级队列, 有限状态机, 位打量黑客, 正则表达式查询) 与弹性搜索相关的复杂性 (https://www.elastic.co/) 通过数据字典实现迭代过程, 对文档编制索引。文本多维数据集创建实现文档元数据和用户提供的类别信息。
30% 实体计数和案例计算 完整性、大众化、显著性计算中的迭代 O(1)、O(n^2), 与基于迭代类型的 caseolap 分数计算相关的多种复杂性。 实体计数操作列出文档, 并对列表进行计数操作。实体计数数据用于计算 caseolap 分数。

表1。算法和复杂性。下表提供了有关在过程 (例如下载、分析) 上花费的时间 (占所花费总时间的百分比)、数据结构以及有关 caseolap 平台中已实现的算法的详细信息。caseolap 实现了名为 elasticsearch 的专业索引和搜索应用程序。有关弹性搜索和内部算法的复杂性的更多信息, 请参见 (https://www.elastic.co)。

mesh 描述符 收集的 pmid 数量
成人 786, 371
中年 1, 681, 82
老年 1, 198778
青少年 706, 429
年轻成人 486 259
孩子 480 218 美元
80岁及以上 443 348
儿童, 学龄前儿童 285
婴儿 218 242
婴儿, 新生儿 160 702
早产儿, 早产儿 17 701
婴儿, 低出生体重 5, 707
脆弱的老人 4 811
婴儿, 极低的出生体重 4 458
婴儿, 小的妊娠年龄 3, 168
婴儿, 极度早产 1, 171
婴儿, 极低的出生体重 1, 003
婴儿, 后熟 62

表2。msh 到 pmid 映射统计。此表显示了来自 "年龄组" 的所有后代 mesh 描述符及其收集的 pmid (文本文档) 的数量。这些统计信息的可视化如图 5所示。

a 个 婴儿 (inft) 儿童 (chld) 青少年 (adol) 成人 (adlt)
msh 根 id M01.060.703 M01.060.406 M01.060.057 M01.060.116
后代 mesh 描述符的数量 9 2 1 6
选择的 pmid 数 16, 466 26, 907 35, 158 172 394
找到的实体数 233 297 257 443
B 代谢疾病 (mbd) 营养疾病 (ntd)
msh 根 id c18.452 c18.654
后代的数量
描述 符
308 53
收集的 pmid 数 54, 762 19 181
找到的实体数 697 432

表3。文本多维数据集元数据。提供了文本多维数据元数据的表格视图。这些表提供有关类别和 mesh 描述符根和后代的信息, 这些描述符根和后代是为收集每个单元中的文档而实现的。该表还提供了所收集的文档和实体的统计信息。()"年龄组": 这是一个表格显示的 "年龄组", 包括婴儿 (inft), 儿童 (chld), 青少年 (adol), 和成人 (adlt) 和他们的 mesh 根 id, 后代 mesh 描述符的数量, 选定的 pmid 数和发现的实体的数量。()"营养和代谢疾病": 这是一个表格显示的 "营养和代谢疾病", 包括代谢疾病 (mbd) 和营养疾病 (ntd) 与他们的 mesh 根 id, 后代的数量 mesh 描述符, 数量选择 pmid 和找到的实体数。

蛋白质名称和同义词 缩写
n-乙酰谷氨酸合成酶, 线粒体, 氨基酸乙酰基转移酶, n-乙酰谷氨酸合成酶长形态;n-乙酰谷氨酸合酶短形态;n-乙酰谷氨酸合酶保守的域形态] (ec 2.3.1.1)
蛋白/核酸 dj-1 (maillard 脱乙二醇) (癌基因 dj1) (帕金森病蛋白 7) (帕金森病相关的脱肝素) (蛋白 dj-1) (欧共体 3.1.2-)(欧共体 3.5.1-)(ec 3.5.1.124)(dj-1)
丙酮酸羧化酶, 线粒体 (丙酮酸羧化酶) (ec 6.4.1.1)(印刷电路板)
bcl-2 结合组分 3 (p53 细胞凋亡上调调节器) (jfy-1)
bh3 相互作用域死亡激动剂 [bh3 相互作用域死亡激动剂 p15 (p15 bid);bh3 相互作用域死亡激动剂 p13;bh3 相互作用的领域死亡激动剂 p11] (第22页 bid)(bid)(第13页 bid)(第11页 bid)
atp 合成酶亚基α、线粒体 (atp 合成酶 f1 亚基阿尔法)
细胞色素 p450 11b2, 线粒体 (醛固酮合成酶) (醛固酮合成酶) (cypxib2) (细胞色素 p-450aldo) (细胞色素 P-450Aldo) (类固醇 18-羟化酶) (aldos)(ec 1.14.15.4)(ec 1.14.15.5)
60 kda 热休克蛋白, 线粒体 (60 kda 伴侣蛋白) (chaperonin 60) (cpn60) (热休克蛋白 60) (线粒体基质蛋白 p1) (p60 淋巴细胞蛋白) (hss-60)(hsp60)(胡查 60)(ec 3.6.4.9)
里海-4 (ice 和 ced-3 同源物 2) (蛋白酶 tx) [被切割成: 里海-4 亚基单位 1;里海-4 亚基 2] (casp-4)(ec 3.4.22.57)(ich-2)(ice (rel)-ii)(mih1)

表4。示例实体表.下表显示了在我们的两个用例中实现的实体的示例: "年龄组" 和 "营养和代谢疾病" (图 6图 7,表 3 a, b)。这些实体包括蛋白质名称、同义词和缩写。每个实体 (及其同义词和缩写) 都是一个接一个地选择, 并通过索引数据的实体搜索操作传递 (请参阅协议3和 5)。搜索将生成一个文档列表, 从而进一步促进实体计数操作。

数量 用户定义 计算 数量的等式 数量的意思
诚信 是的 被视为1.0 的用户定义实体的完整性。 表示有意义的短语。当数值已经是一个已建立的短语时, 它是1.0。
普及 是的 图 1 (工作流和算法) 中的流行方程, 如参考 5 "材料和方法" 部分。 基于单元格中短语的术语频率。按细胞的总期限频率归一化。定期频率的增加会导致结果的减少。
独特 是的 图 1 (工作流和算法) 中的显著方程来自参考 5, "材料和方法" 部分。 基于单元内和相邻单元内的术语频率和文档频率。按总术语频率和文档频率归一化。从数量上看, 它是短语在特定单元格中唯一的概率。
凯乔拉分数 是的 表 1 (工作流和算法) 中的案例分数方程, 来自参考 5 "材料和方法" 部分。 基于完整性、受欢迎性和显著性。数值总是在0到1以内。在数量上, caseolap 分数表示短语类别关联

表5。案例 olap 方程: caseolap 算法是由陶方波和贾伟等人在 2016年开发的。简单地说, 此表显示了 caseolap 分数计算, 该计算由三个部分组成: 完整性、受欢迎程度和显著性, 以及它们的相关数学含义。在我们的用例中, 蛋白质的完整性得分为 1.0 (最高分), 因为它们是已建立的实体名称。在我们的用例中, caseolap 分数可以在图 6c图7c 中看到。

Discussion

我们已经证明, caseolap 算法可以在大量的文本数据上创建一个基于短语的定量关联到一个基于知识的类别, 以提取有意义的见解。按照我们的协议, 可以构建 caseolap 框架, 以创建所需的文本多维数据集, 并通过 caseolap 分数计算量化实体类别关联。所获得的原始 caseolap 分数可以用来进行综合分析, 包括维数约简、聚类分析、时间和地理分析, 以及创建一个图形数据库, 从而实现文档的语义映射。

算法的适用性.除蛋白质外, 用户定义实体的例子可以是基因名称、药物、具体体征和症状的列表, 包括其缩写和同义词。此外, 有许多选择类别的类别, 以促进特定的用户定义的生物医学分析 (例如, 解剖 [a], 纪律和职业 [h], 现象和过程 [g])。在我们的两个用例中, 所有科学出版物及其文本数据都是利用 pubmed 作为搜索引擎从 medline 数据库中检索的, 这两个数据库都由国家医学图书馆管理。但是, caseolap 平台可应用于包含包含包含文本数据 (如 fda 不良事件报告系统 (faers) 等文本数据的生物医学文档的其他感兴趣的数据库。这是一个开放的数据库, 其中载有关于医疗不良事件和药物错误报告提交给林业发展局的信息。与 medline 和台面不同的是, 医院中含有患者电子健康记录的数据库不对公众开放, 并受到称为 hipaa 的《健康保险可移植性和责任法》的限制。

caseolap 算法已成功应用于不同类型的数据 (例如, 新闻文章)1.该算法于2018年在生物医学文献实施5。caseolap 算法适用性的要求是, 每个文档都应分配与概念相关的关键字 (例如, 生物医学出版物中的 mesh 描述符、新闻文章中的关键字)。如果找不到关键字, 可以在实现我们的协议之前应用自动生成 6, 7 来收集最具代表性的短语并生成实体列表。我们的协议不提供执行自动生成的步骤。

与其他算法的比较.自2005年以来, 使用 data-cube 8910和 text-cube234的概念不断演变, 并取得了新的进展, 使数据挖掘更加适用。数据挖掘和商业智能中的联机分析处理 (olap)111213、14、15的概念可以追溯到1993年。通常, olap 会聚合来自多个系统的信息, 并以多维格式存储这些信息。在数据挖掘中实现了不同类型的 olap 系统。例如 (1) 混合事务分析处理 (htap)1617、(2) 多维 olap (molap)1819-多维度立方体和 (3) 关系 olap (rolap)20

具体而言, caseolap 算法与许多现有算法进行了比较, 特别是它们的短语分割增强, 包括 tf-idf + seg、mcx + seg、mcx 和 seg-sase。此外, 还将 rephphrase (rp, 也称为 seg-srase +) 与自身的烧蚀变体进行了比较, 包括 (1) 未纳入完整性措施的 rp (rp no int)、(2) 不纳入流行措施 (rp no pop) 的 rp 和 (3) 不采用纳入了特殊措施 (rp no dis)。试验结果在方波·陶等人的研究中得到了证明

数据挖掘仍然存在挑战, 这可能会增加保存和检索数据库中的数据的其他功能。上下文感知语义分析处理 (caseolap) 系统地实现了弹性搜索, 以建立一个由数百万个文档组成的索引数据库 (协议 5)。文本多维数据集是在具有用户提供的类别的索引数据上构建的文档结构 (协议 6)。这增强了 Text-Cube 单元内和单元格之间的文档的功能, 并允许我们计算文档上实体的术语频率和特定单元的文档频率 (协议 8)。最后的 caseolap 分数利用这些频率计算来输出最终分数 (协议 9)。2018年, 我们实施了该算法, 研究 ecm 蛋白和六种心脏病, 以分析蛋白质与疾病的关联。这项研究的细节可以在 liem、d. a. 等人的研究中找到.表明 caseolap 可以广泛应用于探索各种疾病和机制的生物医学界。

算法的限制.短语挖掘本身是一种从文本数据中管理和检索重要概念的技术。虽然发现实体类别关联作为一个数学量 (向量), 这种技术无法计算出极性 (例如, 正或负倾向) 的关联。人们可以利用文本-cude 文档结构与指定的实体和类别建立数据的定量总结, 但不能达到具有微观粒度的定性概念。有些概念从过去到现在都在不断演变。为特定实体类别协会提出的摘要包括整个文献中的所有事件。这可能缺乏创新的世俗传播。今后, 我们计划解决这些限制。

未来的应用.世界上大约90% 的累积数据是在非结构化文本数据中。寻找一个具有代表性的短语和与嵌入在文本中的实体的关系是实施新技术 (如机器学习、信息提取、人工智能) 的一项非常重要的任务。为了使文本数据机可读, 需要在数据库中组织数据, 在数据库中可以实现下一层工具。在未来, 该算法可以成为数据挖掘在信息检索和实体类别关联量化方面发挥更大作用的关键一步。

Disclosures

作者没有什么可透露的。

Acknowledgments

这项工作得到了国家心脏、肺和血液研究所的部分支持: r35 hl135772 (至 p. ping);国家普通医学科学研究所: u54 gm114833 (至 p. ping、k. watson 和 w. wang);u54 gm114838 (至 j. han);来自海伦 & 拉里·霍格基金会和 s. setty 博士的礼物;和加州大学洛杉矶分校的 t. c. laubisch 捐赠基金 (到 p. ping)。

Materials

Name Company Catalog Number Comments

DOWNLOAD MATERIALS LIST

References

  1. Tao, F., Zhuang, H., et al. Phrase-Based Summarization in Text Cubes. IEEE Data Engineering Bulletin. , 74-84 (2016).
  2. Ding, B., Zhao, B., Lin, C. X., Han, J., Zhai, C. TopCells: Keyword-based search of top-k aggregated documents in text cube. IEEE 26th International Conference on Data Engineering (ICDE). , 381-384 (2010).
  3. Ding, B., et al. Efficient Keyword-Based Search for Top-K Cells in Text Cube. IEEE Transactions on Knowledge and Data Engineering. 23 (12), 1795-1810 (2011).
  4. Liu, X., et al. A Text Cube Approach to Human, Social and Cultural Behavior in the Twitter Stream.Social Computing, Behavioral-Cultural Modeling and Prediction. Lecture Notes in Computer Science. 7812, (2013).
  5. Liem, D. A., et al. Phrase Mining of Textual Data to analyze extracellular matrix protein patterns across cardiovascular disease. American Journal of Physiology-Heart and Circulatory. , (2018).
  6. Shang, J., et al. Automated Phrase Mining from Massive Text Corpora. IEEE Transactions on Knowledge and Data Engineering. 30 (10), 1825-1837 (2018).
  7. Liu, J., Shang, J., Wang, C., Ren, X., Han, J. Mining Quality Phrases from Massive Text Corpora. Proceedings ACM-Sigmod International Conference on Management of Data. , 1729-1744 (2015).
  8. Lee, S., Kim, N., Kim, J. A Multi-dimensional Analysis and Data Cube for Unstructured Text and Social Media. IEEE Fourth International Conference on Big Data and Cloud Computing. , 761-764 (2014).
  9. Lin, C. X., Ding, B., Han, J., Zhu, F., Zhao, B. Text Cube: Computing IR Measures for Multidimensional Text Database Analysis. IEEE Data Mining. , 905-910 (2008).
  10. Hsu, W. J., Lu, Y., Lee, Z. Q. Accelerating Topic Exploration of Multi-Dimensional Documents Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE International. , 1520-1527 (2017).
  11. Chaudhuri, S., Dayal, U. An overview of data warehousing and OLAP technology. SIGMOD Record. 26 (1), 65-74 (1997).
  12. Ravat, F., Teste, O., Tournier, R. Olap aggregation function for textual data warehouse. ICEIS - 9th International Conference on Enterprise Information Systems, Proceedings. , 151-156 (2007).
  13. Ho, C. T., Agrawal, R., Megiddo, N., Srikant, R. Range Queries in OLAP Data Cubes. SIGMOD Conference. , (1997).
  14. Saxena, V., Pratap, A. Olap Cube Representation for Object- Oriented Database. International Journal of Software Engineering & Applications. 3 (2), (2012).
  15. Maniatis, A. S., Vassiliadis, P., Skiadopoulos, S., Vassiliou, Y. Advanced visualization for OLAP. DOLAP. , (2003).
  16. Bog, A. Benchmarking Transaction and Analytical Processing Systems: The Creation of a Mixed Workload Benchmark and its Application. , Springer Science & Business Media. 7-13 (2013).
  17. Özcan, F., Tian, Y., Tözün, P. Hybrid Transactional/Analytical Processing: A Survey. In Proceedings of the ACM International Conference on Management of Data (SIGMOD). , 1771-1775 (2017).
  18. Hasan, K. M. A., Tsuji, T., Higuchi, K. An Efficient Implementation for MOLAP Basic Data Structure and Its Evaluation. International Conference on Database Systems for Advanced Applications. , 288-299 (2007).
  19. Nantajeewarawat, E. Advances in Databases: Concepts, Systems and Applications. DASFAA 2007. Lecture Notes in Computer Science. 4443, (2007).
  20. Shimada, T., Tsuji, T., Higuchi, K. A storage scheme for multidimensional data alleviating dimension dependency. Third International Conference on Digital Information Management. , 662-668 (2007).

Tags

医学 第144期 文本挖掘 数据科学 医学信息学 短语挖掘 云计算
生物医学出版物中基于云的短语挖掘与用户定义短语类协会的分析
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Sigdel, D., Kyi, V., Zhang, A.,More

Sigdel, D., Kyi, V., Zhang, A., Setty, S. P., Liem, D. A., Shi, Y., Wang, X., Shen, J., Wang, W., Han, J., Ping, P. Cloud-Based Phrase Mining and Analysis of User-Defined Phrase-Category Association in Biomedical Publications. J. Vis. Exp. (144), e59108, doi:10.3791/59108 (2019).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter