CN105608232A - 一种基于图形数据库的bug知识建模方法 - Google Patents
一种基于图形数据库的bug知识建模方法 Download PDFInfo
- Publication number
- CN105608232A CN105608232A CN201610093334.7A CN201610093334A CN105608232A CN 105608232 A CN105608232 A CN 105608232A CN 201610093334 A CN201610093334 A CN 201610093334A CN 105608232 A CN105608232 A CN 105608232A
- Authority
- CN
- China
- Prior art keywords
- bug
- information
- relation
- text
- comment
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于图形数据库的bug知识建模方法。对bug信息的短文本内容做术语抽取,采用TF-IDF标准选取在文档中相对重要的词汇。综合抽取的到的术语,bugzilla提供的keywords和人工建立的词典构建特征向量,采用基于K-Medoids优化的KNN算法对简述信息(bugMSG)、描述信息(description)、评论信息(comment)这三种文本分别分类,从而实现对应bug的分类。本发明克服了现在搜索方法存在的复杂、互链接、低结构化的数据变化和大量的表连接,搜索效率低等缺陷。本发明从图形数据库入手为bug信息的数据库做优化,不仅仅局限于单个问题的解决,而是可以提供多角度的关联,图数据库是一种高性能的用于存储数据的数据结构方式。
Description
技术领域
本发明属于软件调试领域,特别涉及一种基于图形数据库的bug知识建模方法。
背景技术
对于软件bug的维护是贯穿于软件生命周期始终的。当一个软件从业人员遇到一个棘手的软件bug时,一个高效的、知识多维度的bug搜索引擎对于帮助其更好地理解和解决遇到的bug就显得十分的重要。当他进行搜索时,搜索引擎不仅能返回与搜索内容相关的bug,同时还能返回与其所搜索的bug存在联系的其他bug。
本发明作出之前,到目前为止,还没有结合知识图谱的bug搜索引擎,而大部分的搜索还过于表面,返回的只是一级关联内容,并不深入,不利于开发人员解决问题。现有的以关系数据库为支撑的搜索,在处理大量复杂、互链接、低结构化的数据变化和查询时会导致大量的表连接,使搜索陷入超链接表的泥沼,降低了搜索效率;其次,随着数据集大小不断增大,数据之间关联的可信度会不断降低,从而导致性能上的问题,而且在设计使用上也很不方便,一旦数据模式发生变化,相应的维护成本会很高昂。
发明内容
本发明的目的就在于克服上述缺陷,研制一种基于图形数据库的bug知识建模方法。
本发明的技术方案是:
一种基于图形数据库的bug知识建模方法,其主要技术特征在于如下步骤:
(1)从历史bug信息中抽取bug的关键文本内容,包括简述信息-bugMSG、描述信息-description、评论信息-comment;再从历史bug信息中抽取关键属性;
(2)将抽取的bug信息中的关键文本内容做基于内容的文本分析,采用TF-IDF标准抽取重要概念,作为关键词;对抽取的关键属性建立结构化数据模型;
(3)考虑用户的应用场景,人工建立词典,并将步骤(2)中识别的关键词,bugzilla中提供的keywords列表信息一起加入到构建的bug词典中;将建立的结构化数据模型导入到关系数据库中;
(4)根据词典构建特征向量,采用基于K-Medoids优化的KNN算法对简述信息-bugMSG、描述信息-description、评论信息-comment这三种文本进行分类,根据文本与bug之间的对应关系实现其对应bug分类;
(5)建立实体关系,基于属性中的status、component和product对bug进行标签;基于bug属性中的duplicate、dependsOn和blocks,建立bug与bug之间的关系;基于reporter、assignedto和CClist建立bug与人员之间的关系;最后,基于之前的分类,建立分类的层次关系及人员的领域关系;
(6)将关系数据库中的数据以及建立的实体关系以CVS文件的形式导入到Neo4J图形数据库中。
本发明是为了对bug知识的数据库做一个优化,帮助开发人员更好地了解bug更快的加深对软件的理解。对bug信息的短文本内容做术语抽取,采用TF-IDF标准选取在文档中相对重要的词汇。综合抽取的到的术语,bugzilla提供的keywords和人工建立的词典构建特征向量,采用基于K-Medoids优化的KNN算法对简述信息(bugMSG)、描述信息(description)、评论信息(comment)这三种文本分别分类,从而实现对应bug的分类。
本发明的优点和效果在于从图形数据库入手为bug信息的数据库做优化。有利于软件从业人员通过遇到的bug来加深对整个软件的理解从而更好的解决问题提高自己。主要由如下一些优点:
(1)本发明可以为软件开发人员在对一个bug的查询时,不仅仅局限于单个问题的解决,而是可以提供多角度的关联。
(2)我们的方法基于图数据库,图数据库是一种高性能的用于存储数据的数据结构方式。
附图说明
图1——本发明建模流程示意图。
图2——本发明爬取的bug在mysql中的截图。
图3——本发明bug信息的ER模型示意图。
图4——本发明图数据库模型示例图。
图5——本发明图数据库逻辑模型示意图。
图6——本发明基于K-Medoids优化的KNN分类算法流程示意图。
图7——本发明bug1004833的历史bugreport截图。
图8——本发明bug1004833相关的部分图数据库示意图。
具体实施方式
本发明的技术思路是:
本发明的方法是为了对bug知识的数据库做一个优化,帮助开发人员更好地了解bug更快的加深对软件的理解。对bug信息的短文本内容做术语抽取,采用TF-lDF标准选取在文档中相对重要的词汇。综合抽取的到的术语,bugzilla提供的keywords和人工建立的词典构建特征向量,采用基于K-Medoids优化的KNN算法对简述信息(bugMSG)、描述信息(description)、评论信息(comment)这三种文本分别分类,从而实现对应bug的分类。
一个以知识图谱为依托的搜索系统,能带给用户全新的搜索体验,为用户提供知识而不仅仅是信息,这就需要一个基于图形数据库的bug知识图谱来为整个系统做数据支撑。
术语抽取,在本体构建过程中,术语是知识图谱中概念、实体或属性的语言学上的标识形式,术语抽取的目标是找到用于表示概念、实体或属性的相关术语或标记集合。术语抽取通常采用基于语言学规则的方法和使用统计的方法,常用的模式有“形容词-名词”短语、“名词-名词”短语和“名词-介词-名词”短语等;最后使用统计学方法比较分析语料中术语的分布特征。统计学基准有TF-IDF(TermFrequency-InverseDocumentFrequency)、卡方分布(Chi-Square)和互信息(MutualInformation)等。本发明采用TF-IDF标准。TF-IDF标准,一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
实体分类,由于bug的status、component和product属性的取值范围比较小,只以这些属性的值为标签,并不能很好的对bug实体和人员实体进行分类,本发明采用基于K-Medoids优化的KNN算法,利用提取的重要术语和keywords库和人工建立的词典,构造特征向量来实现分类。
图数据库用图来存储数据,是一种有效的用于存储数据的数据结构方式之一。最简单的图是单节点的,一个记录,记录了一些属性。一个节点可以从单属性开始,成长为成千上亿,图数据库是将数据用关系连接起来分布到不同节点上的。对于图数据库它的查询时间是随着查询的深入而线性增长的,而不是随着数据集的总体大小增长,这样既能确保查询的深度,也不会降低查询的性能。图数据库的存储由图和索引构成,图包含了结点和关系,索引可以指向节点、关系和属性;图数据库的查询按一定的规则,寻找图或沿着路径寻找结点,图5展示了图数据库的逻辑结构。Neo4j是一个开源图数据库,用高效的图数据结构代替传统的表设计。
下面具体说明本发明。
如图1所示,其步骤如下:
1).从bugzilla爬取半结构化的bugreport信息并暂时存入mysql(如图2),识别提取实体、概念及属性,主要有bug实体和人员实体及相关的属性和概念,抽取关键属性和关键文本内容即bug的简述信息-bugMSG、描述信息-description、评论信息-comment,对抽取到的结构化属性建立关于bug的关系数据库,图3展示了bug信息的ER图。
2).将步骤1)中抽取的bug的简述信息(bugMSG)、描述信息(description)、评论信息(comment)中的文本做基于内容的文本分析,抽取术语,作为特征向量的元素。其中术语抽取采用TF-IDF基准,公式如下:
其中,tf(w)表示词频,df(w)为文档频率,N为总文档数目。其直观含义为词汇在文档中的相对重要程度。
3).考虑用户的应用场景,人工建立词典,并将步骤2)中识别的重要词汇,bugzilla中提供的keywords加入到词典中一起用于构建特征向量。
4).根据步骤3)中建立的特征向量,采用基于K-Medoids优化的KNN算法对简述信息(bugMSG)、描述信息(description)、评论信息(comment)这三种文本进行分类,根据文本与bug之间的对应关系实现其对应bug的分类(分类流程图如图6)。
5).建立实体关系,基于属性中的status、component和product对bug进行标签;基于bug属性中的duplicate、dependsOn和bIocks,建立bug与bug之间的关系;基于reporter、assignedto和CClist建立bug与人员之间的关系;最后,基于之前的分类,建立分类的层次关系及人员的领域关系。以bug1004833为例,抽取其在历史bug库中的相关信息(如图7),对抽取到的关键属性按关系数据库的bug数据模式进行存储,并对它的简述信息(bugMSG)、描述信息(description)、评论信息(comment)进行分析,抽取关键词汇进行分类(如图8)。
6).将关系数据库中的数据以及建立的实体关系以CVS文件的形式导入到Neo4J图形数据库中。图4展示的是最简单的图数据库的模型,图数据库的每一个实体是一个节点,实体包含属性,实体之间的关系对应连接实体的边。整个图数据库的逻辑结构如图8所示,图数据库由不同的图组成,既可以直接查询节点、关系、属性也可以遍历图或者通过路径直接寻找节点。图数据库的节点与关系的增删是十分方便的,这也有利于降低维护成本。
Claims (1)
1.一种基于图形数据库的bug知识建模方法,其特征在于如下步骤:
(1)从历史bug信息中抽取bug的关键文本内容,包括简述信息-bugMSG、描述信息-description、评论信息-comment;再从历史bug信息中抽取关键属性;
(2)将抽取的bug信息中的关键文本内容做基于内容的文本分析,采用TF-IDF标准抽取重要概念,作为关键词;对抽取的关键属性建立结构化数据模型;
(3)考虑用户的应用场景,人工建立词典,并将步骤(2)中识别的关键词,bugzilla中提供的keywords列表信息一起加入到构建的bug词典中;将建立的结构化数据模型导入到关系数据库中;
(4)根据词典构建特征向量,采用基于K-Medoids优化的KNN算法对简述信息-bugMSG、描述信息-description、评论信息-comment这三种文本进行分类,根据文本与bug之间的对应关系实现其对应bug分类;
(5)建立实体关系,基于属性中的status、component和product对bug进行标签;基于bug属性中的duplicate、dependsOn和blocks,建立bug与bug之间的关系;基于reporter、assignedto和CClist建立bug与人员之间的关系;最后,基于之前的分类,建立分类的层次关系及人员的领域关系;
(6)将关系数据库中的数据以及建立的实体关系以CVS文件的形式导入到Neo4J图形数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610093334.7A CN105608232B (zh) | 2016-02-17 | 2016-02-17 | 一种基于图形数据库的bug知识建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610093334.7A CN105608232B (zh) | 2016-02-17 | 2016-02-17 | 一种基于图形数据库的bug知识建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105608232A true CN105608232A (zh) | 2016-05-25 |
CN105608232B CN105608232B (zh) | 2019-01-15 |
Family
ID=55988171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610093334.7A Active CN105608232B (zh) | 2016-02-17 | 2016-02-17 | 一种基于图形数据库的bug知识建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105608232B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202203A (zh) * | 2016-06-23 | 2016-12-07 | 扬州大学 | 基于终身主题模型的bug知识库的建立方法 |
CN106294588A (zh) * | 2016-07-28 | 2017-01-04 | 广东中标数据科技股份有限公司 | 快速搜索所要查询内容的方法及装置 |
CN107515951A (zh) * | 2017-09-20 | 2017-12-26 | 广东中标数据科技股份有限公司 | 一种基于图形数据库的搜索方法、系统和装置 |
CN108121829A (zh) * | 2018-01-12 | 2018-06-05 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
CN108304493A (zh) * | 2018-01-10 | 2018-07-20 | 深圳市腾讯计算机系统有限公司 | 一种基于知识图谱的上位词挖掘方法及装置 |
CN109213830A (zh) * | 2017-06-30 | 2019-01-15 | 是德科技股份有限公司 | 专业性技术文档的文档检索系统 |
CN109726305A (zh) * | 2018-12-30 | 2019-05-07 | 中国电子科技集团公司信息科学研究院 | 一种基于图结构的复杂关系数据存储及检索方法 |
CN112100314A (zh) * | 2020-08-16 | 2020-12-18 | 复旦大学 | 一种基于软件开发问答网站的api教程汇编生成方法 |
CN107643905B (zh) * | 2017-09-13 | 2021-01-12 | 扬州大学 | 一种面向软件版本一致性缺陷的自动修复方法 |
US11769098B2 (en) | 2021-05-18 | 2023-09-26 | International Business Machines Corporation | Anomaly detection of physical assets by auto-creating anomaly detection or prediction models based on data from a knowledge graph of an enterprise |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625641A (zh) * | 2009-08-05 | 2010-01-13 | 天津大学 | 基于安全缺陷知识库的可信软件开发方法 |
US20100174692A1 (en) * | 2007-03-15 | 2010-07-08 | Scott Meyer | Graph store |
CN101814098A (zh) * | 2010-05-11 | 2010-08-25 | 天津大学 | 基于垂直搜索及语义标注获取软件安全缺陷的方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
-
2016
- 2016-02-17 CN CN201610093334.7A patent/CN105608232B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100174692A1 (en) * | 2007-03-15 | 2010-07-08 | Scott Meyer | Graph store |
CN101625641A (zh) * | 2009-08-05 | 2010-01-13 | 天津大学 | 基于安全缺陷知识库的可信软件开发方法 |
CN101814098A (zh) * | 2010-05-11 | 2010-08-25 | 天津大学 | 基于垂直搜索及语义标注获取软件安全缺陷的方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202203A (zh) * | 2016-06-23 | 2016-12-07 | 扬州大学 | 基于终身主题模型的bug知识库的建立方法 |
CN106294588A (zh) * | 2016-07-28 | 2017-01-04 | 广东中标数据科技股份有限公司 | 快速搜索所要查询内容的方法及装置 |
CN109213830B (zh) * | 2017-06-30 | 2023-11-03 | 是德科技股份有限公司 | 专业性技术文档的文档检索系统 |
CN109213830A (zh) * | 2017-06-30 | 2019-01-15 | 是德科技股份有限公司 | 专业性技术文档的文档检索系统 |
CN107643905B (zh) * | 2017-09-13 | 2021-01-12 | 扬州大学 | 一种面向软件版本一致性缺陷的自动修复方法 |
CN107515951A (zh) * | 2017-09-20 | 2017-12-26 | 广东中标数据科技股份有限公司 | 一种基于图形数据库的搜索方法、系统和装置 |
CN108304493B (zh) * | 2018-01-10 | 2020-06-12 | 深圳市腾讯计算机系统有限公司 | 一种基于知识图谱的上位词挖掘方法及装置 |
CN108304493A (zh) * | 2018-01-10 | 2018-07-20 | 深圳市腾讯计算机系统有限公司 | 一种基于知识图谱的上位词挖掘方法及装置 |
WO2019137033A1 (zh) * | 2018-01-12 | 2019-07-18 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
CN108121829B (zh) * | 2018-01-12 | 2022-05-24 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
US11386136B2 (en) | 2018-01-12 | 2022-07-12 | Yangzhou University | Automatic construction method of software bug knowledge graph |
CN108121829A (zh) * | 2018-01-12 | 2018-06-05 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
CN109726305A (zh) * | 2018-12-30 | 2019-05-07 | 中国电子科技集团公司信息科学研究院 | 一种基于图结构的复杂关系数据存储及检索方法 |
CN112100314A (zh) * | 2020-08-16 | 2020-12-18 | 复旦大学 | 一种基于软件开发问答网站的api教程汇编生成方法 |
CN112100314B (zh) * | 2020-08-16 | 2022-07-22 | 复旦大学 | 一种基于软件开发问答网站的api教程汇编生成方法 |
US11769098B2 (en) | 2021-05-18 | 2023-09-26 | International Business Machines Corporation | Anomaly detection of physical assets by auto-creating anomaly detection or prediction models based on data from a knowledge graph of an enterprise |
Also Published As
Publication number | Publication date |
---|---|
CN105608232B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105608232A (zh) | 一种基于图形数据库的bug知识建模方法 | |
CN107180045B (zh) | 一种互联网文本蕴含地理实体关系的抽取方法 | |
CN110298032A (zh) | 文本分类语料标注训练系统 | |
CN100401300C (zh) | 具有自动分类功能的搜索引擎 | |
CN104281702B (zh) | 基于电力关键词分词的数据检索方法及装置 | |
CN104765769A (zh) | 一种基于词矢量的短文本查询扩展及检索方法 | |
CN102087669A (zh) | 基于语义关联的智能搜索引擎系统 | |
CN105045852A (zh) | 一种教学资源的全文搜索引擎系统 | |
CN103646032A (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN113962293B (zh) | 一种基于LightGBM分类与表示学习的姓名消歧方法和系统 | |
CN103646112A (zh) | 利用了网络搜索的依存句法的领域自适应方法 | |
CN102004775A (zh) | 一种基于智能搜索的福富企业搜索引擎技术 | |
CN112883165B (zh) | 一种基于语义理解的智能全文检索方法及系统 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
Remi et al. | Domain ontology driven fuzzy semantic information retrieval | |
CN115563313A (zh) | 基于知识图谱的文献书籍语义检索系统 | |
KR101095866B1 (ko) | 웹 기반의 정보 저장 및 검색 방법, 이를 위한 정보 관리 시스템 | |
CN114218472A (zh) | 基于知识图谱的智能搜索系统 | |
CN115422155A (zh) | 一种数据湖元数据模型的建模方法 | |
CN116821376B (zh) | 煤矿安全生产领域的知识图谱构建方法及系统 | |
Watrin et al. | An N-gram frequency database reference to handle MWE extraction in NLP applications | |
CN113377739A (zh) | 知识图谱应用方法、平台、电子设备及存储介质 | |
Wang et al. | Semi-supervised chinese open entity relation extraction | |
CN115617965A (zh) | 一种语言结构大数据的快速检索方法 | |
CN113127650A (zh) | 一种基于图数据库的技术图谱构建方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |