一种中文病理文本结构化处理方法
【技术领域】
[0001] 本发明涉及自然语言处理技术领域,特别是涉及一种中文病理文本结构化处理方 法。
【背景技术】
[0002] 随着互联网的迅速发展和国内医疗行业信息化进程的逐渐推进,医疗行业的信息 量也在呈指数式爆炸增长。同时,伴随着生活水平的提高,人们也逐渐从最基本的能看病, 转向关注医疗诊断的效率和准确度。传统医疗方式下积累的以及现阶段每天实时增加的大 量非结构化的病理数据,不仅不易于存储管理,而且不能满足如今的病理分析需求。
[0003] 如何从非结构化的病理数据中获取有用的信息成为当前的研宄热点之一。现有的 自然语言处理技术和数据挖掘技术,如分词、聚类分类、信息抽取等,已经能在很大程度上 解决这一问题,但如何高效且准确地从非结构化的中文病理文本中获取有用的信息仍是一 大难题。
【发明内容】
[0004] 本发明所要解决的技术问题是提供一种中文病理文本结构化处理方法,能够将非 结构化的中文病理文本结构化。
[0005] 本发明解决其技术问题所采用的技术方案是:提供一种中文病理文本结构化处理 方法,包括以下步骤:
[0006] (1)从病理报告文本数据的样本与指标的层次结构中提取出各个样本所对应的模 板信息;
[0007] (2)对模板信息进行提取,包括短句切分和指标名提取;短句分类;
[0008] (3)对每个样本结合分类结果集合CLUSTER和短句集CLAUSE,计算指标名列表中 的每个指标名在短句语料中的TF值、IDF值和C-value值,筛选出TF值、IDF值和C-value 值阈值的指标名,作为最终模板中的成分。
[0009] 所述步骤(2)中短句切分是采用正则匹配的方法,当病理报告文本数据中检测到 符合正则表达式时进行断句,从而将病理报告文本数据切分成若干短句。
[0010] 所述步骤(2)的指标名提取具体包括:(A)样本名的提取:利用开源的分词工具, 结合人体组织器官词库以及样本名出现在短句的第一个文本片段中的规律,对无关文本进 行过滤筛选,提取出每个短句对应的样本名;(B)指标名的提取:将短句按标点符号切分成 若干语义上独立的文本片段,将每个文本片段先用特殊词库匹配和数量词匹配进行筛选, 再对匹配失败的文本片段用统计方法进行处理;最后通过将经过上述操作得到的键值对中 的指标名去重合并,得到每个短句对应的若干指标名。
[0011] 所述步骤(2)中的短句分类包括:
[0012] 先对短句集合CLAUSE进行初步分类,将样本名完全相同的短句归为一类,归类后 的每个子类的指标名列表为其所包含的所有短句的指标名列表的去重合并,最后得到经过 初步分类的子类集合CLAUSE_PC;
[0013] 将初步分类后的每个子类的样本名sn跟组织器官词典DIC中的词word两两计算 相似度,并放到一个二维数组Array中,其中,Arra yij的值是编号为i的子类的样本名和编 号为j的组织器官词典中的词的样本名相似度;
[0014] 优先处理样本名相似度完全相同的子类:将该子类中的所有短句都被归入组织器 官词word下,将分类信息写入分类结果集合CLUSTER,并将该子类从子类集合中移除;
[0015] 处理样本名相似度值近似的子类:每个子类都能找到零个到多个组织器官词 word满足要求,对那些能够找到至少一个满足要求的组织器官词word的子类,计算该子类 的指标名列表和与其对应的每个组织器官word的指标名列表的指标名相似度,找到指标 名相似度最大的组织器官词word',将该子类c就归入相似度最大的组织器官词word'下, 将分类信息写入分类结果集合CLUSTER,更新相似度最大的组织器官词word'在MATCHED集 合中的指标值列表,同时将该子类c从子类集合中移除;
[0016] 对子类集合中余下的子类,直接采用初步分类的结果将短句分类,将分类信息写 入分类结果集合CLUSTER,同时,将每个子类的样本名和指标值列表信息写入UNMATCHED集 合中;
[0017] 输出分类结果集合CLUSTER,以及MATCHED集合和UNMATCHED集合。
[0018] 有益效果
[0019] 由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效 果:本发明中的模板是从训练数据集里提取出来的,因此对此类文本结构化的准确率较现 有的通用方法要高;本发明中提取的模板会被定期优化,以适应最新的数据结构化需求。
【附图说明】
[0020] 图1是本发明中病理文本层次结构图;
[0021] 图2是样本名提取的数据流图;
[0022] 图3是指标名提取的数据流图;
[0023] 图4是短句切分和指标名提取的顶层数据流图;
[0024] 图5是短句初步分类的数据流图;
[0025] 图6是模板提取的数据流图;
[0026] 图7是模板应用的数据流图。
【具体实施方式】
[0027] 下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明 而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人 员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定 的范围。
[0028] 本发明的实施方式涉及一种中文病理文本结构化处理方法,包括以下步骤:(1) 从病理报告文本数据的样本与指标的层次结构中提取出各个样本所对应的模板信息;(2) 对模板信息进行提取,包括短句切分和指标名提取;短句分类;(3)对每个样本结合分类结 果集合CLUSTER和短句集CLAUSE,计算指标名列表中的每个指标名在短句语料中的TF值、 IDF值和C-value值,筛选出TF值、IDF值和C-value值满足阈值的指标名,作为最终模板 中的成分。
[0029] 病理报告文本数据主要包含如下信息(见表1):病人基本信息、肉眼所见、镜下所 见、病理诊断。本方法是针对病理文本数据中的"肉眼所见"部分。
[0030] 表1病理文本数据样例
[0033] 医生书写的病理文本一般都会遵循一定的书写规范。如在病理文本的"肉眼所见" 字段中,一般会包含若干个样本,针对其中某个样本,又会有若干个指标来描述,从而构成 样本与指标的层次结构(见图1)。
[0034]以表1中的病理文本数据为例,该例中的样本名有十二指肠、肿块、管壁样物、胆 总管、胆囊、结节等;其中,十二指肠的指标名有长度、周径、粘膜等。
[0035] 通过本方法的处理,可以从病理文本数据的"肉眼所见"字段中提取出若干样本分 别对应的模板信息。仍以表1中的病理文本数据为例,部分样本的模板样例如表2所示。
[0036]
[0037] 表2样本的模板样例
[0038] 模板提取主要包括3个关键步骤,具体有:
[0039] 第一步为短句切分和指标名提取。首先根据总结的规则,将一句病理文本切分成 若干句语义上独立的短句。这里采用正则匹配的方法,当病理文本中检测到符合正则表达 式时进行断句,从而将病理文本切分成若干短句。正则表达式为:
[0040]。另送,|,另送|另送|N[0|o]. {0,10}:|,找到I找到I。I.另送I ;|,另见I另 见I见
[0041] 指标名提取可以细分为两个阶段:
[0042] 第一阶段为样本名的提取,如图2所示,由于医学病理报告的书写规范要求,样本 名一般出现在短句的第一个文本片段中。根据这个特性,再利用开源的分词工具,结合人体 组织器官词库以及总结的规律,对无关文本进行过滤筛选,可以提取出每个短句对应的样 本名。
[0043] 第二阶段为指标名的提取,如图3所示,结合医学病理报告的书写特点,可以整理 出4个特殊的词库:颜色库、质地库、形状库、状态库。将短句按标点符号(这里主要为冒号 和逗号)切分成若干语义上独立的文本片段(每个文本片段包含一个"〈指标名,指标值 >"键值对或"〈null,指标值 >"(指标名缺省)键值对),将每个文本片段先用特殊词库匹 配和数量词匹配进行筛选,再对匹配失败的文本片段用统计方法进行处理。最后,通过将经 过上述操作得到的键值对中的指标名去重合并,可以得到每个短句对应的若干指标名。 [0044] 同时,为了后期处理方便,此处给每个短句添加一个唯一的编号。
[0045] 经过以上两个阶段,每个短句从纯文本描述表示转变为"〈唯一短句编号c#,样本 名sn,指标名列表list〉"表示。图4为短句切分和指标名提取的顶层数据流图。
[0046] 第二步为短句分类。为使样本的模板尽可能全面地覆盖可能会出现的描述内容, 需要先对短句进行分类,将描述同一样本的短句放到同一个分类中。短句分类算法的基本 思想是尽可能地将每个短句归类到跟它有关联的人体组织器官词库中的某一组织器官词 下。同时,该算法有个"副产品",就是最后被匹配上的组织器官词都会有一个指标名列表, 未匹配上词库的样本名也会汇总为相应的指标名列表。
[0047] 算法具体步骤如下:
[0048] 1)先
对短句集合CLAUSE进行初步分类,见图5,将样本名完全相同的短句归为一 类,归类后的每个子类的指标名列表为其所包含的所有短句的指标名列表的去重合并,最 后得到经过初步分类的子类集合CLAUSE_PC。
[0049] 2)为避免重复计算样本名相似度,先将初步分类后的每个子类的样本名sn跟组 织器官词典DIC中的词word两两计算相似度,放到一个二维数组Array中。其中,Arrays 的值是编号为i的子类的样本名和编号为j的组织器官词典中的词的样本名相似度。这里 我们将带样本名的短句集作为训练数据,用Google的开源项目 W〇rd2vec训练出对应的词 向量文件,在该词向量文件中,每个词(在我们的实验中是样本名或指标名)会有一个高维 的向量表示,则计算子类样本名和组织器官词的样本名相似度,即计算这两个向量的余弦 相似度。余弦相似度计算公式为:
[0051] 其中,A为样本名sn对应的词向量,B为组织器官词word对应的词向量,A ? B为 两个向量的内积,I |A| |和| |B| |分别为两个向量的模。
[0052] 特殊地,若子类样本名和组织器官词完全相同,则样本名相似度直接置为1。
[0053] 3)优先处理样本名相似度为1的子类。对词典DIC中的某一词word而言,一旦有 某个子类c的样本名与word完全一致,那么子类c对应的指标名列表一定是描述word的, 更新word的指标名列表(word的指标名列表信息存放在集合MATCHED中)。同时,子类c 中的所有短句都被归入组织器官词word下,将分类信息写入集合CLUSTER,并将该子类从 子类集合中移除。
[0054] 4)处理样本名相似度值在区间(0, 1)中的子类。每个子类都能找到零个到多个 word满足要求,对那些可以找到至少一个满足要求的word的子类c,计算c的指标名列表 和与其对应的每个word的指标名列表的指标名相似度。指标名相似度计算方法类似于样 本名相似度计算,不同之处,由于指标名列表是由若干个指标名组成的,这里简单对两个列 表的指标名两两计算余弦相似度并进行累加。
[0055] 找到指标名相似度最大的word',该子类c就归入word'下,将分类信息写入集合 CLUSTER,更新word'在MATCHED中的指标值列表,同时将子类c从子类集合中移除。
[0056] 5)对子类集合中余下的子类,直接采用初步分类的结果将短句分类,将分类信息 写入集合CLUSTER。同时,将每个子类的样本名和指标值列表信息写入UNMATCHED集合中。
[0057] 6)输出分类结果集CLUSTER,以及"副产品"集合MATCHED和集合UNMATCHED。
[0058] 经过上述算法,可以得到短句的分类结果集CLUSTER、集合MATCHED和集合 UNMATCHED〇
[0059] 第三步为模板提取。上一步得到的"副产品" 一MATCHED和UNMATCHED中,已经分 别对每个类别的组织器官词和样本名有若干个指标名描述。如图6所示,对每个组织器官 词或样本名,结合分类结果集合CLUSTER和短句集CLAUSE,计算指标名列表中的每个指标 名在短句语料对应子类中的TF值、IDF值和C-value值,筛选出TF值、IDF值和C-value值 满足阈值的指标名,作为最终模板中的成分。这里我们将TF和IDF单独作为统计筛选参数, 而不是按照信息检索中TF-IDF的常用方法将IDF作为TF的权重。不难理解,模板中的指 标名必然是在训练数据集中出现频率高、涉及范围广的字或词,因此应筛选出TF值大于阈 值thresholdTF或者IDF值小于阈值thresholdIDF的指标名;C-value值可以用于解决术 语嵌套问题,因此应筛选出C-value值大于阈值thresholdCvalue的指标名。
[0060] 计算指标名W的TF值的公式如下:
[0062] 其中,Cw为子类中w出现的次数,C为子类中的总词数。
[0063] 计算指标名w的IDF值公式如下:
[0065] 其中,D为子类中的全部短句数,Dw为子类中有w出现的短句数。
[0066] 计算指标名w的C-value值计算公式如下:
[0068] 其中,|w|为w中的字数,f(w)为w在子类中出现的次数,TW为子类中包含指标名 w的所有候选指标名的集合,P (Tw)为集合中候选指标名的数目。
[0069] 如图7所示,模板应用和优化的主要思路是:对新的一句病理文本,先切分短句, 再用短句的第一个文本片段和模板库中的样本名匹配,找到相应的模板。若可以匹配到模 板,则直接调用对应的模板对短句进行结构化,返回结果;若匹配不到模板,则对短句进行 简单处理,如用特殊词库、数量词等进行匹配,返回结果,同时将这句病理文本加入到待处 理库中。当待处理库中的病理文本累积到一定量之后,再次走"短句指标名提取_短句分 类-模板提取"的流程来优化模板。
[0070] 不难发现,本发明中的模板是从训练数据集里提取出来的,因此对此类文本结构 化的准确率较现有的通用方法要高;本发明中提取的模板会被定期优化,以适应最新的数 据结构化需求。
【主权项】
1. 一种中文病理文本结构化处理方法,其特征在于,包括以下步骤: (1) 从病理报告文本数据的样本与指标的层次结构中提取出各个样本所对应的模板信 息; (2) 对模板信息进行提取,包括短句切分和指标名提取;短句分类; (3) 对每个样本结合分类结果集合CLUSTER和短句集CLAUSE,计算指标名列表中的每 个指标名在短句语料中的TF值、IDF值和C-value值,筛选出TF值、IDF值和C-value值满 足阈值的指标名,作为最终模板中的成分。2. 根据权利要求1所述的中文病理文本结构化处理方法,其特征在于,所述步骤(2)中 短句切分是采用正则匹配的方法,当病理报告文本数据中检测到符合正则表达式时进行断 句,从而将病理报告文本数据切分成若干短句。3. 根据权利要求1所述的中文病理文本结构化处理方法,其特征在于,所述步骤(2)的 指标名提取具体包括:(A)样本名的提取:利用开源的分词工具,结合人体组织器官词库以 及样本名出现在短句的第一个文本片段中的规律,对无关文本进行过滤筛选,提取出每个 短句对应的样本名;(B)指标名的提取:将短句按标点符号切分成若干语义上独立的文本 片段,将每个文本片段先用特殊词库匹配和数量词匹配进行筛选,再对匹配失败的文本片 段用统计方法进行处理;最后通过将经过上述操作得到的键值对中的指标名去重合并,得 到每个短句对应的若干指标名。4. 根据权利要求1所述的中文病理文本结构化处理方法,其特征在于,所述步骤(2)中 的短句分类包括: 先对短句集合CLAUSE进行初步分类,将样本名完全相同的短句归为一类,归类后的每 个子类的指标名列表为其所包含的所有短句的指标名列表的去重合并,最后得到经过初步 分类的子类集合CLAUSE_PC; 将初步分类后的每个子类的样本名sn跟组织器官词典DIC中的词word两两计算相似 度,并放到一个二维数组Array中,其中,Arrayij的值是编号为i的子类的样本名和编号为 j的组织器官词典中的词的样本名相似度; 优先处理样本名相似度完全相同的子类:将该子类中的所有短句都被归入组织器官词word下,将分类信息写入分类结果集合CLUSTER,并将该子类从子类集合中移除;处理样本 名相似度值近似的子类:每个子类都能找到零个到多个组织器官词word满足要求,对那些 能够找到至少一个满足要求的组织器官词word的子类,计算该子类的指标名列表和与其 对应的每个组织器官word的指标名列表的指标名相似度,找到指标名相似度最大的组织 器官词word',将该子类c就归入相似度最大的组织器官词word'下,将分类信息写入分类 结果集合CLUSTER,更新相似度最大的组织器官词word'在MATCHED集合中的指标值列表, 同时将该子类c从子类集合中移除; 对子类集合中余下的子类,直接采用初步分类的结果将短句分类,将分类信息写入分 类结果集合CLUSTER,同时,将每个子类的样本名和指标值列表信息写入UNMATCHED集合 中; 输出分类结果集合CLUSTER,以及MATCHED集合和UNMATCHED集合。
【专利摘要】本发明涉及一种中文病理文本结构化处理方法,包括以下步骤:从病理报告文本数据的样本与指标的层次结构中提取出各个样本所对应的模板信息;对模板信息进行提取,包括短句切分和指标名提取;短句分类;对每个样本结合分类结果集合CLUSTER和短句集CLAUSE,计算指标名列表中的每个指标名在短句语料中的TF值、IDF值和C-value值,筛选出TF值、IDF值和C-value值满足阈值的指标名,作为最终模板中的成分。本发明能够将非结构化的中文病理文本结构化。
【IPC分类】G06F17/30
【公开号】CN104899260
【申请号】CN201510260060
【发明人】陈德华, 冯洁莹, 朱立峰, 乐嘉锦, 刘茜茜, 薛瑞东
【申请人】东华大学, 上海交通大学医学院附属瑞金医院
【公开日】2015年9月9日
【申请日】2015年5月20日