bigdata_舆情项目_开发细节

一.分词UDF编写

分词器

  • c/c++
    • ICTCLAS
  • Java
    • ansj分词(简单易用)
    • hanLP分词
    • mmseg
    • IK分词
    • jieba分词
    • PaoDing分词
    • 天亮分词

二.anjs分词器应用集成

步骤

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

 2.2

ansj分词udf编码与测试:

  • 步骤

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

    1. 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

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

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

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

  • 上述加黑名单的步骤

创建一个停用词表

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

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

三.将hive表推送到mysql中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值