word2ver php,根据爬过来的数据进行清洗、调用word2vec实现智能分类

核心特性

1.基于swoole实现爬取数据

2.基于dom实现清洗数据

3.基于word2vec获取词向量

4.基于phpml和样本数据实现推荐

服务启动

需要php以cli模式运行/server/server.php

php server.php start

php server.php stop

php server.php restart

使用方式

1、语料

首先准备数据:采用网上博客上推荐的全网新闻数据(SogouCA),大小为2.1G。

从ftp上下载数据包SogouCA.tar.gz:

wget ftp://ftp.labs.sogou.com/Data/SogouCA/SogouCA.tar.gz --ftp-user=hebin_hit@foxmail.com --ftp-password=4FqLSYdNcrDXvNDi -r

解压数据包:

gzip -d SogouCA.tar.gz

tar -xvf SogouCA.tar

再将生成的txt文件归并到corpus.txt中,大小为2.7G。

cat *.txt > corpus.txt

2、分词

安装gensim前要装python,numpy, scipy, 通过pip list检查

开始安装gensim

sudo pip install gensim

参考文档:http://www.jianshu.com/p/6d542ff65b1e

http://kexue.fm/archives/4316/

文档http://www.jianshu.com/p/6d542ff65b1e上的两个python程序有错误, 我已经改正,内容见python文件

对文件编码格式处理

cat news_tensite_xml.dat | iconv -f gbk -t utf-8 -c | grep "" > corpus.txt

分词

python word_segment.py corpus.txt corpus_seg.txt

3、用word2vec工具训练词向量

nohup ./word2vec -train corpus_seg.txt -output vectors.bin -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -binary 1 &

vectors.bin是word2vec处理corpus_seg.txt后生成的词的向量文件,在实验室的服务器上训练了1个半小时。

4、分析

计算相似的词:

./distance vectors.bin

./distance可以看成计算词与词之间的距离,把词看成向量空间上的一个点,distance看成向量空间上点与点的距离。

执行以下方法

./distancecli vectors.bin 区块

License

如果你对我的辛勤劳动给予肯定,请给我捐赠,你的捐赠是我最大的动力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值