一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种会话的建立方法、装置、计算机设备和存储介质与流程

2022-03-02 03:51:35 来源:中国专利 TAG:


1.本发明实施例涉及即时通讯的技术领域,尤其涉及一种会话的建立方法、装置、计算机设备和存储介质。


背景技术:

2.在一些社交应用中,用户除了可以与好友之间进行会话聊天,也可以搜寻陌生人、从而与陌生人之间进行会话聊天。
3.社交应用的内核是解决人与人之间的沟通效率,相对于熟人社交,陌生人社交对于效率会更为看重。和熟人社交维系关系链的功能不同的是,陌生人社交产品主要是拓展社交关系。在没有形成稳定的社交关系链前,长时间得不到反馈会极度影响用户体验,因此,陌生人社交的焦点之一是尽可能为用户匹配合适的陌生人,尽可能快的收到反馈,满足用户想要拓展关系链的诉求。
4.目前,为了保证匹配陌生人的实时性,通常是为当前用户随机抽取其他并不具有好友关系的用户进行匹配,但是,陌生人社交的目的是为了建立社交关系链,随机匹配的方式好友的转化率较低,即,建立社交关系链的概率较低,导致用户反复搜寻陌生人,使得服务端反复进行运算,造成资源的浪费。


技术实现要素:

5.本发明实施例提出了一种会话的建立方法、装置、计算机设备和存储介质,以解决如何提高陌生人社交的好友转化率、从而降低服务端的资源浪费的问题。
6.第一方面,本发明实施例提供了一种会话的建立方法,包括:
7.确定第一用户池,所述第一用户池中记录参与匹配的、且在线的用户;
8.每间隔预设的时间从所述第一用户池中提取所述用户;
9.以所述用户作为节点、所述用户之间的兴趣匹配程度为边,构建二分图;
10.在所述二分图中依据所述兴趣匹配程度对互为独立的所述用户进行匹配,得到用户对;
11.对所述用户对中的所述用户建立会话、并在所述会话中屏蔽所述用户的至少部分用户信息。
12.第二方面,本发明实施例还提供了一种会话的建立装置,包括:
13.第一用户池确定模块,用于确定第一用户池,所述第一用户池中记录参与匹配的、且在线的用户;
14.用户提取模块,用于每间隔预设的时间从所述第一用户池中提取所述用户;
15.二分图构建模块,用于以所述用户作为节点、所述用户之间的兴趣匹配程度为边,构建二分图;
16.用户匹配模块,用于在所述二分图中依据所述兴趣匹配程度对互为独立的所述用户进行匹配,得到用户对;
17.会话建立模块,用于对所述用户对中的所述用户建立会话、并在所述会话中屏蔽所述用户的至少部分用户信息。
18.第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
19.一个或多个处理器;
20.存储器,用于存储一个或多个程序,
21.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的会话的建立方法。
22.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的会话的建立方法。
23.在本实施例中,确定第一用户池,第一用户池中记录参与匹配的、且在线的用户,每间隔预设的时间从第一用户池中提取用户,以用户作为节点、用户之间的兴趣匹配程度为边,构建二分图,在二分图中依据兴趣匹配程度对互为独立的用户进行匹配,得到用户对,若用户参与匹配,则对用户对中的用户建立会话、并在会话中屏蔽用户的至少部分用户信息,二分图的结构较为简单,因此,在二分图中对用户进行匹配的计算量较少,可以保证实时性,满足陌生人社交的业务需求,通过兴趣匹配程度对用户进行匹配,可以丰富用户之间可共同交流的话题,提高用户之间建立社交关系链的概率,即提高用户之间的好友转化率,避免用户反复搜寻陌生人,从而避免服务端反复进行运算,减少对资源的浪费。
附图说明
24.图1为本发明实施例一提供的一种会话的建立方法的流程图;
25.图2a至图2c为本发明实施例一提供的一种在二分图中进行用户匹配的示例图;
26.图3是本发明实施例二提供的一种会话的建立方法的流程图;
27.图4为本发明实施例三提供的一种会话的建立装置的结构示意图;
28.图5为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
29.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
30.实施例一
31.图1为本发明实施例一提供的一种会话的建立方法的流程图,本实施例可适用于在陌生人社交中基于兴趣匹配程度进行匹配的情况,该方法可以由会话的建立装置来执行,该会话的建立装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,可作为即时通讯系统的服务端,该方法具体包括如下步骤:
32.步骤101、确定第一用户池。
33.一般情况下,即时通讯系统中的服务端为多台机器的集群,不同的机器负责不同的功能。
34.其中,用户使用用户账号、用户密码在客户端中登录即时通讯系统,部分机器连接
该客户端,为用户提供接入功能,并保持长连接,客户端与服务端多是基于tcp/ip(transmission control protocol/internet protocol,传输控制协议/网际协议)和udp(user datagram protocol,用户数据报协议)进行通讯的。
35.针对不同的产品,客户端具有多种形态,该客户端可以为独立的应用,也可以为浏览器,该浏览器可加载具有即时通讯功能的页面,还可以为其他具有即时通讯功能的应用,例如,支付应用、短视频应用、直播应用等等,本实施例对此不加以限制。
36.部分机器负责业务逻辑的处理,例如,对用户身份的合法性校验、对消息内容的合法性校验、查询群成员列表等。
37.部分机器负责存储消息,如redis等。
38.在本实施例中,可以在服务端的缓存或数据库中可以针对陌生人社交设置一区域,记为第一用户池,其中,该第一用户池中记录参与匹配的、且在线的用户(以用户账号等标识表示)。
39.在一种情况中,在客户端的ui(userinterface,用户界面)上加载有用于陌生人社交的控件,供用户浏览,在接收到该控件的确认操作时,确认登录于该客户端中的用户参与陌生人社交,可将该用户存入第一用户池中。
40.在另一种情况中,可以主动地向用户发送关于陌生人社交的提示消息,提示或邀请用户参与陌生人社交。
41.考虑到后续使用二分图对用户进行匹配,用户在划分二分图时并不一定平衡,因此,为了保证用户在划分二分图时尽可能平衡,提高匹配的精确度,从而提高好友转化率,可以有针对性地向用户发送关于陌生人社交的提示消息,提示或邀请用户参与陌生人社交。
42.在具体实现中,可查询在第一用户池中记录待参与匹配的、且在线的用户指定的属性,其中,属性用于划分二分图,包括第一值、第二值。
43.其中,该属性可以为性别、地区、年龄,等等,以性别为例,该第一值、第二值为男性、女性。
44.在第一用户池中,分别统计属于第一值的用户的第一数量,属于第二值的用户的第二数量。
45.以平衡第一数量与第二数量为目的,调节向不同属性的用户发送提示消息的数量,从而对未参与匹配的用户发送提示消息,即,向未参与匹配的用户所登录的客户端发送提示消息,供用户浏览关于陌生人社交的相关信息。
46.进一步而言,部分用户可能是在线,那么,该提示消息属于在线的系统消息,部分用户可能是离线,那么,该提示消息属于离线的系统消息,这部分用户在上线时可接收到该提示消息。
47.若接收到用户针对提示消息发送的确认消息时,将用户写入第一用户池中。
48.在一种调节向不同属性的用户发送提示消息的数量的方式中,可以分别确定第三数量、第四数量,其中,第一数量加上第三数量的和值与第二数量加上第四数量的和值平衡,所谓平衡,可以指第一数量加上第三数量的和值与第二数量加上第四数量的和值相等,也可以指第一数量加上第三数量的和值与第二数量加上第四数量的和值之间的差异在预设的误差范围内。
49.通过在历史匹配的过程中记录的日志文件,分别统计属于第一值的用户对于提示消息的第一点击率、属于第二值的用户对于提示消息的第二点击率,其中,第一点击率、第二点击率均属于点击率,为点击提示消息的次数与显示提示消息的次数之间的比值。
50.在本方式中,考虑到用户真实的参与匹配的意愿并非如点击率一般的线性关系,因此,可以预先根据陌生人社交的业务反馈,建立点击率与数量之间的映射关系,针对第三数量、第四数量,可以按照该映射关系,分别按照第一点击率将第三数量映射(放大)至新的数量,记为第五数量、按照第二点击率将第四数量映射(放大)至新的数量,记为第六数量。
51.那么,可以分别按照第五数量对属于第一值的、且未参与匹配的用户发送提示消息、按照第六数量对属于第二值的、且未参与匹配的用户发送提示消息,预期可以有第一数量的、且属于第一值的用户,第二数量的、且属于第二值的用户的参与匹配,使得第一用户池中属于第一值的用户与属于第二值的用户之间的数量平衡。
52.步骤102、每间隔预设的时间从第一用户池中提取用户。
53.在即时通讯系统的服务端运行的过程中,若为用户提供陌生人社交的服务,则可以每间隔预设的时间(如3秒),则可以实时从第一用户池中提取部分或全部用户进行匹配。
54.一般情况下,该时间(如3秒)远小于为陌生人社交设置的超时时间(如30秒),以保证用户可以进行数次匹配,实现陌生人社交的匹配。
55.步骤103、以用户作为节点、用户之间的兴趣匹配程度为边,构建二分图。
56.二分图,也称为二部图、偶图,是指具有二分类(x,y)的图,它的点集可以分解为两个非空且互不相交的子集x和子集y,使得每条边的一个端点在子集x中,另一个端点在子集y中。
57.在本实施例中,可以将每个用户设置为节点,根据陌生人社交的业务需求将节点划分至两个子集,对该两个子集中的用户之间计算兴趣匹配程度,将该兴趣匹配程度设置为该两个子集中的用户之间边的权重,从而构建二分图。
58.在具体实现中,可以根据陌生人社交的业务需求查询用户指定的属性,该属性一般用户注册时填写至其用户资料中,例如,性别、地区、年龄,等等。
59.若属性为第一值,则将用户划分为第一集合(子集)中的节点,若属性为第二值,则将用户划分为第二集合(子集)中的节点,其中,第一值、第二值是可以互换的,以性别为例,若第一值为男性,则第二值为女性,若第一值为女性,则第二值为男性。
60.进一步地,考虑到参与陌生人社交的用户是动态发生变化的,属性为第一值的用户与属性为第二值的用户之间并不相等,此时,可统计第一集合中用户的第一数量、第二集合中用户的第二数量,若第一数量与第二数量不相等,则可以对第一集合和/或第二集合进行调节,直至第一数量与第二数量相等,方便寻找完备匹配。
61.示例性地,若第一数量大于第二数量,则将第一集合中的部分用户调整为第二集合中的节点(此时,第二集合中原属于第一集合的该部分的用户与其他用户的属性相同),和/或,在第二集合中添加表示虚拟用户(即并非真实的用户)的节点,直至第一数量与第二数量相等。
62.若第一数量小于第二数量,则将第二集合中的部分用户调整为第一集合中的节点(此时,第一集合中原属于第二集合的该部分的用户与其他用户的属性相同),和/或,在第一集合中添加表示虚拟用户(即并非真实的用户)的节点,直至第一数量与第二数量相等。
63.当然,上述调节的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它调节的方式,例如,在本次匹配中删除部分节点、直至第一数量与第二数量相等,在下次匹配时优先添被删除的节点,等等,本发明实施例对此不加以限制。另外,除了上述调节的方式外,本领域技术人员还可以根据实际需要采用其它调节的方式,本发明实施例对此也不加以限制。
64.针对第一集合、第二集合,可以调用用户的基本数据(如地理位置、语言、学习/工作岗位等)、行为数据(如标签、浏览的对象、表达正向情感的对象等)代入预设的算法(如向量化之后计算余弦夹角等)计算第一集合中的每个用户与第二集合中的每个用户之间的兴趣匹配程度。
65.其中,该兴趣匹配程度用于表示第一集合中的用户与第二集合中的用户之间在某些事物的兴趣上的匹配程度,一般情况下,兴趣匹配程度的数值越大,表示第一集合中的用户与第二集合中的用户之间在某些事物的兴趣上越匹配,第一集合中的用户与第二集合中的用户之间建立好友关系的概率越大。
66.将兴趣匹配程度作为边(权重),连接第一集合中计算该兴趣匹配程度的用户与第二集合中计算该兴趣匹配程度的用户,获得二分图,该二分图可以以邻接矩阵等形式存储。
67.进一步地,若第一集合中的用户与第二集合中的用户之间符合预设的衰减条件,则降低第一集合中的用户与第二集合中的用户之间的兴趣匹配程度,加大后续被剪枝的概率,从而降低第一集合中的用户与第二集合中的用户之间匹配为用户对的概率。
68.示例性地,衰减条件为不适宜匹配为用户对的条件,包括如下至少一种:
69.第一集合中的用户的属性与第二集合中的用户的属性相同。
70.第一集合中的用户与第二集合中的用户具有好友关系。
71.第一集合中的用户或第二集合中的用户为虚拟用户。
72.步骤104、在二分图中依据兴趣匹配程度对互为独立的用户进行匹配,得到用户对。
73.在二分图中,可以依据兴趣匹配程度对互为独立的用户进行匹配,在局部上,两个互为独立的用户之间存在一定的兴趣匹配程度,在整体上,两两用户之间匹配,尽量找最大的边(兴趣匹配程度)进行匹配,如果不能则换一条较大的边(兴趣匹配程度)进行匹配,达到整体上的匹配程度最优,匹配之后的两个用户记为用户对。
74.在本发明的一个实施例中,在二分图中,用户按照指定的属性划分为互为独立的第一集合(该属性为第一值的用户的子集)、第二集合(该属性为第二值的用户的子集),则在本实施例中,步骤104可以包括如下步骤:
75.步骤1041、参照作为边的兴趣匹配程度对作为节点的用户添加标杆。
76.在本实施例中,可以参照作为边的兴趣匹配程度对作为节点的用户进行初始化,添加标杆(又称顶标)。
77.进一步而言,第一集合中的每个用户可能与第二集合中的多个用户存在多个边(兴趣匹配程度),在初始化标杆时,可删除与第一集合中每个用户相连的、且数值非最大的兴趣匹配程度,以保留与第一集合中每个用户相连的、且数值最大的兴趣匹配程度,形成二分图的子图。
78.在第一集合中,对用户的标杆赋值与用户相连的、且数值最大的兴趣匹配程度,在
第二集合中,对用户的标杆赋值为0。
79.在一个示例中,如图2a所示,在二分图中,第一集合中的用户a与第二集合中的用户d、用户e、用户f的兴趣匹配程度分别为15、12、8,第一集合中的用户b与第二集合中的用户d、用户e、用户f的兴趣匹配程度分别为14、6、8,第一集合中的用户c与第二集合中的用户d、用户e、用户f的兴趣匹配程度分别为13、12、10,则在添加标杆时,如图2b所示,将15赋值为用户a的标杆,删除兴趣匹配程度分别为12、8的边,保留兴趣匹配程度为15的边,将14赋值为用户b的标杆,删除兴趣匹配程度分别为6、8的边,保留兴趣匹配程度为14的边,将13赋值为用户c的标杆,删除兴趣匹配程度分别为12、10的边,保留兴趣匹配程度为13的边,将用户d、用户e、用户f的标杆均赋值为0。
80.步骤1042、使用兴趣匹配程度对第一集合中的标杆与第二集合中的标杆进行匹配,获得最大匹配。
81.在本实施例中,可以使用匈牙利算法在二分图的当前子图中查找最大匹配,其中,最大匹配是指假设每条边有权值(兴趣匹配程度),那么,会存在一个最大权值(兴趣匹配程度)的匹配情况。
82.设第一集合中的第一用户为i,第二集合中的第二用户为j,在匹配时符合如下要求:
83.weight(i,j)=label(i) label(j)
84.其中,weight(i,j)表示用户i与用户j之间的兴趣匹配程度,label(i)表示用户i的标杆,label(j)表示用户j的标杆。
85.步骤1043、判断最大匹配是否为完备匹配,若否,则执行步骤1044,若是,则执行步骤1045。
86.完备匹配指第一集合中的每一个用户都与第二集合中的一个用户匹配,或者,第二集合中的每一个用户都与第一集合中的一个用户匹配。
87.步骤1044、修改标杆、通过增广路径对第一集合中的标杆与第二集合中的标杆之间增加新的兴趣匹配程度,返回执行步骤1042。
88.如果找不到完备匹配,则通过修改标杆,来为二分图中的当前子图添加一些边,该边一般为原有的兴趣匹配程度,但数值非最大的,在初始化时被删除。
89.进一步而言,对最大匹配的增广路径中的第一集合中的用户的标杆和所有第二集合中的用户的标杆修改,并将属于增广路径的第一集合中的用户和不属于增广路径的第二集合中的用户添加边,从而对二分图的子图进行扩充。
90.其中,增广路径为:若p是二分图g中一条连通两个未匹配节点的边,并且属于m的边和不属于m的边(即已匹配和待匹配的边)在p上交替出现,则称p为相对于m的一条增广路径
91.有第一集合a、第二集合b,增广路由a中一个节点通向b中一个节点点,再由b中该节点通向a中另一个节点,如此交替进行。
92.例如,如图2c所示的二分图,x0y0为已匹配的路径,x0y2、x1y0表示未匹配的路径,目前的边为x0y0,通过x1找到了增广路径:x1y0→
y0x0→
x0y2。
93.增广路径有两种寻径方法,一个是深搜,一个是宽搜。
94.例如从x2出发寻找增广路径,如果是深搜,x2找到y0匹配,但发现y0已经被x1匹配
了,于是就深入到x1,去为x1找新的匹配节点,结果发现x1没有其他的匹配节点,于是匹配失败,x2接着找y1,发现y1可以匹配,于是就找到了新的增广路径。
95.如果是宽搜,x1找到y0节点的时候,由于不能马上得到一个合法的匹配,于是将它做为候选项放入队列中,并接着找y1,由于y1已经匹配,于是匹配成功返回了。
96.在一个示例中,为便于描述,假设针对图2a进行匹配,可连接ad,形成一个新的子图,由于d点已经被连接,接下来要连b点无法与d点连接,此时,可以添加边,添加上不在子图中边权最大的边,也就是和子图里这个边权值差最小的边。
97.再一度引入了一变量d,d=min{c
x[i]
c
y[j]-w
[i][j]
},其中,cx
[i]
指的是a的标杆,cy
[j]
是除d点(即已连点)以外的点的标杆,w
[i][j]
指的前述两个标杆之间的边的权重。
[0098]
随后,对于原先存在于子图的边ad,将a的标杆cx
[i]
减去d,d的标杆cy
[d]
加上d。这样,保证了原先存在ad边保留在了子图中,并且把不在子图的最大权值的与a点相连的边ae添加到了子图。
[0099]
因为判断一条边是否在该子图的条件是其两端的节点的标杆满足c
x
cy==w
[x][y]
,对于原先的边,对左端点的标杆减去了d,对右端点的标杆加上了d,所以最终的结果还是不变,仍然是w
[x][y]

