当前位置: 首页 > 专利查询>东南大学专利>正文

一种自然语言处理系统化服务平台技术方案

技术编号:12587411 阅读:283 留言:0更新日期:2015-12-24 04:10
本发明专利技术公开了一种自然语言处理系统化服务平台,包括稳定的流式处理系统、非稳定的机器集群系统和分布式多副本下载系统;C-API接口、Python接口和http服务端接口;多语言服务框架和分布式远程调用服务器;所述流式处理系统采用消息队列的设计方式,消息队列分为队头和队尾两个组件,算子从队尾组件中接收数据进行并行并消费,实现数据的传递。本发明专利技术利用了计算机多核并行计算的优势,充分均衡的利用高性能计算机的计算资源,构架出高效高可靠性的自然语言平台,本发明专利技术的HTTP接口、C++语言和python的接口,提供方便在接口方面的调用,支持多平台的调用,具有很好的工程应用价值。

【技术实现步骤摘要】

本专利技术涉及语言处理
,特别是涉及一种自然语言处理系统化服务平台
技术介绍
非实时计算几乎都基于MapReduce计算框架,但MapReduce并不是万能的。对于搜索应用环境中的某些现实问题,MapReduce并不能很好地解决。特别是Twitter推出的storm在取得巨大成功之后,各大互联网公司,尤其是基于数据挖掘,搜索引擎开发的互联网公司都争先进入这一领域,各个公司都推出自己的流式计算系统,其中著名的公司有Google,Twitter, Facebook 等公司。稳定的流式处理系统流式计算平台,面向大数据实时处理领域、实现拓扑式的流式计算模型,率先支持dprc等高级应用,并预期支持迭代式计算。系统采用RP自主研发的分布式消息队列spinal系统,实现数据的分布式拥塞控制与数据传输,以用户需求为核心,支持多语言调用,多实例并发,并作为独立的计算单元,满足多模式的运维层系统调度。从系统资源利用率的角度出发,其在满足系统运行的前提下,提升资源利用率,降低系统成本。对于海量数据运算,可完美结合公司非稳定的集群系统,实现量级部署与调度。该系统大胆进行创新工作,与公司nip等部门进行基础架构合作,推出nlpc平台,支撑公司内基础算法的平台化工作。现有调用NLP的方法主要是本身已经实现好的动态链接库,或者函数库之类的,可以进行调用,但是事实上这种做法存在如下缺点,一方面算法调用者需要添加和维护这个算法本身的文件,使用门槛比较高;另一方面算法升级比较麻烦。而一个平台化的自然语言平台,算法的开发者本身只需要开发一个版本的动态链接库,不需要管算法调用实现,算法调用者只需要发送算法的名称和参数,则可以在低延时的情况下得到正确的结果。在扩展性和稳定性方面有更好的表现。采用插件式的设计方案,增强系统的可扩展性。经调研,目前适用于大规模集群,支持自然语言平台化的软件还没有。然而,paas (Platform-as-a-Service,平台即服务)已经是软件发展的必然趋势,因此,自然语言的平台化作为一个基础平台的服务已是必然趋势。
技术实现思路
本专利技术主要解决的技术问题是提供一种自然语言处理系统化服务平台,能够解决现有自然语言处理存在的上述问题。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种自然语言处理系统化服务平台,包括:接入平台后台的稳定的流式处理系统、非稳定的机器集群系统和分布式多副本下载系统; 供用户访问的C-API接口、Python接口和http服务端接口 ;多语言服务框架,用于在本地客户端提供统一的接口,将远程访问和本地访问切换; 分布式远程调用服务器,用于逻辑服务并通过异步回调将结果返回给客户端; 所述流式处理系统采用消息队列的设计方式,所述消息队列分为队头和队尾两个组件,所述队头组件为数据的接受端,所述队尾组件为数据的发送端,算子从队尾组件中接收数据进行并行并消费,实现数据的传递。在本专利技术一个较佳实施例中,所述平台还包括一个数据转存接口,用于将收集到的数据传输到其他应用程序进行再次处理,或是交给另一个程序作为输入。在本专利技术一个较佳实施例中,所述其他应用程序包括monoDB或reddies。在本专利技术一个较佳实施例中,所述多语言服务框架通过开源框架thrift和protobuf两个软件进行代码编辑,并在服务器端对多种语言统一处理。在本专利技术一个较佳实施例中,所述流式处理系统包括消息队列的负载均衡和从消息队列消费消息的算子的负载均衡。在本专利技术一个较佳实施例中,所述平台的通信方式为异步通信,发送消息的线程和消息处理的线程同时工作。在本专利技术一个较佳实施例中,所述发送消息的线程和消息处理的线程的总数是core线程数的2倍。自然语言处理系统化服务平台将自然语言处理中的多个算法统一到算法平台上来,用户只需要方法名和待处理的数据,就可以方便的获取结果。针对目前流式系统都是静态固定路由,本专利技术的流式系统采用动态路由的方式,根据算子的DAG路由表动态地选择路由表信息。数据收集常用的单服务器架构,采用多服务器自动加入的方式来增强系统的负载能力,并消除单节点故障,让系统做到负载均衡。本专利技术主要是提供各种自然语言处理的算法,可以直接在平台上使用,可以开发算子专注于算子本身的开发,不必关心算子的部署,而这些对于算子的使用方也是透明的,可以直接进行算子的使用。本专利技术对大规模集群自然语言平台化的问题,如算子、算法的添加,集群在线和离线节点的应用进行研究并设计相应的解决方案,最终实现可扩展性强,可靠性高,部署灵活的自然语言平台化的系统。该系统将用于公司内部的基础平台架构,对于NLP部门以及向所有需要用到自然语言处理算法的同学提供服务。其可定制化,高可扩展性和高可靠性的自然语言算法服务,作为集群或云计算平台管理和监控的一部分,将大大提高集群的可管理性。本专利技术的有益效果是:本专利技术一种自然语言处理系统化服务平台,利用了计算机多核并行计算的优势,充分均衡的利用高性能计算机的计算资源,构架出高效高可靠性的自然语言平台,本专利技术对于特定情况下实现HTTP的接口,方便跨平台的调用,对于常用的接口数据C++语言和python的接口,也直接提供方便在接口方面的调用,支持多平台的调用,具有很好的工程应用价值。【附图说明】图1是本专利技术一种自然语言处理系统化服务平台的架构示意图; 图2是本专利技术一种自然语言处理系统化服务平台的整个系统示意图; 图3是本专利技术的稳定流式处理系统的设计流程图; 图4是所示日志收集体系的架构示意图。【具体实施方式】下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。请参阅附图,本专利技术实施例包括: 本专利技术揭示了一种自然语言处理系统化服务平台,包括:接入平台后台的稳定的流式处理系统、非稳定的机器集群系统和分布式多副本下载系统; 供用户访问的C-API接口、Python接口和http服务端接口 ; 多语言服务框架,用于在本地客户端提供统一的接口,将远程访问和本地访问切换; 分布式远程调用服务器,用于逻辑服务并通过异步回调将结果返回给客户端; 一个数据转存接口,用于将收集到的数据传输到其他应用程序,如monoDB或reddies进行再次处理,或是交给另一个程序作为输入。如图1和2所示,图2中,c++ client:c++客户端,其中c++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言;python client:python客户端,其中,python是一种面向对象、解释型计算机程序设计语言;other client:其他语言的客户端(除了 c++和python之外的);Communat1nFramefork:通信框架,包括传输过程中得通讯协议,这里包括远程通讯和本地加载两部分;Http Server:超文本传输协议服务器,负责解析client请求成为c++的请求后台的服务;Local client:加载本地服务的客户端;RPC (Remote Procedure Call ProtocoDclient:远程过程调用协议客户端,负责远程通讯协议;Local arch:本地计算架构,包括收到请求后本文档来自技高网
...

【技术保护点】
一种自然语言处理系统化服务平台,其特征在于,包括:接入平台后台的稳定的流式处理系统、非稳定的机器集群系统和分布式多副本下载系统;供用户访问的C‑API接口、Python接口和http服务端接口;多语言服务框架,用于在本地客户端提供统一的接口,将远程访问和本地访问切换;分布式远程调用服务器,用于逻辑服务并通过异步回调将结果返回给客户端;所述流式处理系统采用消息队列的设计方式,所述消息队列分为队头和队尾两个组件,所述队头组件为数据的接受端,所述队尾组件为数据的发送端,算子从队尾组件中接收数据进行并行并消费,实现数据的传递。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴含前刘桐仁姚莉李露
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1