最最最简单的URL聚类

我们要发现一个富文本中的http链接,发现一些群体行为,获取URL 

第一步:提取http链接  

使用 Jsoup 来做 
Java代码   收藏代码
  1. Document doc = Jsoup.parse(stream.getText())  
  2. Elements links = doc.select("a[href]")  
  3. for (Element element: links) {  
  4.     link = element.attributes().iterator().next().getValue()  
  5.     // link 就是链接  
  6.     println(link)  
  7. }  



第二步:提取向量  
比方说 https://cwiki.apache.org/confluence/display/MAHOUT/Downloads 

cwiki,apache,org,confluence,display,mahout 


第三步:聚类
 
参考 一个基于Mahout与hadoop的聚类搭建  

不要分词了,因为你已经分好词了。 
上面的cwiki, apache, org,confluence,display,mahout都作为filed添加到document里面,就可以了 

聚类是帮你发现群体行为,以及为了后续的文本挖掘做准备工作的 

不要期望太多
要实现前后端分离,我们需要搭建一个后端服务,可以使用Python的Flask框架来实现。 首先,我们需要安装Flask框架。在终端中输入以下命令: ``` pip install flask ``` 接下来,我们需要创建一个Flask应用。在项目文件夹中创建一个名为app.py的Python文件,并输入以下代码: ```python from flask import Flask, request, jsonify from sklearn.cluster import KMeans import numpy as np app = Flask(__name__) @app.route('/cluster', methods=['POST']) def cluster(): data = request.json['data'] k = int(request.json['k']) X = np.array(data) kmeans = KMeans(n_clusters=k) kmeans.fit(X) labels = kmeans.labels_ return jsonify(labels.tolist()) ``` 这个应用包含了一个名为cluster的路由,用于接收POST请求。请求中包含了数据和聚类数量k。应用会将数据转换为NumPy数组,然后使用KMeans进行聚类,最后返回聚类结果。 现在我们需要启动这个应用。在终端中进入项目文件夹,并输入以下命令: ``` export FLASK_APP=app.py flask run ``` 这个命令会启动一个本地的Flask服务器。现在,我们可以使用前端代码向这个后端发送请求,获取聚类结果。 需要注意的是,我们需要在前端代码中使用跨域请求,才能与后端连接。可以使用jQuery的ajax函数来实现跨域请求。以下是一个简单的示例: ```javascript $.ajax({ type: "POST", url: "http://localhost:5000/cluster", data: JSON.stringify({data: data, k: k}), contentType: "application/json", success: function(result){ console.log(result); }, error: function(xhr, status, error){ console.log(error); } }); ``` 在这个示例中,我们向http://localhost:5000/cluster发送POST请求,请求的数据包括数据和聚类数量。我们使用JSON.stringify将数据转换为JSON格式,并将contentType设置为application/json。如果请求成功,服务器返回的结果会在success函数中输出。如果请求失败,错误信息会在error函数中输出。 这样,我们就实现了一个简单的前后端分离的聚类应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值