个人学习
服务器后台继续抽取代码片段相关信息,分析stackoverflow代码片段,筛选符合要求的代码片段
1 建立社交网络意义
StackOverFlow平台存在着大量的用户,用户之间通过提问、回答、评论建立联系,那么如何通过这些联系发现我们需要获取的数据信息就变成一个值的研究的问题,通过这些数据我们可以做到:
·通过挖掘某一领域的用户的回答数量和回答得分获得该领域的专家,从而了解该领域的专家排名;
·通过关注某一用户所涉及的领域的多少以及上一步做出的专家排名,我们可以知道该用户的专业覆盖面积以及专业掌握程度,因此当一个HR招聘人员时可以通过该用户的知识程度结合公司的需求决定是否录用该人员;
·通过第一点得到的专家排名,添加上时间维度后,加入这些专家的前20名里面有5个人都在一段时间内迁移到一个新的领域,有可能说明这个新的领域可能即将会火热起来,因此得到技术的发展趋势;
·其它
因此,建立StackOverFlow用户之间的关系网络是有其意义的,又由于官方提供了数据,因此时可行的。
2 进展
在王涛老师的建议下,目前先通过通过帖子将用户进行关联起来,例如当用户A发表一个问题,B以及一批人回答了这个问题,那么A与B之间便通过这个问题建立起了联系,同时,回答这些问题的用户之间也通过帖子建立了联系。这里选择了既在github又在stackoverflow平台的用户作为用户群,以便进行下一步的研究;
平台的用户活跃度不尽相同,因此通过帖子建立起来的关系网络在指定社交距离的前提下每个用户关联的人也不尽相同;
同时存在两个用户通过多个帖子建立起了连接,毫无疑问,这些用户之间的关系肯定相对来说更加紧密一些;
在指定社交距离的前提下,两个用户通过多个帖子建立连接,这个连接可能是毫无意义的,因为这两个人可能本身处于不同的领域,只是通过一个或多个处于多个领域的用户建立起来的联系,这些联系在很大程度上没有意义的。
因此,这里指定了社交距离为一,也就是只寻找那些通过一个帖子直接联系起来的用户。
实验的结果数据表明,如果在通过帖子Id建立用户联系,那么就会存在大量用户之间的联系次数仅仅只有一次的情况,只有少量的用户之间通过多个帖子建立紧密的联系。在建立起的用户关系图中,两个用户平均联系的次数大约是1.069次。
3 下一步规划
由于上一步的结果表明,仅仅通过帖子将用户关联,建立起来的社交网络时一个比较稀疏的网络,因此可以通过指定领域标签来建立用户之间的关系网络。这样建立起来的网络可能会更佳稠密一些。