基于业务模型的语义训练系统及其方法与流程

文档序号:17587985发布日期:2019-05-03 21:30阅读:257来源:国知局
基于业务模型的语义训练系统及其方法与流程

本发明涉及自然语言处理的技术领域,尤其涉及一种基于业务模型的语义训练系统及其方法。



背景技术:

随着人工智能在各个领域的渗透,全球将从互联网时代步入人工智能时代。自然语言处理作为人工智能重要的分支,在人工智能发展的进程上起着重要的促进作用。自然语言处理(nlp)是指机器理解并解释人类写作、说话方式的能力。nlp的目标是让计算机/机器在理解语言上像人类一样智能,最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。nlp分析技术大致分为三个层面:词法分析、句法分析和语义分析。语义分析的最终目的是理解句子表达的真实语义。语义分析需要语义训练手段,通过语义训练产生的用户语言知识、语义结构和语义模式,即词法分析和句法分析,实现语义分析能力。

目前语义训练的方法都是通过词法分析和句法分析的手段,同时对用户的语料进行语义角色标注,产生用户语言知识、语义结构和语义模式这样的分析引擎可以理解的形式。目前,当前应用市场并没有一个较好的语义训练流程来帮助那些没有nlp基础的应用领域开发人员进行语义开发。例如科大讯飞的aiui开发平台,百度的ai开发平台以及微软的luis。这些开发平台提供的语义训练帮助工具对于应用领域开发人员来说无法直接使用,知识的不对称阻碍这人工智能的应用,同时在上述平台使用,需要极大的工作量,管理和维护成本高,同时应用开发人员对训练过程中的概念和流程并不是很理解,造成用户虽然在进行语义训练,但是一头雾水的情况。

目前来看,现在语义训练相关的训练工具难以使用,若应用开发人员不具备nlp知识,会导致无法掌握语义训练流程,从而提高了接入nlp分析技术的门槛。同时,用户的语义训练工作量极大,存在管理不容易且维护成本很高的技术问题。



技术实现要素:

本发明的主要目的在于提出一种基于业务模型的语义训练方法及其系统,旨在解决语义训练难以管理,维护成本高的问题。

为实现上述目的,本发明提出一种基于业务模型的语义训练方法,包括:

录入模块,用于接收业务模型的录入操作,获取业务模型数据,所述业务模型数据包括对象、属性或方法;

分析模块,与所述录入模块相连,用于对所述对象、属性或方法进行分析处理,获取用户语言知识、语义结构或语义事件,并据此构造语义模式,生成基础语料;

训练用例生成模块,与所述分析模块相连,用于根据所述基础语料生成训练用例数据;

训练执行模块,与所述分析模块以及训练用例生成模块相连,用于根据所述语义模式、训练用例数据生成spd文件、tcd文件以及映射关系文件。

在一个可能的设计中,所述录入模块包括对象录入单元、属性录入单元和方法录入单元、数据存储单元;其中:

所述对象录入单元用于接收所述业务模型中对象的录入操作;所述对象包含抽象词、下位词和实例词;

所述属性录入单元用于接收所述对象的属性的录入操作;所述属性包含属性词、属性值和属性类型;

所述方法录入单元用于接收所述对象的方法的录入操作;所述方法包含方法名、输入参数和输出参数;

所述数据存储单元用于将所述业务模型存储到所述数据库。

在一个可能的设计中,所述分析模块包括对象分析单元、属性分析单元、方法分析单元、本体扩充单元、模式构造单元、基础语料生成单元以及数据存储单元;其中:

所述对象分析单元用于对所述对象进行术语的抽取,获取用户语言知识,并将所述对象与所述用户语言知识进行关联;

所述属性分析单元用于对所述属性进行分析,获取所述属性的语义结构;

所述方法分析单元用于对所述方法进行分析,获取对应的语义事件;

所述本体扩充单元,用于对所述用户语言知识进行扩充,并对所述用户语言知识的结构进行调整;

所述模式构造单元用于通过所述业务模型中的谓词语义关系和短语语义关系,结合所述用户语言知识和语义结构,构造出语义模式;

所述基础语料生成单元用于分析所述语义模式,将所述语义模式中的各个语义角色替换为具体词以生成基础语料;

所述数据存储单元用于将所述用户语言知识和业务模型的映射关系、用户语言知识、语义结构、语义模式以及基础语料存储到数据库服务器中。

在一个可能的设计中,所述训练用例生成模块包含语料获取单元、等价扩充合并单元、自动标注单元以及数据存储单元;其中:

所述语料获取单元用于获取所述分析模块生成的基础语料,并通过预设方式获取扩充语料;

所述等价扩充合并单元用于将公共语言知识与所述语料获取单元获取的语料进行等价的扩充和合并,得到语料的标准型及其关联的等价表达;

所述自动标注单元用于对所述等价扩充合并单元产生的语料的标准型来进行自动标注,得到训练用例数据;

所述数据存储单元用于将所述训练用例数据保存到数据库中。

在一个可能的设计中,所述训练执行模块包括spd生成单元、tcd生成单元、基本语义映射单元、复杂语义映射单元以及数据存储单元;其中:

所述spd生成单元用于将所述语义事件关联到所述语义模式,生成spd文件;

所述tcd生成单元用于将所述训练用例数据关联到所述语义模式,生成tcd文件;

所述基本语义映射单元用于分析所述训练用例数据中的简单语句,将其映射为基本语义模式,生成简单映射关系文件;

所述复杂语义映射单元用于分析所述训练用例数据中的复杂语句,将其映射到基本语义模式的集合,生成复杂映射关系文件;

所述数据存储单元将所述spd文件、tcd文件、简单映射关系文件以及复杂映射关系文件上传到文件服务器中。

本发明还提供一种基于业务模型的语义训练方法,包括:

接收业务模型的录入操作,获取业务模型数据,所述业务模型数据包括对象、属性或方法;

对所述对象、属性或方法进行分析处理,获取用户语言知识、语义结构或语义事件,并据此构造语义模式,生成基础语料;

根据所述基础语料生成训练用例数据;

根据所述语义模式、训练用例数据生成spd文件、tcd文件以及映射关系文件。

在一个可能的设计中,所述接收业务模型的录入操作包括:

接收所述业务模型中对象的录入操作;所述对象包含抽象词、下位词和实例词;

接收所述对象的属性的录入操作;所述属性包含属性词、属性值和属性类型;

接收所述对象的方法的录入操作;所述方法包含方法名、输入参数和输出参数;

将所述业务模型存储到所述数据库。

在一个可能的设计中,所述分对所述对象、属性或方法进行分析处理,获取用户语言知识、语义结构或语义事件,并据此构造语义模式,生成基础语料包括:

对所述对象进行术语的抽取,获取用户语言知识,并将所述对象与所述用户语言知识进行关联;

对所述用户语言知识进行扩充,并对所述用户语言知识的结构进行调整;

对所述属性进行分析,获取所述属性的语义结构;

对所述方法进行分析,获取对应的语义事件;

通过所述业务模型中的谓词语义关系和短语语义关系,结合所述用户语言知识和语义结构,构造出语义模式;

分析所述语义模式,将所述语义模式中的各个语义角色替换为具体词以生成基础语料;

将所述用户语言知识和业务模型的映射关系、用户语言知识、语义结构、语义模式以及基础语料存储到数据库服务器中。

在一个可能的设计中,所述根据所述基础语料生成训练用例数据包括:

获取所述分析模块生成的基础语料,并通过预设方式获取扩充语料;

将公共语言知识与所述语料获取单元获取的语料进行等价的扩充和合并,得到语料的标准型及其关联的等价表达;

所述语料的标准型来进行自动标注,得到训练用例数据;

将所述训练用例数据保存到数据库中。

在一个可能的设计中,所述根据所述语义模式、训练用例数据生成spd文件、tcd文件以及映射关系文件包括:

将所述语义事件关联到所述语义模式,生成spd文件;

将所述训练用例数据关联到所述语义模式,生成tcd文件;

分析所述训练用例数据中的简单语句,将其映射为基本语义模式,生成简单映射关系文件;

分析所述训练用例数据中的复杂语句,将其映射到基本语义模式的集合,生成复杂映射关系文件;

将所述spd文件、tcd文件、简单映射关系文件以及复杂映射关系文件上传到文件服务器中。

本发明提出的基于业务模型的语义训练系统及其方法,解决语义训练操作工具难以被应用开发人员使用和掌握的问题;降低应用领域开发人员接入语义分析能力的门槛,应用开发人员只需要领域知识即可完成训练工作,特别是不需要额外的语法语义知识进行训练工作;解决语义训练难以管理,维护成本高的问题,特别是涉及到语法语义知识;解决语义训练工作繁复、难以完整的定义训练用例和系统化定义训练用例、自动化程度不高导致工作量极大的问题。

附图说明

图1为本发明实施例的基于业务模型的语义训练系统的结构示意图;

图2为本发明实施例的录入模块的结构示意图;

图3为本发明实施例的分析模块的结构示意图;

图4为本发明实施例的训练用例生成模块的结构示意图;

图5为本发明实施例的训练执行模块的结构示意图;

图6为本发明实施例的基于业务模型的语义训练方法的流程示意图;

图7为本发明实施例的业务模型录入的流程示意图;

图8为本发明实施例的业务模型分析的流程示意图;

图9为本发明实施例的训练用例生成的流程示意图;

图10为本发明实施例的训练执行的流程示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现在将参考附图描述实现本发明各个实施例的。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

如图1所示,本发明提供一种基于业务模型的语义训练系统,包括录入模块10、分析模块20、训练用例生成模块30以及训练执行模块40。其中:

录入模块10用于接收业务模型的录入操作,获取业务模型数据,该业务模型数据包括对象、属性或方法;可见,录入模块10能帮助应用开发人员录入其领域内的业务模型。

分析模块20与录入模块10相连,用于对该对象、属性或方法进行分析处理,获取用户语言知识、语义结构或语义事件,并据此构造语义模式,生成基础语料,语料是指用户应用领域的典型表达。在具体实施时,分析模块20结合业务模型数据和公共语言知识数据,对业务模型的对象、属性和方法进行分析处理,从而获取本体词库等用户语言知识以及业务模型和用户语言知识映射关系,最后分析模块将这些数据存储到数据库中。

训练用例生成模块30与分析模块20相连,用于根据该基础语料生成训练用例数据。训练用例生成模块30可以通过用户导入、公开语料爬取、基于属性模式生成的手段获取足够的语料,并对语料进行等价扩充合并以及对语料进行自动标注,产生训练用数据,用户可以对训练用例进行手动调整,用户确认后存储训练用例数据到数据库中。训练用例是指经过标注的语料。

训练执行模块40与该分析模块20以及训练用例生成模块30相连,用于根据该语义模式、训练用例数据生成spd文件、tcd文件以及映射关系文件。更具体地,训练执行模块40用于执行语义训练,基于用户语言知识和训练用例数据,利用训练引擎进行训练,产生spd文件、tcd文件,同时生成了基本语义以及复杂语义映射规则文件,分析引擎加载这些语言知识和规则文件,提供用户应用领域的语义分析功能。其中,训练引擎用于将语料训练为语言知识。分析引擎用于对用户表达进行分析,结合语言知识生成语义化表达,并转化为可被用户使用的形式。

