CN112487801A - 一种面向安全关键软件的术语推荐方法及系统 - Google Patents

一种面向安全关键软件的术语推荐方法及系统 Download PDF

Info

Publication number
CN112487801A
CN112487801A CN202011143202.3A CN202011143202A CN112487801A CN 112487801 A CN112487801 A CN 112487801A CN 202011143202 A CN202011143202 A CN 202011143202A CN 112487801 A CN112487801 A CN 112487801A
Authority
CN
China
Prior art keywords
candidate
terms
candidate terms
similarity
dependency
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
Application number
CN202011143202.3A
Other languages
English (en)
Inventor
杨志斌
杨永强
王飞
谢健
周勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202011143202.3A priority Critical patent/CN112487801A/zh
Publication of CN112487801A publication Critical patent/CN112487801A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种面向安全关键软件的术语推荐方法及系统,包括:步骤1:基于术语推荐规则集和过滤指标,对输入的安全关键软件的自然语言需求文本进行候选术语提取,得到多个候选术语;步骤2:计算各候选术语之间的相似度,生成相似矩阵;步骤3:基于相似矩阵,采用聚类算法对候选术语进行聚类,得到候选术语的聚类结果;根据本发明的术语推荐方法和系统,可以识别安全关键软件需求中的候选术语,以便辅助术语表的构建、编写术语定义、识别相关术语以及明确潜在的一致性问题等工作。

Description

