本发明公开了一种基于在线医疗问答信息的文本挖掘方法,所述文本挖掘方法包括以下步骤:采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取;在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别;通过医疗命名实体识别对医疗实体关系进行挖掘。本方法可以有效获取各类实体之间潜在的关联关系。该方法适用于所有疾病类别的挖掘工作,而且具有一定的可扩展性。
1.一种基于在线医疗问答信息的文本挖掘方法,其特征在于,所述文本挖掘方法包括以下步骤:
采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取;
在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别;
通过医疗命名实体识别对医疗实体关系进行挖掘,即:
基于关联规则的实体关系挖掘方法和基于相似度计算的实体关系挖掘方法;
所述基于关联规则的实体关系挖掘方法具体为:
通过医疗命名实体识别从每一篇问答信息中抽取出各类目标实体,汇总并人工合并具有相同语义概念、以及同一类别下过于细化的目标实体,针对每一个目标实体进行编号;
根据每一篇问答信息中目标实体出现的情况将每一篇问答都转换成一个N维的向量,采用关联规则算法获取具有较高置信度和支持度的规则,即获得关联紧密的实体对;
所述基于相似度计算的实体关系挖掘方法具体为:
计算文本共现相似度,计算词语相似度;通过所述文本共现相似度、所述词语相似度获取实体相似度,并排序。
2.根据权利要求1所述的一种基于在线医疗问答信息的文本挖掘方法,其特征在于,在所述采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤之前,所述文本挖掘方法还包括:
面对公开的web数据,调研医疗的相关网站,分析并确定爬取链接、网页数据规模的具体情况,然后采用网络爬虫进行网页数据的爬取。
3.根据权利要求1所述的一种基于在线医疗问答信息的文本挖掘方法,其特征在于,在所述采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤具体为:
1)分析网页特点,找到目标内容的特有标签或者路径,针对各类网页设计对应的模板;
2)设计网页数据的存储格式;
3)编写程序抽取所需网页数据。
4.根据权利要求1所述的一种基于在线医疗问答信息的文本挖掘方法,其特征在于,在所述在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别的步骤具体为:
条件随机场模型的特征如下:
1)符号特征,分词后的词语本身;
2)词性特征,词性标注器所标注的多种词性;
3)形态特征,当前词的构成情况,包括:英文字母特征和数字特征;
4)后缀特征,当前词语的最后一个字;
5)身体部位指示词特征,标记当前词是否为身体部位有关的词语;
6)上下文特征,在目标实体附近会出现与实体类别相关的指示词;
所述医疗命名实体识别为监督学习的方法,通过人工标注数据进行条件随机场模型的训练,数据标注采用BIO模型,进行特征计算之后,将特征值和标注标签输入条件随机场模型进行训练。
5.根据权利要求4所述的一种基于在线医疗问答信息的文本挖掘方法,其特征在于,在标注完成之前,所述方法还包括:对问答文本的预处理。
6.根据权利要求5所述的一种基于在线医疗问答信息的文本挖掘方法,其特征在于,所述对问答文本的预处理的步骤具体为:
过滤掉没有回答的提问;将所有出现的英文字符转换为小写;
保留标点符号,并将文本空格替换为中文逗号;
采用标注数据训练,即可获得医疗命名实体识别的有效条件随机场模型。
技术领域
[0001]本发明涉及文本挖掘领域,尤其涉及一种基于在线医疗问答信息的文本挖掘方法。
背景技术
[0002]近来,随着互联网的飞速发展,各种社交媒体大量涌现,在健康相关的医疗领域,出现了许多在线疾病问答网站,它们为患者提供了更多元化的医疗信息获取渠道。这些网站主要以健康知识,疾病信息,医疗新闻等为主要内容,同时也提供用户在线疾病问答功能。在国内,比较知名的有新浪健康、寻医问药、好大夫在线、39问医生等网站中,包含了许多疾病问答信息,然而这些问答信息在文本中处于一种非结构化的状态。为了实现问答信息的充分利用,抽取和挖掘出有用的医疗知识,进行命名实体识别通常是第一步。这样的数据有着广泛的参与人群,包含了大量真实的个人案例,潜藏着丰富的医疗价值。
[0003]提高信息的利用率,充分挖掘其中潜藏的知识信息,可以为将来医疗知识的构建,医疗水平的提升,人们生活的改善有着很大帮助。目前,在医疗领域,针对电子病历、各种医疗报告、医学文献等的实体识别工作已有不少,但针对医疗问答网站中的疾病问答信息尚未见到相关研究。
发明内容
[0004]本发明提供了一种基于在线医疗问答信息的文本挖掘方法,本发明通过从网络上获取疾病相关的问答信息,抽取出问答文本并进行实体识别和关系挖掘,可以有效地识别出在线问答信息中的医疗名词实体,并挖掘出各类实体之间潜藏的相关关系,详见下文描述:
[0005]一种基于在线医疗问答信息的文本挖掘方法,所述文本挖掘方法包括以下步骤:
[0006]采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取;
[0007]在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别;
[0008]通过医疗命名实体识别对医疗实体关系进行挖掘。
[0009]在所述采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤之前,所述文本挖掘方法还包括:
[0010]面对公开的web数据,调研医疗的相关网站,分析并确定爬取链接、网页数据规模的具体情况,然后采用网络爬虫进行网页数据的爬取。
[0011]在所述采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤具体为:
[0012]1)分析网页特点,找到目标内容的特有标签或者路径,针对各类网页设计对应的模板;
[0013]2)设计网页数据的存储格式;
[0014]3)编写程序抽取所需网页数据。
[0015]在所述在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别的步骤具体为:
[0016]条件随机场模型的特征如下:
[0017]1)符号特征,分词后的词语本身;
[0018]2)词性特征,词性标注器所标注的多种词性;
[0019]3)形态特征,当前词的构成情况,包括:英文字母特征和数字特征;
[0020]4)后缀特征,当前词语的最后一个字;
[0021]5)身体部位指示词特征,标记当前词是否为身体部位有关的词语;
[0022]6)上下文特征,在目标实体附近会出现与实体类别相关的指示词;
[0023]所述医疗命名实体识别为监督学习的方法,通过人工标注数据进行条件随机场模型的训练,数据标注采用BIO模型,标注完成后将各列特征转化成条件随机场模型输入所需格式。
[0024]其中,在标注完成之前,所述方法还包括:对问答文本的预处理。
[0025]所述对问答文本的预处理的步骤具体为:
[0026]过滤掉没有回答的提问;将所有出现的英文字符转换为小写;
[0027]保留标点符号,并将文本空格替换为中文逗号;
[0028]采用标注数据训练,即可获得医疗命名实体识别的有效条件随机场模型。
[0029]其中,所述通过医疗命名实体识别对医疗实体关系进行挖掘的步骤具体为:
[0030]基于关联规则的实体关系挖掘方法和基于相似度计算的实体关系挖掘方法。
[0031]其中,所述基于关联规则的实体关系挖掘方法具体为:
[0032]通过医疗命名实体识别从每一篇问答信息中抽取出各类目标实体,汇总并人工合并具有相同语义概念、以及同一类别下过于细化的目标实体,针对每一个目标实体进行编号;
[0033]根据每一篇问答信息中目标实体出现的情况将每一篇问答都转换成一个N维的向量,采用关联规则算法获取具有较高置信度和支持度的规则,即获得关联紧密的实体对。
[0034]其中,所述基于相似度计算的实体关系挖掘方法具体为:
[0035]计算文本共现相似度,计算词语相似度;通过所述文本共现相似度、所述词语相似度获取实体相似度,并排序。
[0036]本发明提供的技术方案的有益效果是:本发明可以充分利用互联网上大量的公开数据进行医疗知识的发现。通过利用标注数据进行模型训练,可以得到实体识别的有效模型,进而对大量医疗实体进行自动识别。在医疗实体关系挖掘上,提出了综合考虑实体共现关系和实体语义关联的关系挖掘方法,通过该方法可以有效获取各类实体之间潜在的关联关系。该方法适用于所有疾病类别的挖掘工作,而且具有一定的可扩展性,将来可以考虑添加更多的特征线索。
附图说明
[0037]图1为基于在线医疗问答信息的文本挖掘方法的流程图;
[0038]图2为基于DOM和网页模板的信息抽取过程的示意图;
[0039]图3为问答数据设计的存储格式的示意图。
具体实施方式
[0040]为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
[0041]一种基于在线医疗问答信息的文本挖掘方法,包括:在线医疗问答数据获取,疾病问答中的医疗命名实体识别,医疗实体关系挖掘。其中,数据获取包括网络数据的定向爬取和疾病问答信息的抽取。疾病问答中的医疗命名实体识别,包括实体类别的定义,识别模型选择和特征设计。医疗实体关系挖掘,包括基于关联规则的实体关系挖掘方法和基于相似度计算的实体关系挖掘方法,下面结合具体的附图对本方案进行详细说明。
[0042]实施例1
[0043]101:采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取;
[0044]102:在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别;
[0045]103:通过医疗命名实体识别对医疗实体关系进行挖掘。
[0046]在步骤101采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤之前,该文本挖掘方法还包括:
[0047]面对公开的web数据,调研医疗的相关网站,分析并确定爬取链接、网页数据规模的具体情况,然后采用网络爬虫进行网页数据的爬取。
[0048]其中,步骤101中的采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取的步骤具体为:
[0049]1)分析网页特点,找到目标内容的特有标签或者路径,针对各类网页设计对应的模板;
[0050]2)设计网页数据的存储格式;
[0051]3)编写程序抽取所需网页数据。
[0052]其中,步骤102中的在提取的疾病问答信息中通过条件随机场模型的特征,进行医疗命名实体识别的步骤具体为:
[0053]条件随机场模型的特征如下:
[0054]1)符号特征,分词后的词语本身;
[0055]2)词性特征,词性标注器所标注的多种词性;
[0056]3)形态特征,当前词的构成情况,包括:英文字母特征和数字特征;
[0057]4)后缀特征,当前词语的最后一个字;
[0058]5)身体部位指示词特征,标记当前词是否为身体部位有关的词语;
[0059]6)上下文特征,在目标实体附近会出现与实体类别相关的指示词;
[0060]医疗命名实体识别为监督学习的方法,通过人工标注数据进行条件随机场模型的训练,数据标注采用BIO模型,标注完成后将各列特征转化成条件随机场模型输入所需格式。
[0061]其中,在标注完成之前,该方法还包括:对问答文本的预处理。
[0062]其中,对问答文本的预处理的步骤具体为:
[0063]过滤掉没有回答的提问;将所有出现的英文字符转换为小写;
[0064]保留标点符号,并将文本空格替换为中文逗号;
[0065]采用标注数据训练,即可获得医疗命名实体识别的有效条件随机场模型。
[0066]其中,步骤103中的通过医疗命名实体识别对医疗实体关系进行挖掘的步骤具体为:
[0067]基于关联规则的实体关系挖掘方法和基于相似度计算的实体关系挖掘方法。
[0068]进一步地,基于关联规则的实体关系挖掘方法具体为:
[0069]通过医疗命名实体识别从每一篇问答信息中抽取出各类目标实体,汇总并人工合并具有相同语义概念、以及同一类别下过于细化的目标实体,针对每一个目标实体进行编号;
[0070]根据每一篇问答信息中目标实体出现的情况将每一篇问答都转换成一个N维的向量,采用关联规则算法获取具有较高置信度和支持度的规则,即获得关联紧密的实体对。
[0071]进一步地,基于相似度计算的实体关系挖掘方法具体为:
[0072]计算文本共现相似度,计算词语相似度;通过所述文本共现相似度、所述词语相似度获取实体相似度,并排序。
[0073]实施例2
[0074]201:网络疾病问答数据的获取与内容抽取;
[0075]由于该医疗信息分析挖掘方法主要面向在线医疗问答展开,试图将问答数据中包含的医疗知识结构化,因此,首要任务就是网络疾病问答数据的获取。
[0076]具体步骤如下:面对公开的web数据,首先调研医疗的相关网站,分析并确定爬取链接、网页数据规模的具体情况,然后采用网络爬虫进行网页数据的爬取。随后,采用基于DOM和网页模板的网络数据抽取方式对已获取的原网页进行疾病问答信息的提取。
[0077]其中,参见图2,基于DOM和网页模板的网络数据抽取主要包括以下步骤:
[0078]1)分析网页特点,提取特征信息(即,找到目标内容的特有标签或者路径),针对各类网页设计对应的模板(如果网站有更新,模板同时也需要更新),也即各个模块(目标内容所在的页面部分)的获取方法;
[0079]2)设计网页数据的存储格式(网页数据的存储采用可扩展标记语言(ExtensibleMarkup Language,XML));
[0080]具体的设计流程为本领域技术人员所公知,参见图3,为针对好大夫的问答数据设计的存储格式,主要储存页面的url信息、疾病种类、病人提问和医生回答的具体情况。
[0081]3)编写程序抽取所需网页数据。
[0082]具体说来,首先将网页解析为html解析树,然后根据设计的网页模板对html解析树进行修剪,最终获得目标内容并将其储存为上述格式。
[0083]202:疾病问答中的医疗命名实体识别;
[0084]识别目标是从问答信息中抽取出与疾病相关的医疗概念和信息。针对在线医疗问答信息,定义了五类目标命名实体:疾病、症状、药品、治疗方法和医疗检查。命名实体识别采用目前比较流行的条件随机场模型进行,条件随机场模型的特征设计如下:
[0085]1)符号特征
[0086]指分词后的词语本身。
[0087]例如下面一句分词后的句子,“10/年/开始/服用/索拉菲尼”,“服用”、“索拉菲尼”等每个分词词语就作为其中一维特征。为了使分词结果更为准确有效,分词时引入自定义医药词典,包括ICD-10和从各输入法获取的医药词典。
[0088]2)词性特征
[0089]通常采用的词性特征为词性标注器所标注的多种词性。例如ansj分词系统中包括的名词n、动词v、连词c、标点符号w、形容词a等多种词性。
[0090]3)形态特征
[0091]该形态特征指的是当前词的构成情况,具体包括两个特征:英文字母特征和数字特征。英文字母特征用于标记词当中是否包含有英文字母,数字特征用于标记该词是否由数字构成。例如词语“ct”、“MRI”中包括英文字母,就将其英文字母特征标记为1,句子“早晚/一次/20/mg”中,词语“20”由数字构成,就将其数字特征标记为1。
[0092]4)后缀特征
[0093]此处后缀特征,指当前词语的最后一个字。例如词语“替米沙坦片”中“片”字就作为其后缀特征。
[0094]5)身体部位指示词特征
[0095]用于标记当前词是否为身体部位有关的词语,是则记为’y’,否则记为’n’。例如在句子“背部/疼痛/,/弯腰/疼痛/强烈/。”中,“背部”就是一个身体部位相关的词语,因此将该特征标记为“y”。
[0096]6)上下文特征
[0097]在词语组成的序列中,上下文之间是存在相关性的,在目标实体附近可能会出现与实体类别相关的指示词。该特征也即条件随机场(CRF)模型中的边的特征,当选用不同的窗口长度时,将对各种特征进行组合形成新的特征。
[0098]该医疗命名实体识别方法为监督学习的方法,需要有一定量的人工标注数据进行CRF模型的训练。数据标注采用BIO模型[1],它可以将分块转化为序列标记确定问题。标注完成后将各列特征转化成CRF模型输入所需格式。标注之前先进行问答文本的预处理,即:
[0099]过滤掉没有回答的提问。因为没有回答的提问对于研究意义不大,包含的信息量也不够充足。
[0100]将所有出现的英文字符转换为小写。
[0101]保留标点符号,并将文本空格替换为中文逗号。
[0102]采用标注数据训练,即可获得医疗命名实体识别的有效CRF模型。
[0103]203:医疗实体关系挖掘。
[0104]医疗实体关系挖掘包括两种方法:基于关联规则的实体关系挖掘方法和基于相似度计算的实体关系挖掘方法。
[0105]基于关联规则的实体关系挖掘方法,主要步骤为:采用步骤202中的医疗命名实体识别从每一篇问答信息中抽取出各类目标实体,汇总并人工合并具有相同语义概念和同一类别下过于细化的目标实体,针对每一个目标实体进行编号(若目标实体分布出现严重的长尾分布,可以选择出现次数较多的目标实体进行分析挖掘),假设最大编号值为N。
[0106]根据每一篇问答信息中实体出现的情况将每一篇问答都转换成一个N维的向量,采用关联规则算法获取其中具有较高置信度和支持度的规则,即获得关联紧密的实体对。该方法主要利用的是目标实体在同一篇问答文本中的共现关系。
[0107]例如,针对好大夫在线采集的五类疾病(胃炎、肺癌、高血压、糖尿病、哮喘)共4315条问答信息进行医疗命名实体识别,得到实体数目如下表所示。由于不同实体的出现次数情况具有严重的长尾分布,只选取了每类实体前100个进行分析挖掘,并进行了语义概念的合并,如将“小细胞肺癌”、“非小细胞肺癌”、“周围型肺癌”、“肺腺癌”等合并后对应到了同一个语义概念“肺癌”上(即将同一类别下过于细化的目标实体合并)。
[0108]表1 实体关系挖掘数据集各类实体数目情况
[0109]实体类别检查疾病药物症状治疗方法实体数目1309248840202414876
[0110]设置最小支持度为15%,最小置信度为20%进行关联规则挖掘,得到结果整理后如表所示:
[0111]表2 关联规则结果
[0112]
[0113]基于相似度计算的实体关系挖掘方法,除考虑了文本共现关系之外,还考虑了实体名词之间的语义关联,具体步骤如下:
[0114]1)文本共现相似度计算;
[0115]该方法主要通过建立实体共现矩阵并进行归一化实现。具体步骤为,首先建立每个医疗命名实体与问答信息的对应矩阵M,其中,E为医疗命名实体总数目,C为问答信息的总条数,为实数集。用形式化语言描述就是:
[0116]
[0117]其中,Mij为标记了医疗命名实体在各个问答中的情况。矩阵M中每一行对应了包括这一医疗命名实体的所有问答,而每一列就对应了一条问答信息。利用M进行矩阵运算,就可以得到医疗命名实体之间的共现关系矩阵:
[0118]G=M·MT………………………………...(2)
[0119]T为转置。
[0120]采用线性函数对G进行归一化,得到新的矩阵即作为文本共现相似度simco-occur。
[0121]
[0122]simco-occur=G*……………………………(4)
[0123]其中,Gij为G中的元素;为Gij归一化后的值,max_G和min_G分别代表矩阵G中的最大值和最小值,矩阵G*为各实体在文本中的共现相似度。
[0124]2)词语相似度计算;
[0125]词语相似度通过深度学习工具Word2Vec进行计算。对Word2Vec采用医疗相关文本进行模型训练,例如,医疗新闻文本。随后利用Word2Vec就可以计算出任意两医疗实体之间的距离,将结果用矩阵进行表示,为方便后续进行整合,这里矩阵的每行每列的实体都与文本共现相似度结果对应。计算得到的余弦相似度就作为实体之间的词语相似度simword。
[0126]3)实体相似度计算和排序。
[0127]最终的实体相似度采用文本共现相似度和词语相似度综合考虑的结果:
[0128]sim=α·simco-occur+(1-α)·simword………………(5)
[0129]其中,α作为两个相似度的权重可以自行设定。为方便观察,将相似度进一步归一化为0到1之间。随后进行排序,相似度较高的即为联系比较紧密的实体。
[0130]该方法的一个示例,如针对好大夫在线的4340条问答信息,经CRF模型进行实体识别之后,关注了出现次数较多的500个实体,其中包括了疾病、症状、药物、治疗方法和检查各100个实体。首先计算这500个实体的文本共现相似度,采用了数据分析处理工具matlab进行处理。随后利用了word2vec工具计算实体词语的相似度,word2vec采用了来自新浪健康和医药界的新闻数据作为训练文本集合。当α取0.5时,按照相似度由大到小排序,选取前十条实验结果如下:
[0131]表格3 实体相似度结果前十(由大到小排序)
[0132]排序实体1实体2相似度1D_哮喘S_咳嗽12C_血压D_高血压0.9446223C_血糖D_糖尿病0.8709024S_咳嗽S_气喘0.761665D_肺癌T_化疗0.6986286C_血糖M_胰岛素0.693187D_哮喘D_鼻炎0.6797768T_化疗T_放疗0.6754039D_哮喘S_气喘0.66916410D_糖尿病M_胰岛素0.645183
[0133]表格中实体前面的英文字母代表实体的类别,C、D、M、S、T分别代表检查、疾病、药物、症状和治疗方法。
[0134]通过该实验可以看出本方法的可行性,满足了实际应用中的多种需要;适用于所有疾病类别的挖掘工作,而且具有一定的可扩展性,将来可以考虑添加更多的特征线索。
[0135]参考文献
[0136][1]Erik F,Tjong Kim Sang,Sabine Buchholz.Introductionto the CoNLL-2000shared task:chunking[C]∥CoNLL-2000and LLL-2000.Lisbon
[0137]本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0138]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。