在图1对应的实施例的基础上,如图2所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练系统中,该录入模块10包括对象录入单元11、属性录入单元12和方法录入单元13、数据存储单元14;本实施例中,录入模块10可以使用引导式录入操作,其中对象和方法是必须录入的,属性录入是可选的。此外,录入顺序是从对象到属性再到方法其中:

该对象录入单元11用于接收业务模型中对象的录入操作;该对象包含抽象词、下位词和实例词;抽象词是指一类事物,例如“歌曲”;下位词是指抽象词的进一步分类,其外延小于抽象词,例如“流行歌曲”;实例词是指抽象词和下位词的具体实例,例如“十年”。对象录入单元需要录入业务模型中涉及到的所有对象,包含上述三种词及其上下位关系。例如,“查股票”这个业务模型,“股票”就是对象。“股票”是抽象词,其还会包含其他的下位词,如“绩优股”,包含实例词,如“上海家化”。

该属性录入单元12用于接收该对象的属性的录入操作;该属性包含属性词、属性值和属性类型;属性的录入是依赖对象的,所以在录入属性的时候需要选择依赖的对象。例如,“股东是马云的股票”这个业务模型,上面说了“股票”是对象,“股东是马云”是属性。其中,“股东”是属性词,“马云”是属性值,属性值类型是自动检测的,然后交由用户确认,在这个例子中,属性值类型是人名或者股东名。

该方法录入单元用于接收该对象的方法的录入操作;该方法包含方法名、输入参数和输出参数;方法的含义可以理解为一种针对对象功能操作。方法的录入依赖对象和属性,当定义方法时除了指定方法名外,还需要执行输入参数和输出参数,输入参数从对象和属性中选择,输出参数从对象中选择,输入参数是可选的,输出参数是必选的。一般地,方法名一般是自定义的,输入和输出参数则是依据业务模型的对象或者属性来进行选择。例如,“查股东是马云的股票”这个业务模型,“查”这个是方法,方法的输入参数定义是基于对象或者属性来增加的,方法的输出参数定义是基于对象来增加的,输出参数代表用户的意图。所以,上述例子中,“股东是马云”是属性作为输入参数,“股票”是对象作为输出参数。

该数据存储单元用于将该业务模型存储到该数据库服务器50;数据库服务器50使用mysql数据库。

在图1对应的实施例的基础上,如图3所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练系统中,该分析模块20包括对象分析单元21、属性分析单元22、方法分析单元23、本体扩充单元24、模式构造单元25、基础语料生成单元26以及数据存储单元27;在具体实施时,通过用户点击触发各个单元的工作。其中:

该对象分析单元21用于对该对象进行术语的抽取,获取用户语言知识,并将该对象与该用户语言知识进行关联;对象分析单元21通过对录入模块10录入的对象进行术语的抽取,获取本体词库以及本体词库结构的用户语言知识。同时,还需将业务模型的对象和本体词库等用户语言知识关联起来。

上述本体词库包含本体和命名实体。例如,“生日是1990年10月的人”,其中“生日是1990年10月”是一个属性,“生日”是属性词,“1990年10月”是属性值,通过命名实体识别可以知道其是日期实体,即属性值类型,此时属性语义结构可以表示为“生日是@日期”。

该属性分析单元22用于对该属性进行分析,获取该属性的语义结构;属性分析单元22通过对录入模块10录入的属性内容进行术语抽取、命名实体识别、语法结构分析,获取属性关联的本体词库以及属性的语义结构,属性的语义结构表现为属性词、属性关系词或者属性表达式组合、本体词库的组合。此外,在公共语言知识的基础上,扩充属性的表达,从而获取更多的属性的语义结构。

该方法分析单元23用于对该方法进行分析,获取对应的语义事件;方法分析单元23通过分析录入模块10录入的方法进行分析,产生对应的语义事件结构。语义事件是方法基于api风格的表现,也是分析引擎的输出。语义事件和方法是在应用领域层面和语义领域层面的相同表达,分析引擎如果解析出来语义事件,具体输出格式可以关联到方法上。

