发明内容
有鉴于此,本发明实施例的目的在于提供一种基于区块链和舆情的金融风控***和金融风控方法,旨在自动实现对金融舆情的监控。具体技术方案如下:
在本发明实施例的第一方面,提供一种基于区块链和舆情的金融风控***,所述金融风控***包括舆情采集模块和区块链网络,所述区块链网络内包括多个节点设备,所述舆情采集模块与所述多个节点设备中的指定节点设备通信连接;
其中,所述舆情采集模块用于:每隔预设时间长度,检测目标网站内的新增评论数量,并判断新增评论数量是否超过预设阈值,其中,目标网站是指预先指定的与金融相关的网站;在新增评论数量未超过预设阈值的情况下,结束当前周期的舆情监控流程;在新增评论数量超过预设阈值的情况下,从所述新增评论中获取热门评论,并确定所述热门评论的词向量;
所述舆情采集模块还用于:利用自身私钥对所述词向量进行签名,得到签名后的词向量,以及签名后的词向量提交给区块链网络内的指定节点设备;
所述区块链网络的指定节点设备用于:在接收到签名后的词向量后,将签名后的词向量广播给所述区块链网络内的每个节点设备;
所述区块链网络的每个节点设备用于:在接收到签名后的词向量后,利用所述舆情采集模块的公钥,对签名后的词向量进行签名验证,在签名验证通过的情况下,将词向量输入预先训练的用于检测舆情的BP神经网络,得到BP神经网络输出的检测结果,其中,检测结果的数值越高,表示舆情风险越高;
所述区块链网络的每个节点设备还用于:在获得检测结果后,确定该检测结果所属的数值区间,从而将舆情风险程度确定为该数值区间对应的舆情风险程度;
所述区块链网络的多个节点设备相互之间对各自确定出的舆情风险程度进行共识,对于未通过共识的节点设备,该节点设备自动启动下线进程,以退出所述区块链网络;对于通过共识的指定节点设备,该指定节点设备将确定出的舆情风险程度发送给管理员的终端设备。
在本发明实施例的第二方面,提供一种基于区块链和舆情的金融风控方法,所述方法应用于区块链网络,所述方法包括:
所述区块链网络的指定设备在接收到舆情采集模块发送的签名后的词向量后,将签名后的词向量广播给所述区块链网络内的每个节点设备;
所述区块链网络的每个节点设备在接收到签名后的词向量后,利用所述舆情采集模块的公钥,对签名后的词向量进行签名验证,在签名验证通过的情况下,将词向量输入预先训练的用于检测舆情的BP神经网络,得到BP神经网络输出的检测结果,其中,检测结果的数值越高,表示舆情风险越高;
所述区块链网络的每个节点设备在获得检测结果后,确定该检测结果所属的数值区间,从而将舆情风险程度确定为该数值区间对应的舆情风险程度;
所述区块链网络的多个节点设备相互之间对各自确定出的舆情风险程度进行共识,对于未通过共识的节点设备,该节点设备自动启动下线进程,以退出所述区块链网络;对于通过共识的指定节点设备,该指定节点设备将确定出的舆情风险程度发送给管理员的终端设备;
其中,所述舆情采集模块通过以下方式得到所述签名后的词向量:每隔预设时间长度,检测目标网站内的新增评论数量,并判断新增评论数量是否超过预设阈值,其中,目标网站是指预先指定的与金融相关的网站;在新增评论数量未超过预设阈值的情况下,结束当前周期的舆情监控流程;在新增评论数量超过预设阈值的情况下,从所述新增评论中获取热门评论,并确定所述热门评论的词向量;利用自身私钥对所述词向量进行签名,得到签名后的词向量。
本发明中,通过舆情采集模块对与金融相关的目标网站进行监控,同时采集目标网站内的热门评论,再将热门评论转换为词向量,从而实现对舆情的自动采集。并且,在新增评论数量未超过预设阈值的情况下,也即未产生重大舆情的情况下,结束当前周期的舆情监控流程;而在新增评论数量超过预设阈值的情况下,也即产生了重大舆情的情况下,才继续当前周期的舆情监控流程。因此可以高效地利用计算资源,避免在未出现重大舆情的情况下,过多的消耗计算资源。
此外,舆情采集模块将词向量提交给区块链网络,通过区块链网络对词向量进行处理,以得到舆情风险程度。区块链网络内的多个节点设备彼此之间会对舆情风险程度进行共识,从而对通过共识的舆情风险程度进行存证,且防止舆情风险程度被篡改。
此外,考虑到BP神经网络的不稳定性,对于不同的节点设备,虽然各自存储了相同的BP神经网络,且输入了相同的词向量,但是各自的BP神经网络所输出的检测结果可能存在微小差异。为了避免各节点设备因检测结果的微小差异而导致不能通过共识,本发明将检测结果映射到数值区间,从而将检测结果映射到数值区间对应的舆情风险程度,最后对舆情风险程度进行共识,可以提高共识通过率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着金融科技和互联网技术的发展,越来越多的投资者倾向于借助于互联网来搜集宏观经济政策、企业经营状况、股票市场走势等信息,同时也借助于互联网来表达自身对金融投资的看法和情绪。考虑到金融行业对于国家的经济安全具有极其重要的影响,为此,监管部门需要对金融行业进行多个维度的监管。但是由于舆情信息通常难以搜集,且多为文字信息,因此很难自动地根据舆情确定金融风险状况。
有鉴于此,本发明通过以下实施例提出基于区块链和舆情的金融风控***和金融风控方法,旨在自动实现对金融舆情的监控。
参考图1,图1是本发明一实施例提出的基于区块链和舆情的金融风控***的示意图。如图1所示,该金融风控***包括舆情采集模块和区块链网络。其中,区块链网络内包括多个节点设备,舆情采集模块与多个节点设备中的指定节点设备通信连接。
具体实现时,指定节点设备可以是预先人为指定的,且指定节点设备可以为多个,当某一指定节点设备宕机或退出区块链网络(也即下线)后,可以切换至另一个指定节点设备与舆情采集模块通信连接。
如图1所示,舆情采集模块用于:每隔预设时间长度,检测目标网站内的新增评论数量,并判断新增评论数量是否超过预设阈值,其中,目标网站是指预先指定的与金融相关的网站;在新增评论数量未超过预设阈值的情况下,结束当前周期的舆情监控流程;在新增评论数量超过预设阈值的情况下,从所述新增评论中获取热门评论,并确定所述热门评论的词向量。为简化附图,图1中仅简要地示出了新增评论数量超过预设阈值的情况。
为便于理解,示例地,假设目标网站是与金融相关的论坛,又假设预设时间长度为24小时,再假设预设阈值为1000。则舆情采集模块可以在每天的上午12点,统计过去24小时内论坛内新增的评论总数(也即新增评论数量)。如果新增的评论总数未超过1000条,则说明过去的24小时未产生重大舆情,因此可以不继续执行后续的舆情分析。而如果新增的评论总数超过1000条,则说明过去24小时内产生了重大舆情,因此为了防控金融舆情风险,有必要进行后续的舆情分析。
可选地,在一些具体实施方式中,舆情采集模块在新增评论中获取热门评论时,具体用于:针对每条新增评论,确定该新增评论的词向量;再针对每个词向量,将该词向量与其他每个词向量分别计算向量距离,如果向量距离小于预设距离,则确定两者为相似词向量;最后根据每个词向量各自具有的相似词向量数量,将具有相似词向量最多的新增评论,确定为热门评论。
为便于理解,示例地,假设新增评论数量为1200条,超过了预设阈值1000条。则舆情采集模块针对这1200条新增评论中的每条新增评论,将该条新增评论输入词向量模型(例如word2vec模型),得到词向量模型为该条新增评论生成的词向量。
然后舆情采集模块针对每个词向量,将其与其余1199个词向量分别计算向量距离,得到1199个向量距离。再判断这1199个向量距离中,有多少向量距离小于预设距离。如果有N个向量距离小于预设距离,则该词向量具有的相似词向量为N。通过上述步骤,可以针对每个词向量,确定出该词向量具有的相似词向量数量。
假设这1200个词向量中,第206个词向量具有的相似词向量最多,则将第206个词向量对应的新增评论确定为热门评论。
如图1所示,舆情采集模块还用于:利用自身私钥对所述词向量进行签名,得到签名后的词向量,以及签名后的词向量提交给区块链网络内的指定节点设备。
如图1所示,所述区块链网络的指定节点设备用于:在接收到签名后的词向量后,将签名后的词向量广播给所述区块链网络内的每个节点设备。
如图1所示,所述区块链网络的每个节点设备用于:在接收到签名后的词向量后,利用所述舆情采集模块的公钥,对签名后的词向量进行签名验证,在签名验证通过的情况下,将词向量输入预先训练的用于检测舆情的BP神经网络,得到BP神经网络输出的检测结果,其中,检测结果的数值越高,表示舆情风险越高。需要说明的是,为简化附图,图1中仅简要地示出了部分节点执行上述步骤。应当理解的,实际上区块链网络内的每个节点均需执行上述步骤。
如图1所示,区块链网络的每个节点设备还用于:在获得检测结果后,确定该检测结果所属的数值区间,从而将舆情风险程度确定为该数值区间对应的舆情风险程度。
可选地,在一些具体实施方式中,区块链网络的每个节点设备预设有舆情风险程度的数值区间表,该数值区间表中包括多个数值区间和每个数值区间对应的舆情风险程度;其中,数值区间内的数值越高,该数值区间对应的舆情风险程度越高。
为便于理解,示例地,每个节点设备预设有表1所示的舆情风险程度的数值区间表。
表1舆情风险程度的数值区间表
数值区间 |
舆情风险程度 |
[0,0.3) |
低风险 |
[0.3,0.7) |
中风险 |
[0.7,1] |
高风险 |
假设区块链网络的某一节点将词向量输入用于检测舆情的BP神经网络后,BP神经网络输出的检测结果为0.83,由于0.83属于区间[0.7,1],因此该节点将区间[0.7,1]对应的舆情风险程度“高风险”确定为实际的舆情风险程度。
又假设区块链网络的另一节点将词向量输入用于检测舆情的BP神经网络后,BP神经网络输出的检测结果为0.81,由于0.81属于区间[0.7,1],因此该节点也将区间[0.7,1]对应的舆情风险程度“高风险”确定为实际的舆情风险程度。
通过上述示例可以看出,本发明考虑到BP神经网络的不稳定性,对于不同的节点设备,虽然各自存储了相同的BP神经网络,且输入了相同的词向量,但是各自的BP神经网络所输出的检测结果可能存在微小差异。为了避免各节点设备因检测结果的微小差异而导致不能通过共识,本发明将检测结果映射到数值区间,从而将检测结果映射到数值区间对应的舆情风险程度,最后对舆情风险程度进行共识,可以提高共识通过率。
如图1所示,区块链网络的多个节点设备相互之间对各自确定出的舆情风险程度进行共识,对于未通过共识的节点设备,该节点设备自动启动下线进程,以退出所述区块链网络;对于通过共识的指定节点设备,该指定节点设备将确定出的舆情风险程度发送给管理员的终端设备。为简化附图,图1中仅示意性地示出了部分节点之间进行共识的过程。
具体实现时,示例地,区块链网络的每个节点设备在确定出舆情风险程度后,将自身确定的舆情风险程度广播给其他节点设备,同时该节点还会接收到其他节点设备广播的舆情风险程度。该节点设备将自身确定的舆情风险程度与其他节点设备确定的舆情风险程度一一进行比较,如果该节点设备自身确定的舆情风险程度与超过51%的节点设备的舆情风险程度一致,则该节点设备确定自身通过共识。否则,该节点设备确定自身未通过共识。
如果某一节点设备确定自身未通过共识,则该节点设备可以自动启动下线进程,以退出所述区块链网络。如果指定节点设备确定自身通过了共识,则该指定节点设备主动将自身确定出的舆情风险程度发送给管理员的终端设备。
如前所述,考虑到BP神经网络具有不稳定性。为了尽可能避免节点因BP神经网络的不稳定性而造成下线,可选地,在一些具体实施方式中,区块链网络的节点设备在未通过共识的情况下,还可以首先确定出通过共识的舆情风险程度对应的数值区间,然后将自身得到的检测结果和该数值区间对比;如果检测结果与最接近的端点值之间的差值未超过预设差值,则该节点设备不启动下线进程,且将自身确定出的舆情风险程度调整为通过共识的舆情风险程度;如果检测结果与最接近的端点值之间的差值超过预设差值,则该节点设备才自动启动下线进程。
为便于理解,示例地,假设预设差值为0.05。又假设某一节点设备将词向量输入BP神经网络后,BP神经网络输出的检测结果等于0.68,因此该节点设备映射出的舆情风险程度为中风险。然而该节点设备接收到的其他节点设备的舆情风险程度大部分为高风险,因此该节点设备确定其自身未通过共识。响应于此,该节点设备首先确定出高风险为通过共识的舆情风险程度,并确定其对应的数值区间为[0.7,1]。由于该节点设备自身的检测结果为0.68,因此与区间[0.7,1]中0.68最接近的端点值为0.7。又由于0.7和0.68之间的差值等于0.02,未超过预设差值0.05。因此该节点设备不启动下线进程,并且该节点设备将自身确定出的舆情风险程度从“中风险”调整为“高风险”,并将舆情风险程度“高风险”记录至自身的账本数据库。
可选地,在一些具体实施方式中,用于检测舆情的BP神经网络是通过以下方式训练得到的:搜集多条样本评论,并针对每条样本评论,为该条样本评论配置一个金融舆情风险分值,并确定该条样本评论的样本词向量;针对每条样本评论,将该条样本评论对应的样本词向量输入预设的BP神经网络,得到该BP神经网络输出的检测结果,再计算该检测结果与该条样本评论的金融舆情风险分值的差值,并将该差值作为损失值,以更新该BP神经网络;将经过多轮训练的BP神经网络确定为用于检测舆情的BP神经网络。
为便于理解,示例地,假设搜集了500条样本评论。然后可以人工地为每条样本评论配置一个金融舆情风险分值。例如经过配置,500条样本评论中的150条被配置的金融舆情风险分值等于0.15,另外150条被配置的金融舆情风险分值等于0.85,其余200条被配置的金融舆情风险分值等于0.50。
然后针对每条样本评论,确定该样本评论的样本词向量,并将该样本词向量输入预设的BP神经网络,得到该BP神经网络输出的检测结果。再计算该检测结果与该条样本评论的金融舆情风险分值之间的绝对值。最后将计算出的绝对值作为损失值,在BP神经网络中反向传播,从而更新和训练该BP神经网络。
通过上述方式,依次利用这500条样本评论对BP神经网络进行训练,最终得到训练后的BP神经网络,训练后的BP神经网络可用于检测舆情。
基于同一发明构思,本发明还提出基于区块链和舆情的金融风控方法。参考图2,图2是本发明一实施例提出的基于区块链和舆情的金融风控方法的流程图。需要说明的是,图2所示的金融风控方法可与图1所示的金融风控***相互参照。
图2所示的金融风控方法应用于区块链网络,如图2所示,该金融风控方法包括以下步骤:
步骤S21:所述区块链网络的指定设备在接收到舆情采集模块发送的签名后的词向量后,将签名后的词向量广播给所述区块链网络内的每个节点设备。
步骤S22:所述区块链网络的每个节点设备在接收到签名后的词向量后,利用所述舆情采集模块的公钥,对签名后的词向量进行签名验证,在签名验证通过的情况下,将词向量输入预先训练的用于检测舆情的BP神经网络,得到BP神经网络输出的检测结果,其中,检测结果的数值越高,表示舆情风险越高。
步骤S23:所述区块链网络的每个节点设备在获得检测结果后,确定该检测结果所属的数值区间,从而将舆情风险程度确定为该数值区间对应的舆情风险程度。
步骤S24:所述区块链网络的多个节点设备相互之间对各自确定出的舆情风险程度进行共识,对于未通过共识的节点设备,该节点设备自动启动下线进程,以退出所述区块链网络;对于通过共识的指定节点设备,该指定节点设备将确定出的舆情风险程度发送给管理员的终端设备。
其中,所述舆情采集模块通过以下方式得到所述签名后的词向量:每隔预设时间长度,检测目标网站内的新增评论数量,并判断新增评论数量是否超过预设阈值,其中,目标网站是指预先指定的与金融相关的网站;在新增评论数量未超过预设阈值的情况下,结束当前周期的舆情监控流程;在新增评论数量超过预设阈值的情况下,从所述新增评论中获取热门评论,并确定所述热门评论的词向量;利用自身私钥对所述词向量进行签名,得到签名后的词向量。
可选地,在一些具体实施方式中,舆情采集模块在从新增评论中获取热门评论时,包括:针对每条新增评论,确定该新增评论的词向量;再针对每个词向量,将该词向量与其他每个词向量分别计算向量距离,如果向量距离小于预设距离,则确定两者为相似词向量;最后根据每个词向量各自具有的相似词向量数量,将具有相似词向量最多的新增评论,确定为热门评论。
可选地,在一些具体实施方式中,所述区块链网络的每个节点设备预设有舆情风险程度的数值区间表,该数值区间表中包括多个数值区间和每个数值区间对应的舆情风险程度;其中,数值区间内的数值越高,该数值区间对应的舆情风险程度越高。
可选地,在一些具体实施方式中,在执行上述步骤S24时,对于未通过共识的节点设备,该节点设备自动启动下线进程,具体包括以下子步骤:
子步骤S24-1:所述区块链网络的节点设备在未通过共识的情况下,首先确定出通过共识的舆情风险程度对应的数值区间,然后将自身得到的检测结果和该数值区间对比。
子步骤S24-2:如果检测结果与最接近的端点值之间的差值未超过预设差值,则该节点设备不启动下线进程,且将自身确定出的舆情风险程度调整为通过共识的舆情风险程度。
子步骤S24-3:如果检测结果与最接近的端点值之间的差值超过预设差值,则该节点设备才自动启动下线进程。
可选地,在一些具体实施方式中,所述用于检测舆情的BP神经网络是通过以下方式训练得到的:搜集多条样本评论,并针对每条样本评论,为该条样本评论配置一个金融舆情风险分值,并确定该条样本评论的样本词向量;针对每条样本评论,将该条样本评论对应的样本词向量输入预设的BP神经网络,得到该BP神经网络输出的检测结果,再计算该检测结果与该条样本评论的金融舆情风险分值的差值,并将该差值作为损失值,以更新该BP神经网络;将经过多轮训练的BP神经网络确定为用于检测舆情的BP神经网络。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。