本发明涉及中医药、用药安全技术领域,具体为基于中医药领域专业词向量的中药处方用药安全检测方法。
背景技术:
为了构件专业的中药处方用药安全系统,首先需要构建方药风险信息库,随着互联网技术的快速发展和信息获取的飞速增长,互联网上产生了大量的中医药相关的词条信息,所以,从互联网上抓取中医药相关的词条信息是一种快速构建方药风险信息库的有效途径。随着人们对于从海量词汇中检索目标词汇的需求愈加迫切,通过搜索引擎,如google和百度,都提供了中医药相关的词条信息的检索功能,包括基于文本的词汇检索和基于内容的词汇检索。所以,可以利用通过搜索引擎提供的基于文本的词汇检索功能来快速地构建方药风险信息库,但是直接抓取通过搜索引擎检索的结果,效果并不理想。分析正确中医药相关的词条信息所在的源网页和不正确中医药相关的词条信息所在的源网页,容易发现非目标网页的文本内容与中医药的关系并不大,甚至完全没有关系,由于方药风险信息库构建不完善,导致中药配伍禁忌、毒性和不良反应信息不能够有效准确的获得,使得中药配伍禁忌、毒性和不良反应信息的安全检测风险情况不能够及时得知。
基于此,本发明设计了基于中医药领域专业词向量的中药处方用药安全检测方法,以解决上述提到的问题。
技术实现要素:
本发明的目的在于提供基于中医药领域专业词向量的中药处方用药安全检测方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:基于中医药领域专业词向量的中药处方用药安全检测方法,包括如下步骤:
1)、首先爬取百科网站上中医药相关的词条信息;
2)、提取中药材、方剂的公开信息,进行筛选、过滤、去重,建立本地词料信息库;
3)、将第2步所得的词条去掉停用词,构建word2vec的训练集;
4)、训练word2vec模型,构造词向量矩阵;
5)、对于每一条中药材、方剂词条信息,利用谷歌、百度等通用搜索引擎提供的文本检索功能,获取其配伍禁忌、毒性、不良反应信息和它们所在源网页的内容;
6)、对于第5步中得到的每一个源网页,去掉包括html标签、js代码、css代码的内容,然后利用crf模型与最长单词匹配方法相组合进行分词,去掉停用词,得到源网页的文本信息;
7)、利用第6步所得文本和第4步得到的词向量矩阵训练doc2vec模型,即用第3步的词向量矩阵初始化doc2vec中的词向量矩阵,更新时保持词向量矩阵不变,只更新文档向量,训练完后便得到各源网页的文档向量;
8)、根据各源网页的文档向量与对应的中药材、方剂词向量的余弦相似度对第5步中得到的候选风险信息集进行重排和过滤,选出相似度高于预设阈值的风险信息集,作为候选风险信息集;
9)、加工处理风险信息,进行分词,去除停用词,区分准确度,建立方药风险信息库,库中包含方药的配伍禁忌、毒性、不良反应、适应人群、来源、准确度等信息;
10)、查询方药风险时,根据输入的方药内容,提取方药配伍信息,检索方药风险信息库,进行配伍禁忌匹配,同时进行毒性检测,不良反应检测;
11)、查询患者风险时,根据输入的患者特征,检索方药风险信息库,进行患者配伍禁忌匹配,同时进行毒性检测,不良反应检测。
与现有技术相比,本发明的有益效果是:
(1)充分利用中医药领域在书籍和互联网中已公开信息,全面收集中药配伍禁忌、毒性和不良反应等安全使用文本信息数据库。
(2)对收录的中药配伍禁忌、毒性和不良反应信息进行数据处理,区分信息准确度。
(3)对于用户输入的中药处方信息,能够快速有效的检测出方药的配伍、毒性和不良反应风险情况。
(4)对于处方中的患者信息,能够因人而异,有针对性的检测出个体患者用药的配伍、毒性和不良反应风险情况。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:基于中医药领域专业词向量的中药处方用药安全检测方法,包括如下步骤:
1)、首先爬取百科网站上中医药相关的词条信息;
2)、提取中药材、方剂的公开信息,进行筛选、过滤、去重,建立本地词料信息库;
3)、将第2步所得的词条去掉停用词,构建word2vec的训练集;
4)、训练word2vec模型,构造词向量矩阵;
5)、对于每一条中药材、方剂词条信息,利用谷歌、百度等通用搜索引擎提供的文本检索功能,获取其配伍禁忌、毒性、不良反应信息和它们所在源网页的内容;
6)、对于第5步中得到的每一个源网页,去掉包括html标签、js代码、css代码的内容,然后利用crf模型与最长单词匹配方法相组合进行分词,去掉停用词,得到源网页的文本信息;
7)、利用第6步所得文本和第4步得到的词向量矩阵训练doc2vec模型,即用第3步的词向量矩阵初始化doc2vec中的词向量矩阵,更新时保持词向量矩阵不变,只更新文档向量,训练完后便得到各源网页的文档向量;
8)、根据各源网页的文档向量与对应的中药材、方剂词向量的余弦相似度对第5步中得到的候选风险信息集进行重排和过滤,选出相似度高于预设阈值的风险信息集,作为候选风险信息集;
9)、加工处理风险信息,进行分词,去除停用词,区分准确度,建立方药风险信息库,库中包含方药的配伍禁忌、毒性、不良反应、适应人群、来源、准确度等信息;
10)、查询方药风险时,根据输入的方药内容,提取方药配伍信息,检索方药风险信息库,进行配伍禁忌匹配,同时进行毒性检测,不良反应检测;
11)、查询患者风险时,根据输入的患者特征,检索方药风险信息库,进行患者配伍禁忌匹配,同时进行毒性检测,不良反应检测。
其中,第4步,训练word2vec模型采用基于cbow模型,包括输入层、投影层和输出层,输入层由2c个单词的词向量v(context(w)1),...,v(context(w)i),…,v(context(w)2c)构成,其中context(w)表示单词w的上下文,即其前后各c个单词,投影层由对输入层的2c个单词的词向量做累加求和得到,即
其中,
σ(.)表示sigmoid函数,其表达式是
将上述公式代入对数似然函数
上式即为cbow模型的目标函数,采用随机梯度上升法来更新模型参数,即:每取一个样本(context(w),w),就对目标函数的所有相关参数做一次更新,具体步骤如下:
3.1)计算梯度
其计算公式为,接下来考虑ζ(w,j)关于xw的梯度,可以求得:
3.2)更新
其中,η表示学习率;
3.3)计算梯度
其计算公式为:
3.4)更新词向量v(w’),更新公式如下:
3.5)重复上述3.1)到3.4)步,直到模型训练结束。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。