CN115687944A - 一种短信采集方法及相关设备 - Google Patents

一种短信采集方法及相关设备 Download PDF

Info

Publication number
CN115687944A
CN115687944A CN202211681083.6A CN202211681083A CN115687944A CN 115687944 A CN115687944 A CN 115687944A CN 202211681083 A CN202211681083 A CN 202211681083A CN 115687944 A CN115687944 A CN 115687944A
Authority
CN
China
Prior art keywords
short message
target
vector
side device
keyword
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.)
Granted
Application number
CN202211681083.6A
Other languages
English (en)
Other versions
CN115687944B (zh
Inventor
刘思桐
林文瑞
崔成
张天宇
张云柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211681083.6A priority Critical patent/CN115687944B/zh
Publication of CN115687944A publication Critical patent/CN115687944A/zh
Application granted granted Critical
Publication of CN115687944B publication Critical patent/CN115687944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种短信采集方法及相关设备。根据该方法,端侧设备可以基于第一原型网络确定第一短信对应的表示向量和目标原型向量的相似度,并在基于该相似度确定第一短信的类别为所述目标短信类别的情况下,端侧设备将第二短信发送给云侧设备。目标原型向量用于表示目标短信类别的向量。第二短信为第一短信,或将第一短信包括的隐私类实体替换为特殊字符后的短信。其中,第一原型网络是以最小化第一损失函数为目标对原始原型网络进行训练所得的原型网络。第一损失函数包含第一短信集中的短信对应的表示向量与目标短信类别对应的关键词对应的词向量之间的相似度损失和交叉熵损失。上述方法可以高效采集短信,还可以同时保护用户隐私信息。

Description

一种短信采集方法及相关设备
技术领域
本申请涉及终端技术领域,尤其涉及一种短信采集方法及相关设备。
背景技术
随着电子设备功能的逐渐完善,越来越多的电子设备不仅可以满足用户的通信需求,还可以给用户提供多种获取外界信息的渠道,以及多种多样的娱乐方式。电子设备还可以基于用户信息来给用户提供更加智能化的服务,大大方便了用户的工作和生活。比如,电子设备可以通过采集并分析用户短信,来给用户提供智能服务(例如,航班提醒服务、酒店提醒服务、话费缴费提醒服务和还款提醒服务等)。
在一种可能的实现方式中,电子设备可以采集用户的全部短信,然后将这些短信上传至云侧进行处理。但是,这种方式无法保证隐私安全,容易造成用户隐私信息泄露,并且,由于采集的是全部短信,其中大部分短信为无效短信(例如,推广短信),会增加数据清洗成本。另外,云侧依赖于固定模型或人工标注进行短信分类,依赖于固定模型可能导致分类结果不理想,依赖于人工标注会导致分类效率低。在又一种可能的实现方式中,用户可以基于自身意愿手动在电子设备中筛选上传的短信,然后电子设备再将这些筛选得到的短信上传至云侧进行处理。但是,这种方式需要用户手动操作(即人工操作),效率比较低,并且,由于是用户手动操作,电子设备无法确定哪一类短信为有效短信,也就无法进一步帮助用户进行筛选。
因此,如何更加高效的采集短信是目前亟待解决的问题。
发明内容
本申请提供了一种短信采集方法及相关设备。根据该短信采集方法,云侧设备可以向端侧设备发送目标关键词、目标短信类别对应的原型向量和原型网络的相关数据,相应的,端侧设备接收这些数据之后,可以基于目标关键词采集短信,还可以基于原型向量和原型网络采集短信。端侧设备可以将采集到的短信发送给云侧设备。在一些实施例中,端侧设备可以隐藏采集到的短信中的用户隐私信息,并将隐藏用户隐私信息后的短信发送给云侧设备。上述方法可以更高效的采集短信,还可以保护用户隐私信息。
第一方面,本申请提供了一种短信采集方法。该方法可以包括:端侧设备可以基于第一原型网络确定第一表示向量,以及确定所述第一表示向量和目标原型向量的相似度,并在基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别的情况下,将第二短信发送给云侧设备。其中,第一表示向量可以为第一短信对应的表示向量。第一短信为端侧设备接收的任意一条短信。目标原型向量为基于第一原型网络确定的用于表示目标短信类别的向量。第二短信为第一短信,或将第一短信包括的隐私类实体替换为特殊字符后的短信。第一原型网络是以最小化第一损失函数为目标对原始原型网络进行训练所得的原型网络。第一损失函数包含第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,以及交叉熵损失。第一目标关键词为目标短信类别对应的关键词。
在本申请提供的方案中,端侧设备可以基于第一原型网络和目标原型向量确定其接受的短信的类别是否为目标短信类别。若基于第一原型网络确定的短信对应的表示向量与目标原型向量之间的相似度满足一定条件(例如,步骤S610中的第三条件、步骤S709中的第四条件等),则端侧设备可以确定该短信的类别即为目标短信类别。端侧设备可以直接将类别为目标短信类别的短信发送给云侧设备,还可以将隐藏该类别为目标短信类别的短信中的用户隐私信息后所得短信发送给云侧设备。通过这种方法,端侧设备可以更为高效准确地筛选类别为目标短信类别的短信,提高了短信采集效率。并且,上传云侧的短信中的用户隐私信息可以得以隐藏,从而实现对用户隐私的保护。
在本申请的一些实施例中,第一原型网络可以为训练后的原型网络100,目标原型向量可以为原型向量C_1。在这种情况下,原始原型网络可以为原型网络100。第一短信可以为短信MES3中的短信。这种具体实现方式可以参考图6的相关描述。在本申请的一些实施例中,第一原型网络可以为原型网络100,目标原型向量可以为原型向量C_2。在这种情况下,原始原型网络可以为下文所提及的初始原型网络,还可以为基于其他样本对初始原型网络训练所得的原型网络。第一短信可以为短信MES4中的短信。这种具体实现方式可以参考图7的相关描述。
在本申请的一些实施例中,第一短信可以为端侧设备接受的任意一条通道号短信。
可理解,端侧设备将采集的短信所包括的隐私类实体替换为特殊字符的具体实现方式可以参考下文,在此不展开说明。
可理解,第一损失函数可以为第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,以及交叉熵损失的和。
在本申请的一些实施例中,第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,具体可以为:第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的余弦距离的负数。
在本申请的又一些实施例中,第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,具体可以为:第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的余弦距离的负数和常数(例如,1)的和。
在本申请的又一些实施例中,第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,具体可以为:第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的欧式距离。
可理解,第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度越大,第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失越小。第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度不仅可以通过这二者的余弦距离、欧式距离来表示,还可以通过曼哈顿距离、切比雪夫距离等来表示,本申请对此不作限制。
在本申请的一些实施例中,第一短信集可以为短信MES1。
在本申请的一些实施例中,第一目标关键词可以为步骤S601-步骤S602和步骤S701-步骤S702中所提及的目标关键词,还可以为下文所提及的更新前的目标关键词。
可理解,交叉熵损失的相关描述可以参考下文,在此不展开说明。
结合第一方面,在一种可能的实现方式中,第一短信集中的短信对应的表示向量,具体包括:该第一短信集中的短信对应的若干词向量与第一目标关键词对应的词向量进行拼接后所得的向量输入至原始原型网络后,输出的向量。
在本申请提供的方案中,在对原始原型网络进行训练的过程中,确定某一短信的表示向量,具体可以包括:对该短信进行分词处理,得到若干token,再将该若干token对应的词向量与第一目标关键词对应的词向量进行拼接,得到拼接后的向量,最后将该拼接后的向量输入到第一原型网络,从而输出得到该短信对应的表示向量。
在本申请的一些实施例中,在第一目标关键词仅一个的情况下,针对该若干token中的一个token对应的词向量,可以将第一目标关键词对应的词向量中的分量按顺序拼接至该一个token对应的词向量中的最后一个分量的后面。在本申请的一些实施例中,在第一目标关键词有多个的情况下,针对该若干token中的一个token对应的词向量,可以对每一个第一目标关键词对应的词向量进行处理,得到处理后的向量,并将该处理后的向量中的分量按顺序拼接至该一个token对应的词向量中的最后一个分量的后面。该处理可以为求和平均处理,还可以为通过全连接层等。可理解,上述拼接的具体方式可以参考下文,在此不展开说明。
可理解,原始原型网络的训练过程可以由云侧设备进行。也就意味着,云侧设备可以通过上述方法确定第一短信集中的短信对应的表示向量。
结合第一方面,在一种可能的实现方式中,端侧设备基于第一原型网络确定第一表示向量之前,该方法可以包括:端侧设备可以接收云侧设备发送的第一目标关键词,以及基于第一目标关键词在端侧设备接收的若干短信中确定第二短信集,并将第一短信集发送给云侧设备。其中,第二短信集中的短信包括第一目标关键词中的一个或多个关键词。第一短信集可以为第二短信集,或者,第一短信集可以为将所述第二短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。
在本申请提供的方案中,端侧设备可以基于云侧设备下发的目标关键词(例如,第一目标关键词)来采集短信,并将采集的短信上传给云侧设备。云侧设备可以基于端侧设备上传的短信来训练原型网络,从而得到分类效果更准确的原型网络,从而提高后续采集类别为目标短信类别的短信的准确率和效率。
在本申请的一些实施例中,第二短信集可以为短信MES1。在本申请的又一些实施例中,第二短信集可以为将短信MES1中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。
结合第一方面,在一种可能的实现方式中,该方法还可以包括:端侧设备可以接收云侧设备发送的第二目标关键词,以及基于第二目标关键词在端侧设备接收的若干短信中确定第三短信集,并将第四短信集发送给云侧设备。其中,第二目标关键词为云侧设备在第一短信集中的短信所包括的词语中确定的满足第一关键词挖掘条件的词语。第三短信集中的短信包括第二目标关键词中的一个或多个关键词。第四短信集可以为第三短信集,或者,第四短信可以为将第三短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。
在本申请提供的方案中,云侧设备可以基于端侧设备采集的短信挖掘目标短信类别对应的关键词,从而得到与目标短信类别更加对应的关键词。云侧设备可以将该与目标短信类别更加对应的关键词下发给端侧设备,端侧设备可以基于该与目标短信类别更加对应的关键词采集短信。通过这种方法,云侧设备可以确定与目标短信类别更加对应的关键词,从而可以减少端侧设备采集类别为目标短信类别时遗漏的短信,从而提高了采集类别为目标短信类别的短信的准确性。
在本申请的一些实施例中,第二目标关键词为下文所提及的更新后的目标关键词(如图6和图7所示)。第三短信集中的短信均为端侧设备接收的包含有一个或多个更新后的目标关键词的短信。
结合第一方面,在一种可能的实现方式中,第二目标关键词满足第一关键词挖掘条件,具体可以包括:第二目标关键词的词频大于第一词频阈值,且第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第一距离条件。
在本申请提供的方案中,云侧设备可以基于端侧设备采集的短信所包括的词语的词频和其对应的词向量与更新前的目标关键词对应的词向量之间的相似度来更新目标关键词。其中,端侧设备采集的短信所包括的词语的词频和其对应的词向量与更新前的目标关键词对应的词向量之间的相似度可以通过这二者之间的距离来表示。这种方法可以避免挖掘一些对类别影响不大的关键词,使得挖掘所得的目标关键词更能表示目标短信类别。
在本申请的一些实施例中,第一词频阈值可以为词频阈值Y1。在本申请的又一些实施例中,第一词频阈值可以为词频阈值Y2。可理解,若第一目标关键词有一个,第一距离条件可以为下文所提及的第一条件,若第一目标关键词有多个,第一距离条件可以为下文所提及的第二条件。
在本申请的一些实施例中,第二目标关键词还可以基于候选关键词中的对应的词向量与更新前的目标关键词(例如,第一目标关键词)对应的词向量之间的距离的排序,以及该候选关键词的词频来确定,具体实现方式可以参考后文。
结合第一方面,在一种可能的实现方式中,第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第一距离条件,具体可以包括:第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的余弦距离大于第一距离阈值。
在本申请的一些实施例中,第一距离阈值可以为G1。在本申请的又一些实施例中,第一目标关键词有多个,在这种情况下,第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的余弦距离,具体可以为:第二目标关键词对应的词向量与每一个第一目标关键词对应的词向量之间的余弦距离进行加权平均处理后所得的值。在这种情况下,第一距离阈值可以为G2。
在本申请的一些实施例中,在第一目标关键词仅一个的情况下,第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第一距离条件,具体可以包括:第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的欧式距离小于G3。在第一目标关键词有多个的情况下,第二目标关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第一距离条件,具体可以包括:第二目标关键词对应的词向量与每一个第一目标关键词对应的词向量之间的欧式距离进行加权平均处理后所得到的值小于G4。
结合第一方面,在一种可能的实现方式中,第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的相似度损失,具体可以包括:第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的余弦距离的负数。
在本申请提供的方案中,用于训练原型网络的损失函数可以包含相似度损失,这将原型网络的训练与关键词联系起来,从而提高了基于原型网络对短信进行分类的准确性。
结合第一方面,在一种可能的实现方式中,基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别,具体可以包括:第一表示向量和目标原型向量之间的余弦距离大于第二距离阈值。
在本申请提供的方案中,两个向量之间的相似度可以通过这两个向量之间的余弦距离来表示。两个向量之间的余弦距离越大,这两个向量之间的相似度越大。
在本申请的一些实施例中,第二距离阈值可以为G5。在本申请的又一些实施例中,第二距离阈值可以为G7。
结合第一方面,在一种可能的实现方式中,基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别,具体可以包括:第一表示向量和目标原型向量之间的欧式距离小于第三距离阈值。
在本申请提供的方案中,两个向量之间的相似度可以通过这两个向量之间的欧式距离来表示。两个向量之间的欧式距离越小,这两个向量之间的相似度越大。
在本申请的一些实施例中,第三距离阈值可以为G6。在本申请的又一些实施例中,第三距离阈值可以为G8。
结合第一方面,在一种可能的实现方式中,该方法还可以包括:端侧设备可以接收所述云侧设备发送的第一目标关键词,可以确定端侧设备接收的若干短信中的每一条短信对应的表示向量和目标原型向量的相似度,还可以基于若干短信中的每一条短信对应的表示向量和目标原型向量的相似度,确定第五短信集。该方法还可以包括:端侧设备可以在第五短信集中的短信所包括的词语中确定目标个性化关键词,还可以基于目标个性化关键词在端侧设备接收的若干短信中确定第六短信集,并将第七短信集发送给云侧设备。其中,第五短信集中的每一条短信对应的表示向量和所述目标原型向量的相似度满足第一预设条件。第六短信集中的短信包括目标个性化关键词中的一个或多个关键词。第七短信集可以为第六短信集,或者,第七短信集还可以为将第六短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。目标个性化关键词的词频大于第二词频阈值,且目标个性化关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第二距离条件。
在本申请提供的方案中,端侧设备可以基于其接收的短信确定个性化关键词,并基于该个性化关键词采集短信。这种方法可以挖掘出不同用户的个性化关键词,从而避免基于云侧下发的关键词采集短信而造成的短信遗漏。
在本申请的一些实施例中,目标原型向量为原型向量C_1,第五短信集可以为短信MES5。在这种情况下,第一预设条件可以为第五条件,第七短信集可以为短信MES6。在本申请的又一些实施例中,目标原型向量为原型向量C_2,第五短信集可以为短信MES7。在这种情况下,第一预设条件可以为第六条件,第七短信集可以为短信MES8。
可理解,第二词频阈值可以参考第一词频阈值的相关描述。第二词频阈值可以根据实际需要进行设置,本申请对此不作限制。在本申请的一些实施例中,第二词频阈值可以与第一词频阈值相同。可理解,第二距离条件可以参考第一距离条件的相关描述。第二距离条件可以根据实际需要进行设置,本申请对此不作限制。在本申请的一些实施例中,第二距离条件可以与第一距离条件相同。
结合第一方面,在一种可能的实现方式中,目标个性化关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第二距离条件,具体可以包括:目标个性化关键词对应的词向量与第一目标关键词对应的词向量之间的余弦距离大于第四距离阈值。
在本申请提供的方案中,目标个性化关键词对应的词向量与第一目标关键词对应的词向量之间的距离可以为余弦距离,还可以为欧式距离、切比雪夫距离等其他形式。
可理解,第四距离阈值可以参考第一距离阈值和第二距离阈值的相关描述。第四距离阈值可以根据实际需要进行设置,本申请对此不作限制。
结合第一方面,在一种可能的实现方式中,在基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别具体包括:第一表示向量和目标原型向量之间的余弦距离大于第二距离阈值的情况下,第五短信集中的每一条短信对应的表示向量和目标原型向量的相似度满足第一预设条件。第一预设条件具体可以包括:第五短信集中的每一条短信对应的表示向量和目标原型向量之间的余弦距离大于第五距离阈值。第二距离阈值大于第五距离阈值。
在本申请的一些实施例中,第二距离阈值可以为G5,第五距离阈值可以为G9。在这种情况下,第五短信集可以为短信MES5。
在本申请的一些实施例中,第二距离阈值可以为G7,第五距离阈值可以为G11。在这种情况下,第五短信集可以为短信MES7。
结合第一方面,在一种可能的实现方式中,在基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别具体包括:第一表示向量和目标原型向量之间的欧式距离小于第三距离阈值的情况下,第五短信集中的每一条短信对应的表示向量和目标原型向量的相似度满足第一预设条件。第一预设条件具体可以包括:第五短信集中的每一条短信对应的表示向量和目标原型向量之间的欧式距离小于第六距离阈值。第三距离阈值小于第六距离阈值。
在本申请的一些实施例中,第三距离阈值可以为G6,第六距离阈值可以为G10。在这种情况下,第五短信集可以为短信MES5。
在本申请的一些实施例中,第三距离阈值可以为G12,第六距离阈值可以为G8。在这种情况下,第五短信集可以为短信MES7。
结合第一方面,在一种可能的实现方式中,端侧设备基于第一原型网络确定第一表示向量之前,该方法还可以包括:响应于第一操作,端侧设备启动短信采集工具,并确定目标短信类别。端侧设备将第二短信发送给云侧设备之前,该方法还可以包括:端侧设备可以显示第一界面。第一界面包括所述第二短信。端侧设备将第二短信发送给云侧设备,具体可以包括:响应于作用于第一界面中的第二短信上的操作,端侧设备可以显示第二界面;响应于作用于第二界面中的上传控件的操作,端侧设备可以将第二短信发送给云侧设备。第二界面中的第二短信处于选中状态。将所述第一短信包括的隐私类实体替换为特殊字符之前,该方法还可以包括:端侧设备可以基于处于选中状态的隐私保护选项确定第一短信包括的隐私类实体。第一界面可以包括处于选中状态的隐私保护选项。
在本申请提供的方案中,端侧设备筛选出类别为目标短信类别的短信之后,用户可以自行选择上传的短信。通过这种方法,用户可以自行选择上传的短信,避免端侧设备将未识别出的包含隐私信息的短信上传至云侧,从而进一步保护了用户隐私,并且可以给用户带来良好的体验。
在本申请的一些实施例中,第一界面可以为图3B所示的用户界面103。第二界面可以为图3C所示的用户界面104。第二短信可以为用户界面103和用户界面104中的短信1。上传控件可以为上传控件1035。
可理解,隐私保护选项和隐私类实体的相关描述可以参考下文,在此不展开说明。
第二方面,本申请提供了一种短信采集方法。该方法可以包括:云侧设备可以接收端侧设备发送的第二短信。第二短信可以为端侧设备基于第一表示向量和目标原型向量的相似度确定出的类别为目标短信类别的第一短信,或者,第二短信可以为将第一短信中包括的隐私类实体替换为特殊字符后的短信。目标原型向量可以为基于第一原型网络确定的用于表示目标短信类别的向量。第一表示向量为端侧设备基于第一原型网络确定的第一短信对应的向量。第一原型网络是以最小化第一损失函数为目标对原始原型网络进行训练所得的原型网络。第一损失函数包含第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,以及交叉熵损失。第一目标关键词为所述目标短信类别对应的关键词。
结合第二方面,在一种可能的实现方式中,第一短信集中的短信对应的表示向量,具体包括:该第一短信集中的短信对应的若干词向量与第一目标关键词对应的词向量进行拼接后所得的向量输入至原始原型网络后,输出的向量。
结合第二方面,在一种可能的实现方式中,云侧设备接收端侧设备发送的第二短信之前,该方法可以包括:云侧设备可以将第一目标关键词发送给端侧设备;云侧设备可以接收端侧设备发送的第一短信集;云侧设备可以基于第一短信集对原始原型网络进行训练,得到第一原型网络;云侧设备可以将第一原型网络的相关数据和目标原型向量发送给端侧设备。其中,第一短信集为第二短信集,或者,第一短信集为将第二短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。第二短信集为端侧设备接收的若干短信中包括第一目标关键词中的一个或多个关键词的短信的集合。
结合第二方面,在一种可能的实现方式中,该方法还可以包括:云侧设备可以确定第二目标关键词,并将第二目标关键词发送给端侧设备;云侧设备可以接收端侧设备发送的第四短信集。其中,第二目标关键词为第一短信集中的短信所包括的词语中满足第一关键词挖掘条件的词语。第四短信集可以为第三短信集,或将第三短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。第三短信集为端侧设备接收的若干短信中包括第二目标关键词中的一个或多个关键词的短信的集合。
结合第二方面,在一种可能的实现方式中,第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的相似度损失,具体可以包括:第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的余弦距离的负数。
结合第二方面,在一种可能的实现方式中,基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别,具体可以包括:第一表示向量和目标原型向量之间的余弦距离大于第二距离阈值。
结合第二方面,在一种可能的实现方式中,基于第一表示向量和目标原型向量的相似度确定出第一短信的类别为目标短信类别,具体可以包括:第一表示向量和目标原型向量之间的欧式距离小于第三距离阈值。
结合第二方面,在一种可能的实现方式中,该方法还可以包括:云侧设备可以向端侧设备发送第一目标关键词,还可以接收端侧设备发送的第七短信集。其中,第七短信集为第六短信集,或将第六短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。第六短信集可以为端侧设备接收的若干短信中包括目标个性化关键词中的一个或多个关键词的短信的集合。目标个性化关键词为第五短信集中的短信所包括的词语中的一个或多个词语。目标个性化关键词的词频大于第二词频阈值,且目标个性化关键词对应的词向量与第一目标关键词对应的词向量之间的距离满足第二距离条件。第五短信集为端侧设备接收的若干短信中的对应的表示向量和目标原型向量的相似度满足第一预设条件的短信的集合。
第三方面,本申请提供了一种电子设备,该电子设备包括:一个或多个处理器,以及一个或多个存储器;该一个或多个存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第四方面,本申请提供了一种电子设备,该电子设备包括:一个或多个处理器,以及一个或多个存储器;该一个或多个存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第二方面或第二方面的任意一种实现方式所描述的方法。
第五方面,本申请提供一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第六方面,本申请提供一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第二方面或第二方面的任意一种实现方式所描述的方法。
第七方面,本申请实施例提供一种芯片,该芯片可以应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第八方面,本申请实施例提供一种芯片,该芯片可以应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第二方面或第二方面的任意一种实现方式所描述的方法。
第九方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第十方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第二方面或第二方面的任意一种实现方式所描述的方法
可理解,上述第三方面提供的电子设备、第五方面提供的计算机存储介质、第七方面提供的芯片,以及第九方面提供的计算机程序产品均用于执行如第一方面或第一方面的任意一种实现方式所描述的方法。因此,其所能达到的有益效果可参考上述第一方面中任一种可能的实现方式的有益效果,此处不再赘述。上述第四方面提供的电子设备、第六方面提供的计算机存储介质、第八方面提供的芯片,以及第十方面提供的计算机程序产品均用于执行如第二方面或第二方面的任意一种实现方式所描述的方法。因此,其所能达到的有益效果可参考上述第二方面中任一种可能的实现方式的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种短信采集架构的示意图;
图2为本申请实施例提供的一种短信采集流程示意图;
图3A-图3D为本申请实施例提供的一组用户界面示意图;
图4为本申请实施例提供的一种样本处理过程示意图;
图5A为本申请实施例提供的一种原型向量的确定方法的示意图;
图5B为本申请实施例提供的一种损失计算示意图;
图6-图9为本申请实施例提供的一组短信采集方法的流程图;
图10为本申请实施例提供的一种电子设备的硬件结构示意图;
图11为本申请实施例提供的一种电子设备的软件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
根据上文,电子设备可以通过采集并分析用户短信,来给用户提供智能服务。例如,电子设备可以采集并分析航班短信,从而给用户提供航班提醒服务。例如,电子设备可以采集并分析酒店短信,从而给用户提供酒店提醒服务。例如,电子设备可以采集并分析话费短信,从而给用户提供话费缴费提醒服务。再例如,电子设备可以采集并分析还款短信,从而给用户提供还款提醒服务。但是,无论是通过电子设备采集用户的全部短信再将其上传至云侧进行处理,还是用户自行筛选短信再通过电子设备将筛选后的短信上传至云侧进行处理,都存在一定的问题。比如,前一种实现方式可能导致隐私信息泄露、增加数据清洗成本等问题,而后一种实现方式需要用户手动操作,用户体验不佳,还会导致分类效率低等问题。
基于上述内容,本申请提供了一种短信采集方法及相关设备。根据该短信采集方法,云侧设备可以向端侧设备发送目标关键词、目标短信类别对应的原型向量和原型网络(例如,原型网络100)的相关数据,相应的,端侧设备接收这些数据之后,可以基于目标关键词采集短信,还可以基于原型向量和原型网络采集短信。端侧设备可以将采集到的短信发送给云侧设备。在一些实施例中,端侧设备可以隐藏采集到的短信中的用户隐私信息,并将隐藏用户隐私信息后的短信发送给云侧设备。在一种可能的实现方式中,云侧设备还可以基于端侧设备发送的短信进行关键词挖掘。在又一种可能的实现方式中,端侧设备还可以基于目标关键词、目标短信类别对应的原型向量和原型网络进行个性化关键词的挖掘。上述方法可以更高效的采集短信,还可以保护用户隐私信息。
首先介绍本申请实施例提供的一种短信采集的系统架构。
请参阅图1,图1为本申请实施例提供的一种短信采集架构的示意图。
如图1所示,云侧可以向端侧下发短信采集任务。该短信采集任务可以包括目标短信类别。目标短信类别即为云侧需要在端侧采集的短信的类别。相应的,端侧可以接收云侧下发的短信采集任务,并基于短信采集任务所包括的目标短信类别来采集短信,然后将采集到的短信上传至云侧。可理解,云侧可以有一个或多个云侧设备,端侧也可以有一个或多个端侧设备。也就是说,一个或多个云侧设备可以向一个或多个端侧设备下发短信采集任务,相应的,该一个或多个端侧设备可以基于该短信采集任务中的目标短信类别来采集短信,并将采集到的短信发送给该一个或多个云侧设备。
可理解,端侧设备指的是终端设备,具体可以是手机、平板电脑、可穿戴设备、车载设备、增强现实 (Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)或专门的照相机(例如,单反相机、卡片式相机)等设备,本申请实施例对端侧设备的具体类型不作任何限制。
可理解,云侧设备指的是部署在云环境上的一个或多个计算设备,或者边缘环境中的一个或多个计算设备。例如,云侧设备可以包括云服务器、中心服务器等。以云服务器为例进行说明,云服务器指的是用于提供计算、存储、通信资源的中心计算设备集群,云服务器是具有高度分布式、高度虚拟化等特点的一类服务器,其计算资源是从大量经过整合虚拟化的物理服务器中调度获取的,从节点规模看,这样的虚拟化规模可能是几台、数十台、数百台物理服务器,也可能是跨数据中心的成千上万台实体硬件构建起来的大型云端虚拟资源池。
可理解,端侧设备基于短信采集任务所包括的目标短信类别来采集短信,具体可以包括:端侧设备可以在其接收的短信中采集短信类别为该目标短信类别的短信。可理解,短信类别可以包括但不限于:航班短信、酒店短信、话费短信和还款短信等。
在本申请的一些实施例中,用户可以基于短信采集任务所包括的目标短信类别自行选择上传至云侧的短信。在一种可能的实现方式中,端侧设备接收云侧下发的短信采集任务后,可以基于短信采集任务所包括的目标短信类别采集短信。用户可以在该采集的短信中自行选择上传至云侧的短信。示例性的,如图2所示,在端侧设备接收的短信采集任务包括的目标短信类别为航班短信的情况下,端侧设备可以在其接收的所有短信中采集航班短信。航班短信可以包括航班短信1、航班短信2和航班短信3等。用户可以自行选择航班短信1和航班短信2,并点击“一键上传”按钮。相应的,端侧设备可以将航班短信1和航班短信2上传至云侧。上传之后,端侧设备还可以显示有“上传成功”,以及短信的上传列表。可理解,图2仅为示例,后续结合具体界面示意图再进行详细描述。在又一种可能的实现方式中,用户可以自行选择短信采集任务,即自行选择需要采集的目标短信类别。
在本申请的一些实施例中,在用户同意采集端侧设备接收的短信的情况下,后续具体采集过程可以完全由端侧设备和云侧设备实现,无需用户操作。
在本申请的一些实施例中,目标短信类别可以通过其对应的关键词和原型向量来表示。也就是说,云侧设备可以向端侧设备发送目标短信类别对应的关键词和原型向量,从而实现对目标短信类别的短信的采集。可理解,云侧设备还可以向端侧设备发送原型网络的相关数据。具体地,端侧设备可以基于目标短信类别对应的关键词和原型向量,以及原型网络,在接收的短信中筛选短信类别为目标短信类别的短信,并隐藏筛选出的短信中的用户隐私信息。可理解,原型向量指的是表示某一种分类(即类别)的向量,具体用于原型网络中。原型向量和原型网络的相关描述可以参考后文,在此不展开说明。
为了便于描述,本申请将目标短信类别对应的关键词记为目标关键词,将目标短信类别对应的原型向量记为目标原型向量。
在本申请的一些实施例中,端侧设备可以基于目标原型向量筛选短信类别为目标短信类别的短信,并基于该筛选出的短信进行关键词挖掘,得到目标短信类别对应的候选关键词。端侧设备可以基于该目标短信类别对应的候选关键词确定目标短信类别对应的个性化关键词。
下面结合一组用户界面示意图来介绍本申请实施例提供的一些短信采集场景。
可理解,本申请的说明书和权利要求书及附图中的术语“界面”和“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在端侧设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
1、基于图3A-图3C对用户自行选择上传至云侧的短信的相关内容进行示例性描述。
端侧设备上可以安装有短信采集工具。用户可以在该短信采集工具中自行选择目标短信类别,以及需要隐藏的用户隐私信息类别。端侧设备可以在其接收的全部短信中筛选短信类别为目标短信类别的短信,隐藏筛选得到的短信中的用户隐私信息,并显示隐藏用户隐私信息后的短信。在这种情况下,用户可以在端侧设备显示的短信中自行选择上传至云侧的短信。
如图3A所示,用户界面102显示了一个包括应用图标的页面,该页面可包括多个应用图标(例如,天气应用图标、日历应用图标、邮件应用图标、设置应用图标、应用商店应用图标、便签应用图标、相册应用图标和短信采集工具应用图标1021等)。上述多个应用图标下方还可显示有页面指示符,以表明当前显示的页面与其他页面的位置关系。页面指示符的下方有多个应用图标(例如,相机应用图标、浏览器应用图标、信息应用图标、拨号应用图标)。这些应用图标所在的区域可称为dock栏,在页面切换时dock栏中的应用图标一般不会变换。
可理解,短信采集工具应用图标1021为短信采集工具应用程序(即短信采集工具)的图标。短信采集工具应用图标1021可以用于触发启动短信采集工具应用程序。
端侧设备可以检测到作用于短信采集工具应用图标1021上的用户操作。响应于该用户操作,端侧设备可以显示图3B所示的用户界面103。用户界面103可以包括显示区域1031、显示区域1032、显示区域1033、全选控件1034和上传控件1035。
显示区域1031用于显示短信采集任务。具体地,显示区域1031可以显示有目标短信类别。如图3B所示,目标短信类别可以为航班短信。
在本申请的一些实施例中,端侧设备可以检测到作用于显示区域1031上的用户操作。响应于该用户操作,端侧设备可以切换短信采集任务,即切换目标短信类别。例如,响应于作用于显示区域1031上的用户操作,端侧设备可以将目标短信类别由航班短信切换为酒店短信。
可理解,端侧设备确定显示区域1031中的目标短信类别之后,可以将目标短信类别发送给云侧设备。云侧设备可以将目标短信类别对应的关键词和原型向量(即目标关键词和目标原型向量)发送给端侧设备。端侧设备可以基于目标关键词和目标原型向量在其接收的全部短信中筛选短信类别为目标短信类别的短信。该具体筛选方法可以参考后文,在此不展开说明。
显示区域1032用于显示若干隐私保护选项。每一个隐私保护选项对应+一种用户隐私信息类别。如图3B所示,显示区域1032可以显示有隐藏日期选项、隐藏时间选项、隐藏邮箱选项、隐藏人名选项、隐藏电话选项、隐藏数字选项。其中,隐藏日期选项对应的用户隐私信息类别为日期,隐藏时间选项对应的用户隐私信息类别为时间,隐藏邮箱选项对应的用户隐私信息类别为邮箱,隐藏人名选项对应的用户隐私信息类别为人名,隐藏电话选项对应的用户隐私信息类别为电话,隐藏数字选项对应的用户隐私信息类别为数字。可理解,显示区域1032还可以显示其他隐私保护选项(例如,隐藏地点选项),本申请对此不作限制。
在本申请的一些实施例中,端侧设备可以检测到作用于显示区域1032上的用户操作。响应于该用户操作,端侧设备可以改变隐私保护选项的状态。例如,端侧设备可以将隐私保护选项由选中状态改变至未选中状态。类似的,端侧设备还可以将隐私保护选项由未选中状态改变至选中状态。
在本申请的一些实施例中,显示区域1032中的隐私保护选项的默认状态均为选中状态。也就是说,端侧设备启动短信采集工具之后,第一次显示的用户界面中的隐私保护选项都为选中状态。在这种情况下,用户可以确定无需隐藏的用户隐私信息类别对应的隐私保护选项,并自行取消选择该隐私保护选项。例如,如图3B所示,显示区域1032中的所有隐私保护选中的状态均为选中状态。
在本申请的一些实施例中,显示区域1032中的隐私保护选项的状态与上一次关闭短信采集工具时隐私保护选项的状态一致。
显示区域1033用于显示经过筛选且隐藏用户隐私信息后的短信。即显示区域1033显示的短信对应的短信类别为目标短信类别,并且该短信中的用户隐私信息已经基于处于选中状态的隐私保护选项进行隐藏。显示区域1033可以显示若干短信。例如,如图3B所示,显示区域1033可以显示有短信1和短信2。
在本申请的一些实施例中,显示区域1033包括的短信中的隐藏用户隐私信息后的文本可以高亮标记。
在本申请的一些实施例中,端侧设备可以检测到作用于显示区域1033上的向上滑动操作。响应于该操作,端侧设备可以显示更多的短信。
在本申请的一些实施例中,端侧设备可以检测到作用于显示区域1033上的用户操作。响应于该用户操作,端侧设备可以将显示区域1033中相应区域的短信由未选中状态改变为选中状态,或者,将显示区域1033中相应区域的短信由选中状态改变为未选中状态。例如,如图3B所示,显示区域1033上的短信1处于未选中状态,端侧设备可以检测到作用于短信1上的用户操作,响应于该用户操作,端侧设备可以将短信1的状态由未选中状态改变为选中状态,并显示如图3C所示的用户界面104。
全选控件1034用于选中所有筛选并隐藏用户隐私信息的短信,即显示区域1033中的全部短信。也就是说,全选控件1034可以用于将显示区域1033中的全部短信的状态都变为选中状态。
上传控件1035用于确定将显示区域1033中选中的短信上传至云侧。
端侧设备可以检测到作用于用户界面104中的上传控件1035上的用户操作。响应于该用户操作,端侧设备可以将短信1上传至云侧。
可理解,图3A-图3C为本申请提供的示例性界面,不应视为对本申请的限制。
2、基于图3D对用户同意采集端侧设备接收的短信的相关内容进行示例性描述。
在用户触发启用便捷提醒服务(例如,航班提醒、酒店提醒、话费缴费提醒和还款提醒服务等)的情况下,端侧设备可以请求采集用户短信,并在用户同意采集端侧设备接收的短信的情况下实现该提醒服务。
如图3D所示,端侧设备响应于启用便捷提醒服务的用户操作,可以显示用户界面101。用户界面101可以包括提示框1011。提示框1011用于请求采集短信。提示框1011显示有采集短信的目的,即用于提供航班提醒、酒店提醒、话费缴费提醒和还款提醒服务等。提示框1011还可以提示用户采集短信时会自动隐藏用户的隐私信息。提示框1011可以包括控件10111和控件10112。控件10111用于触发采集短信,以及启用便捷提醒服务。控件10112用于禁止采集短信,以及禁止启用便捷提醒服务。
在本申请的一些实施例中,端侧设备响应于作用于控件10111上的用户操作,可以基于云侧下发的短信采集任务来采集短信。
在本申请的一些实施例中,端侧设备响应于作用于控件10112上的用户操作,可以禁止端侧设备采集短信。
可理解,启用便捷提醒服务的用户操作可以为启用便捷提醒服务的快捷操作。例如,手势、语音等。启用便捷提醒服务的用户操作还可以为作用在便捷提醒服务控件上的触摸操作。在本申请的一些实施例中,用户可以在端侧设备的设置应用中查找便捷提醒服务控件。在本申请的又一些实施例中,用户可以直接在端侧设备的搜索栏搜索便捷提醒服务,以触发端侧设备显示便捷提醒服务控件。当然,启用便捷提醒服务的用户操作还可以为其他形式的用户操作,本申请对此不作限制。
需要说明的是,便捷提醒服务还可以用其他形式来表示,图3D仅为本申请提供的一个示例性界面,不应视为对本申请的限制。可理解,端侧设备还可以在用户触发其他服务时请求采集短信。
根据上文,在短信采集过程中,端侧设备可以在其接收的短信中筛选短信类别为目标短信类别的短信。在本申请的一些实施例中,端侧设备可以基于云侧设备下发的原型向量在其接收的全部短信中筛选短信类别为目标短信类别的短信。其中,原型向量指的是表示某一种分类的向量,具体用于原型网络中。
下面对原型网络和原型向量进行介绍。
原型网络是一种网络结构,其主要是为了解决分类问题。原型网络的基本思路是对于每一个类别都创建一个原型表示(prototypical representation),并且对于一个需要分类的目标,通过对比不同类别对应的原型向量和目标的距离来确定该目标的类别。其中,原型表示可以理解为原型向量。也就是说,每一个类别都可以用相应的向量来表示,该用于表示相应类别的向量被称为该类别对应的原型向量。
在本申请中,原型网络的具体结构可以为长短期记忆(Long Short-Term Memory,LSTM)网络,可以为基于变换网络的双向编码表示(Bi-directional EncoderRepresentation from Transformers,BERT)网络,还可以为其他神经网络等,本申请对原型网络的具体结构不作限制。
LSTM是一种特殊的循环神经网络(Recurrent Neural Network,RNN),也可以理解为LSTM是RNN的改进版网络结构。LSTM的时序结构与RNN类似,其与RNN的主要区别在于内部逻辑结构。
可理解,RNN的每一个隐藏层的输入可以包括时间序列数据和上一个隐藏层输出的特征信息。而RNN的每一个隐藏层都可以输出特征信息。通俗来讲,RNN不仅考虑前一时刻的输入,还具有对前面状态的“记忆”功能,即当前输入也与前面的输出也有关系。具体来说,RNN会存储前面的状态信息,并将其应用于当前层的输出特征的计算过程中。即RNN的隐藏层之间的节点是有连接的。RNN的输入包括当前时刻状态和前一时刻状态。理论上,RNN可以处理任意长度的时间序列数据,但由于时间复杂度高,它通常只“记忆”前面几个状态。
而LSTM可以通过门机制和单元状态实现长期记忆功能,还能解决RNN的梯度弥散和梯度爆炸现象。LSTM是由很多的LSTM单元(LSTM Unit)串联组成的。一个LSTM单元可以包括三个门结构和一个单元状态(Cell State)。这三个门结构可以保护和控制该单元状态。每一个LSTM单元的输入可以包括上一个LSTM单元输出的单元状态和特征信息,以及时间序列数据。可理解,三个门结构指的是遗忘门(Forget Gate)、输入门(Input Gate)和输出门(Output Gate)。其中,遗忘门的作用是决定当前单元需要丢弃的信息。即决定单元状态需要中丢弃的信息。输入门的作用是决定当前单元需要添加的信息。输出门的作用是决定当前单元需要输出的特征信息。值得注意的是,每一个LSTM单元中的遗忘门和输入门对输入的时间序列数据和上一个LSTM单元输出的特征信息进行处理后,可以得到若干向量。LSTM单元可以基于该若干向量和上一个LSTM单元输出的单元状态更新单元状态,得到更新后的单元状态。该更新后的单元状态即为该LSTM单元输出的单元状态。
BERT是一个预训练的语言表征模型。与以往采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练的方式不同,BERT通过设置一个比语言模型(Language Model,LM)更简单的任务来做预训练,并且使用基于变换网络(Transformer)的编码器(Encoder)来进行预训练从而使得模型变深。该模型捕捉到的是真正意义上的双向上下文(bi-directional context)信息,该模型使用了遮蔽语言模型(Masked LM,MLM)和下一句预测(Next Sentence Prediction,NSP)这两种方法分别捕捉词语和句子级别的表示(representation),以致能生成深度的双向语言表征。
结合图4介绍本申请实施例提供的一种原型向量确定方法,以及原型网络训练方法。
云侧设备可以确定每一个类别对应的样本集,并在每一个类别对应的样本集中选择一部分样本生成支持集,选择另一部分样本生成查询集。可理解,每一个类别对应的样本集中的若干样本可以为文本。为了便于描述,本申请将类别记为Li,将Li对应的样本集记为Di,将Li对应的支持集记为Si,将Li对应的查询集记为Qi。可理解,Si和Qi为Di的子集。在本申请的一些实施例中,Si和Qi为的交集为空,Si和Qi的并集为Di。其中,i为正整数。i为不同值时,Li表示的是不同类别。可理解,在本申请中,Li可以指短信类别。在这种情况下,Di中的样本指的是类别为Li的短信。
1、确定原型向量
如图4所示,针对Si中的任意一个样本,云侧设备可以对其进行分词处理,得到若干token,再确定该若干token对应的词向量。云侧设备还可以确定Li对应的关键词,并确定该关键词对应的向量(也可以理解为该关键词对应的词向量),即Li对应的关键词向量。云侧设备可以基于该若干token对应的词向量和Li对应的关键词向量确定原型网络的若干输入向量。原型网络可以对该若干输入向量进行处理,并输出该样本对应的表示向量。
云侧设备可以通过上述方式确定Si中的每一个样本对应的表示向量,并对Si中的每一个样本对应的表示向量进行求和平均处理,处理后所得的向量即为Li对应的原型向量。
可理解,token指的是对文本进行分词处理后的最小切分单元。token可以为词语、字、字母等。词向量可以理解为token对应的表示向量。
可理解,云侧设备可以通过分词工具来对样本进行分词处理。分词工具可以为分词器(tokenizer),tokenizer的相关描述可以参考相关技术文档,本申请不展开说明。在本申请的一些实施例中,云侧设备可以以字为单位来对样本进行分词处理。这种情况下,云侧设备得到的token为字。在本申请的一些实施例中,云侧设备可以以词语为单位来对样本进行分词处理。具体的,云侧设备可以首先确定样本中包含的词语,并将这些词语拆分出来。每一个词语为一个token,而样本中剩下的未被拆分出来的若干部分各自作为一个token。
例如,Si中的一个样本包含“南方航空”这四个字。在一种可能的实现方式中,云侧设备对该样本进行分词处理时,该样本包含的“南方航空”可以分为4个token,即“南”、“方”、“航”和“空”。在又一种可能的实现方式中,云侧设备对该样本进行分词处理时,该样本包含的“南方航空”可以分为1个token,即“南方航空”。
可理解,云侧设备可以基于向量映射规则确定样本对应的若干token所对应的词向量。向量映射规则可以包括不同token和词向量的对应关系。本申请中采用的向量映射规则可以为已有的向量映射规则,还可以基于实际需要进行设置。在本申请的一些实施例中,向量映射规则可以基于嵌入层(Embedding层)来实现。也就是说,云侧设备可以基于嵌入层确定样本对应的若干token所对应的词向量。Embedding是一种单词编码技术,其用低维向量实现了编码。也就是说,嵌入层可以用于对token进行编码,将token映射到一个低维向量上来。嵌入层的相关描述可以参考相关技术文档,在此不再赘述。在一种可能的实现方式中,嵌入层可以完全随机初始化,后续通过训练完善。在一种可能的实现方式中,嵌入层可以为word2vec模型。word2vec模型是一种词向量模型,word2vec模型的相关描述可以参考相关技术文档,在此不再赘述。在一种可能的实现方式中,嵌入层可以包括word2vec模型和其他网络层。
类似的,云侧设备也可以基于向量映射规则确定Li对应的关键词所对应的向量(即Li对应的关键词向量)。也就是说,云侧设备可以基于向量映射规则确定Li对应的关键词所对应的向量,该向量即为Li对应的关键词向量。在一种可能的实现方式中,云侧设备可以基于word2vec模型来确定Li对应的关键词向量。
在本申请的一些实施例中,云侧设备基于该若干token对应的词向量和Li对应的关键词向量确定原型网络的若干输入向量,具体可以包括:云侧设备将样本对应的若干token所对应的词向量与Li对应的关键词向量进行拼接,得到若干输入向量。需要说明的是,该若干输入向量中的每一个输入向量的维数都相同。可理解,向量的维数指的是向量含有的分量的数量。例如,(a1,a2,a3)包含三个分量——a1、a2和a3,则(a1,a2,a3)为三维向量。其中,a1为(a1,a2,a3)的第1个分量,a2为(a1,a2,a3)的第2个分量,a3为(a1,a2,a3)的第3个分量。
下面首先对多个向量的拼接方式进行说明。
1、在m=2的情况下,将m个向量进行拼接。
为了便于描述,本申请将拼接的2个向量记为向量1和向量2,将向量1的维数记为n1,将向量2的维数记为n2。本申请将拼接后得到的向量记为向量X1。
可理解,将向量1和向量2进行拼接,具体可以包括:将向量2包括的n2个分量直接添加在向量1包括的n1个分量的后面,从而得到向量X1。可理解,向量X1的维数为n1+n2。向量X1的前n1个分量即为向量1包括的n1个分量,向量X1的后n2个分量即为向量2包括的n2个分量。并且,向量X1的前n1个分量的顺序与向量1包括的n1个分量的顺序一致,向量X1的后n2个分量的顺序与向量2包括的n2个分量的顺序一致。
2、在m>2的情况下,将m个向量进行拼接。
可理解,在m>2的情况下,将m个向量进行拼接,具体可以包括:对m个向量中的m-1个向量进行加权平均处理,得到处理后的向量,再将该处理后的向量与m个向量中的未进行加权平均处理的1个向量进行拼接,该拼接方式与上述2个向量的拼接方式相同。可理解,加权平均处理时的权重可以根据实际需要进行设置,本申请对此不作限制。例如,权重可以均为1。
下面以Si中的第k个样本为例对上述拼接过程进行说明。
为了便于描述,本申请将Si中的第k个样本记为Wk,将Wk经过分词处理后所得的token记为Wk_token,将Wk_token对应的词向量记为H1_k,将Wk对应的输入向量记为h1_k。其中,k为正整数。可理解,Wk_token可以包括若干token,H1_k可以包括若干词向量,且H1_k中的每一个向量的维数相同。h1_k可以包括若干输入向量,该若干输入向量为原型网络的输入。并且,h1_k包括的输入向量的数量和H1_k包括的词向量的数量相同。但是,h1_k包括的输入向量的维数和H1_k包括的词向量的维数不一定都相同。
在一种可能的实现方式中,Li对应的关键词只有1个。这也就意味着,Li对应的关键词向量只有1个。在这种情况下,云侧设备可以将该Li对应的关键词向量与H1_k中的每一个词向量分别进行拼接。云侧设备还可以将该Li对应的关键词向量与H1_k中的部分词向量分别进行拼接。
可理解,若云侧设备将该Li对应的关键词向量与H1_k中的部分词向量进行拼接,则云侧设备还可以在H1_k中的未进行拼接的词向量中添0,使得添0后的向量的维数与拼接后的向量的维数相同。在本申请的一些实施例中,云侧设备可以在H1_k中的未进行拼接的词向量中的最后一个分量的后面添0。当然,云侧设备还可以在H1_k中的未进行拼接的词向量中添加其他字符,使得添加字符后的向量的维数与拼接后的向量的维数相同。
例如,Li可以为航班短信。Li对应的关键词可以为“航班”。云侧设备可以确定“航班”对应的词向量为e1。Wk可以为“南方航空提醒您,SZ10088航班计划于明天上午10点起飞”。云侧设备可以对Wk进行分词处理,得到Wk_token。Wk_token=[“南方航空”,“提醒”,“您”,“,”,“SZ10088”,“航班”,“将于”,“明天上午”,“10点”,“起飞”]。云侧设备可以确定Wk_token中每一个token对应的词向量,得到H1_k。H1_k=[H1_k_1,H1_k_2,H1_k_3,H1_k_4, H1_k_5,H1_k_6,H1_k_7,H1_k_8,H1_k_9,H1_k_10]。其中,H1_k_1为“南方航空”对应的词向量,H1_k_2为“提醒”对应的词向量,H1_k_3为“您”对应的词向量,H1_k_4为“,”对应的词向量, H1_k_5为“SZ10088”对应的词向量,H1_k_6为“航班”对应的词向量,H1_k_7为“将于”对应的词向量,H1_k_8为“明天上午”对应的词向量,H1_k_9为“10点”对应的词向量,H1_k_10为“起飞”对应的词向量。在一些实施例中,云侧设备可以将H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10分别与e1拼接,得到h1_k。其中,h1_k=[ h1_k_1,h1_k_2,h1_k_3,h1_k_4,h1_k_5,h1_k_6,h1_k_7,h1_k_8,h1_k_9,h1_k_10]。h1_k_1是H1_k_1与e1拼接后所得的输入向量。h1_k_2是H1_k_2与e1拼接后所得的输入向量。h1_k_3是H1_k_3与e1拼接后所得的输入向量。h1_k_4是H1_k_4与e1拼接后所得的输入向量。h1_k_5是H1_k_4与e1拼接后所得的输入向量。h1_k_6是H1_k_4与e1拼接后所得的输入向量。h1_k_7是H1_k_5与e1拼接后所得的输入向量。h1_k_8是H1_k_8与e1拼接后所得的输入向量。h1_k_9是H1_k_9与e1拼接后所得的输入向量。h1_k_10是H1_k_10与e1拼接后所得的输入向量。该拼接方式可以参考上述将2个向量进行拼接的方式。在又一些实施例中,云侧设备可以将H1_k_1 与e1拼接,得到h1_k_1,还可以分别在H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10中添加与e1的维数相同数量的0,从而得到h1_k_2、h1_k_3、h1_k_4、h1_k_5、h1_k_6、h1_k_7、h1_k_8、h1_k_9和h1_k_10。云侧设备最终可以得到h1_k。并且,h1_k=[ h1_k_1,h1_k_2,h1_k_3,h1_k_4,h1_k_5,h1_k_6,h1_k_7,h1_k_8,h1_k_9,h1_k_10]。
示例性的,e1=(1,2,3),H1_k_1=(1.2,4,2),H1_k_2=(1.6,1,2),H1_k_3=(3,1,5),H1_k_4=(0.6,3,1), H1_k_5=(1,0.6,2),H1_k_6=(3,4.4,1),H1_k_7=(5,1,1),H1_k_8=(6,7,3),H1_k_9=(4,1,2),H1_k_10=(2,3.6,1)。在一些实施例中,云侧设备可以将e1拼接至H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10中的最后一个分量的后面,得到h1_k_1、h1_k_2、h1_k_3、h1_k_4、h1_k_5、h1_k_6、h1_k_7、h1_k_8、h1_k_9和h1_k_10。在这种情况下,h1_k_1=(1.2,4,2,1,2,3),h1_k_2=(1.6,1,2,1,2,3),h1_k_3=(3,1,5,1,2,3),h1_k_4=(0.6,3,1,1,2,3), h1_k_5=(1,0.6,2,1,2,3),h1_k_6=(3,4.4,1,1,2,3),h1_k_7=(5,1,1,1,2,3),h1_k_8=(6,7,3,1,2,3),h1_k_9=(4,1,2,1,2,3),h1_k_10=(2,3.6,1,1,2,3)。在又一些实施例中,云侧设备可以将e1 拼接至H1_k_1中的最后一个分量的后面,得到h1_k_1,还可以分别在H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10中的最后一个分量的后面添加与e1的维数相同数量的0。在这种情况下,h1_k_1=(1.2,4,2,1,2,3),h1_k_2=(1.6,1,2,0,0,0),h1_k_3=(3,1,5,0,0,0),h1_k_4=(0.6,3,1,0,0,0),h1_k_5=(1,0.6,2,0,0,0),h1_k_6=(3,4.4,1,0,0,0),h1_k_7=(5,1,1,0,0,0),h1_k_8=(6,7,3,0,0,0),h1_k_9=(4,1,2,0,0,0),h1_k_10=(2,3.6,1,0,0,0)。
在一种可能的实现方式中,Li对应的关键词有多个。这也就意味着,Li对应的关键词向量有多个。在这种情况下,云侧设备可以将该多个关键词向量进行加权平均处理,得到处理后的关键词向量。云侧设备可以再将该处理后的关键词向量与H1_k中的每一个词向量分别进行拼接。云侧设备还可以将该处理后的关键词向量与H1_k中的部分词向量分别进行拼接。该拼接方式与上文所提及的2个向量的拼接方式相同。与上文类似,该加权平均处理时的权重可以根据实际需要进行设置,本申请对此不作限制。例如,权重可以均为1。
类似的,若云侧设备将该处理后的关键词向量与H1_k中的部分词向量进行拼接,则云侧设备还可以在H1_k中的未进行拼接的词向量中添0,使得添0后的向量的维数与拼接后的向量的维数相同。在本申请的一些实施例中,云侧设备可以在H1_k中的未进行拼接的词向量中的最后一个分量的后面添0。当然,云侧设备还可以在H1_k中的未进行拼接的词向量中添加其他字符,使得添加字符后的向量的维数与拼接后的向量的维数相同。
例如,Li可以为航班短信。Li对应的关键词可以为“航班”和“机场”。云侧设备可以确定“航班”对应的词向量为e1,“机场”对应的词向量为e2。Wk可以为“南方航空提醒您,SZ10088航班计划于明天上午10点起飞”。云侧设备可以对Wk进行分词处理,得到Wk_token,并确定H1_k。Wk_token=[“南方航空”,“提醒”,“您”,“,”,“SZ10088”,“航班”,“将于”,“明天上午”,“10点”,“起飞”]。H1_k=[H1_k_1,H1_k_2,H1_k_3,H1_k_ 4, H1_k_5,H1_k_6,H1_k_7,H1_k_8,H1_k_9,H1_k_10]。其中,H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10分别为“南方航空”、“提醒”、“您”、“,”、“SZ10088”、“航班”、“将于”、“明天上午”、“10点”和“起飞”对应的词向量。其中,e1=(1,2,3),e2=(3,4,5),H1_k_1=(1.2,4,2),H1_k_2=(1.6,1,2),H1_k_3=(3,1,5),H1_k_4=(0.6,3,1), H1_k_5=(1,0.6,2),H1_k_6=(3,4.4,1),H1_k_7=(5,1,1),H1_k_8=(6,7,3),H1_k_9=(4,1,2),H1_k_10=(2,3.6,1)。云侧设备可以对e1和e2进行加权平均处理,得到E1。在权重均为1的情况下,E1=(2,3,4)。在一些实施例中,云侧设备可以将E1拼接至H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10中的最后一个分量的后面,得到h1_k_1、h1_k_2、h1_k_3、h1_k_4、h1_k_5、h1_k_6、h1_k_7、h1_k_8、h1_k_9和h1_k_10。在这种情况下,h1_k_1=(1.2,4,2,2,3,4),h1_k_2=(1.6,1,2,2,3,4),h1_k_3=(3,1,5,2,3,4),h1_k_4=(0.6,3,1,2,3,4), h1_k_5=(1,0.6,2,2,3,4),h1_k_6=(3,4.4,1,2,3,4),h1_k_7=(5,1,1,2,3,4),h1_k_8=(6,7,3,2,3,4),h1_k_9=(4,1,2,2,3,4),h1_k_10=(2,3.6,1,2,3,4)。在又一些实施例中,云侧设备可以将E1 拼接至H1_k_1中的最后一个分量的后面,得到h1_k_1,还可以将分别在H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10中的最后一个分量的后面添加与E1的维数相同数量的0。在这种情况下,h1_k_1=(1.2,4,2,2,3,4),h1_k_2=(1.6,1,2,0,0,0),h1_k_3=(3,1,5,0,0,0),h1_k_4=(0.6,3,1,0,0,0),h1_k_5=(1,0.6,2,0,0,0),h1_k_6=(3,4.4,1,0,0,0),h1_k_7=(5,1,1,0,0,0),h1_k_8=(6,7,3,0,0,0),h1_k_9=(4,1,2,0,0,0),h1_k_10=(2,3.6,1,0,0,0)。
在一种可能的实现方式中,Li对应的关键词有多个。这也就意味着,Li对应的关键词向量有多个。在这种情况下,云侧设备还可以将该多个关键词分别与H1_k中的部分词向量分别进行拼接。在本申请的一些实施例中,云侧设备可以将该多个关键词分别与H1_k中的与关键词含义相同的词向量进行拼接。类似的,云侧设备还可以在H1_k中的未进行拼接的词向量中添0,使得添0后的向量的维数与拼接后的向量的维数相同。添0的相关内容可以参考上文,在此不展开说明。
例如,Li可以为航班短信。Li对应的关键词可以为“航班”和“起飞”。云侧设备可以确定“航班”对应的词向量为e1,“起飞”对应的词向量为e3。Wk可以为“南方航空提醒您,SZ10088航班计划于明天上午10点起飞”。云侧设备可以对Wk进行分词处理,得到Wk_token,并确定H1_k。Wk_token=[“南方航空”,“提醒”,“您”,“,”,“SZ10088”,“航班”,“将于”,“明天上午”,“10点”,“起飞”]。H1_k=[H1_k_1,H1_k_2,H1_k_3,H1_k_ 4, H1_k_5,H1_k_6,H1_k_7,H1_k_8,H1_k_9,H1_k_10]。其中,H1_k_1、H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8、H1_k_9和H1_k_10分别为“南方航空”、“提醒”、“您”、“,”、“SZ10088”、“航班”、“将于”、“明天上午”、“10点”和“起飞”对应的词向量。其中,e1=(1,2,3),e3=(2,4,6),H1_k_1=(1.2,4,2),H1_k_2=(1.6,1,2),H1_k_3=(3,1,5),H1_k_4=(0.6,3,1), H1_k_5=(1,0.6,2),H1_k_6=(3,4.4,1),H1_k_7=(5,1,1),H1_k_8=(6,7,3),H1_k_9=(4,1,2),H1_k_10=(2,3.6,1)。云侧设备可以将e1拼接至H1_k_1中的最后一个分量的后面,得到h1_k_1,可以将e3拼接至H1_k_10中的最后一个分量的后面,得到h1_k_10。云侧设备还可以分别在H1_k_2、H1_k_3、H1_k_4、H1_k_5、H1_k_6、H1_k_7、H1_k_8和H1_k_9中的最后一个分量的后面添加与e1和e3的维数相同数量的0。在这种情况下,h1_k_1=(1.2,4,2,1,2,3),h1_k_2=(1.6,1,2,0,0,0),h1_k_3=(3,1,5,0,0,0),h1_k_4=(0.6,3,1,0,0,0),h1_k_5=(1,0.6,2,0,0,0),h1_k_6=(3,4.4,1,0,0,0),h1_k_7=(5,1,1,0,0,0),h1_k_8=(6,7,3,0,0,0),h1_k_9=(4,1,2,0,0,0),h1_k_10=(2,3.6,1,2,4,6)。
下面介绍云侧设备通过求和平均确定Li对应的原型向量的具体方式。
具体地,云侧设备确定Si中的每一个样本对应的表示向量之后,可以确定Si中的每一个样本对应的表示向量的和,得到求和处理后的向量,再将该求和处理后的向量中的每一个分量除以Si中的样本数量,最终得到的向量即为Li对应的原型向量。
例如,Li可以为酒店短信。Si可以包括3个样本——W1、W2和W3。W1对应的输入向量输入至原型网络后,原型网络可以输出W1对应的表示向量。类似的,W2和W3对应的输入向量也可以输入至原型网络,相应的,原型网络可以输出W2和W3对应的表示向量。W1、W2和W3对应的表示向量可以分别为(3,1,3)、(4,2,2)和(2,3.6,1)。云侧设备可以确定W1、W2和W3对应的表示向量的和,得到(9,6.6,6)。云侧设备可以将(9,6.6,6)中的每一个分量分别除以3,得到(3,2.2,2)。即Li对应的原型向量为(3,2.2,2)。
需要说明的是,云侧设备可以基于上述方法确定不同类别对应的原型向量。
例如,i=1时,Li指的是航班短信,i=2时,Li指的是酒店短信,i=3时,Li指的是话费短信,i=4时,Li指的是还款短信。即L1为航班短信,L2为酒店短信,L3为话费短信,L4为还款短信。云侧设备可以基于上述方法确定L1对应的原型向量为(1,1,2),确定L2对应的原型向量为(4,3,2),确定L3对应的原型向量为(6,1,4),确定L4对应的原型向量为(2,1,5)。
2、训练原型网络
在本申请的一些实施例中,云侧设备可以部署有初始原型网络。云侧设备可以通过上述方式基于初始原型网络确定每一个类别对应的原型向量,并基于Qi和Li对应的关键词确定该初始原型网络的损失函数,并以最小化损失函数为目标训练该初始原型网络,即更新该初始原型网络的参数。
在本申请的又一些实施例中,云侧设备可以部署有预训练完成后的原型网络。云侧设备可以通过上述方式基于该原型网络确定每一个类别对应的原型向量,并基于Qi和Li对应的关键词确定该原型网络的损失函数,并以最小化损失函数为目标训练该原型网络,即更新该原型网络的参数。
可理解,若云侧设备部署有预训练完成后的原型网络,那么初始原型网络可以由其他云侧设备或端侧设备进行训练,从而得到预训练完成后的原型网络。该训练方式与上述云侧设备训练初始原型网络的方式类似,在此不再赘述。
可理解,初始原型网络和预训练完成后的原型网络的结构可以参考上文对原型网络的相关描述。
可理解,本申请中所提及的原型网络的损失函数可以包括两部分。其中,一部分是交叉熵损失,该交叉熵损失可以通过Qi中的样本对应的表示向量和Li对应的原型向量之间的距离来表示,另一部分是Qi中的样本对应的表示向量和Li对应的关键词向量之间的相似度损失,该相似度损失可以通过Qi中的样本对应的表示向量和Li对应的关键词向量之间的距离表示。可理解,Qi中的样本对应的表示向量和Li对应的原型向量之间的距离可以为这二者的余弦距离,还可以为这二者的欧式距离、曼哈顿距离、切比雪夫距离等,本申请对此不作限制。类似的,Qi中的样本对应的表示向量和Li对应的关键词向量之间的距离可以为这二者的余弦距离,还可以为这二者的欧式距离、曼哈顿距离、切比雪夫距离等,本申请对此不作限制。
可理解,与Si中的样本对应的表示向量类似,Qi中的样本经过分词处理,可以得到若干token,该若干token对应的词向量与Li对应的关键词向量进行拼接之后,可以生成若干输入向量,该若干输入向量可以输入至原型网络,相应的,原型网络可以输出Qi中的样本对应的表示向量。
为了便于描述,本申请将损失函数记为J。具体地,在Qi中的样本对应的表示向量和Li对应的关键词向量之间的相似度损失通过这二者的余弦距离表示的情况下,J的表达式为:
Figure 883694DEST_PATH_IMAGE001
。其中,x表示的是Qi中的样本,
Figure 863151DEST_PATH_IMAGE002
表示的是x的类别为Li的概率,f(x)表示的是x对应的表示向量。可理解,在Li对应的关键词只有1个的情况下,w即为Li对应的关键词向量。而在Li对应的关键词有多个的情况下,w为Li对应的多个关键词向量经过处理后得到的向量。在本申请的一些实施例中,该对Li对应的多个关键词向量的处理可以为加权平均处理,具体可以参考上文,在此不再赘述。在本申请的一些实施例中,该对Li对应的多个关键词向量的处理可以为将Li对应的多个关键词向量输入至全连接层。全连接层输出得到的向量即为w。
在本申请的一些实施例中,
Figure 846151DEST_PATH_IMAGE003
可以通过softmax函数来计算。具体地,
Figure 569256DEST_PATH_IMAGE004
。其中,exp表示的是指数函数,Ci表示的是Li对应的原型向量,Ci'表示的是除Li以外的其他类别对应的原型向量,
Figure 980033DEST_PATH_IMAGE005
表示的是Qi中的样本对应的表示向量和Li对应的原型向量之间的距离,
Figure 5758DEST_PATH_IMAGE006
表示的是针对不同类别的
Figure 335108DEST_PATH_IMAGE007
的和。
示例性的,L1表示的类别为航班短信,L1对应的关键词包括“航班”和“机场”。其中,“航班”对应的词向量为e1,“机场”对应的词向量为e2。即L1对应的关键词向量包括e1和e2。L1对应的支持集S1和查询集Q1可以包括若干类别为L1的短信。如图5A所示,S1可以包括文本1等短信。文本1经过分词处理,可以得到若干token。该若干token可以包括“南”、“方”、“航”和“空”等。其中,“南”对应的词向量为h_南,“方”对应的词向量为h_方,“航”对应的词向量为h_航,“空”对应的词向量为h_空。e1、e2和h_南拼接之后,可以得到h_1。类似的,e1、e2和h_方拼接之后,可以得到h_2,e1、e2和h_航拼接之后,可以得到h_3,e1、e2和h_空拼接之后,可以得到h_4。该若干token中的其他token也可以进行上述处理。h_1、h_2、h_3和h_4等向量即为上文所提及的原型网络的输入向量。h_1、h_2、h_3和h_4等向量输入至原型网络之后,原型网络可以输出文本1对应的表示向量。可理解,S1还可以包括其他短信(例如,文本k等)。基于上述方法,原型网络可以输出文本k等短信对应的表示向量。S1包括的若干短信对应的表示向量经过处理后,可以得到C1。C1为L1对应的原型向量。即C1可以用于表示L1这一类别。
示例性的,如图5B所示,Q1可以包括文本1_1等短信。文本1_1经过分词处理,可以得到若干token。该若干token可以包括“北”、“方”、“航”和“空”等。其中,“北”对应的词向量为h_北,“方”对应的词向量为h_方,“航”对应的词向量为h_航,“空”对应的词向量为h_空。与图5A中的处理过程类似,e1、e2和h_北拼接之后,可以得到h_5,e1、e2和h_方拼接之后,可以得到h_2,e1、e2和h_航拼接之后,可以得到h_3,e1、e2和h_空拼接之后,可以得到h_4。该若干token中的其他token也可以进行上述处理。h_5、h_2、h_3和h_4等向量即为上文所提及的原型网络的输入向量。h_5、h_2、h_3和h_4等向量输入至原型网络之后,原型网络可以输出文本1_1对应的表示向量。一方面,基于文本1_1对应的表示向量和C1之间的距离,可以得到文本1_1属于类别L1的概率,从而得到损失1。可理解,该概率越大,损失1越小。该概率可以基于
Figure 596325DEST_PATH_IMAGE008
得到。损失1可以基于
Figure 593100DEST_PATH_IMAGE009
得到。另一方面,e1和e2经过全连接层之后可以得到h_key。基于文本1_1对应的表示向量和h_key之间的距离,可以得到损失2。可理解,损失2可以基于
Figure 914360DEST_PATH_IMAGE010
得到。可理解,在这种情况下,x可以指文本1_1,f(x)可以指文本1_1对应的表示向量。可理解,云侧设备可以以最小化损失1和损失2为目标来更新原型网络。可理解,Q1还可以包括其他短信。云侧设备还可以基于Q1中的其他短信来实现对原型网络的更新。
可理解,云侧设备还可以确定其他类别对应的原型向量,并基于其他类别(例如,L2、L3和L4等)对应的查询集和关键词来实现对原型网络的更新,具体方式可以参考上文,在此不再赘述。
下面基于图6介绍本申请实施例提供的一种短信采集方法。
S601:云侧设备将目标关键词发送给端侧设备。目标关键词为目标短信类别对应的关键词。
云侧设备可以确定需要采集的短信的类别(即目标短信类别),并将该需要采集的短信的类别对应的关键词(即目标关键词)发送给端侧设备。
如上文所述,在本申请的一些实施例中,云侧设备可以向端侧设备下发短信采集任务。该短信采集任务可以包括目标短信类别。而目标关键词可以用于表示目标短信类别。
可理解,云侧设备可以获取不同短信类别对应的关键词,即Li对应的关键词。不同短信类别对应的关键词可以存储在云侧设备中,也可以由云侧设备从其他设备中读取。
可理解,不同短信类别对应的关键词可以是一个或多个,本申请对此不作限制。
示例性的,航班短信对应的关键词可以为航班,酒店短信对应的关键词可以为酒店,话费短信对应的关键词可以为话费,还款短信对应的关键词可以为还款。也就是说,目标短信类别为航班短信时,目标关键词为航班,目标短信类别为酒店短信时,目标关键词为酒店,目标短信类别为话费短信时,目标关键词为话费,目标短信类别为还款短信时,目标关键词为还款。
示例性的,航班短信对应的关键词可以为航班和起飞,酒店短信对应的关键词可以为酒店和入住,话费短信对应的关键词可以为话费和缴费,还款短信对应的关键词可以为还款和本期。
相应的,端侧设备可以接收云侧设备发送的目标关键词。
S602:端侧设备基于目标关键词在端侧设备接收的短信中确定短信MES1。短信MES1包括若干类别为目标短信类别的短信。
端侧设备接收云侧设备发送的目标关键词之后,可以在端侧设备接收的短信中筛选包含有目标关键词的短信,筛选得到的短信即为短信MES1。可理解,短信MES1包括的短信的类别为目标短信类别。
在本申请的一些实施例中,目标关键词可以有多个。在这种情况下,端侧设备可以在端侧设备接收的短信中筛选包含有任意一个或多个目标关键词的短信。
在本申请的一些实施例中,端侧设备接收云侧设备发送的目标关键词之后,可以在端侧设备接收的通道号短信中确定短信MES1。可理解,通道号短信指的是通过短信通道发送至端侧设备的短信。短信通道是由运营商直接提供的短信发送接口,可以实现与指定号码进行短信批量发送和自定义发送的目的。通常来说,端侧设备滤除个人短信(即由个人号码发送的短信)后,剩下的短信即为通道号短信。
S603:端侧设备将短信MES1发送给云侧设备。
端侧设备确定短信MES1之后,可以将短信MES1发送给云侧设备。
相应的,云侧设备可以接收端侧设备发送的短信MES1。
S604:云侧设备基于短信MES1进行目标短信类别对应的关键词挖掘,得到更新后的目标关键词。
云侧设备可以对短信MES1中的每一条短信以词语为单位进行分词处理,从而得到短信MES1所包含的若干词语。在本申请的一些实施例中,云侧设备可以确定该若干词语为目标短信类别对应的候选关键词。在本申请的又一些实施例中,云侧设备可以确定该若干词语中每一个词语的数量,即确定短信MES1中的每一个词语的词频,并确定短信MES1中词频超过词频阈值Y1的词语。云侧设备可以确定该短信MES1中词频超过词频阈值Y1的词语为目标短信类别对应的候选关键词。
可理解,词频阈值Y1可以根据实际需要进行设置,本申请对此不作限制。
在本申请的一些实施例中,更新后的目标关键词可以包括更新前的目标关键词和目标短信类别对应的候选关键词。
在本申请的一些实施例中,云侧设备可以确定更新前的目标关键词对应的词向量和目标短信类别对应的候选关键词所对应的词向量,还可以确定更新前的目标关键词对应的词向量和目标短信类别对应的候选关键词所对应的词向量之间的相似度。
在一种可能的实现方式中,在更新前的目标关键词为1个的情况下,针对目标短信类别对应的某一个候选关键词,云侧设备可以确定该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的相似度。在该相似度满足第一条件的情况下,云侧设备可以确定更新后的目标关键词包括该候选关键词。在更新前的目标关键词为多个的情况下,针对目标短信类别对应的某一个候选关键词,云侧设备可以确定该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的相似度,并对该相似度进行加权平均处理,得到综合相似度。在该综合相似度满足第二条件的情况下,云侧设备可以确定更新后的目标关键词包括该候选关键词。
在一种可能的实现方式中,在更新前的目标关键词为1个的情况下,针对目标短信类别对应的某一个候选关键词,若该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的相似度满足第一条件,且该候选关键词的词频超过词频阈值Y2,云侧设备可以确定更新后的目标关键词包括该候选关键词。在更新前的目标关键词为多个的情况下,针对目标短信类别对应的某一个候选关键词,若该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的相似度进行加权平均处理后得到的综合相似度满足第二条件,且该候选关键词的词频超过词频阈值Y2,云侧设备可以确定更新后的目标关键词包括该候选关键词。
可理解,两个向量之间的相似度可以通过余弦距离来表示。余弦距离(也称为余弦相似度)是指通过向量空间中两个向量夹角的余弦值来衡量两个个体间差异的大小。两个向量之间的余弦距离越接近于1,这两个向量的相似度越大。两个向量之间的余弦距离等于1时,这两个向量完全一致。也可以理解为,两个向量之间的余弦距离越大,它们之间的相似度也越大。在这种情况下,该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的相似度满足第一条件,具体可以包括:该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的余弦距离大于G1。该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的相似度进行加权平均处理后得到的综合相似度满足第二条件,具体可以包括:该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的余弦距离进行加权平均处理后所得到的值大于G2。可理解,G1和G2的范围可以为-1到1(包括-1和1),其具体值可以根据实际需要进行设置,本申请对此不作限制。
可理解,两个向量之间的相似度还可以通过欧式距离来表示。可理解,两个向量之间的欧式距离越小,这两个向量之间的相似度越大。在这种情况下,该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的相似度满足第一条件,具体可以包括:该候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的欧式距离小于G3。该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的相似度进行加权平均处理后得到的综合相似度满足第二条件,具体可以包括:该候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的欧式距离进行加权平均处理后所得到的值小于G4。可理解,G3和G4的具体值可以根据实际需要进行设置,本申请对此不作限制。
可理解,加权平均的相关描述可以参考上文及其他技术文档,本申请在此不再赘述。
需要说明的是,相似度还可以通过其他方式(例如,感知器、加权点乘等)来表示,本申请对此不作限制。
可理解,词频阈值Y2可以根据实际需要进行设置,本申请对此不作限制。并且,词频阈值Y2大于词频阈值Y1。
在一种可能的实现方式中,在更新前的目标关键词为1个的情况下,云侧设备可以通过上述方法确定每一个候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的相似度。云侧设备可以对该相似度进行排序,并确定排在前面的g1个相似度所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g1个相似度所对应的候选关键词。在更新前的目标关键词为多个的情况下,云侧设备可以通过上述方法确定每一个候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的综合相似度。云侧设备可以对该综合相似度进行排序,并确定排在前面的g2个相似度所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g2个相似度所对应的候选关键词。
在一种可能的实现方式中,在更新前的目标关键词为1个的情况下,更新后的目标关键词包括该排在前面的g1个相似度所对应的候选关键词中的词频超过词频阈值Y2的候选关键词。在更新前的目标关键词为多个的情况下,更新后的目标关键词包括该排在前面的g2个相似度所对应的候选关键词中的词频超过词频阈值Y2的候选关键词。
类似的,两个向量之间的相似度可以通过余弦距离来表示。在这种情况下,若更新前的目标关键词为1个,云侧设备可以确定每一个候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的余弦距离。云侧设备可以对该余弦距离由大到小进行排序,并确定排在前面的g1个余弦距离所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g1个余弦距离所对应的候选关键词。若更新前的目标关键词为多个,云侧设备可以确定每一个候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的余弦距离进行加权平均处理后的值,并对其由大到小进行排序,并确定排在前面的g2个值所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g2个值所对应的候选关键词。
类似的,两个向量之间的相似度还可以通过欧式距离来表示。在这种情况下,若更新前的目标关键词为1个,云侧设备可以确定每一个候选关键词对应的词向量与该更新前的目标关键词对应的词向量之间的欧式距离。云侧设备可以对该欧式距离由小到大进行排序,并确定排在前面的g1个欧式距离所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g1个欧式距离所对应的候选关键词。若更新前的目标关键词为多个,云侧设备可以确定每一个候选关键词对应的词向量与每一个更新前的目标关键词对应的词向量之间的欧式距离进行加权平均处理后的值,并对其由小到大进行排序,并确定排在前面的g2个值所对应的候选关键词。可理解,更新后的目标关键词包括该排在前面的g2个值所对应的候选关键词。
可理解,g1和g2为正整数,其具体值可以根据实际需要进行设置,本申请对此不作限制。
S605:云侧设备将更新后的目标关键词发送给端侧设备。
云侧设备确定更新后的目标关键词之后,可以将更新后的目标关键词发送给端侧设备。
相应的,端侧设备可以接收云侧设备发送的更新后的目标关键词。
S606:端侧设备基于更新后的目标关键词在端侧设备接收的短信中确定短信MES2。短信MES2包括若干类别为目标短信类别的短信。
在本申请的一些实施例中,更新后的目标关键词可以有多个。在这种情况下,端侧设备可以在端侧设备接收的短信中筛选包含有任意一个或多个更新后的目标关键词的短信。
端侧设备接收云侧设备发送的更新后的目标关键词之后,可以在端侧设备接收的短信中筛选包含有更新后的目标关键词的短信,筛选得到的短信即为短信MES2。可理解,短信MES2包括的短信的类别为目标短信类别。
可理解,端侧设备可以在其接收的通道号短信中确定短信MES2。
在本申请的一些实施例中,步骤S602和步骤S606中所提及的端侧设备接收的短信可以完全相同。在本申请的一些实施例中,步骤S606中所提及的端侧设备接收的短信可以完全包括步骤S602中所提及的端侧设备接收的短信,并且步骤S606中所提及的端侧设备接收的短信多于步骤S602中所提及的端侧设备接收的短信。
S607:端侧设备将短信MES2发送给云侧设备。
端侧设备确定短信MES2之后,可以将短信MES2发送给云侧设备。
相应的,云侧设备可以接收端侧设备发送的短信MES2。
S608:云侧设备基于短信MES1训练原型网络100,得到原型向量C_1和训练后的原型网络100。原型向量C_1为基于短信MES1和原型网络100确定的目标短信类别对应的原型向量。
云侧设备接收端侧设备发送的短信MES1之后,可以将短信MES1作为样本集,并且基于该样本集确定原型向量C_1,以及训练原型网络100,从而得到训练后的原型网络100。可理解,原型网络100的相关描述可以参考上文对原型网络的相关描述,确定原型向量C_1和训练原型网络100的具体方式也可以参考上文,在此不再赘述。可理解,原型向量C_1为目标原型向量。
S609:云侧设备将第一模型数据和原型向量C_1发送给端侧设备。第一模型数据包括训练后的原型网络100的相关数据。
云侧设备基于短信MES1训练原型网络100之后,可以将第一模型数据和原型向量C_1发送给端侧设备。其中,第一模型数据可以包括训练后的原型网络100的相关数据。例如,第一模型数据可以包括训练后的原型网络100的程序代码。
相应的,端侧设备可以接收云侧设备发送的第一模型数据和原型向量C_1。
S610:端侧设备基于第一模型数据确定端侧设备接收的短信对应的表示向量,并基于该端侧设备接收的短信对应的表示向量和原型向量C_1的相似度,确定短信MES3。短信MES3包括若干类别为目标短信类别的短信。
端侧设备接收云侧设备发送的第一模型数据和原型向量C_1之后,基于第一模型数据可以得到训练后的原型网络100。端侧设备可以基于训练后的原型网络100确定端侧设备接收的短信所对应的表示向量。可理解,这里所提及的端侧设备接收的短信可以指端侧设备接收的通道号短信。短信对应的表示向量的确定方法可以参考上文,本申请在此不再赘述。
针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1的相似度。在该相似度满足第三条件的情况下,端侧设备可以确定该通道号短信的类别为目标短信类别。也就意味着,短信MES3可以包括该通道号短信。可理解,端侧设备可以通过上述方法确定其接收的通道号短信中的类别为目标短信类别的短信,这些短信即为短信MES3。也就是说,短信MES3中的每一条短信对应的表示向量和原型向量C_1的相似度均满足第三条件。
根据上文,两个向量之间的相似度可以通过余弦距离来表示。也就是说,针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1之间的余弦距离。在这种情况下,该通道号短信对应的表示向量和原型向量C_1的相似度满足第三条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_1之间的余弦距离大于G5。可理解,G5的范围可以为-1到1(包括-1和1),其具体值可以根据实际需要进行设置,本申请对此不作限制。
根据上文,两个向量之间的相似度还可以通过欧式距离来表示。也就是说,针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1之间的欧式距离。在这种情况下,该通道号短信对应的表示向量和原型向量C_1的相似度满足第三条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_1之间的欧式距离小于G6。可理解,G6的具体值可以根据实际需要进行设置,本申请对此不作限制。
可理解,相似度的相关描述还可以参考上文和其他技术文档,本申请在此不再赘述。
在本申请的一些实施例中,步骤S602、步骤S606和步骤S610中所提及的端侧设备接收的短信可以完全相同。在本申请的一些实施例中,步骤S610中所提及的端侧设备接收的短信可以完全包括步骤S602中所提及的端侧设备接收的短信,并且步骤S610中所提及的端侧设备接收的短信多于步骤S602中所提及的端侧设备接收的短信。
S611:端侧设备将短信MES3发送给云侧设备。
端侧设备确定短信MES3之后,可以将短信MES3发送给云侧设备。
相应的,云侧设备可以接收端侧设备发送的短信MES3。
可理解,本申请对步骤S604和步骤S608的先后顺序不作限制。
在本申请的一些实施例中,云侧设备执行步骤S601之前,云侧设备可以基于端侧设备上传的短信对目标短信类别对应的预设关键词进行更新。在这种情况下,步骤S601中的目标关键词即为对目标短信类别的预设关键词更新后所得到的关键词。可理解,不同短信类别对应的预设关键词可以根据实际需要进行设置,本申请对此不作限制。
可理解,本申请对步骤S604和步骤S608的先后顺序不作限制。
在本申请的一些实施例中,端侧设备和云侧设备可以仅执行步骤S601-步骤S603和步骤S608-步骤S611。也就是说,端侧设备和云侧设备可以不执行步骤S604-步骤S607。
在一种可能的实现方式中,在执行步骤S604之前,云侧设备可以确定接收的端侧设备发送的类别为目标短信类别的短信的数量是否达到阈值1。若云侧设备接收的端侧设备发送的类别为目标短信类别的短信的数量未达到阈值1,则云侧设备可以不执行步骤S604和步骤S605,端侧设备也可以不执行步骤S606和步骤S607。若云侧设备接收的端侧设备发送的类别为目标短信类别的短信的数量达到阈值1,则云侧设备可以继续执行步骤S604和步骤S605,端侧设备也可以执行步骤S606和步骤S607。
可理解,云侧设备接收的端侧设备发送的类别为目标短信类别(例如,航班短信)的短信的数量,具体可以指:在云侧设备上一次进行该目标短信类别(例如,航班短信)对应的关键词挖掘之后,云侧设备接收的端侧设备发送的相同目标短信类别(例如,航班短信)的短信(包括短信MES1)的数量。在这种情况下,若云侧设备接收的端侧设备发送的类别为目标短信类别的短信的数量达到阈值1,则云侧设备可以基于该端侧设备发送的相同目标短信类别(例如,航班短信)的短信进行关键词挖掘,而不仅仅只基于短信MES1进行关键词挖掘。
这也就意味着,在云侧设备进行第a次和第a+1次针对相同目标短信类别的关键词挖掘之间,端侧设备可以一次或多次向云侧设备发送类别为目标短信类别的短信。其中,a为正整数。
在一种可能的实现方式中,若云侧设备前b次进行该目标短信类别(例如,航班短信)对应的关键词挖掘的结构相同,则云侧设备可以暂时不进行该目标短信类别对应的关键词挖掘。也就是说,云侧设备可以不执行步骤S604和步骤S605,端侧设备也可以不执行步骤S606和步骤S607。可理解,b为正整数。例如,b=3。
可理解,云侧设备可以之后再进行该目标短信类别对应的关键词挖掘。例如,在上述情况下,云侧设备继续接收若干次(例如,3次)端侧设备发送的相同目标短信类别(例如,航班短信)的短信之后,可以进行该目标短信类别对应的关键词挖掘。再例如,在上述情况下,在云侧设备接收短信MES1的时刻与当前时刻之间相差的时长达到阈值2的情况下,云侧设备可以进行该目标短信类别对应的关键词挖掘。可理解,云侧设备可以基于云侧设备上一次进行该目标短信类别(例如,航班短信)对应的关键词挖掘之后所接收的端侧设备发送的相同目标短信类别(例如,航班短信)的短信(包括短信MES1),来进行该目标短信类别对应的关键词挖掘。
下面基于图7介绍本申请实施例提供的又一种短信采集方法。
S701:云侧设备将目标关键词发送给端侧设备。
S702:端侧设备基于目标关键词在端侧设备接收的短信中确定短信MES1。
S703:端侧设备将短信MES1发送给云侧设备。
S704:云侧设备基于短信MES1进行目标短信类别对应的关键词挖掘,得到更新后的目标关键词。
S705:云侧设备将更新后的目标关键词发送给端侧设备。
S706:端侧设备基于更新后的目标关键词在端侧设备接收的短信中确定短信MES2。
S707:端侧设备将短信MES2发送给云侧设备。
可理解,步骤S701-步骤S707的相关内容可以参考上文对步骤S601-步骤S607的相关描述,本申请在此不再赘述。
S708:云侧设备将第二模型数据和原型向量C_2发送给端侧设备。第二模型数据包括原型网络100的相关数据。原型向量C_2为基于云侧设备之前接收的端侧设备发送的短信和原型网络100确定的目标短信类别对应的原型向量。
云侧设备可以将第二模型数据和原型向量C_2发送给端侧设备。其中,第二模型数据包括原型网络100的相关数据。例如,第二模型数据可以包括原型网络100的程序代码。可理解,原型网络100可以为预训练完成的原型网络。在这种情况下,原型向量C_2为该预训练过程中确定的目标短信类别对应的原型向量。
S709:端侧设备基于第二模型数据确定端侧设备接收的短信对应的表示向量,并基于该端侧设备接收的短信对应的表示向量和原型向量C_2的相似度,确定短信MES4。短信MES4包括若干类别为目标短信类别的短信。
端侧设备接收云侧设备发送的第二模型数据和原型向量C_2之后,基于第二模型数据可以得到原型网络100。端侧设备可以基于原型网络100确定端侧设备接收的短信所对应的表示向量。可理解,这里所提及的端侧设备接收的短信可以指端侧设备接收的通道号短信。短信对应的表示向量的确定方法可以参考上文,本申请在此不再赘述。
针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_2的相似度。在该相似度满足第四条件的情况下,端侧设备可以确定该通道号短信的类别为目标短信类别。也就意味着,短信MES4可以包括该通道号短信。可理解,端侧设备可以通过上述方法确定其接收的通道号短信中的类别为目标短信类别的短信,这些短信即为短信MES4。也就是说,短信MES4中的每一条短信对应的表示向量和原型向量C_2的相似度均满足第四条件。
根据上文,两个向量之间的相似度可以通过余弦距离来表示。在这种情况下,针对端侧设备接收的每一条通道号短信,该通道号短信对应的表示向量和原型向量C_2的相似度满足第四条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_2之间的余弦距离大于G7。可理解,G7的范围可以为-1到1(包括-1和1),其具体值可以根据实际需要进行设置,本申请对此不作限制。在本申请的一些实施例中,G7=G5。
根据上文,两个向量之间的相似度还可以通过欧式距离来表示。在这种情况下,针对端侧设备接收的每一条通道号短信,该通道号短信对应的表示向量和原型向量C_2的相似度满足第四条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_2之间的欧式距离小于G8。可理解,G8的具体值可以根据实际需要进行设置,本申请对此不作限制。在本申请的一些实施例中,G8=G6。
可理解,相似度的相关描述还可以参考上文和其他技术文档,本申请在此不再赘述。
S710:端侧设备将短信MES4发送给云侧设备。
端侧设备确定短信MES4之后,可以将短信MES4发送给云侧设备。
相应的,云侧设备可以接收端侧设备发送的短信MES4。
可理解,本申请对步骤S704和步骤S708的先后顺序不作限制。
在本申请的一些实施例中,端侧设备和云侧设备可以仅执行步骤S701-步骤S703和步骤S708-步骤S710。也就是说,端侧设备和云侧设备可以不执行步骤S704-步骤S707。其具体内容可以参考上文对步骤S604-步骤S607的相关描述,本申请在此不再赘述。
需要说明的是,一个或多个端侧设备都可以通过上述方式(如图6和图7所示)采集短信,并将采集到的短信发送给云侧设备。
可理解,上述进行关键词挖掘、部署及训练原型网络100的云侧设备可以是相同的云侧设备,也可以是不同的云侧设备。
在本申请的一些实施例中,端侧设备可以基于接收的短信确定目标短信类别对应的个性化关键词,并基于该目标短信类别对应的个性化关键词来采集短信。为了便于描述,本申请将目标短信类别对应的个性化关键词记为目标个性化关键词。
下面在图6所示的短信采集方法的基础上,结合图8介绍本申请实施例提供的又一种短信采集方法。
在端侧设备和云侧设备执行步骤S601-步骤S603和步骤S608-步骤S609的基础上,端侧设备还可以执行以下步骤:
S801:端侧设备基于第一模型数据确定端侧设备接收的短信对应的表示向量,并基于该端侧设备接收的短信对应的表示向量和原型向量C_1的相似度,确定短信MES5。短信MES5包括若干类别为目标短信类别的短信。
与步骤S610类似,端侧设备接收云侧设备发送的第一模型数据和原型向量C_1之后,基于第一模型数据可以得到训练后的原型网络100。端侧设备可以基于训练后的原型网络100确定端侧设备接收的短信所对应的表示向量。可理解,这里所提及的端侧设备接收的短信可以指端侧设备接收的通道号短信。
针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1的相似度。在该相似度满足第五条件的情况下,端侧设备可以确定该通道号短信的类别为目标短信类别。也就意味着,短信MES5可以包括该通道号短信。可理解,端侧设备可以通过上述方法确定其接收的通道号短信中的类别为目标短信类别的短信,这些短信即为短信MES5。也就是说,短信MES5中的每一条短信对应的表示向量和原型向量C_1的相似度均满足第五条件。
根据上文,两个向量之间的相似度可以通过余弦距离来表示。也就是说,针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1之间的余弦距离。在这种情况下,该通道号短信对应的表示向量和原型向量C_1的相似度满足第五条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_1之间的余弦距离大于G9。可理解,G9的范围可以为-1到1(包括-1和1),其具体值可以根据实际需要进行设置,本申请对此不作限制。可理解,G9小于G5。
根据上文,两个向量之间的相似度还可以通过欧式距离来表示。也就是说,针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_1之间的欧式距离。在这种情况下,该通道号短信对应的表示向量和原型向量C_1的相似度满足第五条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_1之间的欧式距离小于G10。可理解,G10的具体值可以根据实际需要进行设置,本申请对此不作限制。可理解,G10大于G6。
S802:端侧设备基于短信MES5进行目标短信类别对应的关键词挖掘,得到目标个性化关键词。
端侧设备可以基于短信MES5进行目标短信类别对应的关键词挖掘,得到目标个性化关键词。目标短信类别对应的关键词挖掘的具体方式可以参考步骤S604,本申请在此不再赘述。
示例性的,目标关键词可以为“航班”,原型向量C_1为[1,2,1,2,1]。端侧设备基于[1,2,1,2,1]可以确定短信MES5。端侧设备可以对短信MES5所包括的短信进行分词处理,得到目标短信类别对应的候选关键词。该候选关键词包括:“航班”、“川航”、“起飞”和“南京”。其中,“航班”的词频为50,“川航”的词频为40,“起飞”的词频为40,“南京”的词频为35。端侧设备可以确定这些候选关键词对应的词向量与目标关键词对应的词向量之间的余弦距离。“航班”对应的词向量与“航班”对应的词向量之间的余弦距离为1。“川航”对应的词向量与“航班”对应的词向量之间的余弦距离为0.8。“起飞”对应的词向量与“航班”对应的词向量之间的余弦距离为0.8。“南京”对应的词向量与“航班”对应的词向量之间的余弦距离为0.05。若词频阈值Y2为35,且G1为0.5,由于“航班”和“川航”的词频均超过35,并且“航班”对应的词向量与“航班”对应的词向量之间的余弦距离大于0.5,“川航”对应的词向量与“航班”对应的词向量之间的余弦距离也大于0.5,则端侧设备可以确定目标个性化关键词包括“航班”和“川航”。
S803:端侧设备基于目标个性化关键词在端侧设备接收的短信中确定短信MES6。短信MES6包括若干类别为目标短信类别的短信。
端侧设备确定目标个性化关键词之后,可以在端侧设备接收的短信中筛选包含有目标个性化关键词的短信,筛选得到的短信即为短信MES6。可理解,短信MES6包括的短信的类别为目标短信类别。
在本申请的一些实施例中,目标个性化关键词可以有多个。在这种情况下,端侧设备可以在端侧设备接收的短信中筛选包含有任意一个或多个目标个性化关键词的短信。
可理解,端侧设备可以在其接收的通道号短信中确定短信MES6。
在本申请的一些实施例中,步骤S801和步骤S803中所提及的端侧设备接收的短信可以完全相同。在本申请的一些实施例中,步骤S803中所提及的端侧设备接收的短信可以完全包括步骤S801中所提及的端侧设备接收的短信,并且步骤S803中所提及的端侧设备接收的短信多于步骤S801中所提及的端侧设备接收的短信。
S804:端侧设备将短信MES6发送给云侧设备。
端侧设备确定短信MES6之后,可以将短信MES6发送给云侧设备。
相应的,云侧设备可以接收端侧设备发送的短信MES6。
在本申请的一些实施例中,在执行上述步骤的基础上,还可以执行步骤S604-步骤S607。在本申请的一些实施例中,端侧设备和云侧设备在执行上述步骤的基础上,还可以执行步骤S610-步骤S611。
下面在图7所示的短信采集方法的基础上,结合图9介绍本申请实施例提供的又一种短信采集方法。
在云侧设备执行步骤S708的基础上,端侧设备还可以执行以下步骤:
S901:端侧设备基于第二模型数据确定端侧设备接收的短信对应的表示向量,并基于该端侧设备接收的短信对应的表示向量和原型向量C_2的相似度,确定短信MES7。短信MES7包括若干类别为目标短信类别的短信。
与步骤S709类似,端侧设备接收云侧设备发送的第二模型数据和原型向量C_2之后,基于第二模型数据可以得到原型网络100。端侧设备可以基于原型网络100确定端侧设备接收的短信所对应的表示向量。可理解,这里所提及的端侧设备接收的短信可以指端侧设备接收的通道号短信。
针对端侧设备接收的每一条通道号短信,端侧设备可以确定该通道号短信对应的表示向量和原型向量C_2的相似度。在该相似度满足第六条件的情况下,端侧设备可以确定该通道号短信的类别为目标短信类别。也就意味着,短信MES7可以包括该通道号短信。可理解,端侧设备可以通过上述方法确定其接收的通道号短信中的类别为目标短信类别的短信,这些短信即为短信MES7。也就是说,短信MES7中的每一条短信对应的表示向量和原型向量C_2的相似度均满足第六条件。
根据上文,两个向量之间的相似度可以通过余弦距离来表示。在这种情况下,针对端侧设备接收的每一条通道号短信,该通道号短信对应的表示向量和原型向量C_2的相似度满足第六条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_2之间的余弦距离大于G11。可理解,G11的范围可以为-1到1(包括-1和1),其具体值可以根据实际需要进行设置,本申请对此不作限制。可理解,G11小于G7。
根据上文,两个向量之间的相似度还可以通过欧式距离来表示。在这种情况下,针对端侧设备接收的每一条通道号短信,该通道号短信对应的表示向量和原型向量C_2的相似度满足第六条件,具体可以包括:该通道号短信对应的表示向量和原型向量C_2之间的欧式距离小于G12。可理解,G12的具体值可以根据实际需要进行设置,本申请对此不作限制。可理解,G12大于G8。
S902:端侧设备基于短信MES7进行目标短信类别对应的关键词挖掘,得到目标个性化关键词。
S903:端侧设备基于目标个性化关键词在端侧设备接收的短信中确定短信MES8。短信MES8包括若干类别为目标短信类别的短信。
S904:端侧设备将短信MES8发送给云侧设备。
可理解,步骤S902-步骤S904的相关内容可以参考上文对步骤S802-步骤S804的相关描述,本申请在此不再赘述。
在本申请的一些实施例中,在执行上述步骤的基础上,端侧设备和云侧设备还可以执行步骤S701-步骤S703。在这种情况下,端侧设备和云侧设备还可以执行步骤S704-步骤S707。在本申请的一些实施例中,在执行上述步骤的基础上,端侧设备还可以执行步骤S709-步骤S710。
可理解,在端侧设备将采集到的短信(例如,短信MES1、短信MES2、短信MES3、短信MES4、短信MES6和短信MES8等)发送给云侧设备之前,可以确定该采集到的短信所包括的用户隐私信息,并隐藏该采集到的短信所包括的用户隐私信息,得到隐藏用户隐私信息后的短信。端侧设备再将该隐藏用户隐私信息后的短信发送给云侧设备。
具体地,针对端侧设备采集的每一条通道号短信,端侧设备可以基于自然语言处理(Natural Language Processing,NLP)算法对该通道号短信进行命名实体识别,并确定该通道号短信中的实体是否包括隐私类实体。若该通道号短信中的实体包括隐私类实体,则端侧设备可以将该通道号短信中的隐私类实体替换为特殊字符。
可理解,文本中的实体可以包括三大类(实体类、时间类和数字类)和七小类(人物、机构、地点、时间、日期、货币和百分比)。其中,人物也可以被称为人名(如图3C和图3D所示)。
示例性的,如下表1所示,表1为本申请提供的实体类别和示例。
表1
实体类别 示例
人物(PERSON) John、Jane、Amy、小红、明明
位置(LOCATION) 华清池、第一街道、第二街区
机构(ORGANIZATION) 第一机构
日期(DATE) October,3月,2022-3-3
时间(TIME) 明天,22:30:03
货币(MONEY) Thirtydollars,3元
百分比(PERCENT) 10%,百分之二十
当然,实体还可以包括其他内容,本申请对此不作限制。如图3C和图3D所示,实体还可以包括邮箱、电话和数字。
可理解,隐私类实体可以根据实际需要进行设置,本申请对此不作限制。例如,隐私类实体可以包括日期、时间、邮箱、人名、电话和数字。在本申请的一些实施例中,端侧设备可以基于预先设置的隐私类实体来隐藏隐私信息。在本申请的一些实施例中,用户可以自行在预先设置的隐私类实体中选择若干隐私类实体,并基于选择的该若干隐私类实体来隐藏隐私信息。如图3C所示,用户可以在日期、时间、邮箱、人名、电话和数字中选择隐私类实体。
可理解,用来替换通道号短信中的隐私类实体的特殊字符可以根据实际需要进行设置,本申请对此不作限制。在本申请的一些实施例中,不同类别的隐私类实体可以替换成不同的特殊字符。例如,隐私类实体可以包括日期、时间、邮箱、人名、电话和数字,用于替换日期的特殊字符可以为{#date#},用于替换时间的特殊字符可以为{#time#},用于替换邮箱的特殊字符可以为{#mail#},用于替换人名的特殊字符可以为{#name#},用于替换电话的特殊字符可以为{#phone number#},用于替换邮箱的特殊字符可以为{#mail#},用于替换数字的特殊字符可以为{#number#}。如图3C和图3D所示,用于替换数字的特殊字符还可以为*。
示例性的,隐私类实体可以包括人名、日期和时间。端侧设备接收有一条通道号为160211的短信,该短信内容为:“张三先生,请您于2月12日15:30到达会场”。端侧设备可以基于NLP算法对该短信进行命名实体识别,可以确定该短信中的“张三”为人名,“2月12日”为日期,“15:30”为时间。由于“张三”、“2月12日”和“15:30”为隐私类实体,则端侧设备可以将这些实体替换为特殊符号。具体地,端侧设备可以将“张三”替换为{#name#},将“2月12日”替换为{#date#},以及将“15:30”替换为{#time#}。那么,端侧设备可以得到隐藏用户隐私信息后的短信,该短信为“{#name#}先生,请您于{#date#}{#time#}到达会场”。端侧设备可以将该隐藏用户隐私信息后的短信发送给云侧设备。
需要说明的是,云侧设备接收端侧设备发送的短信之后,可能需要对该短信进行处理(例如,关键词挖掘、原型网络训练等)。在本申请的一些实施例中,云侧设备可以直接对隐藏用户隐私信息后的短信进行相应处理(例如,关键词挖掘、原型网络训练等)。在本申请的又一些实施例中,云侧设备可以基于该短信中的特殊字符恢复短信中隐藏的用户隐私信息,再对该恢复用户隐私信息后的短信进行相应处理(例如,关键词挖掘、原型网络训练等)。可理解,云侧设备可以将短信中的特殊字符替换成相应类别的实体。值得注意的是,该替换的实体为云侧设备不一定是隐藏用户隐私信息前的短信中的相应实体。但是,该替换的实体的类别与隐藏用户隐私信息前的短信中的相应实体的类别是一样的。在本申请的一些实施例中,云侧设备可以随机确定相应类别的替换的实体。
示例性的,云侧设备可以接收端侧发送的隐藏用户隐私信息后的短信。该短信为“{#name#}先生,请您于{#date#}{#time#}到达会场”。云侧设备可以确定{#name#}对应的实体的类别为人名,并选择“小明”替换{#name#}。类似的,云侧设备可以确定{#date#}对应的实体的类别为日期,并选择“12月12日”替换{#date#},云侧设备还可以确定{#time#}对应的实体的类别为时间,并选择“10:10”替换{#time#}。那么,云侧设备可以得到回复用户隐私信息后的短信,该短信为“小明先生,请您于12月12日10:10到达会场”。在一种可能的实现方式中,云侧设备可以基于“{#name#}先生,请您于{#date#}{#time#}到达会场”来进行关键词挖掘(例如,目标短信类别对应的关键词挖掘)和原型网络(例如,原型网络100)的训练。在又一种可能的实现方式中,云侧设备可以基于“小明先生,请您于12月12日10:10到达会场”来进行关键词挖掘(例如,目标短信类别对应的关键词挖掘)和原型网络(例如,原型网络100)的训练。
下面介绍本申请实施例涉及的装置。
图10为本申请实施例提供的一种电子设备的硬件结构示意图。
电子设备可以包括处理器110,外部存储器接口120,内部存储器121,音频模块130,扬声器130A,受话器130B,麦克风130C,耳机接口130D,显示屏140,摄像头150,触摸传感器160。
本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。处理器110中还可以设置存储器,用于存储指令和数据。
电子设备通过GPU,显示屏140,以及应用处理器等实现显示功能。
GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。显示屏140用于显示图像,视频等。在一些实施例中,电子设备可以包括1个或N个显示屏140,N为大于1的正整数。
在本申请实施例中,电子设备显示图3A-图3D所示的用户界面的能力,依赖于上述GPU,显示屏140,以及应用处理器提供的显示功能。
摄像头150用于捕获静态图像或视频。ISP用于处理摄像头150反馈的数据。光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。电子设备可以包括1个或N个摄像头150,N为大于1的正整数。视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
在本申请实施例中,实现本申请实施例所述的短信采集方法的代码可存储在非易失性存储器上。在运行相机应用时,电子设备可将非易失性存储器中存储的可执行代码加载到随机存取存储器。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。
电子设备可以通过音频模块130,扬声器130A,受话器130B,麦克风130C,耳机接口130D,以及应用处理器等实现音频功能。
音频模块130用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器130A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器130B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风130C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口130D用于连接有线耳机。
在本申请实施例中,电子设备在开启语音转文本的功能的情况下,可以启用麦克风130C采集声音信号,并将声音信号转换为相应的文字。
触摸传感器160,也称“触控器件”。触摸传感器160可以设置于显示屏140,由触摸传感器160与显示屏140组成触摸屏,也称“触控屏”。触摸传感器160用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏140提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器160也可以设置于电子设备的表面,与显示屏140所处的位置不同。
在本申请实施例中,电子设备可利用触摸传感器160检测用户作用于显示屏140上的点击、滑动等操作,以实现图3A-图3D所示的短信采集方法。
图11为本申请实施例提供的一种电子设备的软件结构示意图。
如图11所示,本申请涉及的电子设备的软件框架可以包括应用程序层、应用程序框架层(framework,FWK)、系统库、运行时、硬件抽象层(HAL)和内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包。例如:短信采集工具,日历,图库,通话,蓝牙,视频,音乐,短信息,WLAN等应用程序(也可以简称为应用)。其中,短信采集工具可以用于采集短信。其具体使用方法可以参考图3B-图3D。在本申请的一些实施例中,短信采集工具可以为系统应用,而不是第三方应用。在本申请的一些实施例中,应用程序层可以不包括短信采集工具。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括一系列系统服务。系统服务是专注于特定功能的模块化组件。应用框架 API所提供的功能可与系统服务通信,以访问底层硬件。
应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。其具体含义可以参考相关技术文档,在此不展开说明。
运行时(Runtime)负责系统的调度和管理。Runtime包括核心库和虚拟机。其中,核心库包含两部分:一部分是编程语言(例如,java语言)需要调用的功能函数,另一部分是系统的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,java文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(Surface Manager),媒体库(Media Libraries),三维图形处理库(例如,OpenGL ES),二维图形引擎(例如,SGL)等。这些功能模块的具体含义和作用可以参考相关技术文档,在此不展开说明。
硬件抽象层(HAL)是位于操作系统内核与上层软件之间的接口层,其目的在于将硬件抽象化。硬件抽象层是设备内核驱动的抽象接口,用于实现向更高级别的Java API框架提供访问底层设备的应用编程接口。HAL可以提供标准界面,向更高级别的Java API 框架显示设备硬件功能。HAL包含多个库模块,例如相机HAL、音频HAL等。其中每个库模块都为特定类型的硬件组件实现一个界面。为当系统框架层API要求访问便携设备的硬件时,操作系统将为该硬件组件加载库模块。
内核层是Android操作系统的基础。内核层负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。内核层是硬件与软件之间的一个中间层,其作用是将应用程序的请求传递给硬件。内核层可以包括相机驱动、显示驱动、摄像头驱动、音频驱动和传感器驱动。
需要说明的是,本申请提供的图11所示的电子设备的软件结构示意图仅作为一种示例,并不限定Android操作系统不同分层中的具体模块划分,具体可以参考常规技术中对Android操作系统软件结构的介绍。另外,本申请提供的出图模式切换方法还可以基于其他操作系统实现,本申请不再一一举例。
可理解,图10和图11所示的电子设备的结构可以为端侧设备的结构,还可以为云侧设备的结构。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (26)

1.一种短信采集方法,其特征在于,所述方法包括:
端侧设备基于第一原型网络确定第一表示向量;所述第一表示向量为第一短信对应的表示向量;所述第一短信为所述端侧设备接收的任意一条短信;
所述端侧设备确定所述第一表示向量和目标原型向量的相似度;所述目标原型向量为基于所述第一原型网络确定的用于表示目标短信类别的向量;
在基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别的情况下,所述端侧设备将第二短信发送给云侧设备;所述第二短信为所述第一短信,或将所述第一短信包括的隐私类实体替换为特殊字符后的短信;
其中,所述第一原型网络是以最小化第一损失函数为目标对原始原型网络进行训练所得的原型网络;所述第一损失函数包含第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,以及交叉熵损失;所述第一目标关键词为所述目标短信类别对应的关键词。
2.如权利要求1所述的方法,其特征在于,所述第一短信集中的短信对应的表示向量,具体包括:所述短信对应的若干词向量与所述第一目标关键词对应的词向量进行拼接后所得的向量输入至所述原始原型网络后,输出的向量。
3.如权利要求2所述的方法,其特征在于,所述端侧设备基于第一原型网络确定第一表示向量之前,所述方法包括:
所述端侧设备接收所述云侧设备发送的所述第一目标关键词;
所述端侧设备基于所述第一目标关键词在所述端侧设备接收的若干短信中确定第二短信集;所述第二短信集中的短信包括所述第一目标关键词中的一个或多个关键词;
所述端侧设备将所述第一短信集发送给所述云侧设备;
其中,所述第一短信集为所述第二短信集,或将所述第二短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述端侧设备接收所述云侧设备发送的第二目标关键词;所述第二目标关键词为所述云侧设备在所述第一短信集中的短信所包括的词语中确定的满足第一关键词挖掘条件的词语;
所述端侧设备基于所述第二目标关键词在所述端侧设备接收的若干短信中确定第三短信集;所述第三短信集中的短信包括所述第二目标关键词中的一个或多个关键词;
所述端侧设备将第四短信集发送给所述云侧设备;所述第四短信集为第三短信集,或将所述第三短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合。
5.如权利要求4所述的方法,其特征在于,所述第二目标关键词满足所述第一关键词挖掘条件,具体包括:
所述第二目标关键词的词频大于第一词频阈值,且所述第二目标关键词对应的词向量与所述第一目标关键词对应的词向量之间的距离满足第一距离条件。
6.如权利要求5所述的方法,其特征在于,所述第二目标关键词对应的词向量与所述第一目标关键词对应的词向量之间的距离满足所述第一距离条件,具体包括:
所述第二目标关键词对应的词向量与所述第一目标关键词对应的词向量之间的余弦距离大于第一距离阈值。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的相似度损失,具体包括:所述第一短信集中的短信对应的表示向量与所述第一目标关键词之间的词向量之间的余弦距离的负数。
8.如权利要求1-6任一项所述的方法,其特征在于,所述基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别,具体包括:所述第一表示向量和所述目标原型向量之间的余弦距离大于第二距离阈值。
9.如权利要求1-6任一项所述的方法,其特征在于,所述基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别,具体包括:所述第一表示向量和所述目标原型向量之间的欧式距离小于第三距离阈值。
10.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述端侧设备接收所述云侧设备发送的所述第一目标关键词;
所述端侧设备确定所述端侧设备接收的若干短信中的每一条短信对应的表示向量和所述目标原型向量的相似度;
所述端侧设备基于所述若干短信中的每一条短信对应的表示向量和所述目标原型向量的相似度,确定第五短信集;
所述端侧设备在所述第五短信集中的短信所包括的词语中确定目标个性化关键词;
所述端侧设备基于所述目标个性化关键词在所述端侧设备接收的若干短信中确定第六短信集;所述第六短信集中的短信包括所述目标个性化关键词中的一个或多个关键词;
所述端侧设备将第七短信集发送给所述云侧设备;所述第七短信集为所述第六短信集,或将所述第六短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合;
其中,所述第五短信集中的每一条短信对应的表示向量和所述目标原型向量的相似度满足第一预设条件;所述目标个性化关键词的词频大于第二词频阈值,且所述目标个性化关键词对应的词向量与所述第一目标关键词对应的词向量之间的距离满足第二距离条件。
11.如权利要求10所述的方法,其特征在于,所述目标个性化关键词对应的词向量与所述第一目标关键词对应的词向量之间的距离满足第二距离条件,具体包括:
所述目标个性化关键词对应的词向量与所述第一目标关键词对应的词向量之间的余弦距离大于第四距离阈值。
12.如权利要求11所述的方法,其特征在于,在所述基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别具体包括:所述第一表示向量和所述目标原型向量之间的余弦距离大于第二距离阈值的情况下,所述第五短信集中的每一条短信对应的表示向量和所述目标原型向量的相似度满足所述第一预设条件;
所述第一预设条件具体包括:所述第五短信集中的每一条短信对应的表示向量和所述目标原型向量之间的余弦距离大于第五距离阈值;所述第二距离阈值大于所述第五距离阈值。
13.如权利要求10所述的方法,其特征在于,在所述基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别具体包括:所述第一表示向量和所述目标原型向量之间的欧式距离小于第三距离阈值的情况下,所述第五短信集中的每一条短信对应的表示向量和所述目标原型向量的相似度满足所述第一预设条件;
所述第一预设条件具体包括:所述第五短信集中的每一条短信对应的表示向量和所述目标原型向量之间的欧式距离小于第六距离阈值;所述第三距离阈值小于所述第六距离阈值。
14.如权利要求1-6任一项所述的方法,其特征在于,所述端侧设备基于第一原型网络确定第一表示向量之前,所述方法还包括:响应于第一操作,所述端侧设备启动短信采集工具,并确定所述目标短信类别;
所述端侧设备将所述第二短信发送给云侧设备之前,所述方法还包括:所述端侧设备显示第一界面;所述第一界面包括所述第二短信;
所述端侧设备将第二短信发送给云侧设备,具体包括:
响应于作用于所述第一界面中的所述第二短信上的操作,所述端侧设备显示第二界面;所述第二界面中的所述第二短信处于选中状态;
响应于作用于所述第二界面中的上传控件的操作,所述端侧设备将所述第二短信发送给所述云侧设备;
所述将所述第一短信包括的隐私类实体替换为特殊字符之前,所述方法还包括:
所述端侧设备基于处于选中状态的隐私保护选项确定所述第一短信包括的隐私类实体;所述第一界面包括所述处于选中状态的隐私保护选项。
15.一种短信采集方法,其特征在于,所述方法包括:
云侧设备接收端侧设备发送的第二短信;
所述第二短信为所述端侧设备基于第一表示向量和目标原型向量的相似度确定出的类别为目标短信类别的第一短信,或将所述第一短信中包括的隐私类实体替换为特殊字符后的短信;所述目标原型向量为基于第一原型网络确定的用于表示所述目标短信类别的向量;所述第一表示向量为所述端侧设备基于所述第一原型网络确定的所述第一短信对应的向量;所述第一原型网络是以最小化第一损失函数为目标对原始原型网络进行训练所得的原型网络;所述第一损失函数包含第一短信集中的短信对应的表示向量与第一目标关键词对应的词向量之间的相似度损失,以及交叉熵损失;所述第一目标关键词为所述目标短信类别对应的关键词。
16.如权利要求15所述的方法,其特征在于,所述第一短信集中的短信对应的表示向量,具体包括:所述短信对应的若干词向量与所述第一目标关键词对应的词向量进行拼接后所得的向量输入至所述原始原型网络后,输出的向量。
17.如权利要求16所述的方法,其特征在于,所述云侧设备接收端侧设备发送的第二短信之前,所述方法包括:
所述云侧设备将所述第一目标关键词发送给所述端侧设备;
所述云侧设备接收所述端侧设备发送的所述第一短信集;
所述云侧设备基于所述第一短信集对所述原始原型网络进行训练,得到所述第一原型网络;
所述云侧设备将所述第一原型网络的相关数据和所述目标原型向量发送给所述端侧设备;
其中,所述第一短信集为第二短信集,或将所述第二短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合;所述第二短信集为所述端侧设备接收的若干短信中包括所述第一目标关键词中的一个或多个关键词的短信的集合。
18.如权利要求17所述的方法,其特征在于,所述方法还包括:
所述云侧设备确定第二目标关键词;所述第二目标关键词为所述第一短信集中的短信所包括的词语中满足第一关键词挖掘条件的词语;
所述云侧设备将所述第二目标关键词发送给所述端侧设备;
所述云侧设备接收所述端侧设备发送的第四短信集;
其中,所述第四短信集为第三短信集,或将所述第三短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合;所述第三短信集为所述端侧设备接收的若干短信中包括所述第二目标关键词中的一个或多个关键词的短信的集合。
19.如权利要求15-18任一项所述的方法,其特征在于,所述第一短信集中的短信对应的表示向量与第一目标关键词之间的词向量之间的相似度损失,具体包括:所述第一短信集中的短信对应的表示向量与所述第一目标关键词之间的词向量之间的余弦距离的负数。
20.如权利要求15-18任一项所述的方法,其特征在于,基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别,具体包括:所述第一表示向量和所述目标原型向量之间的余弦距离大于第二距离阈值。
21.如权利要求15-18任一项所述的方法,其特征在于,基于所述第一表示向量和所述目标原型向量的相似度确定出所述第一短信的类别为所述目标短信类别,具体包括:所述第一表示向量和所述目标原型向量之间的欧式距离小于第三距离阈值。
22.如权利要求15-18任一项所述的方法,其特征在于,所述方法还包括:
所述云侧设备向所述端侧设备发送所述第一目标关键词;
所述云侧设备接收所述端侧设备发送的第七短信集;
其中,所述第七短信集为第六短信集,或将所述第六短信集中的短信所包括的隐私类实体替换为特殊字符后所得的短信的集合;所述第六短信集为所述端侧设备接收的若干短信中包括目标个性化关键词中的一个或多个关键词的短信的集合;所述目标个性化关键词为第五短信集中的短信所包括的词语中的一个或多个词语;所述目标个性化关键词的词频大于第二词频阈值,且所述目标个性化关键词对应的词向量与所述第一目标关键词对应的词向量之间的距离满足第二距离条件;所述第五短信集为所述端侧设备接收的若干短信中的对应的表示向量和所述目标原型向量的相似度满足第一预设条件的短信的集合。
23.一种电子设备,包括一个或多个存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-14中任一项所述的方法。
24.一种电子设备,包括一个或多个存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求15-22中任一项所述的方法。
25.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-14中任一项所述的方法。
26.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求15-22中任一项所述的方法。
CN202211681083.6A 2022-12-27 2022-12-27 一种短信采集方法及相关设备 Active CN115687944B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211681083.6A CN115687944B (zh) 2022-12-27 2022-12-27 一种短信采集方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211681083.6A CN115687944B (zh) 2022-12-27 2022-12-27 一种短信采集方法及相关设备

Publications (2)

Publication Number Publication Date
CN115687944A true CN115687944A (zh) 2023-02-03
CN115687944B CN115687944B (zh) 2023-09-15

Family

ID=85055139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211681083.6A Active CN115687944B (zh) 2022-12-27 2022-12-27 一种短信采集方法及相关设备

Country Status (1)

Country Link
CN (1) CN115687944B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3376400A1 (en) * 2017-03-14 2018-09-19 Fujitsu Limited Dynamic context adjustment in language models
CN110719365A (zh) * 2019-09-27 2020-01-21 深圳传音控股股份有限公司 一种信息处理方法、移动终端及计算机存储介质
CN110913354A (zh) * 2018-09-17 2020-03-24 阿里巴巴集团控股有限公司 短信分类方法、装置及电子设备
CN111241269A (zh) * 2018-11-09 2020-06-05 中移(杭州)信息技术有限公司 一种短信文本分类方法、装置、电子设备及存储介质
CN113312543A (zh) * 2020-02-27 2021-08-27 华为技术有限公司 基于联合学习的个性化模型训练方法、电子设备和介质
CN114780727A (zh) * 2022-04-24 2022-07-22 润联软件系统(深圳)有限公司 基于强化学习的文本分类方法、装置、计算机设备及介质
CN114840677A (zh) * 2022-07-04 2022-08-02 南京华飞数据技术有限公司 面向多粒度需求的短文本分类与智能分析系统
CN114969508A (zh) * 2022-04-27 2022-08-30 阿里巴巴达摩院(杭州)科技有限公司 推荐模型数据处理方法
CN115358340A (zh) * 2022-08-30 2022-11-18 联洋国融(上海)科技有限公司 一种信贷催收短信判别方法、系统、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3376400A1 (en) * 2017-03-14 2018-09-19 Fujitsu Limited Dynamic context adjustment in language models
CN110913354A (zh) * 2018-09-17 2020-03-24 阿里巴巴集团控股有限公司 短信分类方法、装置及电子设备
CN111241269A (zh) * 2018-11-09 2020-06-05 中移(杭州)信息技术有限公司 一种短信文本分类方法、装置、电子设备及存储介质
CN110719365A (zh) * 2019-09-27 2020-01-21 深圳传音控股股份有限公司 一种信息处理方法、移动终端及计算机存储介质
CN113312543A (zh) * 2020-02-27 2021-08-27 华为技术有限公司 基于联合学习的个性化模型训练方法、电子设备和介质
CN114780727A (zh) * 2022-04-24 2022-07-22 润联软件系统(深圳)有限公司 基于强化学习的文本分类方法、装置、计算机设备及介质
CN114969508A (zh) * 2022-04-27 2022-08-30 阿里巴巴达摩院(杭州)科技有限公司 推荐模型数据处理方法
CN114840677A (zh) * 2022-07-04 2022-08-02 南京华飞数据技术有限公司 面向多粒度需求的短文本分类与智能分析系统
CN115358340A (zh) * 2022-08-30 2022-11-18 联洋国融(上海)科技有限公司 一种信贷催收短信判别方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN115687944B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN110363346B (zh) 点击率预测方法、预测模型的训练方法、装置及设备
CN111062871B (zh) 一种图像处理方法、装置、计算机设备及可读存储介质
US10169342B1 (en) Filtering document search results using contextual metadata
CN111325258A (zh) 特征信息获取方法、装置、设备及存储介质
CN104246757B (zh) 预测性服务访问
US20190213393A1 (en) Automated facial recognition detection
CN113515942A (zh) 文本处理方法、装置、计算机设备及存储介质
CN112163428A (zh) 语义标签的获取方法、装置、节点设备及存储介质
US20230035366A1 (en) Image classification model training method and apparatus, computer device, and storage medium
CN112163717A (zh) 人口数据预测方法、装置、计算机设备及介质
US12079572B2 (en) Rule-based machine learning classifier creation and tracking platform for feedback text analysis
CN114419351A (zh) 图文预训练模型训练、图文预测模型训练方法和装置
US11373057B2 (en) Artificial intelligence driven image retrieval
CN113269612A (zh) 物品推荐方法、装置、电子设备及存储介质
CN111796925A (zh) 算法模型的筛选方法、装置、存储介质和电子设备
CN118096924B (zh) 图像处理方法、装置、设备及存储介质
CN117688204A (zh) 视频推荐模型的训练方法、装置、电子设备和存储介质
CN116775915A (zh) 资源推荐方法、推荐预测模型训练方法、装置及设备
CN113763931B (zh) 波形特征提取方法、装置、计算机设备及存储介质
CN111797867A (zh) 系统资源优化方法、装置、存储介质及电子设备
CN111538998B (zh) 文本定密方法和装置、电子设备及计算机可读存储介质
CN113573128A (zh) 一种音频处理方法、装置、终端以及存储介质
CN115687944B (zh) 一种短信采集方法及相关设备
CN116109420A (zh) 保险产品推荐方法、装置、设备及介质
CN116383478A (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