文档章节

机学走起第二式:预备

厉力文武
 厉力文武
发布于 2017/08/08 09:59
字数 1491
阅读 34
收藏 1

    昨个立秋,24个节气里排行13,按农历算,一年过了54.16666667%。暑热气慢慢散去了,浮躁的心也该收敛些了,找点正经事做做。语料库准备好了,词向量计算得了,用全网词组生成一份IDF配置表单。这就好比每位大厨都有一份私藏秘制的高汤和酱料,上桌前浇上一勺,米其林餐厅和路边大排档立分高下。

    第一步语料:把机学走起第一式的输出作为当前输入,一个DOC一行,词语间以空格分隔;

中 广 网 唐山 消息 记者 汤一亮 庄胜春 据 中国 之 声 新闻 晚 高峰 报道 今天 上午 公安 机关 枪 制 爆 专项 行动 统一 销毁 非法 枪 爆 物品 活动 在 河北 唐山 正式 启动 非法 枪支 炸药 在 全国 城市 被 统一 销毁 黄明 现在 我 宣布 全国 枪 制 爆 统一 销毁 行动 开始 随着 公安部 副 部长 黄明 一声令下 仿制 式 枪 以及 猎枪 火药 枪 气枪 在 河北 唐山 钢铁 厂 被 投入 炼钢炉 与此同时 在 全国 各省 区 市 城市 破案 追缴 和 群众 主动 上 缴 的 非法 枪支 被 集中 销毁 在 全国 各 指定 场所 炸药 被 分别 销毁 公安部 治安 局 局长 刘绍武 介绍 这次 销毁 的 非法 枪支 来源于 方面 刘绍武 打击 破案 包括 涉 黑 涉 恶 的 团伙 犯罪 毒品 犯罪 还 有 从 境外 非法 走私 的 枪支 爆炸物 在 销毁 现场 记者 看到 了 被 追缴 和 上 缴 的 各式各样 的 枪支 刘绍武 也 包括 制式 枪 有的是 军用 枪 仿制 的 制式 抢 还 有 猎枪 私 制 的 火药 枪 等等 按照 我国 的 枪支 管理 法 这些 都 >是 严厉 禁止 个人 非法 持有 的 中国 是 世界 上 持枪 犯罪 的 犯罪率 最低 的 国家 之一 中 美 联手 破获 特大 跨国 走私 武器 弹药 案 近日 中 美 执法 部门 联手 成功 破获 特大 跨国 走私 武器 弹药 案 在 中国 抓获 犯罪 嫌疑人 缴获 各类 枪支 子弹 及 枪支 配件 在 美国 抓获 犯罪 嫌疑人 缴获 各类 枪支 这 是 公安部 与 美国 移民 海关 执法 局 通过 联合 调查 方式 侦破 重大 跨国 案件 的 又 成功 案例 上海 浦东 国际 机场 海关 在 对 美国 纽约 发 往 浙江 台 州 申报 品名 为 扩音器 音箱 的 快件 进行 查验 时 发现 货物 >内 藏 有 手枪 枪支 配件 长枪 部件 经 检验 这些 都 是 具有 杀伤力 的 制式 枪支 及其 配件 这 引起 了 公安部 和 海关总署 的 高度 重视 公安部 刑侦 局 局长 刘安成 因为 是 >从 海关 进口 的 货物 中 检查 出来 夹带 说明 来源 地 是 境外 或是 说 国外 这 应该 是 一起 特 大 跨国 走私 武器 弹药 的 案件 上海市 公安局 和 上海 海关 缉私 局 成立 联合 专案组 迅速 开展 案件 侦查 专案组 于 在 浙江 台州 取 件 处 将 犯罪 嫌疑人 王挺 男 台州市 人 抓获 王挺 交代 他 通过 境外 网站 上 认识 了 上家 林志 富 以来 林志富 长期 居住 美国 他 通过 互联网 组建 了 走私 贩卖 私藏 枪支 弹药 的 群体 通过 网络 在 国内 寻找 枪支 弹药 买 家 并 通过 美国 联邦 速递 公司 将 枪支 弹药 从 纽约 快递 给 类似 王挺 的 中间人 再 通过 中间人 发送 给 国内 买 家 此案 中 犯罪分子 依托 虚拟 网络 进行 犯罪 交易 隐蔽性 强 涉案人员 使用 的 身份 地址 联系 方式 都 是 虚构 的 侦查 难度 很 大 刘安成 说 此案 体现 了 是 新型 犯罪 特别 是 现代 犯罪 的 新 特点 刘安成 他 不 受 距离 的 限制 经常 是 跨国 跨 境 甚至 是 跨 甚至 国家 这种 犯罪 手法 的 改变 和 >新型 犯罪 的 特点 要求 我们 各国 警方 充分 合作 作者 汤一亮 庄胜春

    第二步统计:用文档总数除以命中数量再取个对数,统计过程缓存在容器中,遍历的时候恒大于零所以未加一,具体看个人实现,提醒注意double数据类型初始化对结果精度的影响,需要说明的是一个词在一篇文章中出现多次仅记录一次,记录多次将导致IDF值误差并进而影响TF-IDF结果;

                        

