论坛首页 Java企业应用论坛

关于银行行名字符匹配问题

浏览 3596 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-31  
现在有这么个情况:

每个银行都对应着一个交换号: (例: 中国工商银行北京八里庄支行=010200381,中国工商银行紫竹院支行=010200764)

======================================================

但是有些客户做网银时候, 收款行可能输入   工行八里庄支行、北京工行八里庄,工行八里庄分理处 等等... 可能在客户输入的情况一个行对应几十种说法。

我现在怎么通过客户输入的乱七八糟的行名查询我的标准库的交换号?

我现在头皮都破了,  

我现在就是把客户输入的行名保存,  然后人工把对应的交换号填写里面去,(工行八里庄支行、北京工行八里庄,工行八里庄分理处都应该是010200381
   发表时间:2013-05-31  
大中午的没人了 。   这个行我也不敢模糊查询,  几千个交换号
0 请登录后投票
   发表时间:2013-05-31  
贝叶斯算法, google 一下
0 请登录后投票
   发表时间:2013-05-31  
用户输入后,根据输入查询匹配的结果,如果多于一个,列出来,让用户指定一个
0 请登录后投票
   发表时间:2013-05-31  
我们也做过一个 银行录入和简称的匹配问题,也搞了很久,是平安银行的项目,不过我们是采用规则引擎做的,客户也提供了一些思路
0 请登录后投票
   发表时间:2013-05-31  
哈哈,我也遇到这个问题了,这个应该是清结算部门的IT建设遇到的必备问题了。
0 请登录后投票
   发表时间:2013-06-09  
你把所有银行列出来,让客户选不行?
0 请登录后投票
   发表时间:2013-06-17  
分词匹配?
0 请登录后投票
   发表时间:2013-06-19  
1. 系统初始化,把所有标准的银行名称分词
2. 匹配
2.1 净化用户输入的名称,如把工行换成中国工商银行等等
2.2 把用户输入的名称分词
2.3 把词组和每一个标准的词组进行匹配,采用如下算法,然后取相似度最高的。
private double kq = 1.5;  // 可调整
private double kr = 1;    // 可调整
private double ks = 1;    // 可调整

public double similar(List wordsOne, List wordsTwo) {
List list = ListUtils.subtract(wordsOne, wordsTwo);
int s = list.size();
list = ListUtils.subtract(wordsTwo, wordsOne);
int r = list.size();
list = ListUtils.subtract(wordsTwo, list);
int q = list.size();
return (kq*q) / (kq*q + kr*r + ks*s);
}


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics