一种中文事件信息挖掘方法和***
技术领域
本发明属于中文信息挖掘技术领域,尤其涉及一种中文事件信息挖掘方法和***。
背景技术
事件挖掘是从海量互联网文本信息中挖掘出用户感兴趣的事实信息,从而为后续的分析和决策提供依据。例如从互联网挖掘与恐怖袭击有关的事件(包括攻击事件、死亡事件等),可以用于分析各个国家、地区的安全状况,因此,对事件挖掘方法进行研究,特别是对中文事件挖掘方法进行研究有着重要的应用价值。
中文事件挖掘的目的是从原始文本中挖掘出特定事件的锚,并判断挖掘出的锚对应的事件类型。目前,中文事件挖掘方法主要有手工规则方法和有监督方法两种,其中,手工规则方法具体为:人工通过阅读大量的文档信息总结出信息挖掘的规则,然后利用总结出的规则从待挖掘的原始文本(或自然文本)中挖掘信息;有监督方法具体为:用户标注出大量的训练样本,然后在标注的训练样本的基础上训练一个分类器,用于从待挖掘的原始文本中抽取信息。
以上两种挖掘方法中,需要阅读大量文档信息编制挖掘规则或标注出大量训练样本,而挖掘规则的编制和大量训练样本的标注,均需要耗费大量时间和精力,从而导致事件挖掘成本较高,费时费力。
发明内容
有鉴于此,本发明的目的在于提供一种中文事件信息挖掘方法和***,以克服上述问题,实现在少量标注的情况下从原始文本中挖掘中文事件信息的目的,降低挖掘成本。
为此,本发明提供如下技术方案:
一种中文事件信息挖掘方法,包括:
对原始文本的每个文档中的句子进行分析、处理,得到原始文本的候选模板集合,所述候选模板集合包括至少一个候选模板,所述候选模板包括由所述句子的候选事件锚、所述句子的实体、所述候选事件锚到所述实体的句法路径和所述候选事件锚到所述实体的依存路径构成的四元组;
定义需要从所述原始文本中挖掘事件的X种事件样本模型,所述定义的事件样本模型包括事件类型、事件角色和事件角色对应实体的实体类型,不同事件样本模型的事件类型不同,所述X为不小于1的自然数;
对每种事件类型的事件样本模型依次进行实例化处理和信息标注处理,得到所述事件样本模型对应的携带有标注信息的种子事件,各事件样本模型对应的种子事件构成种子事件集合,所述标注信息包括种子事件锚、各个种子事件角色对应的实体及其实体类型;
依据相应的标注信息,对所述种子事件集合中的每个种子事件进行分析、处理,得到所述种子事件集合对应的种子模板集合,所述种子模板集合包括至少一个种子模板,所述种子模板包括由所述种子事件的种子事件锚、所述种子事件的实体、所述种子事件锚到所述实体的句法路径和所述种子事件锚到所述实体的依存路径构成的四元组;
基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,所述挖掘事件锚集合包括至少一个挖掘事件锚;
依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
优选的,所述对原始文本的每个文档中的句子进行分析、处理,得到原始文本的候选模板集合具体包括:
对原始文本每个文档中的句子依次进行词语切分,实体识别、句法分析和依存关系分析,得到原始文本的实体标注句子集合、句法树集合和依存关系集合;
根据词性从所述句法树集合中选择候选事件锚,并依据预先制定的第一过滤规则对所述候选事件锚进行过滤,得到过滤后的候选事件锚;
对于过滤后的任意一个候选事件锚,获取所述候选事件锚所在句子的所有实体,所述实体作为候选实体,并依据预先制定的第二过滤规则对所述候选实体进行过滤,得到过滤后的候选实体。
分别依据所述句法树集合和依存关系集合,获取所述过滤后的候选事件锚中每一候选事件锚与其所在句子中任一过滤后的候选实体间的句法路径和依存路径,将所述候选事件锚、所述实体、所述句法路径以及所述依存路径组合为四元组,并将所述四元组标记为候选模板,所有的候选模板构成候选模板集合。
优选的,所述依据相应的标注信息,对所述种子事件集合中的每个种子事件进行分析、处理,得到所述种子事件集合对应的种子模板集合具体包括:
对所述种子事件集合中的每个种子事件进行词语切分、实体识别、句法分析和依存关系分析,得到种子事件句法集合和种子事件依存关系集合;
分别依据所述种子事件句法集合和种子事件依存关系集合,获取所述种子事件的种子事件锚与其所在句子中任一实体间的句法路径和依存路径,将所述种子事件锚、所述实体、所述句法路径以及所述依存路径组合为种子事件的四元组,将所述种子事件的四元组标记为种子模板,种子事件集合对应的所有的种子模板构成种子模板集合。
优选的,所述基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合具体包括:
从所述候选模板集合中获取与所述种子模板集合中任意一个种子模板为相似模板的各候选模板,所述各候选模板构成初始选中模板集合,获取所述初始选中模板集合中每一候选模板的候选事件锚,将获取的各候选事件锚加入预先建立的挖掘事件锚集合;并从所述候选模板集合中删除初始选中模板集合中的所有候选模板;
将所述原始文本中任意一个文档Doci的文档相关度DocRel(i)赋值为所述文档Doci包含所述挖掘事件锚集合中事件锚的个数,并设置迭代次数n为0,其中i为自然数,1≤i≤M,M为所述原始文本中包含的文档数,M为不小于1的自然数;
判断n的值是否达到第一阈值,若判断结果为是,则结束;否则若判断结果为否,则继续;
计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj),其中,j为自然数,1≤j≤N,N为所述候选模板集合包括的候选模板个数;
计算所述候选模板集合中每个候选模板pj和所述种子模板集合中任一种子模板pk的候选模板相似度SimP(pj,pk),并选择取值最大的候选模板相似度作为所述候选模板pj的语义相似度FinSim(pj),其中,k为自然数,1≤k≤Z,Z为种子模板集合中种子模板的个数;
从所述候选模板集合中选择所述评级得分大于第二阈值并且所述语义相似度大于第三阈值的各个模板,所述各个模板构成迭代候选模板集合;
从所述迭代候选模板集合中选择所述评级得分最高的各候选模板作为选中模板,各选中模板构成选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,并加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合;
从所述迭代候选模板集合中选择所述语义相似度最高的各候选模板作为选中模板,并将所述选中模板加入选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合;
把所述选中模板集合中每个选中模板所在文档的文档相关度值设置为1,并把所述选中模板集合清空;n加1,转至执行步骤:判断n的值是否达到第一阈值,若判断结果为是,则结束;否则若判断结果为否,则继续。
优选的,所述计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj)具体包括:
根据候选模板pj所在文档和所述候选模板pj的相似模板所在文档的文档相关性,采用如下公式(1)计算所述候选模板pj的精确度得分Prec(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目;
根据每一文档在所述种子模板集合中存在的所有模板的精确度得分,利用如下公式(2)计算每个文档Doci新的文档相似度DocRel(i):
其中,Apt(i)为文档Doci中在所述种子模板集合中存在的所有模板集合;
根据所述新的文档相似度,利用如下公式(3)计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目。
优选的,所述计算所述候选模板集合中每个候选模板pj和所述种子模板集合中任一种子模板pk的候选模板相似度SimP(pj,pk)具体包括:
利用如下公式(4)计算所述候选模板pj中候选事件锚aj和种子模板pk中种子事件锚ak的词汇语义相似度:
SimT(aj,ak)=α/(α+d) (4)
其中,d是候选模板pj的候选事件锚aj的义原和种子模板pk的种子事件锚ak的义原在义原层次体系中的路径长度,α是一个可调节的参数;
基于夹角余弦法,利用如下公式(5)计算所述候选模板pj的依存路径depj和种子模板pk的依存路径depk间的依存路径相似度SimD(depj,depk),
其中,n是depj和depk中不同的依存关系数目,是depj中各个依存关系出现个数的向量,是depk中各个依存关系的出现个数的向量;
基于夹角余弦法,利用如下公式(6)计算所述候选模板pj的句法路径synj和种子模板pk的句法路径synk间的句法路径相似度SimS(synj,synk),
其中,n’是synj和synk中不同的句法路径数目,是synj中各个句法路径出现个数的向量,是synk中各个句法路径出现个数的向量;
利用如下公式(7)计算所述候选模板pj中实体的实体类型etj和种子模板pk中实体的实体类型etk间的实体类型相似度SimA(etj,etk):
综合所述句法路径相似度、依存路径相似度、实体类型相似度和词汇语义相似度,利用如下公式(8)计算所述候选模板pj和种子模板pk间的候选模板相似度SimP(pj,pk):
SimP(pj,pk)=β×SimT(aj,ak)+(1-β)×SimA(etj,etk)×Max(SimD(depj,depk),SimS(synj,synk)) (8)
其中,β是一个可调节的参数。
一种中文事件信息挖掘***,包括原始文本分析模块、定义模块、处理模块、种子事件分析模块、事件锚获取模块和事件类型获取模块,其中:
所述原始文本分析模块,用于对原始文本的每个文档中的句子进行分析、处理,得到原始文本的候选模板集合,所述候选模板集合包括至少一个候选模板,所述候选模板包括由所述句子的候选事件锚、所述句子的实体、所述候选事件锚到所述实体的句法路径和所述候选事件锚到所述实体的依存路径构成的四元组;
所述定义模块,用于定义需要从所述原始文本中挖掘事件的N种事件样本模型,所述定义的事件样本模型包括事件类型、事件角色和事件角色对应实体的实体类型,不同事件样本模型的事件类型不同,所述N为不小于1的自然数;
所述处理模块,用于对每种事件类型的事件样本模型依次进行实例化处理和信息标注处理,得到所述事件样本模型对应的携带有标注信息的种子事件,各事件样本模型对应的种子事件构成种子事件集合,所述标注信息包括种子事件锚、各个种子事件角色对应的实体及其实体类型;
所述种子事件分析模块,用于依据相应的标注信息,对所述种子事件集合中的每个种子事件进行分析、处理,得到所述种子事件集合对应的种子模板集合,所述种子模板集合包括至少一个种子模板,所述种子模板包括由所述种子事件的种子事件锚、所述种子事件的实体、所述种子事件锚到所述实体的句法路径和所述种子事件锚到所述实体的依存路径构成的四元组;
所述事件锚获取模块,用于基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,所述挖掘事件锚集合包括至少一个挖掘事件锚;
所述事件类型获取模块,用于依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
优选的,所述原始文本分析模块具体包括:
原始文本预处理模块,用于对原始文本每个文档中的句子依次进行词语切分,实体识别、句法分析和依存关系分析,得到原始文本的实体标注句子集合、句法树集合和依存关系集合;
候选事件锚选择模块,用于根据词性从所述句法树集合中选择候选事件锚,并依据预先制定的第一过滤规则对所述候选事件锚进行过滤,得到过滤后的候选事件锚;
候选实体选择模块,用于对于过滤后的任意一个候选事件锚,获取所述候选事件锚所在句子的所有实体,所述实体作为候选实体,并依据预先制定的第二过滤规则对所述候选实体进行过滤,得到过滤后的候选实体;
候选模板获取模块,用于分别依据所述句法树集合和依存关系集合,获取所述过滤后的候选事件锚中每一候选事件锚与其所在句子中任一过滤后的候选实体间的句法路径和依存路径,将所述候选事件锚、所述实体、所述句法路径以及所述依存路径组合为四元组,并将所述四元组标记为候选模板,所有的候选模板构成候选模板集合。
优选的,所述种子事件分析模块具体包括:
种子事件预处理模块,用于对所述种子事件集合中的每个种子事件进行词语切分、实体识别、句法分析和依存关系分析,得到种子事件句法集合和种子事件依存关系集合;
种子模板获取模块,用于分别依据所述种子事件句法集合和种子事件依存关系集合,获取所述种子事件的种子事件锚与其所在句子中任一实体间的句法路径和依存路径,将所述种子事件锚、所述实体、所述句法路径以及所述依存路径组合为种子事件的四元组,将所述种子事件的四元组标记为种子模板,种子事件集合对应的所有的种子模板构成种子模板集合。
优选的,所述事件锚获取模块具体包括:
初始选择模块,用于从所述候选模板集合中获取与所述种子模板集合中任意一个种子模板为相似模板的各候选模板,所述各候选模板构成初始选中模板集合,获取所述初始选中模板集合中每一候选模板的候选事件锚,将获取的各候选事件锚加入预先建立的挖掘事件锚集合;并从所述候选模板集合中删除初始选中模板集合中的所有候选模板;
赋值模块,用于将所述原始文本中任意一个文档Doci的文档相关度DocRel(i)赋值为所述文档Doci包含所述挖掘事件锚集合中事件锚的个数,并设置迭代次数n为0,其中i为自然数,1≤i≤M,M为所述原始文本中包含的文档数,M为不小于1的自然数;
判断模块,用于判断n的值是否达到第一阈值,若判断结果为是,则结束;否则若判断结果为否,则继续执行评级得分计算模块;
评级得分计算模块,用于计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj),其中,j为自然数,1≤j≤N,N为所述候选模板集合包括的候选模板个数;
相似度计算模块,用于计算所述候选模板集合中每个候选模板pj和所述种子模板集合中任一种子模板pk的候选模板相似度SimP(pj,pk),并选择取值最大的候选模板相似度作为所述候选模板pj的语义相似度FinSim(pj),其中,k为自然数,1≤k≤Z,Z为种子模板集合中种子模板的个数;
第一选择模块,用于从所述候选模板集合中选择所述评级得分大于第二阈值并且所述语义相似度大于第三阈值的各个模板,所述各个模板构成迭代候选模板集合;
第二选择模块,用于从所述迭代候选模板集合中选择所述评级得分最高的各候选模板作为选中模板,各选中模板构成选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,并加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合;
第三选择模块,用于从所述迭代候选模板集合中选择所述语义相似度最高的各候选模板作为选中模板,并将所述选中模板加入选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合;
清空模块,用于把所述选中模板集合中每个选中模板所在文档的文档相关度值设置为1,并把所述选中模板集合清空;n加1,转至执行所述判断模块。
优选的,所述评级得分计算模块具体包括:
精确度得分计算单元,用于根据候选模板pj所在文档和所述候选模板pj的相似模板所在文档的文档相关性,采用如下公式(1)计算所述候选模板pj的精确度得分Prec(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目;
文档相似度计算单元,用于根据每一文档在所述种子模板集合中存在的所有模板的精确度得分,利用如下公式(2)计算每个文档Doci新的文档相似度DocRel(i):
其中,apt(i)为文档Doci中在所述种子模板集合中存在的所有模板集合;
评级得分计算单元,用于根据所述新的文档相似度,利用如下公式(3)计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目。
优选的,所述相似度计算模块具体包括:
词汇语义相似度计算单元,用于利用如下公式(4)计算所述候选模板pj中候选事件锚aj和种子模板pk中种子事件锚ak的词汇语义相似度:
SimT(aj,ak)=α/(α+d) (4)
其中,d是候选模板pj的候选事件锚aj的义原和种子模板pk的种子事件锚ak的义原在义原层次体系中的路径长度,α是一个可调节的参数;
依存路径相似度计算单元,用于基于夹角余弦法,利用如下公式(5)计算所述候选模板pj的依存路径depj和种子模板pk的依存路径depk间的依存路径相似度SimD(depj,depk),
其中,n是depj和depk中不同的依存关系数目,是depj中各个依存关系出现个数的向量,是depk中各个依存关系的出现个数的向量;
句法路径相似度计算单元,用于基于夹角余弦法,利用如下公式(6)计算所述候选模板pj的句法路径synj和种子模板pk的句法路径synk间的句法路径相似度SimS(synj,synk),
其中,n’是synj和synk中不同的句法路径数目,是synj中各个句法路径出现个数的向量,是synk中各个句法路径出现个数的向量;
实体类型相似度计算单元,用于利用如下公式(7)计算所述候选模板pj中实体的实体类型etj和种子模板pk中实体的实体类型etk间的实体类型相似度SimA(etj,etk):
候选模板相似度计算单元,综合所述句法路径相似度、依存路径相似度、实体类型相似度和词汇语义相似度,利用如下公式(8)计算所述候选模板pj和种子模板pk的候选模板相似度SimP(pj,pk):
SimP(pj,pk)=β×SimT(aj,ak)+(1-β)×SimA(etj,etk)×Max(SimD(depj,depk),SimS(synj,synk)) (8)
其中,β是一个可调节的参数。
本发明实施例提供的方法基于原始文本中特定事件的挖掘需求,定义需要从原始文本中挖掘事件的事件样本模型,实例化事件样本模型,得到种子事件,该种子事件作为从原始文本中挖掘事件的依据。对原始文本进行预处理,得到原始文本的候选模板集合,该候选模板集合中的候选模板包括候选事件锚;并对种子事件进行信息标注、以及基于标注信息对种子事件进行处理,得到种子模板集合,之后,基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,并依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
可见本发明的方法不需阅读大量文档信息编制挖掘规则,也不需要标注大量训练样本,只需标注少量样本,即只需标注种子事件即可,从而本发明实现了在少量标注的情况下从原始文本中挖掘中文事件信息的目的,省时省力,降低了挖掘成本,提高了挖掘效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的中文事件信息挖掘方法流程图;
图2是本发明实施例一提供的候选模板集合的获取过程流程图;
图3是本发明实施例一提供的句法路径实例示意图;
图4是本发明实施例一提供的种子模板集合的获取过程流程图;
图5是本发明实施例一提供的挖掘事件锚集合的获取过程流程图;
图6是本发明实施例一提供的候选模板评级得分的计算过程流程图;
图7是本发明实施例一提供的候选模板和种子模板间的语义相似度的计算过程流程图;
图8是本发明实施例二提供的中文事件信息挖掘***的结构示意图;
图9是本发明实施例二提供的原始文本分析模块的结构示意图;
图10是本发明实施例二提供的种子事件分析模块的结构示意图;
图11是本发明实施例二提供的事件锚获取模块的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
实体:Entity,一个语义类别中的对象或对象的集合,如人名、交通工具和地名等。
事件:Event,在真实世界中已经/可能/将要发生的事情,一般包括时间、地点和人物等角色,如出生、死亡、地震和车祸等事件。
角色:Role,事件的参与者和属性,一般用实体来填充。如死亡者、死亡时间和地点就是死亡事件的角色。
事件锚:Anchor,用于识别事件的核心词(一般为动词和名词居多),又称为触发词。如“生于”、“出生”等就是出生事件锚。
事件挖掘:Event Mining,从文档中找到特定事件的锚及其对应句子,然后判别其事件类型。
依存树:Dependency Tree,一个句子的依存关系集合按照支配成分是受支配成分的下位的方法生成的树就是依存树,依存树由结点和边构成,结点是句子的语法成分,相邻结点和结点间的边由这两个结点的依存关系表示。
依存路径:Dependency Path,在依存树上,任意2个结点之间不包含结点、只包含边(依存关系)的路径就是依存路径。
知网:HowNet,一个由董振东等建立的,以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。
义原:Sememe,用于描述词汇语义的最小意义单位。如“129die死”就是词汇“死”的一个义原,其中数字是义原的编号。
召回率:Recall,***正确抽取的事件个数占所有正确事件的比例。衡量事件抽取性能的指标之一。
准确率:Precision,***正确抽取的事件个数占所有抽取出的事件的比例。衡量事件抽取性能的指标之一。
F1指数:F1-Measure,衡量事件抽取性能的综合指标之一,准确率(P)和召回率(R)的加权几何平均值,即:
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开一种中文事件信息挖掘方法和***,以下将通过各实施例对本发明的方法和***进行详细说明。
实施例一
本发明实施例一公开一种中文事件信息挖掘方法,请参见图1,该方法包括:
S1:对原始文本的每个文档中的句子进行分析、处理,得到原始文本的候选模板集合,所述候选模板集合包括至少一个候选模板,所述候选模板包括由所述句子的候选事件锚、所述句子的实体、所述候选事件锚到所述实体的句法路径和所述候选事件锚到所述实体的依存路径构成的四元组。
需要说明的是,本实施例中的原始文本是指需要挖掘事件信息的文本,是没有任何标记信息的文本文档的集合。
其中,请参见图2,步骤S1具体包括:
S11:对原始文本每个文档中的句子依次进行词语切分,实体识别、句法分析和依存关系分析,得到原始文本的实体标注句子集合、句法树集合和依存关系集合。
首先,对原始文本的每个文档以“。”、“!”和“?”为分隔符进行分句,并调用分词工具对分句后的每个句子进行词语切分,得到用空格分隔词语的分词句子集合,例如句子“***党用飞弹攻击以色列奇巴农场,并且造成了3名以色列士兵受伤。”经过词语切分后如例1所示:
例1:***党用飞弹攻击以色列奇巴农场,并且造成了3名以色列士兵受伤。
之后,调用实体识别工具从所述分词句子集合的每个句子中识别实体,并对识别出的实体进行标注,得到实体标注句子集合。所述实体标注句子集合中每个实体标注格式为“实体/实体类型”,比如以上例1经过实体标注后具体如例2所示:
例2:***党/ORG用飞弹/WEA攻击以色列/GPE奇巴农场/LOC,并且造成了3名/NUM以色列/GPE士兵/PER受伤。
其中,“ORG”、“WEA”、“GPE”、“LOC”、“NUM”和“PER”分别表示的实体类型是组织机构、武器装备、政治性实体、位置、数量和人。除此之外,常用的实体类型还有“TIME”、“JOB”、“FAC”和“VEH”等,分别表示时间、工作岗位、场所和交通工具。
然后,调用句法分析工具对实体标注句子集合中的每个句子进行句法分析,得到每个句子的句法树,原始文本中各实体标注句子对应的句法树构成句法树集合。
句法分析具体是指对句子中的词语语法功能进行分析。
利用句法分析工具对以上例2进行句法分析后,如例3所示:
例3:((IP(NP(NR***党))(VP(VP(PP(P用)(NP(NN飞弹)))(VP(VV攻击)(NP(NR以色列)(NR奇巴农场))))(PU,)(CC并且)(VP(VV造成)(AS了)(NP(CD3名)(NR以色列)(NN士兵))(IP(VP(VV受伤)))))(PU。)))
其中,“NR”、“P”、“NN”、“VV”、“PU”、“CC”、“AS”和“CD”是句法分析后的标签,其分别表示专用名词、介词、普通名词、普通动词、标点符号、连词、时态词和数量词;“NP”、“VP”、“PP”和“IP”分别表示名词性短语、动词性短语、介词性短语和子句。
接下来,调用依存关系分析工具对实体标注句子集合中的每个句子进行依存关系分析,得到每个句子对应的依存关系,原始文本中各实体标注句子对应的依存关系构成依存关系集合。
依存关系集合的格式具体为:
依存关系1;依存关系2;……依存关系n。
依存关系是由支配成分(Government)、受支配成分(Dependent)和它们之间的语法关系(Relation)组成的三元组,如“nsubj(攻击-3,***党-1)”,表示支配成分“***党”是受支配成分“攻击”的nsubj(形式主语)。
以上例2的实体标注句子经依存关系分析后,得到的依存关系如例4所示:
例4:nsubj(攻击-4,***党-1);prep(攻击-4,用-2);pobj(用-2,飞弹-3);nn(奇巴农场-6,以色列-5);dobj(攻击-4,奇巴农场-6);cc(攻击-4,并且-8);dep(攻击-4,造成-9);asp(造成-9,了-10);numod(士兵-13,3名-11);nn(士兵-13,以色列-12);nsubj(受伤-14,士兵-13);ccomp(造成-9,受伤-14)。
其中,“nn”,“nsubj”、“dobj”、“cc”、“asp”、“numod”、“ccomp”、“dep”、“pobj”和“prep”是依存关系分析工具输出的关系标签,分别表示并列名词、主谓关系、直接宾语、连接关系、时态标词、数量修饰、从句补语、其它关系、介词宾语和介词关系。
分词工具、实体识别工具、句法分析工具和依存关系分析工具等,是自然语言处理技术中通用的工具,本实施例中分词工具具体采用ICTCLAS,实体识别工具采用StanfordNER、句法分析工具和依存关系分析工具均采用Stanford Parser。
S12:根据词性从所述句法树集合中选择候选事件锚,并依据预先制定的第一过滤规则对所述候选事件锚进行过滤,得到过滤后的候选事件锚。
具体地,从所述句法树集合中选择词性标注为“NN”或“VV”的词作为候选事件锚,选择出的各候选事件锚构成候选事件锚第一集合。
由于在中文事件中事件锚的词性绝大多数是动词或名词,所以本发明选择词性为动词和名词的词语作为候选事件锚。如从例2中选择出的候选事件锚包括:“飞弹”、“攻击”、“造成”、“士兵”和“受伤”。
之后,对候选事件锚第一集合中的候选事件锚采用如下的过滤规则进行过滤,得到过滤后的各候选事件锚,该过滤后的各候选事件锚构成候选事件锚第二集合。
其中,本实施例采用的过滤规则具体为:
1)出现频率规则:统计候选事件锚第一集合中的每个候选事件锚在原始文本中的出现次数,将该出现次数除以原始文本中文档的数目,得到该候选事件锚的出现频率;把出现频率大于预设阈值的候选事件锚从候选事件锚第一集合中删除。
2)实体规则:判断在候选事件锚第一集合中的每个名词性候选事件锚是否是一个实体,如果判断结果为是,则把该名词性候选事件锚从候选事件锚第一集合中删除。
3)并列名词规则:对候选事件锚第一集合中的每个名词性候选事件锚,判断其在所在句子中的位置的后面一个词是否是一个候选事件锚;如果判断结果为是,则把该名词性候选事件锚从候选事件锚第一集合中删除。
例如,从例2中选择出的候选事件锚“飞弹”和“士兵”由于是实体,所以这两个候选事件锚被实体规则所过滤,相应将其从候选事件锚第一集合中删除。
S13:对过滤后的任意一个候选事件锚从所述实体标注句子集合中选择所述候选事件锚所在句子的所有实体,所述实体作为候选实体,并依据预先制定的第二过滤规则对所述候选实体进行过滤,得到过滤后的候选实体。
具体地,各候选实体构成候选实体集合,判断候选实体集合中每一候选实体在其所在句子中的位置的后面一个词是否是一个实体,如果判断结果为是,则过滤掉该候选实体,即从候选实体集合中删除该候选实体。
S14:分别依据所述句法树集合和依存关系集合,获取所述过滤后的候选事件锚中每一候选事件锚与其所在句子中任一过滤后的候选实体间的句法路径和依存路径,将所述候选事件锚、所述实体、所述句法路径以及所述依存路径组合为四元组,并将所述四元组标记为候选模板,所有的候选模板构成候选模板集合。
句法路径是指句法树中两个结点间的路径。
具体地,对过滤后得到的第二候选事件锚集合中的任意一个候选事件锚,将其与其所在句子的候选实体集合(过滤后)中的每一个实体两两构成(候选事件锚,实体)二元组,并从句法树集合中查找该候选事件锚所在句子的句法树,采用树遍历的方法得到所有所述二元组中候选事件锚和实体之间的句法路径;所述二元组和句法路径构成三元组,各候选事件锚对应的各三元组构成句法模板集合。
例如,候选事件锚“攻击”和实体“***党”之间的句法路径如图3所示,为“VV->VP->VP->VP->IP->NP->NR”。
依存路径是指任意两个结点之间通过依存关系建立的路径。
对句法模板集合中的任意一个三元组,根据该三元组中的候选事件锚从依存关系集合中找到该候选事件锚所在句子的依存关系;从找到的该依存关系中遍历得到三元组中的候选事件锚和实体之间的依存路径;所述三元组和所述依存路径组成四元组,将该四元组标记为候选模板,所有的候选模板构成句法依存模板集合。
比如例4中候选事件锚“攻击”和实体“飞弹”之间的依存路径是“prep->pobj”(根据依存关系prep(攻击-4,用-2)和pobj(用-2,飞弹-3)得到),候选事件锚“攻击”和实体“士兵”之间的依存路径是“dep->ccomp->nubj”。
如果句法依存模板集合中任一候选模板的依存路径长度大于第四阈值或者它的句法路径长度大于第五阈值,则把该候选模板从句法依存模板集合中删除,删除操作结束后的句法依存模板集合标记为候选模板集合。
S2:定义需要从所述原始文本中挖掘事件的X种事件样本模型,所述定义的事件样本模型包括事件类型、事件角色和事件角色对应实体的实体类型,不同事件样本模型的事件类型不同,所述X为不小于1的自然数。
具体地,依据具体的挖掘需求,定义需要从原始文本中挖掘的事件的各事件样本模型。例如需从原始文本中挖掘恐怖袭击相关事件,根据该挖掘需求定义了攻击事件样本模型和死亡事件等样本模型,其中定义的攻击事件样本模型具体如例5所示:
例5:事件类型:Attack(攻击)
事件角色及其可填充的实体类型:
Attacker(攻击者):PER/GPE/ORG;
Target(被攻击者):PER/GPE/ORG;
Instrument(攻击装备):WEA/VEH;
Place(攻击地点):LOC/FAC;
Time(攻击时间):TIME
S3:对每种事件类型的事件样本模型依次进行实例化处理和信息标注处理,得到所述事件样本模型对应的携带有标注信息的种子事件,各事件样本模型对应的种子事件构成种子事件集合,所述标注信息包括种子事件锚、各个种子事件角色对应的实体及其实体类型。
具体地,对每种事件类型的事件样本模型进行实例化时,提供的种子事件(作为事件样本模型的事件实例)的个数可视具体挖掘情况而定,本实施例中,针对每种事件类型的事件样本模型给出5-10个标注好的种子事件。
例6是一个种子事件的例子:
例6:<9日早上,Time:TIME>一个穿白色衣服的<少年,Attacker:PER>在<大街,Place:LOC>上用<棒,Instrument:WEA><打,Anchor:Attack>了一个<中年妇女,Target:PER>。
其中,“Anchor:Attack”表示事件的锚,其类型是“Attack”;“Time:TIME”表示其角色是“Time”,实体类型是“TIME”,其它角色的标注类似。
S4:依据相应的标注信息,对所述种子事件集合中的每个种子事件进行分析、处理,得到所述种子事件集合对应的种子模板集合,所述种子模板集合包括至少一个种子模板,所述种子模板包括由所述种子事件的种子事件锚、所述种子事件的实体、所述种子事件锚到所述实体的句法路径和所述种子事件锚到所述实体的依存路径构成的四元组。
如图4所示,步骤S4具体包括:
S41:对所述种子事件集合中的每个种子事件进行词语切分、实体识别、句法分析和依存关系分析,得到种子事件句法集合和种子事件依存关系集合。
其中,如果一个实体被词语切分成多个词,需要合并成为一个词。例如“中华人民共和国”要合并成实体“中华人民共和国”。
S42:分别依据所述种子事件句法集合和种子事件依存关系集合,获取所述种子事件的种子事件锚与其所在句子中任一实体间的句法路径和依存路径,将所述种子事件锚、所述实体、所述句法路径以及所述依存路径组合为种子事件的四元组,将所述种子事件的四元组标记为种子模板,种子事件集合对应的所有的种子模板构成种子模板集合。
上述对种子事件通过词语切分、句法分析、依存关系分析等得出种子事件锚到其对应的实体的句法路径、依存关系路径,并最终得出种子模板集合的详细过程与上文的候选模板集合的获取过程类似,具体请参见候选模板集合获取过程的描述,此处不再详述。
S5:基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,所述挖掘事件锚集合包括至少一个挖掘事件锚。
请参见图5,步骤S5具体包括:
S51:从所述候选模板集合中获取与所述种子模板集合中任意一个种子模板为相似模板的各候选模板,所述各候选模板构成初始选中模板集合,获取所述初始选中模板集合中每一候选模板的候选事件锚,将获取的各候选事件锚加入预先建立的挖掘事件锚集合;并从所述候选模板集合中删除初始选中模板集合中的所有候选模板。
其中,相似模板是指锚相同、实体类型相同以及句法路径相同的两个模板,或者锚相同、实体类型相同以及依存路径相同的两个模板。
S52:将所述原始文本中任意一个文档Doci的文档相关度DocRel(i)赋值为所述文档Doci包含所述挖掘事件锚集合中事件锚的个数,并设置迭代次数n为0,其中i为自然数,1≤i≤M,M为所述原始文本中包含的文档数,M为不小于1的自然数。
具体地,如果文档Doci中不含有挖掘事件锚集合中的事件锚,则该文档Doci的文档相关度为0。
S53:判断n的值是否达到第一阈值,若判断结果为是,则迭代结束;否则若判断结果为否,则执行步骤S54。
预先设置迭代次数(即第一阈值),当n的值到达该阈值,则迭代结束。
S54:计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj),其中,j为自然数,1≤j≤N,N为所述候选模板集合包括的候选模板个数。
如图6所示,上述步骤S54具体包括:
S541:根据候选模板pj所在文档和所述候选模板pj的相似模板所在文档的文档相关性,采用如下公式(1)计算所述候选模板pj的精确度得分Prec(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目;
S542:根据每一文档在所述种子模板集合中存在的所有模板的精确度得分,利用如下公式(2)计算每个文档Doci新的文档相似度DocRel(i):
其中,Apt(i)为文档Doci中在所述种子模板集合中存在的所有模板集合;
S543:根据所述新的文档相似度,利用如下公式(3)计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目。该公式(3)的基本思想是:如果一个文档中出现了某个类型的事件,那么该文档中同类事件或相关事件出现的概率就高。
S55:计算所述候选模板集合中每个候选模板pj和所述种子模板集合中任一种子模板pk的候选模板相似度SimP(pj,pk),并选择取值最大的候选模板相似度作为所述候选模板pj的语义相似度FinSim(pj),其中,k为自然数,1≤k≤Z,Z为种子模板集合中种子模板的个数。
如图7所示,上述步骤S55具体包括:
S551:利用如下公式(4)计算所述候选模板pj中候选事件锚aj和种子模板pk中种子事件锚ak的词汇语义相似度:
SimT(aj,ak)=α/(α+d) (4)
其中,d是候选模板pj的候选事件锚aj的义原和种子模板pk的种子事件锚ak的义原在义原层次体系中的路径长度,α是一个可调节的参数,本实施例中,α的值设置为1.6。
具体地,从Hownet中检索得到候选模板pj的候选事件锚aj和种子模板pi的种子事件锚ak的义原,由于所有的义原在HowNet中根据上下位关系构成了一个树状的义原层次体系,因此本发明通过语义距离(即路径长度)来计算义原的相似度。
S552:基于夹角余弦法,利用如下公式(5)计算所述候选模板pj的依存路径depj和种子模板pk的依存路径depk的依存路径相似度SimD(depj,depk),
其中,n是depj和depk中不同的依存关系数目,是depj中各个依存关系出现个数(如果没有出现,则出现个数设置为0)的向量,是depk中各个依存关系的出现个数的向量。
S553:基于夹角余弦法,利用如下公式(6)计算所述候选模板pj的句法路径synj和种子模板pk的句法路径synk间的句法路径相似度SimS(synj,synk),
其中,n’是synj和synk中不同的句法路径数目,是synj中各个句法路径出现个数的向量,是synk中各个句法路径出现个数的向量。
S554:利用如下公式(7)计算所述候选模板pj中实体的实体类型etj和种子模板pk中实体的实体类型etk的实体类型相似度SimA(etj,etk):
具体地,如果上述两个模板中的实体的实体类型相同(例如都是“PER”),则实体类型相似度为1,否则对其赋值0。
S555:综合所述句法路径相似度、依存路径相似度、实体类型相似度和词汇语义相似度,利用如下公式(8)计算所述候选模板pj和种子模板pk的候选模板相似度SimP(pj,pk):
SimP(pj,pk)=β×SimT(aj,ak)+(1-β)×SimA(etj,etk)×Max(SimD(depj,depk),SimS(synj,synk)) (8)其中,β是一个可调节的参数,本实施例中,β取值0.6。
S556:选择取值最大的候选模板相似度作为所述候选模板pj的语义相似度FinSim(pj)。
S56:从所述候选模板集合中选择所述评级得分大于第二阈值并且所述语义相似度大于第三阈值的各个模板,所述各个模板构成迭代候选模板集合。
S57:从所述迭代候选模板集合中选择所述评级得分最高的候选模板作为选中模板,各选中模板构成选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,并加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合。
S58:从所述迭代候选模板集合中选择所述语义相似度最高的候选模板作为选中模板,并将所述选中模板加入选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合。
S59:把所述选中模板集合中每个选中模板所在文档的文档相关度值设置为1,并把所述选中模板集合清空;n加1,转至执行步骤S53。
S6:依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
具体地,利用以上公式(4)计算挖掘事件锚集合中每个挖掘事件锚ai和种子事件集合中的任一种子事件锚ak的词汇语义相似度SimT(ai,ak),得到该挖掘事件锚ai的词汇语义相似度集合,从该词汇语义相似度集合中获取取值最大的词汇语义相似度,并获取该取值最大的词汇语义相似度对应的种子事件锚,将获取的所述种子事件锚对应的事件类型作为挖掘事件锚的事件类型。至此,本发明完成了从原始文本中获取特定事件锚及其对应的事件类型的过程。
需要说明的是,候选模板集合、种子模板集合的获取不限于本实施例中描述的先后次序,也可以先获取种子模板集合、后获取候选模板集合,当然,也可以同时获取。
综上所述,本发明实施例提供的方法基于原始文本中特定事件的挖掘需求,定义需要从原始文本中挖掘事件的事件样本模型,实例化事件样本模型,得到种子事件,该种子事件作为从原始文本中挖掘事件的依据。对原始文本进行预处理,得到原始文本的候选模板集合,该候选模板集合中的候选模板包括候选事件锚;并对种子事件进行信息标注、以及基于标注信息对种子事件进行处理,得到种子模板集合,之后,基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,并依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
可见本发明方法不需阅读大量文档信息编制挖掘规则,也不需要标注大量训练样本,只需标注少量样本,即只需标注作为从原始文本中挖掘事件的依据的种子事件即可,从而本发明实现了在少量标注的情况下从原始文本中挖掘中文事件信息的目的,省时省力,降低了挖掘成本,提高了挖掘效率。
实施例二
本发明实施例二公开一种中文事件信息挖掘***,请参见图8,该***包括原始文本分析模块100、定义模块200、处理模块300、种子事件分析模块400、事件锚获取模块500和事件类型获取模块600。
原始文本分析模块100,用于对原始文本的每个文档中的句子进行分析、处理,得到原始文本的候选模板集合,所述候选模板集合包括至少一个候选模板,所述候选模板包括由所述句子的候选事件锚、所述句子的实体、所述候选事件锚到所述实体的句法路径和所述候选事件锚到所述实体的依存路径构成的四元组。
其中,如图9所示,原始文本分析模块100具体包括原始文本预处理模块110、候选事件锚选择模块120、候选实体选择模块130和候选模板获取模块140。
原始文本预处理模块110,用于对原始文本每个文档中的句子依次进行词语切分,实体识别、句法分析和依存关系分析,得到原始文本的实体标注句子集合、句法树集合和依存关系集合。
候选事件锚选择模块120,用于根据词性从所述句法树集合中选择候选事件锚,并依据预先制定的第一过滤规则对所述候选事件锚进行过滤,得到过滤后的候选事件锚。
候选实体选择模块130,用于对过滤后的任意一个候选事件锚从所述实体标注句子集合中找到所述候选事件锚所在句子的所有实体,所述实体作为候选实体,并依据预先制定的第二过滤规则对所述候选实体进行过滤,得到过滤后的候选实体。
候选模板获取模块140,用于分别依据所述句法树集合和依存关系集合,获取所述过滤后的候选事件锚中每一候选事件锚与其所在句子中任一过滤后的候选实体间的句法路径和依存路径,将所述候选事件锚、所述实体、所述句法路径以及所述依存路径组合为四元组,并将所述四元组标记为候选模板,所有的候选模板构成候选模板集合。
定义模块200,用于定义需要从所述原始文本中挖掘事件的X种事件样本模型,所述定义的事件样本模型包括事件类型、事件角色和事件角色对应实体的实体类型,不同事件样本模型的事件类型不同,所述X为不小于1的自然数。
处理模块300,用于对每种事件类型的事件样本模型依次进行实例化处理和信息标注处理,得到所述事件样本模型对应的携带有标注信息的种子事件,各事件样本模型对应的种子事件构成种子事件集合,所述标注信息包括种子事件锚、各个种子事件角色对应的实体及其实体类型。
种子事件分析模块400,用于依据相应的标注信息,对所述种子事件集合中的每个种子事件进行分析、处理,得到所述种子事件集合对应的种子模板集合,所述种子模板集合包括至少一个种子模板,所述种子模板包括由所述种子事件的种子事件锚、所述种子事件的实体、所述种子事件锚到所述实体的句法路径和所述种子事件锚到所述实体的依存路径构成的四元组。
具体地,如图10所示,该种子事件分析模块400包括种子事件预处理模块410和种子模板获取模块420。
种子事件预处理模块410,用于对所述种子事件集合中的每个种子事件进行词语切分、实体识别、句法分析和依存关系分析,得到种子事件句法集合和种子事件依存关系集合;
种子模块获取模块420,用于分别依据所述种子事件句法集合和种子事件依存关系集合,获取所述种子事件的种子事件锚与其所在句子中任一实体间的句法路径和依存路径,将所述种子事件锚、所述实体、所述句法路径以及所述依存路径组合为种子事件的四元组,将所述种子事件的四元组标记为种子模板,种子事件集合对应的所有的种子模板构成种子模板集合。
事件锚获取模块500,用于基于所述种子模板集合中的种子模板,采用迭代的方法,依据候选模板评级得分和候选模板与种子模板间的语义相似度对所述候选模板集合进行处理,得到挖掘事件锚集合,所述挖掘事件锚集合包括至少一个挖掘事件锚。
请参见图11,该事件锚获取模块500具体包括:初始选择模块510、赋值模块520、判断模块530、评级得分计算模块540、相似度计算模块550、第一选择模块560、第二选择模块570、第三选择模块580和清空模块590。
初始选择模块510,用于从所述候选模板集合中获取与所述种子模板集合中任意一个种子模板为相似模板的各候选模板,所述各候选模板构成初始选中模板集合,获取所述初始选中模板集合中每一候选模板的候选事件锚,将获取的各候选事件锚加入预先建立的挖掘事件锚集合;并从所述候选模板集合中删除初始选中模板集合中的所有候选模板。
赋值模块520,用于将所述原始文本中任意一个文档Doci的文档相关度DocRel(i)赋值为所述文档Doci包含所述挖掘事件锚集合中事件锚的个数,并设置迭代次数n为0,其中i为自然数,1≤i≤M,M为所述原始文本中包含的文档数,M为不小于1的自然数。
判断模块530,用于判断n的值是否达到第一阈值,若判断结果为是,则结束;否则若判断结果为否,则继续执行评级得分计算模块。
评级得分计算模块540,用于计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj),其中,j为自然数,1≤j≤N,N为所述候选模板集合包括的候选模板个数。
具体地,评级得分计算模块540包括精确度得分计算单元、文档相似度计算单元和评级得分计算单元。
精确度得分计算单元,用于根据候选模板pj所在文档和所述候选模板pj的相似模板所在文档的文档相关性,采用如下公式(1)计算所述候选模板pj的精确度得分Prec(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目;
文档相似度计算单元,用于根据每一文档在所述种子模板集合中存在的所有模板的精确度得分,利用如下公式(2)计算每个文档Doci新的文档相似度DocRel(i):
其中,Apt(i)为文档Doci中在所述种子模板集合中存在的所有模板集合;
评级得分计算单元,用于根据所述新的文档相似度,利用如下公式(3)计算所述候选模板集合中每个候选模板pj的评级得分RankP(pj):
其中,Doc(pj)为包含所述候选模板pj和它的相似模板的文档集合;|Doc(pj)|为包含所述候选模板pj和它的相似模板的文档数目。
相似度计算模块550,用于计算所述候选模板集合中每个候选模板pj和所述种子模板集合中任一种子模板pk的候选模板相似度SimP(pj,pk),并选择取值最大的候选模板相似度作为所述候选模板pj的语义相似度FinSim(pj),其中,k为自然数,1≤k≤Z,Z为种子模板集合中种子模板的个数。
具体地,该相似度计算模块550包括词汇语义相似度计算单元、依存路径相似度计算单元、句法路径相似度计算单元、实体类型相似度计算单元和候选模板相似度计算单元。
词汇语义相似度计算单元,用于利用如下公式(4)计算所述候选模板pj中候选事件锚aj和种子模板pk中种子事件锚ak的词汇语义相似度:
SimT(aj,ak)=α/(α+d) (4)
其中,d是候选模板pj的候选事件锚aj的义原和种子模板pk的种子事件锚ak的义原在义原层次体系中的路径长度,α是一个可调节的参数,本实施例中,α取值1.6。
依存路径相似度计算单元,用于基于夹角余弦法,利用如下公式(5)计算所述候选模板pj的依存路径depj和种子模板pk的依存路径depk的依存路径相似度SimD(depj,depk),
其中,n是depj和depk中不同的依存关系数目,是depj中各个依存关系出现个数的向量,是depk中各个依存关系的出现个数的向量;
句法路径相似度计算单元,用于基于夹角余弦法,利用如下公式(6)计算所述候选模板pj的句法路径synj和种子模板pk的句法路径synk间的句法路径相似度SimS(synj,synk),
其中,n’是synj和synk中不同的句法路径数目,是synj中各个句法路径出现个数的向量,是synk中各个句法路径出现个数的向量;
实体类型相似度计算单元,用于利用如下公式(7)计算所述候选模板pj中实体的实体类型etj和种子模板pk中实体的实体类型etk的实体类型相似度SimA(etj,etk):
候选模板相似度计算单元,综合所述句法路径相似度、依存路径相似度、实体类型相似度和词汇语义相似度,利用如下公式(8)计算所述候选模板pj和种子模板pk的候选模板相似度SimP(pj,pk):
SimP(pj,pk)=β×SimT(aj,ak)+(1-β)×SimA(etj,etk)×Max(SimD(depj,depk),SimS(synj,synk)) (8)
其中,β是一个可调节的参数,本实施例中,β取值0.6。
第一选择模块560,用于从所述候选模板集合中选择所述评级得分大于第二阈值并且所述语义相似度大于第三阈值的各个模板,所述各个模板构成迭代候选模板集合。
第二选择模块570,用于从所述迭代候选模板集合中选择所述评级得分最高的各候选模板作为选中模板,各选中模板构成选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,并加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合。
第三选择模块580,用于从所述迭代候选模板集合中选择所述语义相似度最高的各候选模板作为选中模板,并将所述选中模板加入选中模板集合;把所述选中模板集合中的每个选中模板从所述候选模板集合中删除,加入种子模板集合;把所述选中模板集合中每个选中模板对应的事件锚加入所述挖掘事件锚集合。
清空模块590,用于把所述选中模板集合中每个选中模板所在文档的文档相关度值设置为1,并把所述选中模板集合清空;n加1,转至执行所述判断模块。
事件类型获取模块600,用于依据所述挖掘事件锚集合中每个挖掘事件锚和所述种子事件集合中的任一种子事件锚的词汇语义相似度,获取所述挖掘事件锚所对应的事件类型。
对于本发明实施例二公开的中文事件信息挖掘***而言,由于其与以上实施例一公开的中文事件信息挖掘方法相对应,所以描述的比较简单,相关相似之处请参见实施例一中中文事件信息挖掘方法部分的说明即可,此处不再详述。
综上所述,本发明实现了基于对少量样本进行标注,即基于标注种子事件,利用事件中锚和角色的语义关系,从文档一致性和语义相似性角度,利用自举迭代的方法,从海量原始文本中挖掘事件信息。从而本发明具有只需标注少量样本,人工工作量少,成本低的优点;且由于本发明采用了多视图(文档一致性和语义相似性)方法,挖掘事件的性能有了明显的提升。请参见表1,表1示出了本发明方法和现有的最好最小监督法事件信息挖掘性能的对比实验数据,具体地,表1的数据基于中文ACE2005语料库,ACE2005语料库是信息抽取常用的训练语料,包括633个文档。
实验数据表明,本发明的方法与现有的最好最小监督方法(Shasha Liao andRalph Grishman.2010.Filtered Ranking for Bootstrapping in Event Extraction.InProc.COLING2010,pages680-688,Beijing,China.)相比,性能有了明显提高,F1值提高了11.4%。
表1
*** |
召回率R |
F1 |
目前性能最好的***(Liao等,COLING2010) |
39.4 |
52.7 |
本*** |
63.2 |
64.1 |
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上装置、***时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,
本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。