首页 > 编程语言 >中文地址智能匹配算法-Java版

中文地址智能匹配算法-Java版

时间:2024-03-29 13:32:44浏览次数:25  
标签:中文 Java ss System address6 println 算法 put out

地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。在政务系统中有许多需要将业务地址关联到标准地址的场景,addresstool致力于解决地址关联匹配算法中的速度和准确性问题。经实测,addresstool的地址关联速度在5000/秒-20000/秒之间(取决于业务地址质量),关联匹配正确率达到98%。

直接上代码案例

        AddressTool ss = new AddressTool();  // 配置数据写入内存
        DataTable data = new DataTable();   // 地址库生产工具
        HashMap<String,String> address6 = new HashMap<>();
        // 以下示例中的key值是addresstool能够识别的key值,
        // 如有其他属性字段,也可添加新的key,搜索出的标准地址也会附带这些信息,比如经纬度、地址标签等
        address6.put("province","东北省");
        address6.put("city","花果山市");
        address6.put("county","水帘洞区");
        address6.put("town","猴王街道");
        address6.put("community","中前社区");
        address6.put("aoi","秦淮绿洲");
        address6.put("alias_aois","别名1#别名2#别名3");  // aoi别名
        address6.put("sub_aoi","北苑");
        address6.put("road","宏运大道");
        address6.put("road_no","2299");
        address6.put("alias_roads","天地大道#金山大道:9#花果山大道:99");  // 道路别名
        address6.put("building","9");
        address6.put("unit","6");
        address6.put("room","1001");
        address6.put("id","777");
        data.addAddressDic(address6);

        // 标准地址库修复,比如用户只有户室级地址,此方法为用户补充楼栋级和aoi级地址,当然,如果用户有自己已经标准化好的地址库,可以省略此方法
        data.addressFix();
        // 将加工好的地址库写入到addresstool中
        data.initData(ss);

        // 万事俱备,我们可以进行地址关联啦
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号北苑9栋"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋6单元1001室"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟北苑9-6-1001"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道花果山大道99号秦淮绿舟北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道99号秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道秦淮绿洲9-6-1001"));

        System.out.println("写入文件");
        AddressFile addfile = new AddressFile();
        addfile.writeAddressFile(ss,"D:\\filepath\\test\\","address.addr");
        System.out.println("写入文件结束");

关联结果打印

在这里插入图片描述

Java源码下载 https://download.csdn.net/download/u011024436/89003246
使用中有问题或者建议,欢迎联系邮箱[email protected]

标签:中文,Java,ss,System,address6,println,算法,put,out
From: https://blog.csdn.net/u011024436/article/details/137135035

相关文章

  • 中文地址分词算法-Java版
    addresstool用于处理中文地址的分词和匹配,采用NLP分词算法进行中文地址分词,在中文地址分词基础上对垃圾地址进行识别,过滤,标记等。根据杂乱的业务地址自动化生成标准中文地址库,并支持随机业务地址关联到标准地址操作,实测速度达到25000条/每秒今天我们测试一下addresstool的......
  • Java:实验三类的继承与派生
    第1关:什么是封装,如何使用封装编程要求根据提示,在右侧编辑器补充代码。定义一个Person类,包含姓名(name)、性别(sex)、年龄(age)等字段;定义一个Teacher类继承Person类,增加职称(pro)、部门(department)等字段;定义一个Student类继承Person类,增加学号(no)、入学时间(enter)、专业(major)等字段;定......
  • 动态规划 选择dp:多重背包+多重背包puls----中专生刷算法
    不了解动态规划和选择dp的同学先看一下这两篇文章动态规划:选择dp及优化01背包问题-CSDN博客动态规划:完全背包问题----中专生刷算法-CSDN博客然后我们来做题普通题+进阶题,图文详解,化零为整的解决多重背包puls问题!!!多重背包输入格式输出格式输出一个整数,表示最......
  • 【LeetCode】LeetCode 547. 省份数量(Java版 什么是并查集)
      ......
  • java.sql.BatchUpdateException: Date truncation: Out of range value for column xx
    报错:java.sql.BatchUpdateException:Datetruncation:Outofrangevalueforcolumnxxxxx原因:xxx列ddl中为stock_num(12,2)数据库值为0.06需要更新为:0.06-0.21就会出现该错误参考:https://www.jb51.net/article/158166.htmhttps://blog.csdn.net/stone_tomca......
  • java毕业设计玩具租借系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着人们生活水平的提升和消费观念的变化,儿童教育和娱乐逐渐成为家庭支出的重要部分。玩具作为儿童日常生活中不可或缺的元素,伴随着孩子的成长,......
  • java毕业设计微社区综合服务疫情防控管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:自新冠疫情爆发以来,社区作为疫情防控的第一线,承担着居民健康监测、防疫物资分配、疫情信息宣传等重要职责。传统的社区疫情防控多依赖人力进行,存在着信息......
  • 【matlab】【2024年】【优化算法】【黑风筝算法】【BKA】【附带论文中英翻译网页版】
            本文创新性地提出了黑风筝算法(BKA),这是一种受黑风筝迁徙和掠食行为启发的元启发式优化算法。BKA集成了柯西突变策略和Leader策略,增强了算法的全局搜索能力和收敛速度。这种新颖的组合在探索全球解决方案和利用本地信息之间取得了良好的平衡。在CEC-2022和CEC-20......
  • java毕业设计无偿献血服务平台(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:无偿献血是一项社会公益活动,对于挽救生命、维护人类健康具有极其重要的意义。然而,在实际操作过程中,献血者往往面临信息不对称、献血地点不便、献血后服务......
  • java毕业设计企业员工自助管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代企业管理中,提高管理效率和员工满意度是企业发展的重要目标。随着企业规模的扩大和管理层次的增加,传统的人力资源管理方式已无法满足快速反应和高效......