Archive for the "my work" Category

2010 5月 SCI EI 收录情况

信息安全,网络安全领域可以投的期刊和会议:

SCI 国内期刊:

1 中国科学 E辑 total 60 4-5 security related

2 电子学报 英文版

3 计算机科学与技术 英文版

4 计算机学报 英文版

5 浙大学报 C 辑 (计算机与电子)

6 中南大学学报 英文版

SCI国际期刊:

1 IEE/IEL Electronic Letters

会议:基本上都被SCI收录

LNCS(Springer Lecture Notes in Computer Science)(很杯具的说,这个东东已经不检索了)

LSCCS(Lecture Series on Computer and Computational Sciences)

信息安全领域内排名前三的会议(不一定是SCI收录,但是含金量非常高):

SIGCOMM: ACM Conf on Comm Architectures, Protocols & Apps ******

INFOCOM: Annual Joint Conf IEEE Comp & Comm Soc *****

CCS: ACM Conf on Comp and Communications Security ****

IEEE Symposium on Security and Privacy ****

USENIX Security ***-****

ICC **-***

GlobeCom **-**

ACM Workshop On Digital Identity Management

 

EI:

期刊:

1 International Journal on Advances in Security

会议:

1 International Conference on Emerging Security Information, Systems and Technologies -SECURWARE

May 11th, 2010

Extending the Collaborative Online Visualization and Steering Framework for Computational Grids with Attribute-based Authorization(翻译)

Extending the Collaborative Online Visualization and Steering Framework for Computational Grids with Attribute-based Authorization

使用基于属性的授权机制对计算性网格的协作在线可视化和引导框架进行扩展

摘要

合作在线可视化和引导(COVS)已经成为了引导一个并行仿真实验并动态改变其参数或者仅仅通过可视化来给地理分散的合作者共享仿真结果的一项重要技术,特别是在由高性能计算(HPC)驱动的网格基础设施中。在较前的工作中,我们已经给出了一个基于UNICORE网格中间件(DEISA中使用此中间件)的COVS框架的参考实现。本文列出了COVS在框架设计和实现上的现有限制,包括不具有细致授权的能力等,而这种授权能力在合作COVS会话中是必需的。这些能力使用终端用户的诸如角色、项目成员关系或者参与专有虚拟组织(VO)等个人信息。我们概述了解决方案并且给出了一个使用属性授权机制的扩展框架的设计与实现,如最近广泛使用的基于安全断言标记语言(SAML)的虚拟组织成员关系服务(VOMS)等属性授权机制。

1. 简介

世界范围内的网格基础设施如DEISA、EGEE、OSG和TeraGrid提供了各种各样的网格服务,以实现用于e-science的大规模资源共享。虚拟组织允许跨越组织边界共享这些资源,并且能够有效的利用提供的诸如超级计算机或集群等网格计算资源。许多虚拟组织和网格基础设施内部的科学研究程序着力于物理、生物、化学或其他特定领域过程的仿真。现有的许多网格基础设施如DEISA或TeraGrid,由于高性能计算的驱动,通常使用并行计算技术(MPI[24],OPENMP[10])运行网格程序来仿真上述过程。这些仿真的结果通常有一个分离的后续处理步骤,例如,在可视化程序中查看仿真结果等。基于这些中间结果,可以在另一个计算周期中改变仿真参数。

为了提高e-scientists的有效性,合作在线可视化和引导(COVS)技术尝试同步仿真过程和仿真结果可视化。在线可视化意味着e-Scientists可以立即观察到仿真过程中的处理步骤,进而允许计算性引导在超级计算机运行时引导仿真的计算。在此上下文中,在较前的工作中,我们已经给出,当在诸如DEISA等UNICORE网格中使用一个COVS框架[22],e-scientists的有效性能够通过改变强安全环境和协作的基于web服务的特性来获得长远的提高。在本文中,我们讨论了地理分散的可视化会话中面临的挑战,引出了对细致授权机制的需求。在现有的网格中,终端用户的诸多属性如VO、组成员关系、不同的角色和能力等都是可用的,但COVS框架仅限于基于身份标识的授权认证机制(如使用X.509证书),本文给出了一个允许基于属性的授权认证机制的扩展。

本文组织方式如下,在回顾计算性网格的可视化和指引能力后,第二部分介绍了COVS框架在UNICORE中的实现并且列出了该实现对细致授权机制的限制。第三部分描述了哪些技术符合基于属性的授权认证机制并且能够在现有的网格环境中使用。基于这些技术,我们在第四部分给出了我们对COVS架构的扩展,第五部分描述了两个科学程序作为这个新特性的用例。最终,在第六部分回顾了相关工作,第七部分给出了我们的结论。

2. 协作在线可视化和指引框架的限制

协作在线可视化和计算性指引(COVS)框架使得网格程序具备了交互能力(如计算性指引)和可视化反馈机制。在早期工作中[26],我们给出了一个基于可视化接口工具包(VISIT)[13]的COVS技术实现原型和一个被称为计算资源统一接口(UNICORE)[28]的DEISA的网格中间件。此后,该方法被用于更广范围的COVS框架[23],随后我们在Grid 2007会议上将之发表[22],该方法具有较好的易用性和较高的性能。最近,我们深入研究了[21]在UNICORE中CVOS框架实现的计算性指引能力的影响[21],该UNICORE常用于的大规模DEISA HPC系统(如IBM BlueGene/P JUGENE,共有65536个处理器)。

现有COVS框架的架构如图1所示,图中给出了一个有两个地理上分散的参与者(如客户A和客户B)合作的情景。两者都运行一个科学可视化程序,外加一个COVS网格组件插件,该插件用于扩展GPR UNICORE网格客户端[25]。网格客户端用于访问两个COVS服务,该服务用UNICORE的Web服务资源框架(WS-RF)[1]的实现的工厂模式实现。因此,客户端是用来调用COVS工厂服务,该工厂服务创建了可以通过COVS服务访问的COVS会话资源。一个会话资源的实例代表一个管理不同参与者的合作可视化会话,对不同参与者的管理通过控制VISIT合作服务器和VISIT复用器来实现。VISIT合作服务器用于在参与者之间交换信息,交换通过使用SSH的专用连接完成,VISIT复用器负责通过SSH专用连接将仿真的结果分发给n个参与者。这些连接实用UNICORE网格中间件的强安全特性创建,在[26]中有关于这些连接的详细描述。总的来说,仿真实验的科学数据通过二进制加密的安全专用连接传输以达到令人满意的性能,使用Web服务的仿真工作的提交和合作会话的管理的开销就整体性能而言并不是主要的。

clip_image002

1 UNICORE网格中间件中COVS框架实现

尽管我们的框架实现已经广泛使用,在提及细致的授权认证能力时,我们最近发现了该框架的一些限制,正是这些限制驱使我们提出了本文中的方法。在典型的场景中,COVS服务常用于一个虚拟组织内部,而不是用于许多地理分散的虚拟组织成员之间,在一个COVS会话中,这些成员通常有不同的角色并且拥有不同的能力。更详细地,如果一个人使用我们的框架并且与其他n-1个人共享一个并行仿真实验的可视化视图,那么我们称此人扮演一个participator角色。当一部分人扮演参与者角色时,另一部分人可能同时扮演若干个角色。这意味着我们的框架对某一个角色提供的功能不同于对另外其他角色提供的功能。例如,只有master角色的participator能够使用框架来提交或者控制一个运行在计算性网格资源上并行仿真。因此,其他参与者不需要(也不应该被允许)提交一个仿真,因为一个已经提交的并行仿真的结果将会被共享给其他参与者。 为了避免任何终端用户都可以加入一个会话,我们定义了approver角色,该角色决定哪些参与者可以加入到可视化会话中。approver角色基于候选人的不同角色和预定义的能力来决定谁能够加入到会话中。此外,在一次合作会话中,引导并行仿真的技术能力产生了在指引过程中对参与者互斥的需求。指引过程需要仿真领域的知识,因此,只有小部分参与者能够扮演领域专家的角色,并且只有这一小部分人被允许改变仿真的行为。由此得出,在同一时间,在一个COVS会话中只能有一个参与者扮演steerer的角色并控制并行仿真,这样才能保证仿真的

April 11th, 2009

科研社会网络实用化的想法

 

今天在改论文的时候,仔细想了想论文里的原型系统实现,觉得论

文里没有写清楚具体如何将科研社会网络实用化,因此我自己又想

了想,决定自己改一改。

我首先用FreeMind画了个图,在这里ssn.rar可以下载到,大致是这样的。

科研社会网络的实用化或者说比较简单的部署和实现方案是这样的:

                                                                 image

这是实现方案上的。还有待进一步细化,我个人在开发网站方面的能力并不是很强,希望可以有人合作。

另外,关于市场方面,就是这个网站和客户端工具有没有用户,我想是有很多的用户的,这个东西主要面向科研人员这个群体,详细的内容请见我的硕士论文(初始版本,后面再贴)。

October 28th, 2008

关于可信计算的资料的初步搜集

维基百科可信计算

可信计算包括5个核心技术概念,在一个完全可信的系统中它们都是必须的。

  1. 认证密钥
  2. 安全输入输出
  3. 内存屏蔽/受保护执行
  4. 封装存储
  5. 远程证明

http://www.math.org.cn/forums/index.php?showtopic=38324

1.1 可信计算的简介 :
可信计算的研究从Anderson首次提出可信系统(Trusted System)到TCG 的可信计算(Trusted Computing)已有30余年的历史,其研究重点也从早期的容错计算,故障检测和冗余备份技术发展到今天的可信硬件平台、可信软件系统、可信网络接入。随着全球信息化时代的到来,网格计算与WEB 服务等分布式计算将成为未来的主流计算模式,同时,无线网络的迅速发展与广泛应用使得其必将成为今后的主流网络形式。因此,未来的可信计算研究将面向在分布式与无线网络环境下的安全与可信。按照ISO/IEC 15408 标准,所谓可信计算是:参与计算的组件,操作或过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。根据此定义,可信计算将成为无限可信的概念。事实上完全的、绝对的可信是不可能实现的,也是没有必要的。因此,计算中的可信标准,可信等级,可信区间及可信度的定义将成为可信计算工程实现的关键内容。同时,可信计算(Trusted Computing)从一个新的视点解决计算的安全问题,不同于传统的安全的概念,它具有双向安全的含义,即:
(1)保证计算机系统用户本身的利益;
(2)维护外来应用的运行。
一个典型的例子是数字版权管理(Distal Rights Management,DRM)。此时,平台必须确保内容提供者所施加的版权保护策略能够有效贯彻:同时,又要防范用户的利益被不正当地侵害(如外部提供者滥用DRM策略收集用户隐私信息)。这两个要求是相矛盾的:如果增强用户的利益维护,就必须赋予用户更强的控制;如果维护外来应用的利益,就必须排斥用户对相关策略实施过程的干扰。它又体现出很强的互补性:如维护外来应用的前提是该外来应用必须能够证明自己是可信赖的,一个病毒无法提供必要的信赖证明而无法在可信计算平台中运行;再如,所提供的安全数据通道既可以保护用户数据,又可以避免外来应用的内容被用户不正当地窃取。因此,这是一个复杂的问题,必须在计算机系统的各个方面取得 一 个恰当的平衡。相对应地,用于实现可信计算的平台组成结构和执行机制,也必须具备不同于传统计算机系统的特征。
1.2 可信计算组织简介: 当前,可信计算中居于领先地位的是由可信计算平台联盟(Trusted Computing Platforill Alliance,TCPA)发展而成的可信计算组织(Trusted Computing Group,TCG)以及微软所提出的下一代安全计算基(Next-Generation Secure Computing Base,NGSCB)。
在TCG 的可信计算平台标准实施规范中,可信计算包括以下三个属性与功能:
(1)确保用户身份的惟一性,用户工作空间的完整性与私有性;
(2)确保硬件环境配置、OS 内核、服务及应用程序的完整性;
(3)确保存储、处理、传输的信息的机密性/ 完整性。
微软的可信计算(Trustworthy Computing)白皮书,从目标、策略、手段和实施四个层面对可信计算进行了概要性的阐述,其目标与TCG 的功能定义一致,包括安全性、私密性、可靠性与完整性。同时,微软对可信计算策略的定义则包含了以下原则:
(1)安全开发原则在可信计算产品开发的每个阶段(设计,仿真,调试,发布与维护)确保数据与系统的私密性,可靠性与完整性;
(2)信息平等原则未经授权,不得收集或共享他人信息;
(3)可用性原则在任何情况下系统都能立即响应用户的需求;
(4)可管理性原则系统要易于安装与管理,同时在设计时须考虑到扩展性,效率与性价比;
(5)准确性原则系统应能正确执行其功能,保证计算结果无差错,数据无丢失和损坏;
(6)实用性原则系统易于使用,便于维护;
(7)责任追究原则对系统出现的问题建立责任追究制度,并采取措施来解决,且为用户提供计算、安装和操作帮助;
(8)透明性原则在与用户交互过程中应使其正确了解系统采取各项措施的目的。

October 21st, 2008

整理LibJingle文档

最近在看libjingle,整理了google talk里的文档,做了个pdf,保存一下

libjingle.pdf

June 12th, 2008

ASP.NET 2.0元数据访问权限修改

弄了个网站,ASP.NET2.0,访问时出现错误如下System.Web.Hosting.HostingEnvironmentException: 未能访问 IIS 元数据库。 用于运行 ASP.NET 进程帐户必须具有读取权限对 IIS 元数据库 (/ / servername / SVC 例如 IIS):。 有关修改元数据库权限, 上信息请参见 http://support.microsoft.com/?kbid=267904

在网上找到此页http://support.microsoft.com/kb/267904/zh-cn,要运行aspnet_regiis.exe来修改权限,于是查找了一下当前运行IIS的用户,发现是IWAM开头的那个用户,于是运行命令aspnet_regiis -ga NUDT-CAO-YUAN\IWAM_NUDT-CAO-YUAN,顺利解决此问题

June 12th, 2008

Galton’s board

Today I read some papers about complex network, I find the Galton’s board at it happens, because I’m free today, so I implement it to see the result, it’s really funny. As we all know, we can’t predict the movement of an individual ball, but we can still give a probabilistic description of the movement of the ball.

The probability P(x) of the horizontal position x of the ball can be described by a Gaussian distribution (Bell curve).

Each time a ball hits one of the nails, it can bounce right (or left) with some probability clip_image001(and clip_image002). For symmetrically placed nails, balls will bounce left or right with equal probability, so clip_image003. If the rows are numbered from 0 to clip_image004, the path of each falling ball is a Bernoulli trial consisting of clip_image005steps. Each ball crosses the bottom row hitting the clip_image006th peg from the left (where clip_image007) iff it has taken exactly clip_image006[1]right turns, which occurs with probability

clip_image008

I find a more detail page here and the formula is the same.

http://mathworld.wolfram.com/GaltonBoard.html

More reading:http://mathworld.wolfram.com/RandomWalk.html

clip_image010

I implement a application to simulate the condition of p=1/2.The source code in C/C++ is right here:

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <time.h>

#include <windows.h>

//#include <Winbase.h>

int level = 0;//用于递归的level

int TotalLevel = 0;//用户输入的level

int finalNum = 0;

int RandNum(int i)

{

int num = 0;

//以同样概率返回i或i+1中的一个

num = rand()%2 + i;

return num;

}

int RecursiveGo(int iNum)

{

int randnum = 0;

randnum = RandNum(iNum);

finalNum = randnum;

if(level < TotalLevel – 1)

{

level++;

RecursiveGo(randnum);

}

return true;

}

int main()

{

int temp = 0;

int ballnum = 0;//小球数目

printf(“请输入小球数目:”);

scanf(“%d”,&ballnum);

do

{

printf(“请输入层次数目:”);

scanf(“%d”,&TotalLevel);

}while(level >100);

//存放最终结果

int *numArray = (int*)malloc(sizeof(int) *(TotalLevel + 1));/* {0,0,0,0,0,0,0};*/

if(numArray == NULL)

printf(“内存分配失败\n”);

else

{

//初始化数组

for(int length = 0;length<TotalLevel + 1;length++)

numArray[length] = 0;

//初始化随机种子

srand( (unsigned)time( NULL ) );

for(int i = 0; i< ballnum;i++)

{

level = 0;

RecursiveGo(0);

temp = finalNum;

numArray[temp] ++;

}

for(int j=0;j<TotalLevel + 1;j++)

{

printf(“最终落入%d 的小球数目是:%d\n”,j,numArray[j]);

}

free(numArray);

numArray = NULL;

}

return 1;

}

