CN105718590A - 面向多租户的SaaS舆情监控系统及方法 - Google Patents
面向多租户的SaaS舆情监控系统及方法 Download PDFInfo
- Publication number
- CN105718590A CN105718590A CN201610054599.6A CN201610054599A CN105718590A CN 105718590 A CN105718590 A CN 105718590A CN 201610054599 A CN201610054599 A CN 201610054599A CN 105718590 A CN105718590 A CN 105718590A
- Authority
- CN
- China
- Prior art keywords
- data
- public sentiment
- nutch
- user
- monitoring system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向多租户的SaaS舆情监控系统及方法,包括数据采集与存储模块、基于并行处理框架的数据分析模块;所述数据采集与存储模块是在Nutch开源框架的基础上,对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中,采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;所述数据分析模块在并行计算框架基础上,采用基于Single?Pass的改进算法发现热点话题,将挖掘出的热点话题与用户预设的业务需求描述进行逐条匹配,用以实现用户在海量数据上的筛选和过滤。本发明在多数据源、多租户等方面体现了良好的可扩展性。
Description
技术领域
本发明涉及舆论监控领域,特别是一种面向多租户的SaaS舆情监控系统及方法。
背景技术
2015年,中国的网民渗透率将达50%,随着网民不断增多,言论数量也表现出爆炸性增长的趋势。为了及时发现言论中的不良信息,掌控网络言论的发展态势,舆情监控已经成为政府及大型企业的实际需求。但海量的媒体数据和异构的信息内容为舆情监控带来了极大的挑战:
1.传统的舆情系统的设计多采用单机模型,主要面向单个领域进行监控。随着答数据的涌现和数据结构的多变,现有的舆情监控系统难以同时满足海量数据的实时获取和实现多领域的监控,传统的单机系统面对庞大的多源数据表现出可扩展性等问题。
2.当前的舆情监控系统都是基于某类特定算法实现的,针对一个特定的用户需求可能需要多种算法进行分析。在面向不同用户的需求,或者针对新的任务和功能,现有的系统难以进行处理和扩展。
因此,我们提出面向多租户的SaaS舆情监控系统,针对海量、异构、多源数据进行爬取,在并行计算框架基础上对数据分析,并通过云计算平台以低成本提供海量舆情数据的监控服务。
发明内容
有鉴于此,本发明的目的是提出一种面向多租户的SaaS舆情监控系统及方法,在多数据源、多租户等方面体现了良好的可扩展性。
本发明的系统采用以下方案实现:一种面向多租户的SaaS舆情监控系统,包括数据采集与存储模块、基于并行处理框架的数据分析模块;所述数据采集与存储模块是在Nutch开源框架的基础上,对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中,采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;所述数据分析模块在并行计算框架基础上,采用基于Single-Pass的改进算法发现热点话题,将挖掘出的热点话题与用户预设的业务需求描述进行逐条匹配,用以实现用户在海量数据上的筛选和过滤。
进一步地,本发明的数据采集与存储模块是基于Nutch开源框架实现的。Nutch是一个由Java实现的开源web搜索引擎,主要用于收集网页数据,对其进行分析、索引,以提供相应的接口来对其网页数据进行查询的一套工具。Nutch1.X版本将爬取的网页存储在HDFS文件系统中,而2.X版本对底层的数据存储进行了抽象,支持使用多种数据库,例如HBase,MySql来存储数据。考虑到使用上的需求,本方法选取Nutch2.2.1版本,方便读取存储的网页数据。
较佳的,舆情监控系统在信息获取上要求具有高度的针对性和时效性。为满足上述两点,本发明基于Nutch搭建采集模块,采用分布式部署和并行爬取的策略,由一台服务控制器和多个爬虫端组成,服务控制器负责爬虫端的监测与控制,每个爬虫端可单独配置爬取的站点、深度等参数,进行全天候的数据获取。对于爬取的数据,按照一定的格式存储于分布式平台HBase中。HBase是一个分布式的、面向列的开源数据库,依托于Hadoop的HDFS作为最基本存储基础单元。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
进一步地,Nutch是为搜索引擎设计的爬虫,主要针对互联网上的信息进行漫无边际的爬取,在精准数据抓取方面较为薄弱;另一方面,Nutch数据更新周期的长短,决定了采集的数据是否具有时效性,但周期设置过短,Nutch则会浪费大量时间在已爬取网页的更新工作上。因此,对Nutch进行了以下改进:
1)限制数据的采集范围。Nutch提供了一个迭代次数的设置参数,爬虫程序一旦达到迭代次数即停止,但最后一次迭代解析出的链接将会作为下一次爬虫的起始地址,因此Nutch会对互联网上的信息进行漫无边际的爬取。但互联网上太久远的网页不是我们的采集目标,为去除这部分网页,我们设置一定的爬取深度。爬虫程序从入口URL开始抓取网页,一直采集到预设的深度即停止。最后一层深度的网页只获取内容,不解析其链接,实现数据采集范围的限制功能。
2)废除数据更新周期。若一个网页的所在位置与入口地址的距离已经超出上述的爬取深度,我们认为该网页已经不在我们的采集范围内,即该网页对于本舆情监控系统来说“太久远”了,没有必要再进行更新,因此本方法废除了数据更新周期这个配置参数。针对仍在采集范围内的网页,每一次爬虫程序启动,都要获取其HTTPheader中的Last-Modified属性,判断是否需要更新,若需要更新则将该网页的URL加入预取列表,等待重新抓取。
3)7*24小时采集。由于网络舆情具有突发性,网络上随时可能产生新的言论,为实时获取网络舆论信息,本方法采用全天候的监控方法,为Nutch添加了一个时间调度模块,以达到实时监控的目的。
特别的,数据分析模块是舆情系统的核心部分,该模块采用MapReduce并行处理框架实现。数据分析模块涉及采用开源分词工具IKAnalyzer对采集的舆情数据进行中文分词处理,提取出文本的特征词并计算特征词的权重,建立文本的向量空间模型,然后通过改进的Single-Pass聚类算法实现热点话题挖掘,并针对用户的不同业务需求向用户推送舆情内容,
本发明还提供了一种基于上文所述的面向多租户的SaaS舆情监控系统的方法,具体包括以下步骤;
步骤S1:所述数据采集与存储模块采用Nutch开源框架对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中;
步骤S2:将采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;
步骤S3:所述数据分析模块采用开源分词工具IKAnalyzer对采集的舆情数据进行中文分词处理,提取出文本的特征词并计算特征词的权重,建立文本的向量空间模型,然后通过改进的Single-Pass聚类算法实现热点话题挖掘,并针对用户的不同业务需求向用户推送舆情内容。
进一步地,所述步骤S1中Nutch的工作具体包括以下步骤:
步骤S11:初始化抓取数据库CrawlDb,注入种子URL;
步骤S12:根据CrawlDb创建抓取列表,并写入相应的segments,一个segments代表一次抓取;
步骤S13:根据预取列表中的链接进行抓取,获取网页文件;
步骤S14:把获取到的网页文件的页面信息存入所述数据库中,解析获取的页面,提取页面内的链接,并更新所述CrawlDb;
步骤S15:判断Nutch的爬取工作是否达到预先设定的深度,若是,则停止爬取工作,并进入步骤S16;若否,则返回步骤S12;
步骤S16:从CrawlDb获取页面重要性评分,同时更新segments;
步骤S17:为获取的页面建立索引数据库;
步骤S18:去除重复的内容,将索引进行合并生成最终可提供系统查询的索引文件。
进一步地,步骤S3中所述提取出文本的特征词并计算特征词的权重具体为:采用向量空间模型VSM表示文档,即将文档d映射为以下形式化的方式来描述:
d=(t1,w1,t2,w2,t3,w3,...,tn,wn);
其中,t1,t2,t3,…,tn是代表文档内容的特征词;w1,w2,w3,…,wn为对应特征词t1,t2,t3,…,tn的权重;
其中,特征词的权重为某个词的TF·IDF值,所述TF表示词条在文档中出现的频率,计算词条ti在文档dj中的词频如下:
其中,ni,j表示词条ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词条出现的次数之和;
所述IDF为逆向文档频率,IDF的主要思想是:如果包含词条t的文档越少,IDF越大,则说明词条t具有很好的类别区分能力,计算词条ti的IDF如下:
其中:|D|表示文档总数,|j:ti∈dj|表示包含词条ti的文件数目。
网络舆情热点发现包括目标话题的识别与跟踪(TDT),其强调对新信息的发现和特定热点的关注,通过聚类将信息汇总给用户,并自动跟踪新闻事件,提供事件发展的轨迹。Single-Pass算法是基础的话题检测方法。传统的Single-pass算法虽然可以将文本进行聚类,但是进行聚类的类簇中心选定过于随机,不能够全面代表大部分的文本向量,其通常在类簇中心的选取上利用设定的阈值进行判断,然后便将某个文本向量作为类簇中心,以此进行聚类。这就导致聚类的文本内容过于分散,不能够很好地显示聚类效果。然而改进算法是在Single-pass算法的基础上,利用其聚类完成的文本取其平均向量值作为虚拟中心,然后以此进行聚类,由于类簇中心固定,从而使得聚类内容更为凝聚,进而聚类效果更好。
因此,本发明中步骤S3中所述通过改进的Single-Pass聚类算法实现热点话题挖掘具体为:根据Single-Pass算法初步确定出类簇个数,然后计算各个类簇的虚拟中心,将由Single-Pass算法确定类别的所属文本各个权重相加,然后取其各个类别的平均值,以此作为各个类簇的虚拟中心,然后重新计算各个类别所属文本。算法的具体步骤如下:
1)由Single-Pass算法确定类别个数,本次Single-Pass的相似度阈值θ1为0.12;
2)分别计算各类别中所含文本的权重平均值向量作为该类别的虚拟类簇中心;
3)从文档集中取出一个文档,计算其与各个虚拟类簇中心的距离;
4)如果其中最大距离大于相似度阈值θ2,将该文本归属于距离最大的类别,但是类簇中心不变,依旧使用虚拟中心作为类簇中心;(本次的相似度阈值θ2为0.2)
5)如果其中最大距离小于θ2,不再将这个文本放入任何一个类别中;
6)重复步骤3)至4)直到所有文档被分配好。
因为利用两种聚类算法计算出的文档与类簇中心相似度对阈值敏感程度不同,采用Single-pass算法的实验和改进算法的实验只有在阈值分别达到0.12和0.2时,才能有效地区分各个文档归入合适的类簇中。
进一步地,一般来说,舆情监控服务为用户专门定制的系统版,即根据用户的行业特点和实际需求,为用户开发的面向单一业务领域的采集检测系统,其所关注的信息内容相对单一。
本发明提出的SaaS模式的舆情监控服务是面向多租户的,由于租户间对互联网舆情关注的业务领域的实际需求各不相同,需要针对多个租户的不同业务领域向租户提供相应的舆情信息。因此,需要一个通用的机制对租户的业务需求进行形式化描述,并根据用户需求的形式化描述为其推送匹配的热点资讯。
本发明步骤S3中所述针对用户的不同业务需求向用户推送舆情内容具体为包括以下两个步骤:
步骤S31:将租户的业务需求描述为业务向量v:
v=(kw1,w1,kw2,w2,kw3,w3,...,kwn,wn);
其中,kw1,kw2,kw3,…,kwn是用户关注的业务领域的关键词,由用户根据实际需求和业务特点设定;w1,w2,w3,…,wn为对应关键词kw1,kw2,kw3,…,kwn的权重,用户自行定义关键词的权重,权重值域范围为0-1;
通过将用户需求形式化定义为向量v后,可将业务向量v与挖掘出的热点话题进行相似度计算,筛选出用户关心的话题。
需要说明的是,此处的相似度计算方法与上一步基于改进的Single-Pass热点话题发现中的相似度计算方法相同,采用两个文档间的余弦距离similarity来度量文档的相似性。
步骤S32:将业务向量v与挖掘出的热点话题进行相似度计算,筛选出用户关心的话题,其中相似度计算采用以下公式:
其中,A、B分别表示业务向量和热点话题,假设A和B对应向量分别为A=[a1,a2,…,an]和B=[b1,b2,…,bn],则
与现有技术相比,本发明有以下有益效果:通过云计算平台以低成本提供海量舆情数据的监控服务,统一部署、统一采集。首先,以Nutch为基础构造舆情数据采集系统,实现海量、异构、多源数据的采集;其次,在并行计算框架基础上,实现海量数据的分析和热点话题的发现,并提供个性化的预警功能。系统在多数据源、多租户等方面体现了良好的可扩展性。
附图说明
图1为本发明的方法示意图。
图2为本发明数据采集与存储架构示意图。
图3为本发明的数据分析流程图。
图4为Single-Pass算法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本实施例提供了一种面向多租户的SaaS舆情监控系统,包括数据采集与存储模块、基于并行处理框架的数据分析模块;所述数据采集与存储模块是在Nutch开源框架的基础上,对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中,采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;所述数据分析模块在并行计算框架基础上,采用基于Single-Pass的改进算法发现热点话题,将挖掘出的热点话题与用户预设的业务需求描述进行逐条匹配,用以实现用户在海量数据上的筛选和过滤。
在本实施例中,本发明的数据采集与存储模块是基于Nutch开源框架实现的。Nutch是一个由Java实现的开源web搜索引擎,主要用于收集网页数据,对其进行分析、索引,以提供相应的接口来对其网页数据进行查询的一套工具。Nutch1.X版本将爬取的网页存储在HDFS文件系统中,而2.X版本对底层的数据存储进行了抽象,支持使用多种数据库,例如HBase,MySql来存储数据。考虑到使用上的需求,本方法选取Nutch2.2.1版本,方便读取存储的网页数据。
较佳的,在本实施例中,舆情监控系统在信息获取上要求具有高度的针对性和时效性。为满足上述两点,本发明基于Nutch搭建采集模块,采用分布式部署和并行爬取的策略,由一台服务控制器和多个爬虫端组成,服务控制器负责爬虫端的监测与控制,每个爬虫端可单独配置爬取的站点、深度等参数,进行全天候的数据获取。对于爬取的数据,按照一定的格式存储于分布式平台HBase中。HBase是一个分布式的、面向列的开源数据库,依托于Hadoop的HDFS作为最基本存储基础单元。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。采集与存储架构图如图2所示。
在本实施例中,Nutch是为搜索引擎设计的爬虫,主要针对互联网上的信息进行漫无边际的爬取,在精准数据抓取方面较为薄弱;另一方面,Nutch数据更新周期的长短,决定了采集的数据是否具有时效性,但周期设置过短,Nutch则会浪费大量时间在已爬取网页的更新工作上。因此,对Nutch进行了以下改进:
1)限制数据的采集范围。Nutch提供了一个迭代次数的设置参数,爬虫程序一旦达到迭代次数即停止,但最后一次迭代解析出的链接将会作为下一次爬虫的起始地址,因此Nutch会对互联网上的信息进行漫无边际的爬取。但互联网上太久远的网页不是我们的采集目标,为去除这部分网页,我们设置一定的爬取深度。爬虫程序从入口URL开始抓取网页,一直采集到预设的深度即停止。最后一层深度的网页只获取内容,不解析其链接,实现数据采集范围的限制功能。
2)废除数据更新周期。若一个网页的所在位置与入口地址的距离已经超出上述的爬取深度,我们认为该网页已经不在我们的采集范围内,即该网页对于本舆情监控系统来说“太久远”了,没有必要再进行更新,因此本方法废除了数据更新周期这个配置参数。针对仍在采集范围内的网页,每一次爬虫程序启动,都要获取其HTTPheader中的Last-Modified属性,判断是否需要更新,若需要更新则将该网页的URL加入预取列表,等待重新抓取。
3)7*24小时采集。由于网络舆情具有突发性,网络上随时可能产生新的言论,为实时获取网络舆论信息,本方法采用全天候的监控方法,为Nutch添加了一个时间调度模块,以达到实时监控的目的。
特别的,在本实施例中,数据分析模块是舆情系统的核心部分,该模块采用MapReduce并行处理框架实现。数据分析模块涉及采用开源分词工具IKAnalyzer对采集的舆情数据进行中文分词处理,提取出文本的特征词并计算特征词的权重,建立文本的向量空间模型,然后通过改进的Single-Pass聚类算法实现热点话题挖掘,并针对用户的不同业务需求向用户推送舆情内容,
本实施例还提供了一种基于上文所述的面向多租户的SaaS舆情监控系统的方法,具体包括以下步骤;
步骤S1:所述数据采集与存储模块采用Nutch开源框架对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中;
步骤S2:将采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;
步骤S3:所述数据分析模块采用开源分词工具IKAnalyzer对采集的舆情数据进行中文分词处理,提取出文本的特征词并计算特征词的权重,建立文本的向量空间模型,然后通过改进的Single-Pass聚类算法实现热点话题挖掘,并针对用户的不同业务需求向用户推送舆情内容。如图3所示,图3为数据分析流程图。
在本实施例中,所述步骤S1中Nutch的工作具体包括以下步骤:
步骤S11:初始化抓取数据库CrawlDb,注入种子URL;
步骤S12:根据CrawlDb创建抓取列表,并写入相应的segments,一个segments代表一次抓取;
步骤S13:根据预取列表中的链接进行抓取,获取网页文件;
步骤S14:把获取到的网页文件的页面信息存入所述数据库中,解析获取的页面,提取页面内的链接,并更新所述CrawlDb;
步骤S15:判断Nutch的爬取工作是否达到预先设定的深度,若是,则停止爬取工作,并进入步骤S16;若否,则返回步骤S12;
步骤S16:从CrawlDb获取页面重要性评分,同时更新segments;
步骤S17:为获取的页面建立索引数据库;
步骤S18:去除重复的内容,将索引进行合并生成最终可提供系统查询的索引文件。
在本实施例中,步骤S3中所述提取出文本的特征词并计算特征词的权重具体为:采用向量空间模型VSM表示文档,即将文档d映射为以下形式化的方式来描述:
d=(t1,w1,t2,w2,t3,w3,...,tn,wn);
其中,t1,t2,t3,…,tn是代表文档内容的特征词;w1,w2,w3,…,wn为对应特征词t1,t2,t3,…,tn的权重;
其中,特征词的权重为某个词的TF·IDF值,所述TF表示词条在文档中出现的频率,计算词条ti在文档dj中的词频如下:
其中,ni,j表示词条ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词条出现的次数之和;
所述IDF为逆向文档频率,IDF的主要思想是:如果包含词条t的文档越少,IDF越大,则说明词条t具有很好的类别区分能力,计算词条ti的IDF如下:
其中:|D|表示文档总数,|j:ti∈dj|表示包含词条ti的文件数目。
网络舆情热点发现包括目标话题的识别与跟踪(TDT),其强调对新信息的发现和特定热点的关注,通过聚类将信息汇总给用户,并自动跟踪新闻事件,提供事件发展的轨迹。Single-Pass算法是基础的话题检测方法,算法流程图如图4所示。传统的Single-pass算法虽然可以将文本进行聚类,但是进行聚类的类簇中心选定过于随机,不能够全面代表大部分的文本向量,其通常在类簇中心的选取上利用设定的阈值进行判断,然后便将某个文本向量作为类簇中心,以此进行聚类。这就导致聚类的文本内容过于分散,不能够很好地显示聚类效果。然而改进算法是在Single-pass算法的基础上,利用其聚类完成的文本取其平均向量值作为虚拟中心,然后以此进行聚类,由于类簇中心固定,从而使得聚类内容更为凝聚,进而聚类效果更好。
因此,本实施例中步骤S3中所述通过改进的Single-Pass聚类算法实现热点话题挖掘具体为:根据Single-Pass算法初步确定出类簇个数,然后计算各个类簇的虚拟中心,将由Single-Pass算法确定类别的所属文本各个权重相加,然后取其各个类别的平均值,以此作为各个类簇的虚拟中心,然后重新计算各个类别所属文本。算法的具体步骤如下:
1)由Single-Pass算法确定类别个数,本次Single-Pass的相似度阈值θ1为0.12;
2)分别计算各类别中所含文本的权重平均值向量作为该类别的虚拟类簇中心;
3)从文档集中取出一个文档,计算其与各个虚拟类簇中心的距离;
4)如果其中最大距离大于相似度阈值θ2,将该文本归属于距离最大的类别,但是类簇中心不变,依旧使用虚拟中心作为类簇中心;(本次的相似度阈值θ2为0.2)
5)如果其中最大距离小于θ2,不再将这个文本放入任何一个类别中;
6)重复步骤3)至4)直到所有文档被分配好。
因为利用两种聚类算法计算出的文档与类簇中心相似度对阈值敏感程度不同,采用Single-pass算法的实验和改进算法的实验只有在阈值分别达到0.12和0.2时,才能有效地区分各个文档归入合适的类簇中。
在本实施例中,一般来说,舆情监控服务为用户专门定制的系统版,即根据用户的行业特点和实际需求,为用户开发的面向单一业务领域的采集检测系统,其所关注的信息内容相对单一。
本实施例提出的SaaS模式的舆情监控服务是面向多租户的,由于租户间对互联网舆情关注的业务领域的实际需求各不相同,需要针对多个租户的不同业务领域向租户提供相应的舆情信息。因此,需要一个通用的机制对租户的业务需求进行形式化描述,并根据用户需求的形式化描述为其推送匹配的热点资讯。
本实施例步骤S3中所述针对用户的不同业务需求向用户推送舆情内容具体为包括以下两个步骤:
步骤S31:将租户的业务需求描述为业务向量v:
v=(kw1,w1,kw2,w2,kw3,w3,...,kwn,wn);
其中,kw1,kw2,kw3,…,kwn是用户关注的业务领域的关键词,由用户根据实际需求和业务特点设定;w1,w2,w3,…,wn为对应关键词kw1,kw2,kw3,…,kwn的权重,用户自行定义关键词的权重,权重值域范围为0-1;
通过将用户需求形式化定义为向量v后,可将业务向量v与挖掘出的热点话题进行相似度计算,筛选出用户关心的话题。
需要说明的是,此处的相似度计算方法与上一步基于改进的Single-Pass热点话题发现中的相似度计算方法相同,采用两个文档间的余弦距离similarity来度量文档的相似性。
步骤S32:将业务向量v与挖掘出的热点话题进行相似度计算,筛选出用户关心的话题,其中相似度计算采用以下公式:
其中,A、B分别表示业务向量和热点话题,假设A和B对应向量分别为A=[a1,a2,…,an]和B=[b1,b2,…,bn],则
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (7)
1.一种面向多租户的SaaS舆情监控系统,其特征在于:包括数据采集与存储模块、基于并行处理框架的数据分析模块;所述数据采集与存储模块是在Nutch开源框架的基础上,对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中,采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;所述数据分析模块在并行计算框架基础上,采用基于Single-Pass的改进算法发现热点话题,将挖掘出的热点话题与用户预设的业务需求描述进行逐条匹配,用以实现用户在海量数据上的筛选和过滤。
2.根据权利要求1所述的一种面向多租户的SaaS舆情监控系统,其特征在于:所述Nutch采用Nutch2.2.1版本,并对所述Nutch作了以下改进:
限制数据的采集范围:设置一定的爬取深度,爬虫程序从入口URL开始抓取网页,一直采集到预设的深度即停止;最后一层深度的网页只获取内容,不解析其链接,用以实现数据采集范围的限制功能;
废除数据更新周期:废除了数据更新周期这个配置参数,针对仍在采集范围内的网页,每一次爬虫程序启动,都要获取其HTTPheader中的Last-Modified属性,判断是否需要更新,若需要更新则将该网页的URL加入预取列表,等待重新抓取;
7*24小时采集:采用全天候的监控方法,为Nutch添加了一个时间调度模块,以达到实时监控的目的。
3.一种基于权利要求1所述的面向多租户的SaaS舆情监控系统的方法,其特征在于:包括以下步骤;
步骤S1:所述数据采集与存储模块采用Nutch开源框架对指定的包括新闻、博客、论坛在内的网站进行实时监控,发现并下载最新网页的全文信息,自动提取网页中的链接,访问其他网页进行抓取并存储至数据库中;
步骤S2:将采集的舆情数据采用HBase分布式存储技术实现海量数据的存储;
步骤S3:所述数据分析模块采用开源分词工具IKAnalyzer对采集的舆情数据进行中文分词处理,提取出文本的特征词并计算特征词的权重,建立文本的向量空间模型,然后通过改进的Single-Pass聚类算法实现热点话题挖掘,并针对用户的不同业务需求向用户推送舆情内容。
4.根据权利要求3所述的一种基于面向多租户的SaaS舆情监控系统的方法,其特征在于:所述步骤S1中Nutch的工作具体包括以下步骤:
步骤S11:初始化抓取数据库CrawlDb,注入种子URL;
步骤S12:根据CrawlDb创建抓取列表,并写入相应的segments,一个segments代表一次抓取;
步骤S13:根据预取列表中的链接进行抓取,获取网页文件;
步骤S14:把获取到的网页文件的页面信息存入所述数据库中,解析获取的页面,提取页面内的链接,并更新所述CrawlDb;
步骤S15:判断Nutch的爬取工作是否达到预先设定的深度,若是,则停止爬取工作,并进入步骤S16;若否,则返回步骤S12;
步骤S16:从CrawlDb获取页面重要性评分,同时更新segments;
步骤S17:为获取的页面建立索引数据库;
步骤S18:去除重复的内容,将索引进行合并生成最终可提供系统查询的索引文件。
5.根据权利要求3所述的一种基于面向多租户的SaaS舆情监控系统的方法,其特征在于:步骤S3中所述提取出文本的特征词并计算特征词的权重具体为:采用向量空间模型VSM表示文档,即将文档d映射为以下形式化的方式来描述:
d=(t1,w1,t2,w2,t3,w3,...,tn,wn);
其中,t1,t2,t3,…,tn是代表文档内容的特征词;w1,w2,w3,…,wn为对应特征词t1,t2,t3,…,tn的权重;
其中,特征词的权重为某个词的TF·IDF值,所述TF表示词条在文档中出现的频率,计算词条ti在文档dj中的词频如下:
其中,ni,j表示词条ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词条出现的次数之和;
所述IDF为逆向文档频率,计算词条ti的IDF如下:
其中:|D|表示文档总数,|j:ti∈dj|表示包含词条ti的文件数目。
6.根据权利要求3所述的一种基于面向多租户的SaaS舆情监控系统的方法,其特征在于:步骤S3中所述通过改进的Single-Pass聚类算法实现热点话题挖掘具体为:根据Single-Pass算法初步确定出类簇个数,然后计算各个类簇的虚拟中心,将由Single-Pass算法确定类别的所属文本各个权重相加,然后取其各个类别的平均值,以此作为各个类簇的虚拟中心,然后重新计算各个类别所属文本。
7.根据权利要求3所述的一种基于面向多租户的SaaS舆情监控系统的方法,其特征在于:步骤S3中所述针对用户的不同业务需求向用户推送舆情内容具体为包括以下两个步骤:
步骤S31:将租户的业务需求描述为业务向量v:
v=(kw1,w1,kw2,w2,kw3,w3,...,kwn,wn);
其中,kw1,kw2,kw3,…,kwn是用户关注的业务领域的关键词,由用户根据实际需求和业务特点设定;w1,w2,w3,…,wn为对应关键词kw1,kw2,kw3,…,kwn的权重,用户自行定义关键词的权重,权重值域范围为0-1;
步骤S32:将业务向量v与挖掘出的热点话题进行相似度计算,筛选出用户关心的话题,其中相似度计算采用以下公式:
其中,A、B分别表示业务向量和热点话题,假设A和B对应向量分别为A=[a1,a2,…,an]和B=[b1,b2,…,bn],则
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610054599.6A CN105718590A (zh) | 2016-01-27 | 2016-01-27 | 面向多租户的SaaS舆情监控系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610054599.6A CN105718590A (zh) | 2016-01-27 | 2016-01-27 | 面向多租户的SaaS舆情监控系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718590A true CN105718590A (zh) | 2016-06-29 |
Family
ID=56154280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610054599.6A Pending CN105718590A (zh) | 2016-01-27 | 2016-01-27 | 面向多租户的SaaS舆情监控系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718590A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106096056A (zh) * | 2016-06-30 | 2016-11-09 | 西南石油大学 | 一种基于分布式的舆情数据实时采集方法和系统 |
CN106547914A (zh) * | 2016-11-25 | 2017-03-29 | 国信优易数据有限公司 | 一种数据采集管理系统及其方法 |
CN106777395A (zh) * | 2017-03-01 | 2017-05-31 | 北京航空航天大学 | 一种基于社区文本数据的话题发现系统 |
CN107832344A (zh) * | 2017-10-16 | 2018-03-23 | 广州大学 | 一种基于storm流计算框架的食品安全网络舆情分析方法 |
CN108021582A (zh) * | 2016-11-04 | 2018-05-11 | 中国移动通信集团湖南有限公司 | 互联网舆情监控方法及装置 |
CN109101597A (zh) * | 2018-07-31 | 2018-12-28 | 中电传媒股份有限公司 | 一种电力新闻数据采集系统 |
CN109635072A (zh) * | 2018-11-12 | 2019-04-16 | 平安科技(深圳)有限公司 | 舆情数据分布式存储方法、装置、存储介质和终端设备 |
CN110750963A (zh) * | 2018-07-02 | 2020-02-04 | 北京四维图新科技股份有限公司 | 一种新闻文档去重的方法、装置及存储介质 |
CN111090811A (zh) * | 2019-12-24 | 2020-05-01 | 北京理工大学 | 一种海量新闻热点话题提取方法和系统 |
CN111401074A (zh) * | 2020-04-03 | 2020-07-10 | 山东爱城市网信息技术有限公司 | 一种基于Hadoop的短文本情感倾向性分析方法、系统及装置 |
CN112051905A (zh) * | 2020-10-10 | 2020-12-08 | 青海师范大学 | 一种互联网舆情追踪方法和应用装置 |
CN116821502A (zh) * | 2023-06-30 | 2023-09-29 | 武汉大学 | 一种基于舆情热点的数据管理方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819585A (zh) * | 2010-03-29 | 2010-09-01 | 哈尔滨工程大学 | 一种论坛事件传播图的构建装置及构建方法 |
CN102546771A (zh) * | 2011-12-27 | 2012-07-04 | 西安博构电子信息科技有限公司 | 基于特征模型的云挖掘网络舆情监测系统 |
CN104035960A (zh) * | 2014-05-08 | 2014-09-10 | 东莞市巨细信息科技有限公司 | 互联网资讯信息热点预测方法 |
CN104199947A (zh) * | 2014-09-11 | 2014-12-10 | 浪潮集团有限公司 | 一种对重点人员言论监督与关联关系挖掘的方法 |
US20150358502A1 (en) * | 2010-06-16 | 2015-12-10 | Ricoh Company, Ltd. | Methods and apparatus for management of software applications |
-
2016
- 2016-01-27 CN CN201610054599.6A patent/CN105718590A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819585A (zh) * | 2010-03-29 | 2010-09-01 | 哈尔滨工程大学 | 一种论坛事件传播图的构建装置及构建方法 |
US20150358502A1 (en) * | 2010-06-16 | 2015-12-10 | Ricoh Company, Ltd. | Methods and apparatus for management of software applications |
CN102546771A (zh) * | 2011-12-27 | 2012-07-04 | 西安博构电子信息科技有限公司 | 基于特征模型的云挖掘网络舆情监测系统 |
CN104035960A (zh) * | 2014-05-08 | 2014-09-10 | 东莞市巨细信息科技有限公司 | 互联网资讯信息热点预测方法 |
CN104199947A (zh) * | 2014-09-11 | 2014-12-10 | 浪潮集团有限公司 | 一种对重点人员言论监督与关联关系挖掘的方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106096056B (zh) * | 2016-06-30 | 2019-11-26 | 西南石油大学 | 一种基于分布式的舆情数据实时采集方法和系统 |
CN106096056A (zh) * | 2016-06-30 | 2016-11-09 | 西南石油大学 | 一种基于分布式的舆情数据实时采集方法和系统 |
CN108021582B (zh) * | 2016-11-04 | 2020-12-04 | 中国移动通信集团湖南有限公司 | 互联网舆情监控方法及装置 |
CN108021582A (zh) * | 2016-11-04 | 2018-05-11 | 中国移动通信集团湖南有限公司 | 互联网舆情监控方法及装置 |
CN106547914B (zh) * | 2016-11-25 | 2020-08-18 | 国信优易数据有限公司 | 一种数据采集管理系统及其方法 |
CN106547914A (zh) * | 2016-11-25 | 2017-03-29 | 国信优易数据有限公司 | 一种数据采集管理系统及其方法 |
CN106777395A (zh) * | 2017-03-01 | 2017-05-31 | 北京航空航天大学 | 一种基于社区文本数据的话题发现系统 |
CN107832344A (zh) * | 2017-10-16 | 2018-03-23 | 广州大学 | 一种基于storm流计算框架的食品安全网络舆情分析方法 |
CN110750963A (zh) * | 2018-07-02 | 2020-02-04 | 北京四维图新科技股份有限公司 | 一种新闻文档去重的方法、装置及存储介质 |
CN110750963B (zh) * | 2018-07-02 | 2023-09-26 | 北京四维图新科技股份有限公司 | 一种新闻文档去重的方法、装置及存储介质 |
CN109101597A (zh) * | 2018-07-31 | 2018-12-28 | 中电传媒股份有限公司 | 一种电力新闻数据采集系统 |
CN109635072A (zh) * | 2018-11-12 | 2019-04-16 | 平安科技(深圳)有限公司 | 舆情数据分布式存储方法、装置、存储介质和终端设备 |
CN111090811A (zh) * | 2019-12-24 | 2020-05-01 | 北京理工大学 | 一种海量新闻热点话题提取方法和系统 |
CN111090811B (zh) * | 2019-12-24 | 2023-09-01 | 北京理工大学 | 一种海量新闻热点话题提取方法和系统 |
CN111401074A (zh) * | 2020-04-03 | 2020-07-10 | 山东爱城市网信息技术有限公司 | 一种基于Hadoop的短文本情感倾向性分析方法、系统及装置 |
CN112051905A (zh) * | 2020-10-10 | 2020-12-08 | 青海师范大学 | 一种互联网舆情追踪方法和应用装置 |
CN112051905B (zh) * | 2020-10-10 | 2021-03-19 | 青海师范大学 | 一种舆情预警装置 |
CN116821502A (zh) * | 2023-06-30 | 2023-09-29 | 武汉大学 | 一种基于舆情热点的数据管理方法和系统 |
CN116821502B (zh) * | 2023-06-30 | 2024-03-08 | 武汉大学 | 一种基于舆情热点的数据管理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718590A (zh) | 面向多租户的SaaS舆情监控系统及方法 | |
CN103258000B (zh) | 对网页中高频关键词进行聚类的方法及装置 | |
Hotho et al. | Information retrieval in folksonomies: Search and ranking | |
CN103365924B (zh) | 一种互联网信息搜索的方法、装置和终端 | |
CN102890713B (zh) | 一种基于用户当前地理位置和物理环境的音乐推荐方法 | |
CN103049575B (zh) | 一种主题自适应的学术会议搜索系统 | |
CN103226578B (zh) | 面向医学领域的网站识别和网页细分类的方法 | |
CN102750390B (zh) | 新闻网页要素自动提取方法 | |
US20170228599A1 (en) | Content-Based Video Representation | |
CN106383887A (zh) | 一种环保新闻数据采集和推荐展示的方法及系统 | |
CN107885793A (zh) | 一种微博热点话题分析预测方法及系统 | |
CN103186600B (zh) | 互联网舆情的专题分析方法和装置 | |
CN101727447A (zh) | 基于url的正则表达式的生成方法和装置 | |
CN103020159A (zh) | 一种面向事件的新闻展现方法和装置 | |
CN106980651B (zh) | 一种基于知识图谱的爬取种子列表更新方法及装置 | |
CN110297931A (zh) | 一种图像检索方法 | |
CN103023714A (zh) | 基于网络话题的活跃度与集群结构分析系统及方法 | |
CN104182482B (zh) | 一种新闻列表页判断方法及筛选新闻列表页的方法 | |
CN105378730A (zh) | 社交媒体分析与输出 | |
CN104809252A (zh) | 互联网数据提取系统 | |
CN104391978A (zh) | 用于浏览器的网页收藏处理方法及装置 | |
CN104899215A (zh) | 数据处理方法、推荐源信息组织和信息推荐方法及装置 | |
CN106649498A (zh) | 一种基于爬虫和文本聚类分析的网络舆情分析系统 | |
CN104834739A (zh) | 互联网信息存储系统 | |
CN102567521A (zh) | 网页数据抓取过滤方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |
|
RJ01 | Rejection of invention patent application after publication |