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“

最后成功的配置如下:
MapReduce第三次实验
MapReduce第三次实验

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模拟实现微博热点词汇抓取

上一篇:第三课 Flask模板、flask-bootstrap


下一篇:echarts简单使用