由于从业务模型中获取的本体有限,所以本体扩充单元24利用公共语言知识的基础,对获取到的本体词库进行扩充,同时可以对本体词库的结构进行修改和增加。即,本实施例中,本体扩充单元24用于对该用户语言知识进行扩充,并对该用户语言知识的结构进行调整,例如修改上下位关系。

该模式构造单元25用于通过该业务模型中的谓词语义关系和短语语义关系,结合该用户语言知识和语义结构,构造出语义模式.。更具体地,模式构造单元25通过业务模型中包含的谓词语义关系和短语语义关系,结合已经得到的用户语言知识,即本体词库和属性的语义结构,构造出初步的语义模式。语义模式表现为谓词(可选)、属性语义结构、本体词库的组合,其中属性的语义结构是复合结构。语义模式是生成基础语料的基石,也用于分析进行语义分析。例如,语义模式的形式可以是“生日是@日期的@人”或者“预定@城市到@城市的价格为@数量以内的@机票”;其中,“@”是表示本体词库。

该基础语料生成单元26用于基于用户语言知识和公共语言知识,分析该语义模式,将该语义模式中的各个语义角色替换为具体词以生成基础语料;这些语料是用户应用领域的基础表达。在训练用例生成模块中,该基础语料作为输入,得到训练用例数据。

该数据存储单元27用于将该用户语言知识和业务模型的映射关系、用户语言知识、语义结构、语义模式以及基础语料存储到数据库服务器中。更具体地,数据存储单元负责将上述分析过程得到的本体词库和业务模型的映射关系、本体词库及其结构、属性语义结构、扩充的属性语义结构、语义事件、语义模式以及基础语料存储到数据库服务器中。数据库服务器使用mysql服务器。数据存储单元将获得的用户语言知识存入数据库,保存到mysql中。

在图1对应的实施例的基础上,如图4所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练系统中,该训练用例生成模块30包含语料获取单元31、等价扩充合并单元32、自动标注单元33以及数据存储单元34;在具体实施时,训练用例生成模块可以通过点击触发工作。

语料获取单元31用于获取该分析模块20生成的基础语料,并通过预设方式获取扩充语料;该预设方式例如是导入用户语料、爬取公开语料等手段,扩充语料能让训练引擎得到更多可以训练的知识。也就是说,语料获取单元31可以读取分析模块产生的基本语料,用户也可以导入已有的语料入库,同时用户可以选择进行公开语料扩充来获取语料,该些语料将是训练用例的原材料

等价扩充合并单元32用于将公共语言知识与该语料获取单元获取的语料进行等价的扩充和合并,得到语料的标准型及其关联的等价表达;缩小需要标注的语料范围,同时扩充语料的等价表达,将等价的表达关联。等价扩充合并在公共语言知识库的基础上,扩充语料并合并等价语料,产生标准型语料及其关联的等价语料,达到降低工作量的效果,提高语义训练效率。

自动标注单元用于对该等价扩充合并单元产生的语料的标准型来进行自动标注,得到训练用例数据;自动标注的依据是通过对语料进行分析,结合分析模块得到的本体词库、属性语义结构、语义模式对语料进行标注,得到标注的结果,即训练用例。此外,还可以将标注结果返回给用户进行确认,如有必要可以对标注结果进行修改,用户确认后将训练用例数据保存到数据库中。

数据存储单元用于将训练用例数据进行持久化,将该训练用例数据保存到数据库中,数据库服务器可以使用mysql服务。数据存储单元将产生的语料及其等价语料和训练用例数据存入数据库中,即保存到mysql服务器中。训练引擎获取的语料越多就可以为分析提供更多的语义知识和语义规则,使得分析引擎有更高的召回率和准确率、

在图1对应的实施例的基础上,如图5所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练系统中,该训练执行模块40包括spd生成单元41、tcd生成单元42、基本语义映射单元43、复杂语义映射单元44以及数据存储单元45;训练执行模块40可以通过点击触发工作。其中:

spd生成单元将分析模块得到的语义模式再进行完善和补充,同时将语义事件关联到语义模式,生成spd文件;

tcd生成单元将训练用例生成模块30得到的训练用例及其等价表达整理,关联到语义模式,生成tcd文件;

基本语义映射单元用于分析该训练用例数据中的简单语句,将其映射为基本语义模式,生成简单映射关系文件;

复杂语义映射单元用于分析该训练用例数据中的复杂语句,将其映射到基本语义模式的集合,生成复杂映射关系文件;

数据存储单元将该spd文件、tcd文件、简单映射关系文件以及复杂映射关系文件上传到文件服务器60中。

如图6所示,本发明实施例提供一种基于业务模型的语义训练方法,包括:

101、开始。

102、接收业务模型的录入操作,获取业务模型数据,该业务模型数据包括对象、属性或方法;

103、对该对象、属性或方法进行分析处理,获取用户语言知识、语义结构或语义事件,并据此构造语义模式,生成基础语料。

语料是指用户应用领域的典型表达。在具体实施时,可以结合业务模型数据和公共语言知识数据,对业务模型的对象、属性和方法进行分析处理,从而获取本体词库等用户语言知识以及业务模型和用户语言知识映射关系,最后分析模块将这些数据存储到数据库中。

104、根据该基础语料生成训练用例数据。

具体实施时,可以通过用户导入、公开语料爬取、基于属性模式生成的手段获取足够的语料,并对语料进行等价扩充合并以及对语料进行自动标注,产生训练用数据,用户可以对训练用例进行手动调整,用户确认后存储训练用例数据到数据库中。训练用例是指经过标注的语料。

105、根据该语义模式、训练用例数据生成spd文件、tcd文件以及映射关系文件。

更具体地,执行语义训练,基于用户语言知识和训练用例数据,利用训练引擎进行训练,产生spd文件、tcd文件,同时生成了基本语义以及复杂语义映射规则文件,分析引擎加载这些语言知识和规则文件,提供用户应用领域的语义分析功能。其中,训练引擎用于将语料训练为语言知识。分析引擎用于对用户表达进行分析,结合语言知识生成语义化表达,并转化为可被用户使用的形式。

106、结束。

在图6对应的实施例的基础上,本发明实施例提供一种基于业务模型的语义训练方法,如图7所示,步骤102具体包括:

301、开始。

302、接收业务模型中对象的录入操作;

业务模型71包括对象、属性及方法。该对象包含抽象词、下位词和实例词;抽象词是指一类事物,例如“歌曲”;下位词是指抽象词的进一步分类,其外延小于抽象词,例如“流行歌曲”;实例词是指抽象词和下位词的具体实例,例如“十年”。在“查股票”这个业务模型中,“股票”就是对象。“股票”是抽象词,其还会包含其他的下位词,如“绩优股”,包含实例词,如“上海家化”。

303、接收该对象的属性的录入操作。

该属性包含属性词、属性值和属性类型;属性的录入是依赖对象的,所以在录入属性的时候需要选择依赖的对象。例如,“股东是马云的股票”这个业务模型,上面说了“股票”是对象,“股东是马云”是属性。其中,“股东”是属性词,“马云”是属性值,属性值类型是自动检测的,然后交由用户确认,在这个例子中,属性值类型是人名或者股东名。

304、接收该对象的方法的录入操作。

该方法包含方法名、输入参数和输出参数;方法的含义可以理解为一种针对对象功能操作。方法的录入依赖对象和属性,当定义方法时除了指定方法名外,还需要执行输入参数和输出参数,输入参数从对象和属性中选择,输出参数从对象中选择,输入参数是可选的,输出参数是必选的。一般地,方法名一般是自定义的,输入和输出参数则是依据业务模型的对象或者属性来进行选择。例如,“查股东是马云的股票”这个业务模型,“查”这个是方法,方法的输入参数定义是基于对象或者属性来增加的,方法的输出参数定义是基于对象来增加的,输出参数代表用户的意图。所以,上述例子中,“股东是马云”是属性作为输入参数,“股票”是对象作为输出参数。

305、判断是否继续进行录入操作;若是,则返回步骤302。若是,则进入步骤306。

306、将该业务模型数据72存储到该数据库服务器中;数据库服务器可以使用mysql数据库。

在图6对应的实施例的基础上,如图8所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练方法中,步骤103具体包括:

401、开始。

402、对对象进行分析。

对该业务模型数据72中的对象进行术语的抽取,在抽取时可以结合公共语言知识进行操作;获取本体词库以及本体词库结构的用户语言知识,并将该对象与该用户语言知识进行关联。

上述本体词库包含本体和命名实体。例如,“生日是1990年10月的人”,其中“生日是1990年10月”是一个属性,“生日”是属性词,“1990年10月”是属性值,通过命名实体识别可以知道其是日期实体,即属性值类型,此时属性语义结构可以表示为“生日是@日期”。

403、对该属性进行分析,获取该属性的语义结构。

通过对录入的属性内容进行术语抽取、命名实体识别、语法结构分析,获取属性关联的本体词库以及属性的语义结构,属性的语义结构表现为属性词、属性关系词或者属性表达式组合、本体词库的组合。此外,在公共语言知识的基础上,扩充属性的表达,从而获取更多的属性的语义结构。

404、对该方法进行分析,获取对应的语义事件。

语义事件是方法基于api风格的表现,也是分析引擎的输出。语义事件和方法是在应用领域层面和语义领域层面的相同表达,分析引擎如果解析出来语义事件,具体输出格式可以关联到方法上。

405、对获取到的本体词库进行扩充。

由于从业务模型中获取的本体有限,所以可以利用公共语言知识的基础,同时可以对本体词库的结构进行修改和增加,例如修改上下位关系。

406、进行模式构造。

通过该业务模型中的谓词语义关系和短语语义关系,结合该用户语言知识和语义结构,构造出语义模式.。更具体地,通过业务模型中包含的谓词语义关系和短语语义关系,结合已经得到的用户语言知识,即本体词库和属性的语义结构,构造出初步的语义模式。语义模式表现为谓词(可选)、属性语义结构、本体词库的组合,其中属性的语义结构是复合结构。语义模式是生成基础语料的基石,也用于分析进行语义分析。例如,语义模式的形式可以是“生日是@日期的@人”或者“预定@城市到@城市的价格为@数量以内的@机票”;其中,“@”是表示本体词库。

407、生成基础语料。

基于用户语言知识和公共语言知识,分析该语义模式,将该语义模式中的各个语义角色替换为具体词以生成基础语料;这些语料是用户应用领域的基础表达。在训练用例生成模块中,该基础语料作为输入,得到训练用例数据。

408、进行数据存储。

将该用户语言知识和业务模型的映射关系、用户语言知识74、语义结构、语义模式以及基础语料存储到数据库服务器中。更具体地,数据存储单元负责将上述分析过程得到的本体词库和业务模型的映射关系、本体词库及其结构、属性语义结构、扩充的属性语义结构、语义事件、语义模式以及基础语料存储到数据库服务器中。数据库服务器使用mysql服务器。数据存储单元将获得的用户语言知识存入数据库,保存到mysql中。

在图6对应的实施例的基础上,如图9所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练方法中,步骤104具体包括。

501、开始。

502、获取语料,

在具体实施时,可以读取已生成的基本语料71,用户也可以导入已有的用户语料82入库,同时用户可以选择进行公开语料83扩充来获取语料,该些语料将是训练用例的原材料。

503、通过预设方式对语料进行扩充;

该预设方式例如是导入用户语料、爬取公开语料等手段,扩充语料能让训练引擎得到更多可以训练的知识。

504、进行等价扩充合并。

将获取的语料进行等价的扩充和合并,得到语料的标准型及其关联的等价表达;缩小需要标注的语料范围,同时扩充语料的等价表达,将等价的表达关联。等价扩充合并在公共语言知识库的基础上,扩充语料并合并等价语料,产生标准型语料及其关联的等价语料,达到降低工作量的效果,提高语义训练效率。

505、进行自动标注。

在已获取用户语言知识的基础上,对语料的标准型来进行自动标注,得到训练用例数据;自动标注的依据是通过对语料进行分析,结合本体词库、属性语义结构、语义模式对语料进行标注,得到标注的结果,即训练用例。此外,还用户确认后将训练用例数据保存到数据库中。

506、对训练用例调整。

可以将标注结果返回给用户进行确认,如有必要可以对标注结果进行修改等调整动作。

507、进行数据存储。

将训练用例数据进行持久化,将该训练用例数据保存到数据库中,数据库服务器可以使用mysql服务。更具体地,将产生的语料及其等价语料和训练用例数据存入数据库中,即保存到mysql服务器中。训练引擎获取的语料越多就可以为分析提供更多的语义知识和语义规则,使得分析引擎有更高的召回率和准确率。

在图10对应的实施例的基础上,如图10所示,本发明另一实施例中,本发明提供一种基于业务模型的语义训练方法中,步骤105具体包括:

601、开始。

602、获取数据。

主要包括用户语言知识74以及训练用例数据75。

603、spd生成。

将语义模式再进行完善和补充,同时将语义事件关联到语义模式,生成spd文件;

604、tcd生成。

将训练用例及其等价表达整理,关联到语义模式,生成tcd文件;

605、进行基本语义映射处理。

分析该训练用例数据中的简单语句,将其映射为基本语义模式,生成简单映射关系文件;

606、进行复杂语义映射处理。

分析该训练用例数据中的复杂语句,将其映射到基本语义模式的集合,生成复杂映射关系文件;

607、进行数据存储。

将该spd文件、tcd文件、简单映射关系文件以及复杂映射关系文件作为训练结果文件76上传到文件服务器中。

608、结束。

本发明提供的基于业务模型的语义训练系统及其方法,当用户需要接入语义分析技术的时候,不可避免的需要进行语义训练,本发明通过录入模块对用户应用领域的业务模型进入引导式的录入,让用户不至于无从下手。通过分析模块得到用户录入的业务模型的内涵,即用户语言知识,同时生成基本语料,让用户在有基础的条件下,进行语料的获取工作,指导用户以一种系统化的方法,完整的定义训练用例。通过训练用例生成模块,对用户的语料进行自动扩充,然后进行等价合并处理,最后进行自动标注,极大地降低用户的工作量,方便用户进行管理和维护。通过训练执行模块完成规则文件的生成,实现基本语义映射和复杂语义映射,使得分析引擎可以更好的理解用户表达。

本发明提供的基于业务模型的语义训练系统及其方法,通过录入模块,用户只需要对业务模型进行录入和修改,应用领域开发人员可以很容易就掌握如何操作语义训练,同时用户可以更方便的管理和维护语义训练工作。通过分析模块中的对象、属性和方法的分析对用户屏蔽了领域知识到语法语义知识的生成过程,使得用户仅需要领域知识而无需额外的语法语义等知识,降低了应用领域开发人员进入接入语义分析能力的门槛。通过训练用例生成模块自动生成训练用例数据,极大地降低了用户的工作量。通过训练执行模块可以产生基于复杂嵌套语句的方法,产生基本语义映射流,用于理解用户的复杂语句,即包含多个基本语义映射的语句,提高了分析引擎的语义解析能力

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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