学习Hadoop 实现TF-IDF 算法,使用的是CDH5.13.1 VM版本,Hadoop用的是2.6.0的jar包,Maven中增加如下即可
1 | <dependency> |
代码如下:
1 | package top.eviltuzki.tfidf; |
整体实现算是比较简单,第一个MR计算idf,map是统计每个文档出现过的词,都记成1次,然后reducer统计所有的,这样就得到了每一个词的idf了
公式是idf=log(总文章数/(词出现的文章数+1))
第二个Map就计算tf ,既然得到了TF就直接将Tf-IDF一起计算了。。可是读idf的结果。。没找到好办法,直接写死了。。计算idf的总文章数也是笨的直接写死了 = =!
以后学会了怎么处理再改吧。。
读取文件的样本比较简单,经过简单处理,一行是一个新闻,进行了简单的分词处理,标点符号还有单个汉字之类的就直接过滤掉了(程序中有)
1 | 隐瞒 外星人 存在 受 质疑 ? 或 掌握 地外文明 搜狐 据 国外 媒体 报道 , 美国 国家 航空 航天局 ( ) 在 公众 眼中 是 一个 神秘 存在 , 该 机构 负责 太空 计划 并 拥有 最 先进 的 航空 航天 技术 , 不过 随着 太空 探索 的 不断 加深 , 公众 对 它 的 疑虑 也 日 益 俱 深 , 并 认为 他们 早已 与 外星人 有 了 联系 但 并 未 公开 。 公众 质疑 隐瞒 了 外星人 消息 世界 上 有 一些 机构 或者 组织 , 因 其 承担 的 工作 之 重要 , 以及 需要 的 专业 知识 之 精深 , 在 公众 眼中 总是 蒙 着 一 层 神秘 的 面纱 。 而 它们 对 公众 的 世界观 影响力 之 强 也 超乎 想象 。 美国 国家 航空 航天局 ( 简称 ) 就是 其中 一个 典型 的 例子 。 是 美国 负责 太空 计划 的 政府 机构 , 总部 位于 华盛顿 哥伦比亚特区 , 拥有 最 先进 的 航空 航天 技术 , 参与 了 美国 阿波罗 计划 、 航天飞机 发射 、 太阳系 探测 等 航天 工程 , 为 人类 探索 太空 做出 了 巨大 贡献 。 然而 伴随 着 太空 探索 深度 的 扩大 , 公众 对 它 的 疑虑 也 与 日 俱 深 。 公众 质疑 : 他们 早已 与 外星人 取得 了 联系 , 但 一直 没有 公开 美国 气象学家 斯考特 ・ 斯蒂文斯 日前 指责 美国 国家 航空 航天局 向 公众 隐瞒 了 许多 由 太阳 轨道 望远镜 传回 地球 的 资料 , 其中 包括 有 可能 是 “ 外星 生命 ” 的 信息 。 这 成为 不曾 间断 的 对 质疑 的 又 一个 新鲜 声音 。 太阳 轨道 望远镜 是 一 项 由 美国 国家 航空 航天局 和 欧洲 空间 局 实施 的 联合 研究 计划 。 目前 , 其 所 处 位置 距离 地球 约 万 公里 , 主要 对 太阳 的 爆发 情况 、 太阳 表面 喷 出 物质 和 太阳 附近 的 彗星 进行 拍照 。 到 现在 为止 , 该 望远镜 拍摄 的 照片 数量 已 高达 数 万 张 。 其中 一些 据称 出现 了 “ 不明飞行物 ” 的 身影 。 但 要么 对 其 避而不谈 , 要么 就 解释 说是 数字 图像 在 传回 地球 的 过程 中 出现 了 差错 , 才 导致 照片 中 出现 奇特 的 物体 。 但 斯考特 ・ 斯蒂文斯 指出 , 通过 分析 望远镜 传回 地球 的 所有 照片 资料 , 他 发现 在 不同 年份 拍摄 的 照片 上 都会 出现 完全 相同 的 不明 物体 。 斯考特 ・ 斯蒂文斯 由此 断言 , 如果 这些 不明 物体 仅仅 是 偶然 的 干扰 因素 ( 如 宇宙 尘埃 或 残留 的 太阳 粒子 等 ) 造成 的 , 那么 它们 的 形状 和 尺寸 就 不 可能 总是 完全 一样 。 他 表示 这 有 可能 表明 在 太阳 的 周围 经常 有 不明飞行物 光顾 , 并且 不只 一 艘 , 而是 一个 完整 的 编队 。 “ 外星人 ” 正在 以 太阳 为 客体 开展 试验 , 并 试图 影响 太阳 的 活动 情况 。 其实 , 的 使命 和 愿景 当中 就 蕴含 了 “ 寻找 地 外 生命 ” 和 “ 星际 移民 ” 的 内容 。 而 长期 以来 , 都 有 科学家 和 普通 公众 质疑 对 公众 隐瞒 了 有关 地外文明 的 真相 , 更 有 人 指出 , 早已 与 “ 外星人 ” 取得 了 联系 , 但 出于 种种 原因 一直 没有 公开 。 年 发生 在 美国 的 阿诺德 空中 遭遇 飞碟 案 和 罗斯威尔 飞碟 坠毁 案 以及 此后 由 美国 军方 领导 的 专门 调查 现象 的 “ 蓝皮书 计划 ” 、 “ 号志 计划 ” 、 “ 新墨西哥州 怀特 沙漠 试验场 计划 ” 等 研究 活动 , 开创 了 现代 研究 的 新纪元 。 多年 来 全球 各地 收到 的 目击 案例 已 超过 万 起 , 其中 有数 十万 起 是 无法 用 自然 和 物理 现象 做出 合理 解释 的 , 人们 怀疑 它 是 一 种 超越 人类 文明 的 外星 智慧 生命 所为 。 美国 国家 射电 天文台 和 国家 航空 航天局 从 年 开始 进行 微波 监听 宇宙 文明 的 “ 奥兹 玛 计划 ” 和 “ 赛克 洛普 计划 ” 。 年月 和 年月 , 美国 先后 发射 了 先驱者 号 、 号 [| 宇宙 飞船 |] , 携带 地球人 给 外星人 的 一 封 自荐信 , 当中 镌刻 着 地球 和 太阳系 在 银河系 的 位置 , 地球人 男人 和 女人 的 形象 , 以及 表示 宇宙 间 最 丰富 的 物质 氢 的 分子 结构图 , 寄望 外星人 截获 此 信 。 到 深 空 去 探测 “ 地外文明 ” 的 存在 ? 时至 今日 , 已经 发展 成为 雇员 人数 约 万 的 大型 机构 , 年度 经费 超过 亿 美元 。 在 其 推进 的 众多 高 精 尖 项目 中 , “ 深 空 网络 ” 是 近期 的 一 大 热点 。 那么 , “ 深 空 网络 ” 到底 为 何物 ? 深 空 网络 ( , ) 是 一个 支持 星际 任务 、 无线电 通信 以及 利用 射电天文学 观察 探测 太阳系 和 宇宙 的 国际 天线 网络 , 它 是 地球 上 最大 也 是 最 敏感 的 科学 研究 用途 的 通信 系统 。 目前 深 空 网络 由 三 处 呈 度 分布 的 深 空 通信 设施 构成 , 一 处在 美国 加州 的 戈尔德斯通 , 处于 巴斯托 市 附近 的 莫哈维沙漠 之 中 ; 一 处 位于 西班牙 马德里 附近 ; 另 一 处 位于 澳大利亚 的 堪培拉 附近 。 这种 安排 使得 可以 连续 观察 地球 的 自转 的 过程 。 深 空 探测 的 一个 重要 用途 , 便 是 探索 地外文明 的 存在 。 分享 |
Maven 打包之后运行
命令如下:
1 | hadoop jar learn-1.0-SNAPSHOT.jar top.eviltuzki.tfidf.App /user/zj/tfidf/allcontent /user/zj/tfidf/jaroutput /user/zj/tfidf/finaloutput |
输出结果就简单看一下吧 = =
1 | [cloudera@quickstart tfidf]$ hadoop fs -cat /user/zj/tfidf/finaloutput/part-m-00000 |grep -v E| sort -k2 -rn |head -n 20 |
也不知道为啥会出现重复的,个人想法应该是多篇文章中统计出来的吧。。。但是分值都一样- -有点。。。额。。也许是重复的新闻也说不好。。。