CN114077842B - 通用语义框架的实现方法 - Google Patents
通用语义框架的实现方法 Download PDFInfo
- Publication number
- CN114077842B CN114077842B CN202111419645.5A CN202111419645A CN114077842B CN 114077842 B CN114077842 B CN 114077842B CN 202111419645 A CN202111419645 A CN 202111419645A CN 114077842 B CN114077842 B CN 114077842B
- Authority
- CN
- China
- Prior art keywords
- configuration
- skill
- component
- interface
- memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000011423 initialization method Methods 0.000 claims abstract description 6
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及语义识别技术领域,公开了一种通用语义框架的实现方法,解决现有的语义识别框架存在服务器资源浪费、开发时间成本和人力成本较高的问题,包括以下步骤:框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中;调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中;为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口。本发明不仅减少了服务器资源的浪费,还减少了开发的时间成本和人力成本,适用于语义识别。
Description
技术领域
本发明涉及语义识别技术领域,具体来说涉及一种通用语义框架的实现方法。
背景技术
目前语义识别使用的Rasa框架,能够承担语义的自然语言理解的缓存、规则和多轮等组件,对话管理的回复语组件等。每次对各技能优化迭代或者上线一个新技能时,需要停止服务对项目进行重新部署,当存在以下情况的时候:需临时上线一个有时效性的技能(如节假日领域),时效过了需要对该技能进行下线,部分技能需要经常进行修改和调整,每次有小的改动都需要重新部署上线会影响服务的正常运行,这样不仅浪费服务器资源,还增加了开发的时间成本和人力成本。
发明内容
本发明旨在解决现有的语义识别框架存在服务器资源浪费、开发时间成本和人力成本较高的问题,提出一种通用语义框架的实现方法。
本发明解决上述技术问题所采用的技术方案是:通用语义框架的实现方法,包括以下步骤:
步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;
步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;
步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。
作为进一步优化,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:
当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。
作为进一步优化,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:
当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。
作为进一步优化,所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:
当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。
作为进一步优化,所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:
当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。
作为进一步优化,所述从数据库的Redis中获取各技能的配置组件包括:缓存组件、意图组件、规则组件、实体组件和回复语组件。
本发明的有益效果是:本发明所述的通用语义框架的实现方法,无需停止服务就可实时对技能进行上下线和修改操作,不仅减少了服务器资源的浪费,还减少了开发的时间成本和人力成本。
附图说明
图1为本发明实施例所述的通用语义框架的实现方法的流程示意图;
图2为本发明实施例所述的配置组件通用化流程示意图;
图3为本发明实施例所述的访问接口的语义解析流程示意图;
图4为本发明实施例所述的配置组件获取示意图;
图5为本发明实施例所述的配置组件解析示意图;
图6为本发明实施例所述的根据解析结果组装回复语的示意图;
图7为本发明实施例所述的接口实现方法及流程示意图。
具体实施方式
下面将结合附图对本发明的实施方式进行详细描述。
本发明提供的通用语义框架的实现方法,包括以下步骤:步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。
具体而言,本发明将Rasa对话框架重构为一个通用的语义框架,将所有组件配置在数据库中,框架启动后,把原本的代码组件访问顺序改为读取数据库中的配置组件,并根据对某技能不同的需求(如:更新、删除、新增等),访问特定的接口,刷新项目运行的内存,让新配置生效,进而实现对技能进行上下线和修改操作。
实施例
本发明实施例所述的通用语义框架的实现方法,包括以下步骤:
步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;
具体而言,本实施例中的框架采用Sanic启动方法,如图2所示,在框架首次运行时将从数据库的Redis中获取各技能的配置组件,并进行各组件的规范检查,通过检查的组件将加载至框架的Interpreter中,未通过检查的组件,会提醒错误信息,不进行加载也不会影响该技能其他组件的检查和加载。
步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;
本步骤主要用于实现各组件的通用化,在初始化时,各组件会调用Metadata中的skill_config配置信息,获取当前组件的配置信息,调用组件初始化方法进行该组件的初始化,初始化完成后加载进内存中。
步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。
本实施例中,如图3所示,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:
当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。
问题:假设Parse接口监听到技能名为ch_greeting,语义文本为早上好的请求,根据配置,期望返回该文本对应的早上好意图的回复语。
如图4所示,在收到Parse请求后,调用agent中的handle_text方法,判断该技能是否存在,若不存在,退出执行,若存在,获取该技能相关配置缓存。
根据Pipeline中组件执行顺序依次执行各组件的Parse方法,各组件会从该领域配置中获取组件本身需要的部分进行解析,图5为执行pulic_name_ruler时示例,该规则组件会从组件完整配置中读取属于自己的Ruler组件。
如图6所示,各组件依次命中和获取相关内容后,回复语组件会根据各部分结果组装最终回复语,如果获取到解析出来的实体,会根据实体进行定制回复;如果没有,会根据配种文件中语义结果的意图的回复语进行回复。
如图7所示,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:
当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。
所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:
当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的Update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。
所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:
当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。
综上所述,本实施例通过框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,并通过一个将Redis中的配置文件转换为框架中各组件的运行时调用的内存配置方法,实现了对技能实时修改、上下线且不用停止服务。
Claims (6)
1.通用语义框架的实现方法,其特征在于,包括以下步骤:
步骤1、框架首次启动时,从数据库的Redis中获取各技能的配置组件,并检查各配置组件是否符合通用配置规范,对于符合通用配置规范的配置组件,生成对应技能的配置信息,并将所述配置信息加载至框架的Metadata中,对于不符合通用配置规范的配置组件,生成对应的错误信息;
步骤2、调用组件初始化方法对配置组件进行初始化,并在初始化完成后将其加载至内存中,各配置组件在初始化时会调用Metadata中的配置信息;
步骤3、为所述框架开发访问接口、新增技能接口、删除技能接口和升级技能接口,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,所述新增技能接口、升级技能接口和删除技能接口用于对内存中的配置组件进行配置修改。
2.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述访问接口用于在内存中调用各配置组件的Parse方法,并在组件命中后返回结果,具体包括:
当访问接口监听到语义文本后,判断所述语义文本对应的技能是否存在,若存在,则判断多轮配置组件是否命中,若命中,则获取并解析对应的配置组件,并根据解析结果组装回复语;若不存在语义文本对应的技能或多轮配置组件没有命中,则提示对应错误信息。
3.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述新增技能接口用于对内存中的配置组件进行配置修改,具体包括:
当新增技能接口监听到新技能后,检查新技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的新技能,对其进行初始化后加载至内存中,并刷新内存中的配置组件,对于不符合通用配置规范的新技能,生成对应的错误信息。
4.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述升级技能接口用于对内存中的配置组件进行配置修改,具体包括:
当升级技能接口监听到升级技能后,判断对应的待升级技能是否存在,若存在,则检查升级技能对应的配置组件是否符合通用配置规范,对于符合通用配置规范的升级技能,调用各配置组件的update方法,刷新内存中的配置组件,对于不符合通用配置规范的升级技能,生成对应的错误信息。
5.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述删除技能接口用于对内存中的配置组件进行配置修改,具体包括:
当删除技能接口监听到删除技能后,删除内存中对应技能的所有配置。
6.如权利要求1所述的通用语义框架的实现方法,其特征在于,所述从数据库的Redis中获取各技能的配置组件包括:缓存组件、意图组件、规则组件、实体组件和回复语组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419645.5A CN114077842B (zh) | 2021-11-26 | 2021-11-26 | 通用语义框架的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419645.5A CN114077842B (zh) | 2021-11-26 | 2021-11-26 | 通用语义框架的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114077842A CN114077842A (zh) | 2022-02-22 |
CN114077842B true CN114077842B (zh) | 2024-06-18 |
Family
ID=80284644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111419645.5A Active CN114077842B (zh) | 2021-11-26 | 2021-11-26 | 通用语义框架的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114077842B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783083A (zh) * | 2019-01-16 | 2019-05-21 | 福建天泉教育科技有限公司 | Web应用开发方法及其系统 |
CN109814844A (zh) * | 2019-01-16 | 2019-05-28 | 武汉科技大学 | 一种集成的支持元建模的开发和运行系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067275A1 (en) * | 2005-09-20 | 2007-03-22 | Microsoft Corporation | Context sensitive web search queries |
CN111880782A (zh) * | 2020-08-02 | 2020-11-03 | 张文豪 | 基于配置文件和惯性原则的低代码的开发框架 |
CN112882769B (zh) * | 2021-02-10 | 2022-12-23 | 南京苏宁软件技术有限公司 | 技能包数据处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-11-26 CN CN202111419645.5A patent/CN114077842B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783083A (zh) * | 2019-01-16 | 2019-05-21 | 福建天泉教育科技有限公司 | Web应用开发方法及其系统 |
CN109814844A (zh) * | 2019-01-16 | 2019-05-28 | 武汉科技大学 | 一种集成的支持元建模的开发和运行系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114077842A (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200192646A1 (en) | Compiler and method for compiling business rules for a serverless runtime environment | |
CN104683386B (zh) | 可定制响应的桩服务实现方法及装置 | |
US20110078211A1 (en) | Systems and methods for analyzing and transforming an application from a source installation to a target installation | |
CN111324619B (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
CN101515232A (zh) | 一种软件持续集成系统及方法 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
US9063753B2 (en) | Scripting framework for business objects | |
CN113934640A (zh) | 一种软件自动化测试的方法和系统 | |
CN111339266A (zh) | 聊天机器人的开发系统和聊天机器人模块 | |
CN114780109B (zh) | Python项目第三方库依赖自动化解析与安装方法 | |
CN109445754A (zh) | 数据集成访问装置、方法及存储介质 | |
CN114756213A (zh) | 一种智能控制系统代码自动生成方法及装置 | |
CN113297081B (zh) | 一种持续集成流水线的执行方法和装置 | |
CN114077842B (zh) | 通用语义框架的实现方法 | |
CN114115884B (zh) | 一种编程服务的管理方法以及相关装置 | |
CN115421765A (zh) | 一种应用于国产化操作系统的大数据管理部署方法 | |
CN114064601B (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN111596970B (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN110659022A (zh) | 一种基于Java自动调用Python脚本的方法 | |
CN110399296B (zh) | 测试客户端与服务端之间交互接口的方法、系统和介质 | |
CN113032256A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN108595166B (zh) | 一种分布式物联网应用执行引擎实现方法及系统 | |
CN112328503A (zh) | 一种软件开发工作平台任务验收方法 | |
CN116303530A (zh) | 异构数据库存储过程访问方法、装置、设备及存储介质 | |
CN113703769B (zh) | 一种cli命令执行方法及相关装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |