手写识别方法、系统、客户端和服务器端
技术领域
本发明一般地涉及人工智能应用
技术领域
。更具体地,本发明涉及一种手写识别方法、系统、客户端和服务器端。背景技术
目前,深度神经网络作为机器学习领域中的一种技术,近年来不断得到发展和应用。深度学习模型可以被设计用于实现各种各样的任务,包括文字识别、语音识别、自然语言处理和计算机视觉处理等。基于深度神经网络的手写识别技术,具有优秀的识别率与准确率。但随着神经网络层数的加深,可识别字数的增加,神经网络模型的参数量以及对应需要的存储空间将会迅速增大。这种对存储消耗较大的手写识别技术,使得本领域技术人员通常将手写识别服务部署在服务器端,由客户端将手写数据发送给服务器端,服务器端利用训练好的神经网络模型对手写数据进行识别,并将识别结果返回给客户端。但是这种客户端-服务器端的模式存在一个问题,即如果将客户的手写数据上传给服务器端,那么客户的手写数据有可能通过服务器端泄露出去;因此,该部署模式存在客户手写数据泄露的风险。
发明内容
为了至少解决上述问题,本发明提出了一种手写识别方法、系统、客户端和服务器端,服务器端将涉及到客户手写数据特征的特征提取功能和特征匹配功能移交到客户端完成,服务器端不能接触到任何有关用户的手写数据,避免了因将客户手写数据传输给服务器端引起的数据泄露的风险。
在第一方面中,本发明提供一种用于客户端的手写识别方法,包括:向服务器端发送手写识别请求;接收服务器端返回的特征提取模型和目标文字的特征值;接收待识别手写文字,加载所述特征提取模型以获取所述待识别手写文字的特征值,将所述待识别手写文字的特征值和所述目标文字的特征值进行匹配,以辨识所述待识别手写文字。
在一个实施例中,所述匹配包括:计算所述待识别手写文字的特征值和所述目标文字的特征值的相似度。
在一个实施例中,所述相似度包括欧式距离相似度、余弦相似度、调整余弦相似度和皮尔森相关系数的一种或多种
在一个实施例中,还包括:计算所述待识别手写文字的特征值和两个以上目标文字的特征值的相似度,并选取其中最大的相似度,将所述最大的相似度和阈值进行比较,以辨识所述待识别手写文字。
在一个实施例中,所述接收待识别手写文字,加载所述特征提取模型,包括:在用户每完成一个笔画即加载一次所述特征提取模型。
在第二方面中,本发明还提供了一种用于服务器端的手写识别方法,包括:接收客户端发送的手写识别请求;根据所述手写识别请求将特征提取模型和目标文字的特征值发送给客户端。
在一个实施例中,所述特征值提取模型在模型训练阶段,选取正样本和负样本,包括:选择相同的文字作为正样本,选择不同的文字作为负样本;和/或将一个文字减少一个或二个笔画得到的内容作为负样本,将一个文字增多一个或二个笔画得到的内容作为负样本。
在第三方面中,本发明还提供了一种客户端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面和多个实施例中的用于客户端的手写识别方法。
在第四方面中,本发明还提供了一种服务器端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第二方面和多个实施例中的用于服务器端的手写识别方法。
在第五方面中,本发明还提供了一种手写识别系统,包括前述的客户端和前述的服务器端,所述服务器端和客户端通信连接。
本发明通过将服务器端中涉及到客户手写数据特征的特征提取功能和特征匹配功能移交到客户端完成,服务器端不接触任何用户的手写数据信息。一方面,由于隔绝了服务器端获取用户数据的途径,因此从根本上避免了将客户手写数据传输给服务器引起的数据泄露的风险,有效提升了用户隐私数据的安全性。另一方面,客户端通过加载特征提取模型和匹配特征值的方式进行辨识,仍然能够保证识别的准确性;而且由于模型和目标特征值来自于服务器端,这种处理方式并不会显著地增加客户端的负担。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本发明实施例的用于客户端的手写识别方法流程示意图;
图2是示出根据本发明实施例的用于服务器端的手写识别方法流程示意图;
图3是示出根据本发明实施例的手写识别系统工作流程示意图;
图4是示出根据本发明实施例的在客户端进行手写识别的工作流程示意图;
图5是示出根据本发明实施例的用于手写识别的客户端的结构示意图;
图6是示出根据本发明实施例的用于手写识别的服务器端的结构示意图。
具体实施方式
现在将参考附图描述实施例。应当理解,为了说明的简单和清楚,在认为合适的情况下,可以在附图中重复附图标记以指示对应或类似的元件。另外,本申请阐述了许多具体细节以便提供对本文所述实施例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践本文描述的实施例。在其他情况下,没有详细描述公知的方法、过程和组件,以免模糊本文描述的实施例。而且,该描述不应被视为限制本文描述的实施例的范围。
目前,深度神经网络作为机器学习领域中的一种技术,因其高度鲁棒性和容错能力、分布存储和学习能力以及能充分逼近复杂的非线性关系,近年来不断得到发展和应用。深度学习模型可以被设计用于实现各种各样的任务,包括文字识别、语音识别、自然语言处理(包括手写识别)和计算机视觉处理等,具有优秀的识别率与准确率。但随着神经网络层数的加深,可识别字数的增加,神经网络模型的参数量以及对应需要的存储空间将会迅速增大。这种需要存储并加载大量参数数据的应用场景,已经不适用于将手写识别服务部署在本地机网页浏览器中。
以一个单字图片识别模型为例。如果该模型支持2万个汉字的识别,那么该模型最后一层神经网络的输出也需要有2万个输出节点才能完整表示该模型的输入图片在每一个汉字分类上的概率。如果最后一层神经网络的输入节点数是N,那么将需要N*20000*sizeof(float)字节的存储空间。一般对于中文文字识别,N取值将在128-1024这个区间段,即仅针对最后一层的神经网络也将会使用到9.7-78.1M字节的存储空间。前述的仅仅是识别单字图片,当需要识别的是多字图片或更加复杂的形式时,则需要的存储空间将更加庞大。为了解决存储消耗较大的问题,用户通常将该手写识别服务部署在服务器端,由客户端将用户手写数据发送给服务器端,服务器端根据基于神经网络的手写识别模型对前述的用户手写数据进行处理并得到识别结果,并将识别结果返回给客户端。上述客户端-服务器端的模式存在一个问题,即客户端将用户的手写数据上传给服务器端,服务器端获取了包含用户隐私的信息(用户签名笔迹信息等),因此这种方式将可能引起服务器端将用户数据泄露的风险,影响用户的隐私信息安全。
基于此,本发明的实施例中提供了一种用于客户端的手写识别方法、用于服务器端的手写识别方法、客户端、服务器端和对应的手写识别系统。将原本部署在服务器端的基于神经网络的手写识别模型中的部分功能(可以包括特征提取功能和特征值比对功能)移交至客户端进行,服务器端不再接收用户的手写数据,避免了用户手写数据泄露的风险,有效保证了用户数据的安全性。
下面将结合附图对本发明实施例中的技术方案进行清楚完整地描述。
图1是示出根据本发明实施例的用于客户端的手写识别方法流程图。如图1所示,首先,在步骤S101处,客户端向服务器端发送手写识别请求。然后,在步骤S102处,接收服务器端返回的特征提取模型和目标文字的特征值。接着,在步骤S103处,接收待识别手写文字。再接着,在步骤S104处,加载特征提取模型以获取待识别手写文字的特征值。最后,在步骤S105处,将待识别手写文字的特征值和所述目标文字的特征值进行匹配,以辨识待识别手写文字。在一个实现场景中,前述步骤S105中进行特征值匹配时,可以采用计算待识别手写文字的特征值和目标文字特征值相似度,也可以采用计算前述两个特征值之间的特征距离的方式进行特征值匹配。前述客户端接收的特征提取模型是对基于神经网络的手写识别模型进行精简时仅保留了提取特征部分。
在一个实施例中,前述的将待识别手写文字的特征值和目标文字的特征值进行匹配的方式可以包括计算相似度以进行匹配的方式。在一个实现场景中,该相似度可以采用如余弦相似度(Cosine Similarity)、调整余弦相似度(Adjusted Cosine Similarity)、皮尔森相关系数(Pearson Correlation Coefficient)、Jaccard相似系数(JaccardCoefficient)和欧式距离(Euclidean Distance)等的一种或多种。利用上述方法计算得到上述两个特征值的相似度之后,如果该相似度大于相似度阈值,则认为匹配成功,完成待识别手写文字的辨识。在一个实现场景中,以余弦相似度为例,可以采用以下相似度函数SIM(x1,x2)对其进行计算:
其中,取∈=1e-8,x1、x2可以是两个特征值。特征值可以是一个向量。可以理解的是,前述的相似度函数的选取仅仅是示例性的而非限制性的,并且根据实际需求可以调整。
以上描述了进行特征值匹配包括计算特征值的相似度的方式,接下来说明计算得到多个相似度值时的处理过程。在一个应用场景中,如果客户端接收的是目标文字的多个特征值时,计算该待识别手写文字的特征值和前述的目标文字的多个特征值的相似度,并选取其中最大的相似度,将最大的相似度和阈值进行比较,在该最大的相似度高于阈值时,对应的待识别手写文字识别通过。下面以一个“静”字为例进行说明。客户端接收到包括宋体、楷体、隶书等多种字体中的一种或多种字体的“静”字的特征值,即每种字体对应一个特征值,“静”字的特征值可以包括F宋,F楷,F宋等,此时客户端对用户书写的一个字提取特征值,然后将计算该字的特征值与上述多种字体的特征值之间的相似度并进行相似度排序,选取相似度最大的特征值和阈值比较,如果超出该阈值则判定文字识别通过。
在一个实施例中,客户端加载前述的特征提取模型进行特征提取的时机可以有多种方式。以对单字图片进行识别为例,用户每进行一次书写操作,客户端便加载一次前述的特征提取模型并获取此时的待识别手写文字的特征值,并在确认此时待识别手写文字的特征值和目标文字的特征值的相似度,如果此时的相似度高于阈值时则判定识别通过,即完成一个文字的识别。换言之,在用户书写一个文字的过程中,加载了多次前述的特征提取模型,即每输入一个笔画(这里的笔画不是标准笔画,而是以用户书习惯为准,从落笔至抬笔视为一个笔画)则加载一次,这种方式需要多次调用特征提取模型。为了减少对特征提取模型的调用频率,在一个人实现场景中,客户端也可以通过使用户手动确认的方式或延时确认的方式确定用户已经完成一个文字,此时加载前述的特征提取模型,获取此时的待识别手写文字的特征值,并确认此时待识别手写文字的特征值和目标文字的特征值的相似度,如果此时的相似度高于阈值则判定识别通过,即完成一个文字的识别。
以上结合图1对本发明的用于客户端的手写识别方法进行了示例性的介绍。接下来结合图2对本发明中服务器端在手写识别中承担的功能进行整体的示例性描述。
图2是示出根据本发明实施例的服务器端运行方法流程示意图。如图2所示,首先,在步骤S201处,服务器端接收客户端发送的手写识别请求。该手写识别请求可以是一个命令,也可以包含需要识别的目标文字信息。如果包含需要识别的目标文字信息,则服务器端对该请求进行解析,并从服务器端的数据库中调取目标文字的特征值。接着,在S202处,服务器端根据该识别请求将特征提取模型和目标文字的特征值发送给客户端。在一个场景中,客户端发送的目标文字的特征值可以包括识别请求中对应的目标文字,也可以包括其他预存的文字特征值。下面以一个“静”字为例进行说明。服务器端可以发送宋体的“静”字的特征值,也可以发送包括宋体、楷体、隶书等多种字体中的多种字体的特征值。
为了使特征提取模型更加准确地识别不同手写风格的文字并区分相似的文字。在一个实施例中,该特征值提取模型在模型训练阶段选取的正、负样本可以包括选择相同的字中相似度较低的文字作为正样本,选择不同的字中相似度较高的文字作为负样本。以选取“日”字的训练样本为例,可以选取“日”的不同字体作为正样本,并选取“目”、“曰”、“旧”和“田”作为负样本,利用该选取的正样本和负样本对特征提取模型进行训练,以得到更加准确的特征提取模型。
进一步地,为了更加准确地区分没有完成书写的文字、完成书写地的文字和已经开始写下一个文字笔画的文字,在模型训练时还通过以下方式加入了两组负样本。具体地,将一个文字减少一个或二个笔画得到的内容作为负样本,将一个文字增多一个或二个笔画得到的内容和文字本身作为负样本。这两组负样本均增加了书写的文字和文字本身的特征距离,能够有效提升特征提取模型的准确性。同样以上述选取“日”字的训练样本为例,选取“日”字减少一个或二个笔画得到的“口”、“E”和“二”作为负样本,选取“日”字增加一个或二个笔画得到的“田”、“旧”、“旦”和“亘”等作为负样本,对该特征提取模型进行训练,以便该特征提取模型能够准确提取文字的特征值。
以上结合图1-图2分别对本发明的客户端和服务器端完成手写识别的方法流程进行了描述。鉴于上述对客户端和服务器端所执行的功能的详细描述,客户在使用本发明的手写识别方法时,仅需在客户端加载计算量、参数量极小的特征提取模型与目标文字对应的特征向量,配合客户端的手写采集组件,对用户手写文字进行识别。服务器端不再获取用户手写数据,整个识别过程在客户端即可完成。为了更好地理解本发明的客户端进行手写识别的原理和过程,本发明还提供了采用手写识别系统进行手写识别的方法。下面结合图3对该手写识别方法进行示例性的说明。
图3是示出根据本发明实施例的手写识别方法的工作原理的流程图。
如图3所示,在一个实施例中,首先,在步骤S301处,客户端向服务器端发送手写识别请求。在一个实现场景中,该手写识别请求中可以包括需要识别的目标文字的信息。该目标文字可以包括一个或多个文字信息,也可以是一个开始识别的控制命令。以用户签名的识别过程为例,客户端向服务器端发送手写识别请求,该手写识别请求中可以包括需要识别的长度为n的待签名汉字字符串S,该字符串S可以包括S1、S2、S3、…、Si、…Sn。
接着,服务器端在接收客户端发送的手写识别请求之后,在步骤S401处,服务器端根据前述的手写识别请求将特征提取模型和目标文字的特征值发送给客户端。在一个实现场景中,如果该识别请求中包含需要识别的目标文字信息,则服务器端可以将对应的目标文字的特征值和特征提取模型发送至客户端。相对应地,如果该识别请求仅仅是一个开始识别的控制命令,则服务器端可以将存储器中的所有文字的特征值均发送给客户端。另外,该目标文字的特征值也可以包含多种情况,以目标文字为“平安”为例,该目标文字的特征值可以包括对宋体、楷书、隶书等文字进行提取得到的特征值的一种或多种。在一个应用场景中,客户端需从服务器端获取到计算模型(即特征提取模型,Mweb模型)与待签名汉字对应的特征值。服务器端在接收到前述的长度为n的待签名汉字字符串S后,将其中的每一个汉字S1、S2、S3、…、Si、…Sn对应的标准汉字(如宋体)的特征码F1、F2、F3、…、Fi、…、Fn连同Mweb模型发送给客户端。以用户签名的识别过程为例,将第i个待识别汉字Si设置为当前待识别的目标文字,客户端接收服务器端返回的该标准汉字特征值Fi做后续特征匹配时使用。
然后,客户端接收前述特征提取模型和目标文字的特征值,在步骤S302处,客户端接收待识别手写文字。在一个实现场景中,客户端可以通过连接例如手写板、绘画板或掌上电脑(PDA)等手写输入设备获取待识别手写文字。客户端通过前述的手写输入设备获取的待识别手写文字可以是接收一次用户书写操作得到的内容,用户书写操作可以为:1)在客户端的画布上书写了一个笔画(从落笔至抬笔视为一个笔画);2)点击客户端的清空按钮将当前画布上笔画清空。
再接着,在步骤S303处,客户端加载前述特征提取模型以获取待识别手写文字的特征值。具体地,在接收完成用户书写的文字后,可以将当前画布中书写的轨迹数据转换为图片Icurrent,客户端将待识别手写文字的图片输入至前述的特征提取模型Mweb中,加载该特征提取模型以输出对应该待识别手写文字的特征值Fcurrent。其中,Icurrent=Mweb(Icurrent)。进一步地,客户端接收用户书写的文字,用户每书写一个笔画时触发一次文字识别,即加载一次前述的Mweb模型。前述的特征提取模型是在服务器端中训练好的模型(下文中将详细介绍)。
再次,在步骤S304处,客户端计算待识别手写文字的特征值和目标文字的特征值的相似度。具体地,客户端可以将计算得到的特征值Fcurrent与当前待书写汉字Si对应的标准汉字特征值Fi进行相似度运算得到相似度s,其中该相似度可以是余弦相似度,s=SIM(Fi,Fcurrent)。
最后,在步骤S305处,客户端将前述的待识别手写文字的特征值和目标文字的特征值进行匹配,以辨识待识别手写文字。具体地,客户端可以通过判断前述计算得到的相似度是否大于相似度阈值,如果大于该阈值,则判定文字识别通过。例如,取T为相似度阈值,若相似度s超过阈值T,则视为用户书写通过,并将当前的书写轨迹记录为汉字Si的书写结果,此时转到步骤S506;若s没有超过阈值T,则说明用户当前书写的内容与目标字Si不匹配,可能原因可以包括:1)用户还没有书写完成当前字;2)用户书写内容潦草,识别失败。进一步地,客户端也可以判断前述计算得到的特征距离是否小于阈值,如果小于阈值,则判定文字识别通过。另外,前述的需要识别的目标文字可能包括多个文字,在完成一次手写识别后,在步骤S306处,客户端检查是否还存在未进行识别的文字,如果存在,则重新根据接收到的待识别手写文字进行前述的步骤S302~S305的过程。
以上结合图1-图3对本发明的用于客户端和服务器端的手写识别方法进行了详细的阐述,下面以汉字签名识别为例进一步描述本发明的方法原理。在描述本发明的方法原理之前,首先对服务器端训练得到的特征提取模型进行描述。为了给客户端端提供参数量、运算量极少的特征提取模型Mweb(以下简称Mweb模型),该模型可以采用CNN为基础单元设计而成,用于提取文字的特征值。最终设计的模型架构可以基于MobileNetV2与ResNet,参数量少的同时具有良好的特征提取与泛化能力。
在对该特征提取模型进行训练时,使用Mweb模型的输出连接一份传统的线性文字分类模型构建一个辅助模型,辅助模型将应用于产生标准字体的特征值。使用训练好的辅助模型对标准字体(如宋体)进行提取特征作为文字标准特征(目标文字的特征值)并保存在服务器端。基于这些文字标准特征对Mweb模型进行训练,可以加快Mweb模型的收敛速度。在Mweb模型的训练过程中,选择相同的字中相似度较低的文字作为正样本,使得它们之间的特征距离更小;选择不同的字中相似度较高的文字作为负样本,使得它们之间的特征距离更大;通过以上正样本和负样本的选取策略,可使模型更加精准识别不同手写风格的文字和区分相似字。
为了进一步增加该模型的准确性,除了上述不同手写风格的区分,还可以包括对文字是否书写完成的区分。本实施例中实现对文字是否完成的区分的方法为:在训练过程中可以加入以下两组负样本。一组负样本可以是将一个文字减少一或二个笔画的内容作为负样本,使得它们之间的特征距离更大;另一组负样本可以是将一个文字增多一或二个笔画的内容作为负样本,使得它们之间的特征距离更大。其中,增多的笔画来自数据集中,通过对文字笔画的随机抽取而成。利用上述增加的负样本训练得到的特征提取模型,可以更加精准的区分没有完成书写的文字、完成书写的文字和已开始写下一个文字笔画的文字。
进一步地,本发明中可以利用上述规定的正样本与负样本,并采用以下损失函数对Mweb进行训练:
其中:λ在正样本中值为0,负样本中为1;F是目标文字的文字标准特征;是特征提取模型输出的特征值,I为传入模型的图片数据。
进一步地,为了简化前述的特征提取模型的体积,该Mweb模型在存储时,通过量化技术使用两个字节近似表示模型中的浮点权重数据,以压缩模型体积,精简后的模型在客户端集成。
以上是对服务器端训练的特征提取模型的描述,下面以在客户端进行手写识别为例,结合图4对本发明的客户端和服务器端之间通信实现书写识别的方法原理进行阐述。本发明的方法原理中主要包括识别准备阶段与识别阶段两组流程。
在识别准备阶段中,客户端需从服务器端获取到计算模型(即特征提取模型,简称Mweb模型)与待签名汉字对应的特征值。在识别阶段中,客户端接收用户的手写文字,用户每书写一个笔画时触发一次文字识别的方法流程。如图4所示,以n个待识别手写文字为例,可以取n=3。令待识别手写文字的计数值i=0,客户端开始手写识别的方法流程,包括:步骤S501:将第i个待识别文字设置为当前待识别的目标文字,即目标文字,客户端接收服务器端返回的该目标文字对应的特征值做后续计算使用。步骤S502:客户端接收用户书写的手写文字,即待识别手写文字。步骤S503:利用前述的Mweb模型计算得到该第i个待识别手写文字的特征值。步骤S504:将计算得到的第i个待识别手写文字的特征值与目标文字对应的特征值进行相似度运算得到相似度。步骤S505:将计算得到的相似度和相似度阈值进行比较,以判断识别是否通过。如果判断识别通过则跳转至步骤S506,如果判断识别未通过,则将步骤跳转至步骤S502,等待用户进一步操作。步骤S506:判断是否所有文字都识别完成,判断条件为i是否为最后一个字对应的索引号,如果是最后一个字,则流程结束,否则转步骤S507:将i增加1。每完成一个文字的识别,对计数值i增加1,直至i=3时,判断完成了所有文字的识别。可以理解的是,前述的循环识别的过程仅仅是示例性的而非限制性的,并且根据实际需求可以调整。
以上是对本发明的手写识别方法的详细说明。本发明的手写识别方法,客户在使用时,仅需在客户端加载基于神经网络的手写识别模型中计算量、参数量小的特征提取模型和目标文字对应的特征向量,配合客户端手写采集组件,对手写文字进行识别。整个手写识别过程中涉及到客户手写数据的功能都在客户端完成,使得服务器端无法获得客户手写数据,有效避免了客户手写数据的泄露,提升了用户隐私信息的安全性。
作为本发明的另一个方面,本发明实施例还提供了如图5所示的一种用于手写识别的客户端,包括处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信,处理器执行前述客户端所实现方法的步骤。关于客户端所实现的方法,由于在前文中已经进行了详细的说明,故而在此不再赘述。
作为本发明的再一个方面,本发明实施例还提供了如图6所示的一种用于手写识别的服务器端,包括处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信,处理器执行前述服务器端所实现方法的步骤。关于服务器端所实现的方法,由于在前文中已经进行了详细的说明,故而在此也不再赘述。
作为本发明的还一个方面,本发明实施例还提供了一种手写识别系统,包括如图5中示出的客户端和图6中示出的服务器端。
另外,在本发明前述的服务器端和客户端的存储器可以包括可读存储介质,该可读存储介质中存储由执行上述方法的应用程序。可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,计算机可读存储介质可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等,或者可以用于存储所需信息并且可以由应用程序、模块或两者访问的任何其他介质。任何这样的计算机存储介质可以是设备的一部分或可访问或可连接到设备。本发明描述的任何应用或模块可以使用可以由这样的计算机可读介质存储或以其他方式保持的计算机可读/可执行指令来实现。
应当理解,本发明披露的权利要求、说明书及附图中的术语“第一”或“第二”等是用于区别不同对象,而不是用于描述特定顺序。本发明披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明披露。如在本发明披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
还应当理解,本文示例的执行指令的任何模块、单元、组件、服务器端、计算机、终端或设备可以包括或以其他方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储设备(可移除的)和/或不可移动的)例如磁盘、光盘或磁带。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质,例如计算机可读指令、数据结构、程序模块或其他数据。
虽然本发明的实施方式如上,但所述内容只是为便于理解本发明而采用的实施例,并非用以限定本发明的范围和应用场景。任何本发明所述技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。