法律状态公告日
法律状态信息
法律状态
2017-12-29
授权
授权
2015-05-27
实质审查的生效 IPC(主分类):G06F17/27 申请日:20150120
实质审查的生效
2015-04-29
公开
公开
技术领域
本发明涉及中医药中单味药与疾病之间治疗关系发现领域,是中医药与计算机科学相结 合相交叉的产物,尤其涉及一种基于词向量以及SVM对于治疗关系发现的方法。
背景技术
中医药领域中单味药与疾病之间存在治疗关系这是有据可循的,通过权威书籍和教材都 可以查询得到,然而如何发现更多的治疗关系却一直没有一个有效的方法。随着计算机科学 的飞速发展,机器学习方法的不断深化与完善为解决中医药领域问题提供了新的思路。特别 是词向量的提出,针对每个词都有个向量空间,极大扩展了单词含义,并且单词向量的差值 也有一定含义,为关系发现奠定了基础。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于词向量发现单味药与疾病之间的 治疗关系的方法,利用机器学习的方式来发现中医药领域中药物与疾病之间的治疗关系。
本发明的目的是通过以下技术方案来实现的:一种基于词向量的单味药与疾病之间的治 疗关系的发现方法,包括以下步骤:
(1)对《中华本草》进行OCR处理,提取其主治属性;
(2)对主治属性进行三次预处理,第一次预处理按照标点符号分割,得到第一次候选集; 第二次预处理将第一次得到的候选集中的所有词汇作为关键字访问百度百科、互动百科以及 维基百科,若三者其一包含该关键字的页面,即认为该关键字是某种疾病,加入到疾病集合 中,否则加入第二次候选集中;第三次预处理首先利用语法分析器对第二次候选集的词汇进 行语法分析,找出结果为形容词+名词的形式,将其名词部分作为关键字访问百度百科、互动 百科以及维基百科,若三者其一包含该关键字的页面,即认为该形容词+名词是某种疾病的具 体形式,同样加入到疾病集合中,其余的单词做舍弃处理;经过三次预处理,构造出药与疾 病的治疗关系三元组;
(3)将百科数据利用CRF模型与最长单词匹配方法相组合进行分词,同时过滤掉停用 词、介词和数量词等无用词项,构建词向量的训练集;利用Word2Vec(google的开源工具) 构造出词向量矩阵,即对每一个单词,用一个向量来表示;
(4)针对步骤3得到的三元组,找出药和疾病分别对应的词向量,按照单味药向量减去 疾病向量的方式构造治疗关系的词向量;
(5)将步骤4构造的治疗关系词向量作为训练元组,其向量维数作为SVM的特征空间, 利用SVM进行训练,得到训练模型;
(6)输入单味药和疾病,在步骤3构造的词向量矩阵中找到单味药和疾病分别对应的词 向量,用单味药的词向量减去疾病的词向量得到关系向量作为步骤5训练出的模型的输入, 根据训练模型输出结果判断二者是否含有治疗关系。
本发明的有益效果:本发明从权威书籍中经过三遍处理步骤得到标准“单味药、治疗、 疾病”三元组,利用百度百科数据和google开源工具word2vec训练出词向量,将三元组与 词向量相结合利用SVM分类器进行训练,最终准确的判断了单味药与疾病是否存在治疗关系, 并可以有效的揭示一些隐藏的治疗关系,对于中医药转接有很大的参考价值;同时,所阐述 的方法具有一般性,只要训练数据集准备充分,可以适用于一般关系的挖掘。
附图说明
图1为本发明方法整体流程图;
图2以“紫野苏”为例,第一遍预处理过程图;
图3以“紫野苏”为例,第二遍预处理过程图;
图4以“紫野苏”为例,第三遍预处理过程图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。
如图1所示,本发明一种基于词向量发现单味药与疾病之间的治疗关系的方法,包括以 下步骤:
(1)对《中华本草》进行OCR处理,提取其主治属性;
(2)对主治属性进行三次预处理,第一次预处理按照标点符号分割,得到第一次候选集, 如图2所示,紫叶苏的主治属性为“主暑天感冒;头痛身重;夫汗恶寒;腹痛吐泻;水肿; 疮痈肿毒;蛲虫病;阴道滴虫”,经过第一遍处理之后得到的候选集为“暑天感冒头痛身 重夫汗恶寒腹痛吐泻水肿疮痈肿毒蛲虫病阴道滴虫”;第二次预处理将第一次得到 的候选集中的所有词汇首先访问本地疾病数据库,若存在,则认为该关键字是疾病概念,否 则,作为关键字访问百度百科、互动百科以及维基百科,若三者其一包含该关键字的页面, 即认为该关键字是某种疾病,加入到疾病集合中,同时爬取该词条释义加入至本地数据库中, 否则加入第二次候选集中,如图3所示,百科包括的词汇为“水肿”,“疮痈肿毒”,“蛲 虫病”,这些词汇被加入到疾病集合中,剩余词汇加入到第二次候选集中;第三次预处理首 先利用语法分析器对第二次候选集的词汇进行语法分析,找出结果为名词+动词和名词+名词 的形式,对名词+动词格式的词汇,将其名词部分作为关键字访问百度百科、互动百科以及维 基百科,若三者其一包含该关键字的页面,即认为该名词+动词格式的词汇是某种疾病的具体 形式,加入到疾病集合中,同时爬取该词条释义加入至本地数据库中,对名词+名词格式的词 汇,对每一个名词部分作为关键字访问百度百科、互动百科以及维基百科,若三者其一包含 该关键字的页面,即认为该名词+名词格式的词汇是疾病概念的并列形式,也加入到疾病集合 中同时爬取该词条释义加入至本地数据库中,其余的单词做舍弃处理,如图4所示,“腹痛吐 泻”“暑天感冒”,“头痛身重”,“阴道滴虫”被解析为动词+名词的形式,分别为“腹痛 吐泻”“暑天感冒”“头痛身重”“阴道滴虫”,百科包括的词汇为“吐泻”“感冒”“身 重”“滴虫”因此这四个词汇也被加入到疾病候选集中,剩余的“夫汗恶寒”做丢弃处理; 经过三次预处理,构造出药与疾病的治疗关系三元组;
(3)将百科数据利用CRF模型与最长单词匹配方法相组合进行分词,同时过滤掉停用 词、介词和数量词等无用词项,构建词向量的训练集;利用Word2Vec(google的开源工具) 构造出词向量矩阵,即对每一个单词,用一个向量来表示;
(4)针对步骤3得到的三元组,找出药和疾病分别对应的词向量,按照单味药向量减去 疾病向量的方式构造治疗关系的词向量;
(5)将步骤4构造的治疗关系词向量作为训练元组,其向量维数作为SVM的特征空间, 利用SVM进行训练,得到训练模型;
(6)输入单味药和疾病,在步骤3构造的词向量矩阵中找到单味药和疾病分别对应的词 向量,用单味药的词向量减去疾病的词向量得到关系向量作为步骤5训练出的模型的输入, 根据训练模型输出结果判断二者是否含有治疗关系。也可以输入单味药,模型输出其可能治 疗的疾病,举例如下表:
机译: 分离的多核苷酸,鉴定或扩增和多核苷酸的全部或部分基因型,分离多肽,获得免疫特异性抗体,鉴定一种或多种待测化合物之间的试剂和化合物,分析其生物学特性的方法患者,以预防或治疗与基因组中多核苷酸的存在有关的疾病和病症或疾病,以增加或降低多肽患者的活性,以统计学方式确定至少一种snp是疾病或抗病性以及用于诊断或确定疾病预后或抗病性的重组载体,宿主细胞,多肽,免疫特异性抗体,治疗剂和化合物
机译: 有序数据挖掘数据库的一种方法,以发现数据与预测未来趋势之间的依赖关系
机译: 基于新发现的皱纹和皮肤伤口之间的相似性,治疗皱纹,开发皱纹治疗方法和评估治疗效果的方法