机器学习spark ml提取文章关键词特征并聚类word2Vec+KMeans

该博客介绍了如何利用Spark ML库的word2Vec进行文本特征提取,接着结合KMeans算法对文章进行聚类,以实现关键词的自动分类。文章提到了训练模型、数据分类以及可能的优化步骤,最终目标是形成清晰的主题类别,如体育、游戏、生活和艺术等。整个过程基于最新的Spark机器学习库,而非mllib。
摘要由CSDN通过智能技术生成

 1.取英文文章数据,训练成模型,就是特征向量,用word2Vec。

 2.然后用这个模型,去将新数据,或者老数据进行分类。

 3.效果非常好的话,会形成类似:体育、游戏、生活、艺术等类别。

 4.所用为最新的spark ml,不是mllib。

 5.中间可以自己加一些去除停用词,结果优化,格式化输出等。

    val conf = new SparkConf().setMaster("local[2]").setAppName("word2vec_test03")
    var sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)

    val path = "D:\\part-00000"
    val rdd = sc.textFile(path)
//    import scala.collection.JavaConverters._
//    val stopWords = sc.textFile("stop_words_eng.txt").collect().toSeq.asJava
//    val filter = new StopRecognition().insertStopWords(stopWords)
//    filter.insertStopNatures("w", null, "null")

    val splitWordRdd = rdd.map(_.split(",")).filter(_.size>1).map(x => {
      (x(0), x(1))
    })
    //splitWordRdd.foreac
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Word2Vec是一种用于生成词向量的算法,它可以将单词映射到一个高维空间中的向量表示。这些向量可以捕捉到单词之间的语义和语法关系。在引用\[2\]中提到的例子中,Word2Vec生成了一个词典文件和一个向量文件。词典文件记录了出现过的词汇以及它们的出现次数,而向量文件则包含了每个词汇的向量表示。 K-means聚类是一种常用的无监督学习算法,它可以将数据点划分为不同的簇。在使用K-means聚类时,我们可以将Word2Vec生成的词向量作为输入数据,然后将这些向量划分为不同的簇。这样可以帮助我们发现具有相似语义的单词。 在引用\[3\]中的代码示例中,wordsCluster函数接受一个文本路径和一个词向量大小作为参数。它首先读取文本文件中的内容,并将每个单词存储在一个列表中。然后,它使用Word2Vec算法将这些单词向量化,并将词向量保存在一个文本文件中。最后,它调用K-means聚类算法将词向量划分为不同的簇。 综上所述,Word2Vec和K-means聚类可以结合使用,通过将单词向量化并进行聚类,来发现具有相似语义的单词。 #### 引用[.reference_title] - *1* [利用word2vec实现关键词聚类](https://blog.csdn.net/orangefly0214/article/details/90518229)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【数据挖掘实战】——使用 word2vec 和 k-mean 聚类寻找相似城市](https://blog.csdn.net/lxwssjszsdnr_/article/details/127756337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [5-21 利用word2veckmeans对词语进行聚类处理](https://blog.csdn.net/weixin_46400833/article/details/117110246)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值