一种用于金融仓单风控的网络爬虫方法

文档序号:10725130阅读:198来源:国知局
一种用于金融仓单风控的网络爬虫方法
【专利摘要】本发明提出一种用于金融仓单风险控制的网络爬虫方法,采用双布隆过滤器关键词匹配,实现对网络爬虫信息中包含货物信息结果的快速筛选;基于分类匹配方式实现对相同类别货物的精准分类,并结合阈值比较规则,实现对新货物类别的自动添加;基于消息机制,实现整个处理过程前后端任务的负载均衡,保证处理过程的可控性和效率最大化,防止局部热点。采用本发明的技术方案,可以实现对金融仓单抵押货物信息的高效爬取和精确筛选。
【专利说明】
一种用于金融仓单风控的网络爬虫方法
技术领域
[0001]本发明属于网络爬虫算法相关领域,尤其涉及一种用于金融仓单风控的网络爬虫方法。
【背景技术】
[0002]金融仓单作为一种新型的仓储交易和抵押方法,随着互联网应用的普及,受到各银行和仓储企业的广泛应用。中小企业将货物抵押给银行,银行通过自身或委托第三方评估公司对货物价值进行评估。银行根据评估结果,发放相应的贷款给中小企业。同时,银行委托物流仓储公司对抵押货物进行保存和监管。
[0003]但银行为了规避相应的风险,往往会选择那些价格变动小、变现能力强、抗跌性好的产品作为融资对象,如固定资产、重金属货物等。而中小微企业这种类型的抵押产品较小,通常为大宗类产品,产品种类较多,产品价格与当前市场价格有紧密联系。银行受限于技术限制,难以对所有货物的市场价格进行统计,也无法对抵押货物进行合理的估值,早成潜在的金融交易风险。
[0004]解决大宗类商品的货物估值冋题,首先需要获取市场上该商品的价格?目息,但由于海量数据、信息准确提取等因素的限制,目前用于金融仓单风控即商品货物价格估值的网络爬虫技术处于空白状态。

【发明内容】

[0005]本发明要解决的技术问题是,提供一种用于金融仓单风险控制的网络爬虫方法,针对仓单应用场景,设计了关键词库和摘要库,基于双布隆过滤器和分类匹配算法实现对包含货物信息的网络爬虫结果的快速筛选,以及货物信息的预处理和类别划分,并通过消息机制实现前后端任务的负载均衡,最终实现对金融仓单抵押货物信息的高效爬取和精确筛选。
[0006]为解决上述问题,本发明采用如下的技术方案:
[0007]—种用于金融仓单风险控制的网络爬虫方法包括以下步骤:
[0008]步骤S1、从已知的样本数据中提取关键词,并计算特征向量,其中,所述关键词组合形成关键词库,所述特征向量根据样本原有的货物分类组合形成摘要库;
[0009]步骤S2、建立包含形成针对仓单抵押货物名称的布隆过滤器和形成按照货物价格信息的置信区间的布隆过滤器的双布隆过滤器;
[0010]步骤S3、根据获得网络爬虫结果页面提取爬虫结果页面中的关键词,通过双布隆过滤器进行过滤,筛选出同时具备货物名称和价格信息的爬虫记录;
[0011 ]步骤S4、对筛选出的爬虫记录内容的关键词进行特征向量计算;
[0012]步骤S5、根据样本训练形成的摘要库和各货物类别,通过分类匹配算法将所述特征向量与摘要库每个类别进行相似度计算;
[0013]步骤S6、将所述特征向量与摘要库整体的相似度和预设阈值区间的上下限比较,以进行舍弃、更新、归类处理。
[0014]作为优选,根据样本训练结果获得的关键词,对比中文标准词典,装载到布隆过滤器当中,形成针对仓单抵押货物名称的布隆过滤器;根据设定仓单物品价格取值范围,形成按照货物价格信息的置信区间的布隆过滤器。
[0015]作为优选,步骤S3中通过中文分词技术提取爬虫结果页面中的关键词。
[0016]作为优选,步骤S4中特征向量计算采用TF*IDF公式得到,其中,TF为该条记录中每个关键词的出现频率,IDF为通过样本训练得到的关键词库和摘要库的IDF数据。
[0017]作为优选,所述分类匹配算法采用余弦相似度匹配算法。
[0018]作为优选,采用余弦相似度匹配算法进行相似度计算过程如下:首先,将待处理记录特征向量分别与摘要库中各个类别下每个成员的特征向量进行余弦夹角计算;然后,按照不同分类将计算结果进行平均处理,得到该待处理信息特征向量与各类别之间的相似度,最后,对各类别相似度相加后求平均值,即该特征向量与摘要库整体的相似度。
[0019]作为优选,步骤S6具体包括:
[0020]如果特征向量与摘要库整体的相似度低于阈值区间的下限,舍弃该条记录;
[0021]如果特征向量与摘要库整体的相似度高于阈值上限,则将该条记录的特征向量作为新的成员加入到该类别当中,同时,将关键词加入到关键词库中,更新双布隆过滤器;
[0022]如果特征向量与摘要库整体的相似度介于预设第二阈值区间上下限之间,则建立新类别,将该特征向量作为新类别的成员,更新关键词库和摘要库,更新双布隆过滤器。
[0023]作为优选,还包括:在双布隆过滤器处理与任务分类匹配处理之间设置消息机制,将两个处理过程封装为不同的任务,实现匀速高效处理。
[0024]本发明用于金融仓单风险控制的网络爬虫方法,通过双布隆过滤器关键词匹配,实现对网络爬虫信息中包含货物信息结果的快速筛选;基于分类匹配方式实现对相同类别货物的精准分类,并结合阈值比较规则,实现对新货物类别的自动添加;基于消息机制,实现整个处理过程前后端任务的负载均衡,保证处理过程的可控性和效率最大化,防止局部热点。
[0025]与现有技术相比,本发明具有以下明显的优势和有益效果:
[0026](I)本发明针对金融仓单应用场景,提出的双布隆过滤器方法,能够极大的减少网页爬取过程中对于非相关网页的筛选比例,减少了处理和存储非相关信息对于存储、时间的浪费,提高了货物信息的准确性。
[0027](2)本发明采用基于特征向量的分类匹配方法,并按照阈值规则进行响应的操作,不仅对爬虫结果的进一步筛选,而且实现了类别自动更新和新类别的自动添加。相比较传统的方式,极大的提高了处理效率和分类精度。
[0028](3)本发明采用消息机制,解决了计算量不同的前后任务,在部分场景下,由于流量爆发导致局部热点问题。通过消息的缓存机制实现了“削峰填谷”,最大程度上保证了负载均衡和处理效率的最大化。
【附图说明】
[0029]图1为本发明所涉及方法的具体流程图;
[0030]图2为本发明基于消息机制的架构示意图。
【具体实施方式】
[0031]下面结合附图和【具体实施方式】对本发明做进一步的描述。
[0032]如图1所示,本发明实施例提供一种用于金融仓单风险控制的网络爬虫方法,包括以下步骤:
[0033]步骤I,建立关键词库和摘要库。
[0034]建立关键词库和摘要库初期需要一定数量的样本数据。该样本数据需要提前获取,数据量较小,但是每条记录所属类别已确定。
[0035]采用中文分词方法如Lucene,提取样本数据每条记录的关键词,同时滤除符号、停止词、人物、地名的非相关词。提取的关键词组成关键词库。
[0036]对每条记录计算其特征向量,特征向量的计算方法采用TF*IDF方式,即对计算词频和文档逆相关性求乘积。每条记录对应一条特征向量。由于每条记录本身提前都已分类,因此计算获得的特征向量都已分类。由此构成的摘要库包含两部分:类别和类别下包含的所属记录的特征向量。
[0037]关键词库用于布隆过滤器之一的快速检索,摘要库用于货物信息预处理和分类,以及类别更新。
[0038]步骤2,建立双布隆过滤器。
[0039]布隆过滤器是由多个BitMap组成的内存存储结构,本身采用BitMap节省存储空间,即存储空间为原来的八分之一,同时通过多个BitMap解决哈希碰撞的问题。本发明中采用布隆过滤器存储关键词库,实现对关键词的快速匹配。
[0040]布隆过滤器1:基于关键词库建立布隆过滤器,即按照布隆过滤器的创建规则,将关键词进行多种哈希算法,将获得的值的相应的bit位设置为1(也是BitMap的创建过程);根据样本训练结果获得的关键词,对比中文标准词典,装载到布隆过滤器当中,形成针对仓单抵押货物名称的布隆过滤器。
[0041 ]布隆过滤器2:采用仓单货物价格置信区间来初始化布隆过滤器,例如货物单价的置信区间为[0.01,10000],则将0.01—10000的所有数字按照字符串类型进行哈希变换后,同样的方式加入到布隆过滤器当中;设定仓单物品价格取值范围,即能够包含大部分货物价格信息的置信区间,并按照该置信区间形成布隆过滤器,用来筛选出具备价格信息的有效结果。采用该方法,主要针对网络爬虫关键词提取结果只能以字符串形式展示,而无法判断其能否转为其他数值类型。置信区间的范围根据所需爬虫的货物的价格范围设定。
[0042]步骤3,双布隆过滤器处理过程。
[0043]网络爬虫获得的爬取结果,通过中文分词处理后,获得该条记录的关键词。将该关键词按照双布隆过滤器中各种哈希变换算法,计算获得的不同的哈希值,并到B i t Ma P的位去寻找、判断是否为I;为I说明该记录关键词在当前布隆过滤器中,为O说明不存在;通过双布隆过滤器进行过滤,得到同时具备货物名称和价格信息的爬虫记录。
[0044]只有双布隆过滤器采用的所有哈希变换方法都通过,才认为该条记录属于“金融仓单货物价格”相关领域,进入后续处理。
[0(Μ5] 步骤4,待处理记录的特征向量计算。
[0046]双布隆过滤器筛选获得的网络爬虫记录,只是表达该条记录内容的关键词。为了进行后续分类匹配处理,需要进行特征向量计算。
[0047]特征向量计算同样采用TF*IDF的标准,其中TF为该条记录中每个关键词的出现频率。由于IDF需要依靠类库属性才能计算,而待处理的记录并没有类库属性。因此,这里采用样本训练得到的关键词库和摘要库的IDF数据作计算该条记录的IDF值。按照此方法,将该条记录中所有关键词都进行TF*IDF计算,获得的值组合成的向量即为该条记录的特征向量。
[0048]筛选后的网络爬虫信息还只是关键词和价格数据信息,后续为了进行分类匹配处理,需要将关键词转化为特征向量,价格数字不参与分类匹配计算。
[0049]步骤5,分类匹配计算。
[0050]根据样本训练形成的摘要库和各货物类别,采用余弦相似度匹配算法作为分类算法,将步骤4计算出来特征向量,与摘要库每个类别进行相似度计算。
[0051]特征向量计算完成后,将待处理记录与摘要库进行分类匹配算法。具体过程为:将待处理记录特征向量分别与摘要库中各个类别下每个成员的特征向量进行余弦夹角计算,结果为I表示两个特征向量完全相同;结果为O表示两个特征向量完全不同。
[0052]与每个类别中所有的成员进行余弦夹角计算后,按照不同分类将计算结果进行平均处理,得到该待处理信息特征向量与各类别之间的相似度。
[0053]对各类别相似度相加后求平均值,即该特征向量与摘要库整体的相似度。
[0054]步骤6,关键词库、摘要库更新。
[0055]将所述特征向量与摘要库整体的相似度和预设阈值区间的上下限比较,以进行舍弃、更新、归类处理。
[0056]I)、如果特征向量与摘要库整体的相似度低于阈值区间的下限,说明该条记录与摘要库各个类别的相似度较少,不属于金融仓单货物价格相关的数据,予以舍弃。产生这种情况的原因是双过滤器处理过程中,存在着符合条件,但实际不属于货物价格信息的少数情况。
[0057]2)、如果特征向量与摘要库整体的相似度高于阈值上限,说明该条记录属于该类另O。则将该条记录的特征向量作为新的成员加入到该类别当中。同时,将关键词加入到关键词库中,更新双布隆过滤器。
[0058]3)、如果特征向量与摘要库整体的相似度介于预设第二阈值区间上下限之间,说明记录属于仓单货物信息中的新类别。完成以下操作:首先,建立新类别,将该特征向量作为新类别的成员;其次更新关键词库和摘要库,更新双布隆过滤器。
[0059]其中,阈值区间的上下限设置根据小规模样本测试统计得出。
[0060]更新和归类需要对关键词库和摘要库进行更新操作。归类操作需要少量更改关键词库和摘要库,包括将关键词加入到关键词库和将特征向量加入到对应类别。更新操作会产生新的类别,需要对关键词库和摘要库进行较大更新。包括,在关键词库中增加新的关键词,以及摘要库产生新的货物类别和成员。
[0061 ]作为优选,本发明的用于金融仓单风险控制的网络爬虫方法还包括:在双布隆过滤器处理与任务分类匹配处理之间设置消息机制,将两个处理过程封装为不同的任务,实现匀速高效处理。
[0062]由于布隆过滤器处理过程中,可能存在流量波动,按照处理逻辑,后续的分类匹配过程相对较慢,容易造成局部热点。因此,采用消息机制(如kafka)将两个处理过程封装为不同的任务,防止局部热点,实现匀速高效处理。
[0063]前端任务双布隆过滤器属于轻量级高效处理任务,计算复杂度较少;后端任务分类匹配处理属于计算复杂型任务。通常情况下,前端任务会将大批量不符合条件的爬虫结果滤除掉,到达后端任务的数据量相对较少,总处理时间上相对匹配。
[0064]但存在可能情况,即前端大量符合条件的记录投递到后端任务,后端任务由于计算复杂度影响,形成局部热点,系统负载不均衡。从而导致前端任务阻塞,或系统崩溃。
[0065]本发明中采用消息机制解决。如图2所示,即将前端任务封装为Producer任务类型,后端任务封装为Consumer任务类型,爬虫记录数据以消息封装的方式进行传递。Producer任务发送不再直接发送到Consumer而是发送到Broker中的消息队列当中。同样,Consumer不再直接从Producer获取数据,而是从Broker消息队列中获取记录。
[ΟΟ??]当前端Producer任务短时间内产生大量的数据时,记录以消息的形式存储在了消息队列当中,保证不会对后端的Consumer造成压力,且消息队列为顺序队列。等到前端Producer产生数据较少时,Consumer即可完成对积压消息的处理。
[0067]消息队列支持持久化,因此不会丢失数据。另外消息机制支持动态任务扩展,运行一段时间后,根据负载情况,动态调整前后端任务配比,实现负载均衡。
[0068]最后应说明的是:以上示例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的示例对本发明已进行了详细的说明,但是本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种用于金融仓单风险控制的网络爬虫方法,其特征在于,包括以下步骤: 步骤S1、从已知的样本数据中提取关键词,并计算特征向量,其中,所述关键词组合形成关键词库,所述特征向量根据样本原有的货物分类组合形成摘要库; 步骤S2、建立包含形成针对仓单抵押货物名称的布隆过滤器和形成按照货物价格信息的置信区间的布隆过滤器的双布隆过滤器; 步骤S3、根据获得网络爬虫结果页面提取爬虫结果页面中的关键词,通过双布隆过滤器进行过滤,筛选出同时具备货物名称和价格信息的爬虫记录; 步骤S4、对筛选出的爬虫记录内容的关键词进行特征向量计算; 步骤S5、根据样本训练形成的摘要库和各货物类别,通过分类匹配算法将所述特征向量与摘要库每个类别进行相似度计算; 步骤S6、将所述特征向量与摘要库整体的相似度和预设阈值区间的上下限比较,以进行舍弃、更新、归类处理。2.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,根据样本训练结果获得的关键词,对比中文标准词典,装载到布隆过滤器当中,形成针对仓单抵押货物名称的布隆过滤器;根据设定仓单物品价格取值范围,形成按照货物价格信息的置信区间的布隆过滤器。3.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,步骤S3中通过中文分词技术提取爬虫结果页面中的关键词。4.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,步骤S4中特征向量计算采用TF*IDF公式得到,其中,TF为该条记录中每个关键词的出现频率,IDF为通过样本训练得到的关键词库和摘要库的IDF数据。5.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,所述分类匹配算法采用余弦相似度匹配算法。6.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,采用余弦相似度匹配算法进行相似度计算过程如下:首先,将待处理记录特征向量分别与摘要库中各个类别下每个成员的特征向量进行余弦夹角计算;然后,按照不同分类将计算结果进行平均处理,得到该待处理信息特征向量与各类别之间的相似度,最后,对各类别相似度相加后求平均值,即该特征向量与摘要库整体的相似度。7.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,步骤S6具体包括: 如果特征向量与摘要库整体的相似度低于阈值区间的下限,舍弃该条记录; 如果特征向量与摘要库整体的相似度高于阈值上限,则将该条记录的特征向量作为新的成员加入到该类别当中,同时,将关键词加入到关键词库中,更新双布隆过滤器; 如果特征向量与摘要库整体的相似度介于预设第二阈值区间上下限之间,则建立新类另O,将该特征向量作为新类别的成员,更新关键词库和摘要库,更新双布隆过滤器。8.如权利要求1所述的用于金融仓单风险控制的网络爬虫方法,其特征在于,还包括:在双布隆过滤器处理与任务分类匹配处理之间设置消息机制,将两个处理过程封装为不同的任务,实现匀速高效处理。
【文档编号】G06Q40/02GK106096008SQ201610465637
【公开日】2016年11月9日
【申请日】2016年6月23日
【发明人】李 浩
【申请人】北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1