掌桥专利:专业的专利平台
掌桥专利
首页

用户匹配方法、计算设备和计算机可读存储介质

文献发布时间:2023-06-19 13:49:36


用户匹配方法、计算设备和计算机可读存储介质

技术领域

本发明概括而言涉及机器学习领域,更具体地,涉及一种用户匹配方法、计算设备和计算机可读存储介质。

背景技术

随着各种社交平台和电商平台的不断发展,越来越多的用户通过这些社交平台或电商平台来获取各种资讯和/或商品或者进行交互。在一些场景中,当用户登录社交平台或电商平台时,社交平台或电商平台的服务器会向该用户推荐一些内容或商品,并展示在用户终端上。

在另一些场景中,用户可能希望通过社交平台寻找与其匹配的其他用户来进行交互。这种用户匹配的场景与传统的内容推荐或者商品推荐的场景具有很大的不同。具体地,在传统的基于信息流的内容推荐或者商品推荐场景下,用户对内容或商品的正反馈通常使用点击率、成交量等极其稀疏的行为,而在用户匹配场景下,如果简单定义正反馈条件为“匹配到的两个人开始交互”,反而会遇到负样本不足的问题。因此,用户匹配场景下的正反馈条件需要有新的定义,使得其既满足必须的数据量,又不至于没有负样本。

此外,在传统的基于信息流的内容推荐或者商品推荐场景下,在用户获得曝光后,仅需等待较短的时间就能获得正反馈。例如,如果用户刷到一个视频,他离开这个视频前,如果有正反馈行为,就会立刻传输到后端,确定该视频是否是有正反馈的正样本不会花超过视频长度的时间。而在用户匹配场景下,如果提高正反馈条件,确定正样本的时间会越来越长。例如,如果将正反馈条件定义为两个匹配到的用户对话超过5个来回才是正样本,则在很多用户行为稀疏的社交平台上,即使是日活百万用户的社交平台上,两个用户之间对话达到5个来回也需要花几十分钟,甚至一个小时,这意味着需要等待至少1个小时才能够确定有无正反馈,从而确定一个样本。在这种情况下,传统的基于信息流场景的样本确定方式将无法工作。

发明内容

针对上述问题,本发明提供了一种用户匹配方案,其中利用社交平台的实时流日志和延迟流日志获取用户之间的交互情况以确定相应的训练样本,并且利用这样的训练样本对针对匹配设计的深度神经网络模型进行训练。通过这些方式,本发明的方案解决了候选用户池过小以及用户匹配数据少造成的用户数据稀疏情况下的用户匹配问题。

根据本发明的一个方面,提供了一种用户匹配方法。该方法包括:基于社交平台的流式日志确定训练样本,所述训练样本指示在预定时间段内所述社交平台的第一用户和第二用户之间的交互情况;基于所述训练样本对深度神经网络模型进行训练以确定所述第一用户和所述第二用户之间的第一匹配得分;基于所述第一用户的第一用户稀疏向量和所述第二用户的第二用户稀疏向量确定所述第一用户和所述第二用户之间的第二匹配得分,并且基于所述第一匹配得分和所述第二匹配得分确定所述第一用户和所述第二用户之间的匹配得分;基于所述匹配得分对所述深度神经网络模型的权重函数进行更新;以及基于训练后的深度神经网络模型为所述社交平台的一个用户确定匹配用户。

根据本发明的另一个方面,提供了一种计算设备。该计算设备包括:至少一个处理器;以及至少一个存储器,该至少一个存储器被耦合到该至少一个处理器并且存储用于由该至少一个处理器执行的指令,该指令当由该至少一个处理器执行时,使得该计算设备执行根据上述方法的步骤。

根据本发明的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。

在一些实施例中,基于社交平台的流式日志确定训练样本包括:获取所述社交平台的流式日志;基于所述流式日志和用户画像确定所述第一用户的第一用户特征集合和所述第二用户的第二用户特征集合;基于所述第一用户特征集合确定所述第一用户的第一用户稠密向量;基于所述第二用户特征集合确定所述第二用户的第二用户稠密向量;随机设置所述第一用户稀疏向量和所述第二用户稀疏向量;以及将所述第一用户稠密向量、所述第一用户稀疏向量、所述第二用户稠密向量和所述第二用户稀疏向量拼接为所述训练样本。

在一些实施例中,基于所述训练样本对深度神经网络模型进行训练以确定所述第一用户和所述第二用户之间的第一匹配得分包括:将所述训练样本输入所述深度神经网络模型的第一稠密化层,以得到第一稠密输出;将所述第一稠密输出通过第一激活层进行非线性映射,以得到第一激活输出,其中所述第一激活输出与所述第一稠密输出的维度相同;将所述第一激活输出输入所述深度神经网络模型的第二稠密化层,以得到第二稠密输出,其中所述第二稠密输出的维度小于所述第一稠密输出;将所述第二稠密输出通过第二激活层进行非线性映射,以得到第二激活输出,其中所述第二激活输出与所述第二稠密输出的维度相同;以及将所述第二激活输出输入第三稠密化层以得到所述第一匹配得分。

在一些实施例中,确定所述第一用户和所述第二用户之间的匹配得分包括:对所述第一用户稀疏向量和所述第二用户稀疏向量执行点乘运算以确定所述第一用户和所述第二用户之间的第二匹配得分,并且对所述第一匹配得分和所述第二匹配得分求和以确定所述第一用户和所述第二用户之间的匹配得分。

在一些实施例中,基于所述匹配得分对所述深度神经网络模型的权重函数进行更新包括:利用所述深度神经网络模型的激活函数和所述匹配得分确定所述第一用户和所述第二用户之间的匹配度;基于所述第一用户和所述第二用户之间的匹配度、所述训练样本的样本标签和所述深度神经网络模型的损失函数确定所述匹配度在所述深度神经网络模型的最后一层的梯度值;以及基于所述匹配度在所述深度神经网络模型的最后一层的梯度值对所述深度神经网络模型的每一层的权重函数进行更新。

在一些实施例中,基于训练后的深度神经网络模型为所述社交平台的一个用户确定匹配用户包括:利用训练好的深度神经网络模型确定所述用户与所述社交平台的多个候选用户之间的匹配度;基于所述用户与所述多个候选用户之间的匹配度对所述多个候选用户进行排序;以及选择所述多个候选用户中与所述用户的匹配度最高的候选用户作为所述用户的匹配用户。

在一些实施例中,基于所述匹配得分对所述深度神经网络模型的权重函数进行更新之前还包括:从所述流式日志中截取实时流日志,并且从所述实时流日志延迟预定时间段以从所述流式日志中截取延迟流日志;基于所述实时流日志和所述延迟流日志确定所述第一用户和所述第二用户在所述预定时间段内是否满足正反馈条件;响应于确定所述第一用户和所述第二用户在所述预定时间段内满足所述正反馈条件,将所述训练样本的样本标签设置为指示正样本;以及响应于确定所述第一用户和所述第二用户在所述预定时间段内不满足所述正反馈条件,将所述训练样本的样本标签设置为指示负样本。

在一些实施例中,所述正反馈条件包括所述第一用户和所述第二用户在所述预定时间段内至少交互预定次数。

附图说明

通过参考下列附图所给出的本发明的具体实施方式的描述,将更好地理解本发明,并且本发明的其他目的、细节、特点和优点将变得更加显而易见。

图1示出了用于实现根据本发明的实施例的用户匹配方法的系统的示意图。

图2示出了根据本发明的一些实施例的用户匹配方法的流程图。

图3示出了根据本发明实施例的用于确定训练样本的步骤的流程图。

图4示出了根据本发明实施例的对深度神经网络模型进行训练的步骤的流程图。

图5示出了根据本发明实施例的深度神经网络模型的结构示意图。

图6示出了根据本发明实施例的对深度神经网络模型的权重函数进行更新的步骤的流程图。

图7示出了根据本发明一些实施例的用于确定匹配用户的步骤的流程图。

图8示出了根据本发明实施例的为每个训练样本确定样本标签的步骤的流程图。

图9示出了适合实现本发明的实施例的计算设备的结构方框图。

具体实施方式

下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整的传达给本领域的技术人员。

在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。

除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。

在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。

此外,说明书和权利要求中所用的第一、第二等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等。

