这个博客的目的是实现公司地址的模糊匹配与3-4级标准化,也可以迁移到房产信息、电话号码之类的字段上。本来的应用场景是反团伙欺诈以及失联客户的修复,大概的意思就是说多个相同公司的同事都在我公司借贷的欺诈可能性要高于其他客户,以及造假的房产信息和电话号码可能不完全相同,但有一定的相似性,我们需要把这些客户找出来,但是又不能用精确匹配。因为存在问题的房产信息和电话可能只是相似,而不是完全相同;对于公司地址来说,即使是真实的信息,但同一个公司的地址也有差别,公司可能会多种多样,如果麻烦一些,还要建一个同义词库。而我做的工作还没有那么全面,只是提取出了公司名中的关键词。
而做评分卡模型也需要用到这个思想。因为评分卡的其中一个字段就是所在城市等级,这就需要从原始数据的地址中提取出城市信息,但地址的格式又不够标准,因为信息是客户人工填写的,例如,“河北省石家庄市长安区广安街道”也有可能被写成“石家庄广安街道”或“石家庄长安广安街道”或“河北石家庄长安广安街道”等,所以单纯正则表达式就不足以解决这个字段提取的问题了。
我这里进行地址处理的基本思路就是建立一个标准库,对非标准进行分词,然后逐级对地址进行匹配,返回一个标准的三级或者四级的地址(根据需要也可以精确到五级甚至以上),所以地址分词与标准库的建利是进行地址处理的关键。
一、标准库建立:
实现地址处理的关键就是先建立一个标准的地址库,地址库一般到四级就可以了,标准地址库形式如下: