一种文本检测方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种文本检测方法、装置及设备。
背景技术
实际应用中,有时需要对文本进行风险检测。例如,根据国家有关规定,或者公司企业的相关制度要求,需要对互联网上发布的内容进行检查和处理,以避免或减少违规内容的出现。
文本的风险,与文本出现的场景有关。例如,“发票”一词,如果出现在微信朋友圈或者群聊场景,可能意味该文本含有售卖虚假发票的信息,风险等级较高;如果出现在购物网站的评论中,则可能只是用户对于商家忘记开发票的抱怨,基本没有风险。因此,现有技术中,对于不同的场景,设置了不同的词库。词库中存储有与场景对应的关键词,以及该关键词的风险等级等信息。
但是,随着场景的增多,现有技术中的词库的数量也急剧增长。由于词库中包含关键词的信息,数据量较大,所以对于系统的存储空间的占用也很大。当词库的数量增长到一定程度,会因为占用过多的存储空间导致系统运行出现问题。
发明内容
有鉴于此,本申请实施例提供了一种文本检测方法、装置及设备,用于减少对于存储空间的占用,提高对于存储空间的利用效率。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种文本检测方法,包括:
获取待检测文本;
获取所述待检测文本的场景信息;
识别所述待检测文本中的关键词,得到关键词集合;
对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度;
根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合;
根据所述风险等级集合,确定所述待检测文本的风险等级。
本说明书实施例提供的一种文本检测装置,包括:
待检测文本获取模块,用于获取待检测文本;
场景信息获取模块,用于获取所述待检测文本的场景信息;
关键词识别模块,用于识别所述待检测文本中的关键词,得到关键词集合;
敏感维度确定模块,用于对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度;
关键词风险等级确定模块,用于根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合;
待检测文本风险等级确定模块,用于根据所述风险等级集合,确定所述待检测文本的风险等级。
本说明书实施例提供的一种文本检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测文本;
获取所述待检测文本的场景信息;
识别所述待检测文本中的关键词,得到关键词集合;
对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度;
根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合;
根据所述风险等级集合,确定所述待检测文本的风险等级。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对原有的每个场景对应的关键词词库中的各个关键词的属性进行抽象概括,得到敏感维度这一属性;将关键词与敏感维度进行对应,在进行存储时,按照对应的敏感维度来存储关键词,不需要每增加一个场景,就将相应的关键词存储一遍;使得同一个关键词在内存中仅保留一个实体,整个内存不会随着场景的增长而急剧增长,从而有效的解决了检测文本时,词库对于内存存储空间的占用过高的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中文本检测方法使用的词库的存储方式示意图;
图2为本说明书实施例提供的一种文本检测方法的流程示意图;
图3为本说明书实施例提供的对应于图2的一种文本检测装置的结构示意图;
图4为本说明书实施例提供的对应于图2的一种文本检测设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为现有技术中文本检测方法使用的词库的存储方式示意图。在现有技术中,普通的关键词缓存结构都是按照场景维度构建的。如图1所示,在存储空间1中,场景1对应的词库中存储了关键词A、关键词B、关键词C和关键词D;在存储空间2中,场景2对应的词库中存储了关键词B、关键词C、关键词M和关键词N;在存储空间3中,场景3对应的词库中存储有关键词C、关键词D、关键词X和关键词Z;
可以看出,在三个不同的场景下,关键词B被存储了两次,占用了两个存储空间;关键词C被存储了三次,占用了三个存储空间;关键词D被存储了两次,占用了两个存储空间。由于每新增一个场景,该场景的关键词都需要构建一次重新加载到内存中,所以随着场景的增加,同一关键词会被多次重复缓存,缓存中可能会存在相当多的重复的关键词。这样就会导致当场景增长时,占用的内存也会成倍的增长,当场景持续增多时,占用内存过多会触发Java虚拟机中的Full Gc这一内存清理机制,影响程序正常运行。
图2为本说明书实施例提供的一种文本检测方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于服务器的程序或应用客户端。
如图2所示,该流程可以包括以下步骤:
S201:获取待检测文本。
待检测文本可以是存在于任何界面的文本,例如:可以是用户在各种社交软件中的昵称、个性签名、聊天记录,也可以是贴吧文章、买家评论等等。
S202:获取所述待检测文本的场景信息。
场景可以是指任何可输入文字的界面,例如搜索框、评论区、群聊界面等等。可以根据待检测文本对应的场景码来确定待检测文本信息对应的场景信息。
S203:识别所述待检测文本中的关键词,得到关键词集合。
可以根据预先设置好的关键词词库,识别出待检测文本中的一个或多个关键词,本说明书实施例中,将所有识别出的关键词称为关键词集合。其中,关键词词库中存储的预设关键词,可以按照一个预设关键词只存储一次的方式进行存储。
S204:对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度。
敏感维度可以表示关键词所涉及的敏感领域。敏感领域可以是法律规定或者公司规定所禁止的领域。例如:迷信、宗教、广告宣传、政治(人名、事件)、个人财物安全、赌博等等。
一个关键词可以对应多个敏感维度,一个场景也可以对应多个敏感维度。每个关键词在待检测文本中对应的敏感维度与场景信息有关。因此,同一个关键词在不同的场景信息中也可以对应不同的敏感维度。
同一关键词在不同场景中对应的敏感维度可以为多个,例如,关键词“奖励翻倍”一词如果出现在支付宝聊天界面,可能涉及的敏感维度是个人财产安全,但是如果关键词“奖励翻倍”一词出现在某购物界面,则有可能涉及广告宣传这一敏感维度。
同一关键词在同一应用场景中对应的敏感维度也可以为多个。关键词“返老还童”一词,在某医生问诊贴吧中出现时,既涉及封建迷信这一敏感维度,又涉及广告宣传这一敏感维度。
S205:根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合。
每个关键词的风险等级与该关键词所在的场景以及该关键词对应的敏感维度有关。具体的,每个关键词在不同的场景中可以对应不同的敏感维度,每个关键词在不同的敏感维度下对应的风险等级可以不同。
当一个关键词对应的敏感维度为多个,并且在多个敏感维度中的风险等级不同时,可以根据预设原则对同一关键词的多个风险等级进行取舍,确定出一个关键词对应的一个风险等级。
S206:根据所述风险等级集合,确定所述待检测文本的风险等级。
可以采用以下方式确定待检测文本的风险等级:确定风险等级集合中的最高风险等级;将最高风险等级确定为待检测文本的风险等级。
也可以采用以下方式确定待检测文本的风险等级:
将风险等级按照分数进行表示,每个风险等级对应为一个具体分数。在风险等级集合中存储的可以是每个关键词对应的分数,计算风险等级集合中所有分数的平均数,将该平均数作为待检测文本的风险等级。例如,某个待检测文本共涉及三个关键词,关键词A的风险等级分数为70,关键词B的风险等级分数为80,关键词C的风险等级分数为60,则风险等级集合可以表示为:{70,80,60},求取集合中分数的平均数为:(70+80+60)/3=70,得到待检测文本的风险等级为70分。
图2中的方法,通过对原有的每个场景对应的关键词词库中的各个关键词的属性进行抽象概括,得到敏感维度这一属性;将关键词与敏感维度进行对应,在进行存储时,按照对应的敏感维度来存储关键词,不需要每增加一个场景,就将相应的关键词存储一遍;使得同一个关键词在内存中仅保留一个实体,整个内存不会随着场景的增长而急剧增长,从而有效的解决了检测文本时,词库对于内存存储空间的占用过高的问题。
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
上述方案中,所述识别所述待检测文本中的关键词,具体可以包括:
采用预先设置的字典树,识别所述待检测文本中的关键词;所述字典树中存储有全部的预设关键词,每个所述预设关键词对应一个存储实体。
实际应用中,字典树中可以存储所有的关键词,还可以存储每个关键词对应的属性信息。所述属性信息可以是敏感维度。所述属性信息也可以是每个关键词在每个场景中对应的敏感维度。需要说明的是,所述关键词对应的属性信息,也可以存储在字典树之外的存储区域。
当所述属性信息为敏感维度时,所述确定所述关键词集合中的每个关键词在所述场景信息中对应的敏感维度,具体可以包括:
对于所述关键词集合中的每个关键词,分别执行以下操作:
确定所述关键词对应的敏感维度,得到第一敏感维度集合;
根据所述场景信息,确定所述场景信息对应的敏感维度,得到第二敏感维度集合;
对所述第一敏感维度集合与所述第二敏感维度集合取交集,得到第三敏感维度集合;
将所述第三敏感维度集合中的敏感维度确定为所述关键词在所述场景信息中对应的敏感维度。
上述步骤中,敏感维度集合可以包括一个元素,也可以包括多个元素。
其中,场景对应的敏感维度可以根据具体情况自行设置,不同的场景对应的敏感维度会有所不同,比如,私人聊天界面允许出现广告宣传用语,但是在群聊信息界面或者其它可以被大量的人所查询的界面,是不允许出现广告宣传用语的。另外,一个场景对应的敏感维度可以是一个,也可以是多个。比如,一些贴吧中,敏感维度可以同时包括淫秽、封建迷信等等。
对所述第一敏感维度集合与所述第二敏感维度集合取交集,意为将关键词的敏感维度与场景的敏感维度相互匹配,只有存在重合的元素才证明待检测的文本中存在场景中不宜出现的关键词。具体的,假设第一敏感维度集合中包括敏感维度A、B,第二敏感维度集合中包括敏感维度B,则两者取交集后,得到第三敏感维度集合中包括敏感维度B,表示某个关键词自身涉及的敏感维度为A和B,待检测文本对应的场景涉及的敏感维度为B,所以从敏感维度B来说,关键词在待检测文本中认为是敏感的关键词。假设第一敏感维度集合中包括敏感维度A,第二敏感维度集合中包括敏感维度B,则两者取交集后,得到第三敏感维度集合为空集,则表示某个关键词自身涉及的敏感维度为A,待检测文本对应的场景涉及的敏感维度为B,所以从敏感维度B来说,关键词在待检测文本中不会被认为是敏感的关键词。
上述步骤中,建立了两类映射关系,一类是关键词与敏感维度之间的映射关系,另一类是场景与敏感维度之间的映射关系。这两种映射关系的建立,可以降低后续对于映射关系与文本检测系统之间的耦合性。后续对于关键词、场景与敏感维度三者之间的映射关系进行调整或修改时,可以单独对关键词与敏感维度,或者单独对场景与敏感维度之间的映射关系进行修改,较低维护成本。
前面提到,所述属性信息也可以是每个关键词在每个场景中对应的敏感维度。意为关键词、场景与敏感维度三者之间可以建立直接的映射。
当所述属性信息为每个关键词在每个场景中对应的敏感维度时,所述确定所述关键词集合中的每个关键词在所述场景信息中对应的敏感维度,具体可以包括:
根据预先设置的关键词,场景以及敏感维度之间的映射关系,确定所述所述关键词集合中的每个关键词在所述场景信息中对应的敏感维度。
所述关键词、场景以及敏感维度之间的映射关系可以表示为:关键词→场景→敏感维度,即可以通过关键词,以及该关键词所在的场景,共同确定出该关键词在该场景中对应的敏感维度。例如,关键词集合中的A元素在场景信息B中对应的敏感维度为C,在场景信息D中对应的敏感维度为E和F,则可以形成:(A,B)→C的映射关系,以及(A,D)→E,F的映射关系。
本说明书实施例中,所述获取所述待检测文本的场景信息,具体可以包括:
确定所述待检测文本对应的显示界面;
确定所述显示界面对应的场景码。
所述待检测文本可以是用户编辑或输入的文本。所述待检测文本被编辑或者输入完毕后,可以被提交。提交过程中,发送待检测文本的设备可以向接收待检测文本的设备同时发送接口标识。该接口标识可以表示待检测文本是在哪个界面被输入的。接收到待检测文本的设备根据该接口标识可以确定与该接口标识对应的场景码。或者,该接口标识也可以直接作为场景码使用。
在实际应用中,每一个关键词在一个对应的敏感维度下都可以有一个对应的风险等级。当一段待检测文本中包含多个关键词,对应有多个风险等级时,将多个风险等级构成的风险等级集合。可以根据风险等级集合确定出一个风险等级作为待检测文本的风险等级。
此时,确定待检测文本的风险等级可以有多种方式:
若采用风险等级的高低来评判待检测文本的风险等级,所述根据所述风险等级集合,确定所述待检测文本的风险等级,具体可以包括以下步骤:
确定所述风险等级集合中的最高风险等级;
将所述最高风险等级确定为所述待检测文本的风险等级。
例如,获取到一段待检测文本,从待检测文本中获取的关键词为X,Y,Z。关键词X,Y,Z在某显示界面对应的风险等级分别为:A1、A2、A3,其中,A1<A2<A3,此时,可以选择最高的风险等级A3作为待检测文本的风险等级。
实际应用中,不同的风险等级可以对应不同的后续操作。例如,风险等级可以设置为拦截等级和审核等级。通常,拦截等级的风险高于审核等级的风险。
确定所述待检测文本的风险等级为拦截等级之后,还可以包括以下步骤:
向对所述待检测文本具有发布权限的设备,发送拦截消息;所述拦截消息用于指示所述设备禁止发布所述待检测文本。
上述步骤中,拦截表示将待发送的文本信息阻截下来,禁止包含待检测文本的信息继续发送。
例如,从待检测文本中获取了关键词“前所未有”,该关键词所处场景为某商品售卖界面,此时,判定“前所未有”一词在某商品售卖界面的风险等级为拦截等级,此时,“前所未有”一词将会被拦截,相应的文本将不会显示在该商品售卖界面上。
确定所述待检测文本的风险等级为审核等级之后,还可以包括以下步骤:
向对所述待检测文本具有发布权限的设备,发送审核消息;所述审核消息用于指示所述设备在接收到审核人员的确认操作前禁止发布所述待检测文本。
审核表示后台或者终端会对被判定为审核等级的关键词再次进行审核,判定该关键词的风险等级,从而确定该检测文本是否可以被发布。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图3为本说明书实施例提供的对应于图2的一种文本检测装置的结构示意图。如图3所示,该装置可以包括:
待检测文本获取模块301,用于获取待检测文本;
场景信息获取模块302,用于获取所述待检测文本的场景信息;
关键词识别模块303,用于识别所述待检测文本中的关键词,得到关键词集合;
敏感维度确定模块304,用于对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度;
关键词风险等级确定模块305,用于根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合;
待检测文本风险等级确定模块306,用于根据所述风险等级集合,确定所述待检测文本的风险等级。
可选的,所述待检测文本获取模块301,具体可以包括:
待检测文本获取单元,用于采用预先设置的字典树,识别所述待检测文本中的关键词;所述字典树中存储有全部的预设关键词,每个所述预设关键词对应一个存储实体。
可选的,所述敏感维度确定模块304,具体可以包括:
第一敏感维度确定单元,用于对于所述关键词集合中的每个关键词,确定所述关键词对应的敏感维度,得到第一敏感维度集合;
第二敏感维度确定单元,用于根据所述场景信息,确定所述场景信息对应的敏感维度,得到第二敏感维度集合;
第三敏感维度确定单元,用于对所述第一敏感维度集合与所述第二敏感维度集合取交集,得到第三敏感维度集合;
敏感维度第一确定单元,用于将所述第三敏感维度集合中的敏感维度确定为所述关键词在所述场景信息中对应的敏感维度。
可选的,所述敏感维度确定模块304,具体可以包括:
敏感维度第二确定单元,用于根据预先设置的关键词,场景以及敏感维度之间的映射关系,确定所述关键词集合中的每个关键词在所述场景信息中对应的敏感维度。
可选的,所述场景信息获取模块302,具体可以包括:
显示界面确定单元,用于确定所述待检测文本对应的显示界面;
场景码确定单元,用于确定所述显示界面对应的场景码。
可选的,所述待检测文本风险等级确定模块306,具体可以包括:
最高风险等级确定单元,用于确定所述风险等级集合中的最高风险等级;
待检测文本风险等级确定单元,用于将所述最高风险等级确定为所述待检测文本的风险等级。
可选的,所述待检测文本风险等级确定模块306,具体可以包括:
拦截等级确定单元,用于确定所述待检测文本的风险等级为拦截等级;
所述装置还可以包括:
拦截消息发送单元,用于所述拦截等级确定单元确定所述待检测文本的风险等级为拦截等级后,向对所述待检测文本具有发布权限的设备,发送拦截消息;所述拦截消息用于指示所述设备禁止发布所述待检测文本。
可选的,所述待检测文本风险等级确定模块306,具体可以包括:
审核等级确定单元,用于确定所述待检测文本的风险等级为审核等级;
所述装置还可以包括:
审核消息发送单元,用于所述审核等级确定单元确定所述待检测文本的风险等级为审核等级后,向对所述待检测文本具有发布权限的设备,发送审核消息;所述审核消息用于指示所述设备在接收到审核人员的确认操作前禁止发布所述待检测文本。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图4为本说明书实施例提供的对应于图2的一种文本检测设备的结构示意图。如图4所示,设备400可以包括:
至少一个处理器410;以及,
与所述至少一个处理器通信连接的存储器430;其中,
所述存储器430存储有可被所述至少一个处理器410执行的指令420,所述指令被所述至少一个处理器410执行,以使所述至少一个处理器410能够:
获取待检测文本;
获取所述待检测文本的场景信息;
识别所述待检测文本中的关键词,得到关键词集合;
对于所述关键词集合中的每个关键词,确定所述关键词集合中的每个关键词与所述场景信息相对应的敏感维度;
根据所述敏感维度,确定所述关键词集合中的每个关键词对应的风险等级,得到风险等级集合;
根据所述风险等级集合,确定所述待检测文本的风险等级。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。