利用word2vec对关键词进行聚类

1、收集预料

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

  • 我们需要content其中的值,通过简单的命令把非content 的标签干掉

        cat news_tensite_xml.dat | iconv -f gbk -t utf-8 -c | grep "<content>"  > corpus.txt  
  • 分词可以用jieba分词:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    import jieba
    import jieba.analyse
    import jieba.posseg as pseg
    def 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=0
    while 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 

      

时间: 2024-09-30 02:10:27

利用word2vec对关键词进行聚类的相关文章

利用模拟退火提高Kmeans的聚类精度

利用模拟退火提高Kmeans的聚类精度 Kmeans算法是一种非监督聚类算法,由于原理简单而在业界被广泛使用,一般在实践中遇到聚类问题往往会优先使用Kmeans尝试一把看看结果.本人在工作中对Kmeans有过多次实践,进行过用户行为聚类(MapReduce版本).图像聚类(MPI版本)等.然而在实践中发现初始点选择与聚类结果密切相关,如果初始点选取不当,聚类结果将很差.为解决这一问题,本博文尝试将模拟退火这一启发式算法与Kmeans聚类相结合,实践表明这种方法具有较好效果,已经在实际工作中推广使

分享如何利用热门电视剧关键词大量引流

今天教大家如何利用热门电视剧去吸引流量,但是在说这个之前我们的说回关于SEO的一些事情.SEO是一门易学难精的职业技能,要说的简单,我可以洋洋洒洒写个上W字没问题;可是要说困难,其实也就是"站内优化,站外优化"这8个字就可以概括.但是最重要的核心,本人觉得是关键词,选好了关键词就是事半功倍.好了,回到我们说的人们电视剧. 首先我们要明确的知道,电视剧有分两种,一种是网剧,一种是可以在各大电视台播放的电视剧.知道这点很重要,网剧和电视剧查看数据的方式不一样,分析方法也并不一样. 跟着一步

利用python爬虫关键词批量下载高清大图

前言 在上一篇写文章没高质量配图?python爬虫绕过限制一键搜索下载图虫创意图片!中,我们在未登录的情况下实现了图虫创意无水印高清小图的批量下载.虽然小图能够在一些移动端可能展示的还行,但是放到pc端展示图片太小效果真的是很一般!建议阅读本文查看上一篇文章,在具体实现不做太多介绍,只讲个分析思路. 当然,本文可能技术要求不是特别高,但可以当作一个下图工具使用. 环境:python3+pycharm+requests+re+BeatifulSoup+json 在这里插入图片描述这个确实也属实有一

日志和告警数据挖掘经验谈——利用日志相似度进行聚类,利用时间进行关联分析

摘自:http://www.36dsj.com/archives/75208 最近参与了了一个日志和告警的数据挖掘项目,里面用到的一些思路在这里和大家做一个分享. 项目的需求是收集的客户系统一个月300G左右的的日志和告警数据做一个整理,主要是归类(Grouping)和关联(Correlation),从而得到告警和日志的一些统计关系,这些统计结果可以给一线支持人员参考. 得到的数据主要分为两部分,一部分是告警的历史数据,这部分数据很少,只有50M左右,剩下的全部都是日志数据.日志数据大概有50多

利用中文数据跑Google开源项目word2vec

word2vec注释 1.多线程并行处理: 1.分配内存空间,创建多线程,执行多线程.malloc,pthread_create,pthread_join 2.每个多线程处理的训练文档根据线程id,分配不同的文档内容,由fseek定位 2.vocab相关: 1.每个vocab对象都含以下内容:词(char[]),词频(long long),词在哈夫曼树中的父节点们(可以理解为编码的次序)(int*),哈夫曼编码(char*),哈夫曼码长度(char) 2.获取vocab词典有两条路径: 1.是从

重磅︱文本挖掘深度学习之word2vec的R语言实现

笔者寄语:2013年末,Google发布的 word2vec工具引起了一帮人的热捧,大家几乎都认为它是深度学习在自然语言领域的一项了不起的应用,各种欢呼"深度学习在自然语言领域开始发力 了". 基于word2vec现在还出现了doc2vec,word2vec相比传统,考虑单词上下文的语义:但是doc2vec不仅考虑了单词上下文的语义,还考虑了单词在段落中的顺序. 如果想要了解word2vec的实现原理,应该读一读官网后面的三篇参考文献.显然,最主要的应该是这篇: Distributed

word2vec词向量训练及中文文本相似度计算

本文是讲述如何使用word2vec的基础教程,文章比较基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python下载地址:http://radimrehurek.com/gensim/models/word2vec.html 1.简单介绍 参考:<Word2vec的核心架构及其应用 · 熊富林,邓怡豪,唐晓晟 · 北邮2015年> <Word2vec的工作原理及应用探究 · 周练 · 西安电子科技大学

[分词]Java开源中文分词器ANSJ_SEG初次试用

近日需要对大众点评网60万+的景点评论进行语义分析,所以必须使用分词工具,刚刚开始时我是选择使用NLPIR汉语分词系统(又名ICTCLAS2014),NLPIR的教程在[分词]NLPIR/ICTCLAS2014分词系统的C++ API 在Windows下初次使用,但是直观上感觉分词效果不怎么理想,所以就选用了另一个工具,同学推荐我用一下ANSJ的中文分词,近来也是在学Java,所以对于java的jar包还是挺能接受的,不像dll的那么烦,在Eclipse直接把包加入classpath是一个很简单

[python] 使用scikit-learn工具计算文本TF-IDF值

在文本聚类.文本分类或者比较两个文档相似程度过程中,可能会涉及到TF-IDF值的计算.这里主要讲述基于Python的机器学习模块和开源工具:scikit-learn. 希望文章对你有所帮助,相关文章如下: [python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒 Python简单实现基于VSM的余弦相似度计算 基于VSM的命名实体识别.歧义消解和指代消解 [python] 使用Jieba工具中文分词及文本聚类概念 目录: 一.Scikit-learn概念 1.概念知识 2