走近大规模内容计算

网络信息内容安全和智能内容管理是信息时代迫切而又长期的重要需求。大规模内容计算是解决这些需求的一系列关键支撑技术的总称。

伴随全球信息网络的普及和信息化进程的推进,互联网信息数量巨大、良莠并存。一方面,从这些数据中快速、准确、有效地获取所需内容已成为服务社会、培育新兴媒体的重要需求,也逐渐成为不同政治、军事力量甚至国家之间占领网上信息制高点和主动权的迫切而又长期的需求。信息安全特别是网络信息内容安全受到了各国政府的高度重视。一些发达国家已把网络信息内容安全列为国家重点发展规划。另一方面,如何有效地利用信息内容,并对这些内容进行智能化管理,也是信息社会提出的一项重要需求,数字图书馆、电子政务、科技奥运等一系列重要任务都对智能内容管理提出了更高要求。

网络信息内容安全和智能内容管理都可以看成信息内容处理技术在网络上的应用。与传统的信息处理方式相比,网络信息处理具有如下特点:所处理的信息内容规模极大,更新变化迅速;信息来源不同,格式多样,地理位置分布广泛;同时访问的用户数目大,用户的信息需求多样化。核心的问题是要以Internet上的TB甚至PB级超大规模数据为基础面向需求各异的用户群实现高性能、高准确度的信息服务。

大规模内容计算是解决这一核心问题的一系列关键技术的总称。具体地说,大规模内容计算是在大规模的网络信息环境下,研究与网络信息内容的获取、处理和服务相关的高性能计算模型、关键技术和关键算法的重要研究方向。所谓“大规模”,主要是指它的处理对象数量规模巨大,基本在TB甚至PB的数量级;所谓“内容”,主要是指非结构化的或者半结构化的数据,包括文本数据和多媒体数据;所谓“计算”,是一种广义的“处理”,单纯以获取、检索、挖掘、过滤、分类、聚类、管理、跟踪、理解、问答等范畴来概括这个研究方向,都具有很大的局限性,只有用“计算”的概念才能从更高的高度覆盖这个研究方向。

大规模内容计算总体上包括如下图所示的步骤:第一步是对大规模信息的获取,即得到信息;第二步是对信息内容的分析、加工和处理;第三步是利用分析处理的信息提供服务。

信息获取技术

信息获取是指从网络收集数据的过程。它是进行后续信息处理、信息服务的基础。如何快速、准确地获取所需要的信息,是信息获取研究的主要内容。在大规模内容计算中,信息获取分为主动获取和被动获取。被动获取通常是将设备接入网络的特定部位进行获取。而主动获取主要是指基于Web的信息采集(Web Crawling, 简称WC),即根据Web协议,直接从Web上采集或下载信息。

Web信息采集系统主要研究的是:如何高效稳定地以较小的代价获取最相关的信息。为了提高采集速度,大规模的采集系统往往采用并行采集结构,如Google、百度、天网等搜索引擎后台都采用了并行体系结构。这些体系结构的基本想法都是将采集的各个部分(控制、分析、执行、存储)设计成并行流水结构,尽量减少采集系统的不合理等待,保证采集过程的通畅。

为了降低采集的空间代价,更新策略是研究的重点之一。最理想的是采集系统能够自动学到每个网站或站点的更新规律,从而能够指导采集器的更新策略,尽量做到没有变化的网页不采集,只采集那些更新的网页。现实的搜索引擎采集系统,都或多或少地采用了更新策略,避免重复性的采集。一种方法是通过统计不同类型站点的更新周期来指导采集;另一种方式是通过统计先前数据,对更新策略进行自适应调整。

采集研究的另一个热点之一是基于主题的信息采集。只采集相关的信息也可以降低采集的代价。基于主题的采集的关键是采集结果和主题的相似度计算。一方面,可以通过采集结果与主题的内容相似度来计算该值;另一方面,可以通过相关链接信息(如锚文本anchor text、链接关系)来预测待采集结果的相似度,从而指导采集的方向。

由于使用采集的用户需求各异,一些采集系统的设计者把目光投向了基于用户个性化的Web信息采集。基于个性化的信息采集的目标就是只采集某个用户感兴趣的信息。它与基于主题采集的不同之处在于它针对某个用户而不是某个主题。即使对同一主题,个性化的信息采集系统对不同用户也可能返回不同结果。个性化信息采集主要是对用户的行为(包括浏览习惯、兴趣等)进行跟踪从而指导采集的进行。

