机学走起第二式:预备

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

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

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

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

                        095555_HR69_1376494.png

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算法与实现, 切勿期待!

转载于:https://my.oschina.net/gonglibin/blog/1504334

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值