一种基于用户偏好列表的智能合约top-N推荐方法与流程

文档序号:34379031发布日期:2023-06-08 00:46阅读:21来源:国知局
一种基于用户偏好列表的智能合约top-N推荐方法与流程

本发明属于区块链上的智能合约应用领域,尤其涉及一种基于用户偏好列表的智能合约top-n推荐方法。


背景技术:

1、自主可编程逻辑(智能合约)的引入提高了区块链的功能,扩大了应用领域。以ethereum为代表的智能合约技术逐渐成为各行各业关注的焦点。尤其是在电子商务、金融机构、科技企业等领域。

2、智能合约是一组预定义的指令和数据,记录在区块链的一个特定地址。它的合约执行是通过编码程序自动进行的,只要预先指定的条件得到满足,交易就会自动进行。智能合约能够提供没有第三方的情况下进行可信交易的能力,其源代码支持使用计算机编程语言来实现,例如c++或者solidity。尽管智能合约发展的时间不长,但其数量增长迅速,并保持持续增长。目前以太坊上已经部署的智能合约数量已经超过200多万份。

3、现有的推荐系统技术已经相对成熟,它被广泛应用于电子商务、电影和视频推荐、社交网络等领域。然而,智能合约推荐技术仍不成熟,其推荐方法的研究更是寥寥无几。从调研百度学术和谷歌学术的查询结果中可以了解到,智能合约推荐技术在学术界的研究成果仍然十分稀少。目前智能合约推荐使用的技术主要是基于搜索引擎技术,然而通用搜索引擎技术在搜索代码时缺乏对代码特征、结构等领域特征进一步处理。而且由于智能合约的数量、描述方法、部署平台等各种因素的限制,智能合约相关的推荐方法研究仍然十分滞后。因此,研发能够融合智能合约领域特征的智能合约推荐技术成为当前智能合约应用的重要挑战之一。

4、本发明提出了一种基于用户偏好列表的智能合约top-n推荐方法。该方法使用transr模型处理外部账户历史交易记录中的结构化数据,从而得到外部账户对智能合约的偏好列表。同时,从外部账户的历史交易数据中提取了大量的隐性反馈数据,并通过一个伪评级生成器将其转换为隐反馈评分矩阵。该方法充分利用智能合约的领域特征,在此基础上还考虑到用户偏好,从而很好完成智能合约的top-n推荐任务。


技术实现思路

1、本发明针对领域特征明显的海量智能合约情境下缺乏智能合约推荐技术问题,提出了一种基于用户偏好列表的智能合约top-n推荐方法,可以充分发掘并利用智能合约的领域特征,并考虑到用户的兴趣爱好,从而提高对以太坊上的用户推荐智能合约的准确率;

2、本发明采用以下的技术方案:

3、一种基于用户偏好列表的智能合约top-n推荐方法,包括以下步骤:

4、步骤1,首先需要收集以太坊上智能合约数据信息,本发明使用的数据集是通过网络爬虫获取的智能合约历史交易记录和外部账户历史交易记录;

5、步骤2,从通过步骤1得到的外部账户历史交易记录中提取出交易次数、交易金额和交易手续费三类隐反馈数据,分别通过伪评分生成器转换成隐反馈频率权重矩阵、交易金额权重矩阵和手续费权重矩阵,再将上述三个矩阵进行加权整合得到隐反馈评分矩阵;

6、步骤3,从通过步骤1得到外部账户和智能合约的历史交易记录中提取出三类数据:发送方、接收方和交易类型,将三元组(发送方,交易类型,接收方)输入transr模型,通过transr模型的训练得到外部账户和智能合约的向量表示,据此再计算智能合约与外部账户在交易类型空间中的距离,从而可以得到外部账户对智能合约的偏好列表;

7、步骤4,将由步骤2得到的隐反馈评分矩阵输入协同过滤算法,并结合由步骤3得到的外部账户对智能合约的偏好列表输出智能合约top-n推荐列表。