内容分析技术

获取数据以后,要对这些数据进行包括格式处理、编码处理、意义分析等相关的处理。限于篇幅,本文只介绍大规模内容计算中基于自然语言文本的分析技术。主要包括词法分析、句法分析、语义分析等。

1.词法分析

词法分析是对自然语言的形态进行分析,判定词的结构、类别和性质的过程,包括形态分析、中文的分词以及词性标注。

英文的形态分析技术通常采用自动机的方法,技术上比较成熟。

目前的中文分词方法可以总结为两大类:基于机械匹配的分词方法及基于概率统计的分词方法。前者通过对已有词典的机械匹配来得到分词结果。后者不需要任何词典就可以得到分词结果,或者对粗切分结果进行基于概率统计的后处理来得到最终的分词结果。中文分词技术面临的两个最大问题是切分歧义和未定义词问题。前者要解决在上下文环境下不同切分结果的选择;后者要解决词典中未收录词(如人名、地名、机构名等)的识别。目前比较主流的方法是通过对真实文本的概率统计来求解切分歧义和未定义词问题。多家单位都进行了中文分词的研究,包括N元语言模型、隐马尔可夫模型在内的多种统计模型等都被引入到中文分词,促进了中文分词结果准确率的提高。分词系统目前已经达到实用水平。

词性标注的根本目的是对某个具有多个可能词性的词,在确定的上下文中多里挑一。

词性标注也经过了从规则方法到统计方法的过程。国外20世纪60年代就开始自动词性标注的研究。使用规则方法可达到77%的正确率。后来,一些学者采用基于概率统计的方法,将词性自动标注的正确率提高到96%~97%,在性能上也进一步优化,使得自动词性标注达到了实用的水平。对于中文词性标注,国内多家单位等都做了大量有效的工作。见诸报道的中文词性标注的最高正确率也在95%以上。

2.句法分析

句法分析是将线性的词序列转变成某种句法结构(最常见的是短语结构树)的过程。真正实现时,句法分析系统通常由短语规则和具体算法组成。短语规则指出了从词到短语、从短语到句子结合的规律。句法分析的最大难点在于句法歧义。也就是说,根据句法规则,可能会产生多种句法结构。句法分析的主要目标也是多里挑一来消除句法歧义。消除句法歧义可以通过在引入规则或者为每个规则赋予概率来进行。完全句法分析目前仍难以达到实用水平,一些学者目前研究获取句子中关键成分(如人名、地名、名词短语等)的部分分析。

3.语义分析

语义分析的主要目标有两个:一是确定每个语言单位在文中的某种语义类;二是确定这些语言单位之间的语义关系。前者的工作被称为语义排歧(WSD, word sense disambiguation),即根据上下文从语言单位可能的多个语义中选择最恰当的语义,后者也常常被称为(狭义的)语义分析。

语义分析通常需要语义词典的支持,目前著名的英文语义词典有WordNet、FrameNet、MindNet等,中文语义词典有HowNet、同义词词林等。

WSD的研究同样有规则方法和统计方法。统计方法可以通过对上下文窗口的统计分析来确定词汇的语义。在大规模内容计算中,WSD可以借鉴上下文的历史查询、对用户的兴趣跟踪来对查询词的语义进行排歧。

语义分析常常建立在某种语法或理论体系上,如语义语法、格语法、语义网络、蒙格塔语法、范畴语法、概念依存理论等。

聚类、分类技术

聚类、分类技术是模式识别的基本技术。目前在文本处理中,也是最常用的两项技术。两者都是将未知文本归入某个类别的过程。聚类也称为无监督的分类。它事先没有类别,而是根据样本之间的某种相似程度自动地聚集成某种类别。而分类过程事先都有给定的类别及相关训练样本。分类的过程包括分类器的参数训练以及对测试样本的预测两个部分。不论是聚类还是分类的结果往往都能降低大规模文本处理的复杂性。

