本发明涉及人工智能技术领域,尤其涉及一种语义资源发布系统及方法和自然语言处理装置及方法。
背景技术:
现有提供自然语言处理服务的平台有avs(alexavoiceservice亚马逊智能对话服务)和百度dueros(百度ai开放平台)。自然语言处理需要提前训练语料,生成对应的语料资源,来做语义文本解析。当出现一个热门事件,热门词汇的时候就需要训练新的语料资源并更新到服务器端。
现有技术的自然语言处理服务的平台的服务器需要中断服务的运行,重新启动服务,将新版本语义资源同步到平台服务器的文件系统,再将新版本语义资源加载到内存当中,从而达到升级语义资源的目的。但是由于会中断服务运行,会影响用户的体验,另外降低了更新语义资源的效率。
技术实现要素:
本发明实施例提供一种语义资源发布系统及方法和自然语言处理装置及方法,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种语义资源发布系统,应用于服务器,所述系统包括:资源管理中心、文件共享系统、内置语义服务集群和热配置中心,其中所述内置语义服务集群包括多个内置语义服务,由相应的多个容器承载运行,每个内置语义服务由一个容器所承载;
所述资源管理中心用于接收开发者所上传的新版本的语义资源,
所述文件共享系统用于存储来自所述资源管理中心的新版本的语义资源;
所述多个容器中的至少一个用于接收资源版本更新请求,并将包含于所述资源版本更新请求中的版本信息上传至所述热配置中心;
所述多个容器还用于监控所述热配置中心,以同步所述版本信息。
第二方面,本发明实施例提供一种语义资源发布方法,应用于服务器,所述服务器配置有资源管理中心、文件共享系统、内置语义服务集群和热配置中心,其中所述内置语义服务集群包括多个内置语义服务,由相应的多个容器承载运行,每个内置语义服务由一个容器所承载;所述语义资源发布方法包括:
所述资源管理中心接收开发者所上传的新版本的语义资源,
所述文件共享系统存储来自所述资源管理中心的新版本的语义资源;
所述多个容器中的至少一个接收资源版本更新请求,并将包含于所述资源版本更新请求中的版本信息上传至所述热配置中心;
所述多个容器还监控所述热配置中心,并同步所述版本信息。
第三方面,本发明实施例提供一种自然语言处理装置,配置有前述实施例中任一项所述的语义资源发布系统实现,其中,
所述内置语义服务集群配置为:接收客户端发送的语义解析请求;解析所述语义解析请求以确定待处理自然语言文本;确定对应于所述待处理自然语言文本的目标语义资源的版本信息;
所述计算进程池配置为:根据所述目标语义资源的版本信息访问所述文件共享系统中所存储的所述目标语义资源,以得到语义解析结果;
所述网络进程池将所述语义解析结果发送至所述客户端。
第四方面,本发明实施例提供一种自然语言处理方法,基于前述实施例中任一项所述的语义资源发布系统实现,所述方法包括:
所述内置语义服务集群接收客户端发送的语义解析请求;
所述内置语义服务集群解析所述语义解析请求以确定待处理自然语言文本;
所述内置语义服务集群确定对应于所述待处理自然语言文本的目标语义资源的版本信息;
所述计算进程池根据所述目标语义资源的版本信息访问所述文件共享系统中所存储的所述目标语义资源,以得到语义解析结果;
所述网络进程池将所述语义解析结果发送至所述客户端。
第五方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语义资源发布方法。
第六方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项语义资源发布方法。
第七方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语义资源发布方法。
本发明实施例的有益效果在于:本发明中承载服务运行的所有容器监听同一个热配置中心,实现了语义资源的发布,并确保了多个内置语义服务之间的信息同步。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的语义资源发布系统的一实施例的示意图;
图2为本发明的语义资源发布方法的一实施例的流程图;
图3为本发明中的内置语义服务初始化的一实施例的流程图;
图4为本发明中的内置语义服务进行资源发布的一实施例的流程图;
图5为本发明的自然语言处理方法的一实施例的流程图;
图6为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
发明人在实现本发明的过程中发现,现有技术中存在以上技术问题的主要的原因是:1.服务运行的资源加载到服务器的内存当中无法释放;2.计算内核(计算内核指的是承载自然语言处理功能的计算实例)无法更新语义资源的版本;3.承载服务运行的容器(容器是服务运行的虚拟化单元,对外提供服务能力)之间无法同步资源版本信息;4.承载服务运行的容器无法自主快速同步新版本语义资源到对应(容器技术作为一种虚拟化技术,用来承载服务运行,服务运行自然语言处理,需要从文件系统上面加载对应的语义资源,文件系统绑定在容器上面)的文件系统中,而不影响容器对外提供服务。
如图1所示为本发明的语义资源发布系统的一实施例的示意图,该系统应用于服务器,示例性地,应用于提供自然语言处理功能的服务器。
如图1所示,本发明的语义资源发布系统100包括:资源管理中心110、文件共享系统120、内置语义服务集群130和热配置中心140,其中所述内置语义服务集群130包括多个内置语义服务131,由相应的多个容器承载运行,每个内置语义服务由一个容器所承载;
所述资源管理中心110用于接收开发者所上传的新版本的语义资源,所述文件共享系统120用于存储来自所述资源管理中心110的新版本的语义资源;
所述多个容器中的至少一个用于接收资源版本更新请求,并将包含于所述资源版本更新请求中的版本信息上传至所述热配置中心140;
所述多个容器还用于监控所述热配置中心140,以同步所述版本信息。
本实施例中承载服务运行的所有容器监听同一个热配置中心,实现了新版本语义资源的发布,并确保了多个内置语义服务之间的信息同步。内置语义服务从资源管理中心将相应资源同步到共享文件系统上,从而所有服务都可以同时访问到,不会出现部分容器访问新版本资源,部分容器访问旧版本语义资源。
在一些实施例中,所述系统还配置有网络进程池和计算进程池;
所述多个容器中的至少一个用于接收资源版本更新请求包括:所述多个容器中的至少一个用于通过所述网络进程池接收资源版本更新请求;
所述计算进程池用于响应于来自所述网络进程池的资源版本更新请求将所述资源管理中心的新版本的语义资源同步至所述文件共享系统。
示例性地,网络进程池用来对外提供网络连接功能,实现与客户端数据交互;计算进程池,用来做异步的自然语义处理;客户端将请求发送给服务,服务通过网络进程池来处理客户端的请求,然后将请求送给计算进程池做自然语言处理,得到结果之后,返回给网络进程池,然后再将结果返回给客户端。本实施例中,依赖网络进程池和计算进程池的互相搭配,做到了同步发布资源任务,异步非阻塞处理客户端的语义解析请求。
在一些实施例中,所述计算进程池将所述资源管理中心的新版本的语义资源同步至所述文件共享系统包括:所述计算进程池中的进程按照对话领域将所述资源管理中心的新版本的语义资源同步至所述文件共享系统。
示例性地,内置语义服务在接收到客户端的语义解析请求的时候,从内存当中提取出当前请求对应的资源版本信息,将相关信息传递给计算进程池,计算进程池挑选出符合条件的计算进程,做相应的自然语言处理,解析完成之后,将结果回传给网络进程,网络进程再将最终结果,传递给客户端。
示例性地,符合条件是指可以对外提供服务,条件可以有:a.空闲状态,当前未处于自然语言处理工作当中;b.当前服务器整体cpu未高于设置的一定指标;c.当前服务器内存未高于设置的一定指标;
示例性地,计算进程池里面的进程,有相应的工作状态,例如是否正在工作,以及获取服务整体状态,例如cpu,内存,通过对这些状态的判断,来选择符合条件的计算进程。
本实施例可以支持多个领域的语义资源同时运行,是因为计算进程之间加载到内存的语义资源是隔离开的,通过计算进程池对这些计算进程进行了相关的管理,能够处理不同请求,从而实现了多领域资源同时处理的能力。
图2为本发明的语义资源发布方法的一实施例的流程图,该方法应用于服务器,所述服务器配置有资源管理中心、文件共享系统、内置语义服务集群和热配置中心,其中所述内置语义服务集群包括多个内置语义服务,由相应的多个容器承载运行,每个内置语义服务由一个容器所承载。
如图2所示,本实施例中语义资源发布方法包括:
s21、所述资源管理中心接收开发者所上传的新版本的语义资源;
s22、所述文件共享系统存储来自所述资源管理中心的新版本的语义资源;
s23、所述多个容器中的至少一个接收资源版本更新请求,并将包含于所述资源版本更新请求中的版本信息上传至所述热配置中心;
s24、所述多个容器还监控所述热配置中心,并同步所述版本信息。
本实施例中承载服务运行的所有容器监听同一个热配置中心,实现了新版本语义资源的发布,并确保了多个内置语义服务之间的信息同步。内置语义服务从资源管理中心将相应资源同步到共享文件系统上,从而所有服务都可以同时访问到,不会出现部分容器访问新版本资源,部分容器访问旧版本语义资源。
在一些实施例中,所述服务器还配置有网络进程池和计算进程池;
所述多个容器中的至少一个接收资源版本更新请求包括:所述多个容器中的至少一个通过所述网络进程池接收资源版本更新请求;
所述方法还包括:所述计算进程池响应于来自所述网络进程池的资源版本更新请求将所述资源管理中心的新版本的语义资源同步至所述文件共享系统。
在一些实施例中,所述计算进程池将所述资源管理中心的新版本的语义资源同步至所述文件共享系统包括:所述计算进程池中的进程按照对话领域将所述资源管理中心的新版本的语义资源同步至所述文件共享系统。
如图3所示为本发明中的内置语义服务初始化的一实施例的流程图,该方法由相应的容器所执行,该方法的执行步骤包括:
内置语义服务初始化;
从热配置中心获取当前最新的资源版本信息;
判断是否获取到正在运行的资源版本信息;
如果否,则继续监听热配置中心里的资源版本信息;
如果是,则判断最新的资源版本信息与内置语义服务运行所使用的当前资源版本信息是否相同;
如果是,则继续监听热配置中心里的资源版本信息;
如果否,则更新当前内置语义服务所运行的资源版本。
如图4所示为本发明中的内置语义服务进行资源发布的一实施例的流程图,包括以下步骤:获取当前资源版本的升级状态;如果正处于升级中,则结束资源发布;如果否,则设置当前资源切换为升级状态;从资源管理中心,同步资源到共享文件系统;设置服务运行的资源新版本信息;同步资源新版本信息至热配置中心;设置资源升级结束。
在一些实施例中本发明的语义资源发布方法包括以下步骤:
步骤一:开发者将新版本语义资源,同步到资源管理中心;
步骤二:承载服务的所有容器同时监听一个热配置中心,当一个容器收到更新资源的请求之后,将新资源的版本信息,同步到热配置中心,其他容器监听到热配置中心数据变化之后,同步相关信息到容器内部,从而达到所有容器之间互相同步信息的目的;
步骤三:承载服务的所有容器,使用共享文件系统,解决所有容器都需要同步资源的问题;服务接受资源发布请求之后,网络进程将该发布请求,传递给计算进程池;
步骤四:计算进程同步资源是使用异步非阻塞的方式,避免服务在同步资源期间,影响客户端的请求,这样就避免了只有在夜间才能更新语义资源;计算进程池将资源从资源管理中心同步到共享文件系统当中;
步骤五:服务的计算进程加载的语义资源之间是隔离的,避免不同领域之间的语义资源互相影响,从而影响对外的请求。
在一些实施例中,资源发布成功之后,容器的计算内核能够动态加载最新版本的语义资源,同时拥有回滚老版本的能力;另外计算内核能够动态卸载老版本语义资源,避免占用过多的内存。
在一些实施例中,本发明还提供一种自然语言处理装置,配置有前述任一实施例所述的语义资源发布系统实现,其中,
所述内置语义服务集群配置为:接收客户端发送的语义解析请求;解析所述语义解析请求以确定待处理自然语言文本;确定对应于所述待处理自然语言文本的目标语义资源的版本信息;
所述计算进程池配置为:根据所述目标语义资源的版本信息访问所述文件共享系统中所存储的所述目标语义资源,以得到语义解析结果;
所述网络进程池将所述语义解析结果发送至所述客户端。
在本实施例中,服务在接收到客户端的语义解析请求的时候,从内存当中提取出当前请求对应的资源版本信息,将相关信息传递给计算进程池,计算进程池挑选出符合条件的计算进程,做相应的自然语言处理,解析完成之后,将结果回传给网络进程,网络进程再将最终结果,传递给客户端。服务通过计算进程池的设计,达到了异步非阻塞的效果,即网络进程池是异步非阻塞的,在接受客户端的语义解析请求的时候,不会被计算进程执行的阻塞同步资源任务所影响;
在一些实施例中,本发明还提供一种自然语言处理方法,所述方法基于前述任一实施例所述的语义资源发布系统实现。
如图5所示为本发明的自然语言处理方法的一实施例的流程图,该方法包括:
s51、所述内置语义服务集群接收客户端发送的语义解析请求;
s52、所述内置语义服务集群解析所述语义解析请求以确定待处理自然语言文本;
s53、所述内置语义服务集群确定对应于所述待处理自然语言文本的目标语义资源的版本信息;
s54、所述计算进程池根据所述目标语义资源的版本信息访问所述文件共享系统中所存储的所述目标语义资源,以得到语义解析结果;
s55、所述网络进程池将所述语义解析结果发送至所述客户端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语义资源发布方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语义资源发布方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行语义资源发布方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现语义资源发布方法。
图6是本申请另一实施例提供的执行语义资源发布方法的电子设备的硬件结构示意图,如图6所示,该设备包括:
一个或多个处理器610以及存储器620,图6中以一个处理器610为例。
执行语义资源发布方法的设备还可以包括:输入装置630和输出装置640。
处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的语义资源发布方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例语义资源发布方法。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据语义资源发布装置的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至语义资源发布装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可接收输入的数字或字符信息,以及产生与语义资源发布装置的用户设置以及功能控制有关的信号。输出装置640可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的语义资源发布方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。