一种基于知识图谱面向电商领域的需求描述模型设计方法与流程

文档序号:17547862发布日期:2019-04-30 17:57阅读:588来源:国知局
一种基于知识图谱面向电商领域的需求描述模型设计方法与流程

本发明属于电商业务软件开发技术领域,具体涉及一种基于知识图谱面向电商领域的需求描述模型设计方法。



背景技术:

现代服务行业发展迅速,快速变化的服务场景、日新月异的用户需求使得传统的业务流程建模方法日渐乏力。软件需求阶段是软件开发过程中的第一个阶段,良好的需求描述模型可以避免在后期的设计编码和实现阶段花费昂贵的重构系统,从而降低软件开发的风险。软件需求主要包括功能需求和非功能需求,功能需求要求的是软件需要实现的功能,而非功能需求是为了满足用户业务需求而对软件系统提供的质量属性和功能约束,具体包括系统的性能、可靠性、安全性、可保障性等需求。传统的需求描述方法,经常采用非形式化的抽象含糊语言描述非功能性需求,容易产生歧义或者被开发人员忽视,这些都造成了功能需求和非功能需求混杂,使代码分散、混乱、难以维护。

这种问题在电子商务领域体现的愈加严重,与线下销售不同,电子商务中的商品、业务、流程总是在快速的变化的,为了应对不断涌现出的新的需求,企业需要投入大量的资源来改进原有的需求。在需求的不断修改过程中,自然语言的描述方法已经无法适应这个过程,经常引发各种需求描述不清晰导致的开发工作的失败。

知识图谱的概念是google在2012年提出的,旨在实现更加智能的搜索引擎,目前已经在知识问答、情报分析、反欺诈的应用中发挥重要作用,其本质是一种叫做语义网络的知识库,即是具有有向图结构的知识库,其中图的每个节点代表实体(entity)或者概念(concept),而图的边代表实体/概念之间的语义关系,比如两个实体的相似关系。知识图谱最强大的功能在于它具有知识推理能力,能够非常准确的获取到用户意图。

软件的形式化开发方法是在20世纪50年代由backus提出的巴克斯范式(backusnormalformula,bnf),作为描述程序设计语法的元语言。形式化方法的基本含义是借助数学的方法来研究计算机科学中的有关问题,从广义角度,形式化方法是软件开发过程中分析、设计以及实现的系统工程方法,狭义的它是软件规格和验证的方法;形式化规格是通过具有明确数学定义的文法和语义的方法或语言对软件的期望特性或行为进行精确简洁描述。



技术实现要素:

基于电商领域知识图谱强大知识推理能力,本发明提供了一种基于知识图谱面向电商领域的需求描述模型设计方法,能够解决当前电商领域高速发展,快速变化的服务场景下的快速、高效描述用户需求的任务。

一种基于知识图谱面向电商领域的需求描述模型设计方法,包括如下步骤:

(1)利用现有的知识图谱构建技术,以大量电商需求文档为数据,经过分词、实体识别、实体关系识别得到实体三元组,从而构建得到关于电商需求的知识图谱;

(2)设计一套完备的面向电商需求描述的领域特定语言(domainspecificlanguage,dsl),这套语言采用巴克斯范式的语法规则,借助数学的逻辑方法来解决非形式化抽象含糊的语言在描述电商业务需求中容易产生歧义的问题;

(3)根据步骤(1)中构建的知识图谱结合步骤(2)中设计的领域特定语言,设计出一套面向电商领域的需求描述模型,该模型通过借助知识图谱的推理功能以及使用形式化需求描述方法的准确性和无二义性的优势,帮助用户更加迅速和准确的完成电商需求描述功能。

进一步地,所述步骤(1)的具体实现过程为:首先收集大量电商需求文档,对文档进行预处理,转化成文本文件;然后对每个文档进行分词、实体提取以及关系抽取,提取到能够表示出需求描述所需要的对象实体、行为实体以及各实体之间关系的rdf(resourcedescriptionframework,资源描述框架)数据,并将数据存储到数据库中;最后构建出关于电商需求的知识图谱。

进一步地,所述步骤(2)的具体实现过程如下:

2.1采用巴克斯范式语法规则,设计出一套逻辑合理功能完备且面向电商领域的需求描述语言模型即dsl;巴特斯范式是一种形式化的语法表示方法,用来描述语法的一种形式体系,也是一种典型的元语言,它不仅能够严格地表示语法规则,而且所描述的语法是上下文无关的,具有语法简单、表示明确、便于语法分析和编译的优点;

2.2在完成需求描述语言模型设计基础上,通过编写底层代码实现支持,构建出需求描述语言模型的解释器和编译器,使得用户编写的需求代码可执行可验证;

2.3在需求描述语言模型中为用户添加自动生成uml(unifiedmodelinglanguage,统一建模语言)图功能,利用dsl编写的需求语言能够对用户需求进行很好的层次化描述,具有非常好的结构关系和行为关系,从而自动生成对应的uml图,减少了用户工作量,提高工作效率。

进一步地,在所述需求描述语言模型中分别定义了需求(requirement)、概念(conception)、流程(process)、规则(rule)、场景(scene),这套巴特斯范式的需求描述语言模型通过对大量电商需求文档进行分析,抽取其中的逻辑关系,分别定义了primitivetype、actiontype、ruletype、classes、attributes、actions等基本语法,通过使用这些语法帮助需求描述人员对开发需求进行形式化的描述。

所述概念用于表示需求中出现的名词和动词,其中名词称作角色(roles),动词称作行为(action),每一个行为都绑定一个角色,意味着这个行为只能由特定的角色执行;在电商领域中,一个角色即作为顾客,顾客有下订单和付款的行为;所述场景可以看做是电商业务的抽象,场景可以用来形容电商需求的落地点所在,场景与用户(执行者)的行为进行绑定;比如商品在什么地方被什么人购买;所述流程是对应着场景而言的,流程在电商需求中用来描述用户(执行者)在哪个场景应该按顺序执行的操作;所述规则是用来描述商业规则的,在需求描述语言模型中定义了三种类型的商业规则,包括操作规则、商品属性规则以及可以被行为触发的触发规则。

进一步地,所述步骤(3)的具体实现为:将知识图谱与面向电商需求描述的领域特定语言结合起来,以知识图谱强大的关系表示能力以及推理能力,辅助用户在使用电商需求描述领域特定语言的时候,展示给用户与其当前输入相关的其他实体;在用户编写需求描述的过程中,知识图谱会对已经输入的文档进行分析,查询推理当前的需求描述是否符合规定好的业务规则,如果出现违背某些业务规则的情况,会及时提醒用户问题所出现的位置,帮助减少软件开发过程中因为需求描述错误带来的问题。

本发明基于电商领域知识图谱强大知识推理能力,根据所设计的面向电商需求描述的领域特定语言,需求描述人员可以在描述电商需求的时候,能够更加准确高效地完成用户需求描述工作,顺利推进开发工作。具体地,本发明需求描述模型具有以下功能及有益技术效果:

(1)需求描述区域;使用者可以根据本发明设计的服务语言语法,描述用户需求,这套语法利用了形式化方法的描述准确性和无二义性的优势,能够帮助用户更加迅速和准确的完成需求描述功能。本发明提供的语法是综合了自然语言和代码语言的优势设计出来的,简单易学,具有非常优秀的内部逻辑,经过在大量的电商领域的需求描述的实践,显示了非常好的适用性,能够满足使用者的各项需求。

(2)知识图谱区域;此功能可以根据使用者当前输入的需求实体,动态的可视化出和当前的需求实习有关联的其他实体,展现给使用者,使用户能够快速得到相关的信息,帮助使用者更好地理解用户需求,从而更好的完成任务。

(3)uml图生成界面;本发明能够支持将使用者描述好的需求语言自动转成uml图,帮助使用者更高效便捷完成任务。

附图说明

图1为知识图谱构造流程示意图。

图2为电商领域知识图谱的可视化示意图。

图3为需求描述模型的uml示例图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

本发明通过构建电商领域需求的知识图谱和描述电商领域需求的形式化语言,将二者相结合,设计一套面向电商领域的需求描述模型,具体步骤为:

s1.收集大量电商领域的需求文档,将这些文档转化成统一格式和语言的文本资料;拿到需求文档后,需对文档进行预处理操作,去除文档中出现的非中文字符、图片、重复出现的字符等,使用正文提取技术,保留出文档中和需求描述相关的文本内容。

s2.利用步骤s1中所收集到需求文档,根据自然语言处理的知识通过知识图谱构建的方法,提取出和需求描述相关的资源描述框架(rdf)。

具体地,当文档预处理工作完成之后,需要对文档文本进行知识获取,知识融合和知识存储等操作,如图1所示,具体包含如下步骤:

2.1当得到文本之后,使用分词工具对文档进行分词处理;使用预训练好的实体识别模型,识别文本中的实体;使用预训练好的实体关系识别模型,识别出文本中的实体关系,从而生成对应的rdf数据。

2.2对所得到的实体和实体关系的rdf数据,采用关系机器学习方法,学习知识图谱中实例和实例之间的关系和规则,从而让知识图谱具有学习推断的能力。

s3.对步骤s2得到的资源描述框架的数据进行实体链接和实体消歧等过程,将分散的知识相互连接,构成知识图谱。

s4.将知识图谱和本发明已经设计好的电商需求领域特定语言(dsl)结合起来,在此基础上利用知识图谱的推理能力,电商需求领域特定语言的优秀可扩展性,高效快速准确的完成需求描述任务。

形式化语言模型是本发明提供给需求描述人员的模型,这个模型能够将设计好的领域特定语言和知识图谱结合起来,利用知识图谱的推理能力,更高效更准确的完成将电商中台的需求描述工作,具体的实施步骤如下:

4.1在用户需求描述功能区域,使用者可以根据本发明提供设计的需求描述语言模型描述用户需求。本发明按照巴特斯范式的语法规则,设计出一套逻辑合理功能完备的面向电商领域的需求描述语言模型;巴特斯范式是一种形式化的语法表示方法,用来描述语法的一种形式体系,是一种典型的元语言,它不仅能够严格地表示语法规则,而且所描述的语法是上下文无关的,具有语法简单,表示明确,便于语法分析和编译的优点;详细定义的巴特斯范式如下:

%conceptwithpostfix.cpt

note_statement::="%"sentence

role_statement::="role"identifier"has"attribute_list"withaction"action_list"."

attribute_list::=attribute_statement{","attribute_statement}

attribute_statement::=identifier":"attribute_type

attribute_type::="integer"|"string"|"boolean"

action_list::=identifier{,identifier}

action_statement::="action"identifier"is"action_type"which"sentence"."

action_type::="positive"|"passive"

identifier::="a..z,$,_"{"a..z,$,_,0..9"}

sentence::={character}

character::="basedontheunicodecharacterset"

%requirementwithpostfix.rqm

%requirementpay_reqisinscenepay_scenewithprocesspay_processandrulea,b,c

requirement_statement::="requirement"identifier"isinscene"scene_name"withprocess"process_name{"andrule"rule_list}"."

process_name::=identifier

rule_list::=identifier{","identifier}

%scenepay_scenehasexecutorpersonandlinktoshipmentifdone(pay,order).

scene_statement::="scene"identifier"hasexecutor"executor_name["withprecondition"condition]"andlinkto"effect_list"."

effect_list::=effect_statement{","effect_statement}

effect_statement::=scene_name"if"condition

scene_name::=identifier

%processpay_processispickorder,pushsister.

process_statement::="process"identifier"is"operation_list"."

operation_list::=operation_statement{","operation_statement}

operation_statement::=action_list[object_name]

object_name::=identifier

rule_statement::="rule"identifier"is"rule_type"whichcanperform"operation_statement"if"condition"."

rule_type::="operationrule"|"attributerule"|"triggerrule"

atom_statement::=[not]<"ture"|"false"|"done("operation_statement")"|"est("identifier","identifier","action")">

condition_statement::="atom_statement"{<"and"|"or">condition_statement}

在这套需求描述的语言中,本发明分别定义了需求(requirement)、概念(conception)、流程(process)、规则(rule)、场景(scene)等;这套巴特斯范式是通过对大量的电商需求文档进行分析,抽取其中的逻辑关系,分别定义了primitivetype、actiontype、ruletype、classes、attributes、actions等基本语法,通过使用这些语法,能够帮助需求描述人员对开发需求进行形式化的描述。概念是用来表示需求中出现的名词和动词,其中名词叫做角色(roles),动词称作行为(action);每一个行为都绑定一个角色,意味着这个行为只能由特定的角色执行;在电商领域中,一个角色可以作为顾客,顾客有下订单和付款的行为;场景可以看做是电商业务的抽象,场景可以用来形容电商需求的落地点所在,场景是和执行者的行为进行绑定,比如商品在什么地方被什么人购买;流程是对应着场景而言的,流程在电商描述中用来描述用户(执行者)在哪个场景,应该按顺序执行的操作;规则是用来描述商业规则的,在本发明中定义了三种类型的商业规则,包括操作规则、商品属性规则以及可以被行为触发的触发规则。

4.2当用户输入某个实体关键词的时候,在知识图谱功能区域会时刻更新,显示知识图谱的可视化结果,如图2所示,可视化的内容是与该实体相关联的其他实体,并标明实体之间的关系,供给使用者参考;同时,利用知识图谱的可推理的能力,推理出用户下一步输入最大可能性的相关实体内容,可视化的展现给用户,帮助用户发现真正的需求。

4.3当用户描述好一个需求的时候,可以通过使用知识图谱的推理能力,找到描述的需求之间的不合理情况,比如两个实体不应该放到一起,或者实体的触发条件是冲突等问题,都可以通过知识图谱检测出来,然后提醒给使用者这些问题。

s5.用户可以将设计好的需求语言,通过本发明提供的模型功能,自动生成相对应的uml图例,如图3所示,减少了使用者需要手动绘制这些图例的时间,大大提高使用者需求描述的效率,实现快速描述需求的目的。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1