信息聚类和信息分类都包括特征选择、信息表示、相似度计算以及分组算法等主要组成部分。相对而言,由于信息分类有训练样本,其特征选择方法繁多且更为复杂。同样,信息分类中不涉及训练样本特征选择方法的都能用于信息聚类。文本聚类和文本分类中的文本大都采用向量空间模型,相似度计算方面有各种距离计算方法,如夹角余弦、内积等。

1.文本聚类技术

聚类技术通常可以分成两类:层次型聚类和分割型聚类。层次型聚类生成一个树型的聚类谱系图,根据需要可以在不同层次上选取类别个数。分割型聚类对原有数据集生成一个划分。层次型聚类方法包括基于最短距离、基于最长距离、基于均值距离的方法。分割型聚类又包括方差法(如k-means方法)和基于图论的方法等。

文本聚类是聚类方法在文本处理领域的应用。应用领域包括敏感话题的发现、敏感社区的发现、信息过滤中用户(兴趣)的自动聚类(用户兴趣可以采用文本表示)等。

2.文本分类技术

文本分类的特征选择有很多方法,如文档频率、信息增益、互信息、χ2统计量等,本质都是选择与类别相关的关键特征。有学者对这些方法进行了对比,得出的结论是χ2统计量和信息增益方法较好。特征选择的结果空间可能仍然维数很高,因此,研究人员提出对特征空间进行降维。隐性语义索引和主成分分析都是常用的特征降维方法。文本分类算法有很多,如线性最小平方拟合、贝叶斯(Bayes)、k近邻、决策树、支持向量机(Support Vector Machine, SVM)、基于神经网络的分类等。有学者对众多的英文文本分类方法进行了比较,得出的结论是SVM、kNN以及线性最小平方拟合法较优。

Web检索

所谓Web检索是指以检索查询方式从Web中挑选出和用户需求最相关的页面。Web检索的关键就是将用户的需求和网页进行匹配打分。根据打分依赖对象的不同,本节按照内容、结构、用户行为三个方面来总结Web检索应用中的种种技术。

1.基于内容的检索

基于内容的检索就是根据页面的内容(可以是标题、正文、锚文本-anchor text甚至是URL本身)来打分。这里主要包括三种模型:布尔模型(Boolean Model)、向量空间模型(Vector Space Model,VSM)及概率模型(Probabilistic Model)。

布尔模型实际上就是将用户提交的查询词和每个页面直接匹配。用户提交的查询是多个词组成的布尔表达式。符合这个布尔表达式的页面得1分,否则得0分。基本的布尔模型因为不能提供更细微的排名而饱受指责。研究者们提出了各种各样的扩展方法。扩展的一个结果是向量空间模型。

康奈尔大学Salton等人提出的向量空间模型将查询和文本表示成标引项(标引项term是向量表示的基本单位,可以是字、词、短语及其他语言单位)及其权重的向量,然后通过向量之间的相似度比较来计算每个文本的相似程度。向量空间模型不仅可以用于检索,而且广泛用于包括文本分类的诸多领域中。标引项权重的计算方法目前主要采用TFIDF方法及其变种。最典型的向量空间模型原型系统是康奈尔大学的SMART,它提供源代码开放下载,目前已经被成千上万的研究者使用。

概率检索模型是通过概率的方法将查询和文本联系起来。最经典的概率检索模型是英国伦敦城市大学的Robertson和剑桥大学的Sparck Jones提出的二元独立概率模型。它主要通过计算查询词中每个标引项和文本的相关概率来计算整个查询和文本的概率。BIR模型的关键问题是对其中各参数的估计,Robertson和Sparck Jones利用伪相关反馈技术来计算模型的参数,从而最终实现检索。最著名的概率检索原型系统是伦敦城市大学的OKAPI。其他的概率检索模型还包括基于神经网络的概率模型、基于语言学模型的检索模型。后者在20世纪90年代中期由麻省大学(UMass)提出,已经引起了广泛的关注。CMU实现的原型系统Lemur(同时实现了多种检索模型)已经支持基于语言学模型的检索模型。

2.基于结构的检索

Web检索的对象是Web,而Web的最大特征是互联。Web中各页面之间的链接关系是一项可以利用的重要信息。基于这种信息的技术被称为链接分析技术。

最著名的链接分析算法是Stanford大学提出并应用到Google搜索引擎中的PageRank算法以及IBM用于CLEVER搜索引擎的HITS算法。

PageRank定义的是在Web中页面的访问概率。访问概率越大的页面的PageRank值也越大。

