通过余弦相似度实现少量新闻标题聚类效果
最近有个任务需要统计社交网络上综合热度比较高的事件,需要进行少量新闻文本的聚类。
比如将 “上海买菜难不难” 和 “上海买菜非常难” 这两则新闻聚成一类。
因为没怎么学过机器学习,不想耽误太长时间,所以想直接用余弦相似度来判断,简单省事。
直接实现后发现准确率较低,因此重新审视了需求,觉得词性为名词的那些词如果相同的话,有极大的可能是同一类的,毕竟各个平台的热点标题都挺短的,就直接用jieba判断了一下各个词的词性,为名词的话就加个权重,拿50个标题简单验证了下,居然准确率一下子升高到90%以上,自己日常用是没问题了。
代码如下,连找资料带实现,从0开始只用了1个小时,虽然很是简陋,胜在快速实现需求。
import jieba
import jieba.posseg as posseg
import math
# s1 = '上海买菜难不难'
# s2 = '上海买菜非常难'
def similarity(s1,s2):
all_flag = {
}
s1_cut = []
for word in jieba.cut(s1, cut_all=True):
for a, b in posseg.cut(word):
all_flag[a] = b
s1_cut.append(word)
s2_cut = []
for word in jieba.cut(s2, cut_all=True):
for a, b

本文介绍了一种通过余弦相似度和词性判断快速对少量新闻标题进行聚类的方法,以解决社交网络热点事件统计问题。通过添加名词权重,实现了90%以上的准确率,适用于快速实现需求。
最低0.47元/天 解锁文章
605

被折叠的 条评论
为什么被折叠?



