CN111797612A - 一种自动化数据功能项抽取的方法 - Google Patents
一种自动化数据功能项抽取的方法 Download PDFInfo
- Publication number
- CN111797612A CN111797612A CN202010412410.2A CN202010412410A CN111797612A CN 111797612 A CN111797612 A CN 111797612A CN 202010412410 A CN202010412410 A CN 202010412410A CN 111797612 A CN111797612 A CN 111797612A
- Authority
- CN
- China
- Prior art keywords
- word
- function
- function item
- data
- training
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims abstract description 94
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 22
- 238000002372 labelling Methods 0.000 claims abstract description 15
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 230000003190 augmentative effect Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 6
- 238000004458 analytical method Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012733 comparative method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013106 supervised machine learning method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
Abstract
本发明提出一种自动化数据功能项抽取的方法,将需求文本根据标点符号划分为句子,抽取句子中每个单词的上下文特征;给句子中的每一个单词打上标签,作为标注数据;使用标注数据训练初始的CRF模型,迭代地使用该CRF模型预测未标注的数据,从中选取置信度高于置信度阈值的样本来扩充训练集合;使用扩后后的训练集合重新训练CRF模型,最终得到候选功能项集合;使用历史功能项训练面向功能项的语言模型;使用训练好的面向功能项的语言模型对候选功能项集合进行过滤,抽取符合的功能项。本方法从需求描述中进行数据功能项的自动化抽取,提高抽取的精度,代替人力抽取功能项,并降低抽取的成本。
Description
技术领域
本发明属于计算机领域,涉及软件规模度量,尤其是功能点分析技术,用于从需求文本中自动化抽取数据功能项,提高专家进行数据功能项抽取的效率,为一种自动化地数据功能项抽取的方法。
背景技术
功能点分析方法是一种从用户视角,度量软件规模和复杂度的技术。借助功能点分析方法,项目管理者可以更好地计划和管理软件的开发、维护等过程。“功能点”是功能点分析结果的基本单位。功能点分析后,软件会被度量为一定数量的“功能点”。功能点方法在软件度量中起着十分重要的作用,随着功能点分析技术的广泛引用,从1979年起,诸如IFPUG、 COSMIC、NESMA等功能点分析标准接连被提出,来支持功能点方法的应用。
在功能点分析方法中,最主要的工作是抽取“功能项”。功能项是需求中的名词或者动词短语,用来描述软件的功能。功能项主要被分为两类:数据功能项和交易类功能项。数据功能项通常为系统中的业务对象、数据块或控制信息,其通常表述为名词短语;交易功能项则为软件在数据功能项上的操作,通常表述为“动词+名词”短语的形式。
在实际的应用中,由于自动化方法的缺失,无论是数据功能项还是交易功能项都需要靠专家的手工抽取。随着项目的快速迭代和积累,手工抽取功能项变得越来越消耗人力。并且,由于不同专家对业务逻辑理解的不同,会为功能项抽取产生的结果带来误差。
由于需求文本和功能项都是通过自然语言进行描述,自动化信息抽取的方法为功能项的自动化抽取提供提供了一种可能。现在已有的信息抽取方法,主要可以分为两类:基于启发式规则的方法和基于机器学习的方法。两类方法都不能有效地应用在功能项的自动化抽取,主要原因如下。
1)基于启发式的规则通常是由专家给定一系列的语言模板。然后依靠这些先验启发式规则,来进行功能项的自动抽取。由于需求文本中还存在着功能性描述和非功能性描述的内容,而功能项仅仅和功能性描述相关。基于启发式规则的方法会抽取所有复合语言模板的短语,并不具备区分功能性和分功能性描述的能力,这会对功能项的抽取带来很多噪音,影响功能项抽取的准确率;
2)基于机器学习的方法是利用机器学习技术,可以从样本中学习功能项抽取的规则,过滤掉与功能无关的信息,具备功能性描述判别的能力。但是以往的基于机器学习的信息抽取方法,往往需要大量的标注数据来达到期望的模型性能。功能项的标注过程需要大量的人力成本。并且,功能项的抽取需要大量的领域专家知识,这更大加大了数据标注的成本。在少量标注样本下,达到令人满意的模型性能,是功能项抽取需要解决的一个问题。
发明内容
本发明的目的是提出一种自动化数据功能项抽取的方法,在少量标注样本上训练条件随机场模型,从需求描述中进行数据功能项的自动化抽取,提高抽取的精度,代替人力抽取功能项,并降低抽取的成本。
为达到上述目的,本发明采用的技术方案如下:
一种自动化数据功能项抽取的方法,包括以下步骤:
将需求文本根据标点符号划分为句子,抽取句子中每个单词的上下文特征;
给句子中的每一个单词打上标签,并作为标注数据;
使用标注数据,训练初始的条件随机场(conditional random field,CRF)模型,迭代地使用CRF模型预测未标注的数据,从中选取置信度高于置信度阈值的样本来扩充训练集合;
使用扩后后的训练集合重新训练CRF模型,最终得到候选功能项集合;
使用历史功能项训练面向功能项的语言模型;
使用训练好的面向功能项的语言模型,对候选功能项集合进行过滤,抽取符合的功能项。
本发明方法将功能项抽取建模为序列表述的方法,训练条件随机场模型来预测每一个单词是否为功能项的开始和结束,实现功能项的准确抽取;为了解决数据标标注成本高的问题,提出了一种基于bootstrapping的迭代训练方法,利用未表述的数据,来提高模型的性能;最后,使用历史数据功能项训练了面向数据功能项的语言模型,对候选数据功能项进行过滤,来提高数据功能项抽取的精度。
附图说明
图1为一种自动化数据功能项抽取的方法的框架图。
具体实施方式
下面通过具体实施方式对本方法作进一步说明;
第一步,根据文本中的标点符号将需求文本划分为句子,将每一个句子作为模型训练的一条样本。对于句子中的每一个单词,构造一个特征窗口,其包括当前词、当前词的前n个单词以及当前词的后n个单词。对于特征窗口中的每个单词,抽取如下三组特征:
1、字符串特征,当前词的字符串作为特征输入模型;
2、词性特征,当前词的词性;
3、tf-idf特征,当前词在所有语料中的tf-idf特征;
如果词出现在了句子的末尾,其特征窗口内的单词为空,会为其赋默认值(字符串特征赋值“NULL”,词性特征赋值“NULL”,if-idf特征赋值-1)。
第二步,为句子中的每一个单词打上标签,作为标注数据,标签集合遵循BIOES标准:
B标签:该单词为功能项的起始单词;
I标签:该单词为功能项的单词,且不是起始或者结尾单词;
E标签:该单词为功能项的结尾单词;
S标签:该单词为完整的功能项;
O标签:该单词不是功能项中的单词。
第三步,训练CRF模型,并使用基于自举的bootstrapping方法,在未标注的需求文本上扩充训练集,并迭代训练模型。具体步骤如下。
a、使用标注数据训练初始crf模型,并设置初始样本选择置信度阈值T(u),其中置信度为CRF模型预测标签序列的概率;
b、使用初始模型对未标注的数据进行预测,并计算预测标签的置信度,从数据中选取置信度高于置信度阈值T(u)的样本扩充集合;
c、使用扩充后的训练集合重新训练crf模型;
d、降低置信度阈值T(u)=T(u)-δ,并重复b、c过程,直至达到置信度阈值下限T(l)。
其中初始置信度阈值T(u)、置信度下限T(l)和δ均为可调节的模型参数,在本实施案例中分别设置为0.8、0.6和0.01。
最后,使用经过迭代后的模型对需求文本进行功能项抽取,得到候选功能项。
第四步,使用所有的历史功能项数据训练面向功能项的语言模型。具体来说,获取所有历史功能项;对于每一个历史功能项,将其分词,然后作为一条训练样本训练n-gram(如 3-gram)语言模型,最终得到一个面向功能项的语言模型。
第五步,使用训练好的面向功能项的语言模型,过滤候选功能项。对于每一个候选功能项,计算其困惑度(信息论中衡量一个概率分布或模型预测样本的好坏程度指标)。只保留困惑度小于预先设定的困惑度阈值(根据功能点专家经验设置为100)的功能项,作为最终的结果。
本发明的具体实施例如下。
1.准备实验数据集
本实验采用的数据集来自国内某银行19个项目的用户故事数据及其对应的数据功能项,具体详情如表1所示。
表1:实验数据集
项目标号 | 用户故事数 | 数据功能项个数 |
P1 | 69 | 81 |
P2 | 15 | 17 |
P3 | 9 | 9 |
P4 | 6 | 6 |
P5 | 17 | 17 |
P6 | 21 | 26 |
P7 | 6 | 12 |
P8 | 22 | 24 |
P9 | 7 | 7 |
P10 | 19 | 23 |
P11 | 22 | 22 |
P12 | 3 | 3 |
P14 | 6 | 7 |
P15 | 12 | 12 |
P16 | 7 | 7 |
P18 | 14 | 15 |
P19 | 9 | 12 |
2.实验对比方法
采用两个现有的方法,在表1的数据及上进行实验,对比方法效果。使用到的两个对比方法如下:
(1)BCE(concept extraction from business documents for softwareengineering projects, Automated Software Engineering,2016):一种基于语言规则的短语抽取方法。该方法构建了一组语言规则(词法规则、语法规则等),从自然语言描述的文本中进行业务短语的抽取。该方法基于专家经验和启发规则,不需要标注样本进行模型的训练;
(2)Stanford NER(incorporating non-local information into informationextraction system by gibbs sampling,Association for Computing Linguistics,2005):一种基于有监督机器学习方式的命名实体识别方法。该方法能够从自然语言描述的文本中抽取目标信息,被广泛应用到 Standford CoreNLP、NTLK等开源自然语言处理工具中。由于该方法是有监督的机器学习方法,需要大量的标注数据来训练模型。
3.实验结果分析
实验随机将数据按照7:3的比例划分为训练数据和验证数据,在训练数据上进行模型的训练并在验证数据上验证实验结果。表2展示了50次实验中本方法与已有两个方法在19个项目上的对比。总体来看,方法能够在大多数指标上取得优于两种方法的效果。
与基于规则BCE方法项目,本方法在准确率、召回率和F1只上取得大幅度提高,验证了该方法与该基于规则的方法相比,能够更有效的进行数据功能项的抽取;
与有监督机器学习的Stanford NER相比,方法尤其在召回率上取得大幅度的提高,验证了在少量的数据标注情况下,本方法能够极大的提高召回率,带来模型性能的提升。
表2:本方法与已有方法的对比数据
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (10)
1.一种自动化数据功能项抽取的方法,其特征在于,包括以下步骤:
将需求文本根据标点符号划分为句子,抽取句子中每个单词的上下文特征;
给句子中的每一个单词打上标签,并作为标注数据;
使用标注数据训练初始的条件随机场模型CRF,迭代地使用该CRF模型预测未标注的数据,从中选取置信度高于置信度阈值的样本来扩充训练集合,该置信度为CRF模型预测标签序列的概率;
使用扩后后的训练集合重新训练CRF模型,最终得到候选功能项集合;
使用历史功能项训练面向功能项的语言模型;
使用训练好的面向功能项的语言模型对候选功能项集合进行过滤,抽取符合的功能项。
2.根据权利要求1所述的方法,其特征在于,抽取句子中每个单词的上下文特征的方法为:对句子中的每个单词构造一个特征窗口,该特征窗口包括当前词、当前词的前n个单词以及当前词的后n个单词;对于特征窗口中的每个单词,抽取上下文特征;如果单词出现在句子的末尾,其特征窗口内的单词为空,则为其赋于默认值。
3.根据权利要求1或2所述的方法,其特征在于,上下文特征包括字符串特征、词性特征和tf-idf特征。
4.根据权利要求1所述的方法,其特征在于,标签遵循如下BIOES标准:
B标签:单词为功能项的起始单词;
I标签:单词为功能项的单词,且不是起始或者结尾单词;
E标签:单词为功能项的结尾单词;
S标签:单词为完整的功能项;
O标签:单词不是功能项中的单词。
5.根据权利要求1所述的方法,其特征在于,训练CRF模型时,使用基于自举的bootstrapping方法在未标注的需求文本上扩充训练集合。
6.根据权利要求1所述的方法,其特征在于,在迭代地使用CRF模型预测未标注的数据时,降低置信度阈值T(u)=T(u)–δ,直至达到置信度阈值下限T(l)。
7.根据权利要求6所述的方法,其特征在于,T(u)包括0.8,T(l)包括0.6,δ包括0.01。
8.根据权利要求1所述的方法,其特征在于,使用历史功能项训练面向功能项的语言模型之前,先获取所有历史功能项,对每一个历史功能项进行分词,作为一条训练样本。
9.根据权利要求1或8所述的方法,其特征在于,使用历史功能项训练n-gram语言模型,得到面向功能项的语言模型。
10.根据权利要求1或8所述的方法,其特征在于,使用训练好的面向功能项的语言模型对候选功能项集合进行过滤的方法为:计算每个候选功能项的困惑度,将困惑度不小于困惑度阈值的功能项过滤掉。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010412410.2A CN111797612A (zh) | 2020-05-15 | 2020-05-15 | 一种自动化数据功能项抽取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010412410.2A CN111797612A (zh) | 2020-05-15 | 2020-05-15 | 一种自动化数据功能项抽取的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797612A true CN111797612A (zh) | 2020-10-20 |
Family
ID=72806522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010412410.2A Pending CN111797612A (zh) | 2020-05-15 | 2020-05-15 | 一种自动化数据功能项抽取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797612A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542250A (zh) * | 2023-06-29 | 2023-08-04 | 杭州同花顺数据开发有限公司 | 一种信息抽取模型获取方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160239758A1 (en) * | 2015-02-17 | 2016-08-18 | Microsoft Technology Licensing, Llc | Training systems and methods for sequence taggers |
CN108388560A (zh) * | 2018-03-17 | 2018-08-10 | 北京工业大学 | 基于语言模型的gru-crf会议名称识别方法 |
CN110059185A (zh) * | 2019-04-03 | 2019-07-26 | 天津科技大学 | 一种医学文档专业词汇自动化标注方法 |
CN110705291A (zh) * | 2019-10-10 | 2020-01-17 | 青岛科技大学 | 基于无监督学习的思想政治教育领域文献分词方法及系统 |
CN111143556A (zh) * | 2019-12-11 | 2020-05-12 | 平安银行股份有限公司 | 软件功能点自动计数方法、装置、介质及电子设备 |
-
2020
- 2020-05-15 CN CN202010412410.2A patent/CN111797612A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160239758A1 (en) * | 2015-02-17 | 2016-08-18 | Microsoft Technology Licensing, Llc | Training systems and methods for sequence taggers |
CN108388560A (zh) * | 2018-03-17 | 2018-08-10 | 北京工业大学 | 基于语言模型的gru-crf会议名称识别方法 |
CN110059185A (zh) * | 2019-04-03 | 2019-07-26 | 天津科技大学 | 一种医学文档专业词汇自动化标注方法 |
CN110705291A (zh) * | 2019-10-10 | 2020-01-17 | 青岛科技大学 | 基于无监督学习的思想政治教育领域文献分词方法及系统 |
CN111143556A (zh) * | 2019-12-11 | 2020-05-12 | 平安银行股份有限公司 | 软件功能点自动计数方法、装置、介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
皮桂珍等: "《将自然语言处理应用于软件规模度量的研究》", 《中国金融电脑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542250A (zh) * | 2023-06-29 | 2023-08-04 | 杭州同花顺数据开发有限公司 | 一种信息抽取模型获取方法和系统 |
CN116542250B (zh) * | 2023-06-29 | 2024-04-19 | 杭州同花顺数据开发有限公司 | 一种信息抽取模型获取方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN109145294B (zh) | 文本实体识别方法及装置、电子设备、存储介质 | |
CN109145260B (zh) | 一种文本信息自动提取方法 | |
CN109753660B (zh) | 一种基于lstm的中标网页命名实体抽取方法 | |
CN112732934B (zh) | 电网设备分词词典和故障案例库构建方法 | |
CN106776538A (zh) | 企业非标准格式文档的信息提取方法 | |
CN113191148B (zh) | 一种基于半监督学习和聚类的轨道交通实体识别方法 | |
CN112101027A (zh) | 基于阅读理解的中文命名实体识别方法 | |
CN113033183B (zh) | 一种基于统计量与相似性的网络新词发现方法及系统 | |
CN110413998B (zh) | 一种面向电力行业的自适应中文分词方法及其系统、介质 | |
CN108984159B (zh) | 一种基于马尔可夫语言模型的缩略词组扩展方法 | |
CN106886565B (zh) | 一种基础房型自动聚合方法 | |
CN116432655B (zh) | 基于语用知识学习的少样本命名实体识别方法和装置 | |
CN104699797A (zh) | 一种网页数据结构化解析方法和装置 | |
CN110046356A (zh) | 标签嵌入在微博文本情绪多标签分类中的应用研究 | |
CN114298035A (zh) | 一种文本识别脱敏方法及其系统 | |
CN112926345A (zh) | 基于数据增强训练的多特征融合神经机器翻译检错方法 | |
CN112632278A (zh) | 一种基于多标签分类的标注方法、装置、设备及存储介质 | |
CN111899090A (zh) | 企业关联风险预警方法及系统 | |
CN110928981A (zh) | 一种文本标签体系搭建及完善迭代的方法、系统及存储介质 | |
CN107357765A (zh) | Word文档碎片化方法及装置 | |
CN113987174A (zh) | 分类标签的核心语句提取方法、系统、设备及存储介质 | |
CN115859980A (zh) | 一种半监督式命名实体识别方法、系统及电子设备 | |
CN111143571A (zh) | 实体标注模型的训练方法、实体标注方法以及装置 | |
CN112417823A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |