MapReduce第三次实验

倒序索引

注意点:

  1. StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r)。
  2. nextToken()是 StringTokenizer 类下的一个方法
  3. while (st.hasMoreTokens()) // 判断是否已经到结尾

TopN和倒排索引

成绩排序

Configuration config=new Configuration();
//这句话要早点写,否则没用
config.set(KeyValueLineRecordReader.KEY_VALUE_SEPERATOR,",");

// 设置输入格式,一共有三种格式
job.setInputFormatClass(KeyValueTextInputFormat.class);
// 输出结果保留一位小数
String.format("%.1f", key.getChinese())

Hadoop—MapReduce练习(数据去重、数据排序、平均成绩、倒排索引)

HanLP

HanLP Java 配置和初步使用

properties的路径要配置好,我把data的文件方resource就没报jdk的错了,奇怪!!

官网
github

『NLP自然语言处理』中文文本的分词、去标点符号、去停用词、词性标注
java_利用hanlp对文件“三国演义(罗贯中).txt”进行分词,去掉标点符号和停用词, 最后统计词频,排序输出到文件“三国演义词频.txt“

最后成功的配置如下:
在这里插入图片描述
在这里插入图片描述

HanLP-JAVA的Demoi

  • 分词以后的结果类似这种
[3823890201582094/m, 	/w, 今天/t, 我/rr, 约/d, 了/ule, 豆浆/nf, ,/w, 油条/nf, 。/w, 约/d, 了/ule, 电饭煲/n, 几/d, 小时/n, 后/f, 饭/n, 就/d, 自动/d, 煮/v, 好/a, ,/w, 还/d, 想/v, 约/d, 豆浆机/nz, ,/w, 让/v, 我/rr, 早晨/t, 多/a, 睡/v, 一/m, 小时/n, ,/w, 豆浆/nf, 就/d, 自然/n, 好/a, 。/w, 起床/vi, 就/d, 可以/v, 喝/vg, 上/f, 香喷喷/z, 的/ude1, 豆浆/nf, 了/ule, 。/w, 
/w, 3823890210294392/m, 	/w, 今天/t, 我/rr, 约/d, 了/ule, 豆浆/nf, ,/w, 油条/nf, 
/w, 3823890235477306/m, 	/w, 一会儿/mq, 带/v, 儿子/n, 去/vf, 动物园/n, 约/d, 起/vf, ~/w, 
/w, 3823890239358658/m, 	/w, 继续/v, 支持/v]

这个/w是标注的词性:
分词结果包含词性,每个词性的意思请查阅《HanLP词性标注集》

TF:
词频(term frequency,TF),表示词在一篇文档中出现的频率=词在该文档中出现的次数 / 该文档中单词的总数—TF越大,表示该词对文档越重要

DF:
文档频率 (document frequency),一个词在多少篇文章中出现过

HanLP Demo(学习笔记)

最全中文停用词表整理(1893个)

主要实现参考这个:
MapReduce使用TF-IDF模拟实现微博热点词汇抓取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42955958

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值