hanlp中文智能分词自动识别文字提取实例
需求:客户给销售员自己的个人信息,销售帮助客户下单,此过程需要销售人员手动复制粘贴收获地址,电话,姓名等等,一个智能的分词系统可以让销售人员一键识别以上各种信息
经过调研,找到了一下开源项目
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中文智能分词自动识别文字提取实例的更多相关文章
- 【HanLP】HanLP中文自然语言处理工具实例演练
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...
- HanLP分词命名实体提取详解
HanLP分词命名实体提取详解 分享一篇大神的关于hanlp分词命名实体提取的经验文章,文章中分享的内容略有一段时间(使用的hanlp版本比较老),最新一版的hanlp已经出来了,也可以去看看新版 ...
- 全文检索Solr集成HanLP中文分词
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...
- hanlp中文自然语言处理的几种分词方法
自然语言处理在大数据以及近年来大火的人工智能方面都有着非同寻常的意义.那么,什么是自然语言处理呢?在没有接触到大数据这方面的时候,也只是以前在学习计算机方面知识时听说过自然语言处理.书本上对于自然语言 ...
- Elasticsearch:hanlp 中文分词器
HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...
- 全文检索Solr集成HanLP中文分词【转】
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...
- 开源自然语言处理工具包hanlp中CRF分词实现详解
CRF简介 CRF是序列标注场景中常用的模型,比HMM能利用更多的特征,比MEMM更能抵抗标记偏置的问题. [gerative-discriminative.png] CRF训练 这类耗时的任务,还 ...
- 自然语言处理工具python调用hanlp中文实体识别
Hanlp作为一款重要的中文分词工具,在GitHub的用户量已经非常之高,应该可以看得出来大家对于hanlp这款分词工具还是很认可的.本篇继续分享一篇关于hanlp的使用实例即Python调用hanl ...
- Phython智能分词开发
Git/GitHub 一.开发环境安装 1.安装Anaconda 官方下载地址:https://www.anaconda.com/download/ Anaconda自带Flask 2.安装模块/插件 ...
随机推荐
- 解决jsp表达式不能解析的问题
在jsp页面用了表达式,但是出现了表达式不能解析的问题 出现的页面如下 原因:web.xml的版本过低,maven自动生成的web.xml版本为2.3,只有2.3以上的版本才支持表达式 解决方法:改w ...
- day12作业答案
2.1 # lst=['asdgg','as','drtysr'] # lst2=[i.upper() for i in lst if len(i) >3 ] # print(lst2) # 2 ...
- Python 私有
class Person: __qie = "潘潘" # 类变量 def __init__(self, name, mimi): self.name = name self.__m ...
- http头之keep-alive
1.什么是keep-alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT ...
- url的反向解析
1. url的语法格式: url(regex, views, **kwargs, name) name:为地址起别名,反向解析时使用 2.反向解析 对于Django中的url反向解析,是分模板和视图的 ...
- Python 金融数据分析库及相关框架
BackTest框架库: PyAlgoTrade ZipLine 金融数据分析库: pandas
- if-else练习
练习1 import java.util.Scanner; public class V{ public static void main(String[] args){ Scanner s=new ...
- 重新生成ssh
解决码云出现git@gitee.com: Permission denied (publickey). 很久之前好像改了ssh的一些配置,导致现在对git进行一些操作时,就会出现 当时就去百度,结果很 ...
- What is the $ symbol used for in JavaScript
It doesn't mean anything special. But because $ is allowed in identifier names, many Javascript libr ...
- mysqldump命令之single-transaction
=========================================================在mysqldump中指定single-transaction时,会使用可重复读(RE ...