首页> 中国专利> 中文词库的构建方法、中文词库及应用

中文词库的构建方法、中文词库及应用

摘要

本发明公开了一种中文词库的构建方法、中文词库及应用,方法包括:S1.1.对语料集进行预处理,将语料集中的每个句子划分为分句词,基于多叉树方法由所述分句词生成精简词词库;S1.2.计算所述精简词词库中词的完整性概率,构建细分领域精简词词库,所述细分领域精简词词库中的词为所述完整性概率小于预设阈值的词;S1.3.对于每个句子的分句词,以所述细分领域精简词词库中的词作为分界线,将所述分句词进行分割,以分割后得到词生成细分领域模式匹配词库。具有词库构建方便、高效,特征提取可靠等优点。

著录项

  • 公开/公告号CN112989798A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 中南大学;

    申请/专利号CN202110310939.8

  • 发明设计人 何世文;章桐;

    申请日2021-03-23

  • 分类号G06F40/211(20200101);G06F40/284(20200101);G06F40/289(20200101);

  • 代理机构43008 湖南兆弘专利事务所(普通合伙);

  • 代理人蒋维特

  • 地址 410083 湖南省长沙市麓山南路932号

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明涉及中文文本结构化处理技术领域,尤其涉及中文词库的构建方法、中文词库及应用。

背景技术

信息技术的迅猛发展带动了全国各行各业的信息化建设,国家政策的支持为各行各业的信息系统的建立打下了坚实的基础;由此带来了大量的专业领域数据,而其中由中文文本数据构成的语料集受到了广泛的关注。语料集是在生产活动中产生的重要信息资源,其可以是社交网络中大量的评论数据,也可以是购物网站客服中心的客户服务数据。从纷繁复杂的语料集中挖掘出有价值的信息将大大推动各行各业的发展。

许多数据挖掘工作需要用到结构化数据,而半结构化的文本数据需要首先进行结构化。因此,文本数据结构化是文本数据挖掘的基础。而文本数据结构化的基础是专业领域词库的构建:但专业领域词库的构建面临两大挑战,一是没有可以利用的现成标准词库;二是文本内容通常结构松散且文字的表达形式多样化。

目前的专业领域词库构建的方式主要包括人工的方式,或者半监督学习的方式构建词库、用网络爬虫方式提取专业网站上的词标签来构建词库,或者根据短句中每两个字之间的相对位置和出现频次构建链接关系来构成分词识别词库。这些词库的构建方法未能有效地利用语料集中多词间包含与被包含的共性特征。

数据结构中树实现了方便快捷的层次查找。如果允许树的每个节点可以有两个以上的子节点,那么这个树就称为多叉树。通过多叉树的数据结构,人们能够得到多词间包含与被包含的层级关系拓扑图。因此,本发明从中文语料集中多词间的层级对应关系出发,提出一种基于多叉树的中文词库系统构建及文本特征提取方法,应用于文本结构化处理领域,可以提高语料集结构化处理的效率,对于专业领域数字化系统的建设具有很重要的现实意义。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种词库构建方便、高效,特征提取可靠的中文词库的构建方法、中文词库及应用。

为解决上述技术问题,本发明提出的技术方案为:一种中文词库的构建方法,包括如下步骤:

S1.1.对语料集进行预处理,将语料集中的每个句子划分为分句词,基于多叉树方法由所述分句词生成精简词词库;

S1.2.计算所述精简词词库中词的完整性概率,构建细分领域精简词词库,所述细分领域精简词词库中的词为所述完整性概率小于预设阈值的词;

S1.3.对于每个句子的分句词,以所述细分领域精简词词库中的词作为分界线,将所述分句词进行分割,以分割后得到词生成细分领域模式匹配词库。

进一步地,还包括对所述细分领域精简词词库进行扩充的步骤S1.4:

针对每个句子的分句词,按照所述分句词的排列顺序,提取处于第一类型词与第二类型词之间,且不属于细分领域精简词词库中的分句词,来扩充所述细分领域精简词词库,所述第一类型词和所述第二类型词之间的分句词不属于第一类型词或第二类型词;

所述第一类型词属于分句词,且所述分句词不包含细分领域精简词词库中的词,或者包含细分领域模式匹配词库中的词;

所述第二类型词属于分句词,且所述分句词中包含有所述细分领域模式匹配词库中的词。

进一步地,所述步骤S1.1包括:

S1.1.1.通过正则表达式匹配方法除去语料集的句子中的预设不相关内容;

S1.1.2.对语料集中的句子进行分割得到分句词,去重后生成分句词词库;

S1.1.3.通过所述分句词词库中分句词之间的包含与被包含的层级对应关系构建多叉树,去重后生成多叉树词库;

S1.1.4.从所述多叉树词库中选择满足预设标准的词,去重后生成精简词词库。

进一步地,步骤S1.1.4中,所述预设标准包括如下任一项:

该词为所述多叉树根节点上的词;

或者:该词为节点数大于1的多叉树根节点上的词;

或者:该词为多叉树根节点上的词,且该词在语料集中出现次数大于1的词;

或者:该词为多叉树根节点上的词作为完整的分句词,该完整的分句词不包含于其它分句词内,且该完整的分句词在语料集中出现次数大于1的词。

进一步地,步骤S1.2中所述完整性概率为,所述精简词词库中的词作为完整的分句词在所述语料集中出现的次数与其在所述词料集中出现的总次数的比值;所述完整的分句词指该词不包含在其它分句词内。

一种中文词库,包含细分领域精简词词库和细分领域模式匹配词库;所述细分领域精简词词库和所述细分领域模式匹配词库根据如上任一项所述构建方法而构建。

一种文本特征提取方法,包括如下步骤:

S2.1.将待处理文本进行分割,得到待处理文本的分句词;

S2.2.判断所述待处理文本的分句词中包含有细分领域精简词词库中的词,则将该分句词作为该细分领域的细分领域分句词;

S2.3.将所述细分领域分句词与细分领域模式匹配词库进行匹配,得到待处理文本的总体特征;将所述待处理文本的分句词与所述细分领域精简词词库匹配,得到待处理文本的总体精简特征;

所述细分领域精简词词库为如上所述的细分领域精简词词库;

所述细分领域模式匹配词库为如上所述的细分领域模式匹配词库。

进一步地,步骤S2.3包括:总体特征提取和总体精简特征提取;

总体特征提取包括:

按照细分领域将所述细分领域分句词的排列顺序组成的列表,不间断、不重叠的提取其中第一子队列、和/或第二子队列、和/或第三子队列;

所述第一子队列中,所有细分领域分句词均为第三类型词;

所述第二子队列中,除最后一个细分领域分句词为第三类型词,其余细分领域分句词均为第四类型词;

所述第三子队列中,所有细分领域分句词均为第四类型词,且所述第三子队列最多只有一个,且位于所述列表的末端;

所述第三类型词中,包含该所述细分领域模式匹配词库中的词;

所述第四类型词中,不包含该所述细分领域模式匹配词库中的词;

对于所述第一子队列,提取其中的第三类型词作为总体特征词;

对于所述第二子队列,提取其中的第四类型词与第三类型词组合而成的词作为总体特征词;

对于所述第三子队列,提取其中的第四类型主词作为总体特征词;

全部总体特征词构成所述待处理文本的总体特征;

总体精简特征提取包括:

判断所述待处理文本的分句词中是否包含该细分领域精简词词库中的词,是则将该细分领域精简词词库中的词作为该所述待处理文本的分句词的精简特征词;全部精简特征词构成所述待处理文本的总体精简特征。

一种文本特征提取系统,包括处理器和存储器,所述处理器用于执行所述存储器中的计算机程序,所述存储器中存储有被执行时可实现如上所述文本特征提取方法的程序。

与现有技术相比,本发明的优点在于:

1、本发明的中文词库构建方法,以真实语料集进行处理构建词库,有利于回溯语料集中的真实案例;通过多叉树的数据结构,可以将多词间的包含与被包含的层级关系通过多叉树拓扑图对应起来,节省了标记分析多词间关系的时间与工作,提高了词库构建的效率;同时,本发明可以构建细分领域的精简词词库和匹配词词库,有利于组合细分领域词库中的词构成组合特征。

2、本发明基于所构建的细分领域精简词词库和细分领域匹配词词库对文本进行特征提取,可以有效分析多词间的对应关系,可有效提高特征提取的准确性和提取效率;特别适用于医学领域中不同科室、不同疾病的语料集文本特征方面的分析。

附图说明

图1为节点关联关系结构示意图。

图2为多叉树结构示意图。

图3为本发明具体实施例的流程示意图。

图4为本发明具体实施例的词库构建流程示意图。

图5为本发明具体实施例的细分领域精简词词库、细分领域模式匹配词库构建流程示意图。

图6为本发明具体实施例文本特征提取流程示意图。

图7为本发明具体实施例中以“冲动”为根节点的多叉树拓扑图。

图8为本发明具体实施例中以“伤人”为根节点的多叉树拓扑图。

图9为本发明具体实施例中以“毁物”为根节点的多叉树拓扑图。

图10为本发明具体实施例中用于对医疗主诉句子进行症状特征提取的数据流图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

首先对本发明所涉及的理论基础进行解释说明:在某些语料集中,通过连词、标点符号等分隔符对句子进行分句,能够将词从句子中区分出来。但语料集中存在着多个词连写,没有用连词、标点符号等分隔符对句子进行分句。通过多叉树的构建能够将多词间包含与被包含的层级对应关系抽取出来,进而能够快速识别语料集中的不被其它词所包含的多叉树根节点上的词,称为精简词。精简词能够指代多叉树中其它词包含的一些关键特征。

具体说明示例如图1所示:将A、B、C、D、E节点对应到不同的词,也可以视为不同的集合,每个不可继续细分的词作为集合的元素;E词中存在D词,即D集合是E集合的子集;D词中存在B词和C词,即B集合和C集合是D集合的子集;B词和C词中共同存在A词,即A集合是B集合的子集,A集合是C集合的子集;通过这些关系可得到A、B、C、D、E这些词之间包含与被包含的层级关系。推导集合与集合之间的包含关系,公式如下:

其中,∩为交集符号,

本实施例的中文词库的构建方法,如图3和图4所示,包括如下步骤:S1.1.对语料集进行预处理,将语料集中的每个句子划分为分句词,基于多叉树方法由分句词生成精简词词库;S1.2.计算精简词词库中词的完整性概率,构建细分领域精简词词库,细分领域精简词词库中的词为完整性概率小于预设阈值的词;S1.3.对于每个句子的分句词,以细分领域精简词词库中的词作为分界线,将分句词进行分割,以分割后得到词生成细分领域模式匹配词库。本实施例中的细分领域精简词词库和细分领域模式匹配词库仅为词库的命名,并不因此而限制本发明的保护范围。

在本实施例中,步骤S1.1包括:S1.1.1.通过正则表达式匹配方法除去语料集的句子中的预设不相关内容;S1.1.2.对语料集中的句子进行分割得到分句词,去重后生成分句词词库;S1.1.3.通过分句词词库中分句词之间的包含与被包含的层级对应关系构建多叉树,去重后生成多叉树词库;S1.1.4.从多叉树词库中选择满足预设标准的词,去重后生成精简词词库。

在本实施例中,步骤S1.1.4中,预设标准包括如下任一项:该词为多叉树根节点上的词;或者:该词为节点数大于1的多叉树根节点上的词;或者:该词为多叉树根节点上的词,且该词在语料集中出现次数大于1的词;或者:该词为多叉树根节点上的词作为完整的分句词,该完整的分句词不包含于其它分句词内,且该完整的分句词在语料集中出现次数大于1的词。在本实施例中,以上四个标准可以根据实际情况任意选择其中一个标准使用,当然,也可以根据需要构建以上四个标准之外的新的标准,来调整所生成的精简词词库的大小。

在本实施例中,步骤S1.2中完整性概率为,精简词词库中的词作为完整的分句词在语料集中出现的次数与其在词料集中出现的总次数的比值;完整的分句词指该词不包含在其它分句词内。

在本实施例中,还包括对细分领域精简词词库进行扩充的步骤S1.4:针对每个句子的分句词,按照分句词的排列顺序,提取处于第一类型词与第二类型词之间,且不属于细分领域精简词词库中的分句词,来扩充细分领域精简词词库,第一类型词和第二类型词之间的分句词不属于第一类型词或第二类型词;第一类型词属于分句词,且分句词不包含细分领域精简词词库中的词,或者包含细分领域模式匹配词库中的词;第二类型词属于分句词,且分句词中包含有细分领域模式匹配词库中的词。

在本实施例中,如图5所示,对细分领域精简词词库进行扩充的具体实现算法可以根据需要而选择,本实施例中所采用的算法描述如下:

设置细分领域临时精简词词库,并初始化为空;语料集中的每个句子经划分为分句词后,每个句子的分句词对应为一个分句词列表,表示为Xi(i∈N*,i≤m),其中,i代表语料集中的句子编号,m代表语料集的句子条数,N*为正整数。分句词列表Xi中可包含有多个分句词,当然,也可能存在分句词列表为空情形;对于每个分句词列表,执行如下算法:

SA1、判断分句词列表Xi是否为空,如果为空,则直接结束,否则跳转至步骤SA2;

SA2、提取分句词列表Xi中的首个分句词,记为R,如果R中不包含细分领域精简词词库中的词,或者R中包含细分领域模式匹配词库中的词,则在分句词列表Xi中删除该分句词R,跳转至SA1,否则跳转至步骤SA3;

SA3、以分句词列表Xi中词R以后的所有分句词按照先后顺序构成列表E,判断E中是否存在包含有细分领域模式匹配词库中词的分句词,如果不存在,则直接结束,否则跳转至步骤SA4;

SA4、将列表E中包含细分领域模式匹配词库中词的首个分句词设为S,然后从R至S的连续分句词构成的列表中,如果存在未包含在细分领域精简词词库中的分句词,则将这些分句词存入细分领域临时精简词词库,然后从分句词列表Xi中删除从R到S的连续分句词,跳转至步骤SA1。

在完成对所有分句词列表Xi的处理后,判断细分领域临时精简词词库是否为空,如果不为空,则将细分领域临时精简词词库中的词合并入细分领域精简词词库,并进行去重处理,如果为空则无需要该合并步骤。通过上述步骤,即可得到细分领域精简词词库和细分领域模式匹配词库。

本实施例的中文词库,包含细分领域精简词词库和细分领域模式匹配词库;细分领域精简词词库和细分领域模式匹配词库根据如上任一项构建方法而构建。

本实施例的中文本特征提取方法,如图6所示,包括如下步骤:S2.1.将待处理文本进行分割,得到待处理文本的分句词;S2.2.判断所述待处理文本的分句词中包含有细分领域精简词词库中的词,则将该分句词作为该细分领域的细分领域分句词;S2.3.将所述细分领域分句词与细分领域模式匹配词库进行匹配,得到待处理文本的总体特征;将所述待处理文本的分句词与所述细分领域精简词词库匹配,得到待处理文本的总体精简特征;细分领域精简词词库为如上所述的细分领域精简词词库;细分领域模式匹配词库为如上所述的细分领域模式匹配词库。

在本实施例中,待处理文本经过分割后,可得到待处理文本的分句词,本实施例中将待处理文件的分句词以列表形式存储,并记为A。设本实施例中的细分领域为K个,K为正整数。那么对应于每个细分领域,都有一个与该细分领域对应的细分领域精简词词库(记为DB_i)和细分领域模式匹配词库(记为DP_i),i=1、2、……、K。与细分领域相对应,构建K个待处理分句词列表,并初始化为空,记为Bi,i表示待处理分句词列表的编号,i=1、2、……、K。当然,也可以根据实际需要,任意选择1个或多个细分领域对待处理文本进行特征提取。进一步,需要说明的是,当未构建好细分领域精简词词库时,可以将精简词词库作为唯一的细分领域精简词词库使用,并将细分领域模式匹配词库设为空。进一步地,当构建了细分领域精简词词库,对精简词词库中未纳入细分领域精简词词库的精简词,可为其新设置一个细分领域,并设置一个对应的细分领域精简词词库来存储,与其对应的细分领域模式匹配词库设为空。

对于待处理文件的分句词列表A中的每个分句词分别与每个细分领域的细分领域精简词词库中的词进行匹配,如果对于该分句词中包含有第i个细分领域精简词词库中的词,则将该分句词加入到对应的待处理分句词列表Bi中,那么,在完成匹配后,将会得到K个待处理分句词列表Bi,再将待处理分句词列表进行总体特征提取和总体精简特征提取。

在本实施例中,步骤S2.3包括:总体特征提取和总体精简特征提取;

总体特征提取包括:

按照细分领域将所述细分领域分句词的排列顺序组成的列表,不间断、不重叠的提取其中第一子队列、和/或第二子队列、和/或第三子队列;所述第一子队列中,所有细分领域分句词均为第三类型词;所述第二子队列中,除最后一个细分领域分句词为第三类型词,其余细分领域分句词均为第四类型词;所述第三子队列中,所有细分领域分句词均为第四类型词,且所述第三子队列最多只有一个,且位于所述列表的末端;所述第三类型词中,包含该所述细分领域模式匹配词库中的词;所述第四类型词中,不包含该所述细分领域模式匹配词库中的词;对于所述第一子队列,提取其中的第三类型词作为总体特征词;对于所述第二子队列,提取其中的第四类型词与第三类型词组合而成的词作为总体特征词;对于所述第三子队列,提取其中的第四类型主词作为总体特征词;全部总体特征词构成所述待处理文本的总体特征;

总体精简特征提取包括:

判断所述待处理文本的分句词中是否包含该细分领域精简词词库中的词,是则将该细分领域精简词词库中的词作为该所述待处理文本的分句词的精简特征词;全部精简特征词构成所述待处理文本的总体精简特征。

在本实施例中,第一子队列可以表示为a……a,第二子队列可以表示为b……ba,第三子队列可以表示为b……b,其中,a……a表示有连续的一个或多个a,b……b表示有连续的一个或多个b,a表示第三类型词,b表示第四类型词。如待处理分句词的列表为:aaabbbababb,那么进行子队列划分后,即可以分为如下子队列:aaa,bbba,ba,bb;第三子队列最多只可能有一个,且只可能为最后一个子队列。

在具体实施中,可以具体选择不同的算法,程序代码来实现总体特征提取和总体精简特征提取。

在本实施例中,总体特征提取的具体的算法如下所示:

根据如上过程得到待处理分句词列表Bi后,首先,依次判断Bi是否为空,为空则无需要对该待处理分句词列表Bi进行特征提取,不为空时,则按照如下步骤处理:

SB1、构建特征列表Ci,i=1、2、……、K,K为细分领域的个数,并初始化为空;

SB2、判断待处理分句词列表Bi是否为空;为空时结束;不为空时,从Bi中提取第一个分句词,记为U,判断U中是否包含第i个细分领域模式匹配词库中的词;如果是,则将U加入到特征列表Ci中,将U从列表Bi中删除,重复步骤SB2;如果否,则跳转到步骤SB3;

SB3、将列表Bi中位于U之后的所有分句词按照先后顺序构成列表T,判断T中的分句词是否包含有该细分领域模式匹配词库中的词;如果是,则跳转至步骤SB4;如果否,则跳转至步骤SB5;

SB4、将T中最先包含有细分领域模式匹配词库中词的分句词设为P,P中的细分领域模式匹配词设为W,Bi列表中从U开始到P之前的所有分句词构成的列表设为L,然后将W依次与L中分句词进行组合,得到所有组合特征词,将这些组合特征词和分句词P添加进特征列表Ci,并且在分句词列表Bi中去除L中的分句词,跳转至步骤SB2;

SB5、将分句词列表Bi中剩余的所有分句词依次都打上error标签,并将分句词列表Bi中的分句词放入特征列表Ci中,特征列表Ci构建完成。

将全部细分领域的特征列表Ci合并,即构成总体特征。

在本实施例中,总体精简提取的具体的算法如下所示:

遍历待处理文件的分句词列表A中的每一个分句词,

当该分句词中包含有细分领域精简词词库中的词L时,则将该细分领域精简词词库中的该词L作为总体精简特征词,全部总体精简特征词构成该待处理文本的总体精简特征。

本实施例的文本特征提取系统,包括处理器和存储器,处理器用于执行存储器中的计算机程序,存储器中存储有被执行时可实现如上文本特征提取方法的程序。

在本实施例中,通过结合几个具体应用领域,以医疗领域的应用为例,对本实施例的词库构建方法及文本特征提取方法进行说明,但不限制本申请的方法只能应用于医疗领域。

应用场景一,对小规模的医院病历中与症状有关的语料进行处理,建构出精简词词库;语料集为与症状相关的小规模语料集,本实施例中语料集中的句子包括:

①阵发冲动,伤人,毁物1周

②亚急起冲动伤人与打人毁物一个月

③冲动行为伴伤人毁物3个月

④出现冲动毁物半年,上腹、腰部痛半个月

⑤缓起冲动伤人行为1年

⑥间歇性冲动伤人毁物2年多,上腹痛2天

⑦患者冲动伤人毁物行为3年余

⑧持续性冲动伤人毁物外跑4年

⑨反复发作性怪异冲动行为五年

⑩间断性冲动行为无法控制6年

对语料集中的文本数据预处理:去除与具体症状不相关的内容,如起病缓急(“亚急起”、“缓起”、“间歇性”、“持续性”、“阵发”、“反复发作性”)、病程长短(“1周”、“一个月”、“3个月”、“半年”、“半个月”、“1年”、“2年多”、“2天”、“3年余”、“4年”、“五年”、“6年”)、停用词(“患者”、“出现”)等;

构建分句词词库:通过标点符号、连词等作为句子的分隔符,对文本内容进行分割得到分句词,对所有分句词去重后构成分句词词库,分句词词库中的词构成的列表如下:

[“冲动”,“伤人”,“毁物”,“冲动伤人”,“打人毁物”,“冲动行为”,“伤人毁物”,“冲动毁物”,“上腹”,“腰部疼痛”,“冲动伤人行为”,“冲动伤人毁物”,“上腹痛”,“冲动伤人毁物行为”,“冲动伤人毁物外跑”,“怪异冲动行为”,“冲动行为无法控制”]

构建多叉树词库:通过分句词词库中分句词之间包含与被包含的层级对应关系构建多叉树,每个多叉树中所有节点上的词去重后构成独立的多叉树词库。

构建精简词词库:精简词为多叉树根节点上的词,由去重后的精简词构成的词库为精简词词库,精简词词库中的词构成的列表如下:

[“冲动”,“伤人”,“毁物”,“上腹”,“腰部痛”]

通过如上过程,可以将多词间包含与被包含的层级关系通过多叉树的数据结构构建出来。如图7、图8和图9所示,为根据症状词层级关系构建的多叉树拓扑图的例子,根节点症状词分别为“冲动”、“伤人”、“毁物”,这些症状词不能被进一步分割成更短的词;例如:“冲”、“动”、“伤”、“人”、“毁”、“物”,这些词并没有出现在分句词词库中,无法表述具体的症状特征。

应用场景二、在大规模中文医疗电子病历语料集中抽取与症状有关的词来构建中文词库,构建精简词词库。

本应用场景所采用的语料集为某医院所收集的287793位患者的住院记录中的医疗主诉句子,患者分别来自于不同的科室。语料集所对应科室及患者人数大于10000人的科室及患者人数为:普通外科,30444人;心血管外科,21287人;妇科,18510人;骨科,17245人;泌尿外科、16908人;精神科、13961人;老年病学科、13624人;耳鼻咽喉科、13102人;产科、11522人;脊柱外科、10139人。

部分患者的主诉句子,及主诉句子中的部位词、症状词如下表所示:

对语料集中文本数据进行预处理,去除与症状不相关的内容,如起病缓急、病程长短、停用词等;

定义与“起病缓急”相关的正则表达式1:

r"因|反复发作性|发作性?|突发(?:间歇)?性?|间歇性?|间断性|反复阵发性|复发阵发性|阵发性|阵发|进行性|持续性|亚急性起?|警惕性|复发性|亚性|急性|渐进性|习惯性|自发性|反复强迫性|冲动性|产后间断性|(?:原发|多发|继发|泛发|偶发)性|逐?渐[起近进]?|亚急起|急起|缓起|突起|首发|首起|再发|复发|频发|复起|复燃|不?间断|间发"

定义与“病程长短”相关的正则表达式2:

r"第|(?:\d|[A-Za-z])+[期级]?|\d+|一|(?<!有)二|(?<!丢)三(?!系)|(?<!落)四(?!肢)|[几数]?[五六七八九十]期?|两|个(?!性)|半|近|余|约|等|小时|分钟|白?天|(?<!整)日间?|首?次|周(?:期性|期)?|星期|数?月(?!经)多?|[青四]?年多?|总病[程史]?|总?病期"

当句子中匹配到与症状不相关的内容,如通过正则表达式1或者正则表达式2匹配到的内容,则句子中直接去除这些内容。

(3)构建分句词词库:通过标点符号、连词等作为句子的分隔符,对文本内容进行分割得到分句词,对所有分句词去重后构成分句词词库:

定义有关连词的正则表达式3:

r"并(?!腿)|(?<!饱)和(?!度)|及|(?<!不)与(?!人)|同时|伴(?!发脾气)[有发]?|或|\W有|交替出现|(?<!冷热)交替|^交替|(?<!交替)*出现|认为"

当句子中通过正则表达式3匹配到有关连词的内容或者存在标点符号内容时,则在这些内容处依次对句子进行分割得到分句词,对所有分句词去重后构成分句词词库。以上正则表达式中的“?”“!”均为正则表达式的参数、符号。语料集中按不同科室确定的主诉示例如下表所示:

通过对语料集287793条句子进行分割,得到54190条不重复的分句词后,构建成为分句词词库。

构建多叉树词库:通过分句词词库中分句词之间包含与被包含的层级对应关系构建多叉树,得到1831个节点数大于1的多叉树,每个多叉树中所有节点上的词去重后构成独立的多叉树词库。

构建精简词词库:节点数大于1的多叉树根节点上的词设为精简词,由去重后的1831个精简词构成的词库为精简词词库。

在构建好精简词词库后,针对各细分领域进行细分领域精简词词库、和细分领域模式匹配词库的构建。本实施例中所确定的细分领域精简词词库为精简部位词词库和精简症状词词库。

其中,构建精简部位词词库为:

(1)计算精简词词库中词的PoC值,

(2)初始化构建精简部位词词库:精简词词库中词的PoC值小于0.1,提取出排在前面的21个部位词,构建初始化的精简部位词词库。如下所示为21个部位词构成的初始化精简部位词词库:

{"关节","下肢","右乳","子宫","盆腔","肢体","上肢","下腹","髋部","左肾","宫颈","上腹","小腿","胸背","腰腹","下颌","腹股沟","肛门","股骨","胆囊","息肉"}

(3)构建分句词列表:通过标点符号、连词等作为句子的分隔符,对语料集中的所有句子进行分割,得到每条句子对应的分句词列表Xi(i∈N*,i≤287793),其中,i代表语料集中的句子编号,N*为正整数。

(4)构建细分领域模式匹配词库:遍历分句词词库中的分句词,如果分句词包含精简部位词词库中的某个精简词,则以该精简词作为分界线,将分句词化为两部分,例如:“上腹痛”中,“痛”字,连在部位词“上腹”的后面,作为“上腹”的细分领域模式匹配词;如果分句词中包含精简部位词词库中的多个精简部位词,则分别以这些精简部位词作为分界线,依次将分句词分割为两部分;将非空部分作为细分领域模式匹配词,去重后放入细分领域模式匹配词库。

第一次遍历分句词词库中的分句词,去重后得到1201个细分领域模式匹配词,如下所示为40个细分领域模式匹配词构成的列表:

['间隙性抽搐','活动时弹响','骨重建术后','前外侧','接触性出血','烫伤后疤痕','异常','区可复性肿物时间','排便胀痛','胀痛','结节','皮肤溃烂','疼乏力','绞锁','壁静脉曲张','屈曲','肌壁间不均质回声区','骨中央性鳞状细胞癌术后','骨成釉细胞瘤开窗术后','经输尿管镜碎石取石术后','肾母细胞瘤术后','盘复位术后','燥热乏力','骨折切开复位钢板螺钉内固定术后','多处转移','乳头皲裂结痂','恶性肿瘤切除术后','残结石复诊我科','骨折术后疼痛','后侧疼痛','角肥大','内膜间质肉瘤','接触高压电致烧伤','干病变刮除植骨内固定术后','左踝疼痛','骨钛板外露','搓丸样抖动','未排气排便','肢体活动障碍','脱垂']

第1次拓展得到的细分领域模式匹配词库,包含有3036个细分领域模式匹配词;

第2次拓展得到的细分领域模式匹配词库,包含有3970个细分领域模式匹配词;

第3次拓展得到的细分领域模式匹配词库,包含有4186个细分领域模式匹配词;

第4次拓展得到的细分领域模式匹配词库,包含有4245个细分领域模式匹配词;

第5次拓展得到的细分领域模式匹配词库,包含有4294个细分领域模式匹配词;

第6次拓展得到的细分领域模式匹配词库,包含有4305个细分领域模式匹配词。

(5)遍历处理所有分句词列表Xi,拓展精简部位词词库,具体步骤如下:

初始化临时精简部位词词库为空列表,遍历处理所有分句词列表Xi,单独处理每个分句词列表Xi的4个步骤如下:

步骤1:判断分句词列表Xi是否为空:如果为空,则直接结束;如果不为空,则进入步骤2。

步骤2:取分句词列表Xi中的首个分句词作为R,如果R中不包含精简部位词词库中的词或者R中包含细分领域模式匹配词库中的词,则在分句词列表Xi中删除R,并跳转至步骤1,否则,则进入步骤3。

