




已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)个性化推荐系统架构及相关技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着以电子期刊和在线文档形式存在的科技文献的不断增加,对科研教学人 员来讲,如何充分利用现有的网络信息资源,从庞杂的电子文档中及时、准确地 获知与自己研究领域相关的最新科技信息就显得非常必要。对于科教人员这一特 定群体来讲,其信息需求倾向会在相当长一段时间内围绕一个主题基本保持不 变,所以他们会长期关注某类信息的发展动态。因此,根据用户个人一贯的兴趣, 将用户真正感兴趣的信息主动提供给他,而尽量屏蔽那些不为用户喜欢的信息, 使之能够真正做到“各得所需”,这正是个性化推荐系统的特征所在。 个性化推荐技术中用户需求信息的获取与学习、用户需求的描述文件的表达 与更新、资源描述文件的表达、个性化推荐技术是关键。 在建立用户兴趣模型时,需要对代表用户兴趣的中图分类号进行挖掘,由于 传统的a p r i o r i 数据挖掘算法更适合于处理无序的集合,而中图分类号中的号码 是有序的,我们提出了一种改进的算法来自动构建用户兴趣模型,从理论上来说, 这也是属于基于本题的特征抽取技术。 据此基础,我们从工程的角度,根据实际需求,我们设计了整个系统的架构, 以及开发了一个科技文献个性化推荐系统作为典型应用。 文章最后简要介绍了该系统的功能服务。 关键词:数字图书馆个性化推荐系统分类技术网络爬虫用户模型 中图分类号:t p 3 9 1 a b s t r a c t a st h ei n c r e a s e m e n to fd i g i t a la n do n l i n ed o c u m e n t s ,i tb e c o m e sm o r ea n dm o r e i m p o r t a n tf o rr e s e a r c hp e r s o n st h a th o wt ou t i l i z ee x c i s t i n gn e t w o r kr e s o u r c e s ,g e tt h e r e l a t i v ei n f o r m a t i o n f o rt h i sg i v e ng r o u p ,t h ei n f o r m a t i o nd e m a n di ss t a b l ei nal o n g t e r mo ns o m es p e c i a ls u b i e c t s ,a sar e s u l t ,w ec a l lt r a c kt h eu s e r s i n t e r e s t sa n d r e c o m m e n dr e l a t i v ei n f o r m a t i o nf o rt h e m n i si st h ek e yo fr e c o m m e n d a t i o ns y s t e m i nap e r s o n a lr e c o m m e n d a t i o ns y s t e m ,t h ek e yp o i n t sa r eu s e rm o d e l ,r e s o u r c e m o d e la n dt h er e p r e s e n t a t i o na n du p d a t em e t h o d so fs u c hm o d e l s i nt h i sp a p e r w ep r o p o s eau s e rp r o f i l em o d e lb a s e do nt h ec h i n e s el i b r a r y c l a s s i f i c a t i o n w ea l s od e v e l o pt h ec o n s t r u c t i o na n du p d a t ep r o c e s so ft h i sm o d e l a s t h et r a d i t i o n a la p d o r ia l g o r i t h mh a n d l e st h eu n o r d e r e di t e ms e t se 蚯c i e n t l y , w h i l et h e i t e r ns e t si nt h el i b r a r yc l a s s i f i c a t i o na r eo r d e r e d w ep r o p o s ea ni m p r o v e da p f i o r i a l g o r i t h mt oc r e a t et h ei n i t i a lu s e rp r o f i l e sc o m p o s e do ft h ei t e r ns e t sa u t o m a t i c a l l y , a n dt h e nw eh a v ei n t e g r a t e do u rm o d e la n da l g o r i t h mi n t oas c i e n t i f i cl i t e m t u r ef i l t e r s y s t e mf o rf u d a nu n i v a sar e p r e s e n t a t i v ea p p l i c a t i o n f i n a l l y ,w eg i v eab r i e fi n t r o d u c t i o no ft h ef u n c t i o n a l i t yo ft h i ss y s t e m k e yw o r d s :d i g i t a ll i b r a r y , r e c o m m e n d a t i o ns y s t e m ,c l a s s i f i c a t i o n ,w e bc r a w l e r , p r o f i l e m o d e l c l c :t p 3 9 1 2 第一章绪论 1 1 研究背景 在网络环境下,人们可以借助互联网上丰富的信息资源、功能强大的搜索引 擎和快捷的传送手段,使文献资料的搜集和获取变得十分容易,然而,在使用中 人们也发现要准确、快速地查找自己所需的信息却是越来越困难。这其中有两方 面的原因:一方面,人们一次搜索得到的结果可能有成千上万条,但其中有用的 却很少;另一方面,由于不同类型、不同载体的数据库大量增加,使得网站的用 户界面变得十分复杂,用户使用不同的资源往往需要使用不同的检索软件并需对 路径及其他一些参数进行必要的设置。这就大大增加了用户检索和利用网上信息 资源的麻烦。面对网络信息服务的现状,人们在寻求一种将信息用户感兴趣的信 息主动推荐给用户的服务方式,也就是个性化的信息服务。 所谓个性化信息服务,最直接的概念就是“以用户为中心”的服务模式e 即 根据用户提出的明确要求,或通过用户个性、习惯的分析而主动向用户提供其可 能需要的信息和服务,也是培养个性,引导需求的服务。其根本就是尊重用户, 研究用户的行为和习惯,为用户选择更为重要的资源,提供特色服务。 个性化推荐服务的涵义是什么昵? 其个性化的实质是针对性,即对不同的用 户采取不同的服务策略,提供不同的服务内容。推荐的实质是主动性,即系统自 动按照用户的信息需求提供相应的服务。在信息领域,就是实现“信息找人,按 需服务”的目标。每个用户都有自己特定的、长期的信息需求。用这些信息需求 组成过滤条件,对资源流进行过滤,就可以把资源流中符合需求的内容提取出来 进行服务,这种做法就叫做信息过滤。信息过滤是个性化服务的基础。 1 2 相关研究 目前存在着许多个性化服务系统,它们提出了各种思路以实现个性化服务。 个性化服务系统根据其所采用的推荐技术可以分为两种:基于规则的系统和信息 过滤系统。信息过滤系统又可分为基于内容过滤的系统和协作过滤系统。基于规 则的系统如:b r o a d v i s i o n ,i l o g 等,它们允许系统管理员根据用户的静念特征和 动态属性来制定规则,一个规则本质上是一个i f - t h e n 语句,规则决定了在不同的 情况下如何提供不同的服务基于规则的系统其优点是简单、直接觖点是规则质 量很难保证,而且不能动态更新,此外,随着规则的数量增多,系统将变得越来越难 以管理。基于内容过滤的系统如:c i t e s e e r i f w e b ,s i f t e r ,p v a , w e b m a t e ,w e b a c e 和w e b p e r s o n a l i z e r 等,它们利用资源与用户兴趣的相似性来过滤信息。基于内容 过滤的系统其优点是简单、有效,缺点是难以区分资源内容的品质和风格,而且不 能为用户发现新的感兴趣的资源,只能发现和用户已有兴趣相似的源。协作过滤 3 系统如:w e b w a t c h e r , g r o u p l e n s ,f i r e f l y , 它们利用用户之间的相似性来过滤信息。 s t a n f o r d 大学的s i f t ( s t a n f o r di n f o r m a t i o nf i l t e r i n g t 0 0 1 ) 系统主要是对网络新 闻进行过滤,它使用向量空间模型来实现用户定制的信息需求与新闻资料之间 的匹配,其用户的信息需求,即用户需求模型,是由用户事先提交其兴趣关键词 和非兴趣关键词的方法来创建的。由于s i f t 系统用户规模增长迅速,到1 9 9 6 年4 月,该系统需处理的数据规模已达到:每天必须为4 0 ,0 0 0 多个订阅请求推 送8 0 ,0 0 0 多篇新闻报道。为提高系统的效率,s i f t 系统在实现新闻推送时,对 用户定制兴趣的处理采用了检索系统中通常对文献的处理方式,即对所有兴趣主 题词进行标引,用倒排方式对系统中现有的订阅请求进行统一组织。但是,s i f t 系统没有考虑用户兴趣的不定期更新这一客观需求,所以上述方法对需要更新的 用户兴趣并不适用【9 1 0 】。 n e c i 研究所于1 9 9 7 年开发研制了r e s e a r c h l n d e x 科技文献电子图书馆( h t t p : w w w r e s e a r c h i n d e x c o r n ) 系统【1 1 1 2 】。r e s e a r c h l n d e x 目前的文献规模已经达到 3 0 0 ,0 0 0 多篇原文文献、4 ,0 0 0 ,0 0 0 多篇引文资料,共5 ,0 0 0 ,0 0 0 多个页面,而且 它已经开始为全球的科研人员提供英文科技文献的全文服务。r e s e a r c h l n d e x 系 统借鉴了新西兰w a i k a t o 大学计算机系开发n e wz e a l a n dd i g i t a ll i b r a r y 的部分研 究成果( h t t p :w w w n z d l o r g ) ,对p s 格式的英文科技文献转换为计算机可直接 处理的a s c i i 文本文件,然后对a s c i i 文本文件进行统一标引。但其整体设计 思想主要是借鉴了s c i ( s c i e n t i f i cc i t a t i o ni n d e x i n g ) 对科技文献的组织和评价方 法,特别是通过对文献引文的详尽分析,实现了科技文献全自动的引文索引 ( a u t o m a t i cc i t a t i o ni n d e x i n g ) 。在科研人员看来,通过r e s e a r c h l n d e x 电子图书馆 来获取科技文献很类似自己通常获取文献的方式,不但可以直接获取文献原文, 还可以在系统的指导下很方便地获取其引文信息和内容相关的其他文献。据相关 文献介绍,r e s e a r c h l n d e x 电子图书馆系统也提供了用户p r o f i l e 机制,以期达到 通过e m a i l 和w e b 界面实现新文献向注册用户推送的目的。在r e s e a r c h l n d e x 中, 用户的身份是通过岍p 的c o o k i e 文件来验证、保存和识别的。用户p r o f i l e , 即用户的兴趣信息需求通过多种形式来描述,它可以是用户自己添加的关键字, 也可以是用户关注的网址信息、还可以是用户在浏览文献时随时添加进来的自己 认为有价值的文献信息。这几种兴趣的描述形式之间是逻辑或关系,即如果新文 献含有指定的关键词信息,认为该新文献与用户需求相关;如果新文献引用了用 户反馈的兴趣文献之一,认为该新文献与用户需求相关;如果新文献与用户反馈 的文献在内容上相关,也同样认为该新文献与用户需求相关。尽管方法直观、思 路明确,但该项服务因待处理信息的多样性和复杂性,在r e s e a r c h l n d e x 系统中 并没有真正实现。 p a z z a n im 等人提出的s y s k i l l & w e b e r t 系统是用来学习用户兴趣的智能 a g e n t 。该系统首先从用户提交的兴趣文档中识别出特征词信息或接受用户直接 提交的带权兴趣词信息,将其作为创建初始用户兴趣的依据。之后s y s k i l l & w e b e r t 智能a g e n t 通过跟踪用户的浏览行为,提供给用户对浏览页面兴趣或非兴趣的反 馈指示,为初始的兴趣类收集特征页面。如果用户不知道应该沿哪条超链继续浏 览时,可以征求智能a g e n t 系统的建议。系统将在服务器端采用简单贝叶斯分类 法对初始兴趣进行更新学习,并给出当前页面上每个超链相对于当前兴趣的相关 程度,来指导用户在网络上的相关信息获取。由上述的分析可见,该系统的用户 兴趣是通过用户反馈提交兴趣或非兴趣文档和直接提交的加权关键词来描述的; 在更新用户兴趣时,采用了算法复杂度较低的贝叶斯分类法 1 3 1 。 t r e c 是t e x tr e t r i e v a lc o n f e r e n c e 的缩写。 t r e c 通过提供规范的大规模语料( g b 级) 和对文本检索系统性能的客观、 公正的评测,来促进技术的交流、发展和产业化,同时促进政府部门、学术界、 工业界间的交流和合作。t r e c 会议上两个传统的任务是路由寻径( r o u t i n gt a s k ) 和专项检索( a dh o ct a s k ) ,而过滤伍l t e r i n gt r a c k ) 是路由寻径任务的重要子项目。 t r e c 在信息检索的理论和技术研究以及系统测试评价方面取得的结论和标准, 对信息过滤的形成和发展提供了强有力的支持。1 9 9 6 年t r e c 4 会议第一次将 过滤列为路由寻径任务的一个专项,同样在规范的语料库基础上,不同的过滤系 统和过滤方法的性能可以在t r e c 会议上进行对比评测。但过滤项目的内容随着 研究试验的深入更切合实际应用。在t r e c 一7 之前,过滤项目都是以大规模语料 作为训练集,使每一个主题( t o p i c ) 都有相应的相关文档集,然后在新语料中 进行测试。从t r e c 7 开始过滤项目再度细分,可以通过三种方式进行文本过滤, 即适应性过滤( a d a p t i v ef i l t e r i n g ) 、批过滤( b a t c hf i l t e r i n g ) 和路由寻径( r o u t i n g ) 。 特别是适应性过滤这种方式,它能够模拟在线时间要求很紧的文本过滤应用。适 应性过滤具体是指过滤的初始起点是从某一主题的描述中提取出来的特征信息, 而不是庞大的相关文档集。在过滤时通过用户对推送文档相关程度的在线即时反 馈,系统对反馈信息的学习后得到一个对该主题更好的描述。与适应性过滤相比, 批过滤和路由方法则是传统的机器学习方法,通常是指以一批用户评价标识的训 练文档集为起点。批过滤要求用户必须立刻给出对被检出文档或确定接收或确定 拒绝,而路由任务则是返回一个按相关性排序的文档列表f 2 0 ,2 1 1 。 东北大学的姚天顺教授和林鸿飞博士等人进行了中文文本过滤技术的研究 ( 使用新闻资料作为其实验语料库) 。在他们提出的中文文本过滤模型中,用户 需求采用基于实例文本的主题词表示,文本表示采用向量空间模型,需求与文本 的匹配技术采用向量夹角余弦作为相似系数。为了更好地排列满足闽值要求的文 本,在对文本进行索引时,他们引进文本结构分析技术,从文本中获取逻辑层次 信息,以期提高文本片断检索时文档与查询的匹配效率 2 3 2 5 。 f a b 是s t a n f o r d 大学数字图书馆项目组开发的基于内容的过滤和协同过滤 的复合型推荐系统,用于推荐w e b 页面。其特点是综合了基于内容过滤的推荐 和协同过滤推荐的优点,同时支持两种类型的推荐服务。f a b 系统主要包括页 面收集代理,个人推荐代理和中心路由器。页面收集代理从w e b 上收集特定主 题的页面,个人推荐代理从特定主题中选择用户感兴趣的页面推荐给用户。个人 推荐代理根据文档内容信息建立用户的用户档案,然后根据用户档案之间的相似 性搜索用户的最近邻居。产生的推荐结果可以基于用户档案中的文档内容信息, 也可以基于用户最近邻居的评价信息f 2 6 】。 数据挖掘技术在推荐系统中的应用。各种数据挖掘技术,包括关联规则挖掘、 序列模式挖掘、聚类分析、b a y e s i a n 分类等在推荐系统中得到了广泛的应用。基 于w e b 挖掘的推荐系统得到了越来越多研究者的关注。 1 3 本文的内容安排 为了实现个性化推荐,首先需要通过一种合适的表达方式建立用户的兴趣, 并跟踪用户行为进行兴趣的自适应更新。为了把资源推荐给用户,必须组织好资 源,选取资源的特征,并采用合适的推荐方式。此外,还必须考虑系统的体系结构, 考虑在服务器端、客户端和代理端实现的利弊。本文从用户兴趣模板的构造与更 新、文献资料的组织表达、个性化推荐以及体系结构这4 方面讨论文献推荐系统 的实现。 本文第一部分是引言,介绍了推荐系统的概念和特点,并介绍了国内外相关 研究的情况;第二部分部分详尽分析了推荐系统的相关关键技术:用户兴趣,涉 及到的分类与挖掘技术。第三部分介绍了个性化推荐系统所使用到的系统架构, 并对工程应用方面的核心技术提出了解决方案:第四部分提出了一种改进的算法 来自动构建用户兴趣模型;第五部分介绍了一个典型的个性化推荐系统,最后指 出目前使用状况,提出今后继续研究的方向。 6 第二章个性化推荐系统架构涉及技术理论 在个性化推荐系统中分类技术应用进展及展望,本系统的定位,不仅是针对 校内的教育网的用户,也希望当系统不断发展比较成熟与完善的时候,可以更扩 展到商业应用的范围,所以在系统架构的设计时候,尽可能的搭建比较成熟,可 扩展的架构。 2 1 企业级软件系统的架构分析 “企业”是一个为了实现某个共同目的而在一起工作的人或实体的组织。企 业通常都有一些共同的需求,如信息共享和处理、资产管理与跟踪、资源规划、 客户及用户管理、商业机密保护等,企业级软件就是能够支持企业共同需求的这 类软件的总称。一般来说,企业级应用指的是规模庞大,业务逻辑复杂的系统。 例如:金融系统、供应链系统、预订系统以及e r p 系统等。这些系统运行着各种 各样的业务。企业级应用具有自身特殊的需求和解决方案。 2 1 1 开发企业级软件所面临的难题 为了充分利用i n t e m c t 和w w w 的强大能量,所需要的不仅仅只是将企业级 系统推向各种用户渠道,同时也要及时反复地进行,要经常更新其中的信息及服 务,同时企业的规模和需求也在不断变化。因此,开发企业级应用的主要挑战来 自于怎样在充分维护和利用现有商务系统的基础上,跟上激烈竞争的步伐,在这 样的环境下,时间因素对于获得和维持竞争力尤为重要。有许多因素能够加强或 阻碍企业迅速开发定制的企业级应用程序并使其价值在整个生产期内达到最大 化的能力。 软件的生产能力 毫无疑问,企业要在信息化时代中取得成功,开发、装配和部署应用程序的 能力将是一个关键的因素。应用程序从初具雏形到最终成为产品,应该是一个较 为快速的过程,并且在对它们进行部署之后继续发展。但有非常多的因素制约软 件的生产能力,首先的一个不稳定因素就是1 1 1 t e m e t 和其他一些分布式计算应用 程序中技术和编程模型之间存在分歧。比如h t m l 、c g i ( c o m m o ng a t e w a v i n t e f f a c e ) 等技术提供了对w e b 页面的支持的一种机制,而像数据库管理系统等 后端系统则提供对数据访问的操作。这些技术提供了多样化的编程模型,其中一 些已经定义得非常完善了,而其他一些则基于特定的标准,甚至还有可能存在一 些停留在私有层次的编程模型。这样对软件开发团队来说,要对应用需求进行有 效地交流将十分困难,最终导致应用程序变得十分复杂,而且将这些模型最终实 现并整合到一起也将十分困难。另外一个影响软件开发时间的重要因素是客户的 选择和配置。对此,编程模型需要支持多种客户配置,同时将对基本的应用程序 构架或应用程序的核心商务逻辑的影响最小化。 对需求伸缩的响应 一个信息化商务,如果在需求量增加1 0 时,需要大量的劳动来响应这种 需求,显然是不能容忍的。对于信息化的商务来说,应用程序的易于伸缩及自动 容纳增长的能力对于实现最终目标将是一个关键。所有在伸缩时要求重新构建或 重新部署的系统都将阻碍增长并降低公司所期望所达到的性能1 2 7 。 与现有系统的集成 对于企业来说,现有信息系统多年来已经收集了大量的数据,大量的程序开 发投资也都注入到现有的应用程序上了。因此,对于企业级应用程序开发者来说, 所面临的挑战便是怎样对其进行重用并商业化。 选择的自由与广泛性 对于应用程序的开发而言,要求具备混合并匹配解决方案的能力,从而达到 对当前任务的最优化配置。企业级应用程序开发中的选择的自由不仅仅局限于服 务器,同时也包括各种工具和组件,而且选择范围广泛。 保证安全 在集成分立的系统中,存在的一个难题便是提供一个统一的安全模型【5 】。 企业应用的安全要与现存的机制相兼容。在客户需要访问可靠信息的情况下,这 种机制需要保证高度的安全,同时也应该尽可能的保持非强制性和透明性。 除此之外,企业级应用可能还会需要考虑一系列的问题,如持久数据保存、 海量的数据存储、数据的并发访问、大量的用户图形界面、数据概念的统一、复 杂的业务逻辑。所有这些,都对于企业级应用软件提出了一系列的挑战。 2 1 2 企业级别软件的演变 之前,大型机在市场上处于主导地位,所有的软件都依赖于这个中心实体构 建。这种集中式方法的优势在于比较简单,处理单一系统就可以满足所有的处理 需求,以及集中配置所有的资源等,而它的缺点则在于它必须处理可伸缩性的物 理限制、单一的故障点、从远程位置进行访问受到限制等。这些集中式的应用程 序通常是指单层( s i n g l et i e r ) 应用程序。从应用程序的角度来看,单层应用程序 的最大问题在于,它将表示、业务逻辑和数据都混合在一起。这种混合方式还有 另外一个缺点,即业务逻辑或数据访问功能的重用性受到了限制。 客户机一服务器方法通过将表示和一些业务逻辑分别移至单独的层中,缓解 了上述主要问题的影响。不过,从应用程序的角度来看,业务逻辑和表示依然很 混乱。同样地,两层方法也会引入自身独有的一些新问题,例如,如何以最小的 代价和最低程度的破坏来更新具有庞大客户群的应用软件。 n 层( n t i e r ) 方法可以取得更好的整体平衡,它将表示逻辑与业务逻辑从底 层数据中分离开来。下面是使用n 层方式的一些优点和缺点: 加快开发过程,降低开发成本:通过重用现有的、预先测试过的业务组件和 数据访问组件,可以更快地开发新的应用程序。 隔离了由于改变带来的影响:只要接口保持不变,一个层上的改变不会影响 其他层上的组件。 更容易管理改变:例如,如果一个业务组件驻留在业务层,那么可以很容易 地用它的新版本替换旧版本,而不用替换不同层甚至全球范围内上百或上千的客 户端应用程序。 图2 - 1 2 3 所示的是根据这些单层、两层和n 层体系结构构成的企业级软件。 哑终端 图2 1 单层体系模型 主机 j童箩l 9 2 1 3 软件架构的重要性 图2 3n 层体系模型 软件架构是一个系统中的核心元素,是系统最难改变的部分,也是构建软件 系统中其它部分的基础。因此系统软件架构的好坏会从根本上决定基于该架构的 软件系统的质量。所以要构建一个正确的架构是一项困难的任务,下面从三个方 面来论述。 首先,由于架构是一个系统的本质的反映,因此它一般是由系统中不容易改 变的组成部分,而这些不容易改变的部分往往是系统中的一些抽象的概念。但是, 在构建系统的架构前仅仅有一些用户的需求以及对于用户业务流程的用例,如果 缺乏有效的指导原则,很难从这些信息中提取出反映问题领域本质的概念来。关 于这一点,一个比较有效且常用的方法是c o m m o n a l i t y n a r i a b i l i t y ( 公共可变性) 分 析。它的核心思想是针对问题领域中的概念进行分类,把那些看上去不同但本质 上属于一类的概念用一个抽象的概念来表示,然后基于这些抽象的概念构建架 构。这种分析方法在发现系统中的抽象概念方面确实很有效,但是系统架构不仅 仅是一些系统中的抽象概念,而且还描绘了这些抽象概念问的关系,仅仅使用 c o m m o n a l j t y n a r i a b m t y 分析方法不能十分有效的发现这些关系。 其次,即使确定了抽象概念间的关系,构建起了一个系统架构,在这个架构 的指引下,还是很有可能陷入困境。因为该架构可能会缺乏对于进一步工作的指 引,缺乏后续发现对象的有效手段。换言之,架构可能过于空泛,缺乏可扩展性。 最后,一个经验丰富的系统架构师可能成功地构建了一个系统的架构,并且 成功地基于该架构完成了系统,但是他的经验、心得体会可能难以被其他的系统 架构师所理解,从而无法在解决同类问题时得到有效的重用。因为,这些心得体 会如果表现得过于抽象,可能会显得空泛从而指导意义不大;如果表现得过于具 体,则有可能陷入细节从而失去通用性。 正是由于上述原因使得系统架构的构建显得非常困难,往往必须由资深的系 曰 毋盛衄圜嚣凰删辛 圄黟雪警乎 统架构师来完成。但是随着模式的提出,现代软件工程的深入研究,这种局面正 在逐步地改善。 2 1 4 企业级软件和基于组件的软件 在软件开发过程中,出现面向对象开发软件的方法后,软件工程界曾经对它 能够缓解软件危机寄予很大的希望,但面向对象的软件开发技术并没有完全解决 软件危机。这是由于对象都细粒度化,而细粒度使得对象间具有更紧密的耦合, 从而使得大范围的重用变得困难。 软件组件的出现就是为了解决这个问题。和对象不j 司,组件是在更高的抽象 级中设计的,可以提供一个完整的功能或服务。组件间的耦合更为松散。利用组 件的接口,可阻将组件迅速组合在一起以构建更大的应用程序。 在分布式企业级软件环境中以及前面提到的各种挑战环境中,也可以开发分 布式组件模型来进行基于组件的软件设计,这种组件模型实质上就是为分布式的 和基于组件的软件开发提供一个“操作系统”。例如,d c o m 、m i c r o s o f t n e t 以 及j a v a 平台下的e n t e r p r i s ej a v a b e a n s ( e j b ) 等 2 7 1 。 基于组件的软件相比传统的、自定义的软件开发有大量的优点: 高效率:通过把预先建立好并测试过的组件装配成一个完整的应用程序, 而无需设计和实现自定义的解决方案,较少的开发人员能够完成大量的 开发工作。 高质量:组件大部分都经过优化设计实现和严格的测试,因此将开发人 员将组件装配成完整的应用程序,这样只要测试组件间的集成能力和应 用程序的整体功能。 快速开发:现有的组件可以被快速的装配为完整的应用程序。 易于维护:由于组件是独立的,对单个组件的维护和设计就容易得多。 2 1 5 随需应变的系统架构 功能属性( f u n c t i o n a lp r o p e m y ) 用来处理系统功能性的特定方面,并且通常 与特定的功能需求相关。功能属性可以通过特定的功能使用户直接看到应用程 序,也可以通过它的实现来描述,例如用来计算业务逻辑的算法。 非功能属性州o n f u n c t i o n a lp r o p e m y ) 定义了未被功能属性描述覆盖的系统 特征,包括软件系统的可靠性、兼容性、开销、易用性、维护或者开发等方面。 在设计软件架构时,非功能属性非常重要。首先,软件系统随时间演化,它们必 须相应地改变技术、需求和系统环境。因此仅仅恰当地将系统分解是远远不够的。 1 1 系统必须为变化、扩展和适应做准备。如果软件系统没有完成,尤其当它的寿命 很长时,维护起来将会变得困难和昂贵。其次,软件系统的功能性必须遵从总体 的可操作性、可靠性和效率。 功能属性和非功能属性是构建合理软件架构的目标,也是一个衡量的指标。 针对该系统的实际业务需求,我们量身度制出了合适的架构。 目前工业界主流的企业级架构主要有j 2 e e 架构以及微软的d o t n e t 架构。 就像许多目前主流厂商提倡的那样,“按需应变的业务,随需应变的技术”。 我们在设计一个软件系统的架构的时候,有许多事情需要考虑。有些时候,需要 在预算以及实际的需求中间作出折衷。一个项目,并非一定要采用最新最先进的 技术,最流行的架构才好。有些时候,盲目的去追求所谓最流行的选项,往往导 致预算的赤字,以及项目的技术门槛搞得太复杂,往往也会导致项目的流产。所 以许多时候,商用项目以及科研性的项目会采用不同的技术路线。科研性的项目, 我们可以做一些大胆的尝试,主要把功能实现了就可以;而对于一些商业的实际 项目,除了功能性方面的考虑外,还要考虑开发风险,采用成熟的技术以及成熟 的构件,这样可以降低开发的成本,以及提高可重用性和可维护性。 结合具体的需求,我们在针对于用户使用的接口方面,采用了目前主流的三 层架构,使得用户可以通过浏览器获得所有的服务以及功能。这样以来,客户端 所需要承担的改变降到最低,只需要拥有通用的浏览器,就可以进行该系统的访 问。在服务器端,为用户提供可访问界面的应用系统我们采用微软的技术解决方 案。从底层的数据库服务器,到w e b 应用i i s 服务器,再到上层的表示层技术。 另外,除了提供给用户使用的部分,服务器端也有相应的业务逻辑需求,这 样的应用提供了客户所可以访问到的资源的基础。这个时候,这样的应用由于是 运行于服务器端,并且主要是作为一个控制中心来运行,所以不需要拥有太多的 复杂架构,我们将其设计为运行在客户机服务器模式下的典型应用,为一个两层 的系统。最终作为一个改进,我们可以将该应用封装成为系统服务,并提供相应 的配置接口,使之作为系统一项服务来自动运行。 这些相应的技术以及设计解决方案,在第三章,整体架构相关章节中,会有 更加详实的介绍。 2 2 用户需求模型的涵义以及标准 2 2 1 用户需求模型简要描述 用户需求模型( u s e r p r o f i l e ) 是在信息过滤系统中提出的,对用户信息需求 的一种描述形式。其作用相当于信息检索中的查询请求,但用户需求模型与检索 时用户提交的查询请求并不相同。因为在信息过滤系统中,用户的需求信息需要 长期驻留在系统服务器端,该需求信息将随着用户兴趣的调整细化而及时更新; 在信息检索系统或搜索引擎中,用户的需求信息就是用户当前提交的查询关键 词,对检索系统来讲两次查询之间互不相关,检索系统服务器对此类信息不做也 专门保留,因而是一次性的。 用户需求模型用来表示用户对特定主题信息相对稳定的兴趣需求,它应该能 够反映出某用户在相当长的一段时期内对信息需求的主要倾向,随着对用户反馈 信息的收集和对用户行为的跟踪,信息过滤系统将利用机器学习方法对当前的用 户需求模型进行及时调整,以使其更好地反映用户兴趣,符合用户的真正需求。 信息过滤系统中的用户需求模型刻画的是:用户的信息需求自提交到注销这 段时间内,对其某一兴趣需求的一体化描述,其中包括用户需求模型随着需求调 整进行动态更新的过程,以达到及时、准确地反映用户的兴趣信息需求的目的 【2 9 ,3 0 1 。 2 2 2 用户建模的分类方法 用户建模一般有三种分类方法。 1 按照与特定领域知识的关系分类 按照用户建模与特定领域的关系来分,可以把用户需求模型分为:一种是建 模过程与特定的领域知识无关,建模过程是一个独立的部分,通过公共的接口与 系统的其他部分发生关系。其特点是通用性好。但在特定领域应用时,模型所能 代表和提供的知识有限;另一种是建模过程与特定的领域知识无关,借助特定的 领域知识定义特定的用户需求模型和模型的更新过程。适用于特定的领域,能代 表和提供较为丰富的信息。 2 按照用户参与程度分类 按照用户参与的程度,可以把用户需求模型分为隐式和显示两种。隐式建模 时,系统对用户建立一种框架,设计者对用户的分类并不十分清楚,用户的模型 通过自动过程得到创建和维护。显式建模中,个性化系统有一个用户模型嵌入其 中,系统的设计者对用户有一个清楚的了解,可以明确地分类和描述系统的访问 者。在这种系统中,如果不同的用户的偏好被识别出,那么系统的行为容易被解 释,也容易被修改。 3 按照获取信息的方法分类 按照获取信息的方式来分,可以把用户需求模型分为显式知识获取和隐式知 识获取。前者是通过提问来获取知识。许多系统采用提问来获取对用户的描述, 在得到这些信息后就可以分类用户于当前的某一个类。后者则通过分析用户的行 为就可以隐式地获取对用户的描述,一般用于随后的用户交互,所获取的知识可 以被用来更新用户模型。这两种方式可以结合起来使用。通过对新用户的提问来 获取用户的初步信息,并对该用户分到某一类中;在用户交互过程中动态获取的 规则不断地被用于修改其用户模型 3 0 1 。 一个用户需求模型的基本评价标准拟包括以下3 个方面: 1 粒度:是指用户需求模型是依据下面哪一种模式设计的或是哪几种模式 组合设计的,( 1 ) 每一个用户一个模型,( 2 ) 每一个用户多个模型,( 3 ) 多个用 户共享一个模型。 2 修改能力:用户需求模型可以是静态的或动态的,一个静态模型在与用 户的交互过程中,不发生改变。而动态模型一旦学习到新的信息,就及时修改。 静态模型可以被预先嵌入一个系统中,或者在系统的初始绘画阶段由用户建立。 动态模型在整个交互过程中及时获取或修改。 3 时效性:用户模型可以是短期的或长期的。短期模型建立在当前交互过 程中,当前交互过程结束后,可以被放弃。长期模型可以从一个交互保持到另一 个交互过程中。 2 2 3 现有的用户模型标准 在制定用户模型之前,需考虑下面几个问题:有没有现成的标准? 收 集什么数据? 收集的数据用于什么目的? 如何收集数据? 根据什么信息源来 收集? 收集的数据如何组织? 用户信息能否自适应地更新? 用户模型还 没有一个统一的标准。 w 3 c 有两个涉及用户模型的标准:p i c s ( p l a t f o r mf o r i n t e m e tc o n t e n ts e l e c t i o n ) 乘la p p e l l 。0 ( ap 3 pp r e f e r e n c ee x c h a n g el a n g u a g e1 o 、, p i c s 是父母和老师用来控制孩子的浏览能力的,提供了过滤规则定义语言 p i c s r u l e s 。a p p e l l 0 可定义用户感兴趣的站点和过滤规则,这些规则大部分是 在p i c s r u l e s 的基础上发展起来的。此外,n e t s c a p e ,f i r e f l y 和v e r i s i g n 曾向w 3 c 的p 3 p ( i c i l a t f o r mf o rp r i v a c yp r e f e r e n c e s ) 5 2 作组提交了一个o p sf o p e np r o f i l i n g s t a n d a r d ) 草案,由于目前p 3 p 版本不打算考虑如何进行数据传输,因此该草案被 搁置一边,o p s 描述了如何表示一个用户描述文件以及用户与w e b 站点交互的 问题。在收集用户的信息之前,首先需分析用户愿意提供什么信息,用户一般都 很注意个人信息的保密性, w w w c y b e r d i a l o g u e c o r n 的调查显示,8 0 的用户愿 意向w e b 站点提供自己的姓名、性别、年龄、教育背景和兴趣,但大多数用户 不愿意提供私有、敏感的信息,比如个人收入和信用卡号等,该公司另一项调查 显示,2 8 的用户愿意w e b 站点向其他w e b 站点共享自己的信息。为了规范w e b 用户信息的保密性,w 3 c 成立了p 3 p 工作组来解决这个问题,它允许用户有选 择地向w e b 站点提供自己的信息,从而达到保护用户信息的目的,目前已有一些 站点和浏览器支持了p 3 p ,比如w w w w 3 c o r g ,w w w a 0 1 t o m 等站点和 1 4 m i c r o s o f t a t & tp 3 p 浏览器等等。 2 3 相关技术介绍 从本系统的考虑,作为一个个性化推荐系统,其中处理信息的时候,需要将 系统的信息资源作出权衡,区分哪些是用户感兴趣的,哪些是用户不感兴趣的, 本质是一个两类分类问题,同时在用户的经常的行为中,还要发现一些用户特定 感兴趣的信息,本质上也是挖掘的问题,下面我们就这两方面作简单介绍。 2 3 1 分类技术在个性化推荐系统中的应用 在本系统中,既可以用来将用户反感的信息滤掉,也可以用来将用户感兴趣 的信息过滤出来,主动地推送给用户,方便了用户快速准确地获取信息。 这是从用户的角度,对于信息资源的分类,另一个角度,如果我们从信息资 源本身的角度,也可以将用户分成两类,即对该信息感兴趣的用户群体,另一个 群体是对该信息不感兴趣的。 这个时候,我们需要作出的分类,一个是对于资源模型进行分类,还有一个 是对于用户兴趣模型进行分类,然后再进行两者的匹配,为用户寻找合适的资源, 为资源寻找合适的用户。 2 3 1 1 目前该领域研究应用现状 ( 1 ) 多语种文本的分类 随着各种语种和混合语种的文本信息迅速增加,如果使用一种分类器就可以 对不同语言的文本进行分类,将极大地简化分类工作。 ( 2 ) 噪声环境下的文本分类 在e - m a i l 、b b s 、o c r 识别的文本和很短的文档中,噪声问题非常严重, 需要有效的办法来解决,提高分类的查准率。 ( 3 ) 海量文本的快速分类 信息技术的发展使文本的规模越来越大,对信息处理的速度和精度提出了更 高的要求,如何在不降低分类精度的情况下,降低特征空间的维数和分类算法的 时间复杂度,成为了文本自动分类的研究重点之一。 f 4 ) 层次化文本分类 在分类过程中,常常把文档类别看成是互不相交的,处在一个平面层次上。 然而,文档概念类别之间有时存在着层次关系,即一个大类往往包含许多小类, 小类之下又有更小的类。而且,当文档库特别庞大时,人们往往也是按照概念层 次结构对文档库中的文档进行管理。例如现有的w e b 搜索引擎所提供的目录结 构就是一种层次分类结构。按照层次结构对文档库进行分类更能体现文档之间的 语义关系。 ( 5 ) 新的分类方法与技术 传统的文档分类方法有决策树、贝叶斯方法和k n n 法等,近年来出现了一 些新的、分类性能更好的方法,像支持向量机、最大熵模型等等。 ( 6 ) w e b 文档的分类 对纯文本文档的分类,只能依靠文本内容和段落结构信息。对w e b 文档的 分类还可以充分利用网页中的字体、颜色、超链接( h y p e f l i r t k ) 等结构信息等, 从而进一步提高分类精度。 对文档的语体、情感色彩、作者性别等信息的分类。 对文档内容的分类,利用和文档内容紧密相关的词、短语或n g r a m 项等作 为特征,基本上可以表征文档的语义。但是,当我们要对文档的语体、情感色彩 等语用平面的信息进行分类时,仅仅依靠词语语义方面的信息就远远不够了。例 如:人们在表达某些情感时,常常会使用感叹号,而普通的文本分类中,标点符 号一般会被过滤掉,不作为文本的特征。 f 8 ) 标准分类语料库的建立。 由于文本分类技术对训练语料和测试语料具有相当的相关性,对于不同的语 料,很难对分类结果做出严格的比较。t r e c 和t d t 为文本分类建立了一个标 准的语料库,而且还建立了一套较为科学的测试评价方法,为各种分类方法和系 统提供了一个公平的竞争舞台。 尽管这些年来自动文档分类技术取得了很大的进展,也出现一些比较成功的 系统。 2 3 1 2 文档表示模型 文本分类是一种面向语义的操作。实际上,即便是属于同一语义类别的文档, 它们的用词、长短和风格也会大相径庭。这就涉及到一个怎样表示文档才能体现 出它的内涵的问题。这一问题包括两个方面:用于表征文档语义的特征和这些特 征的组织方式。 2 3 1 3 分类方法 具体分类中,有信息增量( i n f o r m a t i o ng a i n ) ,互信息( m u t u a li n f o r m a t i o n ) , x 2 统计,交叉熵( c r o s se n t r o p y ) ,证据权值( w e i g h to f e v i d e n c e ) ,f i s h e r 判别 1 6 式,文档特征选择中的概率值估算。 文本分类的方法大部分来自于模式分类,基本上可以分为三大类。一种是基 于统计的方法,如n m v eb a y e s 、k n n 、类中心向量、回归模型、支持向量机、 最大熵模型等方法;另一种是基于连接的方法,即人工神经网络:还有一种是基 于规则的方法,如决策树、关联规则等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体检行业市场竞争格局与服务质量优化策略报告
- 药品购销合同管理制度
- 药学志愿服务管理制度
- 药店员工工具管理制度
- 药店管理货物管理制度
- 菜鸟公司员工管理制度
- 设备仓库门禁管理制度
- 设备备件分级管理制度
- 设备建设安全管理制度
- 设备校准标签管理制度
- (正式版)CB∕T 4548-2024 船舶行业企业相关方安全管理要求
- 北师大版中考数学考试大纲
- 大学俄语一级课程考试试卷 (A 卷)
- 升降桩施工合同
- 物业管理与体育场馆
- 2023-2024学年成都市金牛区八年级下英语期末考试题(含答案)
- 广东省珠海市香洲区2022-2023学年四年级下学期期末英语试题
- JT-T-760-2009浮标技术条件
- JT-T-795-2011事故汽车修复技术规范
- JBT 10437-2024 电线电缆用可交联聚乙烯绝缘料(正式版)
- 初中数学教育教学案例(3篇模板)
评论
0/150
提交评论