CN102214232A - 一种文本数据相似度的计算方法及装置 - Google Patents
一种文本数据相似度的计算方法及装置 Download PDFInfo
- Publication number
- CN102214232A CN102214232A CN2011101777894A CN201110177789A CN102214232A CN 102214232 A CN102214232 A CN 102214232A CN 2011101777894 A CN2011101777894 A CN 2011101777894A CN 201110177789 A CN201110177789 A CN 201110177789A CN 102214232 A CN102214232 A CN 102214232A
- Authority
- CN
- China
- Prior art keywords
- semantic primitive
- semantic
- node
- tree
- text data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种文本数据相似度的计算方法及装置,所述方法包括:获取第一文本数据和第二文本数据;根据所述第一文本数据,生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。应用本发明,能够准确的比较出不同文本数据之间语义的相似度。为文本数据的匹配检索等提供了有利的支持。可以迅速找到相关的文本数据。
Description
技术领域
本发明涉及电子识别技术领域,特别涉及一种文本数据相似度的计算方法及装置。
背景技术
电子信息是以电子化方式管理的数据信息,涉及数据信息的采集、存储、传输、处理和利用。例如,电子病历(Electronic Health Record)是以电子化方式管理的有关个人终生健康状态和医疗保健行为的文本数据,涉及病人信息的采集、存储、传输、处理和利用。病历信息化在医院信息化建设中处于核心的地位,电子病历是医院数字化之本。因此,近年来电子病历得到了从政府到医院、从业务科室到IT部门的普遍关注。
为了更好地识别出文本数据所表达的语义,国外很多机构构架了针对某一领域的知识标准即某一领域的知识标准数据库,而国内缺少这样有应用价值的中文知识标准。没有统一的知识标准(知识库)很难准确的识别文本数据所表达的语义,而没有语义分析能力的文本数据,其结构化及上层应用也无从谈起。由于中英文语言及文化的差异,英文标准很难直接应用于国内的数据识别分析。
例如,对于电子病历文本数据的识别,国外很多研究机构构建了医学临床知识标准,但由于中英语言及临床差异,英文标准很难直接应用于国内临床诊疗过程,且中文医学知识获取也有自己特性,主要表现在:
一词多意:中文专业医学词汇通常是无歧义词,而英文专业医学词汇在不同科室可能含义不同,比如COLD包含体征发冷、感冒疾病、慢性阻塞性肺炎三个不同的意思;
多词一意:很多词汇表达同一临床表现,甚至同一疾病有很多名称,比如高血压这个概念,至少有36种表达方法;
临床文本中词语的频率高低对语义的权重影响小,不同于信息检索中TF-IDF(Term Frequency-Inverse Document Frequency)频度计算方法,医学文本特别是电子病历中很少重复出现相同内容,但并不能表明仅出现一次的内容不重要。
目前的电子病历在系统架构方面,病历信息呈现海量、异构、分布、多模态等特点,缺乏统一以病人为中心的信息组织与管理机制,历史遗留系统缺乏统一管理机制和访问手段。在功能应用方面,当前电子病历系统要求医生操作多而干扰与患者的沟通,失去捕捉“望”“闻”患者信息的机会,系统缺乏感知上下文的语义支持技术;同时病历查询方式也多为结构化条件且条件组合复杂,通常以增加医生操作量为代价来解决复杂的检索问题,甚至提供过多的选项,以至于医生无从下手,使得传统检索方式检索条件的全面性与医生操作的便利性互相冲突,系统缺乏灵活的基于语义的病历检索方式和语义搜索引擎,特别是对多模态数据的支持。
可见,如何自动的判别不同文本数据之间语义的相似度,例如不同电子病历之间所描述病情的相似度,是亟待解决的问题。
发明内容
本发明实施例在提供一种文本数据相似度的计算方法及装置,其能够准确的识别出不同文本数据之间语义的相似度。
本发明实施例提供了一种文本数据相似度的计算方法,所述方法包括:
获取第一文本数据和第二文本数据;
根据所述第一文本数据,生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
其中,根据所述第一文本数据,生成以语义单元为节点的第一语义单元树的步骤包括:
i)判断所述第一文本数据中是否存在否定句法,若是,执行步骤ii),否则执行步骤iii);
ii)对否定句法进行预处理;
iii)以第一文本数据作为最大语义单元生成根节点;
iv)识别根节点的所对应的根中心词;
v)使用语义单元分裂算法,根据所识别出的根中心词,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。
其中,使用语义单元分裂算法,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树的步骤包括:
预先将标点符号划分为不同级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和所述中心词之间的上下级关系;
所述方法还包括:
i)获得当前待分裂的父节点PV及该父节点PV对应的中心词;
ii)确定当前待分裂语义单元中所包含的最高语义级别分割标点p是否为空,若是,执行步骤ix),否则,执行步骤iii);
iii)以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
iv)根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则执行步骤vii),否则执行步骤v);
v)根据分割标点p做语义单元全分割得到下一级的语义单元CVSet;
vi)以父节点PV为当前的父节点,将语义单元CVSet作为节点PV的下一级子节点,连接至父节点PV上,然后执行步骤ix);
vii)通过中心词库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
viii)以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后执行步骤ix);
ix)返回父节点PV为根的语义单元树,生成第一语义单元树。
其中,所述步骤vii)中获得下一级中心词为根的所有语义单元树集合CVTreeSet的步骤包括:
01)识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
02)将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
03)判断是否遍历合并处理后的每个语义单元CVSet,若是,则执行步骤07),否则执行步骤04);
04)获得当前待分裂的子节点CV,该待分裂的子节点CV代表一语义单元,及所述待分裂子节点CV的对应的中心词CW;
05)递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
06)将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
07)返回语义单元树集合CVTreeSet。
其中,将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度的步骤包括:
由叶子节点为基础,向上逐步比较每个节点的相似度,并且,根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
本发明实施例还提供了一种文本数据相似度的计算装置,所述装置包括:
获取单元,用于获取第一文本数据和第二文本数据;
语义单元树生成单元,用于生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
相似度比较单元,用于将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
其中,语义单元树生成单元包括:
否定句法判断单元,用于判断所述第一文本数据中是否存在否定句法,若是,通知否定句法处理单元,否则通知第一识别单元;
否定句法处理单元,用于对否定句法进行预处理;
第一识别单元,用于以第一文本数据作为最大语义单元生成根节点;识别根节点的所对应的根中心词;
分裂算法计算单元,用于使用语义单元分裂算法,根据所识别出的根中心词,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。
其中,预先将标点符号划分为不同级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和所述中心词之间的上下级关系;
所述分裂算法计算单元包括:
第一识别单元,用于获得当前待分裂的父节点PV,及该父节点PV对应的中心词;
分割标点级别判断单元,用于确定当前待分裂语义单元中所包含的最高语义级别分割标点p否存为空,若是,通知第一返回单元,否则,通知分割单元;
分割单元,用于以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
下一级中心词判断单元,用于根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则通知语义单元树集合获取单元,否则通知划分单元;
划分单元,用于根据分割标点p做语义单元全分割得到下一级的语义单元CVSet;
第一连接单元,用于以父节点PV为当前的父节点,将语义单元CVSet作为节点PV的下一级子节点,连接至父节点PV上,然后通知第一返回单元;
语义单元树集合获取单元,用于通过中心词数据库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
第二连接单元,用于以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后通知第一返回单元;
第一返回单元,用于返回父节点PV为根的语义单元树,生成第一语义单元树。
其中,所述语义单元树集合获取单元包括:
第二识别单元,用于识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
合并单元,用于将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
遍历判断单元,用于判断是否遍历合并处理后的每个语义单元CVSet,若是,则通知第二返回单元,否则通知第三识别单元;
第三识别单元,用于获得当前待分裂的子节点CV,及所述待分裂子节点CV的对应的子中心词CW;
分裂算法子单元,用于递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
添加单元,用于将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
第二返回单元,用于返回语义单元树集合CVTreeSet。
其中,所述相似度比较单元包括:
节点相似度计算单元,用于以由叶子节点为基础,向上逐步比较每个节点的相似度;根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的相似度。
应用本发明实施例提供的方法和装置,通过建立语义单元树,比较语义单元树的相似度,从而能够准确的比较出不同文本数据之间语义的相似度。为文本数据的匹配检索等提供了有利的支持。可以迅速找到相关的文本数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一具体实例的语义单元树的示意图;
图2是根据本发明实施例的文本数据相似度的计算方法流程图;
图3是一种可能的生成以语义单元为节点的第一语义单元树的流程示意图;
图4是图3中步骤305的一种可能的实现流程图;
图5是根据本发明实施例的获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度的流程图;
图6是根据本发明实施例的用于语义单元相似度计算的一实例;
图7是电子病历语义搜索引擎页面;
图8是根据本发明实施例的文本数据相似度的计算装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了本发明描述的需要,这里定义如下几个概念:
定义1:段落或句子论述所围绕的概念称为“中心词”。
定义2:由不同中心词所划分开的段落或句子称为“语义单元”(SS,Semantic Segment)。
定义3:明确出现中心词词汇的语义单元称为“显式语义单元”;相反,未明确出现中心词,但论述仍然围绕同一概念的语义单元称为“隐式语义单元”。
定义4:再不能合并其它语句组成新的语义单元的语义单元称为“最大语义单元”(MaxSS,Maximum SS);相反,再不能从自身中分割出更小的语义单元的语义单元称为“最小语义单元”(MinSS,Minimum SS)。
定义5:将SST=(SSV,SR)定义为语义单元树(Semantic Segment Tree,SST),其中SSV表示一个有限的节点集,每个结点代表一个语义单元,每个结点有且仅有唯一的中心词;Root(SST)表示语义单元树的根节点,代表最大语义单元;Leaf(SST)表示语义单元树的叶子节点,代表最小语义单元;SR表示边集,是SSV上的一个二元语义包含关系(Semantic Relation)。
以下以病历文本为例,来说明本发明如何计算文本数据相似度。
基于上述定义,某患者病历中包括如下部分内容:
病历1:“......查体:咽粘膜光滑无流血,双扁桃体II度大,表面欠光滑,未见脓点及出血点。既往史:3年前,诊断″腺样体肥大″于某医院手术治疗。否认外伤史,否认肝炎、哮喘及其它传染病史。青霉素头孢过敏。......”
上述病历1中,包含三个一级语义单元,中心词分别为“查体”,“既往史”和“过敏史”,其中“查体”和“既往史”为显式中心语义单元,“过敏史”为隐式语义单元。“既往史”语义单元包含三个二级语义单元,中心词分别是为“手术史”,“外伤史”和“传染病史”,其中“手术史”为隐式语义单元,“外伤史”和“传染病史”为显示语义单元。根据上述病历1记载的文本数据,采用本发明提供的方法即可自动生成如图1所示语义单元树。
在应用本发明生成如图1所示语义单元树的过程中,需要涉及到“中心词识别”这一操作。这里的中心词识别,实际是一个对文本进行分类的过程,大致步骤如下:构建一个类别空间,所述类别空间包括多个坐标轴,每个坐标轴代表一个文本类别;计算任一训练文本中所包含词项在所述类别空间中的表示向量,获得训练文本集所有词项在所述类别空间中的表示向量;根据待分类文本所包含的词项及所述词项在所述类别空间中的表示向量,获得待分类文本在所述类别空间中的表示向量;计算所述待分类文本在所述类别空间中的表示向量与所述类别空间中各个坐标轴对应的基向量的余弦相似度值;将最大的余弦相似度值所对应的坐标轴所代表的文本类别作为待分类文本的类别。该分类结果作为待分类文本的中心词。具体的,可参考本申请人同一日递交的名称为“一种对文本进行分类的方法及装置”的申请文件。
下面具体说明如何对文本数据相似度进行计算。
参见图2,其是根据本发明实施例的文本数据相似度的计算方法流程图,本实施例中,具体包括:
步骤201,获取第一文本数据和第二文本数据;
这里,该文本数据就是要比较的一段文字,例如第一文本数据可以是前述病历1所示的文本数据,第二文本数据可以是和前述例1类似的一段病历记录;
步骤202,根据所述第一文本数据,生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
例如,前述图1所示的语义单元树;
步骤203,将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
下面对前述步骤202的具体实现过程做详细说明。
参见图3,其是一种可能的生成以语义单元为节点的第一语义单元树的流程示意图。具体包括:
步骤301,判断所述第一文本数据中是否存在否定句法,若是,执行步骤302,否则执行步骤403;
步骤302,对否定句法进行预处理;
这里,对否定句法的预处理是指将否定句中的每个词之前都加上否定词,例如,病历1中记载的有“否认外伤史,否认肝炎、哮喘及其它传染病史”,如果不做预处理而简单的分词,则会得到“否认外伤史”、“否认肝炎”和“哮喘及其它传染病史”,注意,这里的“哮喘及其它传染病史”成为之前已经存在的病史了。而经过预处理后再分词,则会得到“否认外伤史”、“否认肝炎”和“否认哮喘及其它传染病史”,可见,这才是病历1中的原意。
步骤303,以第一文本数据作为最大语义单元生成根节点(RV,Root Vertex),也即,以第一文本数据作为根节点;
步骤304,识别根节点所对应的根中心词(RW,Root Word);
具体的,可采用前述识别中心词的方法,这里只做一简单说明:
在对一个对文本T进行分类时,预先要给定具有同一上级中心词(PW,Parent Word)的训练文本集合S;以及以中心词PW的下位中心词为类别集合训练分类器;在分类过程中,对于给定的待分类文本T,及该待分类文本T对应的上位中心词PW,采用前述对文本进行分类的步骤,得到该待分类文本的分类结果,将该分类结果作为文本T的中心词。
例如,通过前述识别中心词方法,识别出病历1这段文字所对应的根中心词是病程记录。
步骤305,使用语义单元分裂算法SSTree_Split(RV,RW),生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。之后,返回第一文本数据对应的语义单元树SSTree。该步骤是一个循环递归分裂的过程。
这样,得到了以语义单元为节点的第一语义单元树。
参见图4,其是图3中步骤305的一种可能的实现流程图,在本实施例中,预先将标点符号划分为不同的级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和各中心词之间的上下级关系,例如,在中心词库中记录了“既往史”的下一级中心词包括“手术史”、“外伤史”和“传染病使”,而“既往史”的上一级中心词为“病程记录”。
可以理解,语义单元树的生成过程也是语义单元树节点递归分裂的过程。中文标点符号蕴含了大量的语义信息,是最理想的语义单元切分标志。中文标点的数量远远少于中文词项的数量,且文本标点应用比较严格,所以语义单元树的生成应当参考中文标点符号。这里将具有语义单元划分含义的标点符号按照表1所示的可能的实施例进行级别划分:
表1
级别 | 中文标点 | 英文标点 |
一级 | !?。 | !?. |
二级 | ; | ; |
三级 | , | , |
四级 | 、 |
文中标点符号的语义级别按表中由上至下降低,在进行语义单元树分裂时由上至下的优先级对语义单元进行划分。
对于图4所示实施例,图4a是图3中步骤305的一种可能的实现流程图,图4b是图4a中步骤407的一种可能的实现流程图。
图4a所示方法具体包括:
步骤401,获得当前待分裂的父节点PV(Parent Vertex)及该父节点PV对应的中心词PW,该待分裂的父节点PV代表一语义单元;
这里,可以通过接收外界输入的方式获得;
步骤402,确定当前待分裂语义单元中所包含的最高语义级别分割标点p是否为空,若是,执行步骤409,否则,执行步骤403;
步骤403,以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
例如,对于前述病历1,使用“。”分割后,得到下一级预划分的如下四个语义单元:
(1)查体:咽粘膜光滑无流血,双扁桃体II度大,表面欠光滑,未见脓点及出血点;(2)既往史:3年前,诊断″腺样体肥大″于某医院手术治疗;(3)否认外伤史,否认肝炎、哮喘及其它传染病史;(4)青霉素头孢过敏。
步骤404,根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则执行步骤407,否则执行步骤405;
步骤405,将根据分割标点p将语义单元全分割得到下一级的语义单元CVSet;
例如,根据“;”、“,”和“、”等分割标点继续对已分割的语义单元进行分割。
仍以前述病历1为例,例如通过查询中心词库可知“扁桃体”没有下一级中心词,则对病历1中的“咽粘膜光滑无流血,双扁桃体II度大,表面欠光滑,未见脓点及出血点”使用“,”进行继续分割,获得全分割后的下一级的语义单元CVSet:“咽粘膜光滑无流血”和“双扁桃体II度大”、“表面欠光滑”以及“未见脓点及出血”;也就是说,全分割后得到下一级的语义单元CVSet为:“咽粘膜光滑无流血”、“双扁桃体II度大”、“表面欠光滑”以及“未见脓点及出血”4个下一级的语义单元;
步骤406,以父节点PV为当前的父节点,将完全分割后的语义单元CVSet作为父节点PV的下一级子节点,连接至父节点PV上,然后执行步骤509;
例如,将“双扁桃体II度大”、“表面欠光滑”以及“未见脓点及出血”连接到“扁桃体”上,将“咽粘膜光滑无流血”作为“查体”的子节点。
步骤407,通过中心词数据库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
步骤408,以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后执行步骤509;
步骤409,返回父节点PV为根的语义单元树,生成第一语义单元树。
也就是说,上述是采用递归的方法通过遍历语义单元树集合CVTreeSet中每个语义单元,完成对语义单元树节点的递归分裂过程。
下面对前述步骤407的具体实现过程做详细说明。
参见图4b,其是图4a中步骤407的一种可能的实现流程图,在本实施例中,具体包括:
步骤4071,识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
该步骤与前述步骤301的处理过程实质相同,只是处理的当前节点不同于步骤301中的当前节点,也即,步骤301中处理的是父节点PV,而这里处理的是下一级预划分的语义单元节点集合CVSetPre中的一个节点。
步骤4072,将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
例如,经过和合并处理后,上述对病历1预划分的4个语义单元经合并处理后最终形成3个语义单元,为:
(1)查体:咽粘膜光滑无流血,双扁桃体II度大,表面欠光滑,未见脓点及出血点;(2)“既往史:3年前,诊断″腺样体肥大″于某医院手术治疗。否认外伤史,否认肝炎、哮喘及其它传染病史;(3)青霉素头孢过敏。
也即,语义单元“3年前,诊断″腺样体肥大″于某医院手术治疗”和“否认外伤史,否认肝炎、哮喘及其它传染病史”均属于既往史。
这里,初始化语义单元树集合CVTreeSet的作用就是令CVTreeSet为空集。
步骤4073,判断是否遍历合并处理后的每个语义单元CVSet,若是,则执行步骤4077,否则执行步骤4074;
步骤4074,获得当前待分裂的子节点(CV,Child Vertex),该待分裂的子节点CV代表一语义单元,及所述待分裂子节点CV所对应的子中心词(CW,Child Word);
步骤4075,递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
具体而言,语义单元分裂算法为SSTree=STree_Split(CV,CW)。也就是说,这里实际是递归的进行语义单元分裂算法,以对合并处理后的每个语义单元CVSet再分裂出各自的子树。
步骤4076,将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
步骤4077,返回语义单元树集合CVTreeSet。
可以理解,上述图3和图4只提供了一种生成语义单元树的可能的方法,在实际应用中,还可能有其他实现方法。
由于语义单元树的生成过程也是语义单元树节点递归分裂的过程,因此上述分裂过程大致包括以下三个过程:根据中文标点语义单元预划分过程;对预划分的语义单元进行中心词识别的过程;根据中心词合并预划分的语义单元过程。通过上述语义单元分裂算法,可以获取语义单元树节点集合和节点之间关系,进而构建语义单元树。
语义单元树生成后,根节点代表最大语义单元,叶子结点代表最小语义单元,针对语义单元树的整体结构与叶子结点的句型模式,对根节点所代表的语义段落进行语义分析。
以上是以生成第一语义单元树为例进行说明的,生成第二语义单元树的方式与之相同,不再重复说明。
基于所生成的语义单元树,前述步骤203可以采用如下步骤实现:以由叶子节点为基础,向上逐步比较每个节点的相似度,并且,根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的相似度。具体可以采用如图5所述的方法。
参见图5,其是根据本发明实施例的获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度的流程图。本实施例中,假设语义单元树SSTree-A是第一语义单元树,语义单元树SSTree-B是第二语义单元树,第一语义单元树中的最小语义单元称为第一最小语义单元MinSSA,第二语义单元书中的最小语义单元称为第二最小语义单元MinSSB,每个最小语义单元都具有一语义单元类型MinSSTyp;本例中,最小语义单元分为三种类型:数值型,枚举型和字符串型;
本流程具体包括:
步骤501,获取第一语义单元树、第二语义单元树、待比较的第一中心词PW’,其中,所述待比较的第一中心词PW’是所述第一语义单元树上的任一节点,且,所述第一中心词PW’在第一语义树中的级别位置与在第二语义树级别中的位置相同;初始化相似度值SSTreeSim,令SSTreeSim=0;
例如,上述待比较的第一中心词PW’可以是第一语义单元书的树根,也可以是第一语义单元书的中介于树根和叶子之间的任一节点,也就是说,既可以比较两棵树的相似度,也可以比较两棵树内任意子树的相似度;
步骤502,将第一中心词PW’下同一父节点下的字符串类型的最小语义单元按照正向类型和逆向类型合并;
例如,“咳嗽”与“腰酸”为正向语义单元,“无头疼”与“不发热”为逆向语义单元;
步骤503,判断第一中心词PW’是否有下一级中心词,若有,则执行步骤504,否则执行步骤509;
该判断仍是根据中心词库内保存的上下级关系确定的。
步骤504,获取第一中心词PW’的下级中心词集合CWSet;
步骤505,判断所述下级中心词集合CWSet中的中心词是否全部遍历,若是,则执行步骤508,否则执行步骤506;
这里,相当于对下级中心词集合CWSet中的每个中心词依次进行处理;
步骤506,计算以当前中心词为根节点为的子树的相似度,获得相似度值;
这里的计算实际上递归第采用本流程所述的方法进行计算;针对每个中心词计算完毕后,返回每个叶子节点的相似度值SSTreeSim,当针对某颗子树计算完毕后,会返回某颗子树的相似度值SSTreeSim,当对目标中心词计算完毕后,返回针对该目标节点的相似度值SSTreeSim;
步骤507,计算当前累积相似度值;其中,所述当前累积相似度值为前一累积相似度值加上步骤506,所获得的相似度值;然后返回步骤505;
也就是说,将每次递归计算的结果进行累加;
步骤508,计算以第一中心词PW’为比较节点的第一语义单元树和第二语义单元树的相似度值;其中,该以第一中心词PW’为比较节点的第一语义单元树和第二语义单元树的相似度值为当前累积相似度值除以下级中心词集合CWSet中中心词的个数;结束;
这里,相当于设置了各节点占整棵树的权重值均相同,因此,是以当前累积相似度值除以下级中心词集合CWSet中中心词的个数;如果设置了各节点占整棵树的权重值不同,则可以采用加权的方法进行计算;
步骤509,获取第一语义单元树和第二语义单元树中第一中心词PW’分别对应的第一最小语义单元MinSSA和第二最小语义单元MinSSB,以及所述第一最小语义单元MinSSA和第二最小语义单元MinSSB的语义单元类型MinSSTyp,其中,所述第一最小语义单元MinSSA和第二最小语义单元MinSSB的语义单元类型相同;
需要说明的是,由于第一最小语义单元MinSSA和第二最小语义单元MinSSB是同一中心词PW’对应的最小语义单元,因此,这两个最小语义单元的语义类型必然相同;
步骤510,判断第一最小语义单元MinSSA和第二最小语义单元MinSSB是否都存在,若是,则执行步骤511,否则执行步骤521;
也就是说,当第一最小语义单元MinSSA和第二最小语义单元MinSSB两者都存在时,执行步骤511,当不是两者都存在时,执行步骤521;
步骤511,判断语义单元类型是否为数值类型,若是,则执行步骤512,否则执行步骤513;
这里,判断语义单元是什么类型是根据该语义单元的所对应的中心词进行的,在中心词库中,还设置有每个中心词所对应的类型;
步骤512,采用逻辑运算的方式计算第一最小语义单元MinSSA和第二最小语义单元MinSSB的相似度值;之后返回SSTreeSim;
例如,“年龄35岁”与“年龄大于20岁”相似度为1,“年龄等于35岁”与“年龄等于20岁”相似度为0;这样,即可获得第一最小语义单元MinSSA和第二最小语义单元MinSSB的相似度值;
步骤513,判断语义单元类型是否为枚举类型,若是,则执行步骤514,否则执行步骤517;
这里,判断语义单元是什么类型是根据该语义单元的所对应的中心词进行的,
步骤514,判断第一最小语义单元MinSSA和第二最小语义单元MinSSB的是否相同,若是,则执行步骤515,否则执行步骤516;
步骤515,令SSTreeSim=1,之后返回SSTreeSim;
步骤516,令SSTreeSim=0,之后返回SSTreeSim;
也就是说,在枚举型的情况下,在两个最小语义单元完全相同时其相似是1,否则其相似度为0;
步骤517,计算第一最小语义单元MinSSA和第二最小语义单元MinSSB中共同出现的正向词项个数X;
步骤518,计算第一最小语义单元MinSSA和第二最小语义单元MinSSB中共同出现的逆向词项个数Y;
步骤519,计算第一最小语义单元MinSSA中与第二最小语义单元MinSSB中不重复出现的词项总数Z;
步骤520,计算SSTreeSim,令SSTreeSim=(X+Y)/Z,之后返回SSTreeSim;
上述步骤517~520是根据共现词项的统计原理计算了字符串型最小语义单元的相似度值;
步骤521,判断第一最小语义单元MinSSA和第二最小语义单元MinSSB是否只存在其中之一,若只存在其中之一,则执行步骤523,若两者都不存在,执行步骤522;
步骤522,令SSTreeSim=1,之后返回SSTreeSim;
步骤523,令SSTreeSim=0,之后返回SSTreeSim。
至此,完成了相似度比较。
下面结合实例,对相似度比较再做详细说明:
本实施例中,最小语义单元分为三种类型:
1、数值型,如:年龄20岁、吸烟史3年、于3年前手术等;
2、枚举型,如:籍贯北京、性别男、职业教师等;
3、字符串型,如:无肝炎、于某医院手术、咳痰。
通常,枚举型是有限个条件的列举,而字符串型是对内容的描述。
针对每一个中心词标注其内容所属类型,如数值型的中心词有:年龄、吸烟史、手术时间等;枚举型的中心词有:籍贯、性别、职业等;字符串型的中心词有:传染病史、手术史诊断、临床表现等。不同类型的中心词相似度计算过程分别描述如下:
数值型的中心词对应最小语义单元的比较,可以结合逻辑运算,如:“年龄35岁”与“年龄大于20岁”相似度为1,“年龄等于35岁”与“年龄等于20岁”相似度为0;
枚举型的中心词对应最小语义单元的比较,如果不匹配则认为两个语义单元树叶子结点相似度为0,否则为1;
字符串型的中心词可以包含多个叶子结点,处理比前两种相对复杂,这里采用合并统计方法将所有同中心词的多个叶子结点计算出一个相似度。首先合并正向与逆向语义单元,如“咳嗽”与“腰酸”为正向语义单元,“无头疼”与“不发热”为逆向语义单元;然后根据共现词项的统计原理计算相似度,这里,假设u1和u2是两个待识别字符串型语义单元,则u1和u2的相似度StrSim(u1,u2)为:
基于上述叶子结点最小语义单元相似度的比较,可以累计上层语义单元树节点相似度:
其中,S1和S2分别代表两个要比较的语义单元,PW表示要比较的语义单元的中心词,T代表PW下各级中心词出现的总数,CWt表示PW下所包含的中心词,当PW为叶子结点的上层中心词时,STreeNodeSim(S1,S2,CWt)退化为上述叶子结点相似度计算,t∈(1,T)。
下面结合实例对语义单元的相似度计算再做详细说明。
参见图6,其根据本发明实施例的用于语义单元相似度计算的一实例。
对于图6所示示例,当采用现有的文本相似度匹配方法进行相似度计算时,结果如下:
图6a所示内容分词后得到:发热25岁男
图6b所示内容分词后得到:不发热大于20岁男
这样,重复出现的共现频数为3次,可见,传统的依赖词汇共现频数的统计的相似度计算方法忽略了原文本的语义信息,单纯的字符串匹配难以精确度量两个句子在概念上的相似程度。
对于图6所示示例,当采用本发明实施例提供的文本相似度匹配方法进行相似度计算时,结果如下:
人口信息语义单元的相似度计算结果为1,发热与不发热语义单元的相似度计算结果为0,而病程记录下两个子节点的权重分别为0.5,这样,病程记录这个根节点的相似度计算结果为0.5。从而也说明局部语义单元相似度高并不一定全局语义单元相似度高。
可见,应用本发明实施例提供的方法,能够准确的识别出不同文本数据之间语义的相似度。为文本数据的匹配检索等提供了有利的支持。
下面是应用本发明实施例提供的方法在电子病历领域的实际应用。
中心词的识别实验中采用912余个真实病历统计训练及测试,测试识别准确程度。例如“电子病历”第一级中心词的划分为:主诉、现病史、既往史、过敏史、个人史、家族史、查体、辅助检查、初步诊断、诊断依据、鉴别诊断、诊疗计划、消毒内诊、产科检查14个概念,取N=14。分词词典采用临床中收集的330207个词的医学词典,wij中i的变化范围为1至14,j的变化范围为330207,vi为一个14维向量。CosSim(Cj,S)为0至1之间的数值,代表句子S与概念Cj之间的余弦相似度,将14个概念中与句子S最相似的一个概念作为句子S的中心词。试验结果表明平均识别准确率在80%以上。
图7是电子病历语义搜索引擎页面。应用本发明实施例提供的判别文本数据相似度的方法,可以迅速找到相关的病历,为病历研究提供了便利性。
本发明实施例还提供了一种文本数据相似度的计算装置,参见图8,所述装置包括:
获取单元801,用于获取第一文本数据和第二文本数据;
语义单元树生成单元802,用于生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
相似度比较单元803,用于将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
上述语义单元树生成单元802可以具体包括:
否定句法判断单元,用于判断所述第一文本数据中是否存在否定句法,若是,通知否定句法处理单元,否则通知第一识别单元;
否定句法处理单元,用于对否定句法进行预处理;
第一识别单元,用于以第一文本数据作为最大语义单元生成根节点;识别根节点的所对应的根中心词;
分裂算法计算单元,用于使用语义单元分裂算法,根据所识别出的根中心词,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。
其中,预先将标点符号划分为不同的级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和所述中心词之间的上下级关系;所述分裂算法计算单元可以具体包括:
第一识别单元,用于获得当前待分裂的父节点PV,及该父节点PV对应的中心词;
分割标点级别判断单元,用于确定当前待分裂语义单元中所包含的最高语义级别分割标点p否存为空,若是,通知第一返回单元,否则,通知分割单元;
分割单元,用于以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
下一级中心词判断单元,用于根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则通知语义单元树集合获取单元,否则通知划分单元;
划分单元,用于根据分割标点p做语义单元全分割得到下一级的语义单元CVSet;
第一连接单元,用于以父节点PV为当前的父节点,将语义单元CVSet作为节点PV的下一级子节点,连接至父节点PV上,然后通知第一返回单元;
语义单元树集合获取单元,用于通过中心词数据库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
第二连接单元,用于以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后通知第一返回单元;
第一返回单元,用于返回父节点PV为根的语义单元树,生成第一语义单元树。
其中,所述语义单元树集合获取单元可以包括:
第二识别单元,用于识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
合并单元,用于将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
遍历判断单元,用于判断是否遍历合并处理后的每个语义单元CVSet,若是,则通知第二返回单元,否则通知第三识别单元;
第三识别单元,用于获得当前待分裂的子节点CV,及所述待分裂子节点CV的对应的中心词CW;
分裂算法子单元,用于递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
添加单元,用于将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
第二返回单元,用于返回语义单元树集合CVTreeSet。
其中,所述相似度比较单元803可以具体包括:
节点相似度计算单元,用于以由叶子节点为基础,向上逐步比较每个节点的相似度;根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的相似度。
应用本发明实施例提供的装置,能够准确的识别出不同文本数据之间语义的相似度。为文本数据的匹配检索等提供了有利的支持。可以迅速找到相关的文本数据。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种文本数据相似度的计算方法,其特征在于,所述方法包括:
获取第一文本数据和第二文本数据;
根据所述第一文本数据,生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
2.根据权利要求1所述的方法,其特征在于,根据所述第一文本数据,生成以语义单元为节点的第一语义单元树的步骤包括:
i)判断所述第一文本数据中是否存在否定句法,若是,执行步骤ii),否则执行步骤iii);
ii)对否定句法进行预处理;
iii)以第一文本数据作为最大语义单元生成根节点;
iv)识别根节点的所对应的根中心词;
v)使用语义单元分裂算法,根据所识别出的根中心词,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。
3.根据权利要求2所述的方法,其特征在于,使用语义单元分裂算法,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树的步骤包括:
预先将标点符号划分为不同级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和所述中心词之间的上下级关系;
所述方法还包括:
i)获得当前待分裂的父节点PV及该父节点PV对应的中心词;
ii)确定当前待分裂语义单元中所包含的最高语义级别分割标点p是否为空,若是,执行步骤ix),否则,执行步骤iii);
iii)以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
iv)根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则执行步骤vii),否则执行步骤v);
v)根据分割标点p做语义单元全分割得到下一级的语义单元CVSet;
vi)以父节点PV为当前的父节点,将语义单元CVSet作为节点PV的下一级子节点,连接至父节点PV上,然后执行步骤ix);
vii)通过中心词库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
viii)以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后执行步骤ix);
ix)返回父节点PV为根的语义单元树,生成第一语义单元树。
4.根据权利要求3所述的方法,其特征在于,所述步骤vii)中获得下一级中心词为根的所有语义单元树集合CVTreeSet的步骤包括:
01)识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
02)将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
03)判断是否遍历合并处理后的每个语义单元CVSet,若是,则执行步骤07),否则执行步骤04);
04)获得当前待分裂的子节点CV,该待分裂的子节点CV代表一语义单元,及所述待分裂子节点CV的对应的中心词CW;
05)递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
06)将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
07)返回语义单元树集合CVTreeSet。
5.根据权利要求1所述的方法,其特征在于,将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度的步骤包括:
由叶子节点为基础,向上逐步比较每个节点的相似度,并且,根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
6.一种文本数据相似度的计算装置,其特征在于,所述装置包括:
获取单元,用于获取第一文本数据和第二文本数据;
语义单元树生成单元,用于生成以语义单元为节点的第一语义单元树;根据所述第二文本数据,生成以语义单元为节点的第二语义单元树;其中,所述第一语义单元树和第二语义单元树的树根为最大语义单元,叶子为最小语义单元;
相似度比较单元,用于将所生成的第一语义单元树与已生成的第二语义单元树进行语义相似度计算,获得所述第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的语义相似度。
7.根据权利要求6所述的装置,其特征在于,语义单元树生成单元包括:
否定句法判断单元,用于判断所述第一文本数据中是否存在否定句法,若是,通知否定句法处理单元,否则通知第一识别单元;
否定句法处理单元,用于对否定句法进行预处理;
第一识别单元,用于以第一文本数据作为最大语义单元生成根节点;识别根节点的所对应的根中心词;
分裂算法计算单元,用于使用语义单元分裂算法,根据所识别出的根中心词,生成以第一文本数据所对应的根中心词为根节点的第一语义单元树,其中,所述第一语义单元树中的各节点和叶子与第一文本数据的内容相对应。
8.根据权利要求7所述的装置,其特征在于,预先将标点符号划分为不同级别的语义级别分割标点,并且,预先设置中心词库,所述中心词库中包括若干个中心词和所述中心词之间的上下级关系;
所述分裂算法计算单元包括:
第一识别单元,用于获得当前待分裂的父节点PV,及该父节点PV对应的中心词;
分割标点级别判断单元,用于确定当前待分裂语义单元中所包含的最高语义级别分割标点p否存为空,若是,通知第一返回单元,否则,通知分割单元;
分割单元,用于以分割标点p分割当前待分裂父节点所代表的语义单元,生成下一级预划分的语义单元节点集合CVSetPre;
下一级中心词判断单元,用于根据所述中心词库判断所述待分裂父节点PV所对应的中心词PW是否对应下一级中心词,若是,则通知语义单元树集合获取单元,否则通知划分单元;
划分单元,用于根据分割标点p做语义单元全分割得到下一级的语义单元CVSet;
第一连接单元,用于以父节点PV为当前的父节点,将语义单元CVSet作为节点PV的下一级子节点,连接至父节点PV上,然后通知第一返回单元;
语义单元树集合获取单元,用于通过中心词数据库获取所述中心词PW所对应的下一级中心词,获得下一级中心词为根的所有语义单元树集合CVTreeSet;
第二连接单元,用于以父节点PV为根,将语义单元树集合CVTreeSet中的所有语义单元树CVTree连接到父节点PV,然后通知第一返回单元;
第一返回单元,用于返回父节点PV为根的语义单元树,生成第一语义单元树。
9.根据权利要求8所述的装置,其特征在于,所述语义单元树集合获取单元包括:
第二识别单元,用于识别下一级预划分的语义单元节点集合CVSetPre中每个预划分的语义单元CVPre的中心词CW;
合并单元,用于将下一级预划分的语义单元节点集合CVSetPre中中心词相同且语义单元位置相邻的语义单元合为一个语义单元节点,生成合并处理后的语义单元CVSet;该合并处理后的语义单元CVSet是一个或多个;初始化语义单元树集合CVTreeSet,令CVTreeSet=Φ;其中,Φ表示空集合;
遍历判断单元,用于判断是否遍历合并处理后的每个语义单元CVSet,若是,则通知第二返回单元,否则通知第三识别单元;
第三识别单元,用于获得当前待分裂的子节点CV,及所述待分裂子节点CV的对应的子中心词CW;
分裂算法子单元,用于递归的采用语义单元分裂算法,生成以当前待分裂的子节点CV为根的子树CVTree;
添加单元,用于将以当前待分裂的子节点CV为根的子树CVTree添加到语义单元树集合CVTreeSet;
第二返回单元,用于返回语义单元树集合CVTreeSet。
10.根据权利要求6所述的装置,其特征在于,所述相似度比较单元包括:
节点相似度计算单元,用于以由叶子节点为基础,向上逐步比较每个节点的相似度;根据各节点占整棵树的权重值,计算出根节点的相似度,从而获得第一语义单元树所对应的第一文本数据与第二语义单元树所对应的第二文本数据的相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101777894A CN102214232A (zh) | 2011-06-28 | 2011-06-28 | 一种文本数据相似度的计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101777894A CN102214232A (zh) | 2011-06-28 | 2011-06-28 | 一种文本数据相似度的计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102214232A true CN102214232A (zh) | 2011-10-12 |
Family
ID=44745540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101777894A Pending CN102214232A (zh) | 2011-06-28 | 2011-06-28 | 一种文本数据相似度的计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102214232A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176962B (zh) * | 2013-03-08 | 2015-11-04 | 深圳先进技术研究院 | 文本相似度的统计方法及系统 |
CN105893503A (zh) * | 2016-03-30 | 2016-08-24 | 浙江传媒学院 | 一种内容无关的文本快速过滤方法 |
CN106169165A (zh) * | 2015-05-20 | 2016-11-30 | 詹宇 | 面向诊疗数据的症状层次关联及预测方法 |
CN106528714A (zh) * | 2016-10-26 | 2017-03-22 | 广州酷狗计算机科技有限公司 | 获取文字提示文件的方法及装置 |
CN106650940A (zh) * | 2016-12-26 | 2017-05-10 | 东软集团股份有限公司 | 一种领域知识库构建方法及装置 |
CN107562714A (zh) * | 2016-06-30 | 2018-01-09 | 北京智能管家科技有限公司 | 一种语句相似度计算方法及装置 |
CN107943965A (zh) * | 2017-11-27 | 2018-04-20 | 福建中金在线信息科技有限公司 | 相似文章检索方法及装置 |
CN107958061A (zh) * | 2017-12-01 | 2018-04-24 | 厦门快商通信息技术有限公司 | 一种文本相似度的计算方法及计算机可读存储介质 |
CN108346474A (zh) * | 2018-03-14 | 2018-07-31 | 湖南省蓝蜻蜓网络科技有限公司 | 基于单词的类内分布与类间分布的电子病历特征选择方法 |
CN108647203A (zh) * | 2018-04-20 | 2018-10-12 | 浙江大学 | 一种中医病情文本相似度的计算方法 |
CN109145085A (zh) * | 2018-07-18 | 2019-01-04 | 北京市农林科学院 | 语义相似度的计算方法及系统 |
CN109299239A (zh) * | 2018-09-29 | 2019-02-01 | 福建弘扬软件股份有限公司 | 一种基于es的电子病历检索方法 |
CN109815490A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 文本分析方法、装置、设备及存储介质 |
CN112560444A (zh) * | 2019-09-26 | 2021-03-26 | 北京国双科技有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
WO2021135103A1 (zh) * | 2020-05-29 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种语义分析方法、装置、计算机设备及存储介质 |
CN114780685A (zh) * | 2022-04-28 | 2022-07-22 | 贵州电网有限责任公司 | 一种自动识别缺陷信息录入情况并通过无人机补录的方法 |
CN116775578A (zh) * | 2023-08-24 | 2023-09-19 | 中电科大数据研究院有限公司 | 政策血缘网络构建方法及装置、政策分析方法及装置 |
CN117422061A (zh) * | 2023-12-19 | 2024-01-19 | 中南大学 | 一种文本词项多重分割结果合并标注方法及装置 |
-
2011
- 2011-06-28 CN CN2011101777894A patent/CN102214232A/zh active Pending
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176962B (zh) * | 2013-03-08 | 2015-11-04 | 深圳先进技术研究院 | 文本相似度的统计方法及系统 |
CN106169165A (zh) * | 2015-05-20 | 2016-11-30 | 詹宇 | 面向诊疗数据的症状层次关联及预测方法 |
CN106169165B (zh) * | 2015-05-20 | 2020-06-16 | 詹宇 | 面向诊疗数据的症状层次关联及预测方法 |
CN105893503A (zh) * | 2016-03-30 | 2016-08-24 | 浙江传媒学院 | 一种内容无关的文本快速过滤方法 |
CN105893503B (zh) * | 2016-03-30 | 2019-05-14 | 浙江传媒学院 | 一种内容无关的文本快速过滤方法 |
CN107562714B (zh) * | 2016-06-30 | 2021-02-09 | 北京儒博科技有限公司 | 一种语句相似度计算方法及装置 |
CN107562714A (zh) * | 2016-06-30 | 2018-01-09 | 北京智能管家科技有限公司 | 一种语句相似度计算方法及装置 |
CN106528714A (zh) * | 2016-10-26 | 2017-03-22 | 广州酷狗计算机科技有限公司 | 获取文字提示文件的方法及装置 |
CN106650940A (zh) * | 2016-12-26 | 2017-05-10 | 东软集团股份有限公司 | 一种领域知识库构建方法及装置 |
CN106650940B (zh) * | 2016-12-26 | 2019-01-22 | 东软集团股份有限公司 | 一种领域知识库构建方法及装置 |
CN107943965A (zh) * | 2017-11-27 | 2018-04-20 | 福建中金在线信息科技有限公司 | 相似文章检索方法及装置 |
CN107958061A (zh) * | 2017-12-01 | 2018-04-24 | 厦门快商通信息技术有限公司 | 一种文本相似度的计算方法及计算机可读存储介质 |
CN108346474A (zh) * | 2018-03-14 | 2018-07-31 | 湖南省蓝蜻蜓网络科技有限公司 | 基于单词的类内分布与类间分布的电子病历特征选择方法 |
CN108346474B (zh) * | 2018-03-14 | 2021-09-28 | 湖南省蓝蜻蜓网络科技有限公司 | 基于单词的类内分布与类间分布的电子病历特征选择方法 |
CN108647203A (zh) * | 2018-04-20 | 2018-10-12 | 浙江大学 | 一种中医病情文本相似度的计算方法 |
CN109145085A (zh) * | 2018-07-18 | 2019-01-04 | 北京市农林科学院 | 语义相似度的计算方法及系统 |
CN109299239A (zh) * | 2018-09-29 | 2019-02-01 | 福建弘扬软件股份有限公司 | 一种基于es的电子病历检索方法 |
CN109299239B (zh) * | 2018-09-29 | 2021-11-23 | 福建弘扬软件股份有限公司 | 一种基于es的电子病历检索方法 |
CN109815490A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 文本分析方法、装置、设备及存储介质 |
CN109815490B (zh) * | 2019-01-04 | 2023-11-14 | 平安科技(深圳)有限公司 | 文本分析方法、装置、设备及存储介质 |
CN112560444A (zh) * | 2019-09-26 | 2021-03-26 | 北京国双科技有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
WO2021135103A1 (zh) * | 2020-05-29 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种语义分析方法、装置、计算机设备及存储介质 |
CN114780685A (zh) * | 2022-04-28 | 2022-07-22 | 贵州电网有限责任公司 | 一种自动识别缺陷信息录入情况并通过无人机补录的方法 |
CN116775578A (zh) * | 2023-08-24 | 2023-09-19 | 中电科大数据研究院有限公司 | 政策血缘网络构建方法及装置、政策分析方法及装置 |
CN117422061A (zh) * | 2023-12-19 | 2024-01-19 | 中南大学 | 一种文本词项多重分割结果合并标注方法及装置 |
CN117422061B (zh) * | 2023-12-19 | 2024-03-08 | 中南大学 | 一种文本词项多重分割结果合并标注方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102214232A (zh) | 一种文本数据相似度的计算方法及装置 | |
CN111414393B (zh) | 一种基于医学知识图谱的语义相似病例检索方法及设备 | |
CN107391906B (zh) | 基于神经网络和图谱结构的健康饮食知识网络构建方法 | |
CN104718542B (zh) | 利用索引串匹配的上下文盲数据转换 | |
US8903825B2 (en) | Semiotic indexing of digital resources | |
Boyack et al. | Mapping the backbone of science | |
Jockers et al. | Text‐mining the humanities | |
Ghosh et al. | A tutorial review on Text Mining Algorithms | |
Okazaki et al. | Building a high-quality sense inventory for improved abbreviation disambiguation | |
Moradi | CIBS: A biomedical text summarizer using topic-based sentence clustering | |
CN106776711A (zh) | 一种基于深度学习的中文医学知识图谱构建方法 | |
Gordon et al. | Literature-based discovery on the World Wide Web | |
CN113076411B (zh) | 一种基于知识图谱的医疗查询扩展方法 | |
CN105279264A (zh) | 一种文档的语义相关度计算方法 | |
JP2020511719A (ja) | 多数のデータ・コーパスからのコグニティブ・インテリジェンス・クエリの作成 | |
da Silva Júnior et al. | A roadmap toward the automatic composition of systematic literature reviews | |
Karami | Fuzzy topic modeling for medical corpora | |
Chou et al. | Integrating XBRL data with textual information in Chinese: A semantic web approach | |
CN111785387A (zh) | 一种使用Bert做疾病标准化映射分类的方法及系统 | |
Dobson | Interpretable outputs: criteria for machine learning in the humanities | |
El-Rashidy et al. | Reliable plagiarism detection system based on deep learning approaches | |
Yogarajan et al. | Comparing high dimensional word embeddings trained on medical text to bag-of-words for predicting medical codes | |
JP4426041B2 (ja) | カテゴリ因子による情報検索方法 | |
CN113343680A (zh) | 一种基于多类型病历文本的结构化信息提取方法 | |
Di Corso et al. | Simplifying text mining activities: scalable and self-tuning methodology for topic detection and characterization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111012 |