[0100]
对于要添加的边,对于左端点减去了d,即cx
[i]
=cx
[i]-d
,为方便表示把更改后的的cx
[i]
视为c
z[i]
,即c
z[i]
=c
x[i]-d,因为c
z[i]
=c
x[i]-d,d=c
x[i]
c
y[j]-w
[i][j]
,把d代入左式可得c
z[i]
=c
x[i]-(c
x[i]
c
y[j]-w
[i][j]
),化简得c
z[i]
c
y[j]
=w
[i][j]
,满足了要求,即添加了新的边。
[0101]
步骤1045、确定匹配成功的标杆所处的用户为用户对。
[0102]
不断重复执行步骤1042至步骤1044,直至找到完备匹配,此时,该完备匹配为最佳匹配,即,带权二分图的权值最大的完备匹配,此时,将匹配成功的标杆所处的用户记为用户对。
[0103]
在本发明的另一个实施例中,步骤104还可以包括如下步骤:
[0104]
步骤1046、查询用户对中用户之间的兴趣匹配程度。
[0105]
步骤1047、若兴趣匹配程度小于预设的阈值,则删除用户对。
[0106]
在二分图中依据兴趣匹配程度对用户进行匹配,更多的是保证整体是最大权重的完备匹配,较难保证每个匹配都是较优的匹配,并且,在二分图的构建过程中,为了保证能够找到完备匹配,可能会给子集任意两个节点(用户)添加一个较小权重(兴趣匹配程度)的边,例如,在属性相同、虚拟用户、好友关系等情况下,兴趣匹配程度会降低,因此,用户对可能是权重(兴趣匹配程度)较低的匹配。
[0107]
对此,本实施例可以进一步对一些匹配的用户进行裁剪,对于权重(兴趣匹配程度)较小(体现为兴趣匹配程度小于预设的阈值)的用户,认为本次匹配失败,对该用户对进行裁剪,即,在本次匹配中删除该用户对,从而保证用户匹配的精确度,从而提高好友的转化率。
[0108]
步骤105、对用户对中的用户建立会话、并在会话中屏蔽用户的至少部分用户信息。
[0109]
对于用户对中的两个用户,可以为该两个用户建立会话,在各自的客户端中显示会话的界面,这两个用户可以通过会话的界面进行通讯,例如,互相发送文本、图像、语音,等等。
[0110]
在陌生人社交中,可以屏蔽用户的至少部分用户信息,例如,头像、昵称、相册,等等,并不在会话的界面中显示,此时,该陌生人社交可以形象地称之为蒙面交友。
[0111]
当然,也可以保留用户的部分用户信息,例如,性别、地理位置,等等,在会话的界面中显示,本实施例对此不加以限制。
[0112]
由于存在裁剪等情况导致匹配失败,为了防止部分用户一直无法匹配到合适的用户导致超时,本实施例可以考虑等待的时长,缓存最近一段时间(如30秒)内匹配的结果(用户对),保证用户具有较优的匹配。
[0113]
进一步而言,针对每个用户可以记录其参与批注的第一时间,在匹配的过程中,可以确定当前用户参与匹配的第一时间,在第一时间的基础上添加预设的时间段(如30秒),作为第二时间,该第二时间为当前用户参与匹配的超时时间。
[0114]
若当前的第三时间与第二时间之间的差异小于预设的阈值(如5秒、10秒等)、且本次匹配并未对当前用户生成用户对,则可以读取在先匹配并缓存的用户对。
[0115]
在缓存的用户对中,查询与当前用户匹配的其他用户,从而对当前用户与其他用户建立会话、并在会话中屏蔽当前用户与其他用户的至少部分用户信息。
[0116]
在本实施例中,确定第一用户池,第一用户池中记录参与匹配的、且在线的用户,每间隔预设的时间从第一用户池中提取用户,以用户作为节点、用户之间的兴趣匹配程度为边,构建二分图,在二分图中依据兴趣匹配程度对互为独立的用户进行匹配,得到用户对,若用户参与匹配,则对用户对中的用户建立会话、并在会话中屏蔽用户的至少部分用户信息,二分图的结构较为简单,因此,在二分图中对用户进行匹配的计算量较少,可以保证实时性,满足陌生人社交的业务需求,通过兴趣匹配程度对用户进行匹配,可以丰富用户之间可共同交流的话题,提高用户之间建立社交关系链的概率,即提高用户之间的好友转化率,避免用户反复搜寻陌生人,从而避免服务端反复进行运算,减少对资源的浪费。
[0117]
实施例二
[0118]
图3为本发明实施例二提供的一种会话的建立方法的流程图,本实施例以前述实施例为基础,进一步增加ab测试的操作,该方法具体包括如下步骤:
[0119]
步骤301、确定第一用户池。
[0120]
其中,第一用户池中记录参与匹配的、且在线的用户。
[0121]
步骤302、每间隔预设的时间从第一用户池中提取用户。
[0122]
步骤303、以用户作为节点、用户之间的兴趣匹配程度为边,构建二分图。
[0123]
步骤304、在二分图中依据兴趣匹配程度对互为独立的用户进行匹配,得到用户对。
[0124]
步骤305、确定第二用户池。
[0125]
在本实施例中,可以在服务端的缓存或数据库中可以针对陌生人社交设置一区域,记为第二用户池,其中,第一用户池中记录参与匹配的、且在线的用户(以用户账号等标识表示)。
[0126]
第一用户池中的用户与第二用户池中的用户并不相同,第一用户池中的用户通过本实施例提供的方法进行匹配,第二用户池中的用户通过随机的方法进行匹配,使得可以对本实施例提供的方法、随机的方法进行ab测试,验证本实施例提供的方法的有效性。
[0127]
步骤306、从第二用户池中随机选择两个用户进行匹配,得到用户对。
[0128]
在本实施例中,可以从第二用户池中随机选择两个用户进行匹配,在满足一定条件(如与异性匹配)的情况下,认为两个用户匹配成功,得到用户对。
[0129]
步骤307、对用户对中的用户建立会话、并在会话中屏蔽用户的至少部分用户信息。
[0130]
步骤308、统计使用第一用户池进行匹配时、用户之间添加好友的第一概率。
[0131]
在第一用户池运行一时间段之后,可以统计在该时间段内使用第一用户池进行匹配时、用户之间添加好友的第一概率,即好友转化率。
[0132]
在具体实现中,可以统计在该时间段内使用第一用户池进行匹配时、相互添加为好友的用户的第一数目,以及,统计该时间段内第一用户池中所有用户的第二数目(即,用户的活跃数,若时间段为1天,则第二数目又称之为日活)。
[0133]
计算第一数目与第二数目之间的比值,作为该时间段内用户之间添加好友的第一概率。
[0134]
步骤309、统计使用第二用户池进行匹配时、用户之间添加好友的第二概率。
[0135]
在第二用户池运行一时间段之后,可以统计在该时间段内使用第二用户池进行匹配时、用户之间添加好友的第二概率,即好友转化率。
[0136]
在具体实现中,可以统计在该时间段内使用第二用户池进行匹配时、相互添加为好友的用户的第三数目,以及,统计第二用户池中所有用户的第四数目(即,用户的活跃数,若时间段为1天,则第四数目又称之为日活)。
[0137]
计算第三数目与第四数目之间的比值,作为用户之间添加好友的第二概率。
[0138]
步骤310、对第一概率与第二概率进行比较,获得测试结果。
[0139]
将第一概率与第二概率进行比较,可以得到ab测试的测试结果,供开发人员开发使用,经ab测试表明,测试结果为第一概率明显大于第二概率,即,在陌生人社交中,通过本实施例提供的方法进行匹配相比于通过随机的方法进行匹配的效果更优。
[0140]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0141]
实施例三
[0142]
图4为本发明实施例三供的一种会话的建立装置的结构框图,具体可以包括如下模块:
[0143]
第一用户池确定模块401,用于确定第一用户池,所述第一用户池中记录参与匹配的、且在线的用户;
[0144]
用户提取模块402,用于每间隔预设的时间从所述第一用户池中提取所述用户;
[0145]
二分图构建模块403,用于以所述用户作为节点、所述用户之间的兴趣匹配程度为边,构建二分图;
[0146]
用户匹配模块404,用于在所述二分图中依据所述兴趣匹配程度对互为独立的所述用户进行匹配,得到用户对;
[0147]
会话建立模块405,用于对所述用户对中的所述用户建立会话、并在所述会话中屏
蔽所述用户的至少部分用户信息。
[0148]
在本发明的一个实施例中,所述第一用户池确定模块401包括:
[0149]
属性查询模块,用于查询在第一用户池中记录待参与匹配的、且在线的用户指定的属性,所述属性用于划分二分图,包括第一值、第二值;
[0150]
数量统计模块,用于分别统计属于所述第一值的所述用户的第一数量,属于所述第二值的所述用户的第二数量;
[0151]
提示消息发送模块,用于以平衡所述第一数量与所述第二数量为目的,对未参与匹配的用户发送提示消息;
[0152]
用户写入模块,用于若接收到所述用户针对所述提示消息发送的确认消息时,将所述用户写入所述第一用户池中。
[0153]
在本发明的一个实施例中,所述提示消息发送模块包括:
[0154]
数量计算模块,用于分别确定第三数量、第四数量,所述第一数量加上所述第三数量的和值与所述第二数量加上所述第四数量的和值平衡;
[0155]
点击率计算模块,用于分别统计属于所述第一值的所述用户对于提示消息的第一点击率、属于所述第二值的所述用户对于提示消息的第二点击率;
[0156]
数量映射模块,用于分别按照所述第一点击率将所述第三数量映射至第五数量、按照所述第二点击率将所述第四数量映射至第六数量;
[0157]
数量发送模块,用于分别按照所述第五数量对属于所述第一值的、且未参与匹配的用户发送提示消息、按照所述第六数量对属于所述第二值的、且未参与匹配的用户发送提示消息。
[0158]
在本发明的一个实施例中,所述二分图构建模块403包括:
[0159]
属性确定模块,用于查询所述用户指定的属性;
[0160]
第一集合划分模块,用于若所述属性为第一值,则将所述用户划分为第一集合中的节点;
[0161]
第二集合划分模块,用于若所述属性为第二值,则将所述用户划分为第二集合中的节点;
[0162]
兴趣匹配程度计算模块,用于计算所述第一集合中的所述用户与所述第二集合中的所述用户之间的兴趣匹配程度;
[0163]
节点连接模块,用于将所述兴趣匹配程度作为边,连接所述第一集合中的所述用户与所述第二集合中的所述用户,获得二分图。
[0164]
在本发明的一个实施例中,所述二分图构建模块403还包括:
[0165]
集合数量统计模块,用于统计所述第一集合中所述用户的第一数量、所述第二集合中所述用户的第二数量;
[0166]
用户调节模块,用于若所述第一数量与所述第二数量不相等,则对所述第一集合和/或所述第二集合进行调节,直至所述第一数量与所述第二数量相等。
[0167]
在本发明的一个实施例中,所述用户调节模块包括:
[0168]
第一调节模块,用于若所述第一数量大于所述第二数量,则将所述第一集合中的部分所述用户调整为所述第二集合中的节点,和/或,在所述第二集合中添加表示虚拟用户的节点;
[0169]
第二调节模块,用于若所述第一数量小于所述第二数量,则将所述第二集合中的部分所述用户调整为所述第一集合中的节点,和/或,在所述第一集合中添加表示虚拟用户的节点。
[0170]
在本发明的一个实施例中,所述二分图构建模块403还包括:
[0171]
兴趣匹配程度降低模块,用于若所述第一集合中的所述用户与所述第二集合中的所述用户之间符合预设的衰减条件,则降低所述第一集合中的所述用户与所述第二集合中的所述用户之间的所述兴趣匹配程度。
[0172]
示例性地,所述衰减条件包括如下至少一种:
[0173]
所述第一集合中的所述用户的所述属性与所述第二集合中的所述用户的所述属性相同;
[0174]
所述第一集合中的所述用户与所述第二集合中的所述用户具有好友关系;
[0175]
所述第一集合中的所述用户或所述第二集合中的所述用户为虚拟用户。
[0176]
在本发明的一个实施例中,在所述二分图中,所述用户划分为互为独立的第一集合、第二集合;
[0177]
所述用户匹配模块404包括:
[0178]
标杆添加模块,用于参照作为边的所述兴趣匹配程度对作为节点的所述用户添加标杆;
[0179]
最大匹配寻找模块,用于使用所述兴趣匹配程度对所述第一集合中的所述标杆与所述第二集合中的所述标杆进行匹配,获得最大匹配;
[0180]
完备匹配判断模块,用于判断所述最大匹配是否为完备匹配;若否,则调用子图扩张模块,若是,则调用匹配成功确定模块;
[0181]
子图扩张模块,用于修改所述标杆、通过增广路径对所述第一集合中的所述标杆与所述第二集合中的所述标杆之间增加新的兴趣匹配程度,返回执行所述最大匹配寻找模块;
[0182]
匹配成功确定模块,用于确定匹配成功的所述标杆所处的所述用户为用户对。
[0183]
在本发明的一个实施例中,所述标杆添加模块包括:
[0184]
边保留模块,用于删除与所述第一集合中每个所述用户相连的、且数值非最大的所述兴趣匹配程度,以保留与所述第一集合中每个所述用户相连的、且数值最大的所述兴趣匹配程度;
[0185]
第一集合赋值模块,用于在所述第一集合中,对所述用户的标杆赋值为与所述用户相连的、且数值最大的所述兴趣匹配程度赋值;
[0186]
第二集合赋值模块,用于在所述第二集合中,对所述用户的标杆赋值为0。
[0187]
在本发明的一个实施例中,所述用户匹配模块404还包括:
[0188]
兴趣匹配程度查询模块,用于查询所述用户对中所述用户之间的兴趣匹配程度;
[0189]
用户对删除模块,用于若所述兴趣匹配程度小于预设的阈值,则删除所述用户对。
[0190]
在本发明的一个实施例中,所述会话建立模块405包括:
[0191]
第一时间确定模块,用于确定当前所述用户参与匹配的第一时间;
[0192]
第二时间计算模块,用于在所述第一时间的基础上添加预设的时间段,作为第二时间;
[0193]
缓存读取模块,用于若当前的第三时间与所述第二时间之间的差异小于预设的阈值、且本次匹配并未对当前所述用户生成用户对,则读取在先匹配并缓存的用户对;
[0194]
用户查询模块,用于在缓存的所述用户对中,查询与当前所述用户匹配的其他所述用户;
[0195]
历史会话建立模块,用于对当前所述用户与其他所述用户建立会话、并在所述会话中屏蔽当前所述用户与其他所述用户的至少部分用户信息。
[0196]
在本发明的一个实施例中,还包括:
[0197]
第二用户池确定模块,用于确定第二用户池,所述第一用户池中记录参与匹配的、且在线的用户;
[0198]
随机匹配模块,用于从所述第二用户池中随机选择两个所述用户进行匹配,得到用户对;
[0199]
第一概率计算模块,用于统计使用所述第一用户池进行匹配时、所述用户之间添加好友的第一概率;
[0200]
第二概率计算模块,用于统计使用所述第二用户池进行匹配时、所述用户之间添加好友的第二概率;
[0201]
测试结果生成模块,用于对所述第一概率与所述第二概率进行比较,获得测试结果。
[0202]
在本发明的一个实施例中,所述第一概率计算模块包括:
[0203]
第一数目统计模块,用于统计使用所述第一用户池进行匹配时、相互添加为好友的所述用户的第一数目;
[0204]
第二数目统计模块,用于统计所述第一用户池中所有所述用户的第二数目;
[0205]
第一比值计算模块,用于计算所述第一数目与所述第二数目之间的比值,作为所述用户之间添加好友的第一概率。
[0206]
在本发明的一个实施例中,所述第二概率计算模块包括:
[0207]
第三数目统计模块,用于统计使用所述第二用户池进行匹配时、相互添加为好友的所述用户的第三数目;
[0208]
第四数目统计模块,用于统计所述第二用户池中所有所述用户的第四数目;
[0209]
第二比值计算模块,用于计算所述第三数目与所述第四数目之间的比值,作为所述用户之间添加好友的第二概率。
[0210]
本发明实施例所提供的会话的建立装置可执行本发明任意实施例所提供的会话的建立方法,具备执行方法相应的功能模块和有益效果。
[0211]
实施例四
[0212]
图5为本发明实施例四提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0213]
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0214]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,
外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0215]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0216]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0217]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0218]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0219]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的会话的建立方法。
[0220]
实施例五
[0221]
本发明实施例五还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述会话的建立方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0222]
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行
系统、装置或者器件使用或者与其结合使用。
[0223]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献