当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于重叠度计算的NLP库组合使用方法技术

技术编号:23149891 阅读:19 留言:0更新日期:2020-01-18 13:46
本发明专利技术公开了一种基于重叠度计算的NLP(Natural Language Processing,自然语言处理)库组合使用方法,针对软件文档中的自然语言,组合使用多种不同的NLP库对自然语言进行分析,NLP库组合使用技术通过单个NLP库分析、文档级别NLP库选取和语句级别优化三个步骤来结合不同NLP库的优势,从而使得NLP库的分析效果更准确,利于软件开发人员理解软件文档。

A method of NLP library combination based on overlap calculation

【技术实现步骤摘要】
一种基于重叠度计算的NLP库组合使用方法
本专利技术涉及一种使用方法,具体涉及一种基于重叠度计算的NLP库组合使用方法,属于文本分析工具的优化

技术介绍
NLP(NaturalLanguageProcessing,即自然语言处理)是API推荐中的一个重要部分,其情境是分析API推荐场景中的自然语言。在API推荐的场景中,各类软件制品都很常见,例如API文档、开发文档等等,软件制品是帮助研究人员理解软件及程序的重要信息来源。因为软件制品大多由自然语言编写,机器无法自动理解自然语言,所以,为了帮助机器理解软件制品,NLP库被广泛用于分析软件制品中的自然语言。研究表明,NLP库在分析一般文档方面取得了优异的效果,然而,由于软件制品和一般文档存在着较大的差异,例如软件制品中存在着软件元素(如类名、属性名、方法名等)以及软件领域相关的术语,这些符号和术语和一般文档中的自然语言有很大差异,因此想要准确地理解软件制品十分困难。为了能够更好地分析自然语言,维护人员不断地优化现有的NLP库,但是,他们不公开具体的优化方式和优化细节,同时,NLP库的性能也很难进行评估。在目前的研究中,面对不同的研究场景,研究人员选取了不同的NLP库来分析各类文本,但是很少有研究提到选取该NLP库的原因。事实上,选取合适的NLP库是十分重要的,合适的NLP库会对研究成果产生积极影响。目前,已有关于NLP库的实证研究,并提供一套指南,为研究人员选择适当的NLP库提供建议。然而,该指南并不完全适合分析各种软件文档。理由为以下三点:①在某些情况下,不同类型的软件文档可能会被一起分析,在不同的文档和任务上单独选择不同的NLP库可能会削弱技术的自动化;②在现实世界中存在着各种各样的软件文档,为所有类型的软件文档制定通用指南是不切实际的;③NLP库会被不断地优化,在将来的某些场景中,现有的指南可能不准确。针对这一问题,本专利技术考虑通过两个步骤将不同NLP库进行组合,使得NLP库的分析结果更加准确。
技术实现思路
本专利技术正是针对现有技术中存在的问题,提供一种基于重叠度计算的NLP库组合使用方法,并将此方法用在分析API推荐场景中的软件文档中,使得对于API推荐场景中的软件文档的分析更加准确。为了实现上述目的,本专利技术的技术方案如下,一种基于重叠度计算的NLP库组合使用方法,包括如下步骤:步骤1)对同一软件文档,分别使用四种不同的NLP库进行分析,得到每个NLP库对该文档的词性标注结果列表Outputs;步骤2)利用每个NLP库对该文档的词性标注结果列表Outputs,分别计算每个NLP的文档级别重叠度OD,选取文档级别重叠度OD最高的NLP库作为主NLP库;步骤3)将文档划分为句子,针对每个句子,利用主NLP库的词性标注结果列表Outputs,分别计算主NLP库的语句级别重叠度OSt(1≤t≤n;n为该文档中语句的个数);步骤4)比较主NLP库的语句级别重叠度OSt和文档级别重叠度OD,对于某个句子s,如果语句级别重叠度OS小于文档级别重叠度OD,那么使用除主NLP库的其他三个NLP库分析句子s,从而优化文档级别分析的结果,输出最终词性标注结果列表FOutputs。进一步地,步骤2)中每个NLP库的文档级别重叠度OD的方法为:(a)计算两个NLP库即NLP库i和NLP库j之间的文档级别重合度odi,j;公式:其中,{Outputsi}表示NLP库i对该文档的词性标注结果列表,{Outputsj}表示NLP库j对该文档的词性标注结果列表。(b)计算NLP库i的文档级别重叠度ODi;公式:其中,ODi表示NLP库i在文档级别的重叠度,k表示考虑的NLP库的个数。进一步地,步骤3)中计算主NLP库的语句级别重叠度OSt(1≤t≤n;n为该文档中句子的个数),计算方法为:(a)计算两个NLP库即NLP库i和NLP库j之间的语句级别重合度osi,j;公式:其中,{Outseni}表示NLP库i对该语句的词性标注结果列表,{Outsenj}表示NLP库j对该语句的词性标注结果列表。{Outseni}为{Outputsi}的一部分;{Outseni}为{Outputsj}的一部分。(b)计算NLP库i的语句级别重叠度OSi;公式:其中,OSi表示NLP库i在语句级别的重叠度,k表示考虑的NLP库的个数。有益效果:相对于现有技术,本专利技术具有如下优点:(1)该方案提高了分析软件文档中自然语言的结果的准确率,区别于以往API推荐中通过的单个NLP库使用技术,本专利技术包括了两个步骤:文档级别NLP库选取和语句级别结果优化,文档级别NLP库选取可选取在该文档上分析结果最优的NLP库作为主NLP库,在此基础上,增加了语句级别结果优化的步骤,细粒度地优化了分析结果,使得分析结果更准确;综合各个NLP库的优势(2)该方案减弱了NLP库版本对NLP库分析软件文档的准确率造成的影响,基于已有的NLP库实证研究,可以发现选取NLP库的不同版本会对该NLP库分析自然语言的效果有影响,本专利技术的组合使用技术将重点移到了多个NLP库的优势结合上,将重叠度作为选取NLP库的衡量标准,减弱了NLP库版本的影响,从而提升分析文档的准确率;(3)该方案提升了可拓展性,本专利技术提出的基于重叠度计算的NLP库组合使用方法不受NLP库类型、个数的限制,文档重叠度更高的NLP库作为主NLP库,语句级别结果优化也参考了语句级别重叠度,即多数NLP库分析后相同的结果作为最终分析结果,若研究人员需要替换为其他NLP库或增加NLP库的个数,该技术都可使用。附图说明图1是本专利技术方法的体系结构。图2是本专利技术方法的流程图。具体实施方式为了加深对本专利技术的理解,下面结合附图对本实施例做详细的说明。参见图2,本专利技术提出了一种基于重叠度计算的NLP库组合使用方法。通过三个步骤将不同的NLP库进行组合使用,提出了重叠度的计算方法,通过文档级别重叠度进行选取主NLP库,而且在此基础上,通过语句级别重叠度进行主NLP库分析结果优化。实施例1:参见图2,一种基于重叠度计算的NLP库组合使用方法,图2为该NLP库组合使用技术的设计体系结构,下面给出两个主要部分的具体说明。1、文档级别主NLP库的选取;本模块的功能为:通过计算某个NLP库的文档级别重叠度OD,选取主NLP库。计算过程会涉及两个NLP库,为了说明方便,假设两个NLP库为NLP库i和NLP库j。计算过程分为两个步骤,分别为计算两个NLP库即NLP库i和NLP库j之间的文档重叠度odi,j和计算某个NLP库的文档级别重叠度OD,两个步骤的计算方式如下:(1)计算两个NLP库即NLP库i和NLP库j之间的文档级别重合度odi,j公式:其中,{Ou本文档来自技高网
...

【技术保护点】
1.一种基于重叠度计算的NLP库组合使用方法,其特征在于,所述方法包括以下步骤:/n步骤1)对同一软件文档,分别使用四种不同的NLP库进行分析,得到每个NLP库对该文档的词性标注结果列表Outputs;/n步骤2)利用每个NLP库对该文档的词性标注结果列表Outputs,分别计算每个NLP的文档级别重叠度OD,选取文档级别重叠度OD最高的NLP库作为主NLP库;/n步骤3)将文档划分为句子,针对每个句子,利用主NLP库的词性标注结果列表Outputs,分别计算主NLP库的语句级别重叠度OS

【技术特征摘要】
1.一种基于重叠度计算的NLP库组合使用方法,其特征在于,所述方法包括以下步骤:
步骤1)对同一软件文档,分别使用四种不同的NLP库进行分析,得到每个NLP库对该文档的词性标注结果列表Outputs;
步骤2)利用每个NLP库对该文档的词性标注结果列表Outputs,分别计算每个NLP的文档级别重叠度OD,选取文档级别重叠度OD最高的NLP库作为主NLP库;
步骤3)将文档划分为句子,针对每个句子,利用主NLP库的词性标注结果列表Outputs,分别计算主NLP库的语句级别重叠度OSt(1≤t≤n;n为该文档中语句的个数);
步骤4)比较主NLP库的语句级别重叠度OSt和文档级别重叠度OD,对于某个句子s,如果语句级别重叠度OS小于文档级别重叠度OD,那么使用除主NLP库的其他三个NLP库分析句子s,从而优化文档级别分析的结果,输出最终词性标注结果列表FOutputs。


2.根据权利要求1所述的基于重叠度计算的NLP库组合使用方法,其特征在于,所述步骤2)中计算某个NLP库文档级别重叠度OD的方法为:
(a)计算两个NLP库即NLP库i和NLP库j之间的文档级别重合度odi,j;
公式:



其中,{Outputsi}表示NLP库i对该文档的词性标注结果列表,{Out...

【专利技术属性】
技术研发人员:李必信程昕云孔祥龙王璐璐廖力周颖
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1