一种面向安全关键软件的术语推荐方法及系统
技术领域
本发明属于安全关键软件的需求工程领域,具体涉及一种面向安全关键软件的术语推荐方法及系统。
背景技术
安全关键软件(Safety-Critical Software,SCS)是指应用于航空、航天等领域的安全关键软件中,且其运行情况可能引起系统处于危险状态,从而导致财产损失、环境破坏或者人员伤害的一类软件,它对功能正确性、实时性、安全性等性质有极高的要求。
已有的自动术语提取研究主要关注通用领域,且针对英文居多,在安全关键软件设计与开发方法领域关于自动术语提取的研究较少,且安全关键软件需求中的相关知识大多需要手工提取,既费时又费力。
发明内容
发明目的:为弥补在安全关键软件设计与开发方法领域中自动术语提取的空缺、为减少工程师的手工劳动和缩短软件开发的生命周期,本发明提出了一种面向安全关键软件的术语推荐方法和系统,将自然语言处理、机器学习等人工智能技术引入安全关键软件设计与开发,以提高术语表构建、编写术语定义等工作的效率。
技术方案:一种面向安全关键软件的术语推荐方法,包括以下步骤:
步骤1:基于术语推荐规则集和过滤指标,对输入的安全关键软件的自然语言需求文本进行候选术语提取,得到多个候选术语;
步骤2:计算各候选术语之间的相似度,生成相似矩阵;
步骤3:基于相似矩阵,采用聚类算法对候选术语进行聚类,得到候选术语的聚类结果。
进一步的,所述步骤1具体包括以下子步骤:
S100:对输入的安全关键软件的自然语言需求文本进行分句、分词、词性标注和依存句法分析,得到多个词;
S110:基于术语推荐规则集,将符合规则的词串形成候选术语;
S120:基于过滤指标,对S110形成的候选术语进行领域度过滤,得到最终的候选术语。
进一步的,所述术语推荐规则集包括词性匹配规则和依存句法匹配规则。
进一步的,所述S110具体包括:
根据词性匹配规则,将词进行匹配形成候选术语;
基于依存句法匹配规则,将安全关键软件的自然语言需求文本进行依存句法分析,生成依存树,对依存树进行剪枝,生成依存子树;分析每个依存子树中的每个字符串,提取出连续且长度大于1的字符串作为候选术语;
根据词性匹配规则形成的候选术语和基于依存句法匹配规则形成的候选术语,形成最终的候选术语。
进一步的,所述词性匹配规则包括:
符合一词的词性匹配规则:n&length>3;
符合二词的词性匹配规则:n+vn、vn+n、n+n;
符合三词的词性匹配规则:n+vn+n、n+n+n;
符合四词的词性匹配规则:n+n+ng+n;
符合五词的词性匹配规则:v+v+n+n+n、n+n+n+vn+n;
符合六词的词性匹配规则:n+v+a+n+vn+n、n+n+n+vi+vn+n、n+gi+a+n+vn+n、n+gi+n+n+vn+n;
其中,n、vn、p、w、v和ng分别对应的词性为名词、名动词、介词、标点符号、动词和名词性语素。
进一步的,所述的对依存树进行剪枝,生成依存子树,具体为:
保留依存树中的定中关系(ATT)、并列关系(COO)、右附加关系(RAD)和左附加关系(LAD);
按照条件生成依存树T=(V,A,R)对应的依存子树T′=(V′,A′,R′);其中,V为结点集合,表示句子中的词语;A为有向弧集合,表示词语间的依存关系,弧的出发段为依存关系的支配词,弧的指向端为依存关系的被支配词;R为依存树的根节点,是语句的核心动词;
所述条件包括:
Figure BDA0002738857170000021
R'结点的入度为0、除R'之外结点的入度为1、从R'到任一结点有一条有向通路和R'为名词或动词等实词。
进一步的,所述S120具体包括:
通过比较需求语料库中候选术语的出现次数与非特定文本语料库中出现的次数来确定过滤候选术语,从S110形成的候选术语中将过滤候选术语去除;
将存在通用词的候选术语从S110形成的候选术语中去除。
进一步的,所述步骤2具体包括:
采用语法相似度算法计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000022
生成相似矩阵;或者
采用语义相似度算法计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000023
生成相似矩阵;或者
采用语法相似度算法计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000031
采用语义相似度算法计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000032
选取
Figure BDA0002738857170000033
作为候选术语对的相似度,生成相似矩阵。
本发明还公开了一种面向安全关键软件的术语推荐系统,包括:
候选术语提取模块,用于基于术语推荐规则集和过滤指标,对输入的安全关键软件的自然语言需求文本进行候选术语提取;
相似度计算模块,用于计算各候选术语之间的相似度,生成相似矩阵;
候选术语聚类模块,用于基于相似矩阵,采用聚类算法对候选术语进行聚类,输出候选术语的聚类结果。
有益效果:本发明与现有技术相比,具有以下优点:
(1)本发明基于词性匹配规则和依存句法匹配规则对候选术语进行提取,通过术语相似度计算和聚类方法对候选术语进行聚类,将聚类结果推荐给用户,可以辅助术语表的构建、编写术语定义、识别相关术语以及明确潜在的一致性问题(即相同概念的不同表达)等工作;
(2)本发明的推荐方法能够有效减少工程师的手工劳动,缩短软件开发的生命周期。
附图说明
图1为本发明的流程图;
图2为图1中步骤S1的候选术语提取方法流程图;
图3为本发明的系统框图;
图4为本发明的系统界面实现图。
具体实施方式
通过参考示范性实施例,本发明的目的和功能以及用于实现这些目的和功能的方法将得以阐明。然而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。
现参考附图描述本发明的实施例。如图1所示,本实施例的面向安全关键软件的术语推荐方法包括以下步骤:
步骤1:采用自然语言处理方法制定术语推荐规则集和过滤指标,通过术语推荐规则集和过滤指标对输入的安全关键软件(Safety-Critical Software,SCS)的自然语言需求文本进行候选术语提取;在一些实施例中,自然语言处理方法包括但不限于词性标注和依存句法分析,该术语推荐规则集包括但不限于词性匹配规则和依存句法匹配规则;
参见图2,步骤1又可以进一步包括文本预处理、词性规则提取、依存句法规则提取、领域度过滤四个子步骤,现对各子步骤说明如下:
文本预处理:对输入的安全关键软件的自然语言需求文本进行分句、分词、词性标注、依存句法分析等处理。该步骤可以使用成熟的自然语言处理工具,例如ICTCLAS、HanLP等;为方便理解,现举例说明:在对安全关键软件的自然语言需求文本进行分句后,得到“飞机管理计算机通过远程接口单元,发送启动空压机的指令给空气增压机控制器”这条单一需求,对该单一需求进行分词和词性标注处理,得到的结果为“飞机/n,管理/vn,计算机/n,通过/p,远程/n,接口/n,单元/n,,/w,发送/n,启动/v,空压机/n,的/ude1,指令/n,给/p,空气/n,增压/n,机/ng,控制器/n”,其中n、vn、p、w、v、udel和ng分别对应的词性为名词、名动词、介词、标点符号、动词、的和名词性语素。依存句法分析结果如表1所示:
表1依存句法分析结果
Figure BDA0002738857170000041
表中,“飞行”、“管理”和“计算机”的词性分别为“n”、“vn”和“n”;“空气”、“增压”、“机”和“控制器”的词性分别为“n”、“n”、“ng”和“n”;“飞机”和“计算机”的依存关系为“定中关系”,“管理”和“计算机”的依存关系为“定中关系”。
词性规则提取:安全关键软件的领域术语存在语言结构特征,从外部关联来看,领域术语大多是名词性短语,其经常作为领域文本中的主语、宾语、定语等成分;从其内部语法构成来看,其组成形式包括名词+名词(例如“安执机构”)、形容词+名词(例如“可燃材料”)、动词+名词(例如“发射装置”)、动词(名词)+单字名词(例如“气密门”)等;领域术语长度主要是二至六个词。
根据领域术语特征、专家意见和文献调查,制定词性模式匹配规则,如表2所示。例如“飞机管理计算机通过远程接口单元,发送启动空压机的指令给空气增压机控制器”这一需求文本中,符合一词的词性匹配规则“n&length>3”的候选术语有“计算机”、“空压机”和“控制器”,符合二词的词性匹配规则“n+vn、vn+n、n+n”的候选术语有“飞机管理”、“管理计算机”、“远程接口”、“接口单元”和“空气增压”,符合三词的词性匹配规则“n+vn+n、n+n+n”的候选术语有“飞机管理计算机”和“远程接口单元”,符合四词的词性匹配规则“n+n+ng+n”的候选术语有“空气增压机控制器”。
表2词性模式匹配规则
Figure BDA0002738857170000051
依存句法规则提取:依存句法规则提取包括生成依存树、剪枝和生成依存子树三个步骤。首先,对每个需求进行依存句法分析,生成依存树;然后,依存树中一些依存关系通常不会出现名词短语,而领域术语一般为名词短语,因此需对依存关系进行限定,对依存树进行剪枝,本实施例仅保留定中关系(ATT)、并列关系(COO)、右附加关系(RAD)和左附加关系(LAD)四类依存关系,根据定义1,生成仅包含定中关系(ATT)、并列关系(COO)、左附加关系(LAD)、右附加关系(RAD)四类依存关系的依存子树;最后,分析每个依存子树中的每个字符串,提取出连续且长度大于1的字符串作为候选术语。
即:根据词性匹配规则,将词进行匹配形成候选术语;
基于依存句法匹配规则,将安全关键软件的自然语言需求文本进行依存句法分析,生成依存树,对依存树进行剪枝,生成依存子树;分析每个依存子树中的每个字符串,提取出连续且长度大于1的字符串作为候选术语;
根据词性匹配规则形成的候选术语和基于依存句法匹配规则形成的候选术语,形成最终的候选术语。
例如“飞机管理计算机通过远程接口单元,发送启动空压机的指令给空气增压机控制器”这一需求文本,经过生成依存树和剪枝,共生成六棵依存子树,包括、“管理计算机”、“飞机管理计算机”、“远程接口”、“接口单元”、“远程接口单元”、“空气增压”、“增压机”、“空气增压机”、“机控制器”、“增压机控制器”和“空气增压机控制器”。根据生成的依存子树,本实施例选取|V|>1且连续的词串作为候选术语。“飞行管理”、“远程单元”等为非连续词串,而剩余的依存子树均为连续词串,因此生成十一个候选术语,分别为“管理计算机”、“飞机管理计算机”、“远程接口”、“接口单元”、“远程接口单元”、“空气增压”、“增压机”、“空气增压机”、“机控制器”、“增压机控制器”和“空气增压机控制器”。
定义1:给定一棵依存树T=(V,A,R),其中,V为结点集合,表示句子中的词语;A为有向弧集合,表示词语间的依存关系,弧的出发段为依存关系的支配词,弧的指向端为依存关系的被支配词;R为依存树的根节点,是语句的核心动词;则依存子树T′=(V′,A′,R′)满足以下条件:
Figure BDA0002738857170000061
R'结点的入度为0;
除R'之外结点的入度为1;
从R'到任一结点有一条有向通路;
R'为名词或动词等实词。
基于依存规则的术语提取算法.
输入:需求文本Requirements.
输出:候选术语CandidateTerms.
Figure BDA0002738857170000062
Figure BDA0002738857170000071
领域度过滤:术语的领域特性表示该术语通常仅出现在一个或几个特定领域的文本中,并且仅在该特定领域中使用,而通用词对于所有使用该语言的人都是通用的。因此,本实施例共设计两种领域度过滤策略来过滤候选术语。领域度过滤策略一是通过比较需求语料库中候选术语的出现次数与非特定文本语料库(如报纸文章)中出现的次数来确定过滤候选术语,此处的非特定文本语料库,可选取THUCNews中文文本分类数据集的子集。例如,“计算机”在THUCNews中出现的次数为20,而在需求语料库中出现的次数为1,因此过滤掉“计算机”。领域度过滤策略二是对存在通用词的候选术语进行过滤,比如:“的”、“应”、“以便”等。例如,根据专家意见和文献调查,对存在以下通用词的候选术语进行过滤:
到,调用,将,获得,是否,大于,等于,的,取消,毫秒,具有,应,使,保证,能,应有,达到,一定,造成,设有,出现,处于,所有,采用,位于,上的,引起,各种,应采取,不准,可能,产生,启动,设置,以便,使用,允许,减少,必须,不同,依靠,满足,需要,建立,一般,避免,包括,提供,支持,用于,应在,为了,获取,表示,赋予,来自,方法,施加,下,根据,没有,发送,免遭,必要的,大型,不,中,了,适当,以防,防止,符合,发出,内应,构成,应对,良好,和,与,安装,自行,多于,互不,分别,视为,超过,转变,全面,若,或,赋给,秒,执行,各,以上,其他,及,这些,内,时,地,此,每,其中,有关,所需,所,种,相应,其,后,上,之间,以,每个,个,利用,组,条,可,多,少,之,该,处,这个,及其,以及,共用,任何,相关,进入,附近,设在,前进行,有,外,落在,一,二,可用于,小,为,等。
例如,针对“飞机管理计算机通过远程接口单元,发送启动空压机的指令给空气增压机控制器”这条需求,共提取出14个候选术语,分别为“飞机管理”,“管理计算机”,“飞机管理计算机”,“远程接口”,“接口单元”,“远程接口单元”,“空气增压”,“增压机”,“空气增压机”,“机控制器”,“增压机控制器”,“空气增压机控制器”,“空压机”和“控制器”。其中,根据专家意见,最终提取出的术语,包括“飞机管理计算机”,“远程接口单元”,“空压机”和“空气增压机控制器”。
步骤2:术语相似度计算阶段计算候选术语对之间的相似度并生成相似矩阵;现可采用语法相似度策略计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000081
例如:通过余弦相似度算法,计算“管理计算机”和“飞机管理计算机”之间的相似度,得到“管理计算机”和“飞机管理计算机”的余弦相似度为0.816497,通过编辑距离语法相似度,计算“增压机”和“空压机”之间的相似度,得到“增压机”和“空压机”的编辑距离(Levenshtein)为0.714286。
也可采用语义相似度策略计算每一对候选术语(t,t′)的相似度
Figure BDA0002738857170000082
例如:采用基于知网的语义相似度计算“增压机”和“空压机”之间的相似度,得到“增压机”和“空压机”的基于知网的语义相似度为0.979412,采用基于同义词词林的语义相似度计算“增压机”和“空压机”之间的相似度,得到基于同义词词林的语义相似度为0.824587。
也可采用基于语法和语义相似度,即给定一对候选术语(t,t′)的语法相似度
Figure BDA0002738857170000083
和语义相似度
Figure BDA0002738857170000084
选取
Figure BDA0002738857170000085
作为候选术语对的相似度。例如,“增压机”和“空压机”的编辑距离语法相似度和基于知网的语义相似度的最大值为0.979412,编辑距离语法相似度和基于同义词词林的语义相似度的最大值为0.824587。
语法相似度计算包括街区距离(Block Distance)、余弦相似度(Consine)、Dice系数(Dice’s coefficient)、编辑距离(Levenshtein)、欧几里得距离(Euclidean)、Jaccard相似性系数(Jaccard)、Jaro距离(Jaro)、Jaro-Winkler距离(Jaro-Winkler)以及SimHash和汉明距离(SimHash-Hamming)这九种算法。
语义相似度计算包括基于知网(Hownet)和同义词词林(Cilin)的两种算法。
步骤3:候选术语聚类阶段使用相似矩阵和聚类算法来聚类候选术语,最终,输出候选术语的聚类结果。
候选术语聚类有利于用户明确编写术语定义、识别相关术语以及明确潜在的一致性问题(即相同概念的不同表达)等工作。候选术语聚类过程的输入包括相似矩阵、聚类算法以及聚类个数K。输出为K类候选术语的数组。
为了选择较好的聚类算法,本实施例采用K均值(k-means)、期望最大化(Expectation-Maximization,EM)和层次聚类(Hierarchical Clustering)三种聚类算法来进行聚类。对候选术语的聚类结果如下:
聚类一:“飞机管理”,“管理计算机”,“飞机管理计算机”;
聚类二:“远程接口”,“接口单元”,“远程接口单元”;
聚类三:“空气增压”,“增压机”,“空气增压机”,“空压机”;
聚类四:“机控制器”,“增压机控制器”,“空气增压机控制器”,“控制器”。
图3示意性示出了根据本发明公开的安全关键软件术语推荐系统框架图,如图3所示,该系统包括:View模块、Model模块和Controller模块;View模块包括需求展示(RequirementView Package)和术语推荐展示(TermRecommendationView Package);Model模块包括SCSReq模型(SCSReq Package)和术语推荐模型(TermRecommendation Package);Controller模块包括候选术语提取控制器(TermExtraction Package)、相似度计算控制器(SimilarityCalculation Package)和候选术语聚类控制器(TermClustering Package)。现结合图3进一步说明该系统。
TR4SCSTool(Terminology Recommendation for Safety-Critical SoftwareTool)是基于Java程序语言开发并以扩展插件的形式集成到开源Eclipse工具环境中。TRRC4SCSTool原型工具实现过程主要遵循MVC(Model-View-Controller)的设计思想。将用户交互界面与数据模型、术语推荐操作分离,这样设计工具的结构有助于将前端的用户界面与数据模型解耦,也有助于后端中模型与术语推荐算法的解耦。1)View Package。
在MVC中,View指前端与用户进行信息交互的部分,在工具实现中,主要包括RequirementView Package和TermRecommendationView Package,分别用于需求展示和术语推荐的界面实现。前端界面基于Swing前端界面框架和BeautyEye工程实现。Swing是一个为Java设计的图形用户界面(Graphical User Interface,GUI)工具包,而BeautyEye是一款Java Swing跨平台外观(look and feel)实现。在Eclipse中,界面绘制需基于Eclipse扩展点(Extension Piont)实现,其中RequirementView扩展自Eclipse中的View(视图),并且RequirementView package要求文件类型限定在xlsx、xls、txt、doc和docx五种类型,文件格式为每一行为一条需求,不允许有空行,即文件行数对应安全关键软件需求数量。TermRecommendationView package支持txt文件类型的导出,并且支持将选中的候选术语聚类添加进领域词库或者数据字典中。
2)Model Package。
Model在MVC中主要负责软件中数据对象、逻辑规则的描述。在工具实现中,主要包括三种模型,SCSReq模型和术语推荐模型,分别对应SCSReq package和TermRecommendation package进行实现。其中,SCSReq Package实现对安全关键软件需求的数据模型定义;TermRecommendation Package包括三个部分:CandidateTerm Package实现对候选术语的数据模型定义,SimilarityMatrix Package实现对候选术语相似矩阵的数据模型定义,TermClustering Package实现对术语聚类结果的数据模型定义。
3)Controller Package。
在MVC中,Controller主要用于串联前端用户输入和后端数据模型,通常用于实现业务功能在实现过程中。在实现过程中,主要包括三种控制器:候选术语提取控制器(TermExtraction Package)、相似度计算控制器(SimilarityCalculation Package)和候选术语聚类控制器(TermClustering Package)。
TermExtraction package使用HanLP(Han Language Processing)来完成此过程。HanLP是一系列模型与算法组成的自然语言处理工具包,目的是普及自然语言处理在生产环境中的应用。本步骤使用HanLP标准分词以及依存文法分析功能,具体采用StandardTokenizer和NeuralNetworkDependencyParser实现。下面对TermExtractionpackage的代码细节进行说明:
候选术语提取算法TermExtraction.java
initialResult初始候选术语集
deduplicationResult去掉重复候选术语的候选术语集
domainFilteringResult领域度过滤之后的候选术语集
ProcessOne()文本预处理
ProcessTwo()根据词性提取规则提取候选术语
ProcessThree()根据依存提取规则提取候选术语
ProcessFour()根据领域度过滤过滤候选术语
sixMatch()判断六词的词性匹配规则
FiveMatch()判断五词的词性匹配规则
FourMatch()判断四词的词性匹配规则
ThreeMatch()判断三词的词性匹配规则
TwoMatch()判断二词的词性匹配规则
judgeRelation()判断是否为“定中关系”、“并列关系”、“左附加关系”或者“右附加关系”的一种
judgeNumRelation()判断候选字符串是否连续
judgeStopWord()过滤含有通用词的候选术语
SimilarityCalculation package调用Similarity来实现。Similarity由一系列算法组成的Java版相似度计算工具包,目标是传播自然语言处理中相似度计算方法,其包含词语、短语、句子、词法分析、情感分析、语义分析等相关的相似度计算。本步骤的相似度计算可以为以下方法中的任意一种:街区距离(Block Distance)、余弦相似度(Consine)、Dice系数(Dice’s coefficient)、编辑距离(Levenshtein)、欧几里得距离(Euclidean)、Jaccard相似性系数(Jaccard)、Jaro距离(Jaro)、Jaro-Winkler距离(Jaro-Winkler)、SimHash和汉明距离(SimHash-Hamming)、基于知网(Hownet)的语义相似度计算和同义词词林(Cilin)的语义相似度计算。本步骤将Jaro–Winkler距离作为语法相似度默认策略,知网词语相似度(Hownet)作为语义相似度默认策略。
TermClustering package调用Weka机器学习包来实现这一子过程。Weka是由新西兰怀卡托大学开发的智能分析系统(Waikato Environment for Knowledge Analysis),Weka平台提供一个统一界面,汇集了当今最经典的机器学习算法及数据预处理工具。本步骤的聚类算法可以为以下方法中的任意一种:K均值(k-means)、期望最大化(Expectation-Maximization,EM)和层次聚类(Hierarchical Clustering)。本步骤使用层次聚类(Hierarchical Clustering)算法作为聚类算法的默认策略。
图4示意性示出了根据本发明公开的安全关键软件术语推荐系统界面实现图,如图4所示:
图中左侧面板展示集群,每个集群都表示为注释类型。当选择一个集群(注释类型)时,该集群中的所有候选术语都会在右侧面板的文档中高亮显示。这种可视化表示的优势在于保留了给定集群中每个候选术语出现的上下文。在使用集群(注释类型)时,我们希望用户在任何给定的时间都将注意力集中在一个集群上。界面的右下角包含“加入数据字典”和“加入领域词库”两个按钮,其功能为将当前选中的聚类输出到对应的文件中。

Claims (9)

1.一种面向安全关键软件的术语推荐方法,其特征在于:包括以下步骤:
步骤1:基于术语推荐规则集和过滤指标,对输入的安全关键软件的自然语言需求文本进行候选术语提取,得到多个候选术语;
步骤2:计算各候选术语之间的相似度,生成相似矩阵;
步骤3:基于相似矩阵,采用聚类算法对候选术语进行聚类,得到候选术语的聚类结果。
2.根据权利要求1所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述步骤1具体包括以下子步骤:
S100:对输入的安全关键软件的自然语言需求文本进行分句、分词、词性标注和依存句法分析,得到多个词;
S110:基于术语推荐规则集,将符合规则的词串形成候选术语;
S120:基于过滤指标,对S110形成的候选术语进行领域度过滤,得到最终的候选术语。
3.根据权利要求1或2所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述术语推荐规则集包括词性匹配规则和依存句法匹配规则。
4.根据权利要求3所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述S110具体包括:
根据词性匹配规则,将词进行匹配形成候选术语;
基于依存句法匹配规则,将安全关键软件的自然语言需求文本进行依存句法分析,生成依存树,对依存树进行剪枝,生成依存子树;分析每个依存子树中的每个字符串,提取出连续且长度大于1的字符串作为候选术语;
根据词性匹配规则形成的候选术语和基于依存句法匹配规则形成的候选术语,形成最终的候选术语。
5.根据权利要求3所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述词性匹配规则包括:
符合一词的词性匹配规则:n&length>3;
符合二词的词性匹配规则:n+vn、vn+n、n+n;
符合三词的词性匹配规则:n+vn+n、n+n+n;
符合四词的词性匹配规则:n+n+ng+n;
符合五词的词性匹配规则:v+v+n+n+n、n+n+n+vn+n;
符合六词的词性匹配规则:n+v+a+n+vn+n、n+n+n+vi+vn+n、n+gi+a+n+vn+n、n+gi+n+n+vn+n;
其中,n、vn、p、w、v和ng分别对应的词性为名词、名动词、介词、标点符号、动词和名词性语素。
6.根据权利要求4所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述的对依存树进行剪枝,生成依存子树,具体为:
保留依存树中的定中关系(ATT)、并列关系(COO)、右附加关系(RAD)和左附加关系(LAD);
按照条件生成依存树T=(V,A,R)对应的依存子树T′=(V′,A′,R′);其中,V为结点集合,表示句子中的词语;A为有向弧集合,表示词语间的依存关系,弧的出发段为依存关系的支配词,弧的指向端为依存关系的被支配词;R为依存树的根节点,是语句的核心动词;
所述条件包括:
Figure FDA0002738857160000021
R′结点的入度为0、除R′之外结点的入度为1、从R′到任一结点有一条有向通路和R′为名词或动词等实词。
7.根据权利要求2所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述S120具体包括:
通过比较需求语料库中候选术语的出现次数与非特定文本语料库中出现的次数来确定过滤候选术语,从S110形成的候选术语中将过滤候选术语去除;
将存在通用词的候选术语从S110形成的候选术语中去除。
8.根据权利要求1所述的一种面向安全关键软件的术语推荐方法,其特征在于:所述步骤2具体包括:
采用语法相似度算法计算每一对候选术语(t,t′)的相似度
Figure FDA0002738857160000022
生成相似矩阵;或者
采用语义相似度算法计算每一对候选术语(t,t′)的相似度
Figure FDA0002738857160000023
生成相似矩阵;或者
采用语法相似度算法计算每一对候选术语(t,t′)的相似度
Figure FDA0002738857160000024
采用语义相似度算法计算每一对候选术语(t,t′)的相似度
Figure FDA0002738857160000025
选取
Figure FDA0002738857160000026
作为候选术语对的相似度,生成相似矩阵。
9.一种面向安全关键软件的术语推荐系统,其特征在于:包括:
候选术语提取模块,用于基于术语推荐规则集和过滤指标,对输入的安全关键软件的自然语言需求文本进行候选术语提取;
相似度计算模块,用于计算各候选术语之间的相似度,生成相似矩阵;
候选术语聚类模块,用于基于相似矩阵,采用聚类算法对候选术语进行聚类,输出候选术语的聚类结果。
CN202011143202.3A 2020-10-23 2020-10-23 一种面向安全关键软件的术语推荐方法及系统 Pending CN112487801A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011143202.3A CN112487801A (zh) 2020-10-23 2020-10-23 一种面向安全关键软件的术语推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011143202.3A CN112487801A (zh) 2020-10-23 2020-10-23 一种面向安全关键软件的术语推荐方法及系统

