CN112558842B - 推荐群组成员的方法、装置、电子设备和介质 - Google Patents
推荐群组成员的方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN112558842B CN112558842B CN202011513405.7A CN202011513405A CN112558842B CN 112558842 B CN112558842 B CN 112558842B CN 202011513405 A CN202011513405 A CN 202011513405A CN 112558842 B CN112558842 B CN 112558842B
- Authority
- CN
- China
- Prior art keywords
- members
- feature vector
- candidate
- group
- contact
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开公开了一种推荐群组成员的方法、装置、设备、介质和产品,涉及深度学习、自然语言理解等领域。推荐群组成员的方法包括:接收针对群组的成员添加操作;响应于接收到成员添加操作,从联系人列表中确定候选成员,其中,联系人列表中包括针对群组的已选成员的联系人;输出候选成员。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及深度学习、自然语言理解等领域,更具体地,涉及一种推荐群组成员的方法、推荐群组成员的装置、电子设备、介质和程序产品。
背景技术
在用户使用即时通讯软件进行交流时,用户通常需要选择多个联系人来组成群组,便于和群组中的成员进行沟通交流。但是,相关技术在用户选择联系人组成群组时,通常依赖于用户手动查找联系人,以将所查找的联系人添加至群组中。在查找联系人时,通常通过从所有联系人中进行一一筛选,或者输入联系人的姓名、账号来进行查找,导致查找过程繁琐,查找效率较低。
发明内容
本公开提供了一种推荐群组成员的方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种推荐群组成员的方法,包括:接收针对群组的成员添加操作;响应于接收到所述成员添加操作,从联系人列表中确定候选成员,其中,所述联系人列表中包括针对所述群组的已选成员的联系人;以及,输出所述候选成员。
根据本公开的另一方面,提供了一种推荐群组成员的装置,包括:接收模块、第一确定模块以及输出模块。其中,接收模块用于接收针对群组的成员添加操作。第一确定模块用于响应于接收到所述成员添加操作,从联系人列表中确定候选成员,其中,所述联系人列表中包括针对所述群组的已选成员的联系人。输出模块用于输出所述候选成员。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的推荐群组成员的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述的推荐群组成员的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的推荐群组成员的方法。
通过本公开实施例的技术方案,至少能够实现所确定的候选成员更加符合群组成员的添加需求,从而提高了群组成员的添加效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开一实施例的推荐群组成员的方法的应用场景;
图2A示意性示出了根据本公开一实施例的推荐群组成员的方法的流程图;
图2B示意性示出了根据本公开另一实施例的推荐群组成员的方法的流程图;
图3示意性示出了根据本公开一实施例的确定候选成员的示意图;
图4示意性示出了根据本公开一实施例的特征向量的计算方法的流程图;
图5示意性示出了根据本公开一实施例的获取成员集合的示意图;
图6示意性示出了根据本公开一实施例的计算融合向量的示意图;
图7示意性示出了根据本公开一实施例的推荐群组成员的装置的框图;以及
图8是用来实现本公开实施例的用于推荐群组成员的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种推荐群组成员的方法,包括:接收针对群组的成员添加操作,响应于接收到成员添加操作,从联系人列表中确定候选成员,其中,联系人列表中包括针对群组的已选成员的联系人,输出候选成员。
图1示意性示出了根据本公开一实施例的推荐群组成员的方法的应用场景。
如图1所示的应用场景100,本公开的推荐群组成员的方法例如可以由电子设备来执行。电子设备可以包括智能手机、电脑、服务器等等。该电子设备例如可以运行即时通讯软件。
在本公开的实施例中,用户110在使用即时通讯软件时,通常需要选择部分联系人作为群组成员来创建新的群组,或者需要往已经存在的群组中添加新成员。
在一种实施例中,用户110的当前通讯界面110A上例如显示用户110的联系人列表120,该联系人列表120中例如包括多个联系人,多个联系人例如包括用户A、用户B、用户C等等。当用户110需要创建群组或往已经存在的群组中添加新成员时,电子设备响应于用户110的需求而向用户显示选择群组成员界面100B。
其中,选择群组成员界面100B上例如显示候选成员列表130,该候选成员列表130例如与用户110的联系人列表120一致,即,候选成员列表130例如包括用户A、用户B、用户C等等。用户110需要通过浏览选成员列表130来选择群组成员。或者,用户110还可以在搜索框140中输入联系人的姓名或账号来查找相应的联系人,以便将所查找的联系人添加至群组中。
本公开实施例提供了一种推荐群组成员的方法,下面结合图1的应用场景,参考图2A~图6来描述根据本公开示例性实施方式的推荐群组成员的方法。
图2A示意性示出了根据本公开一实施例的推荐群组成员的方法的流程图。
如图2A所示,本公开实施例的推荐群组成员的方法200A例如可以包括操作S210~操作S230。
在操作S210,接收针对群组的成员添加操作。
在操作S220,响应于接收到成员添加操作,从联系人列表中确定候选成员,其中,联系人列表中包括针对群组的已选成员的联系人。
在操作S230,输出候选成员。
在本公开的实施例中,针对群组的成员添加操作包括群组的创建者为了创建群组而选择成员的操作。或者,对于已经存在的群组,针对群组的成员添加操作可以是群组中已经存在的成员向该群组添加新成员的操作,群组中已经存在的成员包括群组的创建者和其他成员。其中,群组可以包括聊天群或会议群。
其中,对于待创建的群组,针对该群组的已选成员例如至少包括创建者;或者,当创建者为了创建群组而选择了部分成员时,该创建者和已经选择的部分成员可以作为已选成员。对于已经创建的群组,已选成员可以包括群组中已经存在的成员;或者,还可以包括群组中已经存在的成员为了向该群组添加新成员而选择的部分成员。
其中,已选成员例如包括至少一个已选成员,至少一个已选成员中的每个已选成员均具有联系人列表。以一个已选成员为例,该已选成员的联系人类别中包括该已选成员的多个联系人,该多个联系人例如均为该已选成员的好友。接下来,从与至少一个已选成员一一对应的至少一个的联系人列表中确定出部分联系人作为多个候选成员。然后输出多个候选成员,以便向针对群组添加成员的执行者推荐候选成员,执行者可以将多个候选成员中的一个或多个添加至群组中。
在本公开的实施例中,针对群组的已选成员表征了针对该群组的成员需求,因此根据已选成员的联系人列表来确定候选成员,使得所确定的候选成员已选成员之间具有关联关系,从而使得候选成员更加符合群组成员的添加需求,实现了智能推荐群组成员,并因此提高了群组成员的添加效率。
图2B示意性示出了根据本公开另一实施例的推荐群组成员的方法的流程图。
如图2B所示,本公开实施例的推荐群组成员的方法200B例如可以包括操作S210~操作S250。
在操作S210,接收针对群组的成员添加操作。
在操作S220,响应于接收到成员添加操作,从联系人列表中确定候选成员,其中,联系人列表中包括针对群组的已选成员的联系人。
在操作S230,输出候选成员。
在本公开的实施例中,候选成员可以包括多个候选成员。
在操作S240,确定每个候选成员的特征向量分别与已选成员的特征向量之间的相似度。
在操作S250,基于相似度对多个候选成员进行排序。
其中,操作S240和操作S250例如在操作操作S220之后以及在操作S230之前执行。
其中,操作S230中关于输出候选成员例如包括输出排序后的多个候选成员,以便从排序后的多个候选成员中选择成员添加至群组。
在本公开的实施例中,每个成员均具有特征向量,该特征向量可以表征该成员在即时通讯软件中的历史通信记录。当多个成员具有相同或相似的历史通信记录时,该多个成员的特征向量之间的相似度越高。其中历史通信记录包括多个成员在同一历史群组中通信的记录。
接下来,针对多个候选成员中的每个候选成员,计算该候选成员与已选成员的特征向量之间的相似度,并基于相似度对多个候选成员进行降序排序。其中,该相似度表征了候选成员与至少一个已选成员曾经属于同一历史群组的概率。
在本公开的实施例中,相似度越高的候选成员排序越靠前。然后推荐排序后的多个候选成员,便于从排序后的多个候选成员中选择成员添加至群组。其中,排序越靠前的候选成员,表明该候选成员与已选成员曾经属于同一历史群组的概率越大,即该候选成员被选择添加至群组中的概率越大。
在本公开的实施例中,针对群组的至少一个已选成员,该至少一个已选成员表征了针对该群组的成员需求,因此根据候选成员和已选成员之间的相似度来对候选成员进行排序,使得排序靠前的候选成员更加符合该群组的成员需求,即,经过排序处理后的多个候选成员更加符合群组成员的添加需求。另外,在确定候选成员时,从已选成员的联系人列表中来确定,使得所确定的候选成员与每个已选成员之间均有关联关系,从而使得候选成员更加符合群组成员的添加需求。可见,本申请的实施例通过对候选成员进行排序,并推荐排序后的候选成员,实现了智能推荐群组成员,提高了群组成员的添加效率。
在本公开的实施例中,针对多个候选成员中的每个候选成员,确定每个候选成员的特征向量与至少一个已选成员各自的特征向量之间的相似度包括:基于多个已选成员中每个已选成员的特征向量,计算多个已选成员的特征向量之和得到总体特征向量,确定候选成员的特征向量与总体特征向量之间的向量距离,并基于向量距离确定相似度。
在本公开的实施例中,多个已选成员例如包括当前执行成员添加操作的执行者u以及多个已选成员中除了执行者u之外的已选成员集合G,其中,G={g1,g2,...,gm},m大于等于1。执行者u的特征向量表示为u,针对已选成员集合G中的第j个已选成员gj,该第j个已选成员gj的特征向量表示为gj,j∈{1,2,......,m}。
以多个候选成员包括k个候选成员为例,k大于等于1,多个候选成员以集合V来表示,其中V={v1,...vk}。针对多个候选成员中的第i个候选成员vi,该第i个候选成员vi的特征向量表示为vi,i∈{1,2,......,k}。
在本公开的实施例中,计算至少一个已选成员的特征向量之和得到的总体特征向量为候选成员vi的特征向量vi与总体特征向量之间的向量距离为然后,基于向量距离来确定针对该候选成员vi的相似度Pr_i,相似度Pr_i如以下公式(1)所示。
其中,exp表示以自然常数e为底的指数函数;||……||2表示二范数计算。本公开实施例对成员的特征向量的维度不作具体限定。基于公式(1),可计算得到针对每个候选成员的相似度,并基于相似度对多个候选成员进行排序。
在本公开的实施例中,每从排序后的多个候选成员中选择一个候选成员添加至群组中后,已选成员集合G发生变化,需要基于已选成员集合G来重新确定多个候选成员,并基于公式(1)重新计算新确定的多个候选成员的每个候选成员和经变化已选成员集合G之间的相似度,以便基于新计算的相似度重新对新确定的多个候选成员进行重新排序。
可以理解,本公开实施例根据从候选成员中选择成员的情况来实时确定候选成员,并对候选成员进行排序,从而可以提高排序的实时性,以此提高群组成员的推荐准确性。
图3示意性示出了根据本公开一实施例的确定候选成员的示意图。
如图3所示,多个已选用户310例如包括用户A、用户B、用户C。
在本公开的实施例中,针对每个已选成员,获取已选成员的初始联系人列表。初始联系人列表中例如包括该已选成员在即时通讯软件中的通信好友。
例如,用户A的初始联系人列表311中包括多个联系人,多个联系人包括用户D、用户E、用户F。用户B的初始联系人列表312中包括多个联系人,多个联系人包括用户D、用户E、用户G、用户H。用户C的初始联系人列表313中包括多个联系人,多个联系人包括用户D、用户E、用户I、用户J。
然后,针对每个已选成员的初始联系人列表,从初始联系人列表中选择部分联系人作为目标联系人列表,以得到与多个已选成员一一对应的多个目标联系人列表。例如,针对用户A的初始联系人列表311,从该初始联系人列表311中选择部分联系人作为目标联系人列表311’,该目标联系人列表311’例如包括用户D、用户E。针对用户B的初始联系人列表312,从该初始联系人列表312中选择部分联系人作为目标联系人列表312’,该目标联系人列表312’例如包括用户D、用户E、用户G。针对用户C的初始联系人列表313,从该初始联系人列表313中选择部分联系人作为目标联系人列表313’,该目标联系人列表313’例如包括用户D、用户E、用户J。
接下来,确定多个目标联系人列表311’、312’、313’的交集320,该交集320中的联系人例如为多个已选成员310的共同联系人。然后,基于交集320中的联系人确定候选成员340。例如将交集320中的联系人作为候选成员340,即候选成员340包括用户D、用户E,然后,从用户D、用户E中选择一个或多个添加至群组中。当然,如果在一些情况下,交集320中的联系人与已选成员310重合,还可以将交集320中除重合的已选成员之外的其他联系人作为候选成员340。例如,交集320表示为集合C,其中,C={c1,c2,...,cn},n大于等于1。已选成员表示为集合G,其中,G={g1,g2,...,gm},m大于等于1,则候选成员例如表示为集合V,其中,V=C-G。
在本公开的实施例中,基于多个已选成员的初始联系人列表进行计算,得到多个已选成员的共同联系人作为候选成员,使得所得到的候选成员与多个已选成员之间具有紧密的联系,使得候选成员被添加至群组中的概率更高,以此提高群组成员的推荐准确性。
如图3所示,针对每个已选成员的初始联系人列表,从该初始联系人列表中选择部分联系人作为目标联系人时,所选择的部分联系人例如包括与已选成员近期联系的联系人以及与已选成员频繁联系的联系人。
以用户A的初始联系人列表311为例,该初始联系人列表311中包括用户D、用户E、用户F,从该初始联系人列表311中选择的部分联系人包括用户D、用户E。用户D和用户E例如为与用户A近期联系的联系人以及与用户A频繁联系的联系人。
在本公开的实施例中,近期联系的联系人包括与已选成员在第一预定时段内联系的联系人,第一预定时段例如包括最近一天、最近一周等。其中,在第一预定时段内联系的联系人包括第一类联系人和第二类联系人。第一类联系人与已选成员在第一预定时段内进行一对一会话。第二类联系人与已选成员在同一历史群组并且第二类联系人在第一预定时段内在该历史群组中发言。
在本公开的实施例中,频繁联系的联系人例如包括与已选成员的联系频率大于第一预定阈值的联系人,联系频率例如包括在一段时间内联系的次数,第一预定阈值例如包括预设次数。其中,联系频率大于第一预定阈值的联系人包括第三类联系人和第四类联系人。第三类联系人与已选成员进行一对一会话的频率大于第一预定阈值。第四类联系人与已选成员在同一历史群组并且第四类联系人在该历史群组中发言的频率大于第一预定阈值。
在本公开的实施例中,针对每个已选成员的初始联系人列表,从该初始联系人列表中选择与该已选成员近期联系和频繁联系的部分联系人。然后从所选择的部分联系人中确定联系人交集作为最终的候选成员。可见,由于已选成员的近期联系和频繁联系的联系人在较大概率上是群组所需的成员,因此基于已选成员的近期联系和频繁联系的联系人来确定候选成员,使得所确定的候选成员被添加至群组的概率较高,以此提高群组成员的推荐准确性。
在本公开的实施例中,为了基于候选成员的特征向量与至少一个已选成员各自的特征向量之间的相似度来对候选成员进行排序,需要首先确定至少一个已选成员和多个候选成员中每个成员的特征向量,以下将参考图4至图6来说明特征向量的计算方式。
在本公开的实施例中,至少一个已选成员和多个候选成员中包括第一类成员和第二类成员。第一类成员与至少一个已选成员中执行成员添加操作的执行者曾经属于同一历史群组。第二类成员与至少一个已选成员中的执行者未曾属于同一历史群组。其中,执行成员添加操作的执行者可以是至少一个已选成员中的任意一个已选成员。
以下将参考图4来说明如何获取第一类成员的特征向量。
图4示意性示出了根据本公开一实施例的特征向量的计算方法的流程图。
如图4所示,针对第一类成员,获取至少一个已选成员各自的特征向量和多个候选成员各自的特征向量包括例如可以包括操作S401~操作S404。
在操作S401,针对已选成员中的执行者,获取与执行者相关联的M个历史群组,M为大于等于1的整数。
在操作S402,从M个历史群组中确定至少部分成员,其中,至少部分成员至少包括第一类成员。例如,针对每个历史群组,从该历史群组中进行多个采样,每次采样均包括多个成员。在针对每个历史群组进行采样之后,采样所得到的成员可以作为至少部分成员。
在操作S403,确定至少部分成员的各自的融合向量。例如,针对至少部分成员中的每个成员,每个成员均具有初始特征向量,该初始特征向量例如已知。每个成员的融合向量例如是基于该成员的初始特征向量以及与该成员最近联系或频繁联系的其他成员的初始特征向量来得到的。
在操作S404,基于至少部分成员的各自的融合向量,确定第一类成员中每个成员的特征向量。在得到至少部分成员的各自的融合向量之后,可以基于预设规则来对至少部分成员中的每个成员的融合向量进行调整,以得到针对每个成员的调整后的融合向量,该调整后的融合向量例如由该成员自身的调整后的特征向量和与该成员最近联系或频繁联系的其他成员的调整后的特征向量来表征,因此可以基于调整后的融合向量来确定每个成员自身的调整后的特征向量作为该成员的特征向量。
在本公开的实施例中,在执行成员添加操作的执行者为多个已选成员中的不同成员时,确定与该执行者相关联的历史群组,并基于历史群组中的部分成员的融合向量来确定第一类成员的特征向量,实现了根据执行者实时确定特征向量,提高了第一类成员的特征向量的准确性。
在另一种实施例中,还可以根据群组创建者来确定与该创建者相关联的M个历史群组,该方式可以预先基于与该创建者相关联的M个历史群组来确定M个历史群组中至少部分成员的特征向量,无需实时根据执行者来确定特征向量,从而降低了计算量,提高群组成员的排序速度。
图5示意性示出了根据本公开一实施例的获取成员集合的示意图。
如图5所示,多个历史群组510例如包括M个历史群组,M个历史群组中的每个历史群组例如包括多个成员。
针对M个历史群组中的每个历史群组,从历史群组中获取N个成员集合,例如对该历史群组进行N次采样,每次采样得到的成员个数例如为r,r为大于1的整数,即每个成员集合包括r个成员。对每个历史群组均进行类似的采样操作,得到针对M个历史群组的M*N个成员集合,N为大于等于1的整数。其中,针对每个历史群组的采样次数N例如足够大,使得每个历史群组中的任意一个成员至少被采样一次,即每个历史群组中的任意一个成员属于针对该历史群组的N个成员集合中的一个或多个成员集合。然后,将M*N个成员集合作为至少部分成员。
接下来,针对M*N个成员集合中的每个成员集合,基于随机梯度下降算法调节成员集合中每个成员的融合向量,使得属于相同历史群组的成员的融合向量满足预设的向量相似度,然后基于调节后的融合向量得到第一类成员中每个成员的特征向量。
例如,以M*N个成员集合中的第一个成员集合511为例,该成员集合511中例如包括r个成员,从r个成员中随机选择其中一个成员u’,该成员u’的融合向量表示为u’,该r个成员中的剩余成员表示为{v1’,v2’,..,vr-1’},剩余成员{v1’,v2’,...,vr-1’}的融合向量表示为{v1’,v2’,...,vr-1’},成员u’的融合向量与剩余成员{v1’,v2’,...,vr-1’}的融合向量之间的相似度表示为Pru’_1,相似度Pru’_1如以下公式(2)所示。
其中,v′i表示剩余成员{v1’,v2’,...,vr-1’}中第i个成员的融合向量,i∈{1,2,......,r-1};M个历史群组中成员的总数量为p,p为大于1的整数,wj为p个成员中第j个成员的融合向量,j∈{1,2,......,p}。
基于公式(2),可以计算得到针对M*N个成员集合中每个成员集合的相似度。例如针对M*N个成员集合各自的相似度为Pru’_1、Pru’_2、Pru’_3、......、Pru’_M*N。多个相似度Pru’_1、Pru’_2、Pru’_3、......、Pru’_M*N之和表示为总相似度Pru’。由于总相似度Pru’由多个融合向量来表示,因此通过调整每个融合向量,使得总相似度Pru’收敛,例如使得总相似度Pru’的值最大或趋近最大。当总相似度Pru’收敛后,得到调整后的每个融合向量,基于调整后的融合向量来得到至少部分成员中每个成员的特征向量,从而得到第一类成员中每个成员的特征向量。
在一种实施例中,可以基于随机梯度下降算法来调节成员集合中每个成员的融合向量使得总相似度Pru’收敛。例如,针对每个融合向量,求取总相似度Pru’对该融合向量的偏导,并基于偏导确定针对该融合向量的调整方向,该调整方向表征了总相似度Pru’在该调整方向上是增大的,将该融合向量基于该调整方向进行调整以增大总相似度Pru’。
在本公开的实施例中,通过随机梯度下降算法来调节融合向量,使得算法的收敛速度快,提高融合向量的计算速度,从而提高群众成员的推荐效率。
图6示意性示出了根据本公开一实施例的计算融合向量的示意图。
如图6所示,确定至少部分成员的各自的融合向量包括:针对至少部分成员中的每个成员,获取该成员的初始特征向量、针对该成员的第一特征向量和针对该成员的第二特征向量,其中,第一特征向量是基于与该成员在第二预定时段内联系的至少一个联系人的初始特征向量而得到的,第二特征向量是基于与该成员的联系频率大于第二预定阈值的至少一个联系人的初始特征向量而得到的。然后,对初始特征向量、第一特征向量、第二特征向量进行加权求和,得到针对该成员的融合向量。
例如,一个成员集合包括r个成员为例,该r个成员中包括成员u’和成员{v1’,v2’,...,vr-1’}。成员u’的融合向量表示为u’,剩余成员{v1’,v2’,...,vr-1’}的融合向量表示为{v1’,v2’,...,vr-1’}。
以成员u’为例,该成员u’的融合向量u’例如是对自身的初始特征向量611(或者处理后特征向量611’)、第一特征向量612’、第二特征向量613’进行加权得到。其中,处理后特征向量611’例如可以是针对初始特征向量611进行降维或其他处理方式得到。第一特征向量612’例如是对多个联系人的初始特征向量612进行平均计算得到,多个联系人为与该成员u’在第二预定时段内联系的联系人,即该多个联系人为成员u’近期联系的联系人。第二特征向量613’例如是对多个联系人的初始特征向量613进行平均计算得到,多个联系人为与该成员u’的联系频率大于第二预定阈值的联系人,即该多个联系人为成员u’频繁联系的联系人。剩余成员{v1’,v2’,...,vr-1’}中每个成员的的融合向量的计算方式与成员u’的融合向量的计算方式类似,在此不再赘述。
在本公开的实施例中,基于成员的自身的特征向量和近期联系人或频繁联系人的特征向量来确定该成员的融合向量,使得在基于融合向量来计算总相似度时,该融合向量在较大程度上能够表征成员和近期联系人或频繁联系人之间的共性,从而提高特征向量的计算可靠性。
在本公开的实施例中,至少一个已选成员和多个候选成员中还包括第二类成员,第二类成员与至少一个已选成员中的执行者未曾属于同一历史群组。针对第二类成员的特征向量,可以计算M个历史群组中至少部分成员的特征向量的平均特征向量,并将平均特征向量作为第二类成员的特征向量。
图7示意性示出了根据本公开一实施例的推荐群组成员的装置的框图。
如图7所示,本公开实施例的推荐群组成员的装置700例如包括接收模块710、第一确定模块720以及输出模块730。
接收模块710可以用于接收针对群组的成员添加操作。根据本公开实施例,成接收模块710例如可以执行上文参考图2A描述的操作S210,在此不再赘述。
第一确定模块720可以用于响应于接收到成员添加操作,从联系人列表中确定候选成员,其中,联系人列表中包括针对群组的已选成员的联系人。根据本公开实施例,第一确定模块720例如可以执行上文参考图2A描述的操作S220,在此不再赘述。
输出模块730可以用于输出候选成员。根据本公开实施例,输出模块730例如可以执行上文参考图2A描述的操作S230,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8是用来实现本公开实施例的用于推荐群组成员的电子设备的框图。
图8示出了可以用来实施本公开实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如推荐群组成员的方法。例如,在一些实施例中,推荐群组成员的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的推荐群组成员的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行推荐群组成员的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种推荐群组成员的方法,包括:
接收针对群组的成员添加操作;
响应于接收到所述成员添加操作,从联系人列表中确定候选成员,其中,所述联系人列表中包括针对所述群组的已选成员的联系人;以及
输出所述候选成员;
其中,在所述候选成员包括多个候选成员的情况下,所述方法还包括:
确定每个所述候选成员的特征向量分别与所述已选成员的特征向量之间的相似度;
基于所述相似度对所述多个候选成员进行排序;
其中,所述输出所述候选成员包括:输出排序后的多个候选成员,以便从排序后的多个候选成员中选择成员添加至所述群组;
或者
其中,在所述已选成员包括多个已选成员的情况下,所述从联系人列表中确定候选成员包括:
分别获取每个所述已选成员的初始联系人列表,得到多个初始联系人列表;
分别从每个所述初始联系人列表中选择部分联系人作为目标联系人列表,得到多个目标联系人列表;
确定所述多个目标联系人列表的交集;以及
基于所述交集中的联系人确定所述候选成员;
或者
其中,所述方法还包括:获取所述已选成员各自的特征向量和所述候选成员各自的特征向量;所述已选成员和所述候选成员中包括第一类成员,所述第一类成员与已选成员中执行成员添加操作的执行者曾经属于同一历史群组;
其中,针对所述第一类成员,所述获取所述已选成员各自的特征向量和所述候选成员各自的特征向量包括:
针对所述已选成员中的所述执行者,获取与所述执行者相关联的M个历史群组,所述M为大于等于1的整数;以及
从所述M个历史群组中确定至少部分成员,其中,所述至少部分成员至少包括所述第一类成员;
确定所述至少部分成员的各自的融合向量;以及
基于所述至少部分成员的各自的融合向量,确定所述第一类成员中每个成员的特征向量。
2.根据权利要求1所述的方法,其中,在所述已选成员包括多个已选成员的情况下,所述确定每个所述候选成员的特征向量分别与所述已选成员的特征向量之间的相似度包括:
计算所述多个已选成员的特征向量之和得到总体特征向量;
确定每个所述候选成员的特征向量分别与所述总体特征向量之间的向量距离;以及
基于所述向量距离,确定所述相似度。
3.根据权利要求1所述的方法,其中,所述部分联系人包括以下至少一项:
所述初始联系人列表中与所述已选成员在第一预定时段内联系的联系人;以及
所述初始联系人列表中与所述已选成员的联系频率大于第一预定阈值的联系人。
4.根据权利要求3所述的方法,其中,所述在第一预定时段内联系的联系人包括以下至少一项:
第一类联系人,所述第一类联系人与所述已选成员在所述第一预定时段内进行一对一会话;以及
第二类联系人,所述第二类联系人与所述已选成员在同一历史群组并且所述第二类联系人在所述第一预定时段内在该历史群组中发言。
5.根据权利要求3所述的方法,其中,所述联系频率大于第一预定阈值的联系人包括以下至少一项:
第三类联系人,所述第三类联系人与所述已选成员进行一对一会话的频率大于所述第一预定阈值;以及
第四类联系人,所述第四类联系人与所述已选成员在同一历史群组并且所述第四类联系人在该历史群组中发言的频率大于所述第一预定阈值。
6.根据权利要求1所述的方法,其中,所述从所述M个历史群组中确定至少部分成员包括:
针对所述M个历史群组中的每个历史群组,从所述历史群组中获取N个成员集合,以得到针对所述M个历史群组的M*N个成员集合,所述N为大于等于1的整数;以及
将所述M*N个成员集合作为所述至少部分成员。
7.根据权利要求1所述的方法,其中,所述确定所述至少部分成员的各自的融合向量包括:
针对所述至少部分成员中的每个成员,获取该成员的初始特征向量、针对该成员的第一特征向量和针对该成员的第二特征向量,其中,所述第一特征向量是基于与该成员在第二预定时段内联系的至少一个联系人的初始特征向量而得到的,所述第二特征向量是基于与该成员的联系频率大于第二预定阈值的至少一个联系人的初始特征向量而得到的;以及
对所述初始特征向量、所述第一特征向量、所述第二特征向量进行加权求和,得到针对该成员的融合向量。
8.根据权利要求6所述的方法,其中,所述基于所述至少部分成员的各自的融合向量,确定所述第一类成员中每个成员的特征向量包括:
针对所述M*N个成员集合中的每个成员集合,基于随机梯度下降算法调节所述成员集合中每个成员的融合向量,使得属于相同历史群组的成员的融合向量满足预设的向量相似度;以及
基于调节后的融合向量得到所述第一类成员中每个成员的特征向量。
9.根据权利要求6-8中任意一项所述的方法,其中,所述已选成员和所述候选成员中包括第二类成员,所述第二类成员与已选成员中的所述执行者未曾属于同一历史群组;
其中,针对所述第二类成员,所述获取所述已选成员各自的特征向量和所述候选成员各自的特征向量包括:
计算所述M个历史群组中至少部分成员的特征向量的平均特征向量,将所述平均特征向量作为所述第二类成员的特征向量。
10.一种推荐群组成员的装置,包括:
接收模块,用于接收针对群组的成员添加操作;
第一确定模块,用于响应于接收到所述成员添加操作,从联系人列表中确定候选成员,其中,所述联系人列表中包括针对所述群组的已选成员的联系人;以及
输出模块,用于输出所述候选成员;
其中,在所述候选成员包括多个候选成员的情况下,所述装置还包括:
第二确定模块,用于确定每个所述候选成员的特征向量分别与所述已选成员的特征向量之间的相似度;
排序模块,用于基于所述相似度对所述多个候选成员进行排序;
其中,所述输出模块还用于:输出排序后的多个候选成员,以便从排序后的多个候选成员中选择成员添加至所述群组;
或者
其中,在所述已选成员包括多个已选成员的情况下,所述第一确定模块包括:
第一获取子模块,用于分别获取每个所述已选成员的初始联系人列表,得到多个初始联系人列表;
选择子模块,用于分别从每个所述初始联系人列表中选择部分联系人作为目标联系人列表,得到多个目标联系人列表;
第三确定子模块,用于确定所述多个目标联系人列表的交集;以及
第四确定子模块,用于基于所述交集中的联系人确定所述候选成员;
或者
其中,所述装置还包括:获取模块,用于获取所述已选成员各自的特征向量和所述候选成员各自的特征向量;所述已选成员和所述候选成员中包括第一类成员,所述第一类成员与已选成员中执行成员添加操作的执行者曾经属于同一历史群组;
其中,针对所述第一类成员,所述获取模块包括:
第二获取子模块,用于针对所述已选成员中的所述执行者,获取与所述执行者相关联的M个历史群组,所述M为大于等于1的整数;
以及
第五确定子模块,用于从所述M个历史群组中确定至少部分成员,其中,所述至少部分成员至少包括所述第一类成员;
第六确定子模块,用于确定所述至少部分成员的各自的融合向量;以及
第七确定子模块,用于基于所述至少部分成员的各自的融合向量,确定所述第一类成员中每个成员的特征向量。
11.根据权利要求10所述的装置,其中,在所述已选成员包括多个已选成员的情况下,所述第二确定模块包括:
第一计算子模块,用于计算所述多个已选成员的特征向量之和得到总体特征向量;
第一确定子模块,用于确定每个所述候选成员的特征向量分别与所述总体特征向量之间的向量距离;以及
第二确定子模块,用于基于所述向量距离,确定所述相似度。
12.根据权利要求10所述的装置,其中,所述部分联系人包括以下至少一项:
所述初始联系人列表中与所述已选成员在第一预定时段内联系的联系人;以及
所述初始联系人列表中与所述已选成员的联系频率大于第一预定阈值的联系人。
13.根据权利要求12所述的装置,其中,所述在第一预定时段内联系的联系人包括以下至少一项:
第一类联系人,所述第一类联系人与所述已选成员在所述第一预定时段内进行一对一会话;以及
第二类联系人,所述第二类联系人与所述已选成员在同一历史群组并且所述第二类联系人在所述第一预定时段内在该历史群组中发言。
14.根据权利要求12所述的装置,其中,所述联系频率大于第一预定阈值的联系人包括以下至少一项:
第三类联系人,所述第三类联系人与所述已选成员进行一对一会话的频率大于所述第一预定阈值;以及
第四类联系人,所述第四类联系人与所述已选成员在同一历史群组并且所述第四类联系人在该历史群组中发言的频率大于所述第一预定阈值。
15.根据权利要求10所述的装置,其中,所述第五确定子模块还用于:
针对所述M个历史群组中的每个历史群组,从所述历史群组中获取N个成员集合,以得到针对所述M个历史群组的M*N个成员集合,所述N为大于等于1的整数;以及
将所述M*N个成员集合作为所述至少部分成员。
16.根据权利要求10所述的装置,其中,所述第六确定子模块还用于:
针对所述至少部分成员中的每个成员,获取该成员的初始特征向量、针对该成员的第一特征向量和针对该成员的第二特征向量,其中,所述第一特征向量是基于与该成员在第二预定时段内联系的至少一个联系人的初始特征向量而得到的,所述第二特征向量是基于与该成员的联系频率大于第二预定阈值的至少一个联系人的初始特征向量而得到的;以及
对所述初始特征向量、所述第一特征向量、所述第二特征向量进行加权求和,得到针对该成员的融合向量。
17.根据权利要求15所述的装置,其中,所述第七确定子模块还用于:
针对所述M*N个成员集合中的每个成员集合,基于随机梯度下降算法调节所述成员集合中每个成员的融合向量,使得属于相同历史群组的成员的融合向量满足预设的向量相似度;以及
基于调节后的融合向量得到所述第一类成员中每个成员的特征向量。
18.根据权利要求15-17中任意一项所述的装置,其中,所述已选成员和所述候选成员中包括第二类成员,所述第二类成员与已选成员中的所述执行者未曾属于同一历史群组;
其中,针对所述第二类成员,所述获取模块还包括:
第二计算子模块,计算所述M个历史群组中至少部分成员的特征向量的平均特征向量,将所述平均特征向量作为所述第二类成员的特征向量。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513405.7A CN112558842B (zh) | 2020-12-18 | 2020-12-18 | 推荐群组成员的方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513405.7A CN112558842B (zh) | 2020-12-18 | 2020-12-18 | 推荐群组成员的方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112558842A CN112558842A (zh) | 2021-03-26 |
CN112558842B true CN112558842B (zh) | 2022-06-07 |
Family
ID=75030586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011513405.7A Active CN112558842B (zh) | 2020-12-18 | 2020-12-18 | 推荐群组成员的方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112558842B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9232065B1 (en) * | 2012-10-17 | 2016-01-05 | Google Inc. | Group pseudo-profiles for online sessions |
CN106100982B (zh) * | 2016-08-25 | 2019-04-12 | 维沃移动通信有限公司 | 一种群组成员的推荐方法及移动终端 |
CN106453784A (zh) * | 2016-11-25 | 2017-02-22 | 维沃移动通信有限公司 | 通讯录群组成员的推荐方法及移动终端 |
CN107947951B (zh) * | 2017-12-21 | 2019-10-15 | Oppo广东移动通信有限公司 | 用户群组推荐方法、装置及存储介质和服务器 |
-
2020
- 2020-12-18 CN CN202011513405.7A patent/CN112558842B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112558842A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114329201B (zh) | 深度学习模型的训练方法、内容推荐方法和装置 | |
CN113301442B (zh) | 确定直播资源的方法、设备、介质及程序产品 | |
CN110427436B (zh) | 实体相似度计算的方法及装置 | |
CN114444619B (zh) | 样本生成方法、训练方法、数据处理方法以及电子设备 | |
CN112818230A (zh) | 内容推荐方法、装置、电子设备和存储介质 | |
CN112765478A (zh) | 用于推荐内容的方法、装置、设备、介质和程序产品 | |
CN112948608A (zh) | 图片查找方法、装置、电子设备及计算机可读存储介质 | |
CN113657249B (zh) | 训练方法、预测方法、装置、电子设备以及存储介质 | |
CN114360027A (zh) | 一种特征提取网络的训练方法、装置及电子设备 | |
CN113947701A (zh) | 训练方法、对象识别方法、装置、电子设备以及存储介质 | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN112989170A (zh) | 应用于信息搜索的关键词匹配方法、信息搜索方法及装置 | |
CN112506864A (zh) | 文件检索的方法、装置、电子设备及可读存储介质 | |
CN116597443A (zh) | 素材标签处理方法、装置、电子设备及介质 | |
CN112558842B (zh) | 推荐群组成员的方法、装置、电子设备和介质 | |
CN113761379B (zh) | 商品推荐方法及装置、电子设备和介质 | |
CN108416014B (zh) | 数据处理方法、介质、系统和电子设备 | |
CN112860626B (zh) | 一种文档排序方法、装置及电子设备 | |
CN113722593B (zh) | 事件数据处理方法、装置、电子设备和介质 | |
CN115203564A (zh) | 信息流推荐方法、装置及计算机程序产品 | |
CN114037060A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN113961797A (zh) | 资源推荐方法、装置、电子设备和可读存储介质 | |
CN113920404A (zh) | 训练方法、图像处理方法、装置、电子设备以及存储介质 | |
CN112905885A (zh) | 向用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN112966108A (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 |