图1示出了用于实现根据本发明的实施例的用户匹配方法的系统1的示意图。如图1中所示,系统1包括多个用户终端10、12、14……、计算设备20、服务器30和网络40。多个用户终端、计算设备20和服务器30可以通过网络40进行数据交互。这里,每个用户终端可以是终端用户的移动或固定终端,如手机、平板电脑、台式机等。用户终端例如可以通过其上安装的社交平台应用程序与社交平台的服务器30通信,以向服务器30发送信息和/或从服务器30接收信息。计算设备20基于来自用户终端和/或服务器30的数据执行相应的操作。计算设备20可以包括至少一个处理器210和与该至少一个处理器210耦合的至少一个存储器220,该存储器220中存储有可由该至少一个处理器210执行的指令230,该指令230在被该至少一个处理器210执行时执行如下所述的用户匹配方法100的至少一部分。注意,在本文中,计算设备20可以是服务器30的一部分或者可以独立于服务器30。计算设备20或服务器30的具体结构例如可以如下结合图9所述。

图2示出了根据本发明的一些实施例的用户匹配方法100的流程图。用户匹配方法100例如可以由图1中所示的系统1中的计算设备20或服务器30执行。以下以在计算设备20中执行为例,结合图1至图9对用户匹配方法100进行描述。

如图2中所示,用户匹配方法100包括步骤110,其中计算设备20可以基于社交平台的流式日志确定训练样本。训练样本可以指示在预定时间段内社交平台的第一用户和第二用户之间的交互情况。例如,该训练样本可以指示在该预定时间段内第一用户和第二用户之间是否进行了对话以及对话次数。

图3示出了根据本发明实施例的用于确定训练样本的步骤110的流程图。

如图3中所示,步骤110可以包括子步骤111,其中计算设备20可以获取该社交平台的流式日志。该流式日志例如可以存储在图1所示的系统1的服务器30或与服务器30相关联的数据库(图中未示出)中。对于具有高流量和短生命周期内容的社交平台来说,该流式日志可以是该社交平台的分钟级流式日志,该分钟级流式日志中记录有多个用户对大量分散的内容的用户行为以及多个用户彼此之间的交互情况。对于特定用户来说,该流式日志中可能记录有该用户对社交平台上的多个内容的用户行为或者该用户与社交平台上的其他用户的交互行为。这里,内容可以是指社交平台的用户所上传的图片、视频、文本或其组合,用户行为例如可以包括对内容进行点击、点赞、评论、收藏、转发等用户操作中的至少一种,或者不对内容执行任何用户操作。在本文中,两个用户之间的交互行为可以包括两个用户之间的至少一次交互式会话。

在子步骤112,计算设备20可以基于该流式日志和用户画像确定第一用户的第一用户特征集合和第二用户的第二用户特征集合。这里,假设用户终端10是第一用户的用户终端,用户终端12是第二用户的用户终端,以下也将第一用户称为第一用户10,将第二用户称为第二用户12。如前所述,流式日志中包含了一个用户针对内容的用户行为和与其他用户的交互行为,基于这些行为和用户画像(如用户姓名、性别、年龄等)可以获得用户特征集合。用户画像可以单独存储在服务器30中,使得计算设备20可以基于该用户画像和流式日志确定每个用户的用户特征集合。

这里,用户特征集合可以包括该用户的属性特征,例如年龄、性别、所属城市等,还可以包括该用户与其他用户的交互特征(如是否有交互、交互形式以及交互次数等)。

在子步骤113,计算设备20可以基于第一用户特征集合确定第一用户稠密向量,并且在子步骤114,计算设备20可以基于第二用户特征集合确定第二用户稠密向量。

用户稠密向量例如可以通过对用户特征集合中的用户特征进行拼接操作来得到,用于指示出现概率较高(例如在一个批次中)的用户特征(如用户性别、年龄等用户属性特征和粉丝数、点赞数、评论数等用户统计特征)。

在一种实施例中,可以如下确定第一用户稠密向量:

其中,

类似地,可以如下确定第二用户稠密向量:

其中,

在子步骤115,计算设备20可以随机设置第一用户稀疏向量

与用户稠密向量相反,用户稀疏向量用于指示出现概率较低的用户特征(如用户姓名(ID)、所属城市、自定义标签等)。通常,将在一个训练批次(Batch)内具有相同特征值的概率较低的用户特征称为用户稀疏特征。例如,在一个训练批次内,同一用户姓名在整个训练批次内出现概率比较低,因此可以将该用户特征作为一个用户稀疏特征。

注意,用户稀疏特征和用户稠密特征的划分并不是绝对的,而是可以随着应用场景的不同而不同。例如,对于“所属城市”这一用户特征,如果某个社交平台主要针对某个特定地域,其用户的所属城市集中于一个或少数几个城市,则“所属城市”可以是一个用户稠密特征。

接下来,在子步骤116,计算设备20可以将第一用户稠密向量

这里,可以利用如上所述的concat()函数来对第一用户稠密向量

接下来,继续图2,在步骤120,计算设备20可以基于该训练样本对深度神经网络模型进行训练以确定第一用户10和第二用户12之间的第一匹配得分S1。

图4示出了根据本发明实施例的对深度神经网络模型进行训练的步骤120的流程图。图5示出了根据本发明实施例的深度神经网络模型500的结构示意图。在本文中,深度神经网络模型500例如可以是DeepFM模型。如图5中所示,深度神经网络模型500可以包括第一稠密化层510、第一激活层520、第二稠密化层530、第二激活层540和第三稠密化层550。

在模型训练阶段,深度神经网络模型500可以输入上述构建的多个训练样本x

在模型使用阶段,深度神经网络模型500可以针对一个特定用户的候选用户池中的多个候选用户分别构建与训练样本x

如图4所示,步骤120可以包括子步骤121,其中,计算设备20可以将训练样本x

在一种实施例中,第一稠密输出可以如下确定:

x

在其他实施例中,训练样本x

X

其中,B是批量输入的训练样本x

在这种情况下,第一稠密输出可以表示为:

X

其中,dense操作是指利用Tensorflow中的dense函数获得输入向量的全连接向量的操作。

在一种实施例中,第一稠密化层510可以是一个(N+1)*512的矩阵(除了训练样本x

在子步骤122,计算设备20可以将第一稠密输出x

在一种实施例中,第一激活输出可以如下确定:

x

其中,Relu()为非线性激活函数,其通常用于深度神经网络的隐藏层的输出。Relu()可以简单表示为:

Relu(x)=max(0,x)|。 (8)

在批量输入X

X

在这种情况下,第一激活层520对第一稠密输出x

在子步骤123,计算设备20可以将第一激活输出x

在一种实施例中,第二稠密输出可以如下确定:

x

在批量输入X

X

在一种实施例中,第二稠密化层530可以是一个(512+1)*256的矩阵,因此第一激活输出X

接下来,在子步骤124,计算设备20可以将第二稠密输出x

在一种实施例中,第二激活输出可以如下确定:

x

其中,Relu()为非线性激活函数,如上所述。

在批量输入X

X

在这种情况下,第二激活层540对第二稠密输出x

接下来,在子步骤125,计算设备20可以将第二激活输出x

在一种实施例中,第一匹配得分可以如下确定:

x

在批量输入X

X

在一种实施例中,第三稠密化层550被设置为(256+1)*1的矩阵,从而第三稠密化层550输出一个B*1的向量,该向量中的每个元素代表一个训练样本x

至此,对深度神经网络模型500进行了一次训练,从整个模型的角度来看,相当于

X

其中,W是深度神经网络模型500的权重函数,b是深度神经网络模型500的偏置函数,对深度神经网络模型500进行训练的目的是使得其权重函数W和偏置函数b不断更新至收敛值。这里,权重函数W的初始值可以任意设置,或者,可以根据经验设置。

然而,由于用户稀疏向量的特性,在经过深度神经网络模型500的上述处理之后,其在第一匹配得分S1中的贡献可能变得非常小,这可能不利于从用户稀疏特征中寻找到最匹配的用户。

为此,图2的用户匹配方法100还包括步骤130,其中计算设备20可以基于上述第一用户稀疏向量和第二用户稀疏向量确定第一用户10和第二用户12之间的第二匹配得分S2,并且基于步骤120得到的第一匹配得分S1和该第二匹配得分S2确定第一用户10和第二用户12之间的匹配得分S。

具体地,在一种实施例中,计算设备20可以对第一用户稀疏向量

然后,计算设备20可以对第一匹配得分S1和第二匹配得分S2求和以确定第一用户10和第二用户12之间的匹配得分S,即S=S1+S2。

接下来,在步骤140,计算设备20可以基于步骤130确定的匹配得分S对深度神经网络模型500的权重函数进行更新。

图6示出了根据本发明实施例的对深度神经网络模型500的权重函数W进行更新的步骤140的流程图。

如图6中所示,步骤140可以包括子步骤142,其中计算设备20可以利用深度神经网络模型500的激活函数和匹配得分S确定第一用户10和第二用户12之间的匹配度。

在一种实施例中,深度神经网络模型500的激活函数可以是S型函数Sigmoid函数。Sigmoid函数可以表示为:

如前所述,匹配得分S是一个数值,可以表示对应的训练样本的得分,通过使用激活函数对匹配得分S进行处理使得得到的结果(匹配度M)更加适合做二分类。

例如,匹配度M可以如下确定:

M=Sigmoid(S) (18)

在子步骤144,计算设备20可以基于第一用户10和第二用户12之间的匹配度M、该训练样本的样本标签和深度神经网络模型500的损失函数确定匹配度M在深度神经网络模型500的最后一层的梯度值。

这里,深度神经网络模型500的损失函数可以是均方差损失函数或者交叉熵损失函数。以下,以交叉熵损失函数为例来对子步骤144进行描述,交叉熵损失函数与Sigmoid激活函数相结合的效果更好,能够避免Sigmoid激活函数本身弥散带来的缺点。但是本领域技术人员可以理解,相同的发明构思可以等同地应用于均方差损失函数。

在一种实施例中,交叉熵损失函数Loss可以表示为:

其中

在本发明的一些实施例中,使用反向传播算法来对深度神经网络模型500的各个层的权重函数W

因此,在子步骤144中,可以基于交叉熵损失函数Loss和第K层的权重函数W

接下来,在子步骤146,计算设备20可以基于匹配度M在深度神经网络模型500的最后一层的梯度值对深度神经网络模型500的多个层的每一层的权重函数进行更新。

具体地,可以利用批量(Batch)、小批量(mini-Batch)或者随机梯度下降法中的任意一种,基于深度神经网络模型500的第K层的梯度值

基于预设的迭代步长重复上述步骤140的操作,直至达到最大迭代次数或者达到停止迭代阈值。至此,深度神经网络模型500的权重函数W(以及偏置函数b)被训练至收敛值,可用于计算两个用户之间的匹配度。

继续图2,在步骤150,计算设备20可以基于训练后的深度神经网络模型500为社交平台的一个用户确定匹配用户。

图7示出了根据本发明一些实施例的用于确定匹配用户的步骤150的流程图。

如图7中所示,步骤150可以包括子步骤152,其中计算设备20可以利用训练好的深度神经网络模型500确定一个用户与多个候选用户之间的匹配度M。这里,多个候选用户例如可以是该用户的候选用户池中的候选用户。在一种实施例中,社交平台的用户例如可以根据年龄或者性别等分为主动用户和被动用户,匹配操作可以由主动用户发起,并且计算该主动用户与候选用户池中的每个被动用户之间的匹配度以从中选择最匹配的被动用户。

确定一个用户与候选用户之间的匹配度的过程与上述步骤120至140中所述的确定匹配度的过程基本相同,这里不再赘述。

接下来,在子步骤154,计算设备20可以基于该用户与其多个候选用户之间的匹配度对这些候选用户进行排序,并且在子步骤156,计算设备20可以选择这些候选用户中与该用户的匹配度最高的一个候选用户作为该用户的匹配用户。

例如,计算设备20可以将多个候选用户的匹配度按照从高到低的顺序排序,并且将匹配度最高的一个候选用户展示在该用户的用户终端的显示屏上,以供该用户确认或选定。

可以看出,在步骤140中对深度神经网络模型500的权重函数进行更新时需要基于第一用户10和第二用户12之间的匹配度M、该训练样本的样本标签和深度神经网络模型500的损失函数。这里,训练样本的样本标签用于指示该训练样本所涉及的第一用户10和第二用户12是否满足预定的正反馈条件。

如前所述,在本发明的用户匹配场景中,需要重新定义正反馈条件,以使得既能得到足够数量的正样本,又不至于没有负样本。为此,在本发明中,可以将正反馈条件定义为第一用户10和第二用户12在预定时间段内至少交互预定次数。例如,可以将该预定时间段设置为1小时,并且将该预定次数设置为3至5中的一个值。为此,用户匹配方法100还可以包括:在步骤140之前(例如在步骤110中确定训练样本的同时或者在步骤140和110之间的任意时刻)为每个训练样本确定样本标签,即确定该训练样本是正样本还是负样本。

图8示出了根据本发明实施例的为每个训练样本确定样本标签的步骤160的流程图。

如图8中所示,步骤160可以包括子步骤162,其中计算设备20可以从步骤110中获取的流式日志中截取实时流日志,并且从实时流日志延迟该预定时间段以从该流式日志中截取延迟流日志。

如前所述,在用户行为稀疏的社交平台上,如果提高正反馈条件,则确定一个训练样本的时间将非常长,传统的基于信息流场景的样本确定方式将无法工作。为此,在本文中,在确定训练样本时,可以设置双流式结构,截取当前时刻(例如中午12:00时刻)的用户日志作为实时流日志,并且截取实时流日志延迟预定时间段(如1小时)的时刻(例如上午11:00时刻)的用户日志作为延迟流日志,从而可以基于实时流日志和延迟流日志确定两个用户之间的交互情况,以进一步确定训练样本。

在子步骤164,计算设备20可以基于实时流日志和延迟流日志确定第一用户10和第二用户12在该预定时间段内是否满足正反馈条件。例如,可以确定第一用户10和第二用户12在该预定时间段内是否发生了5次对话。

如果确定第一用户10和第二用户12在该预定时间段内满足正反馈条件(子步骤164的判断为“是”),则在子步骤166,计算设备20可以将该训练样本的样本标签设置为指示正样本。例如,可以将该训练样本的样本标签设置为1。

另一方面,如果确定第一用户10和第二用户12在该预定时间段内不满足正反馈条件(子步骤164的判断为“否”),则在子步骤168,计算设备20可以将该训练样本的样本标签设置为指示负样本。例如,可以将该训练样本的样本标签设置为0。这里,第一用户10和第二用户12在该预定时间段内不满足正反馈条件可以包括第一用户10和第二用户12在该预定时间段内没有交互或者交互次数没有达到该预定次数(例如5次)。

此外,为了控制负样本数量,在步骤160中还可以基于训练样本的样本标签对步骤110得到的完整训练样本进行过滤,以滤除没有交互行为的训练样本,以及控制每个用户的负样本的数量。这样,能够保证在对深度神经网络模型500进行训练时,训练样本不会集中于少量用户产生的大量训练样本,从而使得训练产生的模型不具有普适性。

图9示出了适合实现本发明的实施例的计算设备900的结构方框图。计算设备900例如可以是如上所述的计算设备20或服务器30。

如图9中所示,计算设备900可以包括一个或多个中央处理单元(CPU)910(图中仅示意性地示出了一个),其可以根据存储在只读存储器(ROM)920中的计算机程序指令或者从存储单元980加载到随机访问存储器(RAM)930中的计算机程序指令,来执行各种适当的动作和处理。在RAM 930中,还可存储计算设备900操作所需的各种程序和数据。CPU 910、ROM 920以及RAM 930通过总线940彼此相连。输入/输出(I/O)接口950也连接至总线940。

计算设备900中的多个部件连接至I/O接口950,包括:输入单元960,例如键盘、鼠标等;输出单元970,例如各种类型的显示器、扬声器等;存储单元980,例如磁盘、光盘等;以及通信单元990,例如网卡、调制解调器、无线通信收发机等。通信单元990允许计算设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的用户匹配方法100例如可由计算设备900(如计算设备20或服务器30)的CPU 910执行。例如,在一些实施例中,用户匹配方法100可被实现为计算机软件程序,其被有形地包括于机器可读介质,例如存储单元980。在一些实施例中,计算机程序的部分或者全部可以经由ROM 920和/或通信单元990而被载入和/或安装到计算设备900上。当计算机程序被加载到RAM 930并由CPU 910执行时,可以执行上文描述的用户匹配方法100的一个或多个操作。此外,通信单元990可以支持有线或无线通信功能。

本领域技术人员可以理解,图9所示的计算设备900仅是示意性的。在一些实施例中,计算设备20或服务器30可以包含比计算设备900更多或更少的部件。

以上结合附图对根据本发明的用户匹配方法100以及可用作计算设备20或服务器30的计算设备900进行了描述。然而本领域技术人员可以理解,用户匹配方法100的步骤的执行并不局限于图中所示和以上所述的顺序,而是可以以任何其他合理的顺序来执行。此外,计算设备900也不必须包括图9中所示的所有组件,其可以仅仅包括执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。

本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。

在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本发明所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。

本文公开的装置的各个单元可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件,如处理器上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本发明所描述的各种示例性的逻辑块、模块和电路。

本领域普通技术人员还应当理解,结合本发明的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。

本发明的以上描述用于使本领域的任何普通技术人员能够实现或使用本发明。对于本领域普通技术人员来说,本发明的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它变形。因此,本发明并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。

相关技术
  • 用户匹配方法、计算设备和计算机可读存储介质
  • 认证用户的方法、移动计算设备、计算机可读存储介质
技术分类

06120113822250