用户画像方法、装置、电子设备以及存储介质与流程

文档序号:31871623发布日期:2022-10-21 19:35阅读:94来源:国知局
用户画像方法、装置、电子设备以及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种基于联邦学习的区块链用户画像方法、装置、电子设备以及存储介质。


背景技术:

2.区块链技术也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个对象均可参与数据库记录。随着web3.0下一代互联网的发展,越来越多的用户开始在区块链上从事进行社交、分布式金融、元宇宙、游戏等活动,由此在区块链上沉淀了大量的用户数据。因此,可以利用这些数据的价值进行用户画像,然而,随着facebook数据泄露事件引起的轰动,各国都陆续颁布了数据隐私保护条例,如欧盟《通用数据保护条例》,我国也颁布的相关网络安全法规。如何在保障数据隐私安全的前提下,如何充分挖掘这些数据的价值,分析背后的用户特点,对用户进行分类、精准画像,是一个值得关注的问题。


技术实现要素:

3.为解决上述技术问题,本技术的实施例提供了一种基于联邦学习的区块链用户画像方法、基于联邦学习的区块链用户画像装置、电子设备以及存储介质,能够在保证区块链上的用户行为数据的隐私的前提下,提高用户画像分析的准确性。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种基于联邦学习的区块链用户画像方法,包括:接收至少一个区块链中的智能合约模块发送的用户特征向量,其中,用户特征向量由智能合约模块基于对应区块链中存储的用户行为数据包括实词的tf-idf值确定;基于用户在每个区块链中的活跃度以及对应区块链的用户特征向量确定用户总特征向量;基于用户总特征向量确定对应的用户画像标签。
6.根据本技术实施例的一个方面,提供了一种基于联邦学习的区块链用户画像装置,包括:接收模块,用于接收至少一个区块链中的智能合约模块发送的用户特征向量,其中,用户特征向量由智能合约模块基于对应区块链中存储的用户行为数据包括实词的tf-idf值确定;第一确定模块,用于基于用户在每个区块链中的活跃度以及对应区块链的用户特征向量确定用户总特征向量;第二确定模块,用于基于用户总特征向量确定对应的用户画像标签。
7.根据本技术实施例的一个方面,提供了一种电子设备,包括处理器及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上的基于联邦学习的区块链用户画像方法。
8.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行如前提供的基
于联邦学习的区块链用户画像方法。
9.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的基于联邦学习的区块链用户画像方法。
10.在本技术的实施例提供的技术方案中,将用户在区块链上的行为数据转化为特征向量,并将多个区块链上的特征向量汇总进而对用户进行画像分析。由于区块链无需将其存储的用户行为数据发送出去,而是利用智能合约模块基于用户行为数据包括的实词的tf-idf值确定用户特征向量,将用户特征向量发送出去,进而在保证区块链上的用户行为数据的隐私的前提下,充分利用用户在多条区块链上的行为数据进行用户画像分析,提高用户画像分析的准确性。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
13.图1是一示例性实施例示出的现有用户画像方法的数据走向示意图;
14.图2是本技术一示例性实施例示意出的基于联邦学习的区块链用户画像方法的流程示意图;
15.图3是在图2所示实施例中步骤s103一示例性实施例的流程示意图;
16.图4是在图2所示实施例中步骤s102一示例性实施例的流程示意图;
17.图5是在图2实施例的基础上提出的一示例性实施例示出的基于联邦学习的区块链用户画像方法的流程图;
18.图6是本技术一示例性实施例示出的将与利用关键词表构建用户特征向量相关的智能合约写入智能合约模块的示意图;
19.图7是在图5所示实施例中步骤s602一示例性实施例的流程示意图;
20.图8是图5所示实施例中步骤s202一示例性实施例的流程图;
21.图9是本技术一示例性实施例示出的基于联邦学习的区块链用户画像装置的框图;
22.图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
23.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
24.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
25.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
26.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
27.需要说明的是,本技术实施例中所涉及的网元还可以称为功能或功能实体,本技术不做限制。例如,接入与移动性管理功能网元还可以称为接入与移动性管理功能或接入与移动性管理功能实体,会话管理功能网元可以称为会话管理功能或会话管理功能实体等。各个网元的名称在本技术中不做限定,本领域技术人员可以将上述网元的名称更换为其它名称而执行相同的功能,均属于本技术保护的范围。
28.可以理解的是,本实施例中所涉及的网元或功能或功能实体既可以是硬件设备中的网络元件,也可以是在专用硬件上运行的软件功能,或者是平台(例如,云平台)上实例化的虚拟化功能,本技术不做限制。
29.参阅图1,图1是一示例性实施例示出的现有用户画像方法的数据走向示意图,如图1所示,参阅用户画像分析的区块链包括ethereum、solana、bsc、polygon四条区块链,这四条区块链中包括用户数据,传统的用户画像方法通过网络爬虫等方式获取从区块链中爬取用户数据并存储于数据仓库中,用户画像执行主体进而从数据仓库中获取用户数据进行用户画像分析,通过上述方式,用户数据会离开本地并进行中心化存储,存在数据隐私泄露的风险。由于用户数据往往比较敏感且重要,数据持有方并不愿意承受风险共享出用户的数据。若单独对每一条区块链中的用户数据进行分析,由于用户数据的缺乏,得到的用户画像准确度又低。
30.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
31.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
32.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
33.为解决现有技术中至少存在的如上问题,本技术实施例提出的基于联邦学习的区块链用户画像方法、基于联邦学习的区块链用户画像装置、电子设备以及计算机可读存储介质涉及人工智能技术以及机器学习技术,以下将对这些实施例进行详细说明。
34.参阅图2,图2是本技术一示例性实施例示意出的基于联邦学习的区块链用户画像方法的流程示意图,如图2所示,本实施例提供的基于联邦学习的区块链用户画像方法包括步骤s101-步骤s103,详细描述参考如下:
35.步骤s101:接收至少一个区块链中的智能合约模块发送的用户特征向量。
36.智能合约(smart contract)是以数字形式定义的承诺(commitment)。其中可以由部署智能合约的区块链系统,保障智能合约的存储、读取以及执行等过程可跟踪且不可篡改。注册在区块链系统中的交易双方可以对智能合约进行部署或调用,实现通过透明且无冲突的方式交换资源或其它业务目的。通俗来讲,智能合约为在区块链上运行的程序。例如,一份能自动计算合同当事人待付金额,并安排支付这笔金额的合约。智能合约将减少协议执行过程中的人工干预。
37.在本实施例中,区块链中包括智能合约模块,智能合约模块内存储有智能合约,且能够执行智能合约的模块。
38.在本实施例中,用户特征向量由智能合约模块基于对应区块链中存储的用户行为数据包括实词的tf-idf值确定。
39.示例性地,智能合约模块通过执行步骤s201-步骤s204来确定用户特征向量,详细叙述如下:
40.步骤s201:获取对应区块链中存储的用户行为数据。
41.在本实施例中,智能合约模块与区块链中的用户行为数据对应,用户行为数据为针对单个目标用户的行为数据,用户行为数据包括用户在预设时间段内在区块链中进行的活动行为记录。
42.可以理解的是,随着区块链主要从事的活动类型的不同,用户行为数据的类型也会有所不同,例如,用户行为数据来自于以太坊、solana、bsc、polygon等主流公链中记载的数据,涉及分布式金融活动、nft(non-fungible foken,非同质代币)数字藏品活动、元宇宙活动、游戏活动、社交活动等活动。例如,用户在主要提供金融交易活动的区块链中的用户行为数据包括产品类目/列表的浏览行为、产品单品的浏览行为、将产品放入购物车的行为、电话咨询/投诉行为、实际购买产品的行为等。
43.步骤s202:对用户行为数据进行分词处理,得到多个实词。
44.分词就是将连续的字序列按照一定的规范重新组合成语义独立词序列的过程。分词是自然语言处理的基础,分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析的质量,因此中文分词对于自然语言处理至关重要,当前的分词算法主要分为两类,基于词典的规则匹配方法,和基于统计的机器学习方法。基于统计的机器学习方法主要有隐马尔科夫模型(hidden markov model,hmm),条件随机场(conditional random field,crf),支持向量机(support vector machine,svm)以及深度学习等。本实施例可以直接利用现有的中文分词算法对文本进行分词,对于具体的分词过程在此不做过多叙述。
45.对用户行为数据进行分词处理之后会得到多个实词,在本实施例中,实词是将用户行为数据中的虚词删除之后的得到的分词,例如,将“的”“地”“得”“啊”等虚词删除。例如,在对用户行为数据“用户a是本场游戏的mvp”进行分词处理之后,得到的分词处理结果为“用户/a/是/本场/游戏/的/mvp”,则对上述用户行为数据进行分词处理之后,得到的实词包括“用户”、“a”、“是”、“本场”、“游戏”、“mvp”。
46.示例性地,对分词处理之后的用户行为数据进行去停用词处理,去除无含义的语气词、副词、特殊符号和标点符号,以为后续处理过程节约算力资源。
47.步骤s203:计算每个实词对应的tf-idf值。
48.tf-idf(term frequency

inverse document frequency,词频-逆文本频率)是一种用于信息检索与数据挖掘的常用加权技术。其中,tf(term frequency)表示词频,idf(inverse document frequency)表示逆文本频率。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。
49.在本实施例中,通过以下公式确定每个实词的tf-idf值:
[0050][0051]
其中,w
x,y
表示实词x在文档y中对应的tf-idf值,tf
x,y
表示实词x在文档y中出现的频率,n表示文档y中包括的文本总数,df
x
表示文本总数n中包括实词x的文本数目。
[0052]
步骤s204:基于每个实词对应的tf-idf值确定用户特征向量。
[0053]
示例性地,将每个实词对应的tf-idf值作为特征向量中的一个元素,因此用户特征向量为所有实词的tf-idf值构成。因此,用户在该区块链上的用户特征向量的维度为用户行为数据包括的所有实词的总数目。
[0054]
为方便后续对多个区块链中的用户特征向量进行汇总,示例性地,根据预先设定的排列顺序确定用户特征向量中包含的多个实词的tf-idf值的排列顺序。
[0055]
示例性地,按照实词在用户行为数据的文档中的顺序确定每个实词对应tf-idf值在用户特征向量中的位置,例如,在文档“用户a是本场游戏中的mvp”,则在确定该区块链上的用户特征向量时,首先确定用户特征向量包括“用户”、“本场”、“游戏”、“mvp”四个实词的tf-idf值,上述四个实词的tf-idf值的排列顺序由每个实词在文档中的位置确定,也即,“用户”、“本场”、“游戏”、“mvp”分别在文档的第一、第二、第三、第四个位置,因此,将“用户”、“本场”、“游戏”、“mvp”四个实词的tf-idf值按照上述顺序排列进而构成用户特征向量。可以理解的是,若本实施例包括同一用户的用户行为数据的区块链为多个,则每个区块链对应的用户特征向量中实词的tf-idf值的排列顺序相同。可以理解的是,上述确定用户特征向量的方式只是起到示例性的作用,本实施例并不限制确定每个区块链的用户特征向量的方式,或者不限制每个区块链的用户特征向量中的元素的排列顺序。
[0056]
在本实施例中,每个区块链中的智能合约模块在确定用户特征向量之后,均发送至本实施例提供的基于联邦学习的区块链用户画像方法的执行主体,示例性地,本实施例提供的方法的执行主体包括但不限于智能手机、服务器、平板电脑、pc(personal computer,个人计算机)、智能语音交互设备、智能家电、车載终端、飞行器或者其它电子设
备,本处不进行限制。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此也不进行限制。
[0057]
本实施例无需区块链将存储的用户隐私数据发送出去,而是通过其内部的智能合约模块将用户的隐私数据(也即,用户行为数据)处理之后,得到目标用户在该区块链中的特征向量,处理之后的特征向量发送出去,在保护用户的隐私数据的同时,充分利用多个区块链中存储的用户行为数据,进行精准地用户画像。
[0058]
事实上,本实施例利用了联邦学习的发明构思,联邦学习(federated learning,fl)又名联邦机器学习、联合学习、联盟学习等。联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现ai协作。联邦学习定义了机器学习框架,在此框架下通过设计虚拟模型解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,各自区域依据模型为本地目标服务。
[0059]
本实施例提供的基于联邦学习的区块链用户画像方法的执行主体作为主服务节点,多个区块链的智能合约模块作为边缘服务节点构建用于进行对用户行为数据进行分析从而构建用户画像的联邦机器学习框架,可以理解的是,本实施例构建的联邦学习框架中包括的区块链可以根据实际应用情况为一个或多个,在此不做具体限定。
[0060]
步骤s102:基于用户在每个区块链中的活跃度以及对应区块链的用户特征向量确定用户总特征向量。
[0061]
在本实施例中,在获取到多个区块链对应的智能合约模块发送的多个用户特征向量之后,需要对多个用户特征向量进行汇总,从而得到更能体现用户特征的特征向量。
[0062]
在本实施例中,用户在区块链中的活跃度表征用户在对应区块链中进行相应活动的频次。示例性地,将对应区块链的用户行为数据包括的用户行为记录的条数作为在对应区块链中进行相应活动的频次。
[0063]
在本实施例中,由于用户可能在某些区块链上比较活跃,而且另一些区块链不活跃,譬如用户a在区块链a、区块链b上的用户行为数据较多,因此比较活跃,在区块链c上的用户行为数据比较少,相对不太活跃。显然,用户在较为活跃的区块链上的行为数据较能反应出用户的特点,示例性地,基于用户在区块链上的行为的活跃程度来设置用户特征向量的权重。
[0064]
在本实施例中,基于用户在每个区块链中的活跃度以及对应区块链的用户特征向量确定用户总特征向量。
[0065]
步骤s103:基于用户总特征向量确定对应的用户画像标签。
[0066]
本实施例可以基于机器学习确定对应的用户画像标签。具体地,预先构建分类模型,获取训练数据,训练数据包括多个用户特征向量以及用户对应的画像标签,将训练数据输入预设的分类模型中,基于损失函数调整分类模型的参数,直至损失函数收敛或者达到预设的迭代次数,进而得到训练好的分类模型。本实施例将用户总特征向量输入训练好的
分类模型,输出得到用户对应的画像标签。本实施例还可以通过其他方式将用户总特征向量和多个预设用户画像标签对应的特征向量进行匹配,不做任何限定。
[0067]
本实施例并不限制分类模型的网络类型,例如cnn(convolutional neural network,卷积神经网络)、dnn(deep neural networks,深度神经网络)、lstm(long short-term memory,长期短期记忆模型)、resnet((residual networks,残差网络)等等。同理,本实施例也不对损失函数的种类进行限制,例如,均方差损失(mean squared loss,msl)、平均绝对误差损失(mean absolute error loss,mael)、分位数损失(quantile loss,ql)、交叉熵损失函数(cross entropy loss,cel)等。
[0068]
本实施例提供的基于联邦学习的区块链用户画像方法将用户在区块链上的行为数据转化为特征向量,并将多个区块链上的特征向量汇总进而对用户进行画像分析。由于区块链无需将其存储的用户行为数据发送出去,而是利用智能合约模块基于用户行为数据包括的实词的tf-idf值确定用户特征向量,将用户特征向量发送出去,进而在保证区块链上的用户行为数据的隐私的前提下,充分利用用户在多条区块链上的行为数据进行用户画像分析,提高用户画像分析的准确性。
[0069]
参阅图3,图3是在图2所示实施例中步骤s103一示例性实施例的流程示意图,如图3所示,步骤s103包括步骤s301-步骤s302,详细叙述如下:
[0070]
步骤s301:为多个预设用户画像标签设置对应的特征向量。
[0071]
在本实施例中,根据实际业务需求,提前定义好需要对用户进行画像的画像标签集合:{c1,c2,c3

,cn},例如,可以包括的画像标签:数字藏品收藏家、元宇宙粉丝、区块链游戏高手等等。
[0072]
在本实施例中,本实施例为每个画像标签配置对应的特征向量。
[0073]
示例性地,基于文本提取算法确定每个画像标签配置对应的特征向量。具体地,获取多个历史用户行为数据,每个历史用户行为数据对应的画像标签为当前正在为其确定特征向量的画像标签,对多个历史用户行为数据进行分词处理,统计得到的多个实词对应的tf-idf值,基于多个实词对应的tf-idf值构建该画像标签对应的特征向量。
[0074]
步骤s302:将用户总特征向量和每个预设用户画像标签对应的特征向量对应的特征向量进行匹配,根据得到的匹配结果确定用户画像标签。
[0075]
在本实施例中,计算用户总特征向量和每个预设用户画像标签对应的特征向量的相似度,基于相似度大小确定对应预设用户画像标签对应的特征向量是否与用户总特征向量匹配。
[0076]
本实施例可以基于多种方式确定计算用户总特征向量和每个预设用户画像标签对应的特征向量的相似度,例如,将用户总特征向量和每个预设用户画像标签对应的特征向量之间的欧式距离作为上述两个向量的相似度。
[0077]
可以理解的是,根据实际应用场景用户对应的画像标签可以为一个或者多个,例如,当用户总特征向量与多个预设用户画像标签对应的特征向量的相似度都大于第二预设阈值时,用户对应多个画像标签。
[0078]
参阅图3,图3是在图2所示实施例中步骤s302一示例性实施例的流程示意图,如图3所示,步骤s302包括步骤s401-步骤s402,详细叙述如下:
[0079]
步骤s401:分别计算用户总特征向量与每个预设用户画像标签对应的特征向量的
余弦相关度。
[0080]
依据余弦相似度公式计算用户总特征向量和每个预设用户画像标签对应的特征向量的相似度。余弦相似度是通过计算两个向量的夹角余弦值来评估它们的相似度。通过计算用户总特征向量和每个预设用户画像标签对应的特征向量之间的夹角(余弦值)来判断用户特征和对应预设用户画像标签的接近程度,其中,两者之间的夹角越小,则越接近,两者之间的夹角越大,则距离就远。
[0081]
本实施例采用余弦定理计算用户总特征向量和每个预设用户画像标签对应的特征向量之间的夹角,计算公式为:
[0082][0083]
其中,a表示用户总特征向量,b表示预设用户画像标签对应的特征向量,若余弦的取值为0和1之间,余弦值越大,相似度越高。如果余弦值等于1时,则说明两个特征完全相同,如果余弦值等于0,则说明基本毫不相关。
[0084]
步骤s402:将余弦相关度大于第二预设阈值的预设用户画像标签确定为用户画像标签。
[0085]
根据设定的阈值th,在本实施例中,第二预设阈值是预先设置的,可以是经验值,也可以是根据样本数据学习得到的。将用户x和画像标签y对应的特征向量进行匹配,计算得到x对应的用户总特征向量和画像标签y对应的特征向量之间的余弦相似度之后,将余弦相似度与第二预设阈值th进行比较,若用户总特征向量和画像标签y对应的特征向量夹角的余弦值cosa》th,则将用户x划为y类画像标签,否则,用户x不属于y类画像标签。
[0086]
参阅图4,图4是在图2所示实施例中步骤s102一示例性实施例的流程示意图,如图4所示,步骤s102包括步骤s501-步骤s502,详细叙述如下:
[0087]
步骤s501:分别计算每个区块链中存储的用户行为数据包括的用户行为记录的数目与所有区块链中存储的用户行为数据包括的用户行为记录的总数目的比值。
[0088]
在本实施例中,每个区块链中存储的用户行为数据包括预设时间段内的多个用户行为记录,例如,用户在提供金融交易服务的区块链上进行了购买商品a、浏览商品b、点击排斥商品c的推荐词条等行为,则用户在该区块链上的用户行为记录的数目为3。
[0089]
在本实施例中,若区块链中存储的用户行为数据包括的用户行为记录的数目越多,则该区块链中的用户行为数据相对别的区块链的用户行为数据为用户总特征向量所做出的贡献更多,反之,则所做出的贡献更少。
[0090]
步骤s502:将比值作为对应区块链的用户特征向量的权重,计算所有区块链的用户特征向量的加权和,将得到的加权和值作为用户总特征向量。
[0091]
不妨设用户在所有区块链的用户行为记录的总数目为n,在区块链a,区块链b,
……
,区块链k的用户行为记录的数目分别为a,b,
……
,k,其中,a+b+

+k=n,则区块链a,区块链b,
……
,区块链k的用户特征向量权重分别为a/n,b/n,
……
,k/n。
[0092]
最终得到用户总特征向量v为:
[0093]
v=a/n*(a1,a2,a3,
……
,an)+b/n*(b1,b2,b3,
……
,bn)+,
……
+k/n*(k1,k2,k3,
……
,kn)=(a/n*a1+b/n*b1+
……
+k/n*k1,a/n*a2+b/n*b2+
……
+k/n*k2,
……
,a/n*an
+b/n*bn+
……
+k/n*kn)。
[0094]
参阅图5,图5是在图2实施例的基础上提出的一示例性实施例示出的基于联邦学习的区块链用户画像方法的流程图,如图5所示,本实施例提供的基于联邦学习的区块链用户画像方法包括步骤s601-步骤s602,详细叙述如下:
[0095]
步骤s601:构建包括多个与预设用户画像标签相关的关键词的关键词表。
[0096]
在本实施例中,与预设用户画像标签相关的关键词是标签画像的特征标识,比如标签画像肯德基的关键词可以是连锁快餐、炸鸡、汉堡等。
[0097]
示例性地,本实施例基于文本提取算法确定每个画像标签对应的关键词。具体地,获取多个历史用户行为数据,每个历史用户行为数据对应的画像标签为当前正在为其确定特征向量的画像标签,在获取到上述数据之后,对历史用户行为数据进行分词处理,得到多个关键词。
[0098]
示例性地,考虑到由历史用户行为数据分词得来的多个实词包括与对应画像标签相关的,例如,mvp,也包括与对应画像标签不相关的,例如,一些标点符号、连接词等等,还包括与对应画像标签部分相关的,本实施例由历史用户行为数据分词得来的多个实词进行标签抽取。标签抽取的主要用于判断哪些实词可以作为关键词。
[0099]
示例性地,本实施例可以基于经验值确定可以作为关键词的实词,例如,在主要为用户提供金融交易服务的区块链中存储的历史用户行为数据包括:用户a在上个月21号购买了一台笔记本电脑,用户b在2020年10月5号浏览了一部手机的购买页面,用户c在这周六购买了一个电子手表,其中,用户a、用户b和用户c对应的画像标签都为电子产品爱好者,根据经验可以,在上述文本中,“笔记本电脑”、“手机”、“电子手表”这三个实词必定是关键词,并且这三个实词的权重应该最大,“购买”、“浏览”等实词也是关键词,这两个实词相对上述三个实词的权重较小,而表征用户行为数据对应的对应以及执行时间等都不作为关键词,例如“用户a”、“上个月21号”等词。
[0100]
在本实施例中,确定的多个关键词中,包括与每个预设用户画像标签相关的关键词,每个关键词可以与一个或多个预设用户画像标签相关。由于关键词对预设用户画像标签的刻画程度不一,因此,本实施例为每个关键词配置对应的关键词权重。示例性地,本实施例通过tf-idf技术为每个关键词配置对应的关键词权重。也即,计算每个关键词对应的tf-idf值,将关键词对应的tf-idf值作为对应关键词的权重。
[0101]
下表是本实施例构建的关键词表,参阅以下表,
[0102][0103]
[0104]
步骤s602:将关键词表配置于每个区块链中,以使得对应智能合约模块基于与关键词表匹配的实词的tf-idf值确定用户特征向量。
[0105]
在本实施例中,将关键词表配置于每个区块链中包括两个步骤,第一个步骤是将构建的关键词表存储于每个区块链中,第二个步骤是将利用关键词表构建用户特征向量的智能合约写入智能合约模块,以使得对应智能合约模块基于与关键词表匹配的实词的tf-idf值确定用户特征向量。
[0106]
示例性地,参阅图6,图6是本技术一示例性实施例示出的将与利用关键词表构建用户特征向量相关的智能合约写入智能合约模块的示意图,如图6所示,其中,将基于与关键词表匹配的实词的tf-idf值确定用户特征向量的计算模型写入智能合约,再将智能合约部署至区块链1、区块链2,
……
,区块链n中的每个区块链的智能合约模块,以使得对应智能合约模块利用计算模型确定用户特征向量,将用户特征向量作为计算结果输出,进而利用计算结果进行数据分析。
[0107]
示例性地,参阅图7,图7是在图5所示实施例中步骤s602一示例性实施例的流程示意图,如图7所示,步骤602可以通过步骤s701-步骤s703实现:
[0108]
步骤s701:计算每个实词分别与每个关键词之间的相关度。
[0109]
在本实施例中,可以直接将每个实词与关键词表进行对比,若在关键词表中能找出与对应实词相同的关键词,则确定对应实词与关键词表匹配。
[0110]
考虑到实词与关键词表中的关键词在不完全相同的情况下,也可能存在比较强的语义相关关系,例如“苹果”和“手机”,若“苹果”表示手机的品牌,则上述两个实词存在极强的相关关系,若“苹果”表示一种水果,则上述两个实词的相关关系不强。示例性地,本实施例通过计算每个实词与关键词之间的相关度,基于相关度的大小来确定对应实词是否和对应关键词匹配。本实施例通过上述方式,能够充分提取用户行为数据中的语义信息,进而能够更加准确地提取用户行为数据中的特征,使得到的用户特征向量更加准确。
[0111]
步骤s702:若存在至少一个相关度大于第一预设阈值,则确定对应实词与关键词表匹配,将得到的与关键词表匹配的实词作为目标实词。
[0112]
本实施例基于匹配结果将与关键词表不匹配的实词舍去。
[0113]
若得到的所有相关度均小于第一预设阈值,若确定对应实词与关键词表不匹配,说明对应实词对用户的特征贡献不大,因此在确定用户特征向量时,将这类实词舍去,不使用对应实词的tf-idf值;反之,若存在至少一个相关度大于第一预设阈值,则确定对应实词与关键词表匹配,说明对应实词对用户的特征贡献比较大,因此利用这类实词对应的tf-idf值确定用户特征向量,通过这种方式能够大大节省算力资源。
[0114]
为方便描述,将与关键词表相匹配的实词作为目标实词。
[0115]
步骤s703:按照与目标实词匹配的关键词在关键词表中的排列顺序,依次排列目标实词的tf-idf值,得到用户特征向量。
[0116]
在本实施例中,与目标实词匹配的关键词为与目标实词之间的相关度最大的关键词,以保证关键词表中与目标实词对应的关键词只有一个。
[0117]
例如,关键词表中包括关键词1、关键词2和关键词3,实词包括实词1、实词2、实词3以及实词4,其中,实词1与关键词1匹配,实词2与关键词2匹配,实词3与关键词3匹配,实词1对应的tf-idf值等于0.0035,实词2对应的tf-idf值等于0.015,实词3对应的tf-idf值等于
0.021,其中,关键词1、关键词2和关键词3分别在关键词表的第一个位置、第二个位置和第三个位置,实词4与关键词表不匹配,舍去,则确定用户特征向量为(0.0035,0.015,0.021)。
[0118]
示例性地,为了统一每个区块链中的用户特征向量,用户特征向量中包括的元素的数目等于关键词表中包括的关键词的数目,其中,若与关键词表匹配的实词数目小于关键词的数目,则必然存在目标关键词没有与之匹配的实词,则在用户特征向量的目标关键词对应的位置填充0,通过这种方式,使得每个区块链上得到的用户特征向量的维度相同。
[0119]
示例性地,参阅图8,图8是图5所示实施例中步骤s202一示例性实施例的流程图,如图8所示,步骤s602包括步骤s801-步骤s802,详细叙述如下:
[0120]
步骤s801:计算每个关键词对应的权重与对应关键词匹配的实词的tf-idf值的乘积。
[0121]
本实施例为每个实词对应的tf-idf值配置权重,以更加精确地确定每个实词对用户特征做出的贡献大小。
[0122]
步骤s802:基于得到的乘积值确定用户特征向量。
[0123]
在一个具体实施方式中,关键词表包括关键词1,对应的权重为0.1;关键词2,对应的权重为0.05;关键词3,对应的权重为0.4;实词包括实词1、实词2、实词3,其中,实词1与关键词1匹配,实词2与关键词2匹配,实词3与关键词3匹配,实词1对应的tf-idf值等于0.0035,实词2对应的tf-idf值等于0.015,实词3对应的tf-idf值等于0.021,则确定用户特征向量为(0.1*0.0035,0.05*0.015,0.4*0.021)。
[0124]
参阅图9,图9是本技术一示例性实施例示出的基于联邦学习的区块链用户画像装置的框图,如图9所示,基于联邦学习的区块链用户画像装置900包括接收模块901、第一确定模块902以及第二确定模块903。
[0125]
其中,接收模块901用于接收至少一个区块链中的智能合约模块发送的用户特征向量,其中,用户特征向量由智能合约模块基于对应区块链中存储的用户行为数据包括实词的tf-idf值确定;第一确定模块902用于基于用户在每个区块链中的活跃度以及对应区块链的用户特征向量确定用户总特征向量;第二确定模块903用于基于用户总特征向量确定对应的用户画像标签。
[0126]
在另一示例性实施例中,本实施例提供的基于联邦学习的区块链用户画像装置900还包括构建模块和配置模块,其中,构建模块用于构建包括多个与预设用户画像标签相关的关键词的关键词表;配置模块用于将关键词表配置于每个区块链中,以使得对应智能合约模块基于与关键词表匹配的实词的tf-idf值确定用户特征向量。
[0127]
在另一示例性实施例中,配置模块包括第一计算单元和确定单元,关键词表包括每个关键词对应的权重;其中,第一计算单元用于计算每个关键词对应的权重与对应关键词匹配的实词的tf-idf值的乘积;确定单元用于基于得到的乘积值确定用户特征向量。
[0128]
在另一示例性实施例中,第一确定模块902包括第二计算单元和第三计算单元,其中,第二计算单元用户分别计算每个区块链中存储的用户行为数据包括的用户行为记录的数目与所有区块链中存储的用户行为数据包括的用户行为记录的总数目的比值;第三计算单元用于将比值作为对应区块链的用户特征向量的权重,计算所有区块链的用户特征向量的加权和,将得到的加权和值作为用户总特征向量。
[0129]
在另一示例性实施例中,第二确定模块903包括设置单元和匹配单元,其中,设置
单元用于为多个预设用户画像标签设置对应的特征向量;匹配单元,用于将用户总特征向量和每个预设用户画像标签对应的特征向量进行匹配,根据得到的匹配结果确定用户画像标签。
[0130]
在另一示例性实施例中,匹配单元包括计算子单元和确定子单元,其中,计算子单元用于分别计算用户总特征向量与每个预设用户画像标签对应的特征向量的余弦相关度;确定子单元用于将得到的余弦相关度大于第二预设阈值的预设用户画像标签确定为用户画像标签。
[0131]
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0132]
在另一示例性实施例中,本技术提供一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前的基于联邦学习的区块链用户画像方法。
[0133]
图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0134]
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0135]
如图10所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从存储部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的信息推荐方法。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
[0136]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0137]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
[0138]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携
式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0139]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0140]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0141]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前实施例中任一项的基于联邦学习的区块链用户画像方法。
[0142]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于联邦学习的区块链用户画像方法。
[0143]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机
可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0144]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0145]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0146]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1