步骤3:分句词列表Xi中词R后的所有分句词按先后顺序构成列表E,判断E中是否存在包含有细分领域模式匹配词库中词的分句词:如果不存在,则直接结束;如果存在,则进入步骤4。

步骤4:将列表E中包含细分领域模式匹配词库中词的首个分句词设为S,然后从R到S的连续分句词构成的列表中,如果存在未包含在精简部位词词库中的精简部位词,则将这些分句词放入临时精简部位词词库,然后从分句词列表Xi中删除从R到S的连续分句词,最后跳转至步骤1。

遍历处理完所有分句词列表Xi后,判断临时精简部位词词库是否为空:如果不为空,则将临时精简部位词词库中的词去重后放入精简部位词词库,并跳转至(4);如果为空,则跳转至(6)。

如下所示,为第1次拓展精简部位词词库得到63个新的精简部位词构成的列表:

['后背','右足','头面','双眼','左肘','右手','前胸','左胸','左手','左髋','左肩','右髋','背部','左膝','右腕','腰骶','腋窝','左腰','左输尿管','右侧腰','右踝','食指','剑突下','面颈','躯干','牙龈','右肘','头部','骨盆','阴囊','双手','颈部','皮肤','腰部','胸部','面部','胆管','右腰','肢麻','左臀','四肢','肩颈','胸骨','大腿','双髋','肝脏','疼痛','腹部','左腹','阴道','胸腹','右臀','胸壁','右中','颜面','腰背','膀胱','右膝','腹壁','臀部','眼睑','会阴','睾丸']

如下所示,为第2次拓展精简部位词词库得到25个新的精简部位词:

['双足','左腕','左前臂','阴茎','上唇','左踝','尿道','腋下','右耳','直肠','甲状腺','右肩','嘴角','左上臂','唇部','双脚','鼻腔','结肠','口腔','巩膜','腭部','右颌下','左足','口角','双膝']

如下所示,为第3次拓展精简部位词词库得到7个新的精简部位词:

['双肩','右上臂','左舌','左耳','舌部','右前臂','面颊部']

如下所示,为第4次拓展精简部位词词库得到3个新的精简部位词:

['左颊','右颊','左侧唇']

如下所示,为第5次拓展精简部位词词库得到1个新的精简部位词:

['右舌']

如下所示,为第6次拓展精简部位词词库得到1个新的精简部位词:

['口底']

第7次拓展精简部位词词库得到0个新的精简部位词,则跳转至步骤(6);至此,排除21个初始化精简部位词后,精简部位词词库中有100个新的精简部位词,如下所示,为这100个精简部位词构成的列表:

['后背','右足','头面','右手','前胸','左手','舌部','右腕','左腰','左输尿管','上唇','右侧腰','食指','牙龈','左踝','左耳','头部','阴囊','双手','颈部','腋下','右耳','胸部','面颊部','右腰','肢麻','甲状腺','左臀','左舌','右肩','口底','嘴角','双髋','唇部','双脚','右前臂','结肠','腹部','左腹','阴道','胸腹','腭部','右臀','胸壁','右中','左足','颜面','右膝','臀部','眼睑','口角','右上臂','双足','左腕','双眼','左肘','左前臂','左胸','左髋','左肩','背部','右髋','左膝','阴茎','右颊','腰骶','腋窝','躯干','右舌','右踝','剑突下','面颈','左颊','右肘','骨盆','尿道','皮肤','腰部','面部','胆管','直肠','四肢','肩颈','胸骨','大腿','左侧唇','左上臂','肝脏','鼻腔','口腔','疼痛','巩膜','双肩','右颌下','腰背','膀胱','腹壁','会阴','双膝','睾丸']

(6)输出精简部位词词库、细分领域模式匹配词库。

(1)中初始部位词词库中的21个部位词的平均PoC值为0.25,(5)中从语料集中抽取出的100个精简部位词的平均PoC值为3.3,而从如上得到的精简词词库中的1831个精简词的平均PoC值为42.31,可以看出精简部位词的PoC值较精简词词库的平均PoC值偏低。

在本实施例中,在得到上述词库后,提取医疗主诉句子中属于精简词词库的词,并组合细分领域精简词词库中的词和细分领域模式匹配词库中的词,作为文本的组合特征进行提取,实现中文文本特征提取模块的功能,细分领域精简词词库分别为精简部位词词库和精简症状词词库,主要步骤如下:首先识别句子的部位词,然后根据部位词可能存在的共有的症状词,分别将部位词对应到症状词上,得到完整的症状文本特征。图10为本实例中用于主诉句子进行症状提取的数据流图,具体操作如下:

(1)输入一条文本数据。文本数据如下:

“反复上腹痛伴乏力、呕吐,体检发现耳后、胸部、腹部、背部及嘴唇肿块9年余,左下肋骨骨折”

(2)文本数据预处理:通过正则表达式匹配方法,去除文本数据中与症状特征不相关的内容,如起病缓急、病程长短等。文本数据预处理后得到:

“上腹痛伴乏力、呕吐,耳后、胸部、腹部、背部及嘴唇肿块,左下肋骨骨折”

(3)构建分句词列表:通过标点符号和连词作为分隔符,对文本内容进行分割,得到分句词,并构建分句词词库A。如下所示,为分句词词库A中的词构成的列表:

['上腹痛','乏力','呕吐','耳后','胸部','腹部','背部','嘴唇肿块','左下肋骨骨折']

(4)输入构建得到的精简部位词词库、细分领域模式匹配词库。将精简词词库中未纳入进细分领域精简部位词词库的精简词,放入单独的细分领域精简症状词词库,该细分领域精简词词库对应的细分领域模式匹配词库设为空,对所构建的细分领域精简词词库和细分领域模式匹配词库依次进行编号。

(5)构建细分领域的分句词列表Bi(i∈N*,i≤2):

匹配A中与细分领域精简症状词有关的分句词,构成B1列表。B1列表如下:

['乏力','呕吐']

匹配A中与细分领域精简部位词有关的分句词,构成B2列表。B2列表如下:

['上腹痛','耳后','胸部','腹部','背部','嘴唇肿块','左下肋骨骨折']

(6)依次构建细分领域的分句词列表Bi对应的特征列表Ci(i∈N*,i≤2):

排除B1列表中,与症状词无关的分句词后,构成特征列表C1。如下所示,为构建得到的特征列表C1:

['乏力','呕吐']

依次对B2列表中的分句词,匹配成完整的症状分句词,构成特征列表C2,具体构建步骤如下:

步骤1:初始化特征列表C2为空列表,判断细分领域模式匹配词库是否为空:如果为空,则直接将分句词列表B2的分句词添加进特征列表C2,特征列表C2构建完成;如果不为空,则进入步骤2。

步骤2:判断分句词列表B2是否为空:如果为空,则特征列表C2构建完成;如果不为空,则进入步骤3。

步骤3:取分句词列表B2的第一个分句词设为U,判断U中是否存在细分领域模式匹配词库中的词:如果存在,则跳转至步骤4;如果不存在,则跳转至步骤5。

步骤4:首先将U添加进特征列表C2,然后从分句词列表Bi中去除U,最后跳转至步骤2。

步骤5:将分句词列表B2中U后的所有分句词按先后顺序构成的列表T,判断T中是否存在包含该细分领域模式匹配词的分句词:如果存在,则跳转至步骤6;如果不存在,则跳转至步骤7。

步骤6:将T中最先包含有细分领域模式匹配词库中词的分句词设为P,P中的细分领域模式匹配词设为W,B2列表中从U开始到P之前的所有分句词构成的列表设为L,然后将W依次与L中分句词进行组合,得到所有组合特征词,将这些组合特征词和分句词P添加进特征列表C2,并且在分句词列表B2中去除L中的分句词,最后跳转至步骤2。

步骤7:将分句词列表B2中的所有分句词依次都打上error标签,并将分句词列表B2中的分句词放入特征列表C2中,特征列表C2构建完成。

如下所示,为构建得到的C2列表:

['上腹痛','耳后肿块','胸部肿块','腹部肿块','背部肿块','腹部肿块','左下肋骨骨折']

(7)构建并输出文本的总体特征列表D:D由C1和C2组成。总体特征列表D如下:

['上腹痛','乏力','呕吐','耳后肿块','胸部肿块','腹部肿块','背部肿块','腹部肿块','左下肋骨骨折']

(8)构建并输出文本的总体精简特征词列表E。总体精简特征词列表E如下:

['上腹','腹疼','乏力','呕吐','耳后','胸部','腹部','背部','嘴唇','肿块','肋骨','骨折']

在本实施例中,通过上述得到的分句词词库,可以构建多叉树,并得到多词间的层级关系拓扑图。

为以“闻声”为根节点的多叉树关系拓扑图的示例如下所示:

闻声4280

多叉树示例中,每个词作为多叉树的一个节点;每条虚线,作为多叉树中,多词间的包含与被包含的关系映射;每个词后面的数字,代表该词在语料集中出现的次数。

“上腹”一词出现在精简词词库中。如下所示,按照只可拓展根节点词的左侧部分,对“上腹”一词进行多叉树的构建:

上腹13187

如下所示,为以“上腹”为根节点,构建得到的多叉树词库中的词构成的列表:

['上腹','右上腹','中上腹','左上腹','右侧上腹']

由于“腹”一词并没有出现在构建得到的精简部位词词库中。如下所示,可以设置以“腹”一词为多叉树中根节点上的词,并且按照只可拓展根节点词的左侧部分,对“腹”一词进行多叉树的构建:

腹53675

通过上述多叉树关系拓扑图,有助于提取多词间的层级关系。例如:“右侧上腹”是“上腹”一词的细分,“上腹”是“腹”一词的细分,最终“右侧上腹”一词可以对应到词“腹”;又例如:“凭空闻声疑人害言行乱脾气大”是“凭空闻声疑人害”一词的细分,“凭空闻声疑人害”是“凭空闻声”一词的细分,“凭空闻声”是“空闻声”一词的细分,“空闻声”是“闻声”一词的细分,最终“凭空闻声疑人害言行乱脾气大”一词可以对应到词“闻声”。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号