信息向量化方法与计算机可读存储介质与流程

文档序号:20082288发布日期:2020-03-13 05:47阅读:154来源:国知局
信息向量化方法与计算机可读存储介质与流程

本公开涉及数据处理技术领域,具体涉及一种信息向量化方法与装置、机器设备和计算机可读存储介质。



背景技术:

在数据挖掘、机器学习等很多领域中,信息向量化表示是很多算法的关键基础,如何能够把用户信息和内容信息以向量的形式准确表达出来是学习效果及后续应用的重要保证。特别是在互联网时代,内容信息和用户信息急剧丰富,如何有效地利用这些海量数据,将这些信息准确地向量化,是很多场景面临的问题。

现有的常见信息向量化方法一般有如下两种:一种方式是通过内容语义的方式,把内容语义直接进行抽象或者归一化转换,这种方式主要用于物品信息表达;一种方式是通过分析行为数据的方式,通过对用户行为数据的分析,简单地把用户行为转化为预先设置的类别,通过对用户进行分类并使用用户的类别来表征用户。

现有技术的缺点和问题也比较明显。首先,通过内容语义的方式来向量化信息的方法对于语义抽象和归一化有着很高的技术难度,在一些关键问题上可能存在内容语义的偏差和歧义问题,会造成对物品信息刻画的不准确。例如,苹果既可以指水果又可以指手机。其次,单纯通过分析行为来把用户分类识别的方法存在类别定义的问题。每个领域的分类类别需要专业相关人士进行定义,不利于算法的可扩展性。另外分类类别定义的粗细程度也会造成一定的信息丢失问题。

对海量数据信息无法有效利用,很难把信息完整准确地表示出来,往往会造成机器学习不充分,算法训练有偏等问题。



技术实现要素:

本公开的目的之一在于提供一种信息向量化方法与装置、互动图谱形成方法与装置、机器设备和计算机可读存储介质。

根据本公开实施例的第一方面,公开了一种信息向量化方法,其包括:

获取多个实体之间的行为或联系信息;

根据所述信息得到所述信息的关系数据;

根据所述关系数据,形成所述多个实体中一个或多个实体的向量表示。

根据本公开实施例的第二方面,公开了一种信息向量化装置,其包括:

信息获取模块,其被配置为:获取多个实体之间的行为或联系信息;

关系数据确定模块,其被配置为:根据所述信息得到所述信息的关系数据;

向量表示模块,其被配置为:根据所述关系数据,形成所述多个实体中一个或多个实体的向量表示。

根据本公开实施例的第三方面,公开了一种形成互动图谱的方法,其中,所述互动图谱包括节点和节点之间的连线,所述方法包括:

获取多个实体之间的行为或联系信息;

根据所述信息确定所述多个实体两两之间的关系;

将所述多个实体中的每个实体表示为互动图谱的一个节点,并以具有关系的两个实体的相应节点之间的连线来表示所述关系,以形成互动图谱。

根据本公开实施例的第四方面,公开了一种机器设备,其包括处理器以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述各实施例的方法。

根据本公开实施例的第五方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述各实施例的方法。

本公开的实施例提供的技术方案可以具有以下有益效果:

在本公开各实施例的一个或多个中,根据实体间的交互行为或联系信息而得出该信息的关系数据,通过将关系数据记录成结构化数据形式的互动图谱,能够结构化地呈现实体之间的关系,使得实体之间的关系更直观,更易于理解,并且结构化的数据记录方式更便于后续对关系数据的利用。在一些实施例中,在根据所搜集的有关实体的信息对实体进行向量表示时,全面、系统地利用该信息中所包含的实体间的关系数据,使得实体的向量表示更准确。在一些实施例中,在进行实体的向量表示时,将实体间的关系数据结合到实体的表示中,根据关系数据得到实体的环境向量表示,作为实体的向量表示的一部分,使得实体的向量表示更准确。在一些实施例中,将实体间的关系数据与随机游走算法相结合,得到多个实体表示序列,并通过词向量转换模型得到每个实体的向量表示,使得实体的向量表示更准确。在一些实施例中,将关系数据与语义表示相结合得到的实体向量表示或关系数据与随机游走算法相结合得到的实体向量表示输入神经网络,通过神经网络的特征提取和信息重表示,使得实体向量表示具有向量空间一致性。

本公开的以上以及其他特性和优点将通过下面的详细描述变得清楚,或部分地通过本公开的实践而习得。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

通过参照附图对本公开示例性实施例的详细描述,本公开的上述和其它目标、特征及优点将变得清楚。本公开的附图被并入说明书中并构成本说明书的一部分。附图示例性地示出了适合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1示出根据本公开一示例性实施例的本公开所涉及的实施环境的示意图。

图2示出根据本公开一示例性实施例的信息向量化方法的示意流程图。

图3示出图2所示的信息向量化方法实施例的步骤s210的一示例性具体实施方式的流程示意图。

图4示出图2所示的信息向量化方法实施例的步骤s220的一示例性具体实施方式的流程示意图。

图5示出图4对应的实施例中步骤s420的一示例性具体实施方式的示意流程图。

图6示出根据本公开一示例性实施例的以关系列表的形式记录的关系数据的示意图。

图7示出根据本公开一示例性实施例的以互动图谱的形式记录的关系数据的示意图。

图8示出根据本公开一示例性实施例的互动图谱形成方法的示意流程图。

图9示出图2所示的信息向量化方法实施例的步骤s230的一示例性具体实施方式的流程示意图。

图10示出图9所示的信息向量化方法实施例的步骤s920的一示例性具体实施方式的流程示意图。

图11示出图10所示的信息向量化方法实施例的步骤s1010的一示例性具体实施方式的流程示意图。

图12示出图2所示的信息向量化方法实施例的步骤s230的另一示例性具体实施方式的流程示意图。

图13示出根据本公开一示例性实施例的在步骤s930或步骤s1240之后信息向量化方法还可以包括的步骤的流程示意图。

图14示出根据本公开一示例性实施例的神经网络对输入的实体向量表示进行重表示的示意图。

图15示出根据本公开一示例性实施例的信息向量化装置的示意组成框图。

图16示出根据本公开一示例性实施例的形成互动图谱的装置的示意组成框图。

图17示出根据本公开一示例性实施例的机器设备的示意组成框图。

具体实施方式

现在将参考附图更全面地描述本公开的示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式目的是使得本公开的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。

附图中所示的一些框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示出了根据本公开一示例性实施例的本公开的原理所涉及的实施环境的示意图。根据本公开各实施例的信息向量化方法、互动图谱形成方法可以实现在如图1所示的机器设备110中,根据本公开各实施例的信息向量化装置、互动图谱形成装置可以被实现为如图1所示的机器设备110或其一部分。在如图1所示的实施例中,机器设备110可以根据包含实体关系数据的信息生成以结构化数据的形式体现实体之间的关系的互动图谱,也可以根据实体关系数据生成实体的向量表示,实现对信息的向量化。在一个示例中,机器设备110可以通过网络或其他通信介质与其他设备相连接,从其他设备接收包含实体关系数据的信息。在另一示例中,机器设备110本身可以搜集或记录包含实体关系数据的信息。包含实体关系数据的信息可以是记录实体间的关系的关系数据本身(例如,实体间两两关系的列表,或者是实体间关系的结构化数据表示,如互动图谱数据,等等),也可以是隐含实体间的关系的信息,从该信息中可以提炼、确定出实体间的关系,从而得到实体关系数据。对于隐含实体间的关系的信息,机器设备110可以从中确定出实体间的关系,以得到该信息的关系数据。机器设备110还可以将关系数据记录成展示实体间的关的互动图谱,或者记录成其他形式(例如,关系的列表),以供以后使用。

无论接收的信息是关系数据本身,还是隐含实体间的关系的信息,机器设备110都可以从中确定出实体间的关系(可以将实体间关系记录为关系列表的形式,也可以记录成诸如互动图谱数据的结构化数据形式),并根据所述关系对实体进行向量表示,即,在对实体进行向量表示时,根据本公开实施例的机器设备110考虑了实体间的关系,使得实体的向量表示更准确。

机器设备110可以是任何能够实现如上所述的关系数据确定、互动图谱生成、实体向量表示、通信等功能的设备。在一个示例中,机器设备110可以是服务器,例如,应用服务器(例如,购物应用的服务器、搜索应用的服务器、社交应用的服务器等)、网站服务器(例如,购物网站、搜索网站、社交网站等的服务器)等,包含实体关系数据的信息可以是用户历史行为数据、应用或网站的历史访问记录等。在另一示例中,机器设备110可以是诸如计算机、移动终端设备、平板电脑等的终端设备,在这些终端设备上可以安装/运行有诸如购物app、搜索app、社交app等的终端app,包含实体关系数据的信息可以是用户使用/访问这些终端app的历史记录、用户操作终端设备的日志记录、或者从其他设备接收的包含实体关系数据的信息。

机器设备110所生成的互动图谱或实体向量表示可以被机器设备110中的其他单元/模块使用,也可以被传输给机器设备110之外的其他设备,以供进一步使用或处理。例如,可以将互动图谱或实体向量表示进一步用于内容推荐/物品推荐/社交关系推荐等中。例如,将互动图谱或实体向量表示用于新闻的话题推荐,以解决互动性场景推荐的体验问题,也可以应用在搜索场景,提高对用户信息的理解能力。

图2示出了根据本公开一示例性实施例的信息向量化方法的示意流程图。该示例信息向量化方法可以由如上所述的机器设备110来执行。如图2所示,该示例信息向量化方法可以包括步骤:

s210,获取多个实体之间的行为或联系信息。

在一个示例中,多个实体之间的行为或联系信息可以是记录多个实体之间的关系的关系数据本身,例如是实体间两两关系的列表或者是实体互动图谱,在这种情况下,在步骤s220中可以直接获取到所述关系数据。

在另一示例中,多个实体之间的行为或联系信息可以是从原始数据中提炼出来的包含实体间关系数据的信息。例如,原始数据可以是某应用或网站的历史行为数据记录,该历史行为数据记录可以是任何反映诸如用户、物品、内容等的实体的交互行为的历史数据,例如是应用或网站的操作日志记录、用户访问记录等。

图3示出了根据本公开一示例性实施例的从原始数据中提取出多个实体之间的行为或联系信息的流程示意图,即步骤s210的一示例性具体实施方式的示意图。如图3所示,该过程可以包括步骤:

s310,获取历史行为数据记录。

如上所述,例如,可以获取诸如应用或网站的操作日志记录、用户访问记录等任何反映实体交互内容的历史数据,来作为历史行为数据记录。这些历史行为数据记录可能是从互联网搜集的体量庞大的海量数据,其中可能包含了作为实体的多个用户对同样作为实体的多个内容/物品等对象的行为、操作,以及用户之间、内容/物品等对象之间的交互行为或联系,这些用户和内容/物品等对象的数量可能是数以千计、数以万计的,甚至更多,因此,要将如此庞大复杂的实体关系理清、展现出来,以便于进一步有效利用这些信息,是一件棘手的事情。

s320,对历史行为数据记录进行过滤,以得到与实体有关的历史行为数据记录。

步骤s320可以称为数据清洗步骤。在历史行为数据记录中可能含有大量与实体关系无关的数据,例如,系统的错误日志记录、软件更新记录等,这些数据对于确定实体关系是无用的,因此需要将这些无用的数据从历史行为数据记录中去除。

在一个示例中,可以使用数据字段名称来进行过滤。例如,可以使用预估的表示用户实体、内容/物品等实体的字段名称,来将不包含这些字段名称的数据记录去除。

在另一示例中,可以使用关键词来进行过滤。例如,可以将包含或不包含某些或某个关键词的数据记录去除。

经过步骤s320的过滤,可以得到与实体有关的历史行为数据记录。

s330,从过滤后的历史行为数据记录中抽取出实体之间的行为或联系信息。

从步骤s320得到的每条历史行为数据记录中可能还包括有对确定实体关系无用的字段及其相应值,为进一步减小处理量,可以对其进一步进行抽取或过滤,获得仅包含关键字段的必要信息。步骤s320可以称为知识抽取步骤。

在一个示例中,可以抽取记录实体之间的行为或联系的关键字段的信息,以供后续进一步处理和使用。例如,可以从每条数据记录中抽取关键字段“用户id”、“物品/内容id”、“行为类型”、“行为发生/持续时间”等及其相应值的信息。

在一个示例中,在步骤s330中,还可以对抽取出的信息进行进一步处理,例如统一格式,以使得可以从抽取出的信息方便地确定出实体间的关系。

通过步骤s210或s310-330,可以获得多个实体之间的行为或联系信息,例如,记录了一个微博用户关注了另一微博博主这一行为的信息,记录了该博主发布了一个属于某话题的微博的信息,记录了该微博用户点赞了属于该话题的某微博的信息,记录了某微博属于某话题的信息,等等。由这些信息可以方便地得出实体(例如,微博用户、博主、微博、话题)间的关系。

现在接着返回参考图2,在步骤s210中获取多个实体之间的行为或联系信息之后,示例方法进入步骤s220。

s220,根据所述信息得到所述信息的关系数据。

如在步骤s210中所述,在所述信息直接是关系数据本身(例如关系列表或诸如互动图谱的结构化关系数据)的情况下,在步骤s220中可以直接确定出实体两两之间的关系,得到关系数据。

在所述信息并非关系数据本身,而是在步骤s330中得到的信息的情况下,需要根据所述信息进一步确定实体间的关系。步骤s330中得到的信息记录了实体之间的行为或联系,通过对该信息进行分析,可以得到实体间的关系。在一个示例中,可以对该信息所包含的多条数据记录逐条进行分析以得到相对应的关系。在另一示例中,可以对该信息所包含的多条数据记录进行批处理。图4示出了根据本公开一示例性实施例的由该信息得到关系数据的示例流程图,即步骤s220的一示例性具体实施方式。如图4所示,在该实施例中,步骤s220可以包括步骤:

s410,从所述信息中识别出所述多个实体。

如上所述,所述信息中记载了有关实体的数据。对于该信息中包含的每条数据记录,可以通过相关的字段名称检索,来得到该条数据记录所涉及的实体,例如,可以检索字段名称“用户id”、“物品/内容id”等,将与这些字段名称相应的值识别为实体。在其他示例中,在该信息所包含的每条数据记录中,在预定位置包含预定类型的信息,例如每条数据记录的前32个字节记录“发起行为者的id”,在这种情况下,可以通过获取预定位置的字节内容来识别出该条数据记录所涉及的实体。

如上所述,对于信息中所包含的多条数据记录,可以逐条进行处理,例如,识别出一条数据记录中所涉及的实体后,接着在步骤s420中确定它们之间的关系,然后再步骤s430中记录该关系,处理完该条数据记录后,再对下一条数据记录重复步骤s410-430。在另一示例中,也可以在s410-s430的每个步骤中,逐条处理完全部数据记录再进行下一步骤,即,在步骤s410中识别出所有数据记录中所涉及的全部实体,在步骤s420中确定出全部的关系,在步骤s430中对这些关系进行记录。

s420,根据所述信息所记录的所述多个实体之间的行为或联系,确定所述多个实体两两之间的关系。

在识别出了数据记录所涉及的实体后,可以进一步分析数据记录以确定所识别出的实体间的关系。在一个示例中,确定实体间的关系可以包括仅确定所识别出的实体间是否具有关系。在另一示例中,确定实体间的关系不仅包括确定所识别出的实体间是否具有关系,还可以包括进一步确定该关系的属性,例如,该关系的类型、方向、强度等等。图5示出了根据信息所记录的实体间的行为或联系确定实体关系的示例流程图,即步骤s420的一示例性实施例,在该实施例中,除了确定实体间是否具有关系,还确定该关系的权重值。如图5所示,在该实施例中,步骤s420具体可以包括:

s510,对于所述信息所记录的所述行为或联系中的每个,将作为该行为或联系的双方的两个实体确定为具有关系。

一般地,信息所包含的数据记录中记载了行为或联系的双方、行为或联系的类型、行为的发生/持续时间等。在本公开的各实施例中,如果通过分析数据记录发现存在行为或联系,则将作为该行为或联系的双方的两个实体确定为具有关系。例如,如果一条数据记录记录了“微博用户a点赞了属于话题b的微博c的信息”,则基于点赞行为可以确定关系r1:微博用户a与微博c之间具有关系,基于联系“属于话题b的微博c”可以确定关系r2:话题b与微博c之间具有关系。

在其他示例中,还可以进一步地确定关系的方向,例如,根据点赞行为可以确定关系r1的方向为从微博用户a指向微博c,该关系的类型为“点赞”,根据联系“属于话题b的微博c”可以确定关系r2的方向为从微博c指向话题b。

在图5的实施例中,在确定两者之间具有关系后,还进一步在步骤s520中确定该关系的权重值。

s520,根据每个行为的行为类型、行为持续时间、行为频次中的一个或多个,确定与该行为相对应的关系的权重值。

在本公开的各实施例中,关系的权重值可以表征该关系的强度。在图5的实施例中,对于由行为引起的关系,通过分析该行为的行为类型、行为持续时间、行为频次中的一个或多个,来确定相应的权重值。在一个示例中,可以单独使用行为类型、行为持续时间、行为频次中的一个来确定权重值。例如,可以设定不同的行为类型对应不同的权重值(例如,设定浏览行为对应1/3的权重值,点击行为对应2/3的权重值),不同的行为持续时间对应不同的权重值(例如,设定持续时间在1分钟以下权重值为1/10,在1-3分钟之间权重值为2/5,在3分钟以上权重值为1/2),不同的行为频次对应不同的权重值(例如,设定行为频次在1次/月以下权重值为1/10,在1-5次/月之间权重值为1/5,在5-10次/月之间权重值为3/10,在10次以上/月权重值为1/2)。在另一实施例中,可以使用行为类型、行为持续时间、行为频次中的多个的组合来确定权重值,例如,可以计算根据行为类型、行为持续时间、行为频次中的多个分别得到的单独权重值,然后计算所得到的单独权重值的加权和,作为最终的权重值。在计算行为的频次时,将在相同行为双方间发生的类型和方向相同、但发生时间不同的两个行为视为同一个行为发生了两次。

对于由于联系而引起的关系,可以设定其权重值为预定值,例如为1。

以上各实施例描述了如何确定实体两两之间的关系。在另一实施例中,除了根据信息中的所述数据记录确定实体两两之间的关系作为该信息的关系数据,还可以包括如下步骤:确定所述多个实体中每个实体的属性特征;将每个实体与该实体的每个属性特征确定为具有关系,并将该关系添加到所述信息的关系数据中。例如,对于从信息中识别出的实体“微博c”,可以根据该微博的内容确定其属性特征“标签”和“类别”的值,例如,确定其标签为“台海”,类别为“时政”。通过确定实体的属性特征,可以发现具有相同的一个或多个属性特征的实体,可以将这样的两个实体视为通过该相同的属性特征具有间接关系。

如上所述,通过步骤s420或步骤s510-520,可以确定出所述信息所涉及的实体两两之间所具有的关系。在步骤s430中,将所确定出的这些关系记录下来以供后续使用。

s430,记录所述多个实体两两之间所具有的关系,作为所述信息的关系数据。

可以将实体间的关系记录成多种形式的数据,例如,可以记录成实体间每条关系(这里指两个实体间的直接关系)的列表,可以记录成结构化数据的形式。例如,在步骤s420或步骤s510-520中确定了如下关系:

用户a与话题f之间具有关系,关系类型为关注,权重值为ω1;

用户a与微博c之间具有关系,关系类型为点赞,权重值为ω2;

用户a与博主e之间具有关系,关系类型为关注,权重值为ω3;

博主e与微博c之间具有关系,关系类型为发布微博,权重值为ω1;

微博c与话题b之间具有关系,关系类型为从属于,权重值为ω5;

微博d与话题b之间具有关系,关系类型为从属于,权重值为ω6;

属性特征cut1与微博c之间具有关系,关系类型为从属于,权重值为ω7;

属性特征tag1与微博c之间具有关系,关系类型为从属于,权重值为ω8;

属性特征cat1与微博c之间具有关系,关系类型为从属于,权重值为ω9;

属性特征cat2与用户a之间具有关系,关系类型为从属于,权重值为ω10;

属性特征tag2与用户a之间具有关系,关系类型为从属于,权重值为ω11。

在一个示例中,可以将如上关系记录成关系列表的形式,如图6所示。在另一个示例中,可以将如上关系记录成诸如互动图谱的结构化数据的形式,如图7所示。在图6中,以列表的方式,逐条列出了实体两两间的每条关系及该关系的属性(类型、权重值)。在图7的互动图谱中,每个实体表示为互动图谱中的一个节点,两个实体之间的关系用两个相应节点之间的连线来表示。在一个示例中,也可以将连线的权重值(关系的权重值)、连线的类型(关系/行为类型)、连线的方向(关系的方向)等一个或多个连线属性标注在互动图谱中相应的连线上。

由图7可以看出,其中,

所包含的实体类型有:微博、博主、用户和话题,其中博主和用户属于用户实体,微博和话题属于内容实体;

所包含的关系类型有:(1)实体-属性关系:从属关系;(2)实体间关系:微博与话题(多对多)、博主与微博(一对多)、用户与微博(多对多;互动关系包含:点赞、评论、点击、转发、浏览)、用户与博主(多对多;关注,被关注)、用户与话题(多对多;关注,被关注);

所包含的属性特征:对于微博,包括内容切词(cut)、标签(tag)、类别(cat);对于博主,包括标签(tag)、类别(cat);对于用户,包括标签(tag)、类别(cat);对于话题,包括内容切词(cut)、标签(tag)、类别(cat)。

对比图6和图7可以看出,虽然由图6的表格和图7的互动图谱都可以方便地看出实体间的直接关系,但是对于实体间的间接关系,由图6无法方便地看出,只能通过搜索的方式来使共享一个行为/联系方的两个关系连接起来形成间接关系,而在图7中,则可以直观地看出实体间的间接关系的路径。由此,可知,将关系数据记录为互动图谱的形式,可以方便、直观地得知实体间的所有直接和间接关系,便于对关系数据的引用、分析、搜索和使用。尤其是在海量关系数据的情况下,关系列表形式的关系数据使用起来非常不方便,而诸如互动图谱的结构化形式则可以直观、清楚地体现海量的关系。

由此,除了提供了一种信息向量化方法,根据本公开的另一方面,还提供了一种互动图谱形成方法。图8示出了根据本公开一示例性实施例的互动图谱形成方法的示意流程图。在图8的实施例中,该示例互动图谱形成方法可以包括步骤:

s810,获取多个实体之间的行为或联系信息;

s820,根据所述信息确定所述多个实体两两之间的关系;

s830,将所述多个实体中的每个实体表示为互动图谱的一个节点,并以具有关系的两个实体的相应节点之间的连线来表示所述关系,以形成互动图谱。

图8的实施例描述了由包含实体间行为或联系数据的信息确定出实体之间的关系,并将所述关系展现成互动图谱的流程,其中,步骤s810-s820与前述步骤s210-s220相同,在此不再赘述。

步骤s830在如上所述的步骤s430中有提及,其是以结构化数据的形式记录关系数据的步骤。在该步骤中,将之前步骤中所识别出的每个实体表示为一个节点,并用节点间的连线来表示实体间的关系。在一个示例中,可以将连线的权重值(关系的权重值)、连线的类型(关系/行为类型)、连线的方向(关系的方向)标注在互动图谱中相应的连线上。

可以用如下公式来表示互动图谱:

其中,互动图谱节点集合v=u∪mc∪uf∪t∪c∪tag;互动图谱连线集合互动图谱连线与节点的关联映射以图7中的互动图谱为例,用户集合u={u1,u2,…,u|u|},微博集合mc={mc1,mc2,…,mc|mc|},博主集合uf={uf1,uf2,…,uf|uf|},话题集合t={t1,t2,…,t|t|},内容切词集合w={w1,w2,…,w|w|},类别集合c={c1,c2,…,c|c|},标签集合tag={tag1,tag2,…,tag|tag|},权重集合ω={ω1,ω2,…,ω|ω|}。

互动图谱中的一个连通节点序列v1e1v2e2…ep-1vp,vi≠vj,vi,vj∈v称为图谱中节点v1到节点vp的路径,记为p(v1,vp),路径的长度为||p(v1,vp)||=p-1,路径的赋权长度为两节点之间所有路径的集合记为p(v1,vp),两节点在互动图谱上的度量为

从信息中确定实体间关系并将其展现为互动图谱的方法非常适于处理海量的用户历史行为数据,可以方便、直观地以结构化的形式展现各实体之间的关系。

现在返回图2,在步骤s220中得到所述信息的关系数据之后,可以在步骤s230中将该关系数据(可以是关系列表的形式,也可以是诸如互动图谱的结构化关系数据)用在实体的向量表示过程中。

s230,根据所述关系数据,形成所述多个实体中一个或多个实体的向量表示。

如前所述,在现有技术中,在对实体进行向量表示时,采取的是单纯的语义表示或者以分类类别来表示的方式。而在本公开的信息向量化方法各实施例中,提出了一种新的信息向量化方式,即根据从海量用户历史行为数据中确定出来的关系数据来进行实体的向量表示。

下面参考图9和图12,分别以两个实施例来说明步骤s230的示例具体实现方式。

在图9的实施例中,根据关系数据确定与待向量化的目标实体的关联实体,并根据关联确定目标实体的环境向量表示,作为实体向量表示的一部分。如图9所示,在该实施例中,步骤s230可以包括步骤:

s910,对于所述多个实体中的每个待向量化的目标实体:根据所述关系数据,确定所述多个实体中与该目标实体在第一预定跳数内具有直接或间接关系的实体,作为该目标实体的关联实体。

对于一个待向量化的目标实体,在步骤s910中可以根据实体间的关系数据来确定其关联实体。关联实体可以泛指与目标实体具有直接或间接关系的实体,所述间接关系是指:两个实体通过一个中间实体而间接具有了关系,即,两个实体中的一个实体与一个中间实体有直接关系,该中间实体与两个实体中的另一实体有直接关系,或者两个实体通过多个中间实体而间接具有了关系,即,两个实体中的一个实体与第一个中间实体有直接关系,之后的这些中间实体彼此接续着有直接关系,直到最后一个中间实体,最后一个中间实体与两个实体中的另一实体有直接关系。在互动图谱中,两个实体之间有间接关系体现为:这两个实体之间具有由节点间的连线连成的路径。

在图9的实施例中,并不是要确定出目标实体的所有关联实体,而是仅确定出与目标实体相距的跳数小于或等于第一预定跳数的关联实体,以用来计算目标实体的环境向量表示。

其中,所述跳数是指:沿着所述多个实体两两之间的关系,从所述多个实体中的一个实体到与该实体具有直接或间接关系的另一实体所经过的关系的条数。在互动图谱上,两个实体之间的跳数体现为:这两个实体对应的节点之间的路径所包含的连线条数。

第一预定跳数可以设置为大于等于1的整数值。例如,在设置第一预定跳数为1的情况下,则仅确定出与目标实体具有直接关系的实体作为关联实体。在一个实施例中,将第一预定跳数设置为2,即确定出与目标实体具有直接关系的实体以及与目标实体通过一个中间实体具有间接关系的实体,作为关联实体。

在有些情况下,两个实体/节点之间的路径可能有多条,导致沿着不同的路径两个实体/节点之间相距的跳数也不同。在这种情况下,只要其中最小的跳数小于或等于第一预定跳数,就视为满足步骤s910中关联实体的条件。

以图6和7所示的关系数据为例,假设目标实体为微博c,第一预定跳数为2,则由图6和图7可以看出,与微博c在2跳内具有直接或间接关系的实体包括:用户a、博主e、话题b、话题f、微博d,其中,用户a、博主e、话题b与微博c相距一跳(即为直接关系),话题f、微博d与微博c相距两跳(即为间接关系)。由此可以确定,用户a、博主e、话题b、话题f、微博d这些实体为微博c的关联实体。

对比从图6和图7确定关联实体的过程可知,由图7可以非常方便、直观地快速确定出与微博c在两跳内具有直接或间接关系的上述关联实体,因为只要从微博c出发,沿着连线组成的路径走一跳和两跳,即可将所到达的实体确定为关联实体。而在图6的关系列表中,只能直观地看出与微博c具有直接关系的实体用户a、博主e、话题b,然后通过分别搜索与用户a、博主e、话题b有直接关系的实体而得到话题f、微博d,无法直观地确定出话题f、微博d,确定关联实体的速度明显较慢。在关系数据来自于海量信息、从而比较庞大复杂的情况下,诸如互动图谱的结构化数据的优势就更为明显,处理互动图谱数据的速度明显快于处理关系列表数据。

在上面的示例中,将在第一预定跳数内与目标实体具有直接或间接关系的所有实体都作为关联实体。在另一示例中,关系数据中的实体分为用户实体(例如用户和博主)和内容实体(例如微博和话题),在确定目标实体(不管其是用户实体还是内容实体)时,将与该目标实体在第一预定跳数内具有直接或间接关系的内容实体,作为该目标实体的关联实体,而去除与该目标实体在第一预定跳数内具有直接或间接关系的用户实体。

确定目标实体的关联实体之后,示例信息向量化方法的流程进入步骤s920。

s920,计算该目标实体的关联实体的初始向量表示的加权平均值,作为该目标实体的环境向量表示。

这里,每个实体的初始向量表示为未考虑由关系数据确定出的关联实体之前每个实体的向量表示。初始向量表示可以是实体的任意向量表示,例如可以是初始语义向量表示。

在步骤s920中,使用通过关系数据得到的关联实体来生成目标实体的环境向量表示。具体地,可以对所得到的关联实体的初始向量表示求加权平均值,以作为目标实体的环境向量表示。其中,在求加权平均值时,各关联实体的初始向量表示的权重系数可以凭经验、根据统计结果、根据实验等方式来确定,该权重系数应当反映相应的关联实体与目标实体的关系强度,从而反映该相应的关联实体的初始向量表示在计算目标实体的环境向量表示时所应占的比重。

图10示出了根据本公开的一示例性实施例的对所得到的关联实体的初始向量表示求加权平均值的流程示意图,即步骤s920的一示例性具体实施方式。如图10所示,在该实施例中,步骤s920具体可以包括步骤:

s1010,确定该目标实体的关联实体中每个关联实体的初始向量表示wi。

如上所述,每个实体的初始向量表示可以是多种向量表示方式中的一种。例如,可以通过语义表示的方式来确定每个实体的初始向量表示,将每个实体的语义表示方式的初始向量表示称为基本语义向量表示。实体的基本语义向量表示的方式可以有很多种。在一个示例中,可以使用实体的诸如内容、类别、标签等属性特征中的一个或多个的词向量来作为实体的基本语义向量表示。例如,可以将这些属性特征的词向量相加、拼接或以其他方式相组合来形成基本语义向量表示。图11示出了确定实体的基本语义向量表示的一个示例,即步骤s1010的一示例性具体实施方式。如图11所示,在该示例中,步骤s1010可以包括步骤s1110和s1120:

s1110,确定该关联实体的每个属性特征的语义向量表示。

确定实体的属性特征的方式有多种,例如,可以通过分析该实体的内容或行为数据得到其内容切词、标签或类别等属性特征,然后将这些属性特征进行词向量转换(例如通过word2vec模型进行转换)而得到属性特征的语义向量表示。还可以从其他设备或模块(例如用户中心)接收实体的已分析好的属性特征,然后进行词向量转换。

例如,对于微博c的关联实体微博d,假设通过分析微博d的内容,可以确定微博d的属性特征为:内容切词n个,对应的词向量分别为标签为m个,对应的词向量分别为类别为1个,对应的词向量分别为

s1120,将该关联实体的所有属性特征的语义向量表示进行向量拼接,作为该关联实体的基本语义向量表示。

如上所述,可以将实体的属性特征的词向量相加、拼接或以其他方式相组合来形成该实体的基本语义向量表示。在图11的实施例中,通过向量拼接的方式来形成基本语义向量表示,即将每个关联实体的所有属性特征的语义向量表示进行向量拼接,以得到该关联实体的基本语义向量表示。

例如,微博d的基本语义向量表示为:

同样,按照步骤s1110-s1120可以确定出其他每个关联实体的基本语义向量表示。

之后,在步骤s1020中确定每个关联实体的权重系数。应当理解的是,步骤s1010和步骤s1020的顺序是可以互换或者可以同时执行的。

s1020,根据如下公式计算所述每个关联实体的权重系数αi:

其中,为该目标实体到该关联实体所经过的一条或多条关系的权重值的乘积,λi为该目标实体到该关联实体所经过的跳数。

如上所述,关联实体的权重系数的确定方式多种多样。在图10的实施例中,以作为每个关联实体的权重系数。如前所述,目标实体与其关联实体之间可能会有多条路径。在目标实体到该关联实体所经过的路径具有多条的情况下,该路径所经过的关系(在互动图谱上为两节点之间的连线)的权重值的乘积可能并不相同,即每条路径的ρi和λi不相同。在这种情况下,以互动图谱上目标实体与关联实体之间度量作为ρi,即选取目标实体到该关联实体所经过的一条或多条关系的权重值的乘积中最大的那个。另外,将目标实体与关联实体之间最短的跳数作为λi。由此,可以求得每个关联实体的权重系数。

s1030,根据如下公式计算所述加权平均值we:

其中,n为该目标实体的关联实体的个数。

在步骤s1030中对关联实体的初始向量表示求加权平均,即将各关联实体的初始向量表示乘以各自的权重系数并求和,然后再除以关联实体的个数,从而得到目标实体的环境向量表示we。

由初始向量表示的确定步骤可知,各关联实体的初始向量表示的维度可能是不相同的。在步骤s1030中,在计算关联实体的初始向量表示的加权和时,以各初始向量表示中最大的维度作为加权平均值we的维度,对于各初始向量表示中维度不够的向量,通过补零的方式使得其维度达到该最大的维度。

虽然在上面的实施例中以语义表示方式来确定各关联实体的初始向量表示(基本语义向量表示)并求得目标实体的环境向量表示(环境语义向量表示),但应当理解,也可以以其他表示方式来确定各关联实体的初始向量表示,从而求得目标实体的同样表示方式的环境向量表示。

通过步骤s920,可以根据关联实体确定出目标实体的环境向量。之后示例方法进入步骤s930。

s930,将该目标实体的初始向量表示与环境向量表示共同作为该目标实体的向量表示。

在步骤s930中,将在步骤s920中得到的环境向量表示作为目标实体的向量表示的一部分。初始向量表示与环境向量表示共同作为该目标实体的向量表示是指:将目标实体的初始向量表示与环境向量表示相结合,相结合的方式可以是多种多样的。在一示例中,将目标实体的初始向量表示与环境向量表示相加,作为该目标实体的向量表示。在另一示例中,将目标实体的初始向量表示与环境向量通过向量拼接的方式形成一个向量,作为该目标实体的向量表示。在又一示例中,将目标实体的初始向量表示与环境向量分别作为独立的向量,形成向量集合,作为该目标实体的向量表示。

图9的实施例描述了通过确定目标实体的关联实体、进而根据关联实体确定目标实体的环境向量的方式将关系数据体现在目标实体的向量表示中。图12示出了将关系数据体现在目标实体的向量表示中的另一实施方式,即步骤s230的另一示例性具体实施方式。在该实施方式中,借助于随机游走算法而通过沿着实体两两之间的关系多次随机游走得到预定个数的实体表示序列,并通过词向量转换模型得到每个目标实体的向量表示。如图12所示,步骤s230的该示例性具体实施方式可以包括步骤:

s1210,将所述多个实体中的一个实体作为源实体,从所述源实体出发沿着所述多个实体两两之间的关系随机游走第二预定跳数,到达作为目的实体的、所述多个实体中的另一实体,其中,将所述随机游走所经过的位于所述源实体与所述目的实体之间的实体作为中间实体。

这里所述的多个实体是指如前面步骤s210-s230中所述的关系数据中所包含的多个实体。在步骤s1210中,根据随机游走算法,根据关系数据,沿着实体之间的关系(在互动图谱上表现为沿着节点之间的连线)随机游走第二预定跳数。这样的随机游走会经过多个实体/节点,按照随机游走的顺序,可以得到所经过的实体/节点的序列。

跳数是指:沿着所述多个实体两两之间的关系,从所述多个实体中的一个实体到与该实体具有直接或间接关系的另一实体所经过的关系的条数,在互动图谱上表现为一个实体到另一个实体的路径所包含的节点之间的连线的条数。第二预定跳数是指:在随机游走时,从源实体(在互动图谱上对应于源节点)需经过第二预定跳数才到达目的实体(在互动图谱上对应于目的节点)。可以通过诸如凭经验确定、根据统计结果确定、根据实验结果确定等方式来确定第二预定跳数的数值。例如,可以将第二预定跳数设置为20。

这里的“随机游走算法”是指控制对源实体/源节点、中间实体/中间节点、目的实体/目的节点的选取,使得以随机的方式沿着关系数据形成一条具有预定跳数的路径,从而确定出按照游走的先后顺序排列的多个实体/节点(源实体/源节点、中间实体/中间节点、目的实体/目的节点)。

s1220,将所述源实体、中间实体和目的实体的实体表示按照所述随机游走的顺序形成实体表示序列。

在步骤s1220中,将步骤s1210中的随机游走所经过的实体/节点(包括源实体/源节点、中间实体/中间节点、目的实体/目的节点)的实体表示按照随机游走的顺序形成一个实体表示序列。

这里的“实体表示”是指实体的表征,其可以是实体的标识符(id),也可以是其他可以标识实体的字符串。

s1230,循环执行步骤s1210和s1220达预定次数,以得到预定个数的实体表示序列。

在步骤s1230中,多次循环步骤s1210和s1220,以得到多个不同的实体表示序列。其中,选择每次循环的随机游走所经过的源实体、中间实体和目的实体,使得所得到的所述预定个数的实体表示序列各不相同,并且使得所述预定个数的实体表示序列包含所有待向量化的目标实体的实体表示。多次循环以得到多个实体表示序列的意义在于:(1)使得最终得到的多个实体表示序列包含所有待向量化的目标实体的实体表示,这样才能在步骤s1240中得到每个目标实体的向量表示;(2)将关系数据所体现的关系尽量完整地体现在实体表示序列的实体的顺序中,并且通过每次随机游走截取关系数据的一部分,经过多个部分的拼接增加关系数据在实体表示序列中体现的多样性。

循环的次数与所得到的实体表示序列的个数是相等的。所要循环的预定次数可以通过诸如凭经验确定、根据统计结果确定、根据实验结果确定等方式来确定。在一个示例中,在平衡处理时间与处理速度的情况下,将循环所要达到的预定次数设置得尽量大,以更系统、更完善地利用关系数据来向量化信息。

s1240,将所述预定个数的实体表示序列输入词向量转换模型,以得到每个目标实体的向量表示。

将多个实体表示序列转换成实体的向量表示可以有多种已知的方式。常见的一种方式是通过词向量转换模型进行转换,即,将在步骤s1230中得到的多个实体表示序列输入词向量转换模型,词向量转换模型输出实体表示序列中所包含的所有实体的向量表示。在一个示例中,词向量转换模型可以是word2vec模型,其根据输入的多个实体表示序列而输出每个实体的词向量表示(embedding表示)。

图9和图12中的实施例虽然以不同的流程步骤实施了步骤s230,但都是在将信息向量化时完善、系统地利用了由该信息确定出的完整关系数据,使得信息的向量化表示更加准确。

在一个实施例中,在步骤s930或步骤s1240中得到目标实体的向量表示后,还可以包括后续处理,以使目标实体的向量表示更精准。例如,可以通过后续处理使得目标实体的向量空间保持一致,并使信息更紧密。图13示出了这样的后续处理的一个示例性具体实施方式,在该实施例中,通过神经网络来执行该后续处理,使得目标实体的向量空间保持一致,并使信息更紧密。如图13所示,在该示例性实施例中,在步骤s930或步骤s1240之后,示例信息向量化方法还可以包括步骤:

s1310,通过神经网络将每个目标实体的向量表示进行重表示。

步骤s1310中所述的“目标实体的向量表示”可以是在步骤s930中得到的目标实体的向量表示,也可以是在步骤s1240中得到的目标实体的向量表示。

对于在步骤s930中得到的由初始向量表示和环境向量表示共同组成的向量表示,在一个示例中,将初始向量表示和环境向量表示分别单独输入神经网络。在另一示例中,将初始向量表示和环境向量表示的拼接向量输入神经网络,并在输入参数中表明拼接向量的哪部分为初始向量表示,哪部分是环境向量表示。

神经网络可以是任何可以从输入的向量表示中提取信息并将输入向量进行重表示的神经网络。在一个示例中,所述神经网络为卷积神经网络。在另一示例中,所述神经网络为深度神经网络。

图14示出了根据本公开一示例性实施例的神经网络对输入的实体向量表示进行重表示的示意图。在该实施例中,所述神经网络为卷积神经网络,所述实体向量表示由初始向量表示和环境向量表示共同组成。

如图14所示,卷积神经网络的输入层1410接收输入的初始向量表示1401和环境向量表示1402。在一个示例中,在实体向量表示为初始向量表示和环境向量表示的拼接向量的情况下,输入层1410根据输入参数(即表明实体向量表示的哪部分是初始向量表示、哪部分是环境向量表示的信息)来将输入的向量表示拆分成初始向量表示1401和环境向量表示1402。输入层1410的输出1401和1402连接到平行放置的卷积窗口大小不同的卷积层1420,在卷积层1420中进行卷积运算之后,将卷积层1420的输出连接到池化层1430,池化层1430将卷积层1420的输出打压成向量,该向量是所输入的实体向量表示的重表示向量。

在一个示例中,可以根据实验结果对神经网络的各参数进行设置调整,以得到最优的重表示向量,上述参数例如为神经网络的输出向量的维度、各卷积窗口的大小、神经网络的卷积层的层数,等等。

以上以卷积神经网络以及步骤s930的向量表示为例进行了说明,应当理解的是,在深度神经网络和/或步骤s1240的向量表示的情况下,操作处理与上述类似,在此不再赘述。

之后,在下面的步骤s1320中,将经神经网络重表示的向量作为目标实体的最终向量表示。

s1320,将所述神经网络重表示的向量作为该目标实体的最终向量表示。

通过如上所述的信息向量化方法的各实施例,可以系统、完善地利用从信息中得到的完整关系数据,使得实体的向量表示更加准确,为实体向量表示的后续处理和应用提供了有利条件。

根据本公开的又一方面,还提供一种信息向量化装置。该装置可以执行如上所述的信息向量化方法的各实施例,其可以被实现在如图1中所示的机器设备110中,或者可以被实现为与机器设备110相连接的其他装置中。图15示出了根据本公开一示例性实施例的这样的装置的示意组成框图。如图15的实施例所示,该示例信息向量化装置1501可以包括:

信息获取模块1510,其被配置为:获取记录多个实体之间的行为或联系的信息;

关系数据确定模块1520,其被配置为:根据所述信息确定所述多个实体两两之间的关系,以得到所述信息的关系数据;

向量表示模块1530,其被配置为:根据所述关系数据,形成所述多个实体中一个或多个实体的向量表示。

在图5所示的实施例中,信息获取模块1510可以进一步包括:

数据记录获取单元1511,其被配置为:获取历史行为数据记录;

过滤单元1512,其被配置为:对历史行为数据记录进行过滤,以得到与所述多个实体有关的历史行为数据记录;

抽取单元1513,其被配置为:从过滤后的历史行为数据记录中抽取出记录所述多个实体之间的行为或联系的信息。

在图5所示的实施例中,关系数据确定模块1520可以进一步包括:

实体识别单元1521,其被配置为:从所述信息中识别出所述多个实体;

关系确定单元1522,其被配置为:根据所述信息所记录的所述多个实体之间的行为或联系,确定所述多个实体两两之间的关系;

关系记录单元1523,其被配置为:记录所述多个实体两两之间所具有的关系,作为所述信息的关系数据。

在图5所示的实施例中,向量表示模块1530可以进一步包括:

关联实体确定单元1531,其被配置为:对于所述多个实体中的每个待向量化的目标实体:根据所述关系数据,确定所述多个实体中与该目标实体在第一预定跳数内具有直接或间接关系的实体,作为该目标实体的关联实体;

环境向量确定单元1532,其被配置为:计算该目标实体的关联实体的初始向量表示的加权平均值,作为该目标实体的环境向量表示;

组合单元1533,其被配置为:将该目标实体的初始向量表示与环境向量表示共同作为该目标实体的向量表示,

其中,所述跳数是指:沿着所述多个实体两两之间的关系,从所述多个实体中的一个实体到与该实体具有直接或间接关系的另一实体所经过的关系的条数。

在图5所示的实施例中,向量表示模块1530可以进一步包括:

随机游走单元1534,其被配置为:将所述多个实体中的一个实体作为源实体,从所述源实体出发沿着所述多个实体两两之间的关系随机游走第二预定跳数,到达作为目的实体的、所述多个实体中的另一实体,其中,将所述随机游走所经过的位于所述源实体与所述目的实体之间的实体作为中间实体;

实体表示序列形成单元1535,其被配置为:将所述源实体、中间实体和目的实体的实体表示按照所述随机游走的顺序形成实体表示序列;

循环单元1536,其被配置为:循环执行上述随机游走达预定次数,以得到预定个数的实体表示序列,其中,选择每次循环的随机游走所经过的源实体、中间实体和目的实体,使得所得到的所述预定个数的实体表示序列各不相同,并且使得所述预定个数的实体表示序列包含所有待向量化的目标实体的实体表示;

词向量转换单元1537,其被配置为:将所述预定个数的实体表示序列输入词向量转换模型,以得到每个目标实体的向量表示,

其中,所述跳数是指:沿着所述多个实体两两之间的关系,从所述多个实体中的一个实体到与该实体具有直接或间接关系的另一实体所经过的关系的条数。

在图5所示的实施例中,向量表示模块1530可以进一步包括:

重表示单元1538,其被配置为:通过神经网络将每个目标实体的向量表示进行重表示;

最终向量表示1539,将所述神经网络重表示的向量作为该目标实体的最终向量表示。

根据本公开的又一方面,还提供一种形成互动图谱的装置。该装置可以执行如上所述的形成互动图谱的方法的各实施例,其可以被实现在如图1中所示的机器设备110中,或者可以被实现为与机器设备110相连接的其他装置中。图16示出了根据本公开一示例性实施例的这样的装置的示意组成框图。如图16的实施例所示,形成互动图谱的示例装置1601可以包括:

信息获取模块1610,其被配置为:获取记录多个实体之间的行为或联系的信息;

关系确定模块1620,其被配置为:根据所述信息确定所述多个实体两两之间的关系;

互动图谱形成模块1630,其被配置为:将所述多个实体中的每个实体表示为互动图谱的一个节点,并以具有关系的两个实体的相应节点之间的连线来表示所述关系,以形成互动图谱。

上述装置中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。

以上各实施例中的装置实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的装置,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成系统。

以上各实施例中组成该装置的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该装置。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。

根据一个示例性实施例,该装置可被实现为一种机器设备,该机器设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述机器设备执行如上所述的各方法实施例中的任一个,或者,所述计算机程序在被所述处理器执行时使得该机器设备实现如上所述的各装置实施例的组成单元/模块所实现的功能。

上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元cpu,也可以是包括多个分散的处理单元/处理器的分布式处理器系统。

上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。

图17示出了这样的机器设备1701的一个示例性实施例的示意组成框图。如图17所示,该机器设备可以包括但不限于:至少一个处理单元1710、至少一个存储单元1720、连接不同系统组件(包括存储单元1720和处理单元1710)的总线1730。

所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1710执行,使得所述处理单元1710执行本说明书上述示例性方法的描述部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1710可以执行如说明书附图中的各流程图所示的各个步骤。

存储单元1720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)1721和/或高速缓存存储单元1722,还可以进一步包括只读存储单元(rom)1723。

存储单元1720还可以包括具有一组(至少一个)程序模块1725的程序/实用工具1724,这样的程序模块1725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

该机器设备也可以与一个或多个外部设备1770(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该机器设备交互的设备通信,和/或与使得该机器设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1750进行。并且,该机器设备还可以通过网络适配器1760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1760通过总线1730与该机器设备的其它模块通信。应当明白,尽管图中未示出,但该机器设备可以使用其它硬件和/或软件模块来实现,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。

根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1