一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于框架重要度计算句子相似度的方法与流程

2021-10-24 06:48:00 来源:中国专利 TAG:自然语言


1.本发明属于自然语言处理技术领域。


背景技术:

2.框架语义库framenet是一种基于框架语义学(frame semantics)的语义知识库,用于语言学、计算语言学和自然语言处理等语言方面的研究。通过框架语义可以挖掘到词语背后隐藏的概念结构和语义场景。
3.framenet中的框架(frame)是指由词元(lexical units,lus)和它所联系的框架元素(frame elements,fes)构成的表达特定场景的句子语义结构形式。框架中涉及的各种参与者、外部条件等被称为框架元素。框架元素按照重要程度分为核心框架元素(corefes)与非框架元素(peripheral、extra

thematic),核心框架元素是一个框架在概念理解上的必要成分,它们在不同的框架中数量和类型不同,显示框架的个性;非核心框架元素则表达时间、地点等通用语义成分。
4.当句子包含多个框架时不同框架的重要性并不一定相同,要准确度量句子间的相似度,则必须在考虑框架本身的同时考虑其重要性,然而度量句子中框架的重要度并非易事,因为依据不同的重要度度量标准,度量的结果并非一成不变。因此框架重要度度量标准选择是框架重要度度量的关键。目前基于词层面特征的相似度计算方法未考虑句子的结构信息;基于句子结构特征的相似度计算方法未能全面考虑句子语义。以往的句子相似度计算方法主要针对句子关键词和结构的问题,由于考虑句子的语义不全面,缺乏解释性,使得相似性计算结果不够准确。


技术实现要素:

