可左右滑动选省市

通用语义框架的实现方法发明专利

更新时间:2024-09-01
通用语义框架的实现方法发明专利 专利申请类型:发明专利;
地区:四川-绵阳;
源自:绵阳高价值专利检索信息库;

专利名称:通用语义框架的实现方法

专利类型:发明专利

专利申请号:CN202111419645.5

专利申请(专利权)人:四川长虹电器股份有限公司
权利人地址:四川省绵阳市高新区绵兴东路35号

专利发明(设计)人:童姝宇

专利摘要:本发明涉及语义识别技术领域,公开了一种通用语义框架的实现方法,解决现有的语义识别框架存在服务器资源浪费、开发时间成本和人力成本较高的问题,包括以下步骤:框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中;调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中;为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口。本发明不仅减少了服务器资源的浪费,还减少了开发的时间成本和人力成本,适用于语义识别。

主权利要求:
1.通用语义框架的实现方法,其特征在于,包括以下步骤:
步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;
步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;
步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。
2.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。
3.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。
4.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。
5.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。
6.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述从数据库的Redis中获取各技能的配置组件包括:缓存组件、意图组件、规则组件、实体组件和回复语组件。 说明书 : 通用语义框架的实现方法技术领域[0001] 本发明涉及语义识别技术领域,具体来说涉及一种通用语义框架的实现方法。背景技术[0002] 目前语义识别使用的Rasa框架,能够承担语义的自然语言理解的缓存、规则和多轮等组件,对话管理的回复语组件等。每次对各技能优化迭代或者上线一个新技能时,需要停止服务对项目进行重新部署,当存在以下情况的时候:需临时上线一个有时效性的技能(如节假日领域),时效过了需要对该技能进行下线,部分技能需要经常进行修改和调整,每次有小的改动都需要重新部署上线会影响服务的正常运行,这样不仅浪费服务器资源,还增加了开发的时间成本和人力成本。发明内容[0003] 本发明旨在解决现有的语义识别框架存在服务器资源浪费、开发时间成本和人力成本较高的问题,提出一种通用语义框架的实现方法。[0004] 本发明解决上述技术问题所采用的技术方案是:通用语义框架的实现方法,包括以下步骤:[0005] 步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;[0006] 步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;[0007] 步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。[0008] 作为进一步优化,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:[0009] 当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。[0010] 作为进一步优化,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:[0011] 当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。[0012] 作为进一步优化,所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:[0013] 当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。[0014] 作为进一步优化,所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:[0015] 当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。[0016] 作为进一步优化,所述从数据库的Redis中获取各技能的配置组件包括:缓存组件、意图组件、规则组件、实体组件和回复语组件。[0017] 本发明的有益效果是:本发明所述的通用语义框架的实现方法,无需停止服务就可实时对技能进行上下线和修改操作,不仅减少了服务器资源的浪费,还减少了开发的时间成本和人力成本。附图说明[0018] 图1为本发明实施例所述的通用语义框架的实现方法的流程示意图;[0019] 图2为本发明实施例所述的配置组件通用化流程示意图;[0020] 图3为本发明实施例所述的访问接口的语义解析流程示意图;[0021] 图4为本发明实施例所述的配置组件获取示意图;[0022] 图5为本发明实施例所述的配置组件解析示意图;[0023] 图6为本发明实施例所述的根据解析结果组装回复语的示意图;[0024] 图7为本发明实施例所述的接口实现方法及流程示意图。具体实施方式[0025] 下面将结合附图对本发明的实施方式进行详细描述。[0026] 本发明提供的通用语义框架的实现方法,包括以下步骤:步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。[0027] 具体而言,本发明将Rasa对话框架重构为一个通用的语义框架,将所有组件配置在数据库中,框架启动后,把原本的代码组件访问顺序改为读取数据库中的配置组件,并根据对某技能不同的需求(如:更新、删除、新增等),访问特定的接口,刷新项目运行的内存,让新配置生效,进而实现对技能进行上下线和修改操作。[0028] 实施例[0029] 本发明实施例所述的通用语义框架的实现方法,包括以下步骤:[0030] 步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;[0031] 具体而言,本实施例中的框架采用Sanic启动方法,如图2所示,在框架首次运行时将从数据库的Redis中获取各技能的配置组件,并进行各组件的规范检查,通过检查的组件将加载至框架的Interpreter中,未通过检查的组件,会提醒错误信息,不进行加载也不会影响该技能其他组件的检查和加载。[0032] 步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;[0033] 本步骤主要用于实现各组件的通用化,在初始化时,各组件会调用Metadata中的skill_config配置信息,获取当前组件的配置信息,调用组件初始化方法进行该组件的初始化,初始化完成后加载进内存中。[0034] 步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。[0035] 本实施例中,如图3所示,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:[0036] 当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。[0037] 问题:假设Parse接口监听到技能名为ch_greeting,语义文本为早上好的请求,根据配置,期望返回该文本对应的早上好意图的回复语。[0038] 如图4所示,在收到Parse请求后,调用agent中的handle_text方法,判断该技能是否存在,若不存在,退出执行,若存在,获取该技能相关配置缓存。[0039] 根据Pipeline中组件执行顺序依次执行各组件的Parse方法,各组件会从该领域配置中获取组件本身需要的部分进行解析,图5为执行pulic_name_ruler时示例,该规则组件会从组件完整配置中读取属于自己的Ruler组件。[0040] 如图6所示,各组件依次命中和获取相关内容后,回复语组件会根据各部分结果组装最终回复语,如果获取到解析出来的实体,会根据实体进行定制回复;如果没有,会根据配种文件中语义结果的意图的回复语进行回复。[0041] 如图7所示,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:[0042] 当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。[0043] 所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:[0044] 当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的Update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。[0045] 所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:[0046] 当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。[0047] 综上所述,本实施例通过框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,并通过一个将Redis中的配置文件转换为框架中各组件的运行时调用的内存配置方法,实现了对技能实时修改、上下线且不用停止服务。

专利地区:四川

专利申请日期:2021-11-26

专利公开日期:2024-06-18

专利公告号:CN114077842B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部