Coder Social home page Coder Social logo

sns2group's Introduction

石墨相关文档: 思路说明:https://shimo.im/docs/XC4lffh8xE0eAN2Q 代码简介:https://shimo.im/docs/5ZkGSZZDgdE3qVYm

目的:找到关系网中的小的、联系紧密的“圈子”

基本假设: 1.圈子的总体亲密度是相对较高的 2.圈子里的人,任意两人都是在对方“150法则”之内的 3.对于任意一人,圈子中至少有一个熟悉好友(根据Dunbar理论,假设熟悉好友共为50人) 4.好友亲密度符合曝光效应 5.不同圈子是可以重叠的 6.单个圈子的最大人数是有限的,这里设定为15人(根据“小团队”相关知识假定的) 7.一个人能够维系的圈子是有限的,根据假设2,可得其上限为50个 150法则、Dunbar理论;曝光效应;

根据要求,找到紧密的圈子,该目的与传统的SNS网络聚类具有一定的区别。传统的SNS图聚类,是以推荐好友为导向的,其具有开放性,而这里找的紧密圈子,其具有封闭性;传统的SNS聚类,根据两点距离进行聚类,无法考虑到群体活动对圈子划分的影响;

基本SNS网络下的“圈子”寻找 对于基本情况,圈子的社交方式为点对点的联系。根据目的特殊性,可以以某一人为核心,查询其所在的圈子(另外的目的是减少计算量)。 根据假设3,找到该人的50位熟悉好友,并分别与之组合成一个小圈子,然后分别对圈子进行扩充,在圈子较小的时候(假设不超过5人的圈子为小圈子),根据假设2,扩充任选为该人的150位好友(扩大备选范围,防止过早陷入局部收敛),超多5人时,根据假设3,扩充人选为圈子成员的熟悉好友。 扩充的标准为,选取扩充方案中,圈子亲密度最高的,同时,圈子的亲密度要大于某个阈值。 上面是基本的圈子寻找过程,下面对其中的概念进行具体的定义。

好友亲密度: 根据曝光效应,好感度为 F ,k为衰减系数,Effect为每一次交流的正面激励。     对于上式,衰减系数是一个恒定的值,这与实际情况不是特别符合,基于此,我对该公式做一个简单的变动,其中T为认识时长,单位为年;   其中的一些参数设置,p=1,t 按照月来算,Effect=每月接触的天数。(这些参数只是草定)

圈子亲密度: 这里圈子的亲密度可以借用木桶原理。定义如下 圈子亲密度 G 为:       其中   为圈中两人的亲密度; 该定义方法实际为,找到圈中和其他人亲密度最低的那个人,将其与其他人的平均亲密度定义为圈子亲密度。为了计算方便,可以近似认为该人就是刚扩充进来的人。 另外,对于圈子亲密度的阙值可以定义为该人第80位好友的亲密度。(这个阙值的定义就是纯粹拍脑袋了。该阙值的界定,需要通过实际数据进行计算,保证大多数的圈子人数在15人一下,或者在10人左右。)

注:在圈子扩充过程中,会遇到两个圈子完全重叠的情况,那么第二个圈子则换一个人进行扩充。

基于群体活动的圈子寻找 常见的群体活动为线下的集体活动(聚餐等),微信等网络群组聊天。基于我个人情况,我对微信上的群组定义为“强群组”,即我所有的圈子都包含在我微信上的群组中(群组里也会有不是圈子里的人);对于线下活动、QQ群等,定义为“弱群组”,即该群组并不完整包含我的圈子,但可以为圈子的划分提供良好支撑。 强群组: 在强群组下,可以较快的划分圈子,即先判断该群组的活跃度,假设群组的活跃度与好友的亲密度的计算方法是完全一致的。 根据计算出来的活跃度,提取前50个。然后对于具体的圈子,每次删除与他人亲密度最低的人,直到圈子的亲密度大于阙值,同时也要删除不满足假设3的人。

弱群组: 弱群组的作用就是在圈子划分的过程中,增加好友的亲密度。 对于该亲密度增量,具有如下两个性质: 群组对亲密度的增加作用与其总人数成负相关,即群人数越多,那么该群对于亲密度的增量越少; 圈子的人数对于亲密度的增加也是负相关,因圈子人越多,所涉及的群组也就会越多,那么各群组的重要性也应该随之下降。

亲密度增量具体定义如下:   其中 H 为群组的活跃度,M为群组总人数,N为圈子总人数 ,n为圈子中人在群组中的个数。 右式第一项为群组的平均活跃度,第二项为加权系数。

伪数据生成: 随机生成了十个小圈子; 生成人与人之间的联系信息(圈内人联系更频繁,圈外更少); 生成强群组,即所有的圈子包含在群组之中,基于此,生成20个群组,前十个是以初始圈子为基础,随机添加数人,后十个是随机生成的群组 生成弱群组,对圈子的产生有增量作用,不过此处的弱群组为纯粹的随机生成,其增量应该很不是很明显 预设小圈子: [0, 71, 72, 12, 77, 24] [0, 66, 7, 73, 146, 115, 88, 60] [0, 42, 77, 15, 18, 116, 85, 87, 59, 124] [64, 0, 36, 134, 6, 14, 120, 57, 93] [0, 3, 36, 5, 40, 14, 56, 25, 125, 127] [0, 70, 38, 102, 10, 44, 112, 83, 118, 124] [0, 97, 133, 102, 41, 106, 112, 114, 83, 118] [0, 132, 72, 145, 20, 57, 27, 124, 93, 126, 31] [0, 121, 3, 100, 101, 23, 57, 124] [32, 0, 134, 139, 12, 16, 56, 120]

基本SNS结果分析 {0, 12, 24, 71, 72, 77} {0, 3, 5, 14, 25, 36, 40, 56, 125, 127} {0, 6, 14, 36, 57, 64, 93, 120, 134} {0, 41, 83, 97, 102, 106, 114, 118, 133} …… ……

总结 只是简单的列举几个分析结果,可以看出目前的参数下,对于基本的SNS网络已经具有良好的结果了。另外,对于强群组、弱群组的情况,效果也均良好。

sns2group's People

Contributors

doomooo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.