根据文章内容匹配用户

数据挖掘 机器学习 算法 推荐系统
2022-02-26 14:37:32

我的数据库中有用户,我想根据那里文章的内容进行匹配或分组。我似乎无法找到今天如何解决这种问题。任何建议都会有所帮助。

可用数据:

1)每个用户的帖子(他们写的任何东西,比如博客)。

2)每个帖子的标签(用户在创建帖子时为其提供的标签)

目标:

1) 根据可用数据匹配/分组用户。

2) 产生匹配百分比。

试图:

我根据他们标签的完全匹配数来匹配人。

示例:user1 拥有 [car,honda,sports],user2 拥有 [car,food]。

这将给出 33% 的匹配。

正如您所想象的那样,这不是很好。大多数用户有 20 个标签,但即使他们在谈论类似的事情,通常也会得到 0% 的匹配百分比。

问题:

CAR 和 HONDA 等具有明确关系的标签不匹配。

问题:

如何根据标签或文章的内容匹配/分组用户?

1个回答

一种方法是应用词嵌入进行语义相似性检查。word2vec 模型生成可以捕获语义相似性的特征向量。例如,最接近的向量car将是honda, ferrari, vehicle, bike使用来自维基百科转储或谷歌发布的大量数据训练模型。它具有高质量的向量。Gensim有一个很好的 word2vec 实现

对于每篇博客文章,通过删除停用词和词干来预处理数据。从结果词中,收集更频繁的词。对所有文章执行此操作,并检查其他文章中的常用词之间的相似性。这样,一篇频繁词文章在频繁词car, race, tournament, ferrari, F1文章中的向量就会更接近bike, honda, racer

或者其他方法是在标签本身中寻找相似的向量。玩一段时间是件好事,这样您就可以了解哪些功能更适合您拥有的数据集。