April 12th, 2008

基于兴趣的科研社会网络软件设计与实现(硕士开题报告)

基于兴趣的科研社会网络软件设计与实现

一.课题名称、来源、选题依据
1.1 课题名称

基于兴趣的科研社会网络软件设计与实现

1.2 课题来源

实验室自主研发

1.3 选题依据

在科学研究过程中,研究者为了保存研究资料以便于今后查询,通常会使用科研文献管理软件进行文献管理,比较常用的有EndNote和NoteExpress等。但是现有的科研文献管理软件仅仅单纯的将研究者本地的科研文献组织管理起来,仅仅起到了管理的作用,不能够用于研究者之间的科研文献资料的交流,因此限制了研究者之间的交流。

将研究者作为节点,具有相同兴趣的研究者之间有一条边,这样就形成研究者网络。将如何有效地共享科研文献资料放到研究者网络中进行研究,问题演变成如何根据研究者的行为分析研究者的兴趣从而形成自组织虚拟社区并且向研究者进行个性化内容推荐。

研究者网络是社会网络的一个子集,可以借鉴现有的对社会网络的研究和分析方法来解决这两个问题。同时现在广为应用的P2P模式也可以应用到研究者网络中,每个研究者可以看作单独的实体,每个研究者之间完全对等,进行科学交流。

基于研究者的兴趣将科研文献管理的工作网络化,开发科研社会网络软件,对于研究者的研究工作的促进作用是巨大的。科研文献管理工作网络化将会更有效的增强科研文献资料的共享能力;增进研究者之间的交流;同时,根据研究者的研究兴趣,分析研究者之间的相似度,从而兴趣相同的研究者之间形成自组织的研究团体;根据研究者的研究兴趣,还可以定期或不定期的向研究者推荐其感兴趣的内容。这些对于促进科学研究的进步具有重大意义。

二.本课题国内外研究现状及发展趋势

社会网络是一个由节点(通常是独立的个体或组织)组成的社会结构,这些节点之间通常有一种或多种特定类型的联系,如价值,视角,观点,金融交易,朋友,血缘关系,厌恶,冲突,贸易,web链接,性关系,疾病传播或者定期航线等。

社会网络建立在这样的想法上:有一个可决定的结构使得人们无论直接地或间接地都可以彼此认识。譬如“六度分割”这种通俗化的概念——“在地球上的每个人最多通过六个私人关系就可以被联系在一起”,人们可以(但可能并不知道)通过普通的同事就相互联系起来。

对社会网络的分析大致经历了如下三个阶段:

(1)美国20世纪30年代的社会计量分析人员(他们的工作以形态心理学为根基) 打算调查幸福的感觉与人的社会生活结构如何相关联。这场运动紧密同Jacob Moreno联系在一起,他构想了社交图,这是一张把个人作为点、把与其他人的联系作为线的关系网络视觉图。在这场研究运动其他主要成员还有Kurt Lewin, 他最伟大的功绩是改进了团体关系的数学模型;还有Fritz Heider,集中于研究人们与其他人关系的感受。

(2)同样在30 年代, 哈佛大学研究员开始集中于研究在社会团体中的派系问题,来辨别在社会系统之内有凝聚力的小团体(譬如工作、教会、家庭、协会和俱乐部)。这个小组受到考古学家Alfred Radcliffe-Brown的影响,他工作的着眼点是美国的工厂和社区生活。

(3) 英国曼彻斯特的一个考古学家小组,借鉴了50 年代Radcliffe-Brown的成果。 这个小组的成员之一John Barnes,在1954年创造了“社会网络”这一特别术语。他与Elizabeth Bott在社会测量(sociometric)方法上共同合作,但着眼于人的非常规社会关系,而不是那些与机关和协会的联系。另外, 他们的工作集中于这些网络中的冲突和变化。Clyde Mitchell利用了从图表理论数学到改进观察的方式,扩展了传统的社会测量方法。

2.1主流社会网络应用

随着科学技术的发展,人类进入了信息飞速增长的时代,信息量的飞速增长带来了一些显著的问题,正如Herbert A .Simon(诺贝尔经济奖得主)所说:“信息消耗了接受者的注意力,因此信息过载就会产生注意力匾乏,从而迫切需要从大量的可能消耗接受者注意力的信息资源中进行注意力的有效定位”。人们如何更加迅速有效的获取自己所需要的信息成为研究的热点,这其中涉及到如何有效的发布信息,以怎样的方式组织信息,用户获取信息的方式,信息呈现给用户的形式。

社会网络主要应用于如何将信息有效的组织起来,即连接起来,同时社会网络还关心用户获取信息的方式,将用户按照一定规则组成虚拟社区,虚拟社区内部的沟通和交流更加便捷有效。

Internet诞生本身即是为了共享,从20世纪70年代末的BBS [2]到目前的博客(Blog)[3]、维基(Wiki)[4]、威客(Witkey)[5]、Orkut[6]、Wallop[7]、Digg[8]、Decilious[9]、Flickr[10]等,出现了很多社会网络的应用。

BBS:BBS全称Bulletin Board System(电子公告板),BBS能够发布内容,用户交流,是最初信息共享交流的雏形,我们认为BBS可以算作是最早的网络共享系统的雏形。目前已经有了基于P2P的BBS(Saku)[11],不需要类似于当前论坛的中心服务器,所有的数据分布存储于用户节点上。

Blog:中文名博客,是当前网络上流行一种信息表达形式。它顺序地记载一些想法、评论等,并且通过超级链接把相关的资源组织起来,从而形成一种对某一信息资源的小型信息库,使得信息以此为扩散地或集中点。博客通过Trackback的方式互相链接起来,组成一个类似于社会网络的知识网络。但是博客内容主要是个人思考之类,自有知识储存体现不多,可谓有思想而无知识;基于Web发布,不便于共享和交流。因而就其本质来说主要是一种基于Web的个人表达工具,而不是完善的网络共享机制。

Wiki:中文名维基,Wiki是一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。与大多数网络亚文化一样,Wiki也同样是体现开放、合作、平等、共享的网络文化。目前的Wiki多是基于中心服务器的。Wiki使用版本控制系统来维护数据的一致性。Wiki的版本控制系统能够保证内容被篡改之后回滚至以前正确的版本。Wiki更类似于创作共享模式,在共同创作一个文档的过程中,作者更多的在付出而非收获,无法实现真正意义上的知识共享。同BBS类似,目前已经有了基于P2P的Wiki系统[12],将写作过程中产生的内容分布存储于所有作者节点上,不需要中心化的服务器。

Witkey(威客):通过互联网把自己的智慧、知识、能力、经验转换成实际收益的人,他们在互联网上通过解决科学,技术,工作,生活,学习中的问题从而让知识、智慧、经验、技能体现经济价值。威客模式也不是真正的知识共享的方式。

Orkut:社会化交友网站。用户是独立节点,通过用户之间的关系可以建立很好的网络,除了论坛的帖子,和节点相关的内容主要是个人资料和关系,除了继续发展你的关系,这样的网络很难有更多的用处。网络结构:强。内容:弱。内容处理方式:弱。

Wallop:社会化交友网站。有一个类似Orkut的网络,以用户的Blog、照片、媒体文件等作为内容,通过网络可以方便得知属于你的网络中的其他用户的信息。网络结构:强。内容:中。内容处理方式:中。

Digg:社会化信息挖掘网站。网络结构比较松散,但网络中的节点(用户)提供大量的内容,对内容有极好的重组方式。网络结构:弱。内容:强。内容处理方式:强。

Decilious:社会化信息挖掘网站。网络结构比较松散,但网络中的节点(用户)提供大量的内容,对内容有极好的重组方式。网络结构:弱。内容:强。内容处理方式:强。

Flickr:社会化图片共享网站。通过关系或者兴趣组成一定的网络结构,节点(用户)提供大量的内容,通过tag和group等对内容进行重组。网络结构:中。内容:强。内容处理方式:中。

2.2 量化个人兴趣的方法的研究现状

现有对个人兴趣进行统计和计算的方法主要有以下几种:

(1)基于信息统计的用户档案匹配方法:该方法通过显式的方法(如问卷调查)收集用户的个性特征、需要、兴趣等信息。通过用户档案的匹配显式的发现具有相同兴趣的用户。

(2)基于用户打分享四度计算的方法。通过显式收集用户对购买过的产品、看过的书、电影、音乐等资源的打分值,来发现具有相似兴趣的用户。这种方法主要应用在写通过率技术中。性能最好的相似度计算方法主要有Pearson相关系数和向量相似度量中。

(3)基于隐式信息挖掘的方法。用户相互通信、交流、浏览网站等行为也隐藏了大量表征用户兴趣的信息,这些信息可用于反映人们之间的联系。

(4)基于社会网络构建的方法。社会网络构建的关键是通过收集用户彼此间的资源和信息交换来建立关联关系。

(5)基于小世界网络的方法。

2.3 社会网络发展趋势

社会网络需要解决三个问题,首先是网络结构的形成,即通过什么样的技术和手段将独立节点连接起来;其次是解决社会网络的内容,即每个节点能够为社会网络提供怎样的内容。最后社会化网络需要有性能较好的通过网络处理内容的方式,即以什么样的方式重新组合和处理网络中各个独立节点的内容。

当前网络结构形成的方法多种多样,但是通常是需要借服务器来建立社会网络,P2P技术是当前研究的热点,其核心观念是对等的观念,P2P技术不需要服务器,其核心特点包括伸展性、负载均衡、异构性、自适应开销、可扩展性、可用性、容错性、匿名性。可以预见,采用P2P技术来构建底层网络拓扑将会是今后的一个发展趋势。

社会网络的内容来源杂乱,内容数量巨大,因此需要以合适的方法来处理内容,以尽可能提取出准确的关于内容的信息便于用户使用。对内容的处理需要使用到分词技术,现有的分词技术往往是基于词表或者统计的,效率比较低下,因此有必要研究更好的分词算法,做到更加智能的分词。可以预见,对社会网络中内容的处理将向着智能化、语义化的方向发展。

内容在经过分词处理后,得到了较准确的关于内容的信息,如何有效地将内容传递给用户是一个值得深入研究的课题。基于用户存储的内容以及用户搜索内容的行为计算出用户的兴趣矢量,根据用户兴趣矢量计算用户之间的相似度,从而形成自组织社会网络;计算内容的兴趣矢量,根据用户兴趣矢量,向用户进行个性化内容推荐,这将是今后社会网络通过网络处理内容的方式的发展趋势。

社会网络的发展还处于起步阶段,要解决的问题还很多,值得深入探讨和研究的内容也很多。因此很有必要深入研究社会网络的三个要素,争取在拓扑结构构建,内容处理算法,内容分发算法方面有所突破,构建更好的社会网络。

三.课题在理论与实践上的意义,论文预期成果的学术价值与应用价值
3.1 课题在理论上与实践上的意义

本课题的基础是社会网络理论。一直以来,研究者之间进行交流的方式方法比较简单,通常是通过发表论文的方式来进行交流。每位研究者通常维护自身的一个巨大的论文库,通过科研文献管理软件将这些文献管理起来。显而易见的,研究者之间交流的渠道是不通畅的。本课题基于研究者的兴趣构建科研文献社会网络,首先根据研究者现有文献库以及研究者的行为分析出研究者的兴趣,进而根据研究者的兴趣,计算出不同研究者之间的兴趣相似度,从而形成自组织的研究者网络;同时,根据研究者的兴趣,定期或不定期的向用户做内容推荐。这样一个科研社会网络对于研究者研究工作的促进作用是巨大的。

在理论上,本课题将P2P技术和社会网络分析方法相结合,探寻信息共享的基础理论——计算机网络、社会网络分析中相关研究成果的新结合点,深入研究在现有理论基础上如何更好的满足研究者科研文献资料的需求,提出了分布式、高效的基于兴趣的科研社会网络这种文献资料共享模式,并明确提出了科研社会网络软件的整个架构,同时,提出了一个根据用户存储的资料和用户行为计算用户兴趣的模型和算法;并在此基础上提出了根据用户兴趣计算用户之间相似度的算法,以形成自组织社会网络;同时提出了计算内容兴趣倾向矢量的算法。在实践上,课题设计并实现了一个基于兴趣的科研社会网络软件。

3.2 论文预期成果的学术价值与应用价值

本课题预期的成果是一个高可用性的基于研究者兴趣的科研社会网络软件。其学术价值包括提出了结合P2P技术构建社会网络底层拓扑的算法;提出了根据用户现有资料以及用户行为计算用户兴趣矢量的算法;根据用户兴趣矢量计算不同用户之间相似度的算法;计算内容兴趣倾向矢量的算法。这些算法都是目前研究的热点。

从应用角度来说,本软件主要面向的是广大研究者群体。当前研究者广泛使用的文献管理软件中管理的文献以及研究者的笔记等是科研社会网络主要的内容来源,这样可以保证系统有大量的内容输入。同时科研社会网络软件能够让研究者找到更多的文献资料,允许研究者之间进行相互交流,根据研究者的兴趣形成自组织兴趣社区,定期不定期的根据研究者的兴趣项研究者推荐个性化的内容。可以预见,将会有大量研究者愿意使用本系统。

从实用的角度来说,软件部署简单,不需要服务器,并且网络的容错性和鲁棒性都很好,同时网络维护文件和数据的一致性,并且保证网络的高可用性。

四.课题需要解决的关键理论和实际问题

本课题的最终成果是构建一个P2P社会网络,其中的核心工作包括设计实现P2P结构化路由算法、冗余复制策略、副本管理机制、自组织社区形成和个性化内容推荐。P2P结构化路由算法是构建底层网络的基础;冗余复制策略是指内容如何存储,即存储策略;副本管理机制是指如何对存储的副本进行管理;自组织社区是指按照用户兴趣将用户组建成不同的社区;个性化内容推荐是指根据用户行为,分析用户兴趣,从而推荐用户感兴趣的内容。因此,理论上共需要解决五个问题:P2P结构化路由算法;冗余复制策略;副本管理机制;自组织社区构建;个性化内容推荐。

4.1 科研社会网络底层拓扑构建技术

科研社会网络底层采用P2P技术来搭建,重点需要研究P2P路由算法和资源查询算法。

P2P结构化路由算法提供了如下四个机制:

节点加入机制:允许节点动态加入网络,同时以一种合理的机制向网络宣告新节点的存在。

节点离开机制:允许节点动态离开网络,提供检测机制检测节点的离开,以合理的方式向网络通知节点的离开。

查询路由机制:节点(用户)在查询是路由机制保证查询请求的顺利路由,并且返回查询结果。

发布路由机制:当有新的内容要发布时,路由算法保证能够找到合理的节点来存储内容,找到合适节点的过程即为发布路由机制。

在科研社会网络中,我们通过P2P结构化路由算法搭建底层网络拓扑,将不同的节点连接起来,以实现资源的发布、搜索定位。采用Kademlia协议[35]作为网络底层的基础协议。

4.2基于分词的用户兴趣矢量算法

计算用户的兴趣矢量,首先必须对用户现有资料进行分词以获得足够的关于用户兴趣的关键词,同时需要获取用户日常行为中的关键词,在此基础上,计算用户的兴趣矢量。

对本地文档的处理包括三个部分,关键字提取、本地文档索引和本地文档搜索。

词是最小的能够独立活动的有意义的语言成分,然而汉语文本中词与词之间没有明确的分隔标记,而是连续的汉字串。自动识别词边界,将汉字切分成正确的词串的汉语分词问题是关键字提取的核心技术。分词技术实际上是将文档中的字进行拆分,对每个字需要根据其上下文甚至语境给出最佳的理解,在此基础上将字再组合成词,作为文档的关键信息。整个过程是一个先拆分再结合的过程。

现有的分词算法主要包括:

(1)基于词表的分词——最大匹配(MM)。这是一种有着广泛应用的机械分词方法,该方法根据一个分词词表和一个基本的切分评估原则,即“长词优先”原则,来进行分词。小规模的测试结果显示,其正确率高达95.422%,速度为65000字/分钟。

(2)基于统计的分词。这种方法首先切分出与词表匹配的所有可能的词,这种切分方法为“全切分”,运用统计语言模型和决策方法决定最优的切分结果。小规模的测试表明,其正确率为96.252%,分词速度40000字/分。

(3)基于规则和基于统计相结合。这种方法首先运用最大匹配做初步切分,再对切分的边界处进行歧义探测,发现歧义再运用统计和规则相结合的方法来判别正确的切分。小规模的测试表明,这种方法的准确率达到97.948%,分词速度为20000字/分。

为了提高分词的准确率,考虑采用基于规则和基于统计相结合的分词算法,同时在现有算法基础上进行改进,提高分词的准确率和速度。

在分词结束后,如何根据现有关键字来衡量用户的兴趣并进而建立用户兴趣矢量。设用户A有n个关键字Key1,……,Keyn,每个关键字出现的次数为Num1,……,Numn;则对于关键字Keyi其权重为Pi = clip_image002。将关键字按照权重由大到小,取前m(m待定)个关键字为Keym1,……,Keymm及其权重Pm1,……,Pmm,构成一个二维向量,1,将此二维向量定义为矢量I,定义I为用户A的兴趣矢量。

4.3基于兴趣矢量的自组织社区生成算法

现有的自组织社区生成方法主要有:

(6)基于信息统计的用户档案匹配方法:该方法通过显式的方法(如问卷调查)收集用户的个性特征、需要、兴趣等信息。通过用户档案的匹配显式的发现具有相同兴趣的用户。

(7)基于用户打分享四度计算的方法。通过显式收集用户对购买过的产品、看过的书、电影、音乐等资源的打分值,来发现具有相似兴趣的用户。这种方法主要应用在写通过率技术中。性能最好的相似度计算方法主要有Pearson相关系数和向量相似度量中。

(8)基于隐式信息挖掘的方法。用户相互通信、交流、浏览网站等行为也隐藏了大量表征用户兴趣的信息,这些信息可用于反映人们之间的联系。

(9)基于社会网络构建的方法。社会网络构建的关键是通过收集用户彼此间的资源和信息交换来建立关联关系。

(10) 基于小世界网络的方法。

设用户A的兴趣矢量为clip_image004=((clip_image006),……,(clip_image008)),用户B的兴趣矢量clip_image010=((clip_image012),……,(clip_image014))。则用户A和B的相似度使用如下算法计算:

(1)首先对clip_image016clip_image016[1]中关键字进行遍历,得到a个匹配的关键字记为clip_image018,……,clip_image020

(2)对每个关键字clip_image022匹配clip_image024,如果|clip_image026clip_image026[1]| <= 1/m,则认为A和B有对关键字clip_image022[1]有相同的兴趣,否则称A和B有对关键字clip_image022[2]有不同的兴趣。设A和B有相同兴趣的关键字数目为b,记为clip_image028,……,clip_image030

clip_image032= (a + b*q)/ [m(1+q)],clip_image034。其中a为第一步中的匹配关键字数目a,q为待定的权重系数,b为第二步中相同兴趣的关键字数目b,m为进行比较的关键字的总的数目。clip_image032[1]记为用户A和B的相似度。

当用户A和用户B发生联系的时候,用户A和用户B分别计算得到了clip_image032[2],当clip_image036threshold(0<threshold <1)时,用户A和B分别认为对方是自己的兴趣相同者,从而保存对方的信息,以便于今后进一步联系。

4.4基于兴趣矢量的个性化推荐算法

个性化推荐技术,即根据从资源中提取的特征进行内容推荐,或根据具有相似特征的用户或学习者对资源的获取顺序和规则来进行推荐。一般是基于用户的兴趣,偏爱,喜恶和目标,并将这些信息存储在服务器中进行推理和分析[36]

推荐系统的属性特征主要包括:

1)背景数据,即在推荐过程开始之前系统所拥有的信息

2) 输入数据,即为了获得推荐用户必须和系统之间进行的通信信息

3)推荐过程,即用以利用上述两种数据形成推荐的算法

表4-1列举了五种个性化推荐技术。

技术

背景数据

输入数据

推荐过程

协同过滤

U对I的评价

u对I的评价

找出U中和u相似的用户,在此基础上推断他们对i的评价

基于内容的过滤

I的特征

u对I的评价

生成一个适合u的评价行为的分类器,并用来推断其对i的评价

人口统计数的

推荐技术

对U的人口统计学信息及其对I的评价

u的人口统计学信息

找出在人口统计学上和u相似的用户,用于推断他们对i的评价

基于功能的推荐技术

I的特征

在I中的项上描述u的偏好的功能函数

将函数应用到I中的项上决定对i的评价

基于知识的推荐技术

I的特征及其如何满足用户需要的知识

对u的需要或是兴趣的描述

推断i和u的需要间的匹配度

假设I是可能的推荐项集合,U是系统已知偏好的用户集合,u是系统需要做出推荐与预测的用户,i是我们需要对用户二的偏好做出预测的项。

表4-1 现有个性化推荐技术

在得到用户的兴趣矢量后,想要对用户进行内容的个性化推荐,还必须解决一个问题,就是对内容主题与用户兴趣的匹配程度进行计算。在科研文献社会网络中,个性化推荐技术尽管推荐的是内容,但是推荐技术是建立在自组织社区内部的,因为只有在自组织社区内部用户才能相互进行联系并且获得足够的对方信息。内容与用户兴趣匹配的准则是简单的,假设内容有关键字k个,则采用与计算用户兴趣矢量相同的方法建立内容兴趣矢量,用计算用户相似度的方法计算内容与用户兴趣的匹配程度,并定义一个推荐的阈值。

五.课题研究的基本方法,实验方案及技术路线可行性论证
5.1 课题研究基本方法

本课题采用分阶段,逐步递进的方式开展研究。课题研究过程中将始终坚持理论探索与实践检验相结合的方法。本项目将主要研究知识的分布式存储策略,相对应的,整个科研社会网络的体系架构如图1所示。

clip_image038

图1 科研社会网络体系架构图

5.2 实验方案

针对以上拟解决的关键理论问题,科研社会网络实验方案如下所述:

(一)搭建科研社会网络底层拓扑

首先搭建科研社会网络底层拓扑,实现网络的基本功能。科研社会网络拓扑图如图2所示。

clip_image040

图2 P2P社会网络网络拓扑图

(二)基于用户现有资料库进行分词,计算得到用户兴趣

(三)根据用户兴趣计算用户兴趣矢量,得到用户相似度

(四)根据用户兴趣与内容的匹配程度,进行内容的个性化推荐

5.3技术路线

技术路线为:改进并设计结构化P2P底层网络拓扑构建算法;设计用户兴趣矢量计算方法,设计用户相似度计算方法,构建自组织社区;向用户推荐符合用户兴趣的内容;细节上优化系统,开发出切实可用的实际系统并大规模部署。

5.3.1科研社会网络底层拓扑构建技术

拟采用Kademlia协议作为结构化P2P底层拓扑构建技术。Kademlia协议是第三代的基于动态哈希表的P2P拓扑构造协议。由于其简单性、对称性等特点使得Kademlia协议被应用于目前流行的一些应用,如Emule,BitTorrent等文件共享软件。

Kademlia协议以异或运算为距离度量的基础,建立了全新的DHT拓扑结构,相比较于其他算法,路由效率较高。Kademlia协议定义了四个操作:(1)PING操作;(2)STORE操作;(3)FIND_NODE操作;(4)FIND_VALUE操作。PING操作的作用是探测一个节点,用以判断其是否仍然在线;STORE操作通知一个节点存储 <key,value>对,以便以后查询需要;FIND_NODE操作用于查找离目标节点距离在一定范围内的k个节点信息。FIND_VALUE操作类似于FIND_NODE操作,只是FIND_VALUE操作只返回一个节点信息,即存储着要查找的值得信息的节点[42]

当前Kademlia协议已经实现的功能在很大程度上能够满足科研社会网络的需求,但是考虑到研究者共享的特殊需求,需要修改Kademlia协议。当前Kademlia协议建立了Node和Value的映射以及Node和Node的映射,即用户和内容的映射以及用户和用户之间的映射。在科研社会网络中,还需要建立内容和内容之间的映射,同时还需要分析用户行为并且保存。

因此对于底层拓扑构建技术采取的研究方法是:(1)利用现有Kademlia协议,借鉴现有P2P文件共享系统中的应用方式;(2)针对研究者共享的特殊需求,修改并完善Kademlia协议;(3)通过小范围的试验,分析获取的实验数据,反馈并修改底层拓扑。

5.3.2基于分词的用户兴趣矢量算法

用户兴趣矢量算法研究技术路线为:考虑分词方法的改进;设计一个简单的兴趣矢量计算方法;深入了解现有的用户兴趣衡量的一些方法;借鉴并改进自己设计的算法;在软件中实现兴趣矢量算法并检验精确程度。

5.3.3基于兴趣矢量的自组织社区生成算法

自组织社区生成算法研究技术路线为:设计一个简单的自组织社区生成方法;深入了解现有的社区生成算法;改进自己设计的算法;在软件中实现自组织社区生成算法并检验效果。

5.3.4基于兴趣矢量的个性化推荐算法

研究方法为:(1)研究现有虚拟社区构建算法及个性化推荐算法;(2)考虑如何更加有效的反应出用户兴趣,从而改进算法;(3)将改进的算法在系统中实现。

5.4可行性论证

目前原型系统实验平台已经搭建成功。

本课题的研究建立在相关研究的成果基础之上,国内外已有一些成功经验可供借鉴,有一定的理论储备和一定的技术实现手段和工具,研究目标明确,内容符合实际;研究者对P2P底层覆盖网拓扑结构、数据分发机制、数据一致性维护和软件开发等相关问题有一定的专业知识能力。在课题组的老师和同学的指导帮助下,完全可以达到预期目标。

六.开展研究应具备的条件及已具备的条件,并估计在进行论文工作中可能遇到的困难与问题和解决措施
6.1 开展研究具备的条件

1) 收集了社会网络分析和P2P研究的相关资料,对课题的国内外现状、相关领域涉及的基础知识和系统设计所需要的技术有较为深刻的理解。

2) 本实验室有多年的网络多媒体开发经验,涉及网络协议、网络安全、网络多媒体传输等方面,其中我作为主要负责人完成了P2P VoIP——ppPhone [43]项目的开发,对P2P底层覆盖网拓扑结构理论上理解非常深刻,同时也极大的锻炼了我的工程实践能力,为本课题基于兴趣的科研社会网络软件的设计、实现、改进和完善打了坚实的基础。

3) 本实验室具备良好的软硬件开发环境,为本课题的研究提供了研究和实验平台。

4) 实验室的老师和同学理论和实践能力都很高,能在课题的研究中给予我理论和实践上的指导。

6.2 可能遇到的困难与问题

1) 目前国内外对该领域已有一定的研究,虽然可以借鉴许多优秀的研究成果,但也增加了创新难度;本人的研究方法尚有不足,还需改进。

2) 系统的设计和优化中,由于本人的项目开发实践相对较少,工程能力有限,可能遇到一些技术上的困难。

6.3 困难和问题的解决措施

对于遇到的困难,协作精神和集思广益的方法是制胜的关键。实验室的老师、同学无论是在工程实践还是理论探索方面都有着深厚的经验和技术积累。他们的指导对于本课题的研究将会提供不可估量的帮助。另外,课题组本身的不懈努力是所有工作进展的基础。遇到问题,从理论上深挖细究,从基础上寻找原因就一定能够有所收获。

七.论文研究的进展计划

1. 2007年11-12月:任务调研、确立研究目标、完成开题报告;

2. 2008年1-2月: 进一步改进和完善前一段时间实现的社会网络软件框架,搭建底层网络拓扑;

3. 2008年3月:用户兴趣衡量算法,设计并结合现有系统框架实现计算用户兴趣的模块;

4. 2008年4-5月:自组织社区构建模块,设计并实现到现有系统框架中。

5. 2008年6月:个性化推荐算法研究,设计并结合现有系统框架实现个性化推荐模块;

6. 2008年7-9月:实用化系统,应用到园区网,取得实验数据并反馈修改。

7. 2008年10-11月:整理近一年的研究工作,撰写毕业论文,准备答辩;

 在研究关键技术期间,发表一到两篇与研究相关的论文。

参考文献:

[1] 罗杰文. Peer to Peer ( P2P ) 综述[J].

[2] Bbs. http://en.wikipedia.org/wiki/Bulletin_board_system[J].

[3] Blog. http://en.wikipedia.org/wiki/Blog[J].

[4] Wiki. http://en.wikipedia.org/wiki/Wiki[J].

[5] Witkey. http://www.witkey.com[J].

[6] Orkut.

[7] Wallop. http://mywallop.com/[Z].

[8] Digg. http://www.digg.com[Z].

[9] Decilious. http://del.icio.us/[Z].

[10] Flickr. http://www.flickr.com/[Z].

[11] Saku. http://shingetsu.info/[J].

[12] Wiki P. http://sourceforge.net/projects/wooki/[J].

[13] 陈贵海李振华. 对等网络:结构应用和设计[M]. 2007.

[14] Gnutella. http://www.gnutella.com http://rfc-gnutella.sourceforge.net[J].

[15] Bittorrent. http://www.bittorrent.com[J].

[16] Mcmillan B. The BitTorrent Protocol[C]. In: 2004.

[17] Edonkey/emule. http://www.edonkey2000.com http://www.emule-project.net[J].

[18] Bickson Y K A D. The eMule Protocol Specification[C]. In: 2005.

[19] Freenet. http://freenetproject.org[J].

[20] Ian Clarke, Oskar Sandberg, Brandon Wiley A T W H. Freenet: A Distributed Anonymous Information Storage and Retrieval System[C]. In: 2000.

[21] Kazaa. http://www.kazaa.com[J].

[22] Jian Liang,rakesh Kumar K W R. The KaZaA Overlay: A Measurement Study[C]. In: 2004.

[23] 天网maze. http://maze.pku.edu[J].

[24] Gpu. http://gpu.sourceforge.net/[J].

[25] Seti@home. http://setiathome.berkeley.edu/[J].

[26] net D. http://www.distributed.net/[J].

[27] Groove. http://www.groove.net[J].

[28] Granary. http://hpc.cs.tsinghua.edu.cn/granary/[J].

[29] Oceanstore. http://oceanstore.cs.berkeley.edu/[J].

[30] Ben Y. Zhao, John Kubiatowicz A A D J. Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing[C]. In: 2001.

[31] Past. http://research.microsoft.com/~antr/PAST/[J].

[32] Druschel A R A P. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems[C]. In: IFIP/ACM International Conference on Distributed Systems Platform.2001.

[33] Cfs. http://pdos.csail.mit.edu/papers/cfs:sosp01/[J].

[34] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek H B. Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications[C]. In: SIGCOMM’01.San Diego, California, USA.: 2001.

[35] Maziereg P M A D. Kademlia: A Peer-to-Peer Information System Based on the XOR Metric[J]. 2002.

[36] Schwab,kobsa,a. &. Learning User Interests through Positive Examples Using Content Analysis and Collaborative Filtering[J]. User Modeling and User-Adapted Interaction. 2001.

[37] Zengc,xingcx&zhoul. Similarity measure and instances election for collaborative filtering[C]. In: Proceedings of the twelfth International World Wide Web Conference.2003.

[38] GoldbergkgUptad,digiovannim&naritah. Jester 2.0: Evaluation of a new linear time collaborative filtering algorithm[C]. In: International ACM SIGIR Conference on Research and Development in Information Retrieval.1999.

[39] Burke R. Knowledge-based Recommender Systems.[J]. Encyclopedia of Library and Information System. 2000.

[40] Gutman R H. Merchant Diferentiation through Integrative Negotiation in Agent-mediated Electronic Commere[D]. MIT, 1998.

[41] Rich E. User Modeling via Stereotypes[J]. Cognitive Science. 1979.

[42] Mmx. Kademlia 协议原理简介[J]. 2006.

[43] Ppphone. http://sourceforge.net/projects/ppphone[J].

  1. Keym1,Pm1),……,(Keymm,Pmm []
March 7th, 2008

最近的研究(关于建立用户兴趣模型)

用户兴趣矢量的计算方法

用户模型的定义:

用户模型的定义用户模型不仅仅是对用户兴趣的准确描述,作为以计算机平台为依托的个性化服务系统,可计算性是它对用户模型的基本要求。也就是说,个性化服务系统中的用户模型不是对用户个体的一般性描述,而是一种面向算法的,具有特定数据结构的形式化的用户描述。

用户间的兴趣相似度的定义:

用户兴趣相似度是衡量2个用户兴趣矢量之间近似程度的一个指标。用户兴趣相似度是一个数值,取值范围在[0,1].规定:一个用户与其自身的兴趣相似度为1.

用户模型:

【1】用户兴趣建模方式

clip_image002

现有方法综述

A.基于模板的用户建模方法

是将用户的个人信息划分为一些模板。并通过这些模板帮助系统预见用户的行为的用户建模方法。应用模板可以为具有不同背景知识的用户分类进而为用户提供合适的信息和建议。尽管这种方法对于快速生成系统中的用户模型是一种很有效的技术,但也存在着明显的问题:模板的工作是寻求用户特征与数据库中项目的描述的匹配。如果这样的描述本身有同题的话,就可能导致系统建模的错误。实际上,这种描述往往是设计者人为进行的,难以避免主观性和片面性。因此,为了使模板技术具有更加广泛的实用性,这种描述必须是自动生成的。

B.基于机器学习的用户建模方法

机器学习是智能系统不断地积累经验以改善系统性能的过程,主要的学习方法有归纳学习方法和分析学习方法。早期使用机器学习的用户建模方法,主要是用来捕获用户行为所隐含的认知过程和普通用户与专家之间技能的差异;目前的研究重点则是放在了对用户行为本身的模式和偏好上。机器学习是用户模型隐式获取方法中最常用的一种。它的目的在于减少用户的直接干预,并且增强用户模型的话应性。统计相关分析法是用户建模过程中机器学习的主要方法,它将用户的行为和上下文关联起来。以后通过上下文就可以检索到对应的行为,从而起到预测用户行为的作用。机器学习的优点在于不需要用户的干预,适合于对用户模型进行定期的动态更新。其存在的同题主要包括:需要大量的数据集合;需要标定的数据;概念漂移;计算复杂等等。

C.基于贝叶斯网络的用户建模方法

在用户建模的过程中,常常会有一些不确定的因素。因此就需要一些能在不确定因素下还能够进行推理的方法。概率技术,尤其是贝叶斯网络是解决上述问题的有效方法。贝叶斯网络又称为概率推断网和信度网。是用来表示变量同连接概率的图形模式,是一个有向无环图。它基于如下假设:人们感兴趣的变量值受概率分布的控制。结合观察数据,对退些概率进行推算便可做出最优的决策。以前贝叶斯网络大多用于对静态数据进行处理,近年来将贝叶斯网络用于动态变化的不确定性领域的兴趣正在增加。此方法正在以其独特的不确定性知识表达形式、丰富的概率表达能力、综合先验知识增量学习特性等成为目前用户建模众多方法中最为引人注目的焦点之一。

D.基于神经网络的用户建模方法

神经网络是反映人脑结构及功能的一种抽象数学模型,一个神经网络是由大量神经元节点互连而成的复杂网络。用以模拟人类进行知识的表示与存储以及利用知识进行推理的行为。一个基于神经网络的用户建模系统是通过学习获取知识后建立的。从本质上讲,神经网络的学习是一种归纳的学习方式,它通过大量实例的反复学习,由内部自适应过程不断修改各

神经元之间相互的权值,最终使神经网络的权值分布收敛于一个稳定的范围。

E.基于逻辑的用户建模方法

是指能够建立一个具有推断有关用户假设的用户模型的建模方法。

F.基于模糊集的用户建模方法

是指应用模糊数学的处理方法进行用户建模的方法。

使用不同技术的建模方法比较:在上述用户建模的方法中,基于逻辑的方法、基于贝叶斯网络的方法、基于神经网络的方法和基于模糊集的方法都涉及到用户建模过程中的具体知识表示方法,其中贝叶斯网络的方法最常用。例如微软的Office助手就采用了这种方法(贝叶斯推理算法)来推断用户的意图。基于机器学习的方法和基于模板的方法实际上并不是知识表示方法。而是知识获取和利用的方法,但是它们必须以具体的知识表示为基础。基于模糊集和基于神经网络的方法都是为了表示与处理用户模型中不确定性知识丽引入的方法,但两种方法从概念到技术都不相向。基于模糊集的方法是模仿入脑的逻辑思维,而基于神经网络的方法是模仿入脑的结构来映射输入特征与输出结论的非线性关系。两种方法可以结合起来,各取所长,互相补充。

方法

基于VSM、基于神经网络、基于逻辑、基于贝叶斯、基于模糊集、基于机器学习

clip_image004:使用VSM(Vector Support Machine)来建立用户模型

clip_image006

1) 在VSM中,用户兴趣模型由兴趣特征及其相应的权重对组成,能够表示每个兴趣特征在用户兴趣模型中的重要程度,而不只是对该特征存在与否的描述。这样有利于在对用户的多种兴趣进行描述时,各种兴趣之间的比较以确定用户当前的真正兴趣。

2) 由于VSM广泛应用于特征表示,在本文实现的原型系统中,也使用了VSM作为文本和领域类别的类向量的表示方法。用VSM 表示用户兴趣模型,有利于文本、领域类别和用户兴趣模型之间的分析与计算。

3) 使用VSM表示用户兴趣模型,可以利用向量间的余弦距离来计算用户兴趣模型的相似度,其运算速度相当快,有利于比较用户间的兴趣相似度 。

4) 对兴趣特征的权重进行调节就可以改变该特征在用户兴趣模型中的重要程度,这样对于分辨长期兴趣和短期兴趣以及它们之间的互相转换是相当方便的。

例二

使用了用户感兴趣的领域类别、用户感兴趣的关键词和信息来源这三个方面作为用户的兴趣特征。

用户兴趣模型I可以表示为: clip_image008

clip_image010

clip_image012

clip_image014

IC表示科研用户感兴趣的领域类别的特征向量,ni为用户感兴趣的领域类别的序号,实际对应于第ni个领域类别的类向量Cni;IK表示科研用户感兴趣的关键词的特征向量,Ki为用户感兴趣的关键词;IS表示科研用户经常访问的信息来源的特征向量。

IC从粗粒度描述了用户的兴趣,它表示了用户兴趣的一个范围和方向。

IK从细粒度描述了用户的兴趣,它以关键词或关键词的组合来表达用户对信息的查询或者用户想获取的信息的特征。

方法二:基于贝叶斯网络模型的用户兴趣联合推送

1) 目标表示:是指从目标信息(如用户兴趣或文档)中选取一些特征项(如术语等),用这些特征项及其在目标信息中的重要性来代表目标信息。

VSM方法:

(1) 选取一组适合于表示目标信息的术语(T1,……, Tn)

(2) 对于目标信息F,根据术语Ti在F中的重要程度求出权值Wi,i=1,……,n,然后把目标信息F用术语特征矢量(W1,……,Wn)表示出来,Wi表示Ti在F中的权重。我们根据术语在文档中的属性及其文件频度和反频度将文档表示为术语特征矢量。如果术语Ti出现在文档的标题或作者中,那么其权重为1。如果术语出现在文档F的正文中,则根据术语的文件频度和反频度计算其权重,计算公式为:

clip_image016

其中,tf(i)为术语Ti在文档F中出现次数,df(i)是包含术语Ti的文档数,n是全部文档数目,tfmax是文档F中出现最多的术语的出现次数。

2) 用户兴趣建模

(1) 通过用户主动提供自己的兴趣来得到用户的初始兴趣模型

(2) 通过用户对搜索结果的反馈信息来更新用户的兴趣模型

(3) 在用户没有明确参与的情况下,系统通过观察用户行为来更新用户的兴趣模型,并将用户阅读过的信息元数据保存起来。

方法三:基于神经网络的方法(参见文献 基于动态自组织映射的用户兴趣建模方法)

(1) 分词提取关键字;

(2) 采用词频——逆向文档频率(Term Frequency-Inverse Document Frequency, TF-IDF)术从经过切词、还原或停词处理后的文本中提取表征文本的特征。具体做法是,将每一篇文本文档表示成向量空间中的一个向量,向量的每一维由文档d中的一个单词wi和其权重组成。每个单词的权重值di通过式(1)计算产生:

clip_image018

其中,TF(w;,d)是词频,表示单词wi在文档d中出现的次数; |D|是文档总数量; DF (w;)是文档频率,表示单词wi至少在其中出现一次的文档的数量; log(|D| /D F(w,))是单词wi的逆向文档频率,表示包含单词wi的文档数量越多,wi在区分文档中的作用越小。

经过上述步骤后,文本信息集中的每一篇文档都能够用一个以单词为特征的向量来表示。由于一篇长文档转化成向量后可能导致很高的维数,出于有效性和计算性的双重考虑,通常选用80^-120个具有最高TF- IDF权重的单词作为关键词来表征一篇文档,即表征用户偏好特征。

