符序列。
[0117]可选地,如图2B所示,以预测上述η个字符序列中的第i个字符序列所属的分类为例(I < i < η),该预测过程可包括如下几个子步骤:
[0118]在步骤203a中,从目标通信信息中提取第i个字符序列对应的特征项组合。
[0119]其中,特征项组合中包括但不限于下列特征项中的至少一种:快递机构名称、快递机构名称与字符序列间的字符间隔距离、字符序列的长度、字符序列的前缀、用于指示字符序列中是否包含英文字符的指示符、目标通信信息中包含的字符序列的总数。
[0120]在步骤203b中,将第i个字符序列对应的特征项组合中包含的各个特征项以数值进行量化。
[0121]以对快递机构名称进行量化为例,可以预先设定不同的快递机构名称与不同的量化数值之间的对应关系。如,快递机构名称“X通快递”对应量化数值1,快递机构名称“XX速运”对应量化数值2,快递机构名称“X急送”对应量化数值3,依次类推。假设第i个字符序列对应的特征项组合中包含快递机构名称“X通快递”这一特征项,则将该特征项以数值进行量化后即为I。类似地,其它特征项也可以类似的方式进行量化。
[0122]在步骤203c中,采用完成训练的SVM分类模型依据第i个字符序列对应的量化后的特征项组合,计算第i个字符序列对应的预测值。
[0123]将第i个字符序列对应的量化后的特征项组合作为完成训练的SVM分类模型的输入参数,采用该SVM分类模型计算该第i个字符序列对应的预测值。
[0124]在步骤203d中,判断第i个字符序列对应的预测值是属于第一分类对应的预测值区间还是属于第二分类对应的预测值区间。
[0125]在步骤203e中,当第i个字符序列对应的预测值属于第一分类对应的预测值区间时,将第i个字符序列分类至第一分类。
[0126]在步骤203f中,当第i个字符序列对应的预测值属于第二分类对应的预测值区间时,将第i个字符序列分类至第二分类。
[0127]其中,第一分类和第二分类分别对应于两个不同的预测值区间,该预测值区间是预先进行设定的。例如,预先设定第一分类对应的预测值区间为大于O的区间,第二分类对应的预测值区间为小于O的区间。贝Ij当第i个字符序列对应的预测值大于O时,SVM分类模型将该第i个字符序列分类至第一分类,也即分类至被预测为属于快递单号的字符序列对应的分类。当第i个字符序列对应的预测值小于O时,SVM分类模型将该第i个字符序列分类至第二分类,也即分类至被预测为不属于快递单号的字符序列对应的分类。
[0128]在本实施例中,采用SVM分类模型对字符序列所属的分类进行预测。SVM分类模型适用于解决二分类问题,模型较小,易于在手机之类的终端中运行。
[0129]另外,可通过如下两个步骤构建和训练SVM分类模型:
[0130]1、构建SVM分类模型;
[0131]2、通过预先获取的a个训练样本对SVM分类模型进行训练,a多I ;
[0132]其中,每一个训练样本包含一个字符序列对应的特征项组合和期望分类结果。
[0133]训练样本可分为正样本和负样本两种。其中,正样本是指属于快递单号的字符序列所对应的训练样本;负样本是指不属于快递单号的字符序列对应的训练样本。训练样本可由技术人员预先从包含有快递单号的通信信息中提取得到。
[0134]另外,SVM分类模型的构建和训练过程可由终端执行;或者,SVM分类模型的构建和训练过程也可由服务器执行,服务器将完成训练的SVM分类模型提供给终端。
[0135]需要说明的一点是:在本实施例中,仅以采用SVM分类模型进行举例说明,在其它可能的实施方式中,也可采用决策树、KNN(k_Nearest Neighbor, K最邻近)、神经网络等其它分类模型。对此,本实施例不作限定。
[0136]在步骤204中,从P个字符序列中识别出属于快递单号的字符序列。
[0137]终端根据上述步骤203的预测结果,从属于第一分类的P个字符序列中识别出属于快递单号的字符序列。
[0138]在一种可能的实施方式中,终端将属于第一分类的P个字符序列全部识别为属于快递单号的字符序列。
[0139]在另一种可能的实施方式中,如图2C所示,步骤204可包括如下几个子步骤:
[0140]在步骤204a中,判断p是否小于或等于预设阈值。
[0141]其中,预设阈值是根据实际情况预先设定的经验值。例如,对包含有快递单号的通信信息进行整理和统计,发现在通常情况下每条通信信息中有且仅有I个快递单号,则可设定预设阈值为I。
[0142]终端判断第一分类中的字符序列的数量P是否小于或等于预设阈值;若是,则执行下述步骤204b ;否则,执行下述步骤204c。
[0143]在步骤204b中,将p个字符序列全部识别为属于快递单号的字符序列。
[0144]当P小于或等于预设阈值时,终端将属于第一分类的P个字符序列全部识别为属于快递单号的字符序列。
[0145]可选地,当预设阈值为I时,则在第一分类中有且只有I个字符序列的情况下,终端将该第一分类中的字符序列识别为属于快递单号的字符序列。
[0146]在步骤204c中,从P个字符序列中剔除属于非快递单号的字符序列。
[0147]当P大于预设阈值时,终端从属于第一分类的P个字符序列中剔除属于非快递单号的字符序列。其中,非快递单号包括但不限于订单号、电话号码、银行卡号、验证码和日期时间中的至少一种。
[0148]可选地,当预设阈值为I时,则在第一分类中有多个字符序列的情况下,终端从该多个字符序列中剔除属于非快递单号的字符序列。
[0149]可选地,对于不同种类的非快递单号,可采用如下方式进行辨别:
[0150]1、当P个字符序列中的目标字符序列符合第一预定条件时,将目标字符序列识别为属于订单号的字符序列,并从P个字符序列中剔除该目标字符序列。
[0151]其中,第一预定条件是指目标字符序列之前包含订单关键字。属于订单号的字符序列之前通常包含有诸如“订单”、“订单号”之类的订单关键字,终端可采用该特征简单判定目标字符序列是否为属于订单号的字符序列。
[0152]2、当P个字符序列中的目标字符序列符合第二预定条件时,将目标字符序列识别为属于电话号码的字符序列,并从P个字符序列中剔除该目标字符序列。
[0153]其中,第二预定条件包括目标字符序列中包含电话区号、目标字符序列中包含移动电话号码前缀、目标字符序列的长度为预设长度中的至少一项。电话号码通常包括预订电话号码和移动电话号码(也即手机号码)两种。固定电话号码中通常包括电话区号,且长度固定;移动电话号码中通常包括一些固定的前缀,且长度固定。因此,终端可采用上述特征简单判定目标字符序列是否为属于订单号的字符序列。
[0154]3、当P个字符序列中的目标字符序列符合第三预定条件时,将目标字符序列识别为属于银行卡号的字符序列,并从P个字符序列中剔除该目标字符序列。
[0155]其中,第三预定条件是指目标字符序列中包含BIN码。银行卡号具有固定的格式,以19位的银行卡号为例,该银行卡号的前6位是BIN码,中间12位是个人账号标识,最后I位是校验位。由于银行卡号的前几位必然是BIN码,因此,可通过检测目标字符序列的前几位是否是BIN码来简单判定该目标字符序列是否为属于银行卡号的字符序列。
[0156]4、当P个字符序列中的目标字符序列符合第四预定条件时,将目标字符序列识别为属于验证码的字符序列,并从P个字符序列中剔除该目标字符序列。
[0157]其中,第四预定条件是指字符序列所在分句中包含验证码关键字。属于验证码的字符序列所在的分句中通常包含有诸如“验证码”、“动态码”、“校验码”之类的验证码关键字,终端可采用该特征简单判定目标字符序列是否为属于验证码的字符序列。
[0158]5、当P个字符序列中的目标字符序列符合第五预定条件时,将目标字符序列识别为属于日期时间的字符序列,并从P个字符序列中剔除目标字符序列。
[0159]其中,第五预定条件是指目标字符序列符合日期时间的正则表达式。属于日期时间的字符序列具有较强的时间特征,可直接使用正则表达式进行判定。
[0160]需要说明的一点是:上述例举的各种非快递单号对应的判定条件进行示例性和解释性的,在实际应用中,可结合实际情况设定各种非快递单号对应的判断条件。对此,本实施例不作限定。
[0161]在步骤204d中,判断剩余的字符序列的数量是否小于或等于预设阈值。
[0162]终端从P个字符序列中剔除属于非快递单号的字符序列之后,判断剩余的字符序列的数量是否小于或等于预设阈值。若是,则执行下述步骤204e ;否则,执行下述步骤204fo
[0163]在步骤204e中,将剩余的字符序列识别为属于快递单号的字符序列。
[0164]当剩余的字符序列的数量小于或等于预设阈值时,终端将剩余的字符序列全部识别为属于快递单号的字符序列。
[0165]可选地,当预设阈值为I时,则在剩余的字符序列有且只有I个的情况下,终端将该剩余的字符序列识别为属于快递单号的字符序列。
[0166]在步骤204f中,将剩余的字符序列中与快递机构名称间的字符间隔距离最小的字符序列识别为属于快递单号的字符序列。
[0167]当剩余的字符序列的数量大于预设阈值时,终端从剩余的字符序列中选取与快递机构名称间的字符间隔距离最小的字符序列,并将该被选取的字符序列识别为属于快递单号的字符序列。
[0168]可选地,终端从目标通信信息中识别出属于快递单号的字符序列后,可将该属于快递单号的字符序列和对应的快递机构名称进行显示或存储。另外,终端也可采用该识别为快递单号的字符序列,进行物流查询等相关操作,将查询到的物流信息提供给用户,从而尽可能地减少用户操作,提高用户体验。
[0169]综上所述,本实施例提供的识别号码的方法,通过在检测出目标通信信息中包含快递机构名称的情况下,从目标通信信息中提取至少一个字符序列,并从上述提取的字符序列中识别出属于快递单号的字符序列;解决了需要用户自行从通信信息中获取快递单号的问题