在区块链网络中实现智能代理的方法及装置
技术领域
本公开总体上涉及信息处理技术,更具体地说,涉及在区块链网络中实现智能代理的方法、装置及相应的计算机可读存储介质。
背景技术
区块链(Block Chain)技术是基于去中心化的对等网络,将密码学原理与共识机制相结合,来保障分布式各节点的数据连贯和持续,实现分布式账本的不可篡改和不可伪造等特性,从而创造了一套隐私、高效、安全的分布式信任体系。
然而,区块链网络上的交互通常非常复杂,诸如私钥的管理与签名,智能合约的调用等的操作对于用户而言上手难度高,用户体验较差。而且,如果用户将账户私钥委托给第三方(例如,区块链服务平台或其它用户)代为处理,则可能面临私钥被非法使用,从而导致各种安全性问题,例如其在链上的资产面临损失的风险。
发明内容
总体上,本公开的实施例提供了一种在区块链网络中实现智能代理的方法、装置及相应的计算机可读存储介质以至少部分地解决现有技术的上述及其它潜在问题。
本公开实施例的第一方面提供了一种在区块链网络中实现智能代理的方法,所述方法包括:接收与第一用户相关联的训练数据集,并将所述训练数据集存储在区块链账本中,所述训练数据集包括已标注的用户输入数据和预设定的意图数据;使用所述训练数据集来生成分析模型,所述分析模型用于识别用户意图;以及创建用户代理,所述用户代理在所述区块链网络上使用所述第一用户的私钥以作为所述第一用户的代理,所述用户代理中嵌入对所述分析模型的调用。
在一些实施例中,使用所述训练数据集来生成分析模型包括:通过调用第一智能合约来生成所述分析模型,所述第一智能合约的入口参数包括与所述训练数据集相关联的标识信息,并且所述第一智能合约中包括训练规则,使得所述分析模型是基于所述训练规则使用所述训练数据集来生成的。
在一些实施例中,所述方法还包括:将用于寻址所述分析模型的地址信息存储到所述区块链账本中;生成所述分析模型的第一哈希值,并将所述第一哈希值存储在所述区块链账本中。
在一些实施例中,所述方法还包括:当接收到对所述分析模型的第一调用请求时,根据所述地址信息获取所述分析模型,生成所获取的分析模型的第二哈希值;将所述第一哈希值和所述第二哈希值进行比较;基于比较结果,确定是否允许所述第一调用请求。
在一些实施例中,所述方法还包括:从所述第一用户接收第一数据;所述用户代理根据所述第一数据使用所述分析模型来生成所述第一用户的意图结果;由所述用户代理根据所述意图结果来执行与所述第一用户相关的操作。
在一些实施例中,由所述用户代理根据所述意图结果来执行与所述第一用户相关的操作包括:当所述意图结果表示对所述区块链网络中的链上数据进行操作时,由所述用户代理使用所述第一用户的私钥在所述区块链网络上执行对所述链上数据的操作;当所述意图结果表示对所述区块链网络外部的链外数据进行操作时,由所述用户代理使用所述第一用户的私钥来执行对所述链外数据的操作。
在一些实施例中,所述方法还包括:接收与所述第一用户相关联的用户基本信息和用户行为信息;基于所述用户信息和所述用户行为信息,生成所述第一用户的用户画像;并且由所述用户代理根据所述意图结果来执行与所述第一用户相关的操作包括:基于所述用户画像,由所述用户代理根据所述意图结果来执行与所述第一用户相关的操作。
在一些实施例中,所述方法还包括:接收第二用户对所述分析模型或所述用户代理的第二调用请求;根据权限规则来确定所述第二用户是否有权限调用所述分析模型或所述用户代理;如果所述第二用户被确定为有权限调用所述分析模型或所述用户代理,则允许所述第二调用请求。
在一些实施例中,所述权限规则由所述第一用户设定。
本公开实施例的第二方面提供了一种在区块链网络中实现智能代理的装置,所述装置包括:处理器;以及存储器,其用于存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器执行根据本公开实施例的第一方面描述的方法。
本公开实施例的第三方面提供了一种计算机可读存储介质。该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被执行时用于实现根据本公开实施例的第一方面描述的方法。
本公开的实施例可以通过用户在区块链网络上的代理来执行用户的操作,降低了用户的操作难度,提高了用户体验,并且该代理使用由可追溯、防篡改的数据生成的模型,从而确保所使用的模型具有较高的精度和可信度。
附图说明
现将仅通过示例的方式,参考所附附图对本公开的实施例进行描述,在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了其中可以实现本公开实施例的示例性环境100的示意图;
图2示出了根据本公开实施例的在区块链网络中实现智能代理的示例性方法200的流程图;
图3示出了根据本公开实施例的在区块链网络中实现智能代理的示例性装置300的示意图;
图4示出了根本公开实施例的一个示例性方法400。
具体实施方式
现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领域技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其它内容。术语“基于”是“至少部分地基于"。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”,等等。本文使用词语“示例性”表示“充当示例、实例或举例说明”。本文中被描述为“示例性”的任何实施例都并非必然解释为对于其它实施例而言是优选的或有优势的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。AI越来越普及,例如机器人(或称为代理(agent))出现在各个领域,以客服机器人、私人助理等形态出现。但是机器人对于用户而言是一个黑盒,用户不知道里面的模型到底是如何处理,遵从何种规则。如前所述,区块链网络上的交互通常非常复杂,对用户而言各种操作上手难度高,用户体验较差。而且,用户将账户私钥委托给第三方代为处理,会导致各种安全性问题。由分布式账本、密码学、共识机制和智能合约等技术组合的区块链的出现为基于人工智能的代理实现提供了可能,基于区块链的分布式账本技术为AI获取更多真实数据提供了通道,并且区块链的不可篡改、时间戳等特性是建立审计跟踪机制的最佳解决方案,审计跟踪可以提高数据模型的可信度,为追溯机器决策过程提供了清晰路径。有鉴于此,本公开的实施例提供了一种在区块链网络中实现智能代理的解决方案,通过用户在区块链网络上的代理来执行用户的操作,从而显著降低用户的操作难度,并提高用户体验。
图1示出了其中可以实现本公开实施例的示例性环境100。示例性环境100包括区块链网络110、与区块链网络110通信地连接的客户端120(例如,台式计算机、笔记本电脑、平板设备、个人数字助理(PDA)等)。区块链网络110包括多个区块链节点111、112、113、114。由于区块链技术具有去中心化、分布式的特性,各区块链节点可通过各种通信介质互相交换信息。用户可以通过客户端120访问区块链节点111-114中的若干个节点发起交易,交易经由共识节点间的共识存储在区块链网络的分布式账本中。此外,可以在各个区块链节点111-114处执行智能合约的管理操作,诸如智能合约的安装和部署等,使得交易是通过调用智能合约来实现的。另外,图1的示例性区块链网络100和区块链节点的数量仅是示意而非限制,区块链节点的数量可以是其它数量,该区块链网络110还可以包括其它各种类型的节点。
图2示出了根据本公开实施例的在区块链网络中实现智能代理的方法200的流程。可以在图1的区块链网络110的区块链节点处执行方法200。如流程图所示,方法200包括以下步骤:
步骤201:接收与第一用户相关联的训练数据集,并将训练数据集存储在区块链账本中,训练数据集包括已标注的用户输入数据和预设定的意图数据。在该步骤中,通过将与用户相关联的训练数据集存储在区块链账本中,可以利用区块链的可追溯、不可篡改等特性来为模型提供更高精度和可信度的数据。在一个示例中,当数据为语料时,可以接收用户输入语料,通过页面来填充机器人意图语料以及特定回复语料,并且支持自动划词标注用户表述语料的词性,设定好各项语料及参数之后,可以将训练数据集存储到区块链账本中。在其它示例中,训练数据集也可以包括图像数据。
步骤202:使用训练数据集来生成分析模型,该分析模型用于识别用户意图。在该步骤中,可以利用训练数据集来训练出分析模型,例如使用各种机器学习方法(例如,包括但不限于朴素贝叶斯、支持向量机、深度学习等)来训练出分析模型。该分析模型可用于识别用户意图,例如根据用户的输入来识别其意图。
在一些实施例中,步骤202可以包括:通过调用第一智能合约来生成分析模型,第一智能合约的入口参数包括与训练数据集相关联的标识信息,并且第一智能合约中包括训练规则,使得分析模型是基于该训练规则使用训练数据集来生成的。在该步骤中,智能合约可以作为分析模型的执行引擎,通过智能合约来保证分析模型的训练必然按照用户既定规则来进行,无法超过用户设定的边界。例如,可以将训练数据集和与训练数据集相关联的标识信息关联地存储在区块链账本中,使得可以根据标识信息从区块链账本中获取相关联的训练数据集。在一个示例中,第一智能合约中可以包括训练规则,例如训练规则可以表示用于训练分析模型的规则,例如,所采用的训练方法(例如,各种机器学习方法)、训练停止条件等。此外,通过调用智能合约来生成分析模型,使得训练分析模型过程中执行的操作作为区块链交易,从而确保所有的行为(例如,使用哪些数据,如何进行训练等)都记录在区块链账本中,所记录的数据可追溯、不可篡改。
步骤203:创建用户代理,该用户代理在区块链网络上使用第一用户的私钥以作为第一用户的代理,该用户代理中嵌入对分析模型的调用。一方面,区块链账户私钥是用户在区块链世界的唯一标识;另一方面,区块链由于分布式账本的特性,导致其交易不可逆,即使是服务的提供方也无法改变执行的结果,这导致用户不能将账户私钥委托给现有的任何第三方代为处理,否则其链上的资产都面临损失的风险。在该步骤中,通过创建可使用用户私钥和基于人工智能的分析模型的用户代理,使得可以将用户在区块链上各种复杂的操作(例如私钥的管理与签名,智能合约的调用等操作)委托给用户代理来处理,降低了用户操作难度,提高了用户体验,同时避免了委托给非可信的第三方(例如,区块链服务平台或其它用户)而可能导致的各种安全性问题。
在一些实施例中,方法200还可以包括:将用于寻址分析模型的地址信息存储到区块链账本中;生成分析模型的第一哈希值,并将第一哈希值存储在区块链账本中。例如,可以将分析模型存储在数据库中,并将用于寻址分析模型在数据库中的位置的地址信息存储到区块链账本中,当分析模型较大时,这可以节约区块链的存储空间和网络带宽,同时也有利于区块链上的快速数据同步(由于减少的存储数据)。同时,可以例如使用哈希算法等计算出分析模型的第一哈希值并将其存储在区块链账本中,以验证根据地址信息从数据库获取的分析模型。在这些实施例中,方法200还可以包括:当接收到对分析模型的第一调用请求时,根据地址信息获取分析模型,生成所获取的分析模型的第二哈希值;将第一哈希值和第二哈希值进行比较;基于比较结果,确定是否允许第一调用请求。在该步骤中,在请求调用分析模型时,需要根据从区块链账本读取的地址信息来获取分析模型,并针对所获取的分析模型使用哈希算法等计算出第二哈希值,如果第二哈希值和从区块链账本获取的第一哈希值相同,则表明分析模型没有被篡改,否则如果第二哈希值和第一哈希值不相同,则表明分析模型被篡改。在该步骤中,在请求调用分析模型时可以对模型进行存证,防止用户代理使用不可信的模型来进行操作。
在一些实施例中,方法200还可以包括:从第一用户接收第一数据;由用户代理根据第一数据使用分析模型来生成第一用户的意图结果;由用户代理根据意图结果来执行与第一用户相关的操作。在该步骤中,可以由用户代理作为第一用户在区块链网络上的代理处理从第一用户接收的数据,并根据分析模型生成的意图结果来执行对应的操作。通过用户在区块链网络上的智能代理来执行用户的操作,显著降低了用户的操作难度,并提高了用户体验。在一个示例中,可以通过调用第二智能合约来由用户代理生成意图结果,并根据意图结果来执行对应的操作,使得使用分析模型和执行用户相关的操作的过程中的操作作为区块链交易,从而确保所有的行为(例如,使用分析模型来识别用户意图,根据用户意图执行用户相关的操作等)都记录在区块链账本中,所记录的数据可追溯、不可篡改。
在一些实施例中,由用户代理根据意图结果来执行与第一用户相关的操作可以包括:当意图结果表示对区块链网络中的链上数据进行操作时,由用户代理使用第一用户的私钥在区块链网络上执行对链上数据的操作;当意图结果表示对区块链网络外部的链外数据进行操作时,由用户代理使用第一用户的私钥来执行对链外数据的操作。在该步骤中,可以根据不同的意图结果来执行不同的操作,例如意图结果可以包括识别出的针对区块链内部的链上数据的操作、识别出的针对区块链外部的链外数据的操作、或无识别的意图。例如,执行针对链上数据的操作可以包括发起资产转移、读取数据等的交易。例如,执行针对链外数据的操作可以包括通过预言机(oracle)从外部(可信)数据源获取数据以导入到区块链中。
在一些实施例中,方法200还可以包括:接收与第一用户相关联的用户基本信息和用户行为信息;基于用户基本信息和用户行为信息,生成第一用户的用户画像;并且由用户代理根据意图结果来执行与第一用户相关的操作包括:基于用户画像,由用户代理根据意图结果来执行与第一用户相关的操作。例如,用户基本信息可以包括但不限于用户的姓名、电话、年龄、性别、地域、所在城市、学历、家庭结构、婚姻状况、兴趣爱好、收入、健康状况等。例如,用户行为信息可以包括但不限于用户的消费信息、借贷信息等。用户画像是指用于刻画用户特征的标签集合,例如,“年轻”、“高收入”、“白领”等。例如,当用户的意图为“我要买航空延误险”时,根据由用户基本信息和用户行为信息生成的用户画像,用户代理可以按照延误险购买规则为用户选择或推荐合适的延误险。
在一些实施例中,方法200还可以包括:接收第二用户对分析模型或用户代理的第二调用请求;根据权限规则来确定第二用户是否有权限调用分析模型或用户代理;如果第二用户被确定为有权限调用分析模型或用户代理,则允许第二调用请求。在该步骤中,对应于第一用户的分析模型或用户代理可以根据权限规则来确定是否允许被第二用户调用,从而保证分析模型或用户代理的调用无法超出由权限规则确定的边界。
在一些实施例中,权限规则由第一用户设定。在该步骤中,使得用户可以基于区块链训练其所属的用户代理并进行服务,而不用担心用户代理的行为执行偏离其设定的权限规则,并为用户代理的自治提供了可能。
根据图2描述的实施例,提供了在区块链网络中实现智能代理的解决方案,该解决方案将区块链与AI技术进行结合,区块链负责在数据层为AI提供更多真实、可信的原始数据,AI在决策层为区块链提供更强大的数据分析能力,并通过对所使用的模型进行存证来防止模型被篡改,降低了AI应用遭受攻击的风险。
图3示出了根据本公开实施例的在区块链网络中实现智能代理的示例性装置300的示意图。装置300可以包括:存储器301和耦合到存储器301的处理器302。存储器301用于存储指令,处理器302被配置为基于存储器301存储的指令来使装置300实现针对本公开实施例所描述的各种方法(例如,图2的方法200,图4的方法400)的步骤中的任何步骤中的一个或多个。
存储器301可以包括易失性存储器,也可以包括非易失性存储器。处理器302可以是中央处理器(CPU)、微控制器、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、或是被配置为实现本发明的实施例的一个或多个集成电路。
图4示出了根据本公开实施例的一个示例性方法400。可以在图1的区块链网络110的区块链节点处执行方法400。如流程图所示,方法400包括以下步骤:
步骤401:从用户接收对话数据。例如,可以从用户(例如,从客户端)接收各种对话数据,诸如语音、文本等。
步骤402:由与用户相对应的用户代理根据对话数据使用用户的分析模型来识别用户的意图。在该步骤中,可以由用户所属的用户代理来根据对话数据使用基于区块链训练的分析模型(例如,语义分析模型等)来识别用户的意图。
步骤403:确定是否识别出意图。在一个示例中,如图4所示,在步骤403处,如果没有识别出意图,则返回步骤401以通过多轮对话获取更多的对话数据来识别意图,如果识别出意图,则行进到步骤404。在另一个示例中,如果没有识别出意图,可以例如通过FAQ(常见问题解答)来计算对话数据与FAQ中问题的匹配相似度,基于匹配相似度来确定使用FAQ中问题的解答来答复用户或者使用默认解答(例如,兜底答案或者闲聊)来答复用户。
步骤404:由用户代理根据所识别的意图执行与用户相关的操作。在该步骤中,可以根据不同的所识别的意图来执行不同的操作,例如所识别的意图可以包括针对区块链内部的链上数据的操作、针对区块链外部的链外数据的操作。当意图结果表示对区块链网络中的链上数据进行操作时,由用户代理使用用户的私钥在区块链网络上执行对链上数据的操作;当意图结果表示对区块链网络外部的链外数据进行操作时,由用户代理使用用户的私钥来执行对链外数据的操作。
根据图4的实施例,提供了在区块链网络中根据智能代理来执行用户相关的操作的具体示例,该示例仅用于说明而非限制本公开的实施例的应用。应当理解,本公开的实施例可以应用于各种方面。举例而言,可以将本公开的实施例应用于基于区块链的医疗数据系统,使得能够在医院、患者和卫生部门之间实现个人健康数据的授权和使用。
此外,替代地,上述的在区块链网络中实现智能代理的方法能够通过计算机程序产品,即有形的计算机可读存储介质来体现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开实施例的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
以上所述仅为本公开的可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。此外,尽管可能关于若干实施方式中的一个来公开实施例的特定特征或方面,但是可以将这种特征或方面与其它实施方式的一个或多个其它特征或方面进行组合,这是由于其对任何给定或特定应用来说是期望且有利的。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。