HITS是IBM Almaden研究中心开发的另一种链接分析算法。它认为每个Web页面都有被指向、作为权威(Authority)和指向其他页面作为资源中心(Hub)的两方面属性,其取值分别用A(p)和H(p)表示。A(p)值为所有指向p的页面q的中心权重H(q)之和,同样,页面p的中心权重H(p)值是所有p所指向的页面q的权威权重A(q)之和。

链接分析方法常常和基于内容的检索方法相结合。尽管很多基于较小的数据规模(数十Gb)网页数据的实验并不能证明链接分析算法能够提高检索的性能,但是,很多人都相信,链接分析方法能够反映Web社会的一些最自然的属性,应该能够在大规模真实环境下提高检索结果。Google的使用成功也增强了大家的信心砝码。

3.基于日志的检索

Web日志记录了用户访问Web的历史信息。根据该历史信息可以挖掘出许多对提高检索效果有用的信息,从而可以改进检索的结果。通过分析用户的历史请求,可以获得用户的兴趣爱好,从而提供最符合用户兴趣的结果。通过分析用户浏览结果记录,也可以获得用户的兴趣爱好和行为方式,从而指导检索过程。其他用户的访问和浏览信息(如访问频度、用户查询聚类、用户浏览结果聚类等)同样对提高单个特定用户的检索结果有帮助。利用日志信息提高检索结果是当前商用搜索引擎的一个发展趋势。

信息过滤

信息过滤是大规模内容处理的另一种典型应用。它是对陆续到达的信息进行过滤操作,将符合用户需求的信息保留,并根据用户的操作不断调整过滤策略。如果把信息检索称为一种典型的“拉”(pull)的方式(用户主动,系统被动服务)的话,那么信息过滤则可以称为“推”(push)方式(用户被动,系统主动服务)。

信息过滤包括两种:一种称为基于内容的信息过滤(Content-based Filtering);另一种称为基于合作的信息过滤(Social Filtering,又叫协同过滤或社会过滤)。

在基于内容的过滤中,通常采用某种方式来表示用户的兴趣模型和信息资源模型。实现时,可以采用各种分类技术。内容过滤的最主要工作之一是对用户兴趣的不断学习和反馈,以保证在任一时刻过滤的文本和当前用户兴趣相吻合。最常用的反馈算法是Rocchio算法。

基于合作的过滤算法从用户相似度的角度出发。它的基本假设是经常访问相似资源的用户兴趣相似,相似兴趣的用户又会访问相似的资源。因此,通过对相似兴趣用户的判定,来确定某个用户对某一未知资源是否感兴趣。合作过滤常常和内容过滤方法配合使用。

展 望

大规模内容计算技术的发展有以下几个趋势:

(1) 个性化趋势。从与用户的交互中挖掘出用户的兴趣从而更好地为不同用户提供量身定作的服务是大规模内容计算的发展趋势之一。

(2) 融合化趋势。各种技术甚至学科的交融也是大规模内容计算的一个发展趋势,包括数据挖掘、机器学习、统计推断、模式识别等学科研究领域的技术被广泛地引入到大规模内容计算中,从而推动了大规模内容计算的发展。大规模内容计算的巨大规模同样需要并行处理、海量存储、高性能计算等各方面的技术。而大规模计算的传统技术之间也有融合的趋势,检索和过滤、分类和聚类、各种检索模型等之间都逐渐相互借鉴和融合。

另外,与大规模内容计算技术的发展同样相关的还有一个语料库建设、标准化和评测的趋势。为了促进相关技术的发展,必须要有大量的实验语料库、技术标准和评测评比。美国政府NIST和DARPAR组织的TREC(Text REtrieval Conference)是评测会议中典型的代表,大大促进了大规模内容计算技术的提高。国内包括微软亚洲研究院、复旦大学、中科院计算所、哈工大、清华大学、中科院自动化所、软件所都先后加入了TREC评测队伍的行列并取得了不错的成绩。目前,国内也有部分组织机构(如北大天网网页分类评测、中科院计算所内容检索评测等)开展了功能评测相关的工作。这些工作已经或者势必促进大规模内容计算技术的发展。

posted on 2008-02-18 22:40  cy163  阅读(1060)  评论(0编辑  收藏  举报

导航