本发明涉及自然语言处理技术领域,尤其涉及一种自然语言处理方法及处理平台。
背景技术:
现有技术中提供的自然语言处理算法应用,多数是针对某种特定的自然语言处理任务进行开发,开发后的算法工具包的功能具有局限性,且接口不统一,用户使用难度较大;此外,用户想要对工具包进行扩展时,需要编写大量代码,实现困难。因此,现有的自然语言处理方法中,由于现有的自然语言处理算法应用的使用和扩展的难度较大,导致自然语言处理方法具有较大的使用局限性,适用性较差。
技术实现要素:
本发明提供了一种自然语言处理方法及处理平台,以解决现有的自然语言处理方法中,自然语言处理算法应用的使用和扩展的难度较大,导致自然语言处理方法具有较大的使用局限性,适用性较差的问题。
进一步,该自然语言处理方法还包括:当接收到用户删除/增加需要的目标组件的指令时,根据该指令,重新确认需要的目标组件及相应的运行顺序;将重新确认的需要的目标组件按照相应的运行顺序重新加载至预设核心框架中,生成新的自然语言处理算法应用。
进一步,该自然语言处理方法还包括:根据多次生成的自然语言处理算法应用,确定组合次数大于或等于预设次数的目标组件,生成固定算法组合,以便后续生成自然语言处理算法应用中直接加载对应的固定算法组合。
进一步,所述通过所述自然语言处理算法应用对所述待处理数据进行处理,并输出处理结果的过程,包括:将所述待处理数据输入至起始目标组件中进行处理,所述自然语言处理算法应用对应的其它各个目标组件按照相应运行顺序,根据各目标组件对应的上下文信息,获取对应类型的中间数据并处理,直至最后的目标组件输出处理结果;目标组件对应的上下文信息指示该目标组件要获取的中间数据的类型、及处理后的数据类型;要获取的中间数据为运行在先的目标组件所生成的数据;所述起始目标组件为所述自然语言处理算法应用对应的所有目标组件中运行顺序最先的目标组件。
进一步,该自然语言处理方法还包括:当接收到用户创建新的目标组件指令时,根据预设核心框架对目标组件的定义及目标组件对应的基础算法逻辑,完成新的目标组件的封装。
进一步,所述算法开发层还用于:当接收到用户删除/增加需要的目标组件的指令时,根据该指令,重新确认需要的目标组件及相应的运行顺序;所述业务算法层还用于:将重新确认的需要的目标组件按照相应的运行顺序重新加载至预设核心框架中,生成新的自然语言处理算法应用。
进一步,所述算法开发层还用于:根据多次生成的自然语言处理算法应用,确定组合次数大于或等于预设次数的目标组件,生成固定算法组合,以便后续生成自然语言处理算法应用中直接加载对应的固定算法组合。
进一步,所述业务算法层用于通过所述自然语言处理算法应用对所述待处理数据进行处理,并输出处理结果,具体包括,所述业务算法层用于:将所述待处理数据输入至起始目标组件中进行处理,所述自然语言处理算法应用对应的其它各个目标组件按照相应运行顺序,根据各目标组件对应的上下文信息,获取对应类型的中间数据并处理,直至最后的目标组件输出处理结果;目标组件对应的上下文信息指示该目标组件要获取的中间数据的类型、及处理后的数据类型;要获取的中间数据为运行在先的目标组件所生成的数据;所述起始目标组件为所述自然语言处理算法应用对应的所有目标组件中运行顺序最先的目标组件。
进一步,所述算法开发层还用于:当接收到用户创建新的目标组件指令时,根据预设核心框架对目标组件的定义及目标组件对应的基础算法逻辑,完成新的目标组件的封装。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种自然语言处理方法的流程示意图;
图2为本发明实施例提供的一种自然语言处理平台的结构框图。
具体实施方式
下面,结合附图详细介绍本发明的实施例。
参见图1,图1示出的是本发明实施例提供的一种自然语言处理方法的流程示意图。结合图1可知,该自然语言处理方法包括:
生成目标组件之后,还可以将目标组件进行存储,以便后续生成完整的自然语言处理算法应用时直接调用或复制存储的目标组件即可。
步骤102、根据用户设置,确定需要的目标组件以及需要的目标组件的运行顺序。
在具体应用中,用户根据自己所需的自然语言处理算法应用包含的基础算法以及各基础算法的运行顺序,在生成的目标组件中,选取需要的目标组件,根据用户的选取以及选取顺序,可以确定出需要的目标组件以及需要的目标组件的运行顺序。
例如:用户所需的自然语言处理算法应用包含分词算法、分句算法、摘要抽取算法、规则匹配算法和停用词过滤算法,并且按照分词算法至分句算法至摘要抽取算法至规则匹配算法至停用词过滤算法的排列顺序依次选取各基础算法对应的目标组件,则,根据用户的选取,可以确定需要的目标组件包含分词算法对应的目标组件、分句算法对应的目标组件、摘要抽取算法对应的目标组件、规则匹配算法对应的目标组件和停用词过滤算法对应的目标组件,并且需要的目标组件的运行顺序为分词算法对应的目标组件至分句算法对应的目标组件至摘要抽取算法对应的目标组件至规则匹配算法对应的目标组件至停用词过滤算法对应的目标组件的运行顺序。
进一步,为了步骤101中生成的目标组件可以被重复利用,提高自然语言处理算法应用的开发效率,在根据用户的设置确定需要的目标组件时,可以通过在步骤101生成的目标组件中复制用户需要的目标组件实现确定需要的目标组件的目的。这样,后续再开发新的自然语言处理算法应用时,无需重新生成目标组件,开发效率更高。
步骤103、将各个需要的目标组件按照所述运行顺序加载至预设核心框架中,生成完整的自然语言处理算法应用。
在将需要的目标组件加载至预设核心框架中之前,先调取存储的预设核心框架或复制存储的预设核心框架,预设核心框架中设置有目标组件加载端口,将需要的目标组件按照需要的目标组件的运行顺序,从目标组件加载端口加载至预设核心框架中,即可生成完整的自然语言处理算法应用。
步骤104、接收待处理数据,通过所述自然语言处理算法应用对所述待处理数据进行处理,并输出处理结果。
预设核心框架中设置有数据输入端口,具体实施时,将所述待处理数据从预设核心框架的数据输入端口中输入至起始目标组件中进行处理,所述自然语言处理算法应用对应的其它各个目标组件按照相应运行顺序,根据各目标组件对应的上下文信息,获取对应类型的中间数据并处理,直至最后的目标组件输出处理结果;目标组件对应的上下文信息指示该目标组件要获取的中间数据的类型、及处理后的数据类型;要获取的中间数据为运行在先的目标组件所生成的数据;所述起始目标组件为所述自然语言处理算法应用对应的所有目标组件中运行顺序最先的目标组件。
其中,待处理数据为语料数据,包括语料集(多个单篇语料的集合)和/或单篇语料。每个运行在先的目标组件生成的中间数据的类型不同,且该中间数据中含有标签,该标签中包含有该中间数据的类型信息,例如,分词算法对应的目标组件生成的中间数据中含有分词标签,该分词标签中包含有分词算法对应的目标组件生成的中间数据的类型信息,运行在后的目标组件对应的标签中包含有运行在先的目标组件对应的类型信息。
在其它一些可选的实施例中,该自然语言处理方法还包括:当接收到用户删除/增加需要的目标组件的指令时,根据该指令,重新确认需要的目标组件及相应的运行顺序,重新确认的需要的目标组件包括步骤101中生成的目标组件和/或根据用户删除/增加需要的目标组件的指令,再次根据预设核心框架对目标组件的定义及目标组件对应的基础算法逻辑,生成的目标组件,并且,如果重新确认的需要的目标组件中包含步骤101中生成的目标组件,则通过从步骤101生成的目标组件中复制的方式重新确认需要的目标组件;重新调取或复制预设核心框架后,将重新确认的需要的目标组件按照相应的运行顺序重新加载至预设核心框架中,生成新的自然语言处理算法应用。由此可知,采用本发明实施例提供的方法,可以根据用户设置,随意对目标组件进行组合,组合的目标组件可以随意进行增加或删除,使得自然语言处理算法应用的开发应用更加简单高效。
进一步,该自然语言处理方法还包括:根据多次生成的自然语言处理算法应用,确定组合次数大于或等于预设次数的目标组件,生成固定算法组合,以便后续生成自然语言处理算法应用中直接加载对应的固定算法组合。即,在多次生成自然语言处理算法应用的过程中,如果某几个目标组件均按照相同的运行顺序被加载至预设核心框架中,且被加载至预设核心框架的次数大于或等于预设次数,则将这几个目标组件按照相应的运行顺序串接在一起,生成固定算法组合,在后续生成自然语言处理算法应用的过程中,可以将生成的固定算法组合直接加载至预设核心框架中。这样,可以进一步提高自然语言处理算法应用开发和应用的效率。
例如:在多次生成自然语言处理算法应用的过程中,分词算法对应的目标组件、分句算法对应的目标组件、摘要抽取算法对应的目标组件、规则匹配算法对应的目标组件和停用词过滤算法对应的目标组件按照由分词算法对应的目标组件至分句算法对应的目标组件至摘要抽取算法对应的目标组件至规则匹配算法对应的目标组件至停用词过滤算法对应的目标组件的顺序加载至预设核心框架的次数大于或等于预设次数,则将分词算法对应的目标组件、分句算法对应的目标组件、摘要抽取算法对应的目标组件、规则匹配算法对应的目标组件和停用词过滤算法对应的目标组件按照由分词算法对应的目标组件至分句算法对应的目标组件至摘要抽取算法对应的目标组件至规则匹配算法对应的目标组件至停用词过滤算法对应的目标组件的顺序串接在一起,生成一个固定算法组合。
在此需要说明的是,本发明不对预设次数的具体次数进行限制。可以根据实际需要进行设定。
与上述自然语言处理方法相对应,本发明实施例还公开了一种自然语言处理平台。
参见图2,图2示出的是本发明实施例提供的一种自然语言处理平台的结构框图。结合图2可知,该自然语言处理平台200包括:算法开发层201、业务算法层202、核心框架层203和算法计算层204。
业务算法层202用于:将各个需要的目标组件按照所述运行顺序加载至预设核心框架中,生成完整的自然语言处理算法应用;接收待处理数据,通过所述自然语言处理算法应用对所述待处理数据进行处理,并输出处理结果。
核心框架层203用于存储预设核心框架。预设核心框架为一个完整自然语言处理算法应用的框架部分,此预设核心框架中包括除目标组件之外,完整自然语言处理算法所需的全部内容,并且该预设核心框架适用于所有自然语言处理算法应用的开发应用。
进一步,业务算法层202用于通过所述自然语言处理算法应用对所述待处理数据进行处理,并输出处理结果,具体包括,所述业务算法层202用于:将所述待处理数据输入至起始目标组件中进行处理,所述自然语言处理算法应用对应的其它各个目标组件按照相应运行顺序,根据各目标组件对应的上下文信息,获取对应类型的中间数据并处理,直至最后的目标组件输出处理结果;目标组件对应的上下文信息指示该目标组件要获取的中间数据的类型、及处理后的数据类型;要获取的中间数据为运行在先的目标组件所生成的数据;所述起始目标组件为所述自然语言处理算法应用对应的所有目标组件中运行顺序最先的目标组件。
进一步,算法开发层201还用于将目标组件进行存储,以便在生成完整的自然语言处理算法应用时,可以从算法开发层201中直接调用或复制存储的目标组件。
在其它一些可选的实施例中,算法开发层201还用于:当接收到用户删除/增加需要的目标组件的指令时,根据该指令,重新确认需要的目标组件及相应的运行顺序;业务算法层202还用于:将重新确认的需要的目标组件按照相应的运行顺序重新加载至预设核心框架中,生成新的自然语言处理算法应用。
进一步,算法开发层201还用于:根据多次生成的自然语言处理算法应用,确定组合次数大于或等于预设次数的目标组件,生成固定算法组合,以便后续生成自然语言处理算法应用中直接加载对应的固定算法组合。
在其它一些可选的实施例中,算法开发层201还用于:当接收到用户创建新的目标组件指令时,根据预设核心框架对目标组件的定义及目标组件对应的基础算法逻辑,完成新的目标组件的封装。预设核心框架对目标组件的定义包括对各目标组件的接口、实现方法、执行过程、初始化以及命名等信息的约定。
本发明实施例提供的自然语言处理平台可以实施上述自然语言处理方法中的各步骤,并且能够得到相同的技术效果。采用该自然语言处理平台对待处理语料数据进行处理时,可以简单快速的生成用于处理待处理语料数据的自然语言处理算法应用,使得整个处理过程更加快速高效,并且,采用该自然语言处理平台对待处理语料数据进行自然语言处理时,所有自然语言处理算法应用的数据输入端口一致,不具有使用局限性,适用性更好。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的自然语言处理方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。