具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
为了解决现有技术存在的问题,本发明实施例提供了一种搜索信息的方法,如图1所示,该方法包括:
步骤101、从网页采集源采集网页信息;具体的,在网络侧服务器端,当网页采集源为选定的网站时,根据预先配置的采集任务采用网络爬虫采集网页信息;当网页采集源为通过搜索引擎搜索的网页时,采用预先配置的搜索规则搜索网页,并采集网页信息。其中,采集任务包括:欲采集的网站名称、采集时的起始链接地址、采集的深度和刷新策略;网页信息包括:元数据和正文。
步骤102、根据采集的网页信息,建立信息资料库;具体的,网络侧服务器将采集的网页信息处理为采集结果文件并缓存;对采集结果文件进行自然语言处理,提取关键词和摘要;存储网页信息、以及关键词和摘要,建立信息资料库。较佳的,提取关键词和摘要之后,还包括:基于语料库信息,采用文本分类模型对采集结果文件进行自动分类处理。较佳的,提取关键词和摘要之后,还包括:基于垃圾词汇表,对采集结果文件进行信息过滤。当然,也可以对自动分类处理后的采集结果文件进行信息过滤;或者对信息过滤后的采集结果文件进行自动分类处理;也可以仅进行某项处理。其中,将采集的网页信息中的元数据、及提取的关键词和摘要信息存储到网页库;将采集的网页信息中的正文以文件的形式存储到文件库中;将元数据、提取的关键词和摘要信息、以及正文作为搜索时使用的信息资料库资源。
此外,可以建立全文检索渐进表;在全文检索渐进表中记录网页信息中的元数据、提取的关键词和摘要信息、以及网页信息的关键数据项;该关键数据项包括:该网页信息存储的唯一键值、索引建立方式和网页信息中正文的存储路径。全文检索渐进表中新增网页信息的记录后,读取网页信息的记录,获取网页信息的唯一键值,根据正文的存储路径读取正文;对正文进行分词处理,根据分词处理结果建立索引。
步骤103、根据客户端发送的搜索请求,在信息资料库中进行搜索;具体的,网络侧服务器接收客户端发送的搜索请求;分析搜索请求携带的搜索请求规则,建立用于搜索的语法树;根据语法树,在信息资料库中搜索匹配的网页信息。
较佳的,可以对搜索结果进行敏感信息检测;当敏感信息的数目或者增长率超过阈值时,向客户端发送预警信息。
较佳的,对搜索结果中的网页信息进行聚类分析;对搜索结果中的网页信息中的标题和正文,进行相似度匹配;将相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为原始信息;获取与原始信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第一级信息;获取与第一级信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第二级信息;以此类推,直到相似度未达到相似度阈值,将各级信息按照级别顺序构成传播路径。
较佳的,还可以根据资料库中的网页信息中的元数据的变化值,确定出网页信息趋势曲线。例如,根据网页信息中的点击量可以预测该网页信息的趋势,多次获得点击量后,可以建立起网页信息趋势曲线。当客户端搜索到该网页信息时,可以将该网页信息趋势曲线一起发送到客户端。
步骤104、将搜索结果推送到客户端进行显示。较佳的,客户端在搜索结果中选择任一网页信息进行显示时,网络侧服务器在信息资料库中获取与当前选择的网页信息关联度超过关联阈值的网页信息,并推送到客户端。
下面对本发明实施例提供的方法进行详细说明。
(一)关于配置网页采集来源
管理员预先配置网页采集来源,该网页采集源可以是预先选定的网站,例如选定网站A、网站B为网页采集源,那么可以实时或定时获取该网站A和网站B中的网页信息。例如,可以采用网络爬虫从选定的网站中采集网页信息。较佳的,若选定的网站属于动态脚本网站,则可以使用动态解析服务解析该网站的脚本,进而获取网页中的正文。管理员也可以预先配置搜索引擎的搜索规则,通过搜索引擎在互联网中搜索相关网页,该搜索规则包括但不限于:搜索使用的关键词或多个关键词的组合、搜索的约束条件、使用的搜索引擎的类型、搜索频率等。例如,搜索规则为使用关键词B在搜索引擎A中搜索关于C方面的网页信息。同时,管理员需要配置采集任务,也就是如何采集网页信息、网页信息的采集程度。该采集任务包括但不限于:欲采集的网站名称、采集时的起始链接地址、采集的深度、刷新策略等。例如,采集网站D中起始链接地址为E的位置开始采集网页信息,直到采集深度达到F。其中,采集深度为2是指从起始的网页开始采集并采集到第二级目录中的内容。其中,当网页采集源为预先选定的网站时,需要配置该采集任务;当网页采集源为通过搜索引擎采集网页信息时,不需要预置采集任务,而且其在一定程度上弥补了使用采集任务采集网页信息的局限性。
上述网页信息包括元数据以及正文,元数据包括标题、作者、发布时间以及点击量、回复量、回复内容等。
(二)关于将采集的网页信息构成信息资料库并进行管理
采集元数据以及正文后,将元数据以及正文进行处理形成采集结果文件并缓存。较佳的,将形成的采集结果文件进行缓存时,可以按照网站进行分组存储,也可以按照时间顺序进行存储。例如,将属于网站A的采集结果文件作为一组进行存储。而且,该采集结果文件的格式包括但不限于文本文件或XML(eXtensibleMarkupLanguage,可扩展标记语言)文件。然后,对采集结果文件进行自然语言处理。具体的,对采集结果文件自动分词、词性标注、句法分析和实体识别、关键词提取和摘要提取等过程,并将提取出的关键词和摘要等与元数据存储在一起。通过存储的网页信息、以及所述关键词和摘要,建立信息资料库。
较佳的,还可以对采集结果文件进行自动分类处理。具体的,基于训练好的语料库对采集的网页信息中的正文进行语义分析。较为通用的方式包括基于SVM文本分类模型的自动分类方式,其可以将采集的网页信息自动划分为“社会”、“政治”、“经济”、“娱乐”等类型。较佳的,还可以采用智能学习方式,自动丰富和完善自动分类过程使用的语料库信息,从而不断提高自动分类的准确性。
较佳的,还可以对采集结果文件进行信息过滤。具体的,建立基于领域知识库的垃圾词汇表,以规则匹配的方式过滤掉无用信息,例如该垃圾词汇表具有词汇“垃圾”,则可以将包括“垃圾”的网页信息过滤掉。
然后,将采集的元数据、及提取的关键词和摘要信息存储到网页库中,将采集的正文以文件的形式存储到文件库中。该文件库可以与网页库位于同一个服务器中,也可以位于不同服务器中,例如将正文以文件的形式存储到文件服务器中;将元数据、及提取的关键词和摘要信息以表格的形式存储在本地网络侧服务器。其中,可以建立全文检索渐进表,在该表中记录每个网页信息对应的元数据、及提取的关键词和摘要信息,并且记录相应的关键数据项。该关键数据项包括但不限于:该网页信息存储的唯一键值、索引建立方式(也就是该网页信息是新增还是修改)、网页信息中正文的存储路径。具体的,当具有新的网页信息存储到本地网络侧服务器时,为该网页信息建立一个唯一键值,在全文检索渐进表中记录该新增的网页信息的元数据、提取的关键词和摘要信息、以及该网页信息的正文的存储路径和唯一键值,并记录该网页信息的索引建立方式为新增。当该网页信息发生变化时,将变化后的部分替换相应的原部分。其中,一旦该全文检索渐进表中插入新的网页信息记录,则本地网络侧服务器读取该网页信息记录,并获取网页信息的唯一键值,然后根据正文的存储路径读取该正文。再根据正文对应的索引建立方式,建立与该正文对应的索引。
上述建立与该正文对应的索引的过程中,需要对存储的正文进行分词处理,再根据分词结果建立索引、更新索引文件并存储到本地网络侧服务器。一种较好的分词处理方式为:基于语言知识库对信息,分别进行正向最大匹配和逆向最大匹配,然后利用语言知识库中的消歧词典对词语进行消歧处理,从而保持较高的分词准确率。例如,网页信息中包括“汶川5·12地震后,”这句话中的“地震后”的正向分词为“地震/后”,逆向分词为“地/震后”,由于正向和逆向分词结果不同,故需要进一步借助消歧词典,如果消歧词典中对应的词汇为“地震”,则确定分词结果为“地震/后”;如果消歧词典中无对应的词汇,则同时保留“地震/后”和“地/震后”,并同时建立索引。这样,无论客户端发送的搜索请求的关键词为“地震”还是“震后”,均可以搜索到该网页信息。
较佳的,还可以对存储的网页信息进行类聚分析,具体的,根据对正文的分词处理结果、以及提取的关键词,为每篇网页信息生成关键词向量。然后,使用层次聚类方法基于该关键词向量对网页信息进行层次聚类,直到网页信息的范围缩小到预定条件为止。还可以在聚类后的网页信息的基础上继续利用K均值聚类算法再次聚类,最终完成网页信息的聚类分析,使得同一聚类中的网页信息相似度较高;而不同聚类中的网页信息相似度较小。
(三)关于根据客户端发送的搜索请求,在信息资料库中进行搜索
用户通过客户端向网络侧服务器发送搜索请求,该搜索请求携带了搜索请求规则,例如关键词、搜索限制条件等。同时,客户端以定时发送心跳消息的方式与网络侧服务器保持有效的连接。网络侧服务器根据客户端发送的搜索请求后,分析其携带的搜索请求规则,在信息资料库中搜索相关网页信息。然后,将符合搜索请求规则的网页信息推送到客户端。其中,该客户端可以是浏览器也可以是独立的可执行程序。
较佳的,可以使用智能检索进行关键字搜索,也可以对搜索请求规则进行语法分析,建立用于搜索的语法树并根据该语法树在信息资料库中搜索匹配的网页信息。例如,搜索请求规则中包括“北京”和“牡丹”,则可以建立一个根节点为“城市”,子节点为“北京”、“上海”的语法树,建立一个根节点为“花卉”,子节点为“牡丹”、“月季”的语法树,通过语法树中各个子节点的不同匹配方式,可以得到最大范围内的相关网页信息。然后,使用聚类分析方式对搜索到的网页信息进行进一步分析,得到与搜索请求最为匹配的网页信息返回到客户端。
(四)关于对搜索结果的管理
搜索出网页信息后,可以对搜索出的网页信息进行进一步管理。例如,对搜索结果进行敏感信息检测;当敏感信息的数目或者增长率超过阈值时,向客户端发送预警信息。具体的,根据某一类敏感信息短时间内的信息增长量和敏感级别设置预警临界值,当网页信息中的敏感信息的数目或者增长率超过阈值时即可向客户端预警。其中,网络侧服务器预先设定阈值并设置扫描周期,扫描敏感信息的数目或者增长率。然后,可以向客户端发送预警信息,也可以通过邮件、短信等方式向用户发送预警信息。这样,可以使得户摆脱繁杂的信息浏览及过滤过程,第一时间通过推送给用户最紧急、关注的信息。
还可以分析某个指定网页信息的传播路径,具体的,对搜索结果中的网页信息进行聚类分析;对搜索结果中的网页信息中的标题和正文,进行相似度匹配;将相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为原始信息;获取与原始信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第一级信息;获取与第一级信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第二级信息;以此类推,直到相似度未达到相似度阈值,将各级信息按照级别顺序构成传播路径。其中,相似度阈值可以进行调整。
还可以进行网页信息的趋势分析,例如针对新闻网页信息,分析其评论数的变化和转载情况;针对论坛或社区的帖子,分析其点击数和回复数的增量变化情况;针对微博,分析评论和转发的增量变化情况。最终通过以上数据信息得出该网页信息的趋势变化情况。
还可以对搜索结果进行关联推荐,例如用户浏览某条网页信息时,网络侧服务器自动对网页库中的网页信息与当前网页信息进行关联度计算,将关联度超过关联阈值的信息推荐出来。关联度具体包括相似度和相关度两部分,对于长文本相似判断,可以采用普遍使用的SimHash技术,同时应用基于语义的快速文本相似度算法来弥补同义词、多义词等带来的干扰。对于短文本,则可以采用基于信息检索的快速海量句子相似算法,即首先从正在浏览的网页信息中识别出关键词集合来表征当前网页信息,然后在整个网页库检索这些关键词,获得包含一个或若干个关键词的句子,形成候选推荐集。最后,计算该候选集中的信息与选题信息的相似度。最终将内容真正与当前浏览的网页信息相关或相似的信息推荐出来。
其中,上述对网页信息进行敏感词检测、传播路径分析、趋势分析和关联推荐等处理过程也可以适用于对信息资料库的管理。
通过上述描述,可以看出,使用本发明实施例提供的搜索信息的方法,通过预先采集用户关注的网页信息,并使用该众多网页信息建立信息资料库,当接收到客户端发送的搜索请求时,在该信息资料库中进行搜索,可以提高搜索效率,并且提高搜索精度。
下面通过具体实施例对本发明实施例提供的搜索信息的方法进行详细说明。假设用户关注的网页信息方面为“娱乐”,则如图2所示,包括以下步骤:
步骤201、预先设置获取娱乐信息的网页采集源;
步骤202、存储从网页采集源中采集的网页信息;具体的,在网络侧服务器端,当网页采集源为选定的网站时,根据采集任务采用网络爬虫采集网页信息;其中,采集任务包括:欲采集的网站名称、采集时的起始链接地址、采集的深度和刷新策略;网页信息包括:元数据和正文。当网页采集源为通过搜索引擎搜索的网页时,采用预先配置的搜索规则搜索网页,并采集网页信息。
步骤203、根据采集网页信息建立信息资料库;
步骤204、接收客户端发送的搜索请求;
步骤205、解析搜索请求,根据搜索请求携带的搜索规则在信息资料库中进行搜索;
步骤206、将搜索结果推送到客户端进行显示;
步骤207、对搜索结果进行敏感信息检测;具体的,网络侧服务器周期性检测搜索结果中网页信息包含的敏感信息的数目、增长量和增长率等,根据预置的阈值,判断是否向客户端发送预警信息。也就是,当敏感信息的某一个或多个参数值超过阈值时,向客户端发送预警信息,也可以通过短信、邮件等形式直接提醒用户。
步骤208、当客户端在搜索结果中选定浏览当前网页信息时,分析该当前网页信息的传播路径,并将分析结果发送到客户端;具体的,对搜索结果中的网页信息进行聚类分析;对搜索结果中的网页信息中的标题和正文,进行相似度匹配;将相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为原始信息;获取与原始信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第一级信息;获取与第一级信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第二级信息;以此类推,直到相似度未达到相似度阈值,将各级信息按照级别顺序构成传播路径。当然,也可以预先对每个网页信息均分析传播路径,当客户端选取某个网页信息时,将该网页信息的传播路径发送到客户端。
步骤209、当客户端在搜索结果中选定浏览当前网页信息时,对该当前网页信息进行趋势分析,并将分析结果发送到客户端;具体的,根据网页信息中的点击量、回帖量、浏览量或转帖量等参数,可以预测该网页信息的趋势,建立起网页信息趋势曲线。
步骤210、对搜索结果进行关联推荐;具体的,浏览某条网页信息时,网络侧服务器自动对网页库中的网页信息与当前网页信息进行关联度计算,将关联度超过关联阈值的信息推荐出来。
上述步骤207至步骤210在执行上没有既定的先后顺序。
此外,上述步骤203的具体过程,如图3所示,包括以下步骤:
步骤301、采集网页信息后,提起网页信息中的元数据及正文;
步骤302、将元数据以及正文进行处理形成采集结果文件并缓存;具体的,将形成的采集结果文件进行缓存时,可以按照网站进行分组存储,也可以按照时间顺序进行存储。
步骤303、采集结果文件进行自然语言处理,提取关键词提取和摘要提取;具体的,对采集结果文件自动分词、词性标注、句法分析和实体识别、关键词提取和摘要提取等过程,并将提取出的关键词和摘要等与元数据存储在一起。
步骤304、通过存储的网页信息、以及所述关键词和摘要,建立信息资料库。具体的,对采集结果文件进行自动分类处理以及信息过滤,再采集的元数据、及提取的关键词和摘要信息存储到网页库中,将采集的正文以文件的形式存储到文件库中。然后建立全文检索渐进表,在该表中记录每个网页信息对应的元数据、及提取的关键词和摘要信息,并且记录相应的关键数据项。该关键数据项包括但不限于:该网页信息存储的唯一键值、索引建立方式(也就是该网页信息是新增还是修改)、网页信息中正文的存储路径。其中,对存储的正文进行分词处理,再根据分词结果建立索引。较佳的,还可以对存储的网页信息进行类聚分析。
通过上述描述,可以看出,使用本发明实施例提供的搜索信息的方法,通过预先采集用户关注的网页信息,并使用该众多网页信息建立信息资料库,当接收到客户端发送的搜索请求时,在该信息资料库中进行搜索,可以提高搜索效率,并且提高搜索精度。
基于同一发明构思,本发明实施例还提供了一种搜索信息的装置,如图4所示,包括:
采集模块401,用于从网页采集源采集网页信息;
建立模块402,用于根据采集的网页信息,建立信息资料库;
搜索模块403,用于根据客户端发送的搜索请求,在所述信息资料库中进行搜索;
推送模块404,用于将搜索结果推送到所述客户端进行显示。
较佳的,所述采集模块401,具体用于当所述网页采集源为选定的网站时,根据预先配置的采集任务采用网络爬虫采集网页信息;当所述网页采集源为通过搜索引擎搜索的网页时,采用预先配置的搜索规则搜索网页,并采集网页信息;其中,所述采集任务包括:欲采集的网站名称、采集时的起始链接地址、采集的深度和刷新策略;所述网页信息包括:元数据和正文。
较佳的,所述建立模块402,具体用于将采集的网页信息处理为采集结果文件并缓存;对所述采集结果文件进行自然语言处理,提取关键词和摘要;存储所述网页信息、以及所述关键词和摘要,建立信息资料库。
较佳的,该装置还包括:
分类模块405,用于基于语料库信息,采用文本分类模型对所述采集结果文件进行自动分类处理。
较佳的,该装置还包括:
过滤模块406,用于基于垃圾词汇表,对采集结果文件进行信息过滤。
较佳的,所述建立模块402在存储所述网页信息、以及所述关键词和摘要,建立信息资料库时,具体用于将所述采集的网页信息中的元数据、及提取的关键词和摘要信息存储到网页库;将所述采集的网页信息中的正文以文件的形式存储到文件库中;将所述元数据、提取的关键词和摘要信息、以及正文作为搜索时使用的信息资料库资源。
较佳的,该装置还包括:
表格管理模块407,用于建立全文检索渐进表;在所述全文检索渐进表中记录网页信息中的元数据、提取的关键词和摘要信息、以及所述网页信息的关键数据项;所述关键数据项包括:该网页信息存储的唯一键值、索引建立方式和网页信息中正文的存储路径。
较佳的,该装置还包括:
索引建立模块408,用于全文检索渐进表中新增网页信息的记录后,读取所述网页信息的记录,获取网页信息的唯一键值,根据正文的存储路径读取正文;对所述正文进行分词处理,根据分词处理结果建立索引。
较佳的,所述搜索模块403,具体用于接收所述客户端发送的搜索请求;分析所述搜索请求携带的搜索请求规则,建立用于搜索的语法树;根据所述语法树,在所述信息资料库中搜索匹配的网页信息。
较佳的,该装置还包括:
预警模块409,用于对所述搜索结果进行敏感信息检测;当敏感信息的数目或者增长率超过阈值时,向所述客户端发送预警信息。
较佳的,该装置还包括:
路径分析模块410,用于对所述搜索结果中的网页信息进行聚类分析;对所述搜索结果中的网页信息中的标题和正文,进行相似度匹配;将相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为原始信息;获取与所述原始信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第一级信息;获取与所述第一级信息相似度达到相似度阈值的网页信息中发布时间最早的网页信息作为第二级信息;以此类推,直到所述相似度未达到相似度阈值,将各级信息按照级别顺序构成传播路径。
较佳的,该装置还包括:
趋势分析模块411,用于根据资料库中的网页信息中的元数据的变化值,确定出网页信息趋势曲线。
较佳的,该装置还包括:
关联分析模块412,用于所述客户端在所述搜索结果中选择任一网页信息进行显示时,在信息资料库中获取与当前选择的网页信息关联度超过关联阈值的网页信息,并推送到所述客户端。
基于同一发明构想,本发明实施例还提供了一种终端,包括:上述搜索信息的装置。
通过上述描述,可以看出,使用本发明实施例提供的搜索信息的方法、装置和终端,通过预先采集用户关注的网页信息,并使用该众多网页信息建立信息资料库,当接收到客户端发送的搜索请求时,在该信息资料库中进行搜索,可以提高搜索效率,并且提高搜索精度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。