public class XxIdfs {
	private static final int XX_DOCS = 1294233;
	private static final String XX_FSRC = "./dat/sougou.dst";
	private static final String XX_FDST = "./dat/sougou.idf";
	
	public static class XxCnt {
		public int doc;
		public int num;
		
		public XxCnt (int d) {doc = d; num = 1;}
		public XxCnt (int d, int n) {doc = d; num = n;}
		public XxCnt XxCnt Plus(int d) {return d != doc ? new XxCnt(d, num + 1) : this;}
	}
	
	public static void main(String[] args) {
		try {
			int doc = 1;
			XxCnt cnt = null;
			String buf = new String();
			Map<String, XxCnt > map = new HashMap<String, XxCnt >();
			BufferedReader br = new BufferedReader(new FileReader(CM_FSRC));
			BufferedWriter bw = new BufferedWriter(new FileWriter(CM_FDST));
			
			while (null != (buf = br.readLine())) {
				for (String v : buf.split(" ")) {
					map.put(v, null != (cnt = map.get(v)) ? cnt.XxCntPlus(doc) : new XxCnt(doc));
				}
				++ doc;
			}
			
			for (Map.Entry<String, XxCnt > v : map.entrySet()) {
				// IDF = log(文档总数 / (命中数量 + 1))
				double inv = CM_DOCS / Double.valueOf(v.getValue().num);
				double idf = Math.log(inv) / Math.log(10);
				bw.write(v.getKey() + "\t" + idf + "\n");
			}
			
			br.close();
			bw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

    第三步排序:执行sort sougou.idf -k -n > sougou.idf.sorted,对结果按照IDF值升序排序,这样看着舒服并非强制需要;

的      0.09209855782273137
在      0.15114515682005472
和      0.22887306870431492
了      0.26199822759498903
是      0.26933771591659467
有      0.3015279183694748
为      0.35217018640940767
中      0.35675902275328275
对      0.3712961710547845
(其余显示省略......)

    第四步部署:将结果文件保存至项目配置路径,在启动的时候加载,方便计算TF-IDF终值;

    预告:《机学走起第三式:发射》之TF-IDF算法与实现, 切勿期待!

© 著作权归作者所有

共有 人打赏支持
厉力文武
粉丝 30
博文 86
码字总数 81619
作品 0
朝阳
程序员
私信 提问
自主招生信息拉取项目--zzzs-info-server

zzzs-info-server 是一个自主招生信息拉取项目。 其主要功能包括 爬虫抓取学信网自主招生信息,存入 MongoDB。 Web 页面展示抓取信息 为推送等预备的 API 计划任务式自动抓取信息 配置说明 ...

zsxsoft
2015/07/17
638
0
嵌入式系统定制开发的分层与专业的分类

嵌入式系统这个名词还是比较难以准确定义的,一般把“用于控制、监视或者辅助操作机器和设备的装置”称为嵌入式系统,系统包括一系列软硬件设施等,比如:手机的系统开发(Android、IOS等),...

gunser
05/31
0
0
微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 提取util公用方法

iKcamp官网:www.ikcamp.com 访问官网更快阅读全部免费分享课程:《iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享》。 包含:文章、视频、源代码 第二章:...

iKcamp
2017/10/19
0
0
了解热处理,让你编的程序更加安全、高效...

  莫莫小贴士:点击上方↑↑"UG数控编程"即可免费订阅如此好的数控平台哦!   热处理的作用就是提高材料的机械性能、消除残余应力和改善金属的切削加工性。按照热处理不同的目的,热处理...

UG数控编程
06/26
0
0
iOS实现网易云音乐右上角view跳动效果

效果走起! 链接:https://github.com/xiaojin1123/AnimationDemo.git 第一步还是先添加layer到红色的View上面,然后初始化设置第二和第四的Layer动画,目的是为了让它们的高度减少到原来的0...

MR小锦
08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

通过Docker容器连接代理Wormhole

Wormhole 是一个能识别命名空间的由 Socket 激活的隧道代理。可以让你安全的连接在不同物理机器上的 Docker 容器。可以用来完成一些有趣的功能,例如连接运行在容器本机的服务或者在连接后创...

Linux就该这么学
22分钟前
1
0
从架构到平台, POWER 9处理器最全解读

本文根据IBM中国芯片设计部门高级经理尹文,在「智东西公开课」的超级公开课IBM专场《POWER 9-认知时代的驱动力》 上的系统讲解整理而来。 本次讲解中,尹文老师从内核微架构、总线互连、异构...

Mr_zebra
25分钟前
1
0
openjdk和oraclejdk有什么区别吗?

1.授权协议的不同:OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。 2.Open...

吴伟祥
25分钟前
2
0
c++基类析构函数要声明为virtual的原因

更深层的原因不知道,不过标准规定,如果不声明为virtual,那么将会导致未定义行为。个人测试结果表明,如果不声明为virtual,那么派生类的析构函数将不会得到调用

安非他命
32分钟前
1
0
CentOS 7下protobuf的源码编译安装

protobuf的github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在CentOS 7下编译源码进行安装。 github上有详细的安装说明:https://github.com/...

xtof
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部