博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用word2vec对关键词进行聚类
阅读量:6680 次
发布时间:2019-06-25

本文共 1603 字,大约阅读时间需要 5 分钟。

1、收集预料

  • 自己写个爬虫去收集网页上的数据。
  • 使用别人提供好的数据

2、对预料进行去噪和分词

  • 我们需要content其中的值,通过简单的命令把非content 的标签干掉
    cat news_tensite_xml.dat | iconv -f gbk -t utf-8 -c | grep "
    " > corpus.txt

     

  • 分词可以用jieba分词:
    #!/usr/bin/env python#-*- coding:utf-8 -*-import jiebaimport jieba.analyseimport jieba.posseg as psegdef cut_words(sentence):    #print sentence    return " ".join(jieba.cut(sentence)).encode('utf-8')f = open("corpus.txt")target = open("resultbig.txt", 'a+')print 'open files'line = f.readlines(100000)num=0while line:    num+=1    curr = []    for oneline in line:        #print(oneline)        curr.append(oneline)    '''    seg_list = jieba.cut_for_search(s)    words = pseg.cut(s)    for word, flag in words:        if flag != 'x':            print(word)    for x, w in jieba.analyse.extract_tags(s, withWeight=True):        print('%s %s' % (x, w))    '''    after_cut = map(cut_words, curr)    # print lin,    #for words in after_cut:        #print words    target.writelines(after_cut)    print 'saved %s00000 articles'% num    line = f.readlines(100000)f.close()target.close()

     

3、运行word2vec输出每个词的向量

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

    输出为vectors.bin

  • 然后我们计算距离的命令即可计算与每个词最接近的词了:
    ./distance vectors.bin

     

4、现在经过以上的熟悉,我们进入对关键词的聚类:

  • 则只需输入一行命令即可:
    ./word2vec -train resultbig.txt -output classes.txt -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -classes 500

     

  • 然后按类别排序,再输入另一个命令:

    sort classes.txt -k 2 -n > classes.sorted.txt

     

      

 

转载于:https://www.cnblogs.com/xuanweizhang0413/p/5746343.html

你可能感兴趣的文章
Java 锁机制 synchronized
查看>>
《中国人工智能学会通讯》——1.33 基础模型
查看>>
Consensus Attention-based Neural Networks for Chinese Reading
查看>>
Angular-个人整理
查看>>
Beten交易所与市场投资者共同发掘数字资产价值
查看>>
linux 环境变量
查看>>
C#基础知识整理:基础知识(14) 数组
查看>>
Maven多模块项目使用Jenkins分析代码的配置
查看>>
jQery Ajax 执行顺序
查看>>
一篇文章教你看懂Photoshop和Sketch
查看>>
【多图软文】使用Team@OSC进行团队协作
查看>>
阻止文字选中
查看>>
Spring Cloud搭建微服务架构----使用Spring boot开发web项目
查看>>
python 时间格式转化成毫秒
查看>>
java一些需要掌握的知识点
查看>>
CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
查看>>
Redis学习手册 比较全面
查看>>
SpringLDAP-Reference (中文文档四)
查看>>
JQuery上传插件Uploadify使用详解
查看>>
(二)线程同步_6---修改锁的竞争原则
查看>>