Publications (1)

Publication Number Publication Date
CN112487801A true CN112487801A (zh) 2021-03-12

Family

ID=74926912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011143202.3A Pending CN112487801A (zh) 2020-10-23 2020-10-23 一种面向安全关键软件的术语推荐方法及系统

Country Status (1)

Country Link
CN (1) CN112487801A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966508A (zh) * 2021-04-05 2021-06-15 集智学园(北京)科技有限公司 一种通用自动术语提取方法
CN114706953A (zh) * 2022-04-07 2022-07-05 武汉博晟安全技术股份有限公司 安全生产知识智能推荐方法及系统、电子设备和存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493823A (zh) * 2007-10-05 2009-07-29 富士通株式会社 根据单词相关度识别单词聚类
CN103207856A (zh) * 2013-04-03 2013-07-17 同济大学 一种本体概念及层次关系生成方法
CN103207905A (zh) * 2013-03-28 2013-07-17 大连理工大学 一种基于目标文本的计算文本相似度的方法
CN105224520A (zh) * 2015-09-28 2016-01-06 北京信息科技大学 一种中文专利文献术语自动识别方法
CN105930509A (zh) * 2016-05-11 2016-09-07 华东师范大学 基于统计与模板匹配的领域概念自动抽取精化方法及系统
CN107748742A (zh) * 2017-06-16 2018-03-02 平安科技(深圳)有限公司 一种基于句法依存关系提取中心词的方法、终端以及设备
CN108038106A (zh) * 2017-12-22 2018-05-15 北京工业大学 一种基于上下文语义的细粒度领域术语自学习方法
CN108491385A (zh) * 2018-03-16 2018-09-04 广西师范大学 一种基于依存关系的教学领域本体自动生成方法与装置
CN109145607A (zh) * 2018-08-14 2019-01-04 中国空间技术研究院 一种卫星安全关键软件系统性验证方法
CN109753664A (zh) * 2019-01-21 2019-05-14 广州大学 一种面向领域的概念抽取方法、终端设备及存储介质
CN111104478A (zh) * 2019-09-05 2020-05-05 李轶 一种领域概念语义漂移探究方法
CN111177401A (zh) * 2019-12-12 2020-05-19 西安交通大学 一种电网自由文本知识抽取方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493823A (zh) * 2007-10-05 2009-07-29 富士通株式会社 根据单词相关度识别单词聚类
CN103207905A (zh) * 2013-03-28 2013-07-17 大连理工大学 一种基于目标文本的计算文本相似度的方法
CN103207856A (zh) * 2013-04-03 2013-07-17 同济大学 一种本体概念及层次关系生成方法
CN105224520A (zh) * 2015-09-28 2016-01-06 北京信息科技大学 一种中文专利文献术语自动识别方法
CN105930509A (zh) * 2016-05-11 2016-09-07 华东师范大学 基于统计与模板匹配的领域概念自动抽取精化方法及系统
CN107748742A (zh) * 2017-06-16 2018-03-02 平安科技(深圳)有限公司 一种基于句法依存关系提取中心词的方法、终端以及设备
CN108038106A (zh) * 2017-12-22 2018-05-15 北京工业大学 一种基于上下文语义的细粒度领域术语自学习方法
CN108491385A (zh) * 2018-03-16 2018-09-04 广西师范大学 一种基于依存关系的教学领域本体自动生成方法与装置
CN109145607A (zh) * 2018-08-14 2019-01-04 中国空间技术研究院 一种卫星安全关键软件系统性验证方法
CN109753664A (zh) * 2019-01-21 2019-05-14 广州大学 一种面向领域的概念抽取方法、终端设备及存储介质
CN111104478A (zh) * 2019-09-05 2020-05-05 李轶 一种领域概念语义漂移探究方法
CN111177401A (zh) * 2019-12-12 2020-05-19 西安交通大学 一种电网自由文本知识抽取方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RANKA STANKOVIĆ: "Rule-based Automatic Multi-word Term Extraction and Lemmatization", 《PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON LANGUAGE RESOURCES AND EVALUATION》 *
俞琰 等: "基于依存句法分析的中文专利候选术语选取研究", 《图书情报工作》 *
朱松: "术语相似度和术语相关度的融合研究及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966508A (zh) * 2021-04-05 2021-06-15 集智学园(北京)科技有限公司 一种通用自动术语提取方法
CN112966508B (zh) * 2021-04-05 2023-08-25 集智学园(北京)科技有限公司 一种通用自动术语提取方法
CN114706953A (zh) * 2022-04-07 2022-07-05 武汉博晟安全技术股份有限公司 安全生产知识智能推荐方法及系统、电子设备和存储介质
CN114706953B (zh) * 2022-04-07 2023-01-10 武汉博晟安全技术股份有限公司 安全生产知识智能推荐方法及系统、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US7865354B2 (en) Extracting and grouping opinions from text documents
CA2467369C (en) Method and apparatus for textual exploration discovery
Passarotti The Project of the Index Thomisticus Treebank
US8762131B1 (en) Systems and methods for managing a complex lexicon comprising multiword expressions and multiword inflection templates
Vasyl et al. Application of sentence parsing for determining keywords in Ukrainian texts
Aguiar et al. Automatic construction of concept maps from texts
CN112487801A (zh) 一种面向安全关键软件的术语推荐方法及系统
Ogrodniczuk et al. Rule-based coreference resolution module for Polish
Antić Python Natural Language Processing Cookbook: Over 50 recipes to understand, analyze, and generate text for implementing language processing tasks
Bais et al. An independent-domain natural language interface for relational database: Case Arabic language
JP4033011B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
JP7227705B2 (ja) 自然言語処理装置、検索装置、自然言語処理方法、検索方法およびプログラム
González et al. Semantic representations for knowledge modelling of a Natural Language Interface to Databases using ontologies
JP4033093B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
Nobre Anaphora resolution
JP4039282B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
Al Ajeeli An intelligent framework for natural language stems processing
Litkowski Text summarization using xml-tagged documents
Moruz et al. Interlinking and Extending Large Lexical Resources for Romanian
Tran et al. Algorithm of computing verbal relationships for generating Vietnamese paragraph of summarization from the logical expression of discourse representation structure
Suárez et al. A new approach for extracting the conceptual schema of texts based on the linguistic thematic progression theory
Florence et al. A summarizer system based on a semantic analysis of web documents
Minjun et al. Towards Understanding and Applying Chinese Parsing using Cparser
Davydov et al. Partial semantic parsing of sentences by means of grammatically augmented ontology and weighted affix context-free grammar
AbuZeina et al. Research Article Exploring the Performance of Tagging for the Classical and the Modern Standard Arabic

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312

RJ01 Rejection of invention patent application after publication