专利名称:一种面向微博的定制化筛选系统及方法
技术领域:
本发明涉及一种筛选系统及方法,尤其涉及一种面向微博的定制化筛选系统及方法,属于网络信息技术领域。
背景技术:
微博是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。中国互联网络信息中心(CNNIC)今日发布《第28次中国互联网络发展状况统计报告》,报告显示,2011年上半年,中国微博用户从6331万增至I. 95亿,增长约2倍,巨大的用户量也会微博带来了巨大的信息量。微博网站现在的即时通讯功能非常强大,通过QQ和MSN直接书写,在没有网络的地方,只要有手机也可即时更新自己的内容,哪怕你就在事发现场。类似于一些大的突发事件或引起全球关注的大事,如果有微博客在场,利用各种手段在微博客上发表出来,其实时性、现场感以及快捷性,甚至超过所有媒体。虽然微博能快速更新信息,信息的实时性强,但是频繁更新信息的同时也带来了大量的无用数据,再加上庞大的微博用户群体,以及微博多途径、快捷、方便的发布方式,出现了信息过载的问题,对有效信息的使用造成不便。
发明内容
本发明的目的是针对现有技术信息过载,对有效信息的使用不便的不足,提供一种能从大量的微博信息中过滤出有效的微博数据的面向微博的定制化筛选系统。本发明解决上述技术问题的技术方案如下一种面向微博的定制化筛选系统,包括后台模块和交互模块,所述后台模块用于采集数据、分析数据、本地存储、建立索引并提供检索功能;所述交互模块与后台模块信息交互,并提供与后台模块交互的WEB界面;所述后台模块依次包括信息交互的采集模块、分析模块、索引模块和检索模块;所述采集模块,采集原始微博数据;所述分析模块对采集模块传输的数据进行抽取、去重及过滤得到有效数据,并对有效数据分类、存储,所述过滤包括对垃圾、广告及黄反数据的过滤;所述索引模块对分析模块传输至的数据进行中英文分词,根据分词的结果建立倒排索引及增量索引,并根据微博状态文件定期的删除索引;所述检索模块接收交互模块传输的检索关键字,并对检索关键字进行纠错、同义词转换、分词及优化,并对检索结 果进行筛选和排序,进一步将排序结果返回交互模块。本发明的有益效果是本系统是解决信息过载的一种解决方案,即从庞大的微博数据中,针对性地筛选出用户关注的一类信息,为用户过滤掉一大批非关注信息,并能将这些数据本地化存储,方便用户长期使用;并通过验证机制增强系统本身的安全性;整个系统的工作逻辑清晰、流畅,减少了系统各模块之间的耦合度,每模块内部都由若干模块组成,有利于每模块功能的扩展。在上述技术方案的基础上,本发明还可以做如下改进。进一步,所述检索模块包括Query检索关键字处理模块和Query检索关键字优化模块,所述Query处理模块接收交互模块传输至的Query检索关键字,对Query检索关键字进行处理,并将处理后的Query发送至Query优化模块;所述Query优化模块对Query处理模块发送至的Query进行省略变换和分类,并将Query及其分类发送给索引模块,接收索引模块返回的结果;所述Query优化模块包括Query省略模块和Query分类模块,所述Query省略模块接收Query处理模块发送至的数据,并将所述数据进行正则匹配,将不匹配的Query进行省略;所述Query分类模块将来自Query省略模块的数据根据它的主题进行分类,并将分类后的数据传输至索引模块;所述Query省略模块通过挖掘规则对传输至的数据进行处理,查找出不重要的分词,并建立正则规则,对于后输入的数据与所述正则规则进行匹配。进一步,所述交互模块包括权限控制模块、查询模块、筛选模块、入库数据管理模块和特定管理模块,所述权限控制模块控制不同用户对系统的不同操作权限;所述查询模块通过排行查询、标签查询和高级检索的方式实现对微博信息的查看;所述筛选模块筛选数据并添加自定义主题,并将其存储到数据库中;所述入库数据管理模块对筛选模块中已存入数据库的数据进行展示;所述特定管理模块用于对名人和机构名称、名人和机构分类及url网页地址进行管理。进一步,所述采集模块包括网络爬取模块和微博API应用编程接口模块,所述网络爬取模块对指定的URL网页地址进行抓取,并对选取的URL发送请求得到网站原始的HTML超文本标记语言页面并发送至分析模块;所述微博API模块采用现有微博平台提供的微博API获取JSON轻量级数据交换格式的数据并发送至分析模块;所述分析模块包括数据抽取模块、数据过滤模块、文本分类模块、数据存储模块,所述数据抽取模块接收采集模块中网络爬取模块收集到的HTML页面并格式化为JSON格式的数据,并将所述格式化为JSON格式的数据传输至数据过滤模块,所述数据抽取模块对网络爬取模块获取的原始HTML网页进行标准XML可扩展标记语言格式的转化,查找数据节点,对数据加上相应标签,将其映射成JSON格式的数据;所述数据过滤模块接收采集模块中微博API模块输出的JSON格式的数据和数据抽取模块传输的JSON格式的数据,并将所述数据通过去重和过滤得到有效数据,并将所述有效数据传输至文本分类模块和数据存储模块;所述文本分类模块对过滤模块传输至的有效数据进行分类并将分类结果发送至数据存储模块;所述数据存储模块将数据过滤模块和文本分类模块传输至的数据和分类结果写入文件,并分别存储所述文件数据,同时提取有效数据的属性信息写入文件;所述数据存储模块包括数据库和文本文件,所述数据库用于存储完整的数据信息并根据用户指令将数据发送至交互模块;所述文本文件用于存储数据的id、内容和分类,并根据索引模块的调用将数据传输至交互模块;
所述索引模块包括文本分词模块和索引建立模块,所述文本分词模块通过庖丁解牛分词器结合词典对数据存储模块中存储的文件内容进行分词,得到建立索引的原始数据;所述索引建立模块对文本分词模块传输至的数据建立倒排索引及增量索引得到索引数据。所述的微博API模块,通过API的方式获取所关注的名人、机构的微博消息,包括通过指定相关的名人、机构表,获取它们的微博消息,微博对应评论的更新,即从微博表中获取当前系统时间前24小时的微博原始ID,利用微博API,重新获取此条微博的评论数、转发数、评论列表,去除重复评论,更新微博表和评论表,用户粉丝数的更新,遍历名人机构文件中的名人机构名称,利用API接口,查看是否已经添加关注,如果已关注,则更新粉丝数;否则,查看粉丝数是否达到关注阈值,达到则利用API添加关注,并将其信息写入到名人机构表中。所述的数据抽取模块,对网络爬虫方式获取的原始HTML网页进行标准XML的转化,查找数据节点,对数据加上相应标签,将其映射成JSON格式的微博数据,对于每一次数据的更新,都需要进行结果的合并处理;所述的文本分类模块,采用基于前项最大匹配算法的分词方法对微博内容进行分词,对分词结果在分类词典中进行匹配,根据相关的规则得出一条微博的分类结果;所述的文本分词模块,通过可添加自定义词库、具有良好扩展性和支持中文分词的庖丁解牛分词器,对数据存储模块中写入文件的微博内容进行分词,得到建立索引的原始数据。所述的检索关键字优化模块,统计一段时间的检索关键字日志,分析检索关键字特征,找出导致召回结果少的冗余词和句式,将其配置成规则,对检索关键字进行正则匹配,对检索关键字中规则中包含的词进行省略。所述的查询模块,提供三种查询方式,即排行查询、标签查询及高级检索。其中排行查询包括最新资讯、热门话题、热门微博、热门名人及热门机构。最新资讯包括当天所有的微博消息,热门话题展示微博消息的话题数最多的topN条话题,热门微博展示转发数最多的topN条微博及评论数最多的topN条微博,热门名人展示关注数最多的topN个名人,热门机构展示关注数最多的topN个机构,将其推荐给用户。标签查询包括微博来源、微博分类标签,同时提供标签的添加、删除功能。微博来源即将来自该微博网站的所有微博消息展现出来,微博分类标签即将属于该分类下的所有微博消息展现出来。高级检索的条件包括微博消息发布的时间范围、微博来源、微博分类标签和查询关键字,查询模块将满足条件的结果进行展现,展现的内容包括微博内容、微博作者、微博发布时间、微博来源和微博标签以及对于此微博的评论信息;所述的筛选模块,用户可以选择感兴趣的微博消息,对这一类数据集添加自定义的主题,并将其存储到数据库中,此数据集的以主题列表的形式展示,对其他用户不可见但对管理员可见,管理员可以单个或批量选择微博消息,删除其在源数据及索引数据中的存储;所述特定管理模块,包括名人机构名称、名人机构分类及url的管理;提供对名人机构的信息进行添加和编辑操作,能对名人机构信息进行单个或批量删除, 通过名人机构名称、名人机构分类等查询条件能查找符合条件的名人机构信息;用来配置采集模块中微博API模块需要收集的名人机构的微博消息,即通过输入名人机构名称,指定微博来源添加一条新的数据,如果添加成功,且数据库中不存在此名人机构名称,采集模块中的微博API模块将收集此名人机构发布的微博消息,数据库中存在此名人机构名称则对它的粉丝数进行更行。反之添加失败,采集模块中的微博API模块不做任何响应。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。XML是一种通用的数据交换格式,注可扩展标记语言(Extensible MarkupLanguage, XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。本发明的另 一个目的是针对现有技术信息过载,对有效信息的使用不便的不足,提供一种能从大量的微博信息中过滤出有效的微博数据的面向微博的定制化筛选方法。本发明解决上述技术问题的技术方案如下一种面向微博的定制化筛选方法,具体包括以下步骤步骤I :通过采集模块收集来自网站的数据;步骤2 :分析模块过滤采集模块的数据得到有效数据;步骤3 :索引模块对分析模块传输至的数据建立索引;步骤4 :用户输入查询请求通过检索模块获取分析模块内的相关数据。进一步,所述步骤I通过两种方法获得数据;系统通过采集模块的微博API模块从网站提供的开放API编程接口,获取JSON轻量级数据交换格式的微博数据;系统通过采集模块的网络爬取模块抓取特定的微博网站,得到原始的半结构化HTML页面。进一步,所述步骤2具体包括以下步骤步骤2. I :判断数据是网络爬取模块还是微博API模块传输的,如果是网络爬取模块传输的半结构化HTML页面,进入步骤2. 2 ;如果是微博API模块传输的数据,进入步骤2. 4 ;步骤2. 2 :查找数据节点,将原始不规范的HTML页面转化为XML,从XML的树中结合微博消息的属性,查找特定的区域,从中抽取相关的微博数据,并标记好引用点或锚;步骤2. 3 :利用XSL文件标识锚,指定从锚获取设置查找的微博属性数据,并且用相对应的格式构造一个JSON输出文件;步骤2. 4 :微博数据的去重,使用Message-Digest Algorithm 5 (MD5算法)对字符串“微博数据+发布时间+作者”(“ + ”表示字符串连接)计算签名,将签名存储到数据库中,对每一条新抓取的微博,计算MD5签名,查看数据库中是否存在,若存在表示重复了,将所述签名丢弃;如果不存在,将所述签名存储在数据库中;步骤2. 5 :微博数据的过滤,将待过滤的词配置在词表中,对微博数据进行多模匹配,查看微博数据中是否有词表中的词存在;所述分类词典以不同的类别名称为文件命名,分别存储在文本文件中;微博数据的文本分词,采用基于前项最大匹配算法的分词方法对微博内容进行分词;步骤2.6 :分析模块中的文本分类模块对过滤后的数据进行分类处理,并将结果存入数据库和文本文件;其中将完整的微博数据存入数据库,将数据id、内容和分类存入文本文件。分类的详细规则,基本原则是一个分类得分最多,则此文本就属于这个分类,分类的得分通过该分类下的词长、词频数、词的权重来体现,具体的公式是C = 2f=1 Ien(Wordi) * Weight(Wordi),其中 n 代表属于该分类下的词的总个数,word,代表属于该分类下每个具体的词,Ien(Wordi)代表词的长度,Weight(Wordi)代表词的权重,权重规则是长度> 4的为I. 5,长度=4为I. 25,长度=3的为1,长度=2的为0.5,例如我们分出来的五个词分别是我们I能够I也许I平安保险I社会,其中前三个词属于A类,‘平安保险’属于B类,‘社会’属于C类,则A类的得分是2*0. 5+2*0. 5+2*0. 5 = 3,B类的得分是4*1. 25 = 5,C类的得分是2*0. 5 = 1,因此该文本属于得分最高的B类。
进一步,所述步骤4具体包括以下操作步骤4. I :通过筛选模块数据检索关键字,检索模块处理检索关键字,对来自交互模块中的检索关键字进行纠错、同义词转换及分词等预处理的工作;步骤4. 2 :优化检索关键字,对预处理后的检索关键字进行省略和分类,并将对应的分类结果及处理后的检索关键字输出给索引模块;步骤4. 3 :检索模块与索引模块信息交互,控制索引模块调用分析模块中的数据库将对应检索关键字的数据id对应的完整的微博信息传输至交互模块;步骤4. 4 :交互模块将传输至的数据存入入库数据管理模块。进一步,所述步骤4. 2具体包括以下操作步骤4. 2. I :检索关键字省略模块根据挖掘规则对传输至的数据进行处理,查找出不重要的分词,并建立正则规则;步骤4. 2. 2 :根据正则规则对输入的数据与所述正则规则进行匹配;步骤4. 2. 3 :检索关键字分类模块对输入的数据进行分类并调用索引模块的文本文件中的对应的id,并将所述对应的id发送至分析模块,从分析模块的数据库中取出id对应的完整微博信息,并将其传输至交互模块;所述的分类需要对应根据预先设置的分类表进行匹配生成。Query分类模块中分类表的建立过程如下a)搜狗输入法词库的处理搜狗输入法提供很多领域的词库,从其官方网站能下载到财经、保险、外贸、电子商务、股票等金融词库。下载网址是http://pinyin. sogou. com/dict/。通过和平台的分类体系的对应,可以得到〈term, class_id>的文件。b)带有分类的文档的处理将带有分类的文档使用Paoding分词器分词,统计切词结果中长度大于3的term和其对应的分类,得到〈term, class_id>文件。使用shell 脚本,操作〈term, class_id> 中的文件,得到〈term, class_id,该 term对该分类的卡方值,该term对应各分类的卡方值的方差 > 文件,方差表示该term对不同分类支持程度的波动程度,方差越大,term越能区分不同的分类。过滤掉方差值小于一定阈值的term,再取该term卡方值最大的那个分类作为该term的分类。随机抽取一部分分类结果进行Badcase分析,人工查看,Badcase主要是因为利用卡方值抽取中心词时,阈值限定不合适会产生对某个分类某个term是否太泛的问题,可以删除一些太泛的term ;当多个中心词term同时出现在query中,会产生一部分badcase,可以抽出,放在直达词表中;城市、地名等信息也会影响分类结果,可以将其删除。Query分类模块中的分类过程具体如下
a)构造trie树和失败指针建立trie树,trie树又称单词查找树或键树,是一种树形结构,是一种哈希树的变种,每个节点存储I个字节,动态分配节点的子节点内存。使用宽度优先搜索及队列,添加每个节点的失败指针。GBK编码中,每个字符有2个字节组成,由于每个节点存储I个字节,字符拆分可能会产生拆分误伤,即两个汉字拆分后,第一个汉字的第二个字节和第二个汉字的第一个字节产生一个新的汉字。为避免拆分误伤,将英文字符编码为0,将中文字符编码为10,即01不作为一个字符处理。
b)利用最长匹配策略进行多模匹配匹配时,若节点匹配成功,继续匹配query,当中心词的末尾节点匹配成功后,仍然继续匹配query。若节点匹配失败,去节点的失败指针指向的节点继续匹配,输出之前匹配到的中心词及分类id,待匹配完,输出所有匹配的分类id。
图I为本发明实施例I所述的面向微博的定制化筛选系统结构图;图2为本发明实施例I所述的面向微博的定制化筛选方法流程图;图3为本发明实施例I所述的筛选方法query命中多条规则的处理策略示例图。
具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。如图I所示,本发明实施例I所述的一种面向微博的定制化筛选系统,包括后台模块和交互模块,所述后台模块用于采集数据、本地存储、建立索引并提供检索功能;所述交互模块与后台模块信息交互,并提供与后台模块交互的WEB界面。所述后台模块包括依次信息交互的采集模块、分析模块、索引模块和检索模块;所述采集模块集成了不同的数据获取方式,采集原始微博数据;所述分析模块对采集模块传输的数据进行抽取、去重及过滤得到有效数据,并对有效数据分类、存储,所述过滤包括对垃圾、广告及黄反数据的过滤;所述索引模块对分析模块传输至的数据进行中英文分词,根据分词的结果建立倒排索引及增量索引,并根据微博状态文件定期的删除索引;所述检索模块接收交互模块传输的检索关键字,并对检索关键字进行纠错、同义词转换、分词及优化,并对检索结果进行筛选和排序,进一步将排序结果返回交互模块。所述交互模块包括权限控制模块、查询模块、筛选模块、入库数据管理模块和特定管理模块,所述权限控制模块用户控制不同用户对系统的不同权限;所述查询模块通过排行查询、标签查询和高级检索的方式实现对微博信息的查看;所述筛选模块筛选数据并添加自定义主题,并将其存储到数据库中;所述入库数据管理模块对筛选模块中的数据库中的数据进行展示;所述特定管理模块用于对机构名称、机构分类及url进行管理,所述管理包括添加、删除、修改和查询操作。所述采集模块包括网络爬取模块和微博API模块,所述网络爬取模块对指定的URL网页进行抓取,并对选取的URL发送请求得到网站原始的HTML页面,包括初始化URL、URL库的过滤以及URL的选取;
所述微博API模块采用现有微博平台提供的微博API获取JSON格式的数据。所述分析模块包括数据抽取模块、数据过滤模块、文本分类模块、数据存储模块,所述数据抽取模块接收采集模块中网络爬取模块收集到的HTML页面并通过过滤或转化或抽取等方式将其格式化为JSON的数据,并将所述格式化为JSON的数据传输至数据过滤模块;
所述数据过滤模块接收采集模块中微博API模块输出的JSON格式的数据和数据抽取模块传输的JSON格式的数据,并将所述数据通过去重和过滤得到有效数据,并将所述有效数据传输至文本分类模块和数据存储模块,所述过滤包括对垃圾、广告机黄反数据的过滤;所述文本分类模块对过滤模块传输至的有效数据进行分类并将分类结果发送至数据存储模块,包括对有效微博数据的微博内容的分词,将分词结果在分类词典中进行匹配,返回分类结果;所述数据存储模块将数据过滤模块和文本分类模块传输至的数据和分类结果写入文件,并分类存储所述文件数据,同时保存提取有效数据的属性信息写入文件并保存。所述索引模块包括依次数据连接的文本分词模块和索引建立模块,所述文本分词模块通过庖丁解牛分词器结合词典对数据存储模块中存储的文件内容进行分词,得到建立索引的原始数据;所述索引建立模块对文本分词模块传输至的数据建立倒排索引及增量索引得到索引数据。所述检索模块与交互模块信息交互,所述检索模块包括检索关键字处理模块和检索关键字优化模块,所述检索关键字处理模块接交互模块中的检索关键字进行预处理,所述预处理包括纠错、同义词转换及分词等;所述检索关键字优化模块对预处理后的检索关键字进行省略变换和分类,并将检索关键字及其分类发送至索引模块。所述数据抽取模块对网络爬取模块获取的原始HTML网页进行标准XML的转化,查找数据节点,对数据加上相应标签,将其映射成JSON格式的数据。如图2所示,本发明实施例I所述的一种面向微博的定制化筛选方法,具体包括以下步骤步骤I :判断是通过网站提供的开放API,获取JSON格式的微博数据;步骤2 :通过网络爬虫的方式抓取特定的微博网站,得到原始的半结构化HTML页面。步骤3 :所述分析模块中的抽取模块查找数据节点,将原始不规范的HTML页面转化为XML,从XML的树中结合微博消息的属性,查找特定的区域,从中抽取相关的微博数据,并标记好引用点或锚;步骤4 :利用XSL文件标识锚,指定从锚获取设置查找的微博属性数据,并且用相对应的格式构造一个JSON输出文件;步骤5 :微博数据的去重,使用Message-Digest Algorithm 5(MD5算法)对字符串“微博数据+发布时间+作者”(“ + ”表示字符串连接)计算签名,将签名存储到数据库中。对每一条新抓取的微博,计算MD5签名,查看数据库中是否存在,若存在表示重复了,否则表示不存在,将签名存储在数据库中;
步骤6 :微博数据的过滤,将待过滤的词配置在词表中,对微博数据进行多模匹配,查看微博数据中是否有词表中的词存在。步骤7 :文本根据分类词典进行分类,分类词典以不同的类别名称为文件命名,分别存储在文本文件中;
步骤8 :微博数据的文本分词,采用基于前项最大匹配算法的分词方法对微博内容进行分词;步骤9 :索引模块对分析模块传输至的数据建立索引;步骤10 :处理检索关键字,对来自交互模块中的检索关键字进行纠错、同义词转换及分词等预处理的工作;步骤11 :优化检索关键字,对预处理后的检索关键字进行省略变换、分类,并将检索关键字及其分类发送给索引模块。步骤12 :用户通过管理界面定制筛选条件,分析模块将筛选后的数据保存入库。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种面向微博的定制化筛选系统,其特征在于,包括后台模块和交互模块,所述后台模块用于采集数据、分析数据、本地存储、建立索引并提供检索功能; 所述交互模块与后台模块信息交互,并提供与后台模块交互的WEB界面; 所述后台模块依次包括信息交互的采集模块、分析模块、索引模块和检索模块;所述采集模块,采集原始微博数据; 所述分析模块对采集模块传输的数据进行抽取、去重及过滤得到有效数据,并对有效数据分类、存储,所述过滤包括对垃圾、广告及黄反数据的过滤; 所述索弓I模块对分析模块传输至的数据进行中英文分词,根据分词的结果建立倒排索引及增量索引,并根据微博状态文件定期的删除索引; 所述检索模块接收交互模块传输的检索关键字,并对检索关键字进行纠错、同义词转换、分词及优化,并对检索结果进行筛选和排序,进一步将排序结果返回交互模块。
2.根据权利要求I所述的定制化筛选系统,其特征在于,所述检索模块包括Query检索关键字处理模块和Query检索关键字优化模块,所述Query处理模块接收交互模块传输至的Query检索关键字,对Query检索关键字进行处理,并将处理后的Query发送至Query优化模块; 所述Query优化模块对Query处理模块发送至的Query进行省略变换和分类,并将Query及其分类发送给索引模块,接收索引模块返回的结果; 所述Query优化模块包括Query省略模块和Query分类模块,所述Query省略模块接收Query处理模块发送至的数据,并将所述数据进行正则匹配,将不匹配的Query进行省略;所述Query分类模块将来自Query省略模块的数据根据它的主题进行分类,并将分类后的数据传输至索引模块; 所述Query省略模块通过挖掘规则对传输至的数据进行处理,查找出不重要的分词,并建立正则规则,对于后输入的数据与所述正则规则进行匹配。
3.根据权利要求I所述的定制化筛选系统,其特征在于,所述交互模块包括权限控制模块、查询模块、筛选模块、入库数据管理模块和特定管理模块,所述权限控制模块控制不同用户对系统的不同操作权限; 所述查询模块通过排行查询、标签查询和高级检索的方式实现对微博信息的查看; 所述筛选模块筛选数据并添加自定义主题,并将其存储到数据库中; 所述入库数据管理模块对筛选模块中已存入数据库的数据进行展示; 所述特定管理模块用于对名人和机构名称、名人和机构分类及url网页地址进行管理。
4.根据权利要求3所述的定制化筛选系统,其特征在于,所述采集模块包括网络爬取模块和微博API应用编程接口模块,所述网络爬取模块对指定的URL网页地址进行抓取,并对选取的URL发送请求得到网站原始的HTML超文本标记语言页面并发送至分析模块;所述微博API模块采用现有微博平台提供的微博API获取JSON轻量级数据交换格式的数据并发送至分析模块; 所述分析模块包括数据抽取模块、数据过滤模块、文本分类模块、数据存储模块,所述数据抽取模块接收采集模块中网络爬取模块收集到的HTML页面并格式化为JSON格式的数据,并将所述格式化为JSON格式的数据传输至数据过滤模块,所述数据抽取模块对网络爬取模块获取的原始HTML网页进行标准XML可扩展标记语言格式的转化,查找数据节点,对数据加上相应标签,将其映射成JSON格式的数据;所述数据过滤模块接收采集模块中微博API模块输出的JSON格式的数据和数据抽取模块传输的JSON格式的数据,并将所述数据通过去重和过滤得到有效数据,并将所述有效数据传输至文本分类模块和数据存储模块;所述文本分类模块对过滤模块传输至的有效数据进行分类并将分类结果发送至数据存储模块;所述数据存储模块将数据过滤模块和文本分类模块传输至的数据和分类结果写入文件,并分别存储所述文件数据,同时提取有效数据的属性信息写入文件; 所述数据存储模块包括数据库和文本文件,所述数据库用于存储完整的数据信息并根据用户指令将数据发送至交互模块;所述文本文件用于存储数据的id、内容和分类,并根据索引模块的调用将数据传输至交互模块; 所述索引模块包括文本分词模块和索引建立模块,所述文本分词模块通过庖丁解牛分词器结合词典对数据存储模块中存储的文件内容进行分词,得到建立索引的原始数据;所述索引建立模块对文本分词模块传输至的数据建立倒排索引及增量索引得到索引数据。
5.一种面向微博的定制化筛选方法,其特征在于,具体包括以下步骤 步骤I :通过采集模块收集来自网站的数据; 步骤2 :分析模块过滤采集模块的数据得到有效数据; 步骤3 :索引模块对分析模块传输至的数据建立索引; 步骤4 :用户输入查询请求通过检索模块获取分析模块内的相关数据。
6.根据权利要求5所述的定制化筛选方法,其特征在于,所述步骤I通过两种方法获得数据; 系统通过采集模块的微博API模块从网站提供的开放API编程接口,获取JSON轻量级数据交换格式的微博数据; 系统通过采集模块的网络爬取模块抓取特定的微博网站,得到原始的半结构化HTML页面。
7.根据权利要求5所述的定制化筛选方法,其特征在于,所述步骤2具体包括以下步骤 步骤2. I :判断数据是网络爬取模块还是微博API模块传输的,如果是网络爬取模块传输的半结构化HTML页面,进入步骤2. 2 ;如果是微博API模块传输的数据,进入步骤2. 4 ;步骤2. 2 :查找数据节点,将原始不规范的HTML页面转化为XML,从XML的树中结合微博消息的属性,查找特定的区域,从中抽取相关的微博数据,并标记好引用点或锚; 步骤2. 3 :利用XSL文件标识锚,指定从锚获取设置查找的微博属性数据,并且用相对应的格式构造一个JSON输出文件; 步骤2. 4:微博数据的去重; 步骤2. 5 :微博数据的过滤,将待过滤的词配置在词表中,对微博数据进行多模匹配,查看微博数据中是否有词表中的词存在;所述分类词典以不同的类别名称为文件命名,分别存储在文本文件中;微博数据的文本分词,采用基于前项最大匹配算法的分词方法对微博内容进行分词; 步骤2. 6 :分析模块中的文本分类模块对过滤后的数据进行分类处理,并将结果存入数据库和文本文件;其中将完整的微博数据存入数据库,将数据id、内容和分类存入文本文件。
8.根据权利要求5所述的定制化筛选方法,其特征在于,所述步骤4具体包括以下操作 步骤4. I :通过筛选模块数据检索关键字,检索模块处理检索关键字,对来自交互模块中的检索关键字进行纠错、同义词转换及分词等预处理的工作; 步骤4.2 :优化检索关键字,对预处理后的检索关键字进行省略和分类,并将对应的分类结果及处理后的检索关键字输出给索引模块; 步骤4. 3 :检索模块与索引模块信息交互,控制索引模块调用分析模块中的数据库将对应检索关键字的数据id对应的完整的微博信息传输至交互模块; 步骤4. 4 :交互模块将传输至的数据存入入库数据管理模块。
9.根据权利要求8所述的定制化筛选方法,其特征在于,所述步骤4.2具体包括以下操作 步骤4. 2. I :检索关键字省略模块根据挖掘规则对传输至的数据进行处理,查找出不重要的分词,并建立正则规则; 步骤4. 2. 2 :根据正则规则对输入的数据与所述正则规则进行匹配; 步骤4. 2. 3 :检索关键字分类模块对输入的数据进行分类并调用索引模块的文本文件中的对应的id,并将所述对应的id发送至分析模块,从分析模块的数据库中取出id对应的完整微博信息,并将其传输至交互模块;所述的分类需要对应根据预先设置的分类表进行匹配生成。
全文摘要
本发明涉及一种面向微博的定制化筛选系统及方法,其中一种面向微博的定制化筛选系统包括后台模块和交互模块,所述后台模块用于采集数据、分析数据、本地存储、建立索引并提供检索功能;所述交互模块与后台模块信息交互,并提供与后台模块交互的WEB界面。本系统是解决信息过载的一种解决方案,即从庞大的微博数据中,针对性地筛选出用户关注的一类信息,为用户过滤掉一大批非关注信息,并能将这些数据本地化存储,方便用户长期使用;并通过验证机制增强系统本身的安全性;整个系统的工作逻辑清晰、流畅,减少了系统各模块之间的耦合度,每模块内部都由若干模块组成,有利于每模块功能的扩展。
文档编号G06F17/30GK102622443SQ201210065678
公开日2012年8月1日 申请日期2012年3月13日 优先权日2012年3月13日
发明者刘佳, 田瑞, 闫丹凤 申请人:北京邮电大学