CN111274348B - 服务特征数据提取方法、装置及电子设备 - Google Patents
服务特征数据提取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111274348B CN111274348B CN201811475064.1A CN201811475064A CN111274348B CN 111274348 B CN111274348 B CN 111274348B CN 201811475064 A CN201811475064 A CN 201811475064A CN 111274348 B CN111274348 B CN 111274348B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- initial data
- requester
- algorithm model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种服务特征数据提取方法、装置及电子设备,本申请实施例在服务请求方初始数据与服务类型初始数据之间的数目差值大于预设数目阈值的情况下,通过基于斯帕克Spark架构的弹性分布式数据集RDD存储服务请求方初始数据,并通过斯帕克Spark架构的主管理器向各分布式服务器广播数量较小的服务类型初始数据,从而不会集中在一台分布式服务器上处理,处理过程中会基于预设的算法模型训练得到服务关系对应的服务请求方的特征向量数据与所述服务类型的特征向量数据,能够提供服务器的稳定性以及提取用户的特征数据的过程达到稳定运行的技术效果。
Description
技术领域
本申请涉及信息处理技术领域,具体而言,涉及一种服务特征数据提取方法、装置及电子设备。
背景技术
目前,随着互联网技术的迅速发展,越来越多的企业在给用户提供服务的过程中,采集用户的特征的大数据,通过从不同来源、不同角度提取用户的特征数据来建立更全面的“用户画像”,希望可以为用户提供更为人性化的增值服务,这是对互联网经济“以人为本”精神的最佳体现。
现有技术中,通过知识图谱的SPO(Subject-Predicate-Object,主语-谓语-宾语)三元组来分析用户的特征数据,将采集到的对应主语实体、宾语实体和实体关系的初始特征向量进行训练,从而得到用户的特征向量数据。
但是,现有技术中,对于提取用户特征数据的主语实体和宾语实体的数据有一定的要求,只适用于两者数量级相当的情况,如果两者数量级不平衡,则会出现服务器超载以及提取用户的特征数据的过程中断报错的情况,导致可靠性低下。
发明内容
有鉴于此,本申请实施例的目的在于提供一种服务特征数据提取方法、装置及电子设备,能够提供服务器的稳定性以及提取用户的特征数据的过程达到稳定运行的技术效果。
第一方面,本申请实施例提供了服务特征数据提取方法,包括:
获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的;
根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
如上所述,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
获取所述服务提供者请求不同服务类型的频次;
按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
如上所述,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
如上所述,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤,包括:
根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
如上所述,根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据的步骤,包括:
根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
如上所述,所述筛除掉不符合预设要求的负样本的步骤,包括:
筛除掉与所述服务三元组数据中相同的负样本数据。
所述预设的算法模型包括TransE算法模型和/或TransR算法模型。
如上所述,所述预设算法模型为TransE算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
如上所述,所述预设算法模型为TransR算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
如上所述,所述预设算法模型为TransR算法模型时,初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
如上所述,所述方法还包括:
根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
第二方面,本申请实施例提供了服务特征数据提取装置,所述装置包括:
第一获取模块用于获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的;
提取模块用于根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
如上所述,所述装置还包括:第二获取模块用于获取所述服务提供者请求不同服务类型的频次;
选取模块用于按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
如上所述,所述装置还包括:
映射模块用于分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
如上所述,所述装置还包括:所述第一获取模块用于根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
如上所述,所述提取模块还包括:
生成子模块用于根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
提取子模块用于基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
如上所述,所述提取子模块用于筛除掉与所述服务三元组数据中相同的负样本数据。
如上所述,所述提取子模块还包括算法模型模块用于运行TransE算法模型和/或TransR算法模型。
如上所述,所述算法模型模块运行TransE算法模型时,所述提取子模块还包括:第一初始化模块用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
如上所述,所述算法模型模块运行TransR算法模型时,所述提取子模块还包括:第二初始化模块用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
如上所述,所述算法模型模块运行TransR算法模型时,所述初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
如上所述,所述装置还包括:
画像模块用于根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
第三方面,本申请提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上所述的第一方面方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的第一方面方法的步骤。
本申请实施例在服务请求方初始数据与服务类型初始数据之间的数目差值大于预设数目阈值的情况下,通过基于斯帕克Spark架构的弹性分布式数据集RDD存储服务请求方初始数据,并通过斯帕克Spark架构的主管理器向各分布式服务器广播数量较小的服务类型初始数据,从而不会集中在一台分布式服务器上处理,处理过程中会基于预设的算法模型训练得到服务关系对应的服务请求方的特征向量数据与所述服务类型的特征向量数据,能够提供服务器的稳定性以及提取用户的特征数据的过程达到稳定运行的技术效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种服务特征数据提取系统的框图;
图2示出了本申请实施例所提供的电子设备的示例性硬件和软件组件的示意图;
图3示出了本申请实施例所提供的一种服务特征数据提取方法的流程示意图;
图4示出了本申请实施例所提供的另一种服务特征数据提取方法的流程示意图;
图5示出了本申请实施例所提供的又一种服务特征数据提取方法的流程示意图;
图6示出了本申请实施例所提供的服务特征数据提取装置的结构示意图;
图7示出了本申请实施例所提供的另一种服务特征数据提取装置的结构示意图;
图8示出了本申请实施例所提供的又一种服务特征数据提取装置的结构示意图;
图9示出了本申请实施例所提供的一种服务特征数据提取装置中提取模块的结构示意图;
图10示出了本申请实施例所提供的又一种服务特征数据提取装置中提取子模块的结构示意图;
图11示出了本申请实施例所提供的又一种服务特征数据提取装置的结构示意图;
图12示出了本申请实施例提供的另一种服务特征数据提取装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“乘车服务”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕乘车服务进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何其他交通运输类型。例如,本申请可以应用于不同的运输系统环境,包括陆地,海洋,或航空等,或其任意组合。运输系统的交通工具可以包括出租车、私家车、顺风车、公共汽车、火车、子弹头列车、高速铁路、地铁、船只、飞机、宇宙飞船、热气球、或无人驾驶车辆等,或其任意组合。本申请可以应用于任何其他场景。例如,本申请可以应用于购物服务、家政服务、送货服务、外卖服务等服务中。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请中的术语“服务请求方”、“请求方”、“乘客”、“服务人员”、和“客户”可互换使用,以指代可以请求或订购服务的个人、实体或工具。本申请中的术语“服务类型”、“乘车服务”、“外卖服务”、“家政服务的内容”和“送货服务”可互换使用,以指代可以提供服务的类别和内容,例如:若服务类型为乘车服务,包括乘车的上车的地点类别下车的地点类别,如:学校、公司、购物中心等,乘车的服务内容:如快车、拼车、顺风车、代驾等,若服务类型为外卖服务,包括外卖的店铺地址和送餐地址,外卖的服务内容:米饭、面食、小吃、西餐等。本申请中的术语“服务关系”、“常用”、“喜爱”、“常去”和“很棒”可互换使用,以指代可以服务请求方与服务类型两者之间的服务关系。本申请中的术语“司机”、“提供方”、“服务提供方”和“供应商”可互换使用,以指代可以提供服务的个人、实体或工具。本申请中的术语“用户”可以指代请求服务、订购服务、提供服务或促成服务的提供的个人、实体或工具。例如,用户可以是乘客、驾驶员、操作员等,或其任意组合。在本申请中,“乘客”和“乘客终端”可以互换使用,“驾驶员”和“驾驶员终端”可以互换使用。
本申请从知识图谱的角度,考虑到数据中服务请求方初始数据与服务类型初始数据的严重不平衡的特点,灵活运用斯帕克Spark架构中的广播变量机制,把数量较小的服务类型初始数据用广播变量进行广播共享,从而可以解决现有技术中服务器超载以及提取用户的特征数据的过程中断报错的情况,导致可靠性低下的技术问题。
图1是本申请提供的一种服务特征数据提取系统100的框图;如图1所示,该系统包括斯帕克Spark集群服务器110、网络120、服务请求方终端130、服务提供方终端140和数据库150中的一种或多种,斯帕克Spark集群服务器110中可以包括执行指令操作的处理器(未示出)。该服务特征数据提取系统100可以是用于诸如出租车、代驾服务、快车、拼车、公共汽车服务、驾驶员租赁、或班车服务之类的运输服务、或其任意组合的在线运输服务平台,以及外卖服务平台、家政服务平台、购物服务平台等服务类平台。
在一些实施例中,Spark集群服务器110可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,Spark集群服务器110可以包括:管理节点、工作节点和计算节点。其中,管理节点与工作节点连接,工作节点包括至少一个计算节点。在一些实施例中,Spark集群服务器110相对于终端,可以是本地的、也可以是远程的。例如,Spark集群服务器110可以经由网络120访问存储在服务请求方终端130、服务提供方终端140、或数据库150、或其任意组合中的信息和/或数据。作为另一示例,Spark集群服务器110可以直接连接到服务请求方终端130、服务提供方终端140和数据库150中至少一个,以访问存储的信息和/或数据。在一些实施例中,Spark集群服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。在一些实施例中,Spark集群服务器110可以在具有本申请中图2所示的一个或多个组件的电子设备200上实现。
在一些实施例中,Spark集群服务器110可以包括处理器(未示出)。处理器(未示出)可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,处理器(未示出)可以基于从服务请求方终端130获得的服务请求来确定目标车辆。在一些实施例中,处理器(未示出)可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器(未示出)可以包括中央处理单元(Central ProcessingUnit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(Application Specific Instruction-set Processor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
网络120可以用于信息和/或数据的交换。在一些实施例中,服务特征数据提取系统100中的一个或多个组件(例如,Spark集群服务器110,服务请求方终端130,服务提供方终端140和数据库150)可以向其他组件发送信息和/或数据。例如,Spark集群服务器110可以经由网络120从服务请求方终端130获取服务请求数据。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络130可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,服务特征数据提取系统100的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。
在一些实施例中,服务请求方终端130的用户可以是除服务实际需求者之外的其他人。例如,服务请求方终端130的用户A可以使用服务请求方终端130来为服务实际需求者B发起服务请求(比如,用户A可以为自己的朋友B叫车),或者从Spark集群服务器110接收服务信息或指令等。在一些实施例中,服务提供方终端140的用户可以是服务实际提供者,也可以是除服务实际提供者之外的其他人。例如,服务提供方终端140的用户C可以使用服务提供方终端140接收由服务实际提供者D提供服务的服务请求(比如用户C可以为自己雇用的司机D接单),和/或来自Spark集群服务器110的信息或指令。在一些实施例中,“服务请求方”和“服务请求方终端”可以互换使用,“服务提供方”和“服务提供方终端”可以互换使用。
在一些实施例中,服务请求方终端130可以包括移动设备、平板计算机、膝上型计算机、或机动车辆中的内置设备等,或其任意组合。在一些实施例中,移动设备可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、或增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器设备的控制设备、智能监控设备、智能电视、智能摄像机、或对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋带、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏设备、导航设备、或销售点(point of sale,POS)设备等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实玻璃、虚拟现实贴片、增强现实头盔、增强现实玻璃、或增强现实贴片等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括各种虚拟现实产品等。在一些实施例中,机动车辆中的内置设备可以包括车载计算机、车载电视等。在一些实施例中,服务请求方终端130可以是具有用于定位服务请求方和/或服务请求方终端的位置的定位技术的设备。
在一些实施例中,服务提供方终端140可以是与服务请求方终端130类似或相同的设备。在一些实施例中,服务提供方终端140可以是具有定位技术的设备,用于定位服务提供方和/或服务提供方终端的位置。在一些实施例中,服务请求方终端130和/或服务提供方终端140可以与其他定位设备通信以确定服务请求方、服务请求方终端130、服务提供方、或服务提供方终端140、或其任意组合的位置。在一些实施例中,服务请求方终端130和/或服务提供方终端140可以将定位信息发送给Spark集群服务器110。
数据库150可以存储数据和/或指令。在一些实施例中,数据库150可以存储从服务请求方终端130和/或服务提供方终端140获得的数据。在一些实施例中,数据库150可以存储在本申请中描述的示例性方法的数据和/或指令。在一些实施例中,数据库150可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-Only Memory,ROM)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(Random Access Memory,RAM);RAM可以包括动态RAM(Dynamic RandomAccess Memory,DRAM),双倍数据速率同步动态RAM(Double Date-Rate Synchronous RAM,DDR SDRAM);静态RAM(Static Random-Access Memory,SRAM),晶闸管RAM(Thyristor-Based Random Access Memory,T-RAM)和零电容器RAM(Zero-RAM)等。作为举例,ROM可以包括掩模ROM(Mask Read-Only Memory,MROM)、可编程ROM(Programmable Read-OnlyMemory,PROM)、可擦除可编程ROM(Programmable Erasable Read-only Memory,PEROM)、电可擦除可编程ROM(Electrically Erasable Programmable read only memory,EEPROM)、光盘ROM(CD-ROM)、以及数字通用磁盘ROM等。在一些实施例中,数据库150可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云或者其它类似的等,或其任意组合。
在一些实施例中,数据库150可以连接到网络120以与服务特征数据提取系统100(例如,Spark集群服务器110,服务请求方终端130,服务提供方终端140等)中的一个或多个组件通信。服务特征数据提取系统100中的一个或多个组件可以经由网络120访问存储在数据库150中的数据或指令。在一些实施例中,数据库150可以直接连接到服务特征数据提取系统100中的一个或多个组件(例如,Spark集群服务器110,服务请求方终端130,服务提供方终端140等);或者,在一些实施例中,数据库150也可以是Spark集群服务器110的一部分。
在一些实施例中,服务特征数据提取系统100中的一个或多个组件(例如,Spark集群服务器110,服务请求方终端130,服务提供方终端140等)可以具有访问数据库150的权限。在一些实施例中,当满足一定条件时,服务特征数据提取系统100中的一个或多个组件可以读取和/或修改与服务请求方、服务提供方、或公众、或其任意组合有关的信息。例如,Spark集群服务器110可以在接收服务请求之后读取和/或修改一个或多个用户的信息。作为另一示例,服务提供方终端140可以在从服务请求方终端130接收服务请求时访问与服务请求方有关的信息,但是服务提供方终端140可以不修改服务请求方的相关信息。
在一些实施例中,可以通过请求服务来实现服务特征数据提取系统100中的一个或多个组件的信息交换。服务请求的对象可以是任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、或奢侈品等,或其任意组合。非物质产品可以包括服务产品、金融产品、知识产品、或互联网产品等,或其任意组合。互联网产品可以包括单独的主机产品、网络产品、移动互联网产品、商业主机产品、或嵌入式产品等,或其任意组合。互联网产品可以用在移动终端的软件、程序、或系统等,或者它们的任意组合中。移动终端可以包括平板电脑、笔记本电脑、移动电话、个人数字助理(Personal Digital Assistant,PDA)、智能手表、销售点(Point ofsales,POS)设备、车载电脑、车载电视、或可穿戴设备等,或其任意组合。例如,互联网产品可以是计算机或移动电话中使用的任何软件和/或应用程序。软件和/或应用程序可以涉及社交、购物、运输、娱乐时间、学习、或投资等,或其任意组合。在一些实施例中,与运输有关的软件和/或应用程序可以包括旅行软件和/或应用程序、车辆调度软件和/或应用程序、绘图软件和/或应用程序等。在车辆调度软件和/或应用程序中,车辆可包括马、马车、人力车(例如,独轮车、自行车、三轮车等)、汽车(例如,出租车、公共汽车、私家车等)、火车、地铁、船只、飞机(例如,飞机、直升机、航天飞机、火箭、热气球等)等,或其任意组合。
图2示出根据本申请的一些实施例的可以实现本申请思想的服务器110、服务请求方终端130、服务提供方终端140的电子设备200的示例性硬件和软件组件的示意图。例如,处理器可以用于电子设备200上,并且用于执行本申请中的功能。
电子设备200可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的服务特征数据提取方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
例如,电子设备200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备200还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口250。
为了便于说明,在电子设备200中仅描述了一个处理器。然而,应当注意,本申请中的电子设备200还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备200的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
图3示出了本申请实施例提供的一种服务特征数据提取方法流程示意图,本实施例的执行主体可以是Spark服务器集群,如图3所示,本申请提供的服务特征数据提取方法,包括:
S301、获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的。
具体的,Spark架构是基于Spark服务器集群实现的,包括:管理节点、工作节点和计算节点。其中,管理节点与工作节点连接,用于监控Spark架构中各个节点的工作状态,工作节点包括至少一个计算节点,工作节点可以为用于监控Spark架构中各个节点的工作状态,工作节点可以为Spark Standalone(斯帕克单一模式)中的Worker(工作节点)、HadoopYARN(海杜普资源管理器)模式中的NodeManager节点(YARN的每节点代理)等,用于控制计算节点,而计算节点可以为工作节点中运行的某个应用程序对应的进程。该Spark服务器集群的计算节点可以与服务请求方终端进行通信,获取服务请求方初始数据,该Spark服务器集群可以与服务提供方终端进行通信,获取服务类型初始数据和服务关系初始数据,并分别以单独的文件存储于HDFS(Hadoop Distributed File System,分布式文件系统)中。
当服务提供方给服务请求方提供各种服务类型的过程中,希望更好地理解服务请求方对服务类型的喜好以及习惯的特征数据,会通过对服务请求方需求的服务类型进行特征学习,首先,获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,该预设数目阈值可以根据服务提供方的实际情况来进行设置,尤其对于服务请求方与服务类型两者之间的数量级不平衡,差值满足预设数目阈值时,对于服务请求方初始数据会基于斯帕克Spark架构的弹性分布式数据集RDD存储,对于服务类型初始数据是通过斯帕克Spark架构广播共享得到的。
例如:在乘客的出行场景中,对乘客的出行场景和乘客POI(Point Of Interest,偏爱的地点)地点信息的挖掘得不够全面,其中,乘客POI地点是指乘客常去地点,并非是具体的地址,而是某一类地址的总称,比如:公司、酒吧、购物中心等等,其中对于乘客PID信息可以通过服务请求方的终端或者服务提供方终端获取到,对于乘客POI地点以及服务关系“常用”可以通过服务提供方终端获取到。
继续上述乘客的出行场景,在对乘客和乘客POI地点信息的数据处理时,可以发现,乘客的数量在上亿量级,而乘客POI地点信息的数量仅几百个,两者量级不平衡,在本实施例中,可以从知识图谱的角度对服务请求方、服务类型以及两者之间的服务关系进行建模,其中,服务提供方可以为乘客,采用乘客信息PID(Passenger Identification,乘客身份识别码),作为主语实体,服务类型可以为POI地点,作为宾语实体,两者之间的服务关系可以是“常去”,通过实体和关系可以生成乘客POI地点相关的SPO(Subject-Predicate/Property-Object,主语-谓语-宾语)三元组数据,将乘客信息、乘客POI地点、“常去”以及生成的SPO三元组初始数据分别以单独的文件存储于HDFS(Hadoop Distributed FileSystem,分布式文件系统)上,表1为乘客特征数据提取的输入文件,如表1所示,
表1
考虑到本数据的乘客信息、乘客POI地点严重不平衡的特点,可以灵活运用斯帕克Spark中的广播变量机制,把数量较小的乘客POI地点实体用广播变量进行广播共享,即通过斯帕克Spark架构的主管理器向各分布式服务器广播数量较小的乘客POI地点,如果对应的分布式服务器获取到自己存储的乘客POI地点,此时对应的分布式服务器会进行相应的计算处理,从而不会集中在一台分布式服务器上处理,从而可以解决现有技术中服务器超载以及提取用户的特征数据的过程中断报错的情况。
S302、根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
具体的,根据获取到的服务请求方初始数据、服务类型初始数据、服务关系初始数据和所述服务三元组数据,可以基于TransE算法(Translate Embedding,基于翻译模型的嵌入学习算法)和/或TransR算法(Translate in Relation Space,基于翻译模型的关系空间中的嵌入学习算法),训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据,对于训练过程可以基于TransE算法或者TransR算法的单独运行,但比较推荐的运行方案是,可以先基于TransE算法,初步训练出服务请求方、服务类型和服务关系的特征向量,接下来把TransE算法训练得到的各特征向量,再作为TransR算法的输入数据,运行TransR算法,在TransE算法结果的基础上进一步采用TransR算法训练,进一步降低目标函数的损失,以便得到更好的特征向量数据。
本实施例提供的服务特征数据提取方法,在服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值的情况下,通过基于斯帕克Spark架构的弹性分布式数据集RDD存储服务请求方初始数据,并通过斯帕克Spark架构的主管理器向各分布式服务器广播数量较小的服务类型初始数据,如果对应的分布式服务器获取到自己存储的服务类型初始数据,此时,对应的分布式服务器会进行相应的计算处理,从而不会集中在一台分布式服务器上处理,处理过程中会基于预设的算法模型训练得到服务关系对应的服务请求方的特征向量数据与所述服务类型的特征向量数据,从而可以解决现有技术中服务器超载以及提取用户的特征数据的过程中断报错的情况。
可选的,如图4所示,在一个实施例中,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
S401、获取所述服务提供者请求不同服务类型的频次;
S402、按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
具体的,为了保证数据的时效性,可以对服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据设定时间周期,比如获取最近一年内的数据,对服务请求方请求的不同服务类型的数据进行预处理,通过获取服务提供者请求不同服务类型的频次,按照预设数目选取频次大于预设阈值的服务类型作为服务类型初始数据,例如:继续上述实施例中的乘客的出行场景,可以将乘客的出发地点和到达地点的频次信息,进行相加作为服务地点的频次信息,对于每个乘客,可以把地点按频次排序,取频次在前5并且高于一定阈值的地点作为乘客常去POI地点,该阈值可以是3,但并不以此为限。
可选的,在一个实施例中,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
具体的,对于服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据在数据库中均是以字符串的形式存在,通常采用String格式标记主语实体和宾语实体,存储成ASCII文本文件,如果继续上述实施例中乘客的出行场景,乘客的数量在上亿量级,会导致占用内存空间大,且在模型训练过程中会导致运行速度缓慢,因此,通过分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系,可以采用特定索引指代对应的服务请求方初始数据,一般的,可以采用Int类型数据作为索引与对应的String格式的数据建立映射关系,通过索引Int类型数据,从而找到对应String格式的数据,例如:假设乘客的姓名或者乘客的账号数量为N个(N往往是上亿级别),则每个乘客的姓名或账号将会映射到一个1到N之间的正整数。同样的,假设乘客的服务地点数量为M个,则每个服务地点会映射到1到M之间的一个正整数。同样的,“常用”、“偏爱”、“习惯”等服务关系也会与正整数之间作同样的映射(特别的,在某些情况下,也会将实体与拼音字母或其他代号等进行映射)。保存这些Int类型的索引(Index)与之前采用的String格式之间的映射关系。
通过分别建立服务请求方初始数据、服务类型初始数据以及服务关系初始数据与不同索引之间的映射关系,使得训练过程中,直接通过不同的索引,就能映射到对应的服务请求方初始数据、服务类型初始数据以及服务关系初始数据,避免了冗余的字符串信息,使得占用的内存空间小,运行速度更快。
进一步的,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤,包括:
根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
具体的,在分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同类型的索引之间的映射关系之后,就可以根据服务请求方对应的索引、服务类型对应的索引以及服务关系对应的索引,生成服务三元组数据对应的索引三元组数据,即将原来每行存三列的String,分别是服务请求方、服务类型和服务关系,这样生成服务三元组数据会很长,而通过索引映射这些数据,生成服务三元组数据对应的索引三元组数据(如Int型整数三元组),使得索引三元组数据的字段很小,在训练过程中,不会占用较大的内存,使得计算运行顺利,不容易中断,下面继续上述乘客的出行场景进行说明,乘客POI地点相关的SPO三元组数据(“乘客PID”,“乘客POI地点”,“常去”),如果整数“1,2,3,…,M”与乘客PID之间建立了映射关系(M等于乘客的数量),整数“1,2,3,…,N”与乘客POI地点之间建立了映射关系(N等于乘客地点的数量),整数“1”与“常去”之间建立了映射关系,则可以根据乘客PID、乘客POI地点、关系与各自索引之间建立的映射关系,直接用特定Int型整数索引进行替换,例如:替换后的索引SPO三元组数据(10088,62,1)代表“索引Int标号为10088的乘客常去索引Int编号为62的POI地点”。由此可见,经过建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系之后,则可以对服务请求方初始数据、服务类型初始数据、服务关系初始数据进行简化处理,从而可以对服务三元组数据的进行简化,使得后续基于预设的算法模型训练的过程中,数据处理得更快,减少了内存占用空间。
在一个实施例中,上述实施例中基于预设的算法模型包括TransE算法模型和/或TransR算法模型。
具体的,通过从知识图谱的角度来建模,采用可以基于TransE算法模型和/或TransR算法模型来实现,给出了从服务类型中挖掘出服务请求方特征的新方案,其中对于TransE算法模型和TransR算法模型的训练流程和训练原理均在其他申请文件中给予了详细说明,就不再赘述。
继续上述乘客的出行场景进行说明,则可以更好地从乘客POI地点中挖掘出乘客特征,可以和现有的乘客其他特征提取模型互补,从而帮助建立更全面的乘客画像。
可选的,在一个实施例中,所述预设算法模型为TransE算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
具体的,预设算法模型为TransE算法模型时,需要对输入文件进行初始化,即用正态分布对服务请求方初始数据、服务类型初始数据和服务关系初始数据进行随机初始化,其中,初始化的服务请求方初始数据的特征向量,存储在RDD中,初始化服务类型初始数据和服务关系初始数据的特征向量基于斯帕克Spark架构进行广播,继续上述乘客的出行场景进行说明,初始化乘客特征向量,存储在RDD中,初始化并广播POI地点向量、关系向量。
可选的,所述预设算法模型为TransR算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
具体的,预设算法模型为TransR算法模型时,需要对输入文件进行初始化,可以采用正态分布对服务请求方初始数据、服务类型初始数据和服务关系初始数据进行随机初始化,其中,初始化的服务请求方初始数据的特征向量,存储在RDD中,初始化服务类型初始数据和服务关系初始数据的特征向量基于斯帕克Spark架构进行广播,继续上述乘客的出行场景进行说明,初始化乘客特征向量,存储在RDD中,初始化并广播POI地点向量、关系向量;还可以采用从TransE算法模型训练结果中恢复向量,继续训练,即TransR算法模型可以用TransE算法模型的结果进行初始化。
进一步的,所述预设算法模型为TransR算法模型时,初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
具体的,预设算法模型为TransR算法模型时,服务请求方初始数据和服务类型初始数据的向量维度不同,需要通过投影矩阵对服务请求方初始数据、服务类型初始数据和服务关系初始数据的行向量维度进行统一。该投影矩阵是二维向量,用于把服务请求方初始数据和服务类型初始数据从原先的实体空间映射到与实体空间维度不同的关系空间。
例如,服务请求方初始数据向量为M*P的矩阵,服务类型初始数据为N*P的矩阵,而服务关系初始数据为R*Q的矩阵,则投影矩阵可以为P*Q的矩阵,使得调整后的服务请求方初始数据特征向量为M*Q的矩阵,服务类型初始特征向量为N*Q的矩阵,这样调整后的服务请求方、服务类型初始数据和服务关系初始数据的矩阵的每一行向量维度都为Q,保持一致,其中M、N、R、P和Q均为正整数。
进一步的,如图5所示,在一个实施例中,根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据的步骤,包括:
S501、根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
S502、基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
具体的,在基于TransE算法模型和/或TransR算法模型对服务请求方初始数据、服务类型初始数据、服务关系初始数据和服务三元组数据进行训练的时候,首先,会根据服务三元组数据的正样本,基于预设的算法模型随机改变正样本中的主语或宾语,生成服务三元组数据正样本对应的负样本,再利用RDD中的一系列转化和外连接操作,筛除掉不符合预设要求的负样本,即将正样本数据集和负样本数据集进行匹配,如果匹配后没有交集,则说明该负样本合法,如果匹配后有交集,则说明该负样本不合法,则需要把不合法的负样本筛除过滤掉,再基于TransE算法模型和/或TransR算法模型的算法思想,计算模型的损失函数,并用梯度下降方法来调整输出的服务请求方的特征向量数据与所述服务类型的特征向量数据,以使模型损失逐渐减小。
需要注意的是,在每次得到输出的服务请求方的特征向量数据与所述服务类型的特征向量数据之后,可以判断输出的数据是否符合要求,也可以预先设置训练次数,经过预先设置的训练次数展示训练后的特征向量,但在每次更新特征向量后,需要进行归一化操作,来防止数据偏移过大。经过一定的迭代轮数后,损失下降到相对较低,使得服务请求方、服务类型和服务关系的特征向量也在训练中逐步得到学习优化。
基于TransE算法模型和/或TransR算法模型运行结束后,可以根据之前建立的映射关系,把服务请求方、服务类型、服务关系的Int类型的索引转化回String类型名称,便于输出后用于其他项目,另外,为了减少读取服务请求方特征向量数据所花费的时间,该服务请求方特征向量数据的格式类型可以为面向分析型业务的列式存储Parquet格式,类似的,服务类型特征向量数据的格式类型也可以为Parquet格式。
但是,在实际应用中,服务类型特征向量数据的数目远小于服务请求方特征向量数据的数目,则服务类型特征向量数据的格式类型也可以为文本格式。
例如,服务请求方特征向量数据的格式类型为Parquet格式(列式存储的一种文件类型),服务类型特征向量数据的格式类型为文本格式,则服务请求方特征向量数据可以包括两列,分别对应服务请求方和N维的特征向量,而服务类型特征向量数据可以包括多列,每行的第一列为服务类型,从第二列开始为包括N列的特征向量,继续上述乘客的出行场景进行说明,其中,在乘客的出行场景中的服务关系是“常用”,因此,只需要输出的乘客的特征向量和乘客POI地点的特征向量文件,具体的文件格式可以参照表2,表2为乘客特征数据提取的输出文件,如表2所示,
表2
可选的,所述筛除掉不符合预设要求的负样本的步骤,包括:
筛除掉与所述服务三元组数据中相同的负样本数据。
具体的,筛除掉不符合预设要求的负样本,该不符合预设要求是指负样本恰好出现在正样本集合中即为不合法,通过把不合法的负样本筛除掉后,可以提高模型的鲁棒性。
进一步的,所述方法还包括:根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
具体的,根据上述TransE算法模型和/或TransR算法模型运行输出的服务请求方的特征向量数据与所述服务类型的特征向量数据,可以得到服务请求方的画像描述数据,该画像描述数据可以是标签或者属性的形式,通过添加标签或者属性给服务请求方进行画像,继续上述乘客的出行场景进行说明,通过输出的乘客的POI地点与乘客的特征向量数据,能反映出乘客的一些生活规律或是个人喜好。例如:比如乘客常去酒吧、KTV等娱乐场所,那么他很有可能会有更高的醉酒概率,则给他添加上该标签;如果乘客经常把学校、公司作为上下车地点,那么他大概率会是学生、上班族……类似的场景还有很多,基于地点提取的用户特征,对于完善乘客的用户画像,有一定的帮助。
图6是示出本申请的一些实施例的服务特征数据提取装置的框图,该服务特征数据提取装置实现的功能对应上述方法执行的步骤。如图6所示,服务特征数据提取装置可以包括第一获取模块410和提取模块420。
第一获取模块410可以用于获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的。
提取模块420可以用于根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
本实施例提供的服务特征数据提取装置,在服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值的情况下,通过基于斯帕克Spark架构的弹性分布式数据集RDD存储服务请求方初始数据,并通过斯帕克Spark架构的主管理器向各分布式服务器广播数量较小的服务类型初始数据,如果对应的分布式服务器获取到自己存储的服务类型初始数据,此时,对应的分布式服务器会进行相应的计算处理,从而不会集中在一台分布式服务器上处理,处理过程中会基于预设的算法模型训练得到服务关系对应的服务请求方的特征向量数据与所述服务类型的特征向量数据,从而可以解决现有技术中服务器超载以及提取用户的特征数据的过程中断报错的情况。
可选的,如图7所示,上述装置还包括:第二获取模块430用于获取所述服务提供者请求不同服务类型的频次;
选取模块440用于按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图8所示,上述装置还包括:映射模块450用于分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图8所示,所述第一获取模块410用于根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图9所示,上述装置的提取模块420包括:
生成子模块421用于根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
提取子模块422用于基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
进一步的,如图9所示,所述提取子模块422用于筛除掉与所述服务三元组数据中相同的负样本数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
进一步的,如图10所示,上述提取子模块422还包括算法模型模块4221用于运行TransE算法模型和/或TransR算法模型。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图10所示,所述算法模型模块4221运行TransE算法模型时,还包括:第一初始化模块4222用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图10所示,所述算法模型模块4221运行TransR算法模型时,还包括:第二初始化模块4223用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
进一步的,所述算法模型模块4221运行TransR算法模型时,所述初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
可选的,如图11所示,上述装置还包括画像模块460用于根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
上述装置用于执行前述方法实施例,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。
图12示出了本申请实施例提供的另一种服务特征数据提取装置结构示意图,如图12所示,该装置包括:处理器510和存储器520,其中:存储器520用于存储程序,处理器510调用存储器520存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以集成于终端或服务器等设备,本申请中不作限制。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (22)
1.一种服务特征数据提取方法,其特征在于,包括:
获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的;
根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据;
根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据的步骤,包括:
根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
2.根据权利要求1所述的服务特征数据提取方法,其特征在于,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
获取服务提供者请求不同服务类型的频次;
按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
3.根据权利要求1或2所述的服务特征数据提取方法,其特征在于,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤之前,所述方法还包括:
分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
4.根据权利要求3所述的服务特征数据提取方法,其特征在于,所述获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据的步骤,包括:
根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
5.根据权利要求1所述的服务特征数据提取方法,其特征在于,所述筛除掉不符合预设要求的负样本的步骤,包括:
筛除掉与所述服务三元组数据中相同的负样本数据。
6.根据权利要求5所述的服务特征数据提取方法,其特征在于,所述预设的算法模型包括TransE算法模型和/或TransR算法模型。
7.根据权利要求6所述的服务特征数据提取方法,其特征在于,所述预设算法模型为TransE算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
8.根据权利要求6所述的服务特征数据提取方法,其特征在于,所述预设算法模型为TransR算法模型时,用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
9.根据权利要求8所述的服务特征数据提取方法,其特征在于,所述预设算法模型为TransR算法模型时,初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
10.根据权利要求1所述的服务特征数据提取方法,其特征在于,所述方法还包括:
根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
11.一种服务特征数据提取装置,其特征在于,所述装置包括:
第一获取模块用于获取服务请求方初始数据、服务类型初始数据、所述服务请求方与服务类型两者之间的服务关系初始数据,生成对应的服务三元组数据,其中,所述服务请求方初始数据与所述服务类型初始数据之间的数目差值大于预设数目阈值,所述服务请求方初始数据基于斯帕克Spark架构的弹性分布式数据集RDD存储,所述服务类型初始数据是通过斯帕克Spark架构广播共享得到的;
提取模块用于根据所述服务请求方初始数据、所述服务类型初始数据、所述服务关系初始数据和所述服务三元组数据,基于预设的算法模型训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据;
所述提取模块还包括:
生成子模块用于根据所述服务三元组数据的正样本,基于预设的算法模型生成所述服务三元组数据对应的负样本;
提取子模块用于基于预设的算法模型,利用所述RDD中的外连接,筛除掉不符合预设要求的负样本,训练得到所述服务关系对应的所述服务请求方的特征向量数据与所述服务类型的特征向量数据。
12.根据权利要求11所述的服务特征数据提取装置,其特征在于,还包括:
第二获取模块用于获取所述服务提供者请求不同服务类型的频次;
选取模块用于按照预设数目选取所述频次大于预设阈值的服务类型作为所述服务类型初始数据。
13.根据权利要求11或12所述的服务特征数据提取装置,其特征在于,还包括:
映射模块用于分别建立所述服务请求方初始数据、服务类型初始数据以及所述服务关系初始数据与不同索引之间的映射关系。
14.根据权利要求13所述的服务特征数据提取装置,其特征在于,所述第一获取模块用于根据所述服务请求方对应的索引、所述服务类型对应的索引以及所述服务关系对应的索引,生成所述服务三元组数据对应的索引三元组数据。
15.根据权利要求11所述的服务特征数据提取装置,其特征在于,所述提取子模块用于筛除掉与所述服务三元组数据中相同的负样本数据。
16.根据权利要求15所述的服务特征数据提取装置,其特征在于,所述提取子模块还包括算法模型模块用于运行TransE算法模型和/或TransR算法模型。
17.根据权利要求16所述的服务特征数据提取装置,其特征在于,所述算法模型模块运行TransE算法模型时,所述提取子模块还包括:第一初始化模块用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化。
18.根据权利要求16所述的服务特征数据提取装置,其特征在于,所述算法模型模块运行TransR算法模型时,所述提取子模块还包括:第二初始化模块用于用正态分布对所述服务请求方初始数据、所述服务类型初始数据和所述服务关系初始数据进行随机初始化或者用所述TransE算法模型训练得到的结果进行初始化。
19.根据权利要求18所述的服务特征数据提取装置,其特征在于,所述算法模型模块运行TransR算法模型时,初始化数据还包括基于所述服务请求方初始数据和所述服务类型初始数据映射到不同的关系空间得到的投影矩阵。
20.根据权利要求11所述的服务特征数据提取装置,其特征在于,还包括:
画像模块用于根据所述服务请求方的特征向量数据与所述服务类型的特征向量数据得到所述服务请求方的画像描述数据。
21.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至10任一所述的服务特征数据提取方法的步骤。
22.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至
10任一所述的服务特征数据提取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475064.1A CN111274348B (zh) | 2018-12-04 | 2018-12-04 | 服务特征数据提取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475064.1A CN111274348B (zh) | 2018-12-04 | 2018-12-04 | 服务特征数据提取方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274348A CN111274348A (zh) | 2020-06-12 |
CN111274348B true CN111274348B (zh) | 2023-05-12 |
Family
ID=70996637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811475064.1A Active CN111274348B (zh) | 2018-12-04 | 2018-12-04 | 服务特征数据提取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274348B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881191B (zh) * | 2020-08-05 | 2021-06-11 | 留洋汇(厦门)金融技术服务有限公司 | 移动互联网下的客户画像关键特征挖掘系统与方法 |
CN112540832B (zh) * | 2020-12-24 | 2022-01-28 | 中山大学 | 一种基于知识图谱的云原生系统故障分析方法 |
CN113742087B (zh) * | 2021-09-22 | 2023-12-12 | 深圳市玄羽科技有限公司 | 一种工业互联网大数据服务器的保护方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN107908642A (zh) * | 2017-09-29 | 2018-04-13 | 江苏华通晟云科技有限公司 | 基于分布式平台的行业文本实体提取方法 |
CN108268638A (zh) * | 2018-01-18 | 2018-07-10 | 浙江工业大学 | 一种基于Spark框架的生成对抗网络分布式实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929417B2 (en) * | 2015-09-11 | 2021-02-23 | International Business Machines Corporation | Transforming and loading data utilizing in-memory processing |
-
2018
- 2018-12-04 CN CN201811475064.1A patent/CN111274348B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN107908642A (zh) * | 2017-09-29 | 2018-04-13 | 江苏华通晟云科技有限公司 | 基于分布式平台的行业文本实体提取方法 |
CN108268638A (zh) * | 2018-01-18 | 2018-07-10 | 浙江工业大学 | 一种基于Spark框架的生成对抗网络分布式实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111274348A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352682B (zh) | 页面渲染方法、装置、服务器及可读存储介质 | |
US10969239B2 (en) | Systems and methods for determining a point of interest | |
CN111274348B (zh) | 服务特征数据提取方法、装置及电子设备 | |
CN111352649B (zh) | 代码处理方法、装置、服务器及可读存储介质 | |
US11193786B2 (en) | System and method for determining location | |
CN111507732B (zh) | 用于识别相似轨迹的系统和方法 | |
CN111367575B (zh) | 一种用户行为预测方法、装置、电子设备及存储介质 | |
US20190026813A1 (en) | Elicit user demands for item recommendation | |
JP2020529649A (ja) | ピックアップロケーションをネーミングするための方法およびシステム | |
CN110751531A (zh) | 轨迹识别方法、装置及电子设备 | |
CN111489214B (zh) | 订单分配方法、条件设置方法、装置及电子设备 | |
CN111326147B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN111104585B (zh) | 一种问题推荐方法及装置 | |
CN111259119B (zh) | 一种问题推荐方法及装置 | |
CN111314102A (zh) | 群组识别方法、装置、电子设备及计算机可读存储介质 | |
WO2023000261A1 (zh) | 一种区域交通的预测方法以及设备 | |
CN110400201A (zh) | 信息展示方法、装置、电子设备以及介质 | |
US11120091B2 (en) | Systems and methods for on-demand services | |
CN111199440A (zh) | 事件预估方法、装置以及电子设备 | |
CN111274471B (zh) | 信息推送方法、装置、服务器及可读存储介质 | |
CN106133759A (zh) | 二维码生成装置以及二维码生成程序产品 | |
CN111401388B (zh) | 数据挖掘方法、装置、服务器及可读存储介质 | |
CN110651266B (zh) | 为按需服务提供信息的系统及方法 | |
CN113448876B (zh) | 一种业务测试方法、装置、计算机设备及存储介质 | |
CN111859168A (zh) | 一种兴趣点确定方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |