CN110941768B - 服务推荐方法和装置 - Google Patents
服务推荐方法和装置 Download PDFInfo
- Publication number
- CN110941768B CN110941768B CN201911101986.0A CN201911101986A CN110941768B CN 110941768 B CN110941768 B CN 110941768B CN 201911101986 A CN201911101986 A CN 201911101986A CN 110941768 B CN110941768 B CN 110941768B
- Authority
- CN
- China
- Prior art keywords
- service
- path
- user
- embedded
- services
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书公开了服务推荐方法和装置。所述方法包括:获取关于服务的知识图谱和用户的服务兴趣序列;对序列中的相邻服务,从图谱中查找出两者之间的最短关联路径作为第一子路径,将第一子路径组合成第一路径;对于序列中的相邻服务,从图谱中查找出两者的公共直连节点的数量并插入到两者之间形成第二子路径,将第二子路径组合成第二路径;将第一路径和第二路径的嵌入表征融合得到用户的嵌入表征;从图谱中获取服务类实体的嵌入表征;根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率,以向用户推荐服务。
Description
技术领域
本说明书涉及计算机技术领域,更具体地,涉及服务推荐方法和服务推荐装置。
背景技术
随着信息科技的发展,各种服务和网络信息数据呈现爆炸性的增长。推荐是帮助用户搜索或者找到他们所需要的东西的最强有力的方式之一。基于用户的兴趣推荐信息的手段,包括通过协作过滤的推荐形式、以及类似内容项目和相同类别的推荐形式。目前,基于知识图谱的个性化推荐方法成为热门的研究方向。
发明内容
本说明书公开的实施例提供服务推荐的新方案。
根据本说明书公开的第一方面,提供了服务推荐方法,包括以下步骤:
获取关于服务的知识图谱,所述知识图谱至少包括服务类实体的节点和其它类实体的节点;
获取用户的服务兴趣序列,所述服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列;
对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径;将全部第一子路径按顺序组合成第一路径;
对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将所述数量插入到两者之间形成两者之间的第二子路径;将全部第二子路径按顺序组合成第二路径;
分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征;
从知识图谱中获取服务类实体的嵌入表征;
根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率;
根据用户使用服务的概率向用户推荐服务。
可选地或者优选地,所述其他类实体包括下列任一或者任意组合:地点类实体、时间类实体、类目类实体。
可选地或者优选地,基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。
可选地或者优选地,通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
可选地或者优选地,所述根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率,包括:对服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用服务的概率。
可选地或者优选地,所述根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率,包括:通过CTR算法计算用户使用服务的概率。
根据本说明书公开的第二方面,提供了服务推荐装置,包括以下模块:
图谱获取模块,用于获取关于服务的知识图谱,所述知识图谱至少包括服务类实体的节点和其它类实体的节点;
序列获取模块,用于获取用户的服务兴趣序列,所述服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列;
第一路径生成模块,用于对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径;将全部第一子路径按顺序组合成第一路径;
第二路径生成模块,用于对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将所述数量插入到两者之间形成两者之间的第二子路径;将全部第二子路径按顺序组合成第二路径;
用户嵌入表征获取模块,用于分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征;
图谱嵌入表征获取模块,用于从知识图谱中获取服务类实体的嵌入表征;
概率预测模块,用于根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率;
推荐模块,用于根据用户使用服务的概率向用户推荐服务。
可选地或者优选地,所述其他类实体包括下列任一或者任意组合:地点类实体、时间类实体、类目类实体。
可选地或者优选地,所述用户嵌入表征获取模块,用于基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。
可选地或者优选地,所述用户嵌入表征获取模块,用于通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
可选地或者优选地,所述概率预测模块,用于对服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用服务的概率。
可选地或者优选地,所述概率预测模块,用于通过点击率预测算法计算用户使用服务的概率。
根据本说明书公开的第三方面,提供了服务推荐装置,包括处理器和存储器;所述存储器中存储有指令,所述指令被所述处理器执行时,实现前述任一项所述的服务推荐方法。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书实施例的原理。
图1是本说明书一个实施例提供的服务推荐系统的框图。
图2是本说明书一个实施例提供的知识图谱的示意图;
图3是本说明书一个实施例提供的服务推荐方法的流程图;
图4是本说明书一个实施例提供的服务推荐装置的框图;
图5是本说明书一个实施例提供的服务推荐装置的框图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书实施例及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<服务推荐系统>
图1是本说明书实施例提供的服务推荐系统的框图。如图1所示,该服务推荐系统包括推荐服务器101和终端设备103。推荐服务器101和终端设备103可以通过网络102进行通信,网络102可以是有线网络或者是无线网络。
推荐服务器101的配置可以包括但不限于:处理器1011、存储器1012、接口装置1013、通信装置1014、输入装置1015、输出装置1016。处理器1011可以包括但不限于中央处理器CPU、微处理器MCU等。存储器1012可以包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1013可以包括但不限于USB接口、串行接口、并行接口等。通信装置1014例如能够进行有线通信或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。输入装置1015包括但不限于键盘、鼠标、触摸屏、麦克风等。输出装置1016包括但不限于显示屏、扬声器等。
终端设备103例如可以是安装有智能操作系统(例如安卓、IOS、Windows、Linux等系统)的电子设备,包括但不限于便携式电脑、台式计算机、手机、平板电脑等。终端设备103的配置包括但不限于处理器1031、存储器1032、接口装置1033、通信装置1034、GPU(Graphics Processing Unit,图像处理器)1035、显示装置1036、输入装置1037、扬声器1038、麦克风1039、以及相机1030。处理器1031包括但不限于中央处理器CPU、微处理器MCU等。存储器1032包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1033包括但不限于USB接口、串行接口、并行接口等。通信装置1034例如能够进行有线通信或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。GPU 1035用于对图像进行处理。显示装置1036包括但不限于液晶屏、触摸屏等。输入装置1037包括但不限于键盘、鼠标、触摸屏等。
应用于本说明书的一个实施例中,用户可以通过终端设备103搭载的APP(application,应用)获取服务,例如获取挂号、购票、导航、缴费、音乐、电影等服务。用户可以通过一个APP获取到一种或者多种服务,也可以通过多个APP获取到多种服务,也可以通过多个APP共同实现一项服务,本说明书不限定于此。应用于本说明书的一个实施例中,用户在使用终端设备103时,推荐服务器101可以向用户推荐服务。
图1所示的服务推荐系统仅仅是说明性的并且绝不意味着对本说明书实施例、其应用或使用的任何限制。本领域技术人员应当理解,尽管前面描述了推荐服务器和终端设备的多个装置,但是,本说明书实施例可以仅涉及其中的部分装置。例如,推荐服务器可以只涉及处理器、存储器以及通信装置,终端设备可以只涉及处理器、存储器、通信装置、显示屏以及扬声器。本领域技术人员可以根据本说明书实施例所公开的方案设计指令。指令如何控制处理器进行操作是本领域公知技术,在此不再详细描述。
<服务推荐方法>
参照图2和图3所示,说明本说明书的一个实施例提供的服务推荐方法,包括步骤S202-S216。
S202、获取用户的服务兴趣序列。用户的服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列。
在一个实施例中,获取用户一段时间内(例如一天内)的行为数据,从用户的行为数据中提取出用户使用过的服务并且打上时间戳,时间戳表明了用户使用该服务的时间。将这段时间的服务按照时间戳排列,形成用户的服务兴趣序列。推荐服务器可以通过多种方式获取到这些数据,生成用户的服务兴趣序列。
在一个实施例中,用户的服务兴趣序列可以通过用户在APP上的使用记录得到。例如,用户通过APP连续使用了租车服务、支付车费服务、导航服务,推荐服务器可以获取到这些记录,生成用户的服务兴趣序列。推荐服务器可以从APP服务器处获取用户的使用记录,也可以从用户的终端设备103处获取使用记录。
在一个实施例中,推荐服务器可以从APP服务器处直接获取到用户的服务兴趣序列,或者从用户的终端设备103处获取到用户的服务序列。也就是说,用户的服务兴趣序列可以是APP服务器生成的,或者用户所持有的的终端设备生成的。
在一个实施例中,用户的服务兴趣序列可以按照预设的周期进行更新,例如每天更新一次,以跟随用户的兴趣变迁。
在一个实施例中,可以为用户的服务兴趣序列打上对应的标签,例如“工作日”、“星期一”、“星期五”、“周末”、“月末”,“电影”,“音乐”等标签。对于同一个用户,可能有多个带着不同标签的服务兴趣序列。例如,用户的第一服务兴趣序列是使用用户在周末的行为数据生成的,带有“周末”标签;用户的第二服务兴趣序列是使用用户在星期一的行为数据生成的,带有“星期一”标签;用户的第三服务兴趣序列是使用用户的观影行为数据生成的,带有“电影”标签,该第三服务兴趣序列可以包括多部电影,每个电影都是一个服务。
在向用户推荐服务时,可以根据当前情况选择具有对应标签的服务兴趣序列来预测用户使用服务的概率,以提升推荐准确性。例如,用户经常在星期五下班的时候选择打车回家,带有“星期五”标签的服务兴趣序列中会包括“打车”这一服务;今天是星期五,选择带有“星期五”标签的服务兴趣序列为用户进行服务推荐,会使得推荐结果的准确率更高。
在一个具体的例子中,用户一天的行为包括:下载自己的电子体检报告,看过之后决定去医院看诊,开车去医院的路上使用了导航服务,到了医院附近使用停车管理系统寻找车位进行停车,行走到医院使用自助挂号系统进行挂号,使用电子支付进行缴费,该电子支付从一张银行卡中划走费用,缴费后收到电子发票,将电子发票上传给保险机构以报销相关费用,用户可以使用终端设备103搭载的一个或者多个APP完成这些操作。根据这些行为发生的时间先后顺序生成用户的服务兴趣序列(A1,A2,A3,A4,A5,A6,A7,A8),该服务兴趣序列(A1,A2,A3,A4,A5,A6,A7,A8)包括A1-A8八个服务,其中,A1是体检服务,A2是导航服务,A3是停车服务,A4是挂号服务,A5是缴费服务,A6是银行卡服务,A7是发票服务,A8是保险服务。
S204、获取关于服务的知识图谱。知识图谱至少包括服务类实体的节点和其它类实体的节点。
知识图谱(Knowledge Graph),是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示“实体”,每条边为实体与实体之间的“关系”。知识图谱是表达多个实体之间联系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络。
服务类的实体,可以是挂号、体检、购票、导航、停车、缴费、保险、电影等。其他类的实体,可以是地点类实体、时间类实体、类目类实体、区域类实体等等。地点类实体例如可以是“公司”、“家”、“公交站”等。时间类实体例如可以是“星期一”、“国庆节”、“工作日”等。类目类实体例如可以是“餐饮”、“医疗”、“交通”、“教育”等。区域类的实体例如可以是“北京”、“上海”、“广州”等。
根据这些实体之间的关系将这些实体连接起来,形成了知识图谱。例如:“挂号”实体、“体检”实体可以和“医疗”实体连接,“导航”实体、“停车”实体可以和“交通”实体连接、“朝阳医院”实体可以分别和“医疗”实体、“朝阳区”实体连接。
知识图谱是基于大数据生成的,大数据可以包括多个用户的行为数据,也可以包括其他数据。例如,一个关于电影的知识图谱,可以是基于多个用户的观影数据、电影本身的信息数据、电影的评价数据生成的,电影本身的信息数据可以包括导演、演员、上映时间、国别等,电影的评价数据可以包括电影的类型、电影评分等。在一个实施例中,某个具有多项服务的超级APP的知识图谱,可以基于多个用户的使用该APP的记录生成。
参见图2所示,图2示出了一个知识图谱的一部分。该部分包括10个服务类实体的节点,10个服务分别是A1-A10,A1是体检服务,A2是导航服务,A3是停车服务,A4是挂号服务,A5是缴费服务,A6是银行卡服务,A7是发票服务,A8是保险服务,A9是打车服务,A10是天气预报服务。图2所示的部分还包括B1-B8八个其他类的实体。
S206、对于服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径。将全部第一子路径按顺序组合成第一路径。
对于服务兴趣序列中的相邻的两个服务,如果两者之间的最短关联路径有多条,可以采用以下两种方式选择一条最短关联路径作为两者之间的第一子路径。第一种方式:随机选择一条最短关联路径作为两者之间的第一子路径。第二种方式:在知识图谱中,如果某个节点同时和两者直接相连,则该节点是两者的公共直连节点。对于服务兴趣序列中的相邻的两个服务,统计其每条最短关联路径中包含的公共直连节点的数量,将公共直连节点数量最多的最短关联路径作为两者之间的第一子路径。
现在假设图2所示的是一张完整的知识图谱,以前述的服务兴趣序列(A1,A2,A3,A4,A5,A6,A7,A8)和图2所示的完整知识图谱说明生成第一路径的过程。
对于服务兴趣序列中相邻的两个服务A4和A5,从知识图谱中查找出两者之间的最短关联路径path1:A4-B4-B1-A5。即,从A4出发,最短只需要经过B4、B1就可以到达A5。将path1作为两者之间的第一子路径。
A1和A2之间的第一子路径是:A1-B5-A2。
A2和A3之间的第一子路径是:A2-B5-B1-A3。
A3和A4之间的第一子路径是:A3-B1-B4-A4。
A4和A5之间的第一子路径是:A4-B4-B1-A5。
A5和A6之间的第一子路径是:A5-B1-A3-B3-A6。
A6和A7之间的第一子路径是:A6-B6-A7。
A7和A8之间的第一子路径是:A7-B6-A8。
将全部第一子路径按顺序组合成第一路径,第一路径为:A1-B5-A2-B5-B1-A3-B1-B4-A4-B4-B1-A5-B1-A3-B3-A6-B6-A7-B6-A8。
S208、对于服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将数量插入到两者之间形成两者之间的第二子路径。将全部第二子路径按顺序组合成第二路径。
现在假设图2所示的是一张完整的知识图谱,以前述的服务兴趣序列(A1,A2,A3,A4,A5,A6,A7,A8)和图2所示的完整知识图谱说明生成第二路径的过程。
A1和A2的公共直连节点包括B5,A1和A2之间的第二子路径是:A1-1-A2。
A2和A3没有公共直连节点,A2和A3之间的第一子路径是:A2-0-A3。
A3和A4没有公共直连节点,A3和A4之间的第一子路径是:A3-0-A4。
A4和A5没有公共直连节点,A4和A5之间的第一子路径是:A4-0-A5。
A5和A6没有公共直连节点,A5和A6之间的第一子路径是:A5-0-A6。
A6和A7的公共直连节点包括B6,A6和A7之间的第一子路径是:A6-1-A7。
A7和A8的公共直连节点包括B2和B6,A7和A8之间的第一子路径是:A7-2-A8。
将全部第二子路径按顺序组合成第二路径,第二路径为:A1-1-A2-0-A3-0-A4-0-A5-0-A6-1-A7-2-A8。
S210、分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
在一个实施例中,可以预先为每个实体赋值,例如将不同实体赋值成不同的数值或者不同的向量,也就是将实体向量化或者数值化。利用实体的赋值代替实体,将第一路径和第二路径向量化或者数值化,以便于计算路径的嵌入表征。
在一个实施例中,可以基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。metapath2vec是2017年KDD(Knowledge discovery in database,国际数据挖掘大会)上提出的一种对异质网络的表示学习算法。可以将第一路径和第二路径分别输入至metapath2vec模型中,得到第一路径的嵌入表征和第二路径的嵌入表征。
在一个实施例中,通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
在一个实施例中,用户的嵌入表征(Embedding)是一个多维向量。
S212、从知识图谱中获取服务类实体的嵌入表征。
可以通过多种知识图谱嵌入算法从知识图谱中获取服务类实体的嵌入表征。在一个实施例中,可以基于metapath2vec算法从知识图谱中获取服务类实体的嵌入表征。
在一个实施例中,服务类实体的嵌入表征(Embedding)同样是一个多维向量。
S214、根据服务类实体的嵌入表征和用户的嵌入表征预测该用户使用服务的概率。
在一个实施例中,将每个服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用该服务的概率。
在一个实施例中,通过CTR(Click-Through Rate Prediction,点击率预测)算法计算用户使用服务的概率。
S216、根据用户使用服务的概率向该用户推荐服务。
预测出用户对每个服务的使用概率之后,将服务按照使用概率从高到低进行排序,将使用概率最高的服务推荐给该用户。
本说明书实施例提供了基于知识图谱的服务推荐方法。本说明书实施例提供的服务推荐方法,能够在数据稀疏的不利条件下获得较为准确地推荐效果。本说明书实施例提供的服务推荐方法,能够动态跟随用户的兴趣进行推荐。本说明书实施例提供的服务推荐方法,可以有效提升推荐的准确性。本说明书实施例提供的服务推荐方法,可以有效提升推荐的实时性。本说明书实施例提供的服务推荐方法,可以有效提升推荐的多样性。
<服务推荐装置>
参见图4所示,本说明书实施例提供的服务推荐装置700,包括以下模块:
图谱获取模块11,用于获取关于服务的知识图谱,所述知识图谱至少包括服务类实体的节点和其它类实体的节点。
图谱嵌入表征获取模块12,用于从知识图谱中获取服务类实体的嵌入表征。
序列获取模块21,用于获取用户的服务兴趣序列,服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列。
第一路径生成模块22,用于对于服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径。将全部第一子路径按顺序组合成第一路径。
第二路径生成模块23,用于对于服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将数量插入到两者之间形成两者之间的第二子路径。将全部第二子路径按顺序组合成第二路径。
用户嵌入表征获取模块24,用于分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
概率预测模块31,用于根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率。
推荐模块32,用于根据用户使用服务的概率向用户推荐服务。
可选地或者优选地,其他类实体包括下列任一或者任意组合:地点类实体、时间类实体、类目类实体。
可选地或者优选地,用户嵌入表征获取模块24,用于基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。
可选地或者优选地,用户嵌入表征获取模块24,用于通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
可选地或者优选地,概率预测模块31,用于对服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用服务的概率。
可选地或者优选地,概率预测模块32,用于通过点击率预测算法计算用户使用服务的概率。
参见图5所示,本说明书实施例提供的服务推荐装置800,包括处理器801和存储器802。存储器802中存储有指令,所述指令被处理器801执行时,实现前述任一项所述的服务推荐方法。
本说明书实施例提供的服务推荐装置,可以是服务推荐服务器。
本说明书实施例提供了基于知识图谱的服务推荐装置。本说明书实施例提供的服务推荐装置,能够在数据稀疏的不利条件下获得较为准确地推荐效果。本说明书实施例提供的服务推荐装置,能够动态跟随用户的兴趣进行推荐。本说明书实施例提供的服务推荐装置,可以有效提升推荐的准确性。本说明书实施例提供的服务推荐装置,可以有效提升推荐的实时性。本说明书实施例提供的服务推荐装置,可以有效提升推荐的多样性。
<计算机可读介质>
本说明书实施例还提供了一种计算机可读介质,其上存储有指令,所述指令被所述处理器执行时,实现前述任一项所述的服务推荐方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书的实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书的实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书实施例的各个方面。
这里参照根据本说明书实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本说明书实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种服务推荐方法,包括以下步骤:
获取关于服务的知识图谱,所述知识图谱至少包括服务类实体的节点和其它类实体的节点;
获取用户的服务兴趣序列,所述服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列;
对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径;将全部第一子路径按顺序组合成第一路径;
对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将所述数量插入到两者之间形成两者之间的第二子路径;将全部第二子路径按顺序组合成第二路径;
分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征;
从知识图谱中获取服务类实体的嵌入表征;
根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率;
根据用户使用服务的概率向用户推荐服务。
2.根据权利要求1所述的方法,所述其它 类实体包括下列任一或者任意组合:
地点类实体、时间类实体、类目类实体。
3.根据权利要求1所述的方法,基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。
4.根据权利要求1所述的方法,通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
5.根据权利要求1所述的方法,所述根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率,包括:
对服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用服务的概率。
6.根据权利要求1所述的方法,所述根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率,包括:
通过CTR算法计算用户使用服务的概率。
7.一种服务推荐装置,包括以下模块:
图谱获取模块,用于获取关于服务的知识图谱,所述知识图谱至少包括服务类实体的节点和其它类实体的节点;
序列获取模块,用于获取用户的服务兴趣序列,所述服务兴趣序列是将用户使用过的服务按照时间先后顺序排列得到的序列;
第一路径生成模块,用于对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者之间的最短关联路径作为两者之间的第一子路径;将全部第一子路径按顺序组合成第一路径;
第二路径生成模块,用于对于所述服务兴趣序列中的任意的相邻的两个服务,从知识图谱中查找出两者的公共直连节点的数量,将所述数量插入到两者之间形成两者之间的第二子路径;将全部第二子路径按顺序组合成第二路径;
用户嵌入表征获取模块,用于分别计算第一路径的嵌入表征和第二路径的嵌入表征,将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征;
图谱嵌入表征获取模块,用于从知识图谱中获取服务类实体的嵌入表征;
概率预测模块,用于根据服务类实体的嵌入表征和用户的嵌入表征预测用户使用服务的概率;
推荐模块,用于根据用户使用服务的概率向用户推荐服务。
8.根据权利要求7所述的装置,所述其它 类实体包括下列任一或者任意组合:地点类实体、时间类实体、类目类实体。
9.根据权利要求7所述的装置,所述用户嵌入表征获取模块,用于基于metapath2vec算法计算第一路径的嵌入表征和第二路径的嵌入表征。
10.根据权利要求7所述的装置,所述用户嵌入表征获取模块,用于通过池化将第一路径的嵌入表征和第二路径的嵌入表征进行融合得到用户的嵌入表征。
11.根据权利要求7所述的装置,所述概率预测模块,用于对服务类实体的嵌入表征和用户的嵌入表征进行内积运算,得到用户使用服务的概率。
12.根据权利要求7所述的装置,所述概率预测模块,用于通过点击率预测算法计算用户使用服务的概率。
13.一种服务推荐装置,包括处理器和存储器;所述存储器中存储有指令,所述指令被所述处理器执行时,实现权利要求1-6任一项所述的服务推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101986.0A CN110941768B (zh) | 2019-11-12 | 2019-11-12 | 服务推荐方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101986.0A CN110941768B (zh) | 2019-11-12 | 2019-11-12 | 服务推荐方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941768A CN110941768A (zh) | 2020-03-31 |
CN110941768B true CN110941768B (zh) | 2022-10-04 |
Family
ID=69906712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101986.0A Active CN110941768B (zh) | 2019-11-12 | 2019-11-12 | 服务推荐方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941768B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245204A (zh) * | 2019-06-12 | 2019-09-17 | 桂林电子科技大学 | 一种基于定位及知识图谱的智能推荐方法 |
CN110349650A (zh) * | 2019-07-23 | 2019-10-18 | 珠海格力电器股份有限公司 | 食材推荐方法、装置及系统 |
CN110413886A (zh) * | 2019-07-17 | 2019-11-05 | 海信集团有限公司 | 一种兴趣点展示方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9547823B2 (en) * | 2014-12-31 | 2017-01-17 | Verizon Patent And Licensing Inc. | Systems and methods of using a knowledge graph to provide a media content recommendation |
-
2019
- 2019-11-12 CN CN201911101986.0A patent/CN110941768B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245204A (zh) * | 2019-06-12 | 2019-09-17 | 桂林电子科技大学 | 一种基于定位及知识图谱的智能推荐方法 |
CN110413886A (zh) * | 2019-07-17 | 2019-11-05 | 海信集团有限公司 | 一种兴趣点展示方法及装置 |
CN110349650A (zh) * | 2019-07-23 | 2019-10-18 | 珠海格力电器股份有限公司 | 食材推荐方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
在线学习资源个性化推荐服务模型的构建;张小雪,张立国;《中国医学教育技术》;20170420;第31卷(第2期);第172-176页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110941768A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413877A (zh) | 一种资源推荐方法、装置及电子设备 | |
CN107944481B (zh) | 用于生成信息的方法和装置 | |
Figueiredo et al. | Tribeflow: Mining & predicting user trajectories | |
CN110634047B (zh) | 一种推荐房源的方法、装置、电子设备及存储介质 | |
US10902445B2 (en) | Location evaluation | |
CN111104599B (zh) | 用于输出信息的方法和装置 | |
CN110619078B (zh) | 用于推送信息的方法和装置 | |
US20180012237A1 (en) | Inferring user demographics through categorization of social media data | |
CN112182360A (zh) | 具有有限数据可用性的个性化推荐器 | |
CN111291258A (zh) | 搜索热词的推荐方法、装置、电子设备及可读介质 | |
CN110059172B (zh) | 基于自然语言理解的推荐答案的方法和装置 | |
CN111241823A (zh) | 一种依赖配置的管理方法、装置、电子设备及存储介质 | |
CN112749323A (zh) | 一种构建用户画像的方法和装置 | |
CN111782925A (zh) | 物品推荐方法、装置、设备、系统及可读存储介质 | |
CN111295652A (zh) | 将外部数据自动连接到业务分析过程 | |
CN109542743B (zh) | 日志校验方法、装置、电子设备及计算机可读存储介质 | |
US11257029B2 (en) | Pickup article cognitive fitment | |
CN110941768B (zh) | 服务推荐方法和装置 | |
EP4134898A1 (en) | Method and apparatus for pushing information | |
CN113592607A (zh) | 产品推荐方法、装置、存储介质及电子设备 | |
US9727652B2 (en) | Utilizing dependency among internet search results | |
CN111767290B (zh) | 用于更新用户画像的方法和装置 | |
CN110879863A (zh) | 跨领域搜索方法和跨领域搜索装置 | |
CN114625876B (zh) | 作者特征模型的生成方法、作者信息处理方法和装置 | |
CN110555070A (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 |