DS OM 神经网络以成长型单元结构(Growing Cell Structures, GCS)为基础。GCS是一类网络结构可变的自组织映射(Self – Organizing Map, SOM)神经网络。DS OM 方法将用户兴趣建模过程看成是一个增量聚类过程。该过程起始于输出层为一个三角形的网络互连结构,即初始类别数为3。对于用户感兴趣的每一篇文档,网络计算其特征向量与所有输出神经元权向量之间的欧氏距离。如果存在某些距离值小于预先给定的一个距离闭值0,则网络根据基本SOM的竞争规则,将文档归人与其距离最小的神经元(获胜神经元)所代表的类中,同时调整获胜神经元及其直接相邻神经元的权向量,使与该输入相似的模式再次出现时,这些神经元更加容易获胜。

DSOM方法分别通过网络权重调整、增加新神经元和删除旧神经元3种类型的操作,学习并跟踪用户的多种兴趣及兴趣变化。

我的选择:采用支持向量机模型,采用TF-IDF函数来计算关键词的权重

词频——逆向文档频率(Term Frequency-Inverse Document Frequency, TF-IDF)(见文献Automatic Text Processing 1989)

考虑三个层面:

用户的多兴趣(用户的兴趣是多种多样的,模型通常只能反映出用户的主要兴趣,因此如何选择和决定哪些兴趣是用户的主要兴趣需要考虑)

用户的长期兴趣和短期兴趣

【3】用户兴趣的更新

用户的兴趣和信息需求在一定时间内具有相对的稳定性,但又不是一成不变的。当用户兴趣及信息需求发生改变时,便需要相应的对已有的用户模型进行优化和更新。

clip_image020

March 7th, 2008

P2P知识共享网络研究与实现

P2P知识共享网络研究与实现

一.课题名称、来源、选题依据
1.1 课题名称

P2P知识共享网络研究与实现

1.2 课题来源

实验室自主研发

1.3 选题依据
1.3.1 知识共享的需求

知识是通过实践、研究、联系或调查获得的关于事物的事实和状态的认识,是对科学、艺术或技术的理解,是人类获得的关于真理和原理的认识的总和[1]。知识是对事实或思想的一套系统的阐述提出合理的判断或者经验性的结果,它通过某种交流手段,以某种系统的方式传播给其他人[2]。总之,知识是人类积累的关于自然和社会的认识和经验的总和。

知识共享可以定义成:知识从一个人、群体或组织转移或传播到另一个人、群体或组织的活动。个体知识、组织知识通过各种交流手段为组织中其他成员所共享, 同时,通过知识创新, 实现组织的知识增值。知识只有通过相互交流、学习、共享才能得到发展, 知识的共享范围越广, 其利用、增值的效果越好。知识只有被更多的人共享, 才能使知识的拥有者获得更大的收益。知识共享包括两个方面的内容,分别是知识生成和知识的重复使用[3]。人类社会传承的数千年历史中,知识的共享一直是人类社会得以发展和进步的源动力。知识的共享对于促进人类社会的进步无疑更具有重要的意义。

1.3.2 传统知识共享的不足

知识的共享是如此的重要,以至于人类社会几乎每次重大的进步都与知识共享手段的进步有直接的关联。从最初的造纸术的发明,到现在互联网的发明,知识共享的手段越来越进步。但是我们仍然能够看到,当前的一些知识共享手段仍然是有局限的。

现在和未来我们需要的知识共享模式必须具备以下特点[4]:

(1 )不受地域 (地理的和网络的)、时间和其他任何条件的限制;

(2)共享机制中的每个人既是知识获得者,也是知识发布者,同时还是知识收集者;

(3)不需要耗费更多资源即可实现知识共享;

(4)知识的形式是不限的,可以是文字、数据或文件等等;

(5)机制是开放的,只要遵从共享规范,每个人都可以有自己的发布方式。

我们希望能够有一种随时随地允许人们共享自己的经验、想法等知识并且将人们的知识永久保存下去的一种方法或者工具,从而能够使得人类文明得以更好的传承,人类社会得以更好的发展。人们的视野总是受当时社会发展的程度所制约的,我们也不例外。在现有的技术基础上, P2P知识共享网络能够很好的实现上面提到的目标,即允许人们在任何时候任何地点共享自己的经验、想法,并且将被保存。

1.3.3 P2P知识共享网络优势

P2P的本质即为共享,P2P模式将计算机网络和分布式计算结合起来,网络的参与者共享他们所拥有的部分资源,这些共享资源由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体[5]。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。P2P具有非中心化、可扩展性、健壮性、高效性、隐私性和负载均衡等特性,这些特性能很好的避免传统的知识共享系统的一些问题。采用P2P模式来实现知识共享系统,真正的体现了共享的本质,人们能够直接的交流知识,随时将知识存储到网络中,而不用关心知识具体存放到哪里,在任何时候都能够将知识取回来,而且知识的继承性也能被很好的维护,用户的私密性也得以保证,系统的可用性很好。

二.本课题国内外研究现状及发展趋势

现有的知识共享模式主要有三种:

基于C/S模式:如图书馆,图书馆是一个服务器,用户是客户机,读者从图书馆取得资料,相当于从客户端从服务器获取数据。这种模式在现实社会中的例子如老师授课等。

基于C->C/S模式:如搜索引擎,搜索引擎从各处检索资料,客户端通过搜索引擎获取资料。这种模式在现实生活中的例子如购书者、图书发行商和作者形成的关系等。

基于P2P模式:所有的用户共享知识和资料,用户根据需要从P2P网络获取所需的内容。这种模式在现实生活中的例子如人们相互的探讨,交流等。

我们将前两种作为传统的知识共享模式来对待。人类社会知识共享的模式更倾向于第三种,所有需要知识的人之间相互交流。但是现有的技术手段限制了人们交流的方式。

目前传统的知识共享模式已经非常成熟,但是国内外还没有产品化的P2P知识共享网络,研究也处于初步的阶段。因此我就两个方面分析国内外现状,一部分是传统知识共享系统的国内外现状;一部分是P2P知识共享网络的国内外现状。

1. 传统知识共享系统

Internet诞生本身即是为了共享,从20世纪70年代末的BBS [6]到目前的博客(Blog)[7]、维基(Wiki)[8]、威客(Witkey)[9]、百度知道[10]、新浪爱问[11]和Yahoo知识堂[12]等等,出现了很多知识共享系统。

BBS:BBS全称Bulletin Board System(电子公告板),BBS能够发布内容,用户交流,是最初信息共享交流的雏形,我们认为BBS可以算作是最早的知识共享系统的雏形。目前已经有了基于P2P的BBS(Saku)[13],不需要类似于当前论坛的中心服务器,所有的数据分布存储于用户节点上。

Blog:中文名博客,是当前网络上流行一种信息表达形式。它顺序地记载一些想法、评论等,并且通过超级链接把相关的资源组织起来,从而形成一种对某一信息资源的小型信息库,使得信息以此为扩散地或集中点。博客通过Trackback的方式互相链接起来,组成一个类似于社会网络的知识网络。但是博客内容主要是个人思考之类,自有知识储存体现不多,可谓有思想而无知识;基于Web发布,不便于共享和交流。因而就其本质来说主要是一种基于Web的个人表达工具,而不是完善的知识共享机制。

Wiki:中文名维基,Wiki是一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。与大多数网络亚文化一样,Wiki也同样是体现开放、合作、平等、共享的网络文化。目前的Wiki多是基于中心服务器的。Wiki使用版本控制系统来维护数据的一致性。Wiki的版本控制系统能够保证内容被篡改之后回滚至以前正确的版本。Wiki更类似于创作共享模式,在共同创作一个文档的过程中,作者更多的在付出而非收获,无法实现真正意义上的知识共享。同BBS类似,目前已经有了基于P2P的Wiki系统[14],将写作过程中产生的内容分布存储于所有作者节点上,不需要中心化的服务器。

Witkey(威客):通过互联网把自己的智慧、知识、能力、经验转换成实际收益的人,他们在互联网上通过解决科学,技术,工作,生活,学习中的问题从而让知识、智慧、经验、技能体现经济价值。威客模式也不是真正的知识共享的方式。

类似地,目前国内的百度知道、新浪爱问和Yahoo知识堂等都是以帮助解答问题的模式来共享

December 22nd, 2007
本WordPress博客由爱写字提供技术支持