8、进一步的解释上述步骤2,具体包括以下步骤:

9、步骤一:对于外部账户i和智能合约j,隐反馈频率权重矩阵a∈tm×n,矩阵a中的每个元素定义如公式(1)所示:

10、

11、其中,其中m表示外部账户的数目,n代表智能合约的数目,t是隐反馈评分矩阵;

12、步骤二:对于外部账户i和智能合约j,交易金额权重矩阵b∈tm×n,矩阵b中的每个元素定义如公式(2)所示:

13、

14、其中,其中m表示外部账户的数目,n代表智能合约的数目,t是隐反馈评分矩阵;

15、步骤三:对于外部账户i和智能合约j,手续费权重矩阵c∈tm×n,矩阵c中的每个元素定义如公式(3)所示:

16、

17、其中,其中m表示外部账户的数目,n代表智能合约的数目,t是隐反馈评分矩阵;

18、步骤四:隐反馈评分矩阵t可以通过如下公式(4)计算得到:

19、tm×n=δa·ρb·εc   (4)

20、其中,δ+ρ+ε=1,“.”表示点乘,即两个维度相同的矩阵中对应的元素乘积。

21、进一步的解释上述步骤4,具体包括以下步骤:

22、步骤一:外部账户x与外部账户y之间兴趣相似度wxy定义为:

23、

24、其中,n(x)表示与x产生交互的智能合约集合,n(y)表示与y交互过的智能合约集合;

25、步骤二:外部账户x对智能合约s的感兴趣程度p(x,s)根据公式:

26、p(x,s)=∑v∈s(x,k)∩n(s)wxyrys     (6)

27、其中,s(x,k)中包含与x兴趣最接近的k个外部账户,n(s)是与s有过交互的外部账户集合,wxy是x与y之间兴趣相似度,rys代表y对s的兴趣程度;

28、一种基于用户偏好列表的智能合约top-n推荐方法将推荐兴趣最相似的k个外部账户所喜欢的智能合约,基于具有相似兴趣的k个外部账户的集合和外部账户的偏好列表,本发明可以给出一个前n名的智能合约推荐列表。

29、本发明的有益效果是:针对当前智能合约指数级的增长模式,本发明提出的一种基于用户偏好列表的智能合约top-n推荐方法让已经部署的智能合约复用对于智能合约开发具有重要的意义。同时,具体来说,本发明基于以太坊上的大量隐反馈数据,提出了一个伪评分生成器,有效解决了智能合约领域缺乏显式评分问题。并且利用transr模型处理外部账户和智能合约之间的结构化数据,得到外部账户的偏好列表用于优化推荐结果,极大提高了推荐模型的各方面性能,适合绝大部分智能合约的推荐任务。



技术特征:

1.一种基于用户偏好列表的智能合约top-n推荐方法,其特征在于,包含以下步骤:

2.根据权利要求1所述的一种基于用户偏好列表的智能合约top-n推荐方法,其特征在于,所述步骤2,具体包括以下步骤:

3.根据权利要求1所述的一种基于用户偏好列表的智能合约top-n推荐方法,其特征在于,所述步骤4,具体包括以下步骤:


技术总结
本发明提供了一种基于用户偏好列表的智能合约top‑N推荐方法,该方法提出了一个伪评分生成器,从外部账户交易历史中提取交易次数、交易金额和手续费三种类型的隐式反馈数据,它们分别被转换成隐反馈频率权重矩阵、交易金额权重矩阵和手续费权重矩阵,再对上述三个矩阵进行加权整合得到隐反馈评分矩阵。接下来,隐反馈评分矩阵被转换成评分列表,作为协同过滤算法的输入,输出是推荐给外部账户的智能合约列表。同时,该方法从外部账户和智能合约的历史交易记录中提取三元组,用TransR模型对其进行训练,得到外部账户和智能合约的向量表示,计算智能合约与外部账户在关系空间中的距离。

技术研发人员:田刚,余秋月,王蕊
受保护的技术使用者:青岛海科智动科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1