TrackingMore网站目前支持500多家快递,很多快递官网仅仅提供了物流轨迹信息,并未提供物流状态,但我们仍然成功的将物流状态划分为了统一的7种状态,具体是如何做的呢?
我们先看一下TrackingMore划分了哪七种物流状态:
- 查询不到:单号无信息
- 运输途中:快递在运输途中
- 到达待取:快递在派送中
- 投递失败:快递派送失败
- 成功签收:快递被成功签收
- 可能异常:快递可能被退件,或丢失
- 运输过久:快递运输很久仍然没有签收
设置物流状态的关键词库
要自动识别这些物流状态,我们需要为每一种状态添加一个对应的关键词库。例如当物流信息里面出现“妥投”字样,我们就知道这个快递已经被签收了;而当出现“派送不成功”的关键词,我们就可以判定这个单号为投递失败。
快递状态的优先级
可能异常>成功签收>投递失败>到达待取>运输途中因为虽然我们已经有了关键词库,但是可能出现物流信息中即出现过“到达待取”的关键词,也出现过“成功签收”的关键词,那我们会依据上面的优先级规则,把这个快递仍然识别为“成功签收”。
这里面涉及“ 节点状态”与“ 最终状态 ”,每一条信息都可以根据关键词库去识别出来一个“节点状态”,但这个单号的最终状态,需要依据状态优先级来判定。
特殊情况
1. 退件签收的单号,如何与正常签收的单号区分开来?
- (1)退件签收的单号,物流信息中通常会出现“客户拒收”、“退回发件人”等字样,同时也会出现“妥投”等字样,这个时候,我们会把单号识别为“ 可能异常 ”,进而与正常签收单号区分。
- (2)如果单号中没有“退回发件人”的字样,但是确实是退件,我们可以根据地理位置来判断状态,例如单号的始发地是“山东省聊城市揽投部”,签收地还是“山东省聊城市揽投部”,那么这个快递很有可能是退件签收。
- (3)对于国际快递,如果发件国是中国,目的国是美国,但最后的签收地是中国,或者在中国邮政的信息段中出现了“进口互封”“进口开拆”等字样,那么这个快递也肯定是退件。
2. 误导性的关键词对状态识别的影响
例如,“delivered”代表签收,但“Will be delivered in 3 days”指的就是还未签收的状态;“退回发件人”代表退件,但“三日不取默认退回发件人”对应的就是“到达待取”的状态,并不是退件。
3.多语种的关键词识别
针对国际快递,由于其物流信息中可能会出现不同的语言,所以需要完善不同语种的关键词库,才可以做到正确识别状态。例如,“妥投”、“delivered”“zugestellt”“お届け済み”“ENTREGADO”“Отправление доставлено”分别是中文、英文、德语、日语、西班牙语、俄语的签收词。
4. 不同快递商的差异性
由于不同快递公司的物流信息并没有统一,所以同样的一个关键词,不同快递公司表达的意思大不一样,所以还需要针对具体的快递商做单独的修正。例如“已收件”可能在某一家快递公司的物流信息里,代表的是快递公司刚刚上门揽收,快递正在运输的路上,而另一家快递公司的物流信息里“已收件”则可能代表收件人已经签收的这个快递。
总结
要做好快递状态识别,首先足够多的数据量,建立自己完善的词库,才可能做好状态自动识别;其次,在制定状态判定规则的时候,需要思考机器可以在哪些方面代替人工识别,为什么有经验的物流业务员一看物流信息就知道这个单号是什么状态,他凭借的是什么,这些经验能否被机器复制。
Ps: 目前TrackingMore平台经过三年的积累与试错,已经把自动识别状态功能做到了业内最佳,如果您有发现部分单号我们状态识别仍有问题,欢迎与我们沟通。
