机学走起第一式:各就各位
机学走起第一式:各就各位
厉力文武 发表于4个月前
机学走起第一式:各就各位
  • 发表于 4个月前
  • 阅读 28
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

    机器学习从数据样本入手,大而全是一方面,样本的质量和规范尤其重要,互联网语言太辜负语文老师的良苦用心了,造字造词错字别字缩略语,输入法说了这锅我不背。好的开始是成功的一半,语料库采用搜狐全网新闻数据,理由是基本覆盖各行各业、新闻稿语法标准而规范、充分具备自然语言的代表性。

    第一步下载,http://www.sogou.com/labs/resource/chkreg.php下载,news_tensite_xml.full.tar.gz压缩包711MB,解压缩后1.75GB;

    第二步转码,执行iconv news_tensite_xml.GB18030 -f GB18030 -t UTF-8 -o news_tensite_xml.UTF-8转码备用;

    第三步提取,<doc><url>页面URL</url><docno>页面ID</docno><contenttitle>页面标题</contenttitle><content>页面内容</content></doc>,从XML块中grep出content行掐头去尾留中段,最终有效样本共计1143529条;

<doc>
  <url>页面URL</url>
  <docno>页面ID</docno>
  <contenttitle>页面标题</contenttitle>
  <content>页面内容</content>
</doc>

    第四步分词,调用分词器对有效样本数据处理后生成词向量可识别输入源文件;

package com.xxx.wdvec;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;

import org.ansj.domain.Term;
import org.ansj.splitWord.analysis.ToAnalysis;
import org.ansj.recognition.impl.FilterRecognition;

public class XxDocs {
	private static final String XX_FSRC = "./dat/sougou.src";
	private static final String XX_FDST = "./dat/sougou.dst";
	private static final String XX_FLTS = "w,wkz,wky,wyz,wyy,wj,ww,wt,wd,wf,wn,wm,ws,wp,wb,wh,null";
	
	public static void main(String[] args) {
		try {
			FilterRecognition flt = new FilterRecognition();
			BufferedReader br = new BufferedReader(new FileReader(XX_FSRC));
			BufferedWriter bw = new BufferedWriter(new FileWriter(XX_FDST));
			
			for (String v : XX_FLTS.split(",")) flt.insertStopNatures(v);
			
			String buf = "";
			while (null != (buf = br.readLine())) {
				String tmp = "";
				for (Term t : ToAnalysis.parse(new String(buf)).recognition(flt)) {
					tmp += t.getName() + " ";
				}
				bw.write(tmp + "\n");
			}
			
			br.close();
			bw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

    第五部学习,启动机器学习沏壶艳茶耐心等待明天见分晓~~~

./word2vec -train sougou.dst -output sougou.vec -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -thread 24 -binary 1
Starting training using file sougou.dst
Vocab size: 332649
Words in train file: 324479936
Alpha: 0.024978  Progress: 0.09%  Words/thread/sec: 16.58k


./word2vec -train sougou.dst -output sougou.cls -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -thread 24 -classes 500
Starting training using file sougou.dst
Vocab size: 332649
Words in train file: 324479936
Alpha: 0.038657  Progress: 1.68%  Words/thread/sec: 17.09k

    预告:《机学走起第二式:预备》之IDF算法与实现, 请勿期待!

共有 人打赏支持
粉丝 28
博文 41
码字总数 57816
×
厉力文武
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: