数据分析项目开发细节

本文介绍了如何使用各种分词工具如ansj、jieba等进行中文分词,并展示了如何在Hive中实现UDF进行分词过滤。同时,探讨了将Hive表数据推送至MySQL的过程,涉及数据预处理、停用词表的构建以及关键词提取。此外,还讨论了如何基于这些技术进行大数据分析中的信息抽取与标签生成。
摘要由CSDN通过智能技术生成

一.分词UDF编写

分词器

c/c++
ICTCLAS
Java
ansj分词(简单易用)
hanLP分词
mmseg
IK分词
jieba分词
PaoDing分词
天亮分词
二.anjs分词器应用集成

步骤

创建maven项目,导入hadoop-cli依赖,ansj依赖jar包
创建一个类,
指定要分词的句子
采用nlp分词,具备(用户自定义词典/数字识别/人名识别/机构名识别/新词发现)功能
将分词结果返回给一个Term类型的集合变量
遍历分词完成的集合,用stringbuilder保存,词之间用'\001'分割:先new一个stringbuilder对象,并定义一个标记变量初始为0,每循环一次,标记++,并且把词append到stringbuilder里,如果不是第一次就再加一个'\001'
最后输出汇总
 2.2

ansj分词udf编码与测试:

步骤

新建一个udf类继承UDF
重写evaluate方法,入参为字符串
边缘检测:如果输入为空,则直接返回空即可
采用nlp分词Result result = NlpAnalysis.parse(输入的字符串);
再次边缘检测
将分词结果集合返回给变量itemList
存储每次分词完成后的词序列集合,词之间以'\001'分隔
最后可输出可封装
上述加白名单的步骤

evaluate方法,入参增加一个string类型的白名单字符串一般多为名词

ing,n,nr,nr1,nr2,nrj,nrf,ns,nsf,nt,nz,nl,ng,nw,v,vd,vn,vf,vx,vi,vl,vg,a,ad,an,ag,al

方法里选用hashset来去重将在脚本里添加的词性白名单字符串,并且定义一个public 的布尔值来标志这个过程,因为白名单set的生成一次就够了

生成白名单set,先用split将字符串分成数组,遍历加入set

遍历分词结果termList时,判断分词contains在set里吗,在就加入结果,不在不管

上述加黑名单的步骤

创建一个停用词表

将停用词集合加入停用词表

在生成倒排表时,通过左连接,再选择右表为空来过滤掉停用词

三.将hive表推送到mysql中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值