`
xiongxuhui
  • 浏览: 9648 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

为什么要建立一个面向应用的拓扑结构层(继续)

阅读更多

为什么要建立一个面向应用的拓扑结构层

 

所谓面向应用的拓扑结构层,实际上是一种由SNS平台为特定APP开发的数据结构。这个数据结构维持了数据挖掘之后的结果。

 

一、观察

 

观察当前国内外的开放性的SNS平台/网站(以后简称为SNS网站),可以发现:

1、对于个人来说,SNS网站目前提供两种网络:一个是与好友形成的网络,一个是加入的群组。(本文把群组与好友形成的网络都简称为网络,除非特别说明

2、个人用户还有两个隐性的网络:一个所在学校、公司、地区;一个是与其它安装同一个APP的用户。

3、个人用户也可以发起一个活动(Events),因而创建了一个网络。

4、这些信息都可以通过API获取(有些部分的)。

 

二、问题

 

那么,现在就有一个问题,APP开发者如何利用信息?目前可以调用的API

1friends.getfriends.getFriends,得到用户的好友列表。在整个好友网络中,是第一跳的(采用IP路由的术语)。

2groups.getMembers,得到一个群组的成员列表。显然,这个群组是完全图。

3users.getInfo,得到用户所在学校、公司、地区。

4friends.getAppUsers,得到一个用户的指定APP的好友ID列表。

5events.getMembers,得到一个活动的成员列表。

 

目前国内SNS网站只提供了三个API,分别是134。即使是facebook,也还在不断的改进中,例如,networks页不再提供,与中国文化不同。(对于中国的SNS网站,group相当于BBS的版块,而在中国,group有几个极需解决的问题,一个是水化,一个是潜水,一个是枪手)。(friendsgroupapp都是一个图,这三者属于重复定义,用户群交叉,容易使app开发者和用户感到困惑。事实上,目前SNS网站的大部分群组都极不活跃,目前的app的交互能力非常弱,关于这些问题的解决,有必要在数据结构与逻辑上重新定义,以后有时间再专门分析。)

 

我在5G上写过一个极其简单的脱离SNS平台的挖掘用户数据的方法:

1、数据准备,构建一个稀疏矩阵

2、进行连通性分析,将用户划分为子图。

3、补足,取得每个用户的好友信息,例如用户A的好友A1认识用户B的好友B1,则人为添加一个链路(方法1)。

如果用户A与用户B或者他们的好友同属于一个网络(目前SNS网站的叫法)或者群组,则作为一个连接(方法2)。

4、计算介数,并通过介数发现社区与社区中心。

5、为每一条边赋值(以相互浏览的和为权),构造一个无向图。

6、计算最大流/最小割,分析传播阻尼。

 

但是,这种方法对于用户数量较少的APP还可以。如果用户数量很大,这种方法就非常的不经济。虽然APP开发者自己可以缓存数据,由于用户关系等数据经常变动,如果还需要对用户日志等数据作进一步分析,那么就无法保证结果的精确性与有效性。因而对于用户数量巨大的APP,这种方法事实上不可行。偏偏这种APP的商业价值可能非常大。

 

三、分层的重要性

 

因此,只有由SNS网站进行数据分析和提供分析结果(姑且不论所用到的数据分析方法):

 

1、建立一个数据结构

 

SNS网站如何向APP开发者提供分析处理之后的数据?单纯地提供几条API能够反映所得到的数据吗?对于一个APP而言,它的用户本身就构成了一个网络(图)。在进行用户分析后,所得到的数据的组织形式应该更进一步地体现网络(图)这种特性,并满足传播、交互、查询、用户加入、可扩展等相关的需求。

 

可以看到,APP用户是SNS网站全部用户的子集。当把这两个用户集合分别抽象为两个图时,为特定的APP建立的数据结构实际上就叠加在SNS层上。这也符合目前的三层架构。(本文暂且不讨论这个数据结构的具体细节)

 

2、这种数据结构的优势

 

相对于群组与好友网络,面向应用的拓扑结构具有这样一些优势。如果某个APP具有很强的粘性,可以说明这个APP的用户有很强的指向性。SNS之所以被广泛地关注,在于它形成一个泛化的全局好友网络,从而有可能用于消息传播与网络营销。哈佛大学的社会心理学家Stanley Milgram所设计的连锁信件实验常常被用来说明SNS的传播能力。但是,这是一种盲目搜索方法,开销大,代价高,过程不可控,用户需要花大量时间处理消息。与此相反,如果APP具有很强的粘性,并且在为APP建立数据结构时就考虑到这些情况,那么就可以实现有信息搜索。

 

3、视图的一致性

 

之所以单独列出这一条,是发现,当前的SNS网站有5种网络定义。虽然这5种网络定义,提供了更多的选择,但是,也造成一定的混乱。有的正在消失,例如,facebook不再提供network pages。据说国外BBS并不是太流行。并且在国内某些SNS网站上,绝大部分群组极度不活跃。目前,好友网络的活跃程度最高,压制了其它类型的网络。但是,由于好友网络的传播过程的不可控,直接商用难度很高。甚至有隐私之患(facebook因而取消了一个广告项目)。这里,并不是反对好友网络,相反,这正是SNS的来源。对于APP开发者来说,足以造成不必要的混乱。所以有必要提供视图的一致性。作为个人观点,不赞成APP主要地直接地依赖好友网络。

 

这一点还没有完全想好,应该与业务逻辑、代码复用有关,先放在这里吧(以后找机会再讨论)。

 

四、小结

 

本文主要讨论了在应用层与当前的SNS层之前建立一个面向应用的拓扑结构层的必要性。这个拓扑结构层实际上是一个数据结构。目前的SNS网络提供了5种网络,其中以好友网络最为活跃。但是,好友网络的传播过程的不可控,使得直接商用比较困难。而围绕粘性强的APP建立传播网络,可以利用APP的方向性。在建立这个数据结构时就考虑传播、交互、查询等要求。本文没有涉及到这种数据结构的具体细节,也没有包括建立这种数据结构所需的数据挖掘算法,有待以后进一步讨论。

1
2
分享到:
评论
5 楼 xiongxuhui 2008-08-07  
推荐一本书:《Data Mining with SQL Server 2005》

理论与实践结合的很好。

4 楼 xiongxuhui 2008-08-07  
引用
但从商业的角度来说,我并不很关心你这个人的经过几个好友关系链,就能够和刘翔发生关系

这句话我同意。

但是,并不是只对连接进行分析。事实上:
引用
你从事什么职业的,收入情况如何,你会对哪方面的消费感兴趣

这些已经被研究得很透了。

如果你感兴趣,可以看看这个《基于聚类算法的多属性复杂大群体决策方法研究》
3 楼 robbin 2008-08-07  
APP开发者要你提供的这个数据,干啥用呢?

因为我看你分析的数据都是用户之间的关系链,但从商业的角度来说,我并不很关心你这个人的经过几个好友关系链,就能够和刘翔发生关系,我关心的是你个人的profile,你从事什么职业的,收入情况如何,你会对哪方面的消费感兴趣,这些东西从你的分析数据里面看不到。
2 楼 xiongxuhui 2008-08-07  
这样说吧:
SNS平台要不要进行数据挖掘?
如果要,SNS平台进行数据挖掘得到结果后,要不要提供给APP开发者?
如果要提供给APP开发者,怎么提供给APP开发者?

1 楼 robbin 2008-08-07  
不知道你分析这个有什么用处呢?

相关推荐

    配送网络拓扑构建研究及应用.nh

    目前国内外对配送网络构建方面的研究还不够深入,本文利用图论和GIS技术对配送网络拓扑结构的构建方法进行研究,实现其自动化构建功能,建立物流配送系统所需的空间属性数据库,并应用于一个基于GIS的面向大规模城市...

    计算机网络应用基础习题带答案.docx

    计算机网络 1-3章 练习题 一、选择题 (1) 人们将网络层次结构模型和各层协议定义为网络的( ) A) 拓扑结构 B)开放系统互联模型 C) 体系结构 D)协议集 (2) 关于网络体系结构,以下哪种描述是错误的 ( ) A) 物理层...

    配电网CIM综合模型的构建与应用

    根据配电网拓扑结构特点和各应用系统对配电网模型的要求,从计算分析和管理需求两方面出发,运 用面向对象技术的CIM模型对电力系统资源的通用描述,提出了建立配电网CIM模型的三步建模方法,以完 整描述配电网各设备...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    11.1 定义一个结构的一般形式 170 11.2 结构类型变量的说明 172 911.3 结构变量成员的表示方法 174 11.4 结构变量的赋值 174 11.5 结构变量的初始化 175 11.6 结构数组的定义 175 11.7 结构指针变量的说明和使用 177...

    星级酒店经营数据集市的“星型模型”

    数据集市是数据仓库的一个子集,它面向部门级业务、面向某个特定主题的小型数据仓库。实际上,多个相互联系的、围绕一个宏观大主题的多个数据集市的集成,就构成了数据仓库。  建立星级酒店经营数据集市的数据...

    《计算机网络安全与应用》习题答案.doc

    答:面向连接的通信的特点是,在传输通信数据之前,要在通信各方之间先建立一个 连接,通信结束后再中断连接。以太网是一个广播式的局域网络,发送方在线路空闲时 将数据帧发送出去,网络主机根据收到数据帧中的目的...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    11.1 定义一个结构的一般形式 170 11.2 结构类型变量的说明 172 911.3 结构变量成员的表示方法 174 11.4 结构变量的赋值 174 11.5 结构变量的初始化 175 11.6 结构数组的定义 175 11.7 结构指针变量的说明和使用 177...

    试题-计算机网络应用基础.doc

    A(传输媒体、差错检测方法和网络操作系统 B(通信方式、同步方式和拓朴结构 C(传输媒体、拓扑结构和媒体访问控制方法 D(数据编码技术、媒体访问控制方法和数据交换技术 10(字符问的同步定时是指( )。 A(字符问问隔...

    数据结构习题答案(全部算法)严蔚敏版

    6.2.4 二叉树二叉链表的一个生成算法 6.3 遍历二叉树 6.3.1 先根遍历 6.3.2 中根遍历 6.3.3 后根遍历 6.3.4 二叉树遍历算法的应用 6.4 线索二叉树 6.4.1 线索二叉树的基本概念 6.4.2 线索二叉树的逻辑表示...

    【9A文】计算机网络作业二及解答.doc

    (4)一台打印机正在打印,突然收到一个错误指令要打印头回到本行的开始位置。 (5)一个半双工的会话中,正在发送数据的用户突然接收到对方用户发来的数据。 解答: 一、单项选择题 1.B我们把计算机网络的

    TCPIP安全 TCP/IP是Internet实现通信的核心

    在IP层定义了一个标准的包格式和协议,所有上层通信如TCP,UDP,ICMP等都被封装在一个IP数据报中,在网络层应用的协议在主机到主机的通信中起到了帮助作用。绝大多数安全威胁 并不来自于TCP/IP的这一层。

    FlexRay总线技术介绍

    网络拓扑结构对于汽车网络系统安全具有重要的影响,要保证汽车环境下通讯系统的可用性和可靠性,需要面向特定应用进行优化。在这方面,最近出现的FlexRay物理层技术具有很大潜力。 具有创新功能和安全特点的FlexRay...

    数据结构(C++)有关练习题

    e. 如有可能,请建立一个存储商品名称和数量的文本文件,并为二叉搜索树建立一个成员函数SetupInventory(),用于从该文本文件中读取库存商品的数据, 实验报告要求: 1、 按要求记录下二叉搜索树的完整实验...

    FlexRay网络结构在汽车分布式安全系统中的应用

    网络拓扑结构对于汽车网络系统安全具有重要的影响,要保证汽车环境下通讯系统的可用性和可靠性,需要面向特定应用进行优化。在这方面,近出现的FlexRay物理层技术具有很大潜力。本文将从简单的网络例子入手,由简至...

    计算机网络技术19春在线作业1-0005.docx

    A:网络层是为主机之间提供物理通信 B:运输层为应用进程之间提供端到端的逻辑通信 C:运输层的复用是指在发送方不同的应用进程可以使用同一个运输层协议传送数据 D:TCP是面向连接的。 答案:B,C,D 进行电子邮件配置时...

    MFC教程入门知识全集.rar

    11.4.1 为什么要同步 11.4.2 等待函数 11.4.3 同步对象 11.4.3.1 关键代码段 11.4.3.2 互斥对象 11.4.3.3 信标对象 11.4.3.4 事件对象 11.4.4 如何选择同步对象 第12 章 进程间的通讯 12.1 进程控制 ...

    进销存管理系统设计方案.doc

    提供一个三层结构应用的开发、运行、部署和管理的平 台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。 3. 开发技术方面采用稳定性和运行效率较高微软公司的技术,便于以后维护和升级; ...

    【满分答案】川大《计算机网络与通信》18春在线作业2答案.doc

    A、文件传输 B、电子邮件 C、PING程序 D、BBS 正确答案:C 满分:2 13 主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分 别包含300字节和500字节的有效载荷,第一个段的序列号为200...

    主流识别的多准则决策模型及其在河系结构化中的应用

    在河系拓扑数据的基础上建立两种面向河系空间知识的数据模型:基于河段的数据模型和基于河流实体的数据模型

Global site tag (gtag.js) - Google Analytics