CN111666748A - 一种自动化分类器的构造方法以及从软件开发文本类制品中识别决策的方法 - Google Patents

一种自动化分类器的构造方法以及从软件开发文本类制品中识别决策的方法 Download PDF

Info

Publication number
CN111666748A
CN111666748A CN202010397679.8A CN202010397679A CN111666748A CN 111666748 A CN111666748 A CN 111666748A CN 202010397679 A CN202010397679 A CN 202010397679A CN 111666748 A CN111666748 A CN 111666748A
Authority
CN
China
Prior art keywords
sentences
decision
data set
sentence
classifier
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.)
Granted
Application number
CN202010397679.8A
Other languages
English (en)
Other versions
CN111666748B (zh
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.)
Abacus Info Shenzhen Co ltd
Wuhan University WHU
Original Assignee
Abacus Info Shenzhen Co ltd
Wuhan University WHU
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 Abacus Info Shenzhen Co ltd, Wuhan University WHU filed Critical Abacus Info Shenzhen Co ltd
Priority to CN202010397679.8A priority Critical patent/CN111666748B/zh
Publication of CN111666748A publication Critical patent/CN111666748A/zh
Application granted granted Critical
Publication of CN111666748B publication Critical patent/CN111666748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

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

Abstract

本发明公开了一种自动化分类器的构造方法以及从软件开发文本类制品中识别决策的方法,步骤1:对软件开发文本类制品中的句子进行手动分析,识别决策句和非决策句,并创建用于自动识别决策的数据集。步骤2:使用多种数据预处理技术,对数据集中的每个句子进行预处理。步骤3:使用多种特征提取技术提取文本特征。步骤4:使用多种分类算法对句子进行分类。步骤5:组合步骤2、3、4中不同的数据预处理技术、特征提取技术、分类算法,构造不同的分类器。本发明的有益效果是:能够对软件开发文本类制品中的句子进行自动化分类,为从业人员开发系统奠定基础,为软件决策分析人员提供指导。

Description

一种自动化分类器的构造方法以及从软件开发文本类制品中 识别决策的方法
技术领域
本发明涉及软件工程技术领域,具体涉及一种自动化分类器的构造方法以及从软件开发文本类制品中识别决策的方法。
背景技术
在处理大量的数据时,人类手动分析数据并从其中挖掘自己需要的有效信息所需的时间成本几乎不可接受。然而随着机器学习的不断发展和完善,各个行业的研究人员和从业人员开始应用自动化技术从大量的数据中获取有意义的信息,并得到了可观的结果。在这一背景下,使用自动化技术处理大量的文本信息成为软件工程领域的重要趋势。
从软件开发文本类制品中识别决策是软件工程中的一个重要任务。开发和维护软件系统的过程中,涉众会针对需求、项目框架、项目管理等做出很多重要的决策。最近一项研究表明,决策贯穿了软件开发的整个生命周期。记录和识别这些决策可以帮助涉众构建相关的开发知识并减少这些知识的汽化,从而避免开发过程中的许多问题(如,软件体系结构的漂移和侵蚀)。Bhat等人提出了一种从问题跟踪管理系统中识别和分类设计决策的自动化方法,对来自两个大型开源项目的1500多个issues进行了研究,结果表明可以以91.29%的精度识别出问题跟踪管理系统中的设计决策。这表明,将自动化技术用于识别文本信息中的决策是可行的。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
然而即使已经有很多研究关注软件开发中的决策,但这些研究往往只关注设计决策。最近一项研究表明,软件开发过程中,除了设计决策外,还涉及大量的需求决策、实施决策、管理决策和测试决策。近年来,邮件列表、问题跟踪管理系统、Github等工具已经成为软件涉众交流的主要平台。涉众会针对开发过程中遇到的问题进行细致的讨论,并交换自己对问题的看法和建议,最终找到合适的解决方案。在交流的过程中,隐含了大量的决策信息。但是从大量的软件开发文本类制品中识别有效的决策信息是一件困难的事。因为这其中涉及大量的人工、时间成本,往往是涉众难以接受的。这导致了软件开发文本类制品中的决策没有被很好的记录下来,从而造成决策知识的流逝。
由此可知,现有技术的方法存在无法提取有效信息或者提取效果较差的技术问题。
发明内容
本发明提出一种自动化分类器的构造方法以及从软件开发文本类制品中识别决策的方法,用于解决或者至少部分解决现有技术的方法存在的无法提取有效信息或者提取效果较差的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种自动化分类器的构造方法,包括:
S1:对软件开发文本类制品中的句子进行分析,识别其中的决策句子和非决策句子,其中,决策句子中的决策包括设计决策、需求决策、管理决策、实现决策、测试决策,并基于识别出的决策句子和非决策句子,创建用于自动识别决策的数据集;
S2:对数据集中的句子进行预处理,利用多种自然语言处理方法从预处理后的数据集中获得与每种自然语言处理技术相对应的有效的句子信息;
S3:对于S2处理后的数据集,分别采用多种特征提取方法提取出每个句子的特征;
S4:对提取出的每个句子的特征采用多种分类算法进行处理,得到每个句子的预测类别;
S5:对多种自然语言处理方法、多种特征提取方法以及多种分类算法进行组合,构造自动化分类器,并对构造的自动化分类器进行训练,得到训练好的分类器。
在一种实施方式中,在步骤S5之后,所述方法还包括S6:采用预设指标对训练好的分类器进行评估。
在一种实施方式中,S1具体包括:
S1.1:采用人工阅读的方式对软件开发文本类制品中的句子进行分析,识别n条决策句;
S1.2,得到n条决策句之后,从软件开发文本类制品中剩下的非决策句中抽取n条非决策句,合并n条决策句和n条非决策句,形成一个包含2n条句子的数据集。
在一种实施方式中,S2具体包括:
S2.1:对S1中得到的数据集中的句子进行分词,利用自然语言处理工具,得到文本中的单词集合,并删除其中的无用字符和URL,再将单词的简写形式转换为完整形式;
S2.2:采用停用词处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用停用词处理方法得到的数据集;
S2.3:采用词干化和词形还原处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用词干化和词形还原处理方法得到的数据集;
S2.4:采用句子长度过滤方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用句子长度过滤方法得到的数据集。
在一种实施方式中,S3具体包括:
S3.1:对S2中处理后的数据集采用词袋模型BoW,计算每个句子中每个单词出现的频率,将频数作为句子的特征,得到每个句子的特征;
S3.2:对S2中处理后的数据集,采用TF-IDF词频-逆文本频率指数技术,计算每个句子中每个单词的TF-IDF权重,将TF-IDF权重作为句子的特征,得到每个句子的特征;
S3.3:采用S2中处理后的数据集中的所有单词训练CBOW模型,得到每个句子的向量值,将其作为每个句子的特征;
S3.4:采用S2中处理后的数据集中的所有单词训练Skip-gram模型,得到每个句子的向量值,将其作为得到每个句子的特征。
在一种实施方式中,S4具体包括:
S4.1:基于步骤S3提取出的句子特征,采用朴素贝叶斯分类算法处理得到的对应的特征数据集,其中,朴素贝叶斯分类算法的参数使用默认值;
S4.2:基于步骤S3提取出的句子特征,采用逻辑回归分类算法处理得到的特征数据集,其中,逻辑回归分类算法的参数使用默认值;
S4.3:基于步骤S3提取出的句子特征,采用决策树分类算法处理得到的特征数据集,其中,决策树分类算法的参数使用默认值;
S4.4:基于步骤S3提取出的句子特征,采用随机森林分类算法处理得到的特征数据集,其中,随机森林分类算法的参数使用默认值;
S4.5:基于步骤S3提取出的句子特征,采用支持向量机分类算法处理得到的特征数据集,其中,支持向量机分类算法的参数使用默认值。
在一种实施方式中,S5具体包括:
S5.1:基于步骤S2.2、S2.3、S2.4中不同的处理方法,得到8个不同的处理理后的数据集;
S5.2:采用4种不同的特征提取技术,在对S2中的8个不同的处理后的数据集进行特征提取,得到32个特征数据集;
S5.3:采用5种不同的分类算法,对32个不同的特征数据集进行分类,得到了160个不同的实验配置,每个实验配置对应一个分类器,包括160个构造不同的分类器。
在一种实施方式中,预设指标包括精确度、召回率和调和平均值,S6具体包括:
S6.1:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个包含停用词的分类器和80个删除停用词的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理停用词的最佳操作;
S6.2:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个词干化以及词形还原的分类器和80个不进行词干化以及词形还原的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理处理词干化和词形还原的最佳操作;
S6.3:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个过滤了过短句子的分类器和80个包含过短句子的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理过短句子的最佳操作;
S6.4:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,并比较每个分类器的精确度、召回率和调和平均值度量,将调和平均值最高的分类器,作为自动识别决策的最佳分类器。
基于同样的发明构思,本发明第二方面提供了一种从软件开发文本类制品中识别决策的方法,利用第一方面所构造的自动化分类器从待决策的软件开发开发文本类制中识别决策。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种自动化分类器的构造方法,对多种自然语言处理方法、多种特征提取方法以及多种分类算法进行组合,构造自动化分类器,并对构造的自动化分类器进行训练,得到训练好的分类器,使得训练好的分类器可以从软件开发文本类制品中提取有效信息或,并且分类器的性能较好。
进一步地,提供了一种从软件开发文本类制品中识别决策的方法,可以利用构建的分类器识别出决策,从本文中抽取有效信息的,并改善识别效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明进行自动化识别决策时的总体框架示意图。
具体实施方式
针对现有技术中没有构造多种分类器从软件开发文本类制品中识别决策的特点,进而造成自动识别准确率不高的技术问题,本发明提供了一种自动化分类器的构造方法,以达到提高软件开发文本类制品中决策识别准确率的目的。
为了实现上述目的,本发明的主要构思如下:
一种用于挖掘决策信息的自动化分类器构造方法,即对软件开发文本类制品中的信息进行分析,然后构造合适的分类器,自动地将文本类制品中的句子分类为决策句和非决策句,为从业人员开发软件奠定基础,为软件决策分析人员提供指导。
具体步骤包括:
步骤1:对软件开发文本类制品中的句子进行手动分析,识别决策句和非决策句,并创建用于自动识别决策的数据集。
步骤2:使用多种数据预处理技术,对数据集中的每个句子进行预处理。包括处理停用词、词干化和词形还原、处理过短句子等操作。
步骤3:使用多种特征提取技术提取文本特征,包括BoW、TF-IDF、CBOW、Skip-gram技术。利用上述技术提取预处理后的数据集中的句子特征。
步骤4:使用多种分类算法对句子进行分类,包括NB、LR、DT、RF、SVM技术。
步骤5:组合步骤2、3、4中不同的数据预处理技术、特征提取技术、分类算法,构造不同的分类器。然后将数据集划分为训练集和测试集,训练集用于训练每个分类器,并使用训练好的分类器预测测试集中每个句子的类别。
本发明的有益效果是:能够对软件开发文本类制品中的句子进行自动化分类,为从业人员开发系统奠定基础,为软件决策分析人员提供指导。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种自动化分类器的构造方法,该方法包括:
S1:对软件开发文本类制品中的句子进行分析,识别其中的决策句子和非决策句子,其中,决策句子中的决策包括设计决策、需求决策、管理决策、实现决策、测试决策,并基于识别出的决策句子和非决策句子,创建用于自动识别决策的数据集;
S2:对数据集中的句子进行预处理,利用多种自然语言处理方法从预处理后的数据集中获得与每种自然语言处理技术相对应的有效的句子信息;
S3:对于S2处理后的数据集,分别采用多种特征提取方法提取出每个句子的特征;
S4:对提取出的每个句子的特征采用多种分类算法进行处理,得到每个句子的预测类别;
S5:对多种自然语言处理方法、多种特征提取方法以及多种分类算法进行组合,构造自动化分类器,并对构造的自动化分类器进行训练,得到训练好的分类器。
具体来说,S1中识别出的决策句子中包括不同类型的决策,设计决策、需求决策、管理决策、实现决策、测试决策,从而可以使得创建的数据集包含不同的决策,提高分类器的效果。
S2中利用多种自然语言处理方法从预处理后的数据集中获得与每种自然语言处理技术相对应的有效的句子信息,每种自然语言处理方法可以得到与该方法对应的后的处理结果,也是一种数据集。
S3是在S2的基础上,对S2处理后的数据集分别采用多种特征提取方法进行特征提取,例如S2中可以得到3种数据集,则分别对这3种数据集分别进行特征提取。
在一种实施方式中,在步骤S5之后,所述方法还包括S6:采用预设指标对训练好的分类器进行评估。
请参见图1,为本发明进行自动化识别决策时的总体框架示意图。
在一种实施方式中,S1具体包括:
S1.1:采用人工阅读的方式对软件开发文本类制品中的句子进行分析,识别n条决策句;
S1.2,得到n条决策句之后,从软件开发文本类制品中剩下的非决策句中抽取n条非决策句,合并n条决策句和n条非决策句,形成一个包含2n条句子的数据集。
具体来说,S1.1中,本发明旨在识别句子级别的决策。首先从软件开发文本类制品中手动收集决策,通过人工认真阅读每句话,将所有的决策句抽取出来。为了保证数据抽取决策的准确性,首先制定决策的纳入和排除标准,然后由两位研究人员根据纳入和排除标准分别阅读句子,得到两份决策句子集。之后,将两位研究人员抽取的决策句子集进行对比和整理,不一致的地方进行讨论,最终得到软件开发文本类制品中的所有决策句。
在一种实施方式中,S2具体包括:
S2.1:对S1中得到的数据集中的句子进行分词,利用自然语言处理工具,得到文本中的单词集合,并删除其中的无用字符和URL,再将单词的简写形式转换为完整形式;
S2.2:采用停用词处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用停用词处理方法得到的数据集;
S2.3:采用词干化和词形还原处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用词干化和词形还原处理方法得到的数据集;
S2.4:采用句子长度过滤方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用句子长度过滤方法得到的数据集。
具体来说,S2.1中的自然语言处理工具可以根据需要选取,例如NLTK,无用字符包括”===”、”*”、”/”等。
S2.2的作用是对比去除停用词对决策识别的影响,因此设置了对照实验。即:使用两种方式处理数据集中的停用词,a)包含停用词和b)删除停用词。在删除停用词时,删除了对决策识别无意义的词,包括介词、连词和代词。
S2.3的作用是对比词干化和词形还原对决策识别的影响,因此也设置了对照实验。即使用两种方式处理数据集中的单词,a)进行词干化以及词形还原和b)不进行词干化和词形还原。
同理,S2.4的作用是对比过短句子对决策识别的影响,也设置了对照实验。即使用两种方式处理数据集中过短的句子,a)包含过短的句子和b)过滤掉过短的句子。
在一种实施方式中,S3具体包括:
S3.1:对S2中处理后的数据集采用词袋模型BoW,计算每个句子中每个单词出现的频率,将频数作为句子的特征,得到每个句子的特征;
S3.2:对S2中处理后的数据集,采用TF-IDF词频-逆文本频率指数技术,计算每个句子中每个单词的TF-IDF权重,将TF-IDF权重作为句子的特征,得到每个句子的特征;
S3.3:采用S2中处理后的数据集中的所有单词训练CBOW模型,得到每个句子的向量值,将其作为每个句子的特征;
S3.4:采用S2中处理后的数据集中的所有单词训练Skip-gram模型,得到每个句子的向量值,将其作为得到每个句子的特征。
具体来说,S3.1~S3.4是在S2的基础上的进一步操作,其中,S2中处理后的数据集包括两种,一种是采用了某种自然语言处理技术得到的数据集,一种是未采用自然语言处理技术得到的数据集。
在一种实施方式中,S4具体包括:
S4.1:基于步骤S3提取出的句子特征,采用朴素贝叶斯分类算法处理得到的对应的特征数据集,其中,朴素贝叶斯分类算法的参数使用默认值;
S4.2:基于步骤S3提取出的句子特征,采用逻辑回归分类算法处理得到的特征数据集,其中,逻辑回归分类算法的参数使用默认值;
S4.3:基于步骤S3提取出的句子特征,采用决策树分类算法处理得到的特征数据集,其中,决策树分类算法的参数使用默认值;
S4.4:基于步骤S3提取出的句子特征,采用随机森林分类算法处理得到的特征数据集,其中,随机森林分类算法的参数使用默认值;
S4.5:基于步骤S3提取出的句子特征,采用支持向量机分类算法处理得到的特征数据集,其中,支持向量机分类算法的参数使用默认值。
具体来说,步骤S4.1~S4.5是在S3的基础上的进一步操作,其中,S3中提取出的句子特征,分别包括针对采用某种自然语言处理技术得到的数据集提取出的特征、针对未采用自然语言处理技术得到的数据集提取出的特征。分别根据不同的特征,可以采用不同的分类算法,得到每个句子的预测类别。
在一种实施方式中,S5具体包括:
S5.1:基于步骤S2.2、S2.3、S2.4中不同的处理方法,得到8个不同的处理后的数据集;
S5.2:采用4种不同的特征提取技术,在对S2中的8个不同的处理后的数据集进行特征提取,得到32个特征数据集;
S5.3:采用5种不同的分类算法,对32个不同的特征数据集进行分类,得到了160个不同的实验配置,每个实验配置对应一个分类器,包括160个构造不同的分类器。
具体来说,每个分类器的构造不同,因此对数据集的处理流程也不同。每个分类器的输入是清洗过后的数据集(即删除了无用的字符等),输出是分类器在测试集上的预测结果。总的来说,分类器处理数据集的流程顺序是:处理停用词、处理词干化和词形还原操作、处理过短句子、提取句子特征、划分数据集、训练分类器、预测测试集。例如,基于朴素贝叶斯分类算法的某个分类器处理数据集的具体流程是:输入清洗后的数据集、删除停用词、词干化和词形还原、过滤过短句子、使用BoW技术提取文本特征、划分特征数据集为训练集和测试集、使用训练集训练朴素贝叶斯分类算法、将训练好的朴素贝叶斯分类算法用于测试集。输出预测的测试集中句子的分类。
在一种实施方式中,预设指标包括精确度、召回率和调和平均值,S6具体包括:
S6.1:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个包含停用词的分类器和80个删除停用词的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理停用词的最佳操作;
S6.2:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个词干化以及词形还原的分类器和80个不进行词干化以及词形还原的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理处理词干化和词形还原的最佳操作;
S6.3:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个过滤了过短句子的分类器和80个包含过短句子的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理过短句子的最佳操作;
S6.4:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,并比较每个分类器的精确度、召回率和调和平均值度量,将调和平均值最高的分类器,作为自动识别决策的最佳分类器。
具体来说,S6.1中,在将两组平均精确度、召回率和调和平均值度量进行对比时,调和平均值F1-score的权重最大,对于得到较高的平均F1-score的操作,认为是自动识别决策时,处理停用词的最佳操作。S6.2和S6.3也类似。
需要说明的是步骤6.1~6.3得到的最佳操作,是每个步骤中,不同分类器配置下,整体表现更好(更稳定)的操作。例如:面对不同的“特征提取技术”和“分类算法”,“包含停用词”和“删除停用词”哪种方式整体表现更好,但是步骤6.1~6.3中整体表现更好的操作,在S6.4中得到最佳的单个分类器中表现不一定好(因为最佳操作可能不适用于这个最佳分类器)。
通过S6.1~S6.3可以在预处理阶段、特征提取阶段、分类算法阶段选择某种技术时,得知应当优先考虑稳定的操作技术。
下面是应用本发明进行具体实施例:以Hibernate开发者邮件列表为例,并结合附图,详细描述本发明的实施过程。
邮件列表已经被用作开源软件开发中沟通交流的主要工具。在2002年1月到2015年6月间,Hibernate开发人员在Sourceforge平台上共计发布了9006个邮件。这些邮件提供了大量与开发知识相关的数据,可能存在着很多关于需求、设计、测试等的决策。本发明选择Hibernate作为数据来源主要包含2个原因:(1)Hibernate在开源软件开发社区中是一个非常流行的项目;(2)Hibernate开发者邮件列表的数据对所有人是开放和可用的。
针对Hibernate开发者邮件列表,首先按照步骤1.1对所有邮件(9006封)进行分析。在该步骤中,为了保证决策识别的准确性,由两位研究人员分别阅读所有邮件中的每个句子。将每个句子归类为决策句或非决策句。这个步骤结束后,本实施例得到了980条决策句。然后按照步骤1.2,为了创建平衡数据集,本实施例选择了650条决策句,并从剩下的非决策句中也选了650条非决策句。最终得到了包含1300条句子的数据集。
然后执行步骤2,对数据集进行预处理。执行步骤2.1时,本实施例在分词之后删除了1300条句子中无用的字符以及URL。之后,检查每个单词并将简写形式转换为全称形式。本实施例还按照步骤2.2、2.3、2.4中的方式,分别使用了两种方式处理停用词、词干化和词形还原、以及过短的句子。
之后执行步骤3,提取句子的特征。在这一步骤中,本实施例使用了4种技术提取句子特征,分别是BoW、TF-IDF、CBOW、Skip-gram。
然后执行步骤4,训练分类算法。在这一步骤中,本实施例使用了5种分类算法对句子进行分类,分别是NB、LR、DT、RF、SVM。
然后执行步骤5,构造分类器。由于步骤2.2、2.3、2.4中不同数据处理方式的存在,一共对1300条句子处理了2*2*2=8次,得到了8个不同的处理后的数据集。之后,将步骤3中的4种特征提取技术应用于由步骤2得到的8个数据集,提取了每个数据集中每个句子的特征,最终得到了4*8=32个特征数据集。然后使用步骤4中的5种分类器处理这32个特征数据集,最终得到了5*32=160个不同的分类器。为了训练分类器,本实施例将数据集划分为训练集(90%)和测试集(10%)。用训练集训练每个分类器,然后使用训练好的分类器预测测试集中每个句子的类别。
最后,执行步骤6,评估了所有分类器的分类结果。在执行步骤5后,共计160个分类器。将每个分类器预测测试集中句子的分类结果和句子的实际分类(即手动标记的类别)进行对比之后,本实施例使用了3种度量评估每个分类器的分类性能,分别是Precision、Recall、F1-score。由于F1-score是Precision和Recall的调和平均数,也是二分类中最常用的衡量指标,因此使用F1-score作为衡量分类器的指标。执行步骤6.1后,本实施例得到了处理停用词的最佳操作。执行步骤6.2后,得到了处理词干化和词形还原的最佳操作。执行步骤6.3后,得到了处理过短句子的最佳操作。执行步骤6.4后,本实施例得到了从Hibernate开发者邮件列表中识别决策的最佳分类器。
与现有技术相比,本发明的有益效果和优点如下:
能够对软件开发文本类制品中的句子进行自动化分类,提取出有效信息,并提高识别效果,为从业人员开发系统奠定基础,为软件决策分析人员提供指导。
实施例二
基于同样的发明构思,本实施例提供了一种从软件开发文本类制品中识别决策的方法,利用实施例一所构造的自动化分类器从待决策的软件开发开发文本类制中识别决策。
具体来说,本实施例是对分类器的具体应用,在实施例一构造好分类器后,则可以利用构造的分类器对待识别的软件开发文本类制品进行识别决策。
由于本发明实施例二所介绍的方法,为基于本发明实施例一中构造的分类器所实现的方法,故而基于本发明实施例一所构造的分类器,本领域所属人员能够了解该分类器的具体应用方式,故而在此不再赘述。凡是基于本发明实施例一中构造的分类器所实现的方法都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种自动化分类器的构造方法,其特征在于,包括:
S1:对软件开发文本类制品中的句子进行分析,识别其中的决策句子和非决策句子,其中,决策句子中的决策包括设计决策、需求决策、管理决策、实现决策、测试决策,并基于识别出的决策句子和非决策句子,创建用于自动识别决策的数据集;
S2:对数据集中的句子进行预处理,利用多种自然语言处理方法从预处理后的数据集中获得与每种自然语言处理技术相对应的有效的句子信息;
S3:对于S2处理后的数据集,分别采用多种特征提取方法提取出每个句子的特征;
S4:对提取出的每个句子的特征采用多种分类算法进行处理,得到每个句子的预测类别;
S5:对多种自然语言处理方法、多种特征提取方法以及多种分类算法进行组合,构造自动化分类器,并对构造的自动化分类器进行训练,得到训练好的分类器。
2.如权利要求1所述的方法,其特征在于,在步骤S5之后,所述方法还包括S6:采用预设指标对训练好的分类器进行评估。
3.如权利要求1所述的方法,其特征在于,S1具体包括:
S1.1:采用人工阅读的方式对软件开发文本类制品中的句子进行分析,识别n条决策句;
S1.2,得到n条决策句之后,从软件开发文本类制品中剩下的非决策句中抽取n条非决策句,合并n条决策句和n条非决策句,形成一个包含2n条句子的数据集。
4.如权利要求1所述的方法,其特征在于,S2具体包括:
S2.1:对S1中得到的数据集中的句子进行分词,利用自然语言处理工具,得到文本中的单词集合,并删除其中的无用字符和URL,再将单词的简写形式转换为完整形式;
S2.2:采用停用词处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用停用词处理方法得到的数据集;
S2.3:采用词干化和词形还原处理方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用词干化和词形还原处理方法得到的数据集;
S2.4:采用句子长度过滤方法对S2.1得到的数据集进行处理,得到对应的有效的句子信息,并保留未采用句子长度过滤方法得到的数据集。
5.如权利要求1所述的方法,其特征在于,S3具体包括:
S3.1:对S2中处理后的数据集采用词袋模型BoW,计算每个句子中每个单词出现的频率,将频数作为句子的特征,得到每个句子的特征;
S3.2:对S2中处理后的数据集,采用TF-IDF词频-逆文本频率指数技术,计算每个句子中每个单词的TF-IDF权重,将TF-IDF权重作为句子的特征,得到每个句子的特征;
S3.3:采用S2中处理后的数据集中的所有单词训练CBOW模型,得到每个句子的向量值,将其作为每个句子的特征;
S3.4:采用S2中处理后的数据集中的所有单词训练Skip-gram模型,得到每个句子的向量值,将其作为得到每个句子的特征。
6.如权利要求1所述的方法,其特征在于,S4具体包括:
S4.1:基于步骤S3提取出的句子特征,采用朴素贝叶斯分类算法处理得到的对应的特征数据集,其中,朴素贝叶斯分类算法的参数使用默认值;
S4.2:基于步骤S3提取出的句子特征,采用逻辑回归分类算法处理得到的特征数据集,其中,逻辑回归分类算法的参数使用默认值;
S4.3:基于步骤S3提取出的句子特征,采用决策树分类算法处理得到的特征数据集,其中,决策树分类算法的参数使用默认值;
S4.4:基于步骤S3提取出的句子特征,采用随机森林分类算法处理得到的特征数据集,其中,随机森林分类算法的参数使用默认值;
S4.5:基于步骤S3提取出的句子特征,采用支持向量机分类算法处理得到的特征数据集,其中,支持向量机分类算法的参数使用默认值。
7.如权利要求4所述的方法,其特征在于,S5具体包括:
S5.1:基于步骤S2.2、S2.3、S2.4中不同的处理方法,得到8个不同的处理后的数据集;
S5.2:采用4种不同的特征提取技术,在对S2中的8个不同的处理后的数据集进行特征提取,得到32个特征数据集;
S5.3:采用5种不同的分类算法,对32个不同的特征数据集进行分类,得到了160个不同的实验配置,每个实验配置对应一个分类器,包括160个构造不同的分类器。
8.如权利要求7所述的方法,其特征在于,预设指标包括精确度、召回率和调和平均值,S6具体包括:
S6.1:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个包含停用词的分类器和80个删除停用词的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理停用词的最佳操作;
S6.2:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个词干化以及词形还原的分类器和80个不进行词干化以及词形还原的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理处理词干化和词形还原的最佳操作;
S6.3:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,其中,160个分类器包含80个过滤了过短句子的分类器和80个包含过短句子的分类器,将两组平均精确度、召回率和调和平均值度量进行对比,根据对比结果筛选出自动识别决策时,处理过短句子的最佳操作;
S6.4:计算160个分类器中每个分类器的精确度、召回率和调和平均值度量,并比较每个分类器的精确度、召回率和调和平均值度量,将调和平均值最高的分类器,作为自动识别决策的最佳分类器。
9.一种从软件开发文本类制品中识别决策的方法,其特征在于,利用权利要求1至8任一项权利要求书所构造的自动化分类器从待决策的软件开发开发文本类制中识别决策。
CN202010397679.8A 2020-05-12 2020-05-12 一种自动化分类器的构造方法以及识别决策的方法 Active CN111666748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010397679.8A CN111666748B (zh) 2020-05-12 2020-05-12 一种自动化分类器的构造方法以及识别决策的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010397679.8A CN111666748B (zh) 2020-05-12 2020-05-12 一种自动化分类器的构造方法以及识别决策的方法

Publications (2)

Publication Number Publication Date
CN111666748A true CN111666748A (zh) 2020-09-15
CN111666748B CN111666748B (zh) 2022-09-13

Family

ID=72383406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010397679.8A Active CN111666748B (zh) 2020-05-12 2020-05-12 一种自动化分类器的构造方法以及识别决策的方法

Country Status (1)

Country Link
CN (1) CN111666748B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239197A (zh) * 2021-05-12 2021-08-10 首都师范大学 基于tf-idf算法对句子分类的方法、装置及计算机存储介质
WO2022166830A1 (zh) * 2021-02-05 2022-08-11 北京紫光展锐通信技术有限公司 一种文本分类的特征提取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148154A1 (en) * 2003-01-23 2004-07-29 Alejandro Acero System for using statistical classifiers for spoken language understanding
CN103034626A (zh) * 2012-12-26 2013-04-10 上海交通大学 情感分析系统及方法
CN105930503A (zh) * 2016-05-09 2016-09-07 清华大学 基于组合特征向量和深度学习的情感分类方法及装置
CN109543032A (zh) * 2018-10-26 2019-03-29 平安科技(深圳)有限公司 文本分类方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148154A1 (en) * 2003-01-23 2004-07-29 Alejandro Acero System for using statistical classifiers for spoken language understanding
CN103034626A (zh) * 2012-12-26 2013-04-10 上海交通大学 情感分析系统及方法
CN105930503A (zh) * 2016-05-09 2016-09-07 清华大学 基于组合特征向量和深度学习的情感分类方法及装置
CN109543032A (zh) * 2018-10-26 2019-03-29 平安科技(深圳)有限公司 文本分类方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘晓鹏 等: "面向短文本分类的特征提取与算法研究", 《信息技术与网络安全》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022166830A1 (zh) * 2021-02-05 2022-08-11 北京紫光展锐通信技术有限公司 一种文本分类的特征提取方法及装置
CN113239197A (zh) * 2021-05-12 2021-08-10 首都师范大学 基于tf-idf算法对句子分类的方法、装置及计算机存储介质

Also Published As

Publication number Publication date
CN111666748B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN110209764A (zh) 语料标注集的生成方法及装置、电子设备、存储介质
CN108563703A (zh) 一种罪名的判定方法、装置及计算机设备、存储介质
Halibas et al. Application of text classification and clustering of Twitter data for business analytics
CN108459955B (zh) 基于深度自编码网络的软件缺陷预测方法
CN109919368B (zh) 一种基于关联图的法条推荐预测系统及方法
JP2021504789A (ja) Esg基盤の企業評価遂行装置及びその作動方法
CN106021410A (zh) 一种基于机器学习的源代码注释质量评估方法
CN103995876A (zh) 一种基于卡方统计和smo算法的文本分类方法
CN109492106B (zh) 一种文本代码相结合的缺陷原因自动分类方法
CN111666748B (zh) 一种自动化分类器的构造方法以及识别决策的方法
CN112215696A (zh) 基于时序归因分析的个人信用评估与解释方法、装置、设备及存储介质
CN109299753A (zh) 一种用于法律文本信息挖掘的集成学习方法及系统
CN111462752A (zh) 基于注意力机制、特征嵌入及bi-lstm的客户意图识别方法
CN110110087A (zh) 一种基于二分类器的用于法律文本分类的特征工程方法
CN112035345A (zh) 一种基于代码片段分析的混合深度缺陷预测方法
CN116861924A (zh) 基于人工智能的项目风险预警方法及系统
CN115952292A (zh) 多标签分类方法、装置及计算机可读介质
CN109858550B (zh) 潜在工艺失效模式机器识别方法
CN115099310A (zh) 训练模型、对企业进行行业分类的方法和装置
Althanoon et al. Supporting classification of software requirements system using intelligent technologies algorithms
CN112579730A (zh) 高扩展性、多标签的文本分类方法和装置
CN113868422A (zh) 一种多标签稽查工单问题溯源识别方法及装置
CN113886562A (zh) 一种ai简历筛选方法、系统、设备和存储介质
CN113742396A (zh) 一种对象学习行为模式的挖掘方法及装置
CN112685374B (zh) 日志分类方法、装置及电子设备

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
GR01 Patent grant
GR01 Patent grant