Compare commits

...

2 Commits

Author SHA1 Message Date
1545a85b09 输出风险分析 2024-10-18 19:35:26 +08:00
115d95bbef udpate README.md 2024-10-18 18:38:32 +08:00
2 changed files with 10 additions and 0 deletions

View File

@@ -34,6 +34,12 @@
对于旧数据:有风险分类信息,但在本轮聚类中没有被选为聚类代表的新闻,**不会** 被更新风险分类信息。
## 关于数据聚类算法的说明
文本向量是维度为 1024 的 float16 一维数组。向量之间使用 cosine 距离计算相似度。
由于聚类的目的是去重,因此 DBSCAN 是比较合适的算法。目前指定使用参数 EPS=0.25 最小聚类数量 2。基本上有 2 条重复的或者语义相似的新闻都可以识别到同一个聚类中。
## 重复数据说明
由于新闻洗稿、转载、抄袭等原因,可能会出现同一篇新闻在多个平台发布的情况。牛媒数据中台把他们当作不同的新闻对待(拥有不同的 ID。聚类算法可以从语义信息层面识别到这些重复新闻包括完全重复和语义相似并把他们归为一类。

View File

@@ -118,6 +118,8 @@ async def batch_risk_analyze(
task.response = await risk_analyze(task, model)
queue.task_done()
bar.update(1)
if bar.n % 100 == 0:
print(f"已完成 {bar.n} 条风险分析")
async def producer():
for task in tasks:
@@ -131,6 +133,8 @@ async def batch_risk_analyze(
await queue.put(None)
await asyncio.gather(*workers)
print("风险分析完成")
return tasks