5.发明目的:为了解决上述现有技术存在的问题本发明提供了一种基于框架重要度计算句子相似度的方法。
6.技术方案:本发明提供了一种基于框架重要度计算句子相似度的方法,具体包括如下步骤:
7.步骤1:提取英文句子s中所有的框架,并将该所有的框架构成框架语义信息集合e;
8.步骤2:构建框架语义库framenet可视化工具gifn,通过gifn提取框架语义信息集合e中每个框架的核心框架元素;
9.步骤3:基于每个框架中核心框架元素的个数计算每个框架的框架影响因子;根据框架影响因子建立框架重要度函数,得到框架语义信息集合e中第i个框架的重要度w(f
e,i
),f
e,i
表示框架语义信息集合e中第i个框架,i=1,2,...,frame_s,frame_s为框架语义信息集合e中框架的总个数;
10.步骤4:根据步骤1~3将英文句子s’中所有的框架构成框架语义信息集合e’,并计算框架语义信息集合e’中每个框架的重要度;
11.步骤5:将e和e’中相同的框架作为一组框架组,得到frame_same个框架组;比较第j个框架组中两个框架的重要度,选择最小的框架重要度作为第j个框架组的框架重要度min
j
,j=1,2,...,frame_same;将frame_same个框架组的框架重要度进行累加计算,并基于累加计算的值计算英文句子s和s’的相似度。
12.进一步的,所述步骤1中将英文句子s输入至开源语义框架抽取工具semafor中,所述semafor根据框架语义库framenet的结构解析输入的英文句子s,从而提取英文句子s中的框架。
13.进一步的,所述步骤2中构建框架语义库framenet可视化工具gifn的具体方法为:将framenet中所有框架当做结点,将框架之间的语义关系、词元与框架之间的语义关系当做边,将节点和边存储在图形数据库neo4j中。
14.进一步的,英文句子s和句子s’之间对应的相似度计算公式如下:
[0015][0016]
其中similarity_score是英文句子s和句子s’之间相似度;frame_s'是框架语义信息集合e’中框架的总个数,maximum(.)是取最大值;其中path_score的表达如下:
[0017][0018]
其中frame_rel为最短路径框架对的个数,具体得到最短路径框架对的方法为:在框架语义信息集合e中去除与框架语义信息集合e’中相同的框架,得到集合e1;在框架语义信息集合e’中去除与框架语义信息集合e中相同的框架,得到集合e’1;通过可视化工具gifn得到集合e1中每个框架到达集合e’1中任意一个框架所需边的个数;将所需边个数最少的两个框架作为最短路径框架对;path_value
i,
的表达式如下:
[0019][0020]
其中countpath为第i’个最短路径框架对中其中一个框架到达另外一个框架所需边的个数;weight
t
为第t条边的权重。
[0021]
进一步的,所述步骤3中框架影响因子为:
[0022][0023]
其中,c
i
为f
e,i
中核心框架元素的总个数;n
i
为f
e,i
中框架元素的总个数,β
i
为f
e,i
的框架影响因子。
[0024]
进一步的,所述步骤3中框架重要度函数为:
[0025][0026]
其中为β
i
的指数化分值。
[0027]
有益效果:本发明在考虑框架本身的同时考虑其重要性,能更准确地度量句子间的相似度。本发明能够应用于文本蕴含识别、文本摘要等自然语言处理任务中。
附图说明
[0028]
图1为本发明的框架重要度计算方法流程示意图;
[0029]
图2为根据框架语义库framenet提取核心框架元素的流程图;
[0030]
图3为计算框架重要度函数的流程图;
[0031]
图4为gifn中部分框架之间的语义关系图。
具体实施方式
[0032]
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0033]
本发明的一种基于框架重要度计算句子相似度的方法,根据框架语义库framenet提取框架的核心框架元素,通过框架包含核心框架元素的数量对框架重要度加以区分,方便以后应用于文本蕴含识别、文本摘要等自然语言处理任务中。
[0034]
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程进行充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0035]
本实施例中所述的framenet,指的是美国加州大学伯克利分校构建的基于框架语义学(frame semantics)的语义知识库,用于语言学、计算语言学和自然语言处理等语言方面的研究。通过框架语义可以挖掘到词语背后隐藏的概念结构和语义场景。在framenet中,框架(frame)是指由词元和它所联系的框架元素构成的表达特定场景的句子语义结构形式。框架中涉及的各种参与者、外部条件等被称为框架元素,在现实语料中框架元素与语境中描述事件或事件形态的词汇相对应。框架元素按照重要程度分为核心框架元素与非框架元素,核心框架元素是一个框架在概念理解上的必要成分,它们在不同的框架中数量和类型不同,显示框架的个性;非核心框架元素则表达时间、地点等通用语义成分。
[0036]
semafor是一个开源的框架语义解析器。它能自动地依据framenet结构解析英文句子,获得句子内容所激起的框架、框架元素以及框架元素所指代的具体内容等。本实施设计的关键步骤中,通过semafor开源工具依据语义知识库framenet获取框架语义信息。
[0037]
neo4j是一个高性能的nosql图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的java持久化引擎。neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。neo4j重点解决了拥有大量连接的传统rdbms在查询时出现的性能衰退问题。通过围绕图进行数据建模,neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。
[0038]
如图1所示,本实施例提供了一种基于框架重要度计算句子相似度的方法,其包
括:
[0039]
步骤一,从英文句子s中识别出所有的框架语义信息。使用开源框架语义解析工具semafor依据framenet结构解析句子s,以获得句子s内容所激起的框架,框架中包括词元和它所联系的框架元素,并该所有的框架构成框架语义信息集合e。输入semafor的内容为英文句子s,输出为经过框架语义解析工具semafor分析后的结果。
[0040]
借助开发工具eclipse,将framenet映射到neo4j中,从而得到构建的framenet可视化工具gifn:将框架语义库framenet中所有的框架、框架元素和词元当作结点(因为框架是指由词元和它所联系的框架元素构成的表达特定场景的句子语义结构形式,故故也就是将框架当做结点),将框架之间的关系、词元与框架之间的关系当做边存储在图形数据库neo4j中,得到构建的framenet可视化工具“graphical interpretation for framenet:gifn”。
[0041]
步骤二,从框架语义解析工具semafor分析出来的结果中提取出每一行的框架:定义frameextraction类提取经过框架语义解析工具semafor分析后的结果中每一行的多个框架,frameextraction类中定义searchframe方法用来提取每行的多个框架;调用searchframe方法,结果输出为每一行中包含的全部框架。
[0042]
定framefeextraction类提取经过框架语义解析工具semafor分析后的结果中每一框架所包含的框架元素,framefeextraction类中定义searchfe方法用来提取每个框架下所包含的框架元素;调用searchfe方法,结果输出为每一框架下所包含的全部框架元素。
[0043]
步骤二的部分关键代码如下:
[0044][0045][0046]
步骤二所得结果部分整理如表1所示:
[0047]
表1
[0048]
frame(框架)fes(框架元素)statement{message,speaker}sign_agreement{agreement,signatory}ordinal_numbers{type}possession{possession}compliance{protagonist}
[0049]
步骤三,利用framenet可视化工具gifn将框架语义库framenet以图形化地形式展示出来,gifn中frame(框架)和lus(词元)包含annoset(注释集),fes(框架元素)包含fecoreset(核心框架元素集),其中fecoreset将集合e中框架的核心框架元素表示出来:具体流程如图2所示;定义fecoreextraction类提取经过框架语义解析工具semafor分析后的结果中每一框架所包含的核心框架元素,fecoreextraction类中通过fecoreset找出框架的核心框架元素结果输出为每一框架下所包含的核心框架元素。
[0050]
步骤三所得部分结果整理如表2所示:
[0051]
表2
[0052]
frame(框架)corefes(核心框架元素)statement{message,speaker}sign_agreement{agreement,signatory}ordinal_numbers{type}possession{possession}compliance{protagonist}
[0053]
步骤四,基于每个框架中核心框架元素的个数计算每个框架的框架影响因子。计算每个框架涵盖的核心框架元素个数在整个句子s中框架涵盖的框架元素数量上所占概率,定义其为框架语义信息集合e中的框架影响因子,计算公式如下:
[0054][0055]
其中:c
i
为f
e,i
中核心框架元素的总个数;n
i
为f
e,i
中框架元素的总个数,f
e,i
表示集合e中第i个框架,i=1,2,...,frame_s,frame_s为句子s中涵盖的框架的总个数。一个框架涵盖核心框架元素的数量越多,则重要度越高,其影响因子值越大。
[0056]
当两个框架涵盖的核心框架元素数量相同时,则认为两个框架的语义重要度相同,其影响因子值相同。
[0057]
本实施例中定义fescalculation类计算出英文句子s包含的框架元素总数,定义framenum方法计算出每个句子涵盖的框架个数,定义fesnum方法计算出每一框架涵盖的框架元素个数,定义fesnumall方法进行框架元素个数的累加,输出结果为整个句子包含的框架元素总数。定义corefescalculation类计算每个框架涵盖的核心框架元素个数在整个句子s中框架涵盖的框架元素数量上所占概率,定义corefesnum方法计算出每一框架包含的框架元素个数,定义corefesper方法利用公式(1)计算概率。
[0058]
步骤四所得部分计算结果如表3所示:
[0059]
表3
[0060][0061]
步骤五,构造框架影响因子矩阵,其框架影响因子矩阵为:
[0062]
m=(β
i
)
frame_s
×1[0063]
步骤六,根据集合e中的框架影响因子,对框架重要度进行度量,定义句子s中每个框架的重要度函数,计算框架信息集合e中每个框架的重要度。根据框架中涵盖核心框架元素的数量赋予相应的权重,计算句子s每个框架的对于句子的重要度,具体为:;
[0064]
初始化框架信息集合e中每个框架的重要度。对框架信息集合e中的每个框架的重要度的初始化公式为:
[0065][0066]
规范化英文句子s中框架的重要度。规范化英文句子s中每个框架对于句子的重要度计算公式如下:
[0067][0068]
其中为框架影响因子矩阵中每一元素也既β
i
的指数化分值;0<w(f
e,i
)≤1,
[0069]
本发明的一个实施例,定义frameweight类计算框架重要度,定义corefesperall方法进行框架影响因子的累加,定义frameweight方法利用公式(2)计算框架重要度,输出结果为句子每个框架对应句子的重要度。定义框架重要度函数的流程图如图3所示。
[0070]
步骤七,根据步骤一~六将英文句子s’中所有的框架构成框架语义信息集合e’,并计算框架语义信息集合e’中每个框架的重要度;
[0071]
步骤八:将框架语义信息集合e和框架语义信息集合e’中相同的框架作为一组框架组;得到frame_same个框架组;比较第j个框架组中两个框架的重要度,选择最小的框架重要度作为第j个框架组的框架的重要度min
j
,j=1,2,...,frame_same;将frame_same个框架组的框架的重要度进行累加计算,并基于如下公式计算英文句子s和s’的相似度:
[0072][0073]
其中similarity_score是英文句子s和句子s’之间相似度;frame_s'是框架语义信息集合e’中框架的总个数,maximum(.)是取最大值;其中path_score的计算公式如下:
[0074][0075]
其中frame_rel为最短路径框架对的个数,具体得到最短路径框架对的个数的方法为:在框架语义信息集合e中去除与框架语义信息集合e’中相同的框架,得到集合e1;在框架语义信息集合e’中去除框架语义信息集合e中相同的框架,得到集合e’1;通过视化工具gifn得到集合e1中每个框架到达集合e’1中任意一个框架所需边的个数,部分框架之间的语义关系如图4所示;将所需边个数最少的两个框架作为最短路径框架对;path_value
i,
的表达式如下:
[0076][0077]
其中countpath为第i’个最短路径框架对中其中一个框架到达另外一个框架所需边的个数;weight
t
为第t条边的权重。图4中每条路径的权重如表4所示:
[0078]
表4
[0079]
框架间语义关系(gifn中路径所表示的语义关系也既边)路径权重inherits from0.55is inherited by0.55perspective on0.45is perspective in0.45users0.3is used by0.3subframe of0.35has subframe(s)0.35precedes0.2is preceded by0.2is inchoative of0.3is causative of0.3see also0.4
[0080]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0081]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0082]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