找出VK用户的年龄或社交图还能显示什么

“告诉我你的朋友是谁,我会告诉你你是谁。”
欧里庇得斯480-406 BC e。

很长一段时间以来,我都将API VK视作洗衣机上的猫。我被一次机会吸引到了最大的社交网络之一的机会,这深深地吸引了我,这被渗透到我们生活的许多领域。 问题一旦产生,是否有可能通过社交网络用户的社交圈来确定他的年龄?




对于那些想知道隐藏年龄的人来说,以前有一个小技巧。 您只需要按人员使用搜索,指定狭窄的参数,以使所需的配置文件进入SERP,然后使用二进制搜索来确定年龄范围。 或事实证明​​,联系信息突然表明毕业年份。 而且您不需要编写任何脚本。 但是隐藏的年龄和间接信息可能会失真,而且最重要的是,本文仍然不是关于如何获取更多个人信息。 本文建议分析社会图的方面之一。

考虑个人档案连接时想到的第一件事:让我们看看同学和同学的年龄,在大多数情况下,该用户的年龄为+-1岁。 为此,感谢普及中学教育。 只有一个警告:确定同学。 毕业所花费的时间越多,我们越开始以更多的斑驳圆圈旋转。 学校的朋友似乎是前世,而现在,他们在大量的新朋友中几乎是无法察觉的。 成熟年龄的人的个人资料是否可能以某种方式了解他们所研究的学科,从而近似年龄?

因此,让我们看一下确定用户年龄的任务,即确定同学和同学的子集。 也就是说,我们假设他的朋友中有一定数量的同学,他们的年龄大约对应于个人资料的年龄。 当然也有例外,但很少见。 一个人从一个钟头到另一个钟头上学已有10年的时间,在此期间,已经建立了许多跨社会联系。 简而言之,每个人都互相认识,而在这种社会纠缠中的年龄扩散很小。 将来,通常当一个人加入其他团体时,无论是工作,体育活动还是兴趣俱乐部,他们中传播的年龄都是很重要的。 基于这种差异,我们将尝试确定必要的社会群体。

让我们与许多朋友一起查看VK配置文件之一。 我们将使用friends.get查询获取用户的朋友列表。 我们将只考虑具有指定年龄的配置文件,并将它们以直方图的形式按年放置在时间轴上。 如何将许多朋友分成年限间隔有些细微差别。 毕竟,我们要确保同学输入一个间隔,并且不会分散到两个相邻的间隔中。 通过实验发现,最好在秋季打破年份,因此出生日期在黄色季节的用户会立即进入两个相邻的时间间隔。 也就是说,从9月到11月的15个月间隔以12个月为增量。

oX是用户的年龄,oY是属于给定时间间隔的用户数。

我们观察到五年的稳定期,每年最多的朋友数量。 在这5年中找不到一群同龄人一点也不明显。 实际上,这种情况并不典型。 同学/同学的出生年份更多是由其他朋友引起的。 但是,让我们在一个困难的情况下为每个用户找到年度组内的友谊与与原始用户的其他朋友的联系数量(我们确定年龄)之间的比率。 然后我们将这一指标平均每年。 我们称其为标准化的连通性系数。

oX是用户的年龄,oY是给定时间间隔的标准化连接系数。

情况发生了变化,领导人只有一年的时间。 年龄一致的团队在其中占有很大的份额,因此我们有权期望由于用户是其中的一部分,因此他的年龄也差不多。 但是,如果这个集体中的某个人扮演某些特殊角色,例如不是同学,而是老师,该怎么办? 确实,对于教师/培训师而言,可能存在在较窄的年龄段内具有高联系密度的亚组。 如果在选择一个组时,如果连接组没有足够的连通性,而组之间的连接年龄不是最高,而是年龄最高,则可以部分解决这种情况。 换句话说,使用这样的逻辑:人生道路上的一个人必须首先是一名普通学生,然后才在“年龄相同的团队”中扮演杰出的角色。

更详细的描述和一些公式
用数字表示对图形现象的快速表达。 令F0表示为其计算年龄的用户的朋友集合。 Fi-任何个人资料的许多朋友。 Fi,y是在年间隔y中具有指定出生日期的个人档案朋友的集合。 那么i,y是区间的轮廓i的连接


y是所有配置文件在时间间隔y中的非标准化连通性系数:


最后,理想的出生年份:



还有一个想法可以考虑此连接或该连接属于哪种类型。 如果连接类型是学校或大学的朋友,则考虑增加体重。 而且,如果是同事,亲戚和其他所有类型的人,那么通常不要考虑这种关系。 但是,如果使用下载此类信息的请求,则等待时间将增加5倍。此外,指定连接类型并不是一种流行的做法,因此决定仅针对很少朋友的配置文件请求此类信息。

根据上述算法,可以确定确定年龄的方法的适用性的自然限制。 如果用户在上学期间没有怀旧之情,并且没有同班同学的朋友,那么我们必须使用另一种方法。

如何在商业中尝试这种混乱? 在VK小组“时代算命先生”中实施了漫画服务。 如果使用上述算法在未封闭的VK配置文件中删除指向其的链接,那么友好的bot将失去年龄。

服务如何安排
算命先生工作中的第一个链接是VK小组的消息机制。 在组设置中,回调API连接到其自己的服务器。 作为发送的事件类型,选择“传入消息”。 这样,组消息就变成了我们服务器上的请求。 如果您不是像我这样的前端朋友,那么这是一个超级选择。 然后,从服务器调用VK API,其中users.get请求有关配置文件的请求,而friends.get用于具有已知出生日期的配置文件的朋友。 它们的实现需要访问令牌VK应用程序。 我没有使用要求确认用户权限的请求,以免给人们带来访问权限请求。 在估算出年龄之后,形成对来自该组的请求的响应,算命用户在对话框中看到答案。 便宜又开朗。

至于改进算法本身,没有什么可以阻止您走得更远,从具有指定年龄的个人资料中收集训练数据集,并根据个人资料朋友之间例如年龄图的邻接矩阵来训练回归模型。 我确信,如果样本足够大,结果将比启发式方法更为准确。 如前所述,我很想检查基本概念,因此我不打算朝这个方向发展。

最后,我想谈谈道德方面。 我认为,“时代算命先生”处于私人生活的边缘,但仍未跨越,因为它使用开放数据进行分析。 因此,实际上,对于具有隐藏配置文件的用户,该服务将不起作用。

有一种感觉,像搜索引擎SearchFace这样的各种“年龄算命先生”只是社会透明世界的最初标志。 在某种程度上,这可以称为回归基础。 长期以来,人类存在于每个人都相互看见的小社会中。 公开的声誉是社会监管机制不可或缺的一部分。 是的,只有现在才在全球范围内,新工具将逐步使人们重新进行社交互动成为可能。 是的,像任何工具一样,它可能会有害。 我需要让所有人都能使用它们吗? 我不知道 但是我敢肯定,如果只有少数人可以使用这种工具,那么建设性使用的平衡肯定不会改变。

Source: https://habr.com/ru/post/zh-CN447992/


All Articles