什么是Web数据挖掘

You can't request more than 20 challenges without solving them. Your previous challenges were flushed.

今天读了一篇长E文Web Content Mining,从题目看好像没有什么特别,也许是普通的商业软文,但是,看了第一段后发现是关于Dr. Bing Liu of the University of Illinois Chicago的,所以打足精神一句一句把它读完。第一次遇到Bing Liu这个名字是在一年前,华中科技大学一博士朋友推荐给我《Sentiment Analysis and Subjectivity》这篇综述,就是Bing Liu写的,然后又阅读了《Opinion Spam and Analysis》。都是翻来覆去精读,因为几年前就想着手开发一个web数据挖掘软件,主要用于企业竞争情报分析,酝酿了很多年都不敢下手,理论性太强,担心吃不透或吃不准。直到2009年底开始陆续接触了几个网络舆情监测项目,也承接了好几个行业的类似项目,才下定决心投入SliceProfile的开发,这个项目投入巨大,资源投入十分集中,但开发周期很短(5个月),因为整个框架早就在头脑中酝酿成型了,尤其阅读《Sentiment Analysis and Subjectivity》获得的灵感更多,还阅读了大量引文,再三权衡学术和商业的分界线的位置。所以今天看这篇文章的动力决不是因为有中国名字的人写了一篇E文而已。

这篇文章好像是对刘博士新书《Web Data Mining》的介绍和读后感,没有读过这本书,所以这篇文章的部分内容没有理解,而且有些观点不知道是刘博士的还是文章作者的。一些重要结论和一些本人的疑惑一并记录下来,作成一篇读书笔记。



Web数据挖掘的种类

刘博士将Web Data Mining分成三类:

  • Web Usage Mining:挖掘用户访问网站的行为模式,例如,挖掘clickstreams,可能会用到用户TCP/IP地址和用户帐号信息,以便做关联分析
  • Web Structure Mining:挖掘超链接背后的知识,例如,分析web信息是怎样聚类的
  • Web Content Mining:从网页内容挖掘知识


Web内容挖掘要做哪些工作

根据这篇文章,要达到Web内容挖掘的目的,需要做:

  • Structured Data Extraction:结构化数据提取
  • Information Integration:信息集成(结构化的信息)
  • Opinion Mining(Information Extraction):观点挖掘(非结构化的信息抽取)

什么是结构化数据提取

读到这一段,首先感慨刘博士写书不是凑的,还真有些实践体验,例如,关于从亚马逊(amazon.com)上提取商品列表和商品详细信息这类活动,应该是我们这些信息劳工常做的事。引出了一个概念:entity,但是没有搞懂对实体(entity)的界定与数据挖掘是什么关系,为什么要讲这个概念。

然后讲到结构化数据挖掘和非结构化数据挖掘,更是一头雾水。

wrapper induction这个词感觉是给MetaSeeker的协同式网页信息提取提供了理论支持,因为在信息提取领域HTML Wrapper一般是指将网页内容进行结构化提取的软件。但是,文章的解释:

   The word inductive means guessed, and therefore wrapper induction implies
   guessing the text which frames a structured data object.

确实没有领会guess是指什么。根据刘博士的胶片(slides),wrapper induction采用监督学习方法(supervised),看来真的是“guess”,需要读一下他的书去仔细领会下。

关于非结构化数据挖掘比较容易理解,automatic extraction正是GooSeeker现在的研发方向,我认为很有价值且能指导我们研发规划的一句话:

   Algorithms exist for this purpose, but I believe this area could be more customized
   when someone has a specific scientific goal in mind.

什么是信息集成

文章用机票搜索服务为例说明信息集成需要解决的问题,GooSeeker网站上的比价系统案例也需要解决信息集成问题。从不同网站上提取到的信息进行比对,识别出同义内容,例如,京东卓越上的同一个商品用不同标题和不同的产品描述,需要识别出来。文章提到了多种方法:

  • make a bridging assumption:按我的理解就是一些映射或者转换规则
  • query probing:按我的理解就是将上述的转换规则封装成一个服务或者模块,由它进行转换。只是模块化更好,可能就像corba或者SOA一样给人展示一幅看起来很美好的图画。
  • 通过计算相似性来做聚类:似乎太高科技了。不过在比价系统中我确实想用这种方法尝试一下,可以用比较简化的方法,例如,通过一些特征词构成的向量空间,计算向量夹角也许能行。

根据刘博士的slides,信息集成被清晰地分成两类:

  • schema match:将不同表的字段进行匹配,识别出元数据语义相同的字段来
  • data instance match

什么是观点挖掘

本文开篇提到的刘博士的那两篇文章都是有关观点挖掘的,根据我使用SliceProfile部署奇瑞汽车和中信信用卡危机监测和舆情分析系统的感受,主观倾向性分析的准确度很难提高,而且客户的理解和要求也各不相同。普通的文本分类算法效果比较差,不得不增加大量的规则进行修正。



结论

也许Web Content Mining的作者有其独特的经历和视角,所以文中有些观点一时难以理解,看来还是有必要直接阅读刘博士的新书《Web Data Mining》。


更多参考资料:包括视频。