需求:客户给销售员自己的个人信息,销售帮助客户下单,此过程需要销售人员手动复制粘贴收获地址,电话,姓名等等,一个智能的分词系统可以让销售人员一键识别以上各种信息

经过调研,找到了一下开源项目

1、word 分词器

2、ansj 分词器

3、mmseg4j 分词器

4、ik-analyzer 分词器

5、jcseg 分词器

6、fudannlp 分词器

7、smartcn 分词器

8、jieba 分词器

9、stanford 分词器

10、hanlp 分词器

最后选择了hanlp,步骤官网都有,下面演示智能匹配地址

1   List<Term> list = HanLP.newSegment().seg("汤姆江西省南昌市红谷滩新区111号电话12023232323");

2    System.out.println(list);

输出

1   [汤姆/nrf, 江西省/ns, 南昌市/ns, 红谷滩/nz, 新区/n, 111/m, 号/q, 电话/n, 12023232323/m]

大公告成,不过前提必须下载那个600多M的data包并导入,才可以识别地址,否则只是做了初步的识别

附上完整代码

1     String str = "汤姆   江西省南昌市红谷滩新区111号     12023232323";

2     String address = "";

3     String phone = "";

4     String name = "";

5     List<Term> terms = NLPTokenizer.segment(str);

6     System.out.println(terms);

7     for (Term term : terms) {

8         if (term.nature.startsWith("nr")){

9             //nr代表人名

10             name = term.word;

11             System.out.println("name: " + term.word);

12         }else if (term.nature.startsWith("m") && term.word.length() == 11){

13             //m代表数字

14            phone = term.word;

15            System.out.println("电话: " + term.word);

16        }

17    }

18    //由于地址包含了数字,解析的时候数字成为单独的个体,与实际不符,所以通过差集求出地址

19    address = str.replace(phone, "").replace(name, "").trim();

20    System.out.println("address: " + address);

运行结果

1    name: 汤姆

2    电话: 12023232323

3    address: 江西省南昌市红谷滩新区111号

---------------------

作者:qq37755661

hanlp中文智能分词自动识别文字提取实例的更多相关文章

  1. 【HanLP】HanLP中文自然语言处理工具实例演练

    HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...

  2. HanLP分词命名实体提取详解

    HanLP分词命名实体提取详解   分享一篇大神的关于hanlp分词命名实体提取的经验文章,文章中分享的内容略有一段时间(使用的hanlp版本比较老),最新一版的hanlp已经出来了,也可以去看看新版 ...

  3. 全文检索Solr集成HanLP中文分词

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  4. hanlp中文自然语言处理的几种分词方法

    自然语言处理在大数据以及近年来大火的人工智能方面都有着非同寻常的意义.那么,什么是自然语言处理呢?在没有接触到大数据这方面的时候,也只是以前在学习计算机方面知识时听说过自然语言处理.书本上对于自然语言 ...

  5. Elasticsearch:hanlp 中文分词器

    HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...

  6. 全文检索Solr集成HanLP中文分词【转】

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  7. 开源自然语言处理工具包hanlp中CRF分词实现详解

     CRF简介 CRF是序列标注场景中常用的模型,比HMM能利用更多的特征,比MEMM更能抵抗标记偏置的问题. [gerative-discriminative.png] CRF训练 这类耗时的任务,还 ...

  8. 自然语言处理工具python调用hanlp中文实体识别

    Hanlp作为一款重要的中文分词工具,在GitHub的用户量已经非常之高,应该可以看得出来大家对于hanlp这款分词工具还是很认可的.本篇继续分享一篇关于hanlp的使用实例即Python调用hanl ...

  9. Phython智能分词开发

    Git/GitHub 一.开发环境安装 1.安装Anaconda 官方下载地址:https://www.anaconda.com/download/ Anaconda自带Flask 2.安装模块/插件 ...

随机推荐

  1. django本身提供了runserver,为什么不能用来部署(runserver与uWSGI的区别)

    runserver方法是调试django时经常用到的运行方式,它使用django自带的. WSGI Server 运行,主要在测试和开发使用,并且runserver 开启的方式也是单线程. uWSGI ...

  2. python Django rest-framework 序列化步骤

    django-rest-framework,是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包.本文介绍一下 django-rest-framework 的简单 ...

  3. LeetCode--122、167、169、189、217 Array(Easy)

    122. Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price ...

  4. 【Python】unittest-5

    #练习9: import unittest from selenium import webdriver import time class GloryRoad(unittest.TestCase): ...

  5. 跨交换机划分vlan配置

    实验要求:使两台交换机上同一vlan的主机能够通信,不同vlan的主机不能通信 拓扑如下: 涉及内容有: 1.vlan的创建和划分 2.端口trunk模式的设置 配置如下: Switch1 enabl ...

  6. win7快捷方式图标修复

    test.bat ///////////////////////////////////////////////////////////////////////// rem 关闭Windows外壳程序 ...

  7. Excel导入CSV文件中文乱码

    参考: iconv -f UTF8 -t GB18030 a.csv >b.csv 或iconv -f UTF-8 -t GB18030 a.csv >b.csv

  8. select标签(下拉菜单和列表)

    下拉菜单和列表标签: <select> <option value="..." >选项</option> <option value=&q ...

  9. hdu4407 Sum 容斥原理

    XXX is puzzled with the question below: 1, 2, 3, ..., n (1<=n<=400000) are placed in a line. T ...

  10. sql优化学习(一)

    找到一套好的sql优化视频,地址如下: http://www.ppvke.com/10355.html p.s. 我在百度搜索半天都是些乱七八糟的东西,我用google搜索后,立刻就发现上面的视频地址 ...