CN111125507B - 一种群组活动推荐方法、装置、服务器及计算机存储介质 - Google Patents
一种群组活动推荐方法、装置、服务器及计算机存储介质 Download PDFInfo
- Publication number
- CN111125507B CN111125507B CN201811297604.1A CN201811297604A CN111125507B CN 111125507 B CN111125507 B CN 111125507B CN 201811297604 A CN201811297604 A CN 201811297604A CN 111125507 B CN111125507 B CN 111125507B
- Authority
- CN
- China
- Prior art keywords
- activity
- user
- candidate
- preference
- group
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 634
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012163 sequencing technique Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 9
- 244000046052 Phaseolus vulgaris Species 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000013481 data capture Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007500 overflow downdraw method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种群组活动推荐方法、装置、服务器及计算机存储介质,方法包括:获取群组中的一个用户;确定用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;将各偏好组成用户对候选活动的偏好;组合群组中各用户对候选活动的偏好,获取群组对候选活动的特征组合;确定特征组合中各用户对候选活动的偏好的权重;根据群组对候选活动的特征组合、特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;根据相关度对各候选活动进行排序,得到候选活动推荐列表。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种群组活动推荐方法、装置、服务器及计算机存储介质。
背景技术
近年来,基于活动的社交网络(Event-Based Social Network,EBSN)越来越受欢迎,已成为目前最流行的网络服务之一。与传统的在线社交网络(例如Facebook)相比,EBSN不仅为用户提供了在线的交互平台,而且还为用户创建、发布线下活动,例如聚会、展览、音乐会等。通过参加线下活动,用户能够面对面地交流,从而能够为用户之间构建更加稳固的社交关系。然而,用户从EBSN上发布的海量线下活动中找到感兴趣的活动变得越来越困难,EBSN的发展为用户带来了信息过载问题。个性化的活动推荐能有效解决上述信息过载的问题,为用户推荐感兴趣的活动。
用户通常不是单独参加活动,而是以群组的形式参加活动,例如很多用户喜欢和朋友或家人一起听演唱会。由于不同的用户对活动的内容、举办时间和举办地点有不同的偏好,使得很难找到让群组中所有成员都满意的活动,因此现有的大多数活动推荐系统只能为单个用户推荐感兴趣的活动,不能为以多个用户构成的群组推荐活动。虽然可以采用一些启发式的融合策略为群组推荐活动,但是这种融合策略只适用于特定类型的群组,缺乏自适应性,例如可能只适用于家庭成员构成的群组,不适合陌生人构成的临时群组。而且启发式的融合策略使得同一个用户在不同的群组中占有相同的融合权重,但是一般同一用户在不同的群组扮演着不同的角色,因此同一用户在不同的群组中应该分别占有不同的权重,例如同一用户在家庭群组中的权重很大,但是在同事群组中的权重很小。因此,采用启发式的融合策略并不能准确地为群组推荐活动。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种群组活动推荐方法、装置、服务器及计算机存储介质,准确地为群组推荐符合群组兴趣的活动。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种群组活动推荐方法,所述方法包括:
获取群组中的一个用户;
确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;
组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;
确定所述特征组合中各用户对候选活动的偏好的权重;
根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;
根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。
进一步地,所述确定所述用户对候选活动的举办时间的偏好,包括:
获取候选活动的举办时间;
根据所述用户参与活动的记录,确定所述用户对举办时间的偏好;
根据所述候选活动的举办时间、所述用户对举办时间的偏好,确定所述用户对候选活动的举办时间的偏好。
进一步地,所述确定所述用户对候选活动的举办地的地理位置偏好,包括:
获取候选活动的举办地的地理位置;
根据所述候选活动的举办地的地理位置以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的地理位置偏好。
进一步地,所述确定所述用户对候选活动的举办地的场地偏好,包括:
获取候选活动的举办地的场地;
根据所述候选活动的举办地的场地以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的场地偏好。
进一步地,所述确定所述用户对候选活动的活动内容偏好,包括:
获取所述候选活动的活动内容;
根据所述用户参与活动的记录,确定所述用户对活动内容的偏好;
根据所述候选活动的活动内容以及所述用户对活动内容的偏好,确定所述用户对候选活动的活动内容偏好。
进一步地,所述确定所述用户对候选活动的直接社交偏好,包括:
获取所述用户的直接社交关系;
根据所述候选活动的举办方、所述用户的直接社交关系,确定所述用户对候选活动的直接社交偏好。
进一步地,所述确定所述用户对候选活动的间接社交偏好,包括:
获取所述用户的间接社交关系;
根据所述候选活动的举办方、所述用户的间接社交关系,确定所述用户对候选活动的间接社交偏好。
第二方面,本发明实施例提供一种群组活动推荐装置,所述装置包括:
获取模块,用于获取群组中的一个用户;
特征提取模块,用于确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
排序模块,用于将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;确定所述特征组合中各用户对候选活动的偏好的权重;
候选活动推荐模块,用于根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。
第三方面,本发明实施例提供一种服务器,所述服务器包括网络接口、存储器和处理器;其中,
所述网络接口,配置为实现组件之间的连接通信;
所述存储器,配置为存储能够在所述处理器上运行的计算机程序;
所述处理器,配置为在运行所述计算机程序时,执行第一方面所述任一方法。
第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被至少一个处理器执行时实现第一方面所述任一方法。
本发明实施例所提供的一种群组活动推荐方法、装置、服务器及计算机存储介质,通过获取群组中的一个用户;确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;确定所述特征组合中各用户对候选活动的偏好的权重;根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。通过确定所述特征组合中各用户对候选活动的偏好的权重,使得推荐的活动可以更加贴近于群组感兴趣的活动,提高了推荐的准确率。
附图说明
图1为本发明实施例提供的一种群组活动推荐方法的实现流程示意图一;
图2为本发明实施例提供的一种群组活动推荐系统的示意图;
图3为本发明实施例提供的一种群组活动推荐方法的实现流程示意图二;
图4为本发明实施例提供的根据豆瓣同城测试数据进行准确率计算的示意图;
图5为本发明实施例提供的根据豆瓣同城测试数据进行召回率计算的示意图;
图6为本发明实施例提供的根据Meetup测试数据进行准确率计算的示意图;
图7为本发明实施例提供的根据Meetup测试数据进行召回率计算的示意图;
图8为本发明实施例提供的一种群组活动推荐装置的结构示意图;
图9为本发明实施例提供的一种群组活动推荐装置的具体硬件结构。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一
本发明实施例提供一种群组活动推荐方法,图1为本发明实施例提供的一种群组活动推荐方法的实现流程示意图一,如图1所示,该方法主要包括以下步骤:
步骤101、获取群组中的一个用户。
步骤102、确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好。
具体地,确定所述用户对候选活动的举办时间的偏好,包括:获取候选活动的举办时间;根据所述用户参与活动的记录,确定所述用户对举办时间的偏好;根据所述候选活动的举办时间、所述用户对举办时间的偏好,确定所述用户对候选活动的举办时间的偏好。
具体地,确定所述用户对候选活动的举办地的地理位置偏好,包括:获取候选活动的举办地的地理位置;根据所述候选活动的举办地的地理位置以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的地理位置偏好。
具体地,确定所述用户对候选活动的举办地的场地偏好,包括:获取候选活动的举办地的场地;根据所述候选活动的举办地的场地以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的场地偏好。
具体地,确定所述用户对候选活动的活动内容偏好,包括:获取所述候选活动的活动内容;根据所述用户参与活动的记录,确定所述用户对活动内容的偏好;根据所述候选活动的活动内容以及所述用户对活动内容的偏好,确定所述用户对候选活动的活动内容偏好。
具体地,确定所述用户对候选活动的直接社交偏好,包括:获取所述用户的直接社交关系;根据所述候选活动的举办方、所述用户的直接社交关系,确定所述用户对候选活动的直接社交偏好。
具体地,确定所述用户对候选活动的间接社交偏好,包括:获取所述用户的间接社交关系;根据所述候选活动的举办方、所述用户的间接社交关系,确定所述用户对候选活动的间接社交偏好。
步骤103、将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好。
步骤104、组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合。
步骤105、确定所述特征组合中各用户对候选活动的偏好的权重。
步骤106、根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度。
步骤107、根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。
本发明实施例中,将获取的用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好,并组合群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合,通过特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度,可以充分利用特征组合中各用户对候选活动的偏好的不同权重,使得推荐的活动可以更加贴近于群组感兴趣的活动,提高了推荐的准确率,获得更优的推荐效果。
本发明实施例提供一种示例性的群组活动推荐系统,该群组活动推荐系统包括数据抓取模块、离线模块、候选活动推荐模块和用户界面模块,图2为本发明实施例提供的一种群组活动推荐系统的示意图,各系统模块之间的关系如图2所示,该系统包括以下模块:
1、数据抓取模块
数据抓取模块用于调用EBSN网站提供的应用程序编程接口(ApplicationProgramming Interface,API),抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,该活动信息包括:活动标题、举办时间、举办地的地理位置、举办地的场地、活动内容等,并将抓取的数据存储于数据库中。
2、离线模块
离线模块用于从数据库中获取活动信息以及用户参加活动的记录,进行群组划分和特征提取,并用贝叶斯群组排序算法训练排序模型,将训练好的排序模型的参数存储于文本文件中。该模块包括特征提取模块、排序模块:
(1)特征提取模块:从数据库中读取活动信息和用户参加活动的记录,并根据活动信息和用户参加活动的记录,提取排序模块所需要的特征,如用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好等。
(2)排序模块:根据特征提取模块获取的特征建立训练样本,基于贝叶斯群组排序方法对排序模型进行训练,以调整排序模型的参数,使得排序模型尽可能符合用户的个性化需求。
3、候选活动推荐模块
候选活动推荐模块用于通过用户界面模块获取群组发送的活动推荐请求,根据当前时间从数据库中读取候选活动信息,获取特征提取模块中提取的特征,从排序模块中读取排序模型参数,计算计算群组与候选活动的相关度,并根据相关度对各候选活动降序排序,得到候选活动推荐列表,并将前K个候选活动返回给用户界面,其中K为大于0的自然整数。
4、用户界面模块
用户界面模块用于获取用户单击操作,向候选活动推荐模块发送活动推荐请求,以一定格式显示活动推荐列表,例如展示活动标题、举办时间和举办地点等。通过用户点击活动标题操作可打开活动介绍页面,展示更详细的活动信息。
实施例二
本发明实施例提供一种群组活动推荐方法,图3为本发明实施例提供的一种群组活动推荐方法的实现流程示意图二,如图3所示,该方法主要包括以下步骤:
步骤301、获取群组中的一个用户。
需要说明的是,群组是由多个用户组成的一个集合,例如群组1是由家庭成员组成的,群组2是由多个同事组成的。通过解析群组Ug,可以获取群组中的一个用户u,群组Ug表示为Ug={u1,u2,...,um},m表示群组Ug中的用户数量。
步骤302、根据候选活动的举办时间、用户对举办时间的偏好,确定用户对候选活动的举办时间的偏好。
需要说明的是,若用户曾经参与在某一举办时间举办的活动越多,则说明用户对该举办时间越满意,也就是用户对该举办时间的偏好越高,也会更倾向于参与在该举办时间举办的候选活动。因此,可以根据候选活动的举办时间、用户对举办时间的偏好,确定用户对候选活动的举办时间的偏好。其中,候选活动是指即将举办的活动,也就是举办时间还未截止的活动。
具体地,在本实施例中,为了确定用户对候选活动的举办时间的偏好,需要获取候选活动的举办时间、用户对举办时间的偏好,因此,步骤302包括下述步骤:
步骤302a、获取候选活动的举办时间。
需要说明的是,在确定用户对候选活动的举办时间的偏好前,需要获取至少一个候选活动的举办时间,本实施例主要从发布的活动信息中提取候选活动的举办时间。
关于候选活动的举办时间具体如下,获取的候选活动的举办时间tc表示候选活动c的时间向量,其中tc为7*24维的时间向量,如果候选活动c在一周的第i天的第j个小时举办,则tc的第i*j个元素值为1,其他元素值为0。
步骤302b、根据用户参与活动的记录,获取用户对举办时间的偏好。
这里,由于不同的用户对举办时间的偏好不同,也就是不同的用户对参与活动的举办时间可能具有不同的喜好,可以根据用户参与活动的记录,确定用户对举办时间的偏好。
关于用户对举办时间的偏好具体如下,任一活动C的举办时间t表示7*24维的时间向量,如果活动在一周的第i天的第j个小时举办,则t的第i*j个元素值为1,其他元素值为0。用户u的时间向量,即用户对举办时间的偏好tu也是7*24维的时间向量,其计算公式如式(1):
其中,C表示所有活动,cj表示所有活动C中的一个活动,Cu表示根据用户参与活动记录获取的用户u参与过的活动集合,ci表示活动集合Cu中的一个活动,由于在周末和晚上举办的活动比其他时间举办的活动多,因此活动举办时间的分布不是均匀的,通过式(1)中的对数部分为流行的活动举办时间(比如周末和晚上)分配较低的权重,可以解决活动举办时间不均匀的问题。
步骤302c、确定用户对候选活动的举办时间的偏好。
这里,根据步骤302a中获取的候选活动的举办时间以及步骤302b中获取的用户对举办时间的偏好,可以确定用户对候选活动的举办时间的偏好。结合候选活动的举办时间和用户对举办时间的偏好,可以计算出用户对候选活动的举办时间的偏好,其计算公式如式(2):
其中,tc表示候选活动c的时间向量,也就是候选活动c的举办时间,tu表示用户对举办时间的偏好,||·||表示向量的模,ST(u,c)表示用户对候选活动的举办时间的偏好。
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的举办时间的偏好,特征提取模块可通过数据库获取候选活动的举办时间、用户对举办时间的偏好,并确定用户对候选活动的举办时间的偏好。
步骤303、根据候选活动的举办地的地理位置以及用户参与活动的记录,确定用户对候选活动的举办地的地理位置偏好。
需要说明的是,若用户曾经参与在某一举办地的地理位置举办的活动越多,则说明用户对该举办地的地理位置越满意,也就是用户对该举办地的地理位置的偏好越高,也会更倾向于参与在该举办地的地理位置举办的候选活动。因此,首先获取候选活动的举办地的地理位置,本实施例主要从发布的活动信息中提取候选活动的举办地的地理位置,然后可以根据候选活动的举办地的地理位置以及用户参与活动的记录,确定用户对候选活动的举办地的地理位置偏好。
关于用户对候选活动的举办地的地理位置偏好具体如下,采用核密度估计对用户的地理位置偏好建模,确定用户对候选活动的地理位置偏好,其计算公式如式(3):
其中,SL(u,c)表示用户对候选活动的地理位置偏好,Lu表示根据用户参与活动的记录获取的用户u参与过的活动的举办地集合,li表示举办地集合Lu中的一个举办地,n表示Lu中举办地的数量,lc表示获取的候选活动c的举办地的地理位置,该地理位置表示为一个二维向量,二维向量中第一维数据表示候选活动c的举办地的纬度,第二维数据表示候选活动c的举办地的经度,h表示核密度估计的带宽,其计算公式如式(4):
其中,H表示Lu的边缘标准差。
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的举办地的地理位置偏好,特征提取模块可通过数据库获取候选活动的举办地的地理位置、用户参与活动的记录,并确定用户对候选活动的举办地的地理位置偏好。
步骤304、根据候选活动的举办地的场地以及用户参与活动的记录,确定用户对候选活动的举办地的场地偏好。
需要说明的是,除了地理位置因素,举办地的其他因素,比如,容纳人数、设备、环境等,也会影响用户选择候选活动。若用户曾经参与在某一举办地举办的活动越多,则说明用户对该举办地的场地越满意,也就是用户对该举办地的场地偏好越高,也会更倾向于参与在该举办地的场地举办的候选活动。因此,首先获取候选活动的举办地的场地,本实施例主要从发布的活动信息中提取候选活动的举办地的场地,然后可以根据候选活动的举办地的场地以及用户参与活动的记录,确定用户对候选活动的举办地的场地偏好,用户对候选活动的举办地的场地偏好,其计算公式如式(5):
其中,SV(u,c)表示用户对候选活动的举办地的场地偏好,Cu表示根据用户参与活动记录获取的用户u参与过的活动集合,c′表示活动集合Cu中的一个活动,C表示所有活动,c″表示所有活动C中的一个活动,vc表示候选活动的举办地,可以是候选活动的举办地的ID,vc′表示活动c′的举办地的场地,vc″表示活动c″的举办地的场地,f(vc′,vc)表示指示函数,具体的计算公式如式(6):
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的举办地的场地偏好,特征提取模块可通过数据库获取候选活动的举办地的场地以及用户参与活动的记录,并确定用户对候选活动的举办地的场地偏好。
步骤305、根据候选活动的活动内容以及用户参与活动的记录,确定用户对候选活动的活动内容偏好。
需要说明的是,现有的活动推荐方法需要依赖用户对候选活动的反馈数据(如评分、点击、浏览等)进行活动推荐。由于活动的生命周期较短,用户只能在活动发布到活动结束这段时间内给出反馈,仅根据用户对候选活动的反馈数据,难以生成准确的活动推荐。由于每个候选活动都有活动内容的描述,且并不需要依赖于候选活动的反馈数据,因此基于活动内容进行活动推荐可有效缓解上述问题。通过获取候选活动的活动内容以及用户对活动内容的偏好,可以确定用户对候选活动的活动内容偏好,因此,步骤305包括下述步骤:
步骤305a、获取候选活动的活动内容。
需要说明的是,在确定用户对候选活动的活动内容的偏好前,需要获取候选活动的活动内容,本实施例主要从发布的活动信息中提取候选活动的活动内容。
关于候选活动的活动内容具体如下,根据描述候选活动的文本提取候选活动的活动内容,采用开源工具word2vec提供的词嵌入技术将活动描述文本中的每个单词w表示成一个K维单词向量zw,根据单词向量可以构建候选活动的活动内容qc,qc也就是候选活动的语义信息,其计算公式如式(7):
其中,Wc表示候选活动的活动内容中所有单词的集合,w表示单词集合Wc中的一个单词,|Wc|表示候选活动的活动内容中所有单词的数目,qc表示候选活动的活动内容。
步骤305b、根据用户参与活动的记录,获取用户对活动内容的偏好。
这里,通过用户参与活动的记录,可以获取用户对活动内容的偏好。根据任一活动的活动内容,以及用户参与活动的记录,获取用户对活动内容的偏好,其计算公式如式(8):
其中,Cu表示根据用户参与活动记录获取的用户u参与过的活动集合,ci表示活动集合Cu中的一个活动,qC表示任一活动C的活动内容,pu表示用户对活动内容的偏好。
步骤305c、确定用户对候选活动的活动内容的偏好。
这里,根据步骤305a中获取的候选活动的活动内容以及步骤305b中获取的用户对活动内容的偏好,可以确定用户对候选活动的活动内容的偏好。结合候选活动的活动内容和用户对活动内容的偏好,可以计算出用户对候选活动的活动内容的偏好,其计算公式如式(9):
其中,qc表示候选活动的活动内容,pu表示用户对活动内容的偏好,SC(u,c)表示用户对候选活动的活动内容的偏好。
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的活动内容的偏好,特征提取模块可通过数据库获取候选活动的活动内容以及用户参与活动的记录,并确定用户对候选活动的活动内容的偏好。
步骤306、根据候选活动的举办方、用户的直接社交关系,确定用户对候选活动的直接社交偏好。
需要说明的是,在EBSN中,存在多种社交关系,包括直接社交关系和间接社交关系。如果用户关注了某个举办方,那么该用户很可能会参加该举办方举办的活动,这种情况被称为直接社交关系,直接社交关系也就是用户对举办方的关注度。因此,首先获取用户的直接社交关系,本实施例主要从用户关注列表中提取用户的直接社交关系,然后通过候选活动的举办方、用户的直接社交关系,可以确定用户对候选活动的直接社交偏好,其计算公式如式(10):
其中,ou表示根据用户的直接社交关系获取的用户关注的举办方集合,o表示举办方集合ou中的一个举办方,oc表示候选活动的举办方,f(o,oc)表示指示函数,SDS(u,c)表示用户对候选活动的直接社交偏好。
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的直接社交偏好,特征提取模块可通过数据库获取候选活动的举办方、用户的直接社交关系,并确定用户对候选活动的直接社交偏好。
步骤307、根据候选活动的举办方、用户的间接社交关系,确定用户对候选活动的间接社交偏好。
需要说明的是,在EBSN中,如果用户曾经经常参加某个举办方举办的活动,无论用户是否关注该举办方,那么该用户很可能会参加该举办方举办的活动,这种情况被称为间接社交关系,间接社交关系也就是根据用户参与活动记录获取的用户参与过的举办方举办的活动。因此,首先获取用户的间接社交关系,本实施例主要从用户参与活动记录中提取用户的间接社交关系,然后通过候选活动的举办方、用户的间接社交关系,可以确定用户对候选活动的间接社交偏好,其计算公式如式(11):
其中,Cu表示根据用户参与活动记录获取的用户u参与过的活动集合,c′表示活动集合Cu中的一个活动,oc表示候选活动的举办方,oc′表示用户u参与过的活动的举办方,f(oc′,oc)表示指示函数,SIS(u,c)表示用户对候选活动的间接社交偏好。
示例性的,如图2所示,数据抓取模块抓取EBSN网站上发布的活动信息、用户关注列表以及用户参与活动的记录,并将抓取的数据存储于数据库中后,为了获取用户对候选活动的间接社交偏好,特征提取模块可通过数据库获取候选活动的举办方、用户的间接社交关系,并确定用户对候选活动的间接社交偏好。
步骤308、将用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好。
这里,对任一候选活动可获得用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好,并将特征用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成特征向量,生成用户对候选活动的偏好Suc,用户对候选活动的偏好表示为Suc={ST(u,c),SL(u,c),SV(u,c),SC(u,c),SDS(u,c),SIS(u,c)},其中ST(u,c)表示用户对候选活动的举办时间的偏好,SL(u,c)表示用户对候选活动的地理位置偏好,SV(u,c)表示用户对候选活动的举办地的场地偏好,SC(u,c)表示用户对候选活动的活动内容的偏好,SDS(u,c)表示用户对候选活动的直接社交偏好,SIS(u,c)表示用户对候选活动的间接社交偏好。
以上步骤301-308是获取群组中的一个用户对候选活动的相关偏好,为了获取群组中各用户对候选活动的相关偏好,需要重复执行步骤301-308,直至获取群组中每个用户对候选活动的相关偏好,才继续执行步骤309。
步骤309、组合群组中各用户对候选活动的偏好,获取群组对候选活动的特征组合。
需要说明的是,获取用户对候选活动的偏好后,将群组中各用户对候选活动的偏好进行组合,生成群组Ug对候选活动的特征组合xgc,群组Ug对候选活动的特征组合表示为其中ui∈Ug,m表示群组Ug中的用户数量。
步骤310、确定特征组合中各用户对候选活动的偏好的权重。
需要说明的是,本实施例可以根据特征组合建立一个排序模型,并利用训练样本以及基于排序学习的方法对排序模型进行训练,从而获得排序模型的模型参数集合,也就是特征组合中各用户对候选活动的偏好的权重,各用户对候选活动的偏好的权重可能不相同,其中,训练样本包括至少一个群组中的用户参与过的活动。
与启发式融合策略相比,基于排序学习的方法可以根据群组中用户参与活动的记录自动地为群组中的每一个用户分配权重,也就是为特征组合中各用户对候选活动的偏好分配权重。而且通过贝叶斯群组排序(Bayesian Group Ranking,BGR)方法能够为不同的群组训练不同的排序模型,使得用户在不同的群组中被分配不同的权重,其中贝叶斯群组排序方法是一种基于排序学习的方法。
根据群组对候选活动的特征组合,建立排序模型,如式(12):
/>
其中,θg表示排序模型的模型参数,也就是需要确定的特征组合中各用户对候选活动的偏好的权重,是一个与xgc相同维度的实值向量,xgc表示群组Ug对候选活动的特征组合,fg(c)表示群组Ug与活动c的相关度。贝叶斯群组排序方法是通过最大化排序模型的对数似然,以获取排序模型中的参数,其计算公式如式(13):
其中,Θ={θ1,θ2,…,θm}表示排序模型中所有模型参数的集合,m表示群组中的用户数量,δ(x)=(1+e-x)-1,λ表示惩罚系数,可以设置为0.02,||θg||2表示向量θg的2-范数,DS表示贝叶斯群组排序的训练集,训练集中每个训练样本表示为一个三元组分别表示群组对活动ci、活动cj的特征组合。其中公式(13)还需要满足一个约束条件,即群组与活动ci的相关系数大于群组与活动cj的相关系数,群组与活动的相关系数的计算公式如式(14):
其中,如果c∈Cu,则如果/>则/>ygc表示群组Ug与活动c的相关系数。
采用随机梯度下降算法优化排序模型的模型参数。首先,随机初始化模型参数Θ,可以任取(0,1)范围内的实数,作为θ1,θ2,…,θm的初始值。然后,从训练集中随机选择一个训练样本,通过公式(15)更新排序模型的模型参数,直到θ1,θ2,…,θm收敛,即当前迭代的对数似然值与上次迭代的对数似然值的差值很小,例如当前迭代的对数似然值与上次迭代的对数似然值的差值小于0.01,收敛后的模型参数θ1,θ2,…,θm即为特征组合中各用户对候选活动的偏好的权重。
其中,α为学习率,用于控制每次更新的幅度,避免模型训练过程中参数过快收敛、上下抖动,公式(15)左边的θg为当前迭代的θg值,公式(15)右边θg为上次迭代的θ1,θ2,…,θm值,θg为θ1,θ2,…,θm中任一值。
示例性的,如图2所示,当特征提取模块提取到各特征后,为了确定特征组合中各用户对候选活动的偏好的权重,可通过排序模块基于贝叶斯群组排序方法对排序模型进行训练,以调整排序模型的参数,从而获取特征组合中各用户对候选活动的偏好的权重。
步骤311、根据群组对候选活动的特征组合、特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度。
需要说明的是,将排序模型进行模型训练后,获得了模型中的各参数,也就是特征组合中各用户对候选活动的偏好的权重,再根据群组对候选活动的特征组合,利用公式(12)就可以确定群组与候选活动的相关度。
示例性的,如图2所示,通过排序模块调整排序模型的参数,获取特征组合中各用户对候选活动的偏好的权重后,可通过候选活动模块获取群组与候选活动的相关度。
步骤312、根据相关度对各候选活动进行排序,得到候选活动推荐列表。
这里,可根据相关度对各候选活动的进行降序排序,得到候选活动推荐列表,并将候选活动推荐列表中的候选活动按顺序推荐给群组,或者按顺序进行显示,使得推荐的活动可以更加贴近于群组兴趣的活动,去除群组不感兴趣的活动,提高了推荐的准确率,获得更优的推荐效果。
示例性的,如图2所示,通过候选活动模块获取群组与候选活动的相关度后,可根据相关度对各候选活动进行排序,得到候选活动推荐列表,并将候选活动推荐列表发送给用户界面模块,按一定格式展示给群组。
以一种群组活动推荐系统为例,从豆瓣同城网站上获取2016年9月至2016年12月期间在北京市举办的活动数据以及用户参加活动的记录。如果已针对用户属性建立了群组,如针对某一用户,群组1是由该用户及该用户的家庭成员组成的,群组2是由该用户及该用户的多个同事组成的;如果当前还未形成群组,则通过用户相似度,将用户相似度超过平均相似度的用户加入群组,得到2人组、3人组、4人组、5人组和6人组各2000个。将2016年9月至2016年11月举办的活动数据和用户参加活动的记录作为训练数据,2016年12月举办的活动的活动数据和用户参加活动的记录作为测试数据,采用基于贝叶斯群组排序方法从训练数据中提取特征并训练排序模型,根据测试数据中的活动数据为群组推荐在2016年12月举办的活动,活动推荐列表长度限制为20。
此外,获取Meetup.com网站上公开可用的Meetup数据集,提取2013年1月至2014年6月在美国芝加哥市举行的活动信息及其用户参与记录。将2013年1月至12月举办的活动的活动数据和用户参加活动的记录作为训练数据,2014年1月至6月举办的活动数据和用户参加活动的记录作为测试数据,采用基于贝叶斯群组排序方法从训练数据中提取特征并训练排序模型,根据测试数据中的活动数据为群组推荐在2014年1月至6月举办的活动,推荐列表长度限制为20。
群组活动推荐的流程如下:
1、输入数据
在群组活动推荐系统中输入训练数据,例如输入训练数据包含1146个用户参加1050个活动的记录和该1050个活动的活动信息,如举办时间、举办地的地理位置、举办地的场地、活动内容等。表1表示训练数据中的部分用户参加活动的记录:
表1
用户 | 活动 |
95890261 | 27638592 |
2139716 | 27657343 |
151382353 | 26504766 |
152100967 | 26504766 |
表2表示训练数据中部分活动信息:
表2
表3表示训练样本中部分群组信息:
表3
群组 | 群组成员 |
1 | 95890261,2139716 |
2 | 151382353,152100967,152100910 |
3 | 48683353,148516243,26493886,55819669 |
4 | 153679276,153320125,153678958,152556847,153025157 |
基于贝叶斯群组排序方法从训练数据中提取特征并训练排序模型后,在群组活动推荐系统中输入测试数据,以便根据测试数据输出活动推荐列表。
2、输出活动推荐列表
在群组活动推荐系统中输入测试数据后,群组活动推荐系统根据输入的测试数据中的活动信息输出活动推荐列表,表4表示群组的部分活动推荐列表:
表4
/>
表5表示针对表4中群组1的活动推荐列表中的部分活动的详细信息:
表5
由于现有技术中并没有关于群组活动推荐的技术,本发明实施例分别采用均值策略、最小痛苦策略和最大满足策略的融合策略为群组生成活动推荐列表(用于测试本发明实施例群组活动推荐方法的测试技术),并将采用均值策略、最小痛苦策略、最大满足策略和本发明实施例群组活动推荐方法输出的活动推荐列表与测试数据中的用户参加活动的记录进行准确率以及召回率的计算,其中测试数据是豆瓣同城2016年12月举办的活动的活动数据和用户参加活动的记录或者Meetup.com网站上2014年1月至6月举办的活动的活动数据和用户参加活动的记录。分别采用均值策略、最小痛苦策略、最大满足策略和本发明实施例群组活动推荐方法根据豆瓣同城测试数据进行准确率的计算,无论活动推荐列表长度是5、10、15或20个活动,相对于均值策略、最小痛苦策略、最大满足策略的准确率,本发明实施例群组活动推荐方法的准确率是最高的,如图4所示。分别采用均值策略、最小痛苦策略、最大满足策略和本发明实施例群组活动推荐方法根据豆瓣同城测试数据进行召回率的计算,无论活动推荐列表长度是5、10、15或20个活动,相对于均值策略、最小痛苦策略、最大满足策略的召回率,本发明实施例群组活动推荐方法的召回率是最高的,如图5所示。分别采用均值策略、最小痛苦策略、最大满足策略和本发明实施例群组活动推荐方法根据Meetup测试数据进行准确率的计算,其中Meetup测试数据为在Meetup.com网站上获取的活动信息以及用户参加活动的记录的数据的集合,无论活动推荐列表长度是5、10、15或20个活动,相对于均值策略、最小痛苦策略、最大满足策略的准确率,本发明实施例群组活动推荐方法的准确率是最高的,如图6所示。均值策略、最小痛苦策略、最大满足策略和本发明实施例群组活动推荐方法根据Meetup测试数据进行召回率的计算,无论活动推荐列表长度是5、10、15或20个活动,相对于均值策略、最小痛苦策略、最大满足策略的召回率,本发明实施例群组活动推荐方法的召回率是最高的,如图7所示。由图4、5、6、7可知,本发明实施例群组活动推荐方法根据豆瓣同城测试数据和Meetup测试数据获得的群组活动推荐的准确率和召回率均优于现有的均值策略、最小痛苦策略、最大满足策略。
关于时间复杂度的描述如下,I表示排序模型的迭代次数,K表示特征组合的维度,也就是群组中各用户对候选活动的偏好的维度,则本实施例基于贝叶斯群组排序(BGR)方法的时间复杂度为O(IK)。由于本发明实施例中排序模型的迭代次数小于现有训练数据规模,特征组合的维度小于现有训练数据样本的数量,则基于贝叶斯群组排序方法的时间复杂度低于现有的AdaRank排序学习方法、RankSVM排序学习方法、ListNet排序学习方法、LambdaMart排序学习方法。在豆瓣数据集上采用本发明实施例基于贝叶斯群组排序方法、现有的AdaRank排序学习方法、现有的RankSVM排序学习方法、现有的ListNet排序学习方法、现有的LambdaMart排序学习方法,由于本发明实施例基于贝叶斯群组排序方法的时间复杂度相对于现有的AdaRank排序学习方法、RankSVM排序学习方法、ListNet排序学习方法、LambdaMart排序学习方法比较低,因此本发明实施例基于贝叶斯群组排序方法的运行时间比较短,如表6所示:
表6
排序方法 | 时间(秒) |
BGR | 1.78 |
RankSVM | 2.33 |
AdaRank | 5.22 |
LambdaMart | 20.35 |
ListNet | 150.26 |
在豆瓣同城数据集上,通过群组活动推荐方法、均值策略、最小痛苦策略和最大满足策略的融合方法进行活动推荐。与均值策略、最小痛苦策略和最大满足策略的融合方法相比,群组活动推荐方法运行时间最短,如表7所示:
表7
方法 | 时间(秒) |
群组活动推荐方法 | 62.11 |
均值策略 | 291 |
最小痛苦策略 | 353.52 |
最大满足策略 | 340.87 |
实施例三
基于实施例一的同一发明构思,本发明实施例提供一种群组活动推荐装置,图8为本发明实施例提供的一种群组活动推荐装置的结构示意图,如图8所示,所述群组活动推荐装置800包括:
获取模块801,用于获取群组中的一个用户;
特征提取模块802,用于确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
排序模块803,用于将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;确定所述特征组合中各用户对候选活动的偏好的权重;
候选活动推荐模块804,用于根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。
在其他实施例中,所述特征提取模块802还用于获取候选活动的举办时间;根据所述用户参与活动的记录,确定所述用户对举办时间的偏好;根据所述候选活动的举办时间、所述用户对举办时间的偏好,确定所述用户对候选活动的举办时间的偏好。
在其他实施例中,所述特征提取模块802还用于获取候选活动的举办地的地理位置;根据所述候选活动的举办地的地理位置以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的地理位置偏好。
在其他实施例中,所述特征提取模块802还用于获取候选活动的举办地的场地;根据所述候选活动的举办地的场地以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的场地偏好。
在其他实施例中,所述特征提取模块802还用于获取所述候选活动的活动内容;根据所述用户参与活动的记录,确定所述用户对活动内容的偏好;根据所述候选活动的活动内容以及所述用户对活动内容的偏好,确定所述用户对候选活动的活动内容偏好。
在其他实施例中,所述特征提取模块802还用于获取所述用户的直接社交关系;根据所述候选活动的举办方、所述用户的直接社交关系,确定所述用户对候选活动的直接社交偏好。
在其他实施例中,所述特征提取模块802还用于获取所述用户的间接社交关系;根据所述候选活动的举办方、所述用户的间接社交关系,确定所述用户对候选活动的间接社交偏好。
在本发明实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品、计算机程序的形式体现出来,该计算机程序存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本发明实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现上述实施例一或实施例二所述的步骤。
参见图9,示出了本发明实施例提供的一种服务器900的具体硬件结构,包括:网络接口901、存储器902和处理器903;各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。其中,
其中,所述网络接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器902,用于存储能够在处理器903上运行的计算机程序;
处理器903,用于在运行所述计算机程序时,执行:
获取群组中的一个用户;
确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;
组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;
确定所述特征组合中各用户对候选活动的偏好的权重;
根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;
根据所述相关度对各候选活动进行排序,得到候选活动推荐列表。
可以理解,本发明实施例中的存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Sync Link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的方法的存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器903可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器903可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器903读取存储器902中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
Claims (10)
1.一种群组活动推荐方法,其特征在于,所述方法包括:
获取群组中的一个用户;
确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;
组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;
确定所述特征组合中各用户对候选活动的偏好的权重;
根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;
根据所述相关度对各候选活动进行排序,得到候选活动推荐列表;其中,
所述确定所述特征组合中各用户对候选活动的偏好的权重,包括:
根据所述特征组合建立排序模型,并利用训练样本以及基于排序学习的方法对所述排序模型进行训练,获得训练后的所述排序模型的模型参数集合,将所述模型参数集合作为所述特征组合中各用户对候选活动的偏好的权重。
2.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的举办时间的偏好,包括:
获取候选活动的举办时间;
根据所述用户参与活动的记录,确定所述用户对举办时间的偏好;
根据所述候选活动的举办时间、所述用户对举办时间的偏好,确定所述用户对候选活动的举办时间的偏好。
3.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的举办地的地理位置偏好,包括:
获取候选活动的举办地的地理位置;
根据所述候选活动的举办地的地理位置以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的地理位置偏好。
4.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的举办地的场地偏好,包括:
获取候选活动的举办地的场地;
根据所述候选活动的举办地的场地以及所述用户参与活动的记录,确定所述用户对候选活动的举办地的场地偏好。
5.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的活动内容偏好,包括:
获取所述候选活动的活动内容;
根据所述用户参与活动的记录,确定所述用户对活动内容的偏好;
根据所述候选活动的活动内容以及所述用户对活动内容的偏好,确定所述用户对候选活动的活动内容偏好。
6.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的直接社交偏好,包括:
获取所述用户的直接社交关系;
根据所述候选活动的举办方、所述用户的直接社交关系,确定所述用户对候选活动的直接社交偏好。
7.根据权利要求1所述的方法,其特征在于,所述确定所述用户对候选活动的间接社交偏好,包括:
获取所述用户的间接社交关系;
根据所述候选活动的举办方、所述用户的间接社交关系,确定所述用户对候选活动的间接社交偏好。
8.一种群组活动推荐装置,其特征在于,所述装置包括:
获取模块,用于获取群组中的一个用户;
特征提取模块,用于确定所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好;
排序模块,用于将所述用户对候选活动的举办时间的偏好、举办地的地理位置偏好、举办地的场地偏好、活动内容偏好、直接社交偏好、间接社交偏好组成用户对候选活动的偏好;组合所述群组中各用户对候选活动的偏好,获取所述群组对候选活动的特征组合;确定所述特征组合中各用户对候选活动的偏好的权重;
候选活动推荐模块,用于根据所述群组对候选活动的特征组合、所述特征组合中各用户对候选活动的偏好的权重,确定群组与候选活动的相关度;根据所述相关度对各候选活动进行排序,得到候选活动推荐列表;其中,
所述确定所述特征组合中各用户对候选活动的偏好的权重,包括:
根据所述特征组合建立一个排序模型,并利用训练样本以及基于排序学习的方法对所述排序模型进行训练,获得训练后的所述排序模型的模型参数集合,将所述模型参数集合作为所述特征组合中各用户对候选活动的偏好的权重。
9.一种服务器,其特征在于,所述服务器包括网络接口、存储器和处理器;其中,
所述网络接口,配置为实现组件之间的连接通信;
所述存储器,配置为存储能够在所述处理器上运行的计算机程序;
所述处理器,配置为在运行所述计算机程序时,执行权利要求1至7任一项所述方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,当所述计算机程序被至少一个处理器执行时实现如权利要求1至7中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811297604.1A CN111125507B (zh) | 2018-11-01 | 2018-11-01 | 一种群组活动推荐方法、装置、服务器及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811297604.1A CN111125507B (zh) | 2018-11-01 | 2018-11-01 | 一种群组活动推荐方法、装置、服务器及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125507A CN111125507A (zh) | 2020-05-08 |
CN111125507B true CN111125507B (zh) | 2023-07-21 |
Family
ID=70494959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811297604.1A Active CN111125507B (zh) | 2018-11-01 | 2018-11-01 | 一种群组活动推荐方法、装置、服务器及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125507B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691977A (zh) * | 2020-12-30 | 2022-07-01 | 北京鸿享技术服务有限公司 | 活动信息推荐方法、设备、存储介质及装置 |
CN114691976A (zh) * | 2020-12-30 | 2022-07-01 | 北京鸿享技术服务有限公司 | 活动推荐方法、设备、存储介质及装置 |
CN113239289B (zh) * | 2021-05-28 | 2022-08-30 | 山东大学 | 一种群组活动推荐方法、系统、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639911A (zh) * | 2008-07-31 | 2010-02-03 | 富士通株式会社 | 宴会场所推荐装置及程序 |
CN101874255A (zh) * | 2005-05-27 | 2010-10-27 | 佩斯微技术有限公司 | 一种估计一个用户组对一个内容的总体兴趣度的方法和设备 |
CN102855333A (zh) * | 2012-09-27 | 2013-01-02 | 南京大学 | 一种基于组推荐的服务选取系统及其选取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238370A1 (en) * | 2012-03-06 | 2013-09-12 | Immersonal, Inc. | Event planning and management system |
-
2018
- 2018-11-01 CN CN201811297604.1A patent/CN111125507B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101874255A (zh) * | 2005-05-27 | 2010-10-27 | 佩斯微技术有限公司 | 一种估计一个用户组对一个内容的总体兴趣度的方法和设备 |
CN101639911A (zh) * | 2008-07-31 | 2010-02-03 | 富士通株式会社 | 宴会场所推荐装置及程序 |
CN102855333A (zh) * | 2012-09-27 | 2013-01-02 | 南京大学 | 一种基于组推荐的服务选取系统及其选取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111125507A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210329094A1 (en) | Discovering signature of electronic social networks | |
US10176199B2 (en) | Auto tagging in geo-social networking system | |
CN110223186B (zh) | 用户相似度确定方法以及信息推荐方法 | |
US9436695B2 (en) | Dynamically expiring crowd-sourced content | |
CN111125507B (zh) | 一种群组活动推荐方法、装置、服务器及计算机存储介质 | |
US20120324393A1 (en) | Network based electronic book usage tracking system and method | |
US20070239610A1 (en) | Methods, systems and apparatus for displaying user generated tracking information | |
US9270778B1 (en) | Matching users based on behavior in a social network | |
CN103119620A (zh) | 基于推测的社会关系的行为建议 | |
CN105190683A (zh) | 照片的提示共享 | |
CN103412951A (zh) | 基于人物照片的人脉关联分析管理系统与方法 | |
JP7155248B2 (ja) | 記憶の協調的回想の適応提示のためのキュー・データ・モデルの実装 | |
CN110209931B (zh) | 媒体内容的推送方法和装置、存储介质、电子装置 | |
US20170351769A1 (en) | System and Method for a Platform to Identify and Connect Like-Minded Individuals Based on Interaction | |
CN112989179B (zh) | 模型训练、多媒体内容推荐方法和装置 | |
JP6970641B2 (ja) | 感情推測方法、感情推測装置及びプログラム | |
US20140280216A1 (en) | Automated ranking of contributors to a knowledge base | |
CN111143700B (zh) | 一种活动推荐方法、装置、服务器及计算机存储介质 | |
CN115545349B (zh) | 基于属性敏感交互的时序社交媒体流行度预测方法及装置 | |
CN116680480A (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
JP7231192B2 (ja) | コミュニティの活性度測定方法、コミュニティの成熟度測定方法及びコミュニティの活性度測定プログラム | |
CN113676505B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN118093678B (zh) | 一种互联网媒体中信息曝光率的测量方法及装置 | |
CN117556149B (zh) | 资源推送方法、装置、电子设备和存储介质 | |
CN117591751B (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 |