CN111932386A - 用户账号确定方法及装置、信息推送方法及装置、电子设备 - Google Patents
用户账号确定方法及装置、信息推送方法及装置、电子设备 Download PDFInfo
- Publication number
- CN111932386A CN111932386A CN202010939241.8A CN202010939241A CN111932386A CN 111932386 A CN111932386 A CN 111932386A CN 202010939241 A CN202010939241 A CN 202010939241A CN 111932386 A CN111932386 A CN 111932386A
- Authority
- CN
- China
- Prior art keywords
- node
- modularity
- nodes
- community
- accounts
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000004931 aggregating effect Effects 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 14
- 230000006399 behavior Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 238000004422 calculation algorithm Methods 0.000 description 32
- 238000005516 engineering process Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 17
- 238000000638 solvent extraction Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 5
- 238000005295 random walk Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种用户账号确定方法及装置、信息推送方法及装置、电子设备;涉及大数据及人工智能领域。用户账号确定方法包括:获取网络拓扑图,所述网络拓扑图中各节点对应各账号,两节点之间的边表征对应的账号之间存在预设关联关系;社区划分步骤,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代步骤,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致;账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。本公开可高效准确的确定出属于同一用户的账号。
Description
技术领域
本公开涉及大数据及人工智能技术领域,具体而言,涉及基于大数据及人工智能的一种用户账号确定方法、用户账号确定方法装置、信息推送方法、信息推送装置、电子设备以及计算机可读存储介质。
背景技术
在很多场景中,需要确定出属于同一用户的账号。但在这个过程中,可能会遇到一些问题。
例如,同一用户在不同的业务下具有不同的账号,且这些账号之间缺少直接的对应关系,难以简单的进行一对一关联;又例如,账号与设备之间存在复杂的多对多关系,即同一账号可能登录过不同设备,同一个设备也可能登录过不同的账号,同样难以进行准确关联。
因此,需要通过一些聚类算法挖掘出不同账号的隐式联系,在整个系统中找出可能属于同一用户的账号。但现有技术中的相关方法在处理效率和准确性方面,仍存在待改进之处。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种用户账号确定方法、用户账号确定方法装置、信息推送方法、信息推送装置、电子设备以及计算机可读存储介质,进而能够更加高效准确的确定出属于同一用户的账号。
根据本公开的一个方面,提供一种用户账号确定方法,包括:获取网络拓扑图步骤,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分步骤,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代步骤,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致;账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
根据本公开的一个方面,提供一种信息推送方法,包括:获取网络拓扑图步骤,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分步骤,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代步骤,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致;账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号;信息推荐步骤,根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
根据本公开的一个方面,提供一种用户账号确定装置,包括:输入模块,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分模块,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构模块,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代模块,用于基于更新的网络拓扑图迭代所述虚拟社区划分步模块以及节点重构模块的步骤,直至更新前后的所述网络拓扑图一致;账号识别模块,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
在本公开的一种示例性实施例中,所述虚拟社区划分模块具体包括:初始化单元,用于将所述网络拓扑图的各节点分别划为一个虚拟社区;社区重划单元,对于任一所述节点,如果其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该节点划分至该所述虚拟社区;第二迭代步骤,用于迭代所述社区重划单元的步骤直至不存在正数的模块度增量。
在本公开的一种示例性实施例中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在虚拟社区前的全局模块度;计算将该所述节点划分至其邻接节点所在虚拟社区后的全局模块度;根据所述全局模块度与全局模块度的差值确定所述模块度增量。
在本公开的一种示例性实施例中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在的虚拟社区前,其所在虚拟社区对应的局部模块度;计算将该所述节点划分至其邻接节点所在的虚拟社区后,其所在虚拟社区对应的局部模块度;根据所述局部模块度与局部模块度的差值确定所述模块度增量。
在本公开的一种示例性实施例中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在的虚拟社区前的全局模块度,以及其所在虚拟社区对应的局部模块度;计算将该所述节点划分至其邻接节点所在的虚拟社区后的全局模块度,以及其所在虚拟社区对应的局部模块度;根据所述全局模块度、局部模块度以及全局模块度、局部模块度确定所述模块度增量。
在本公开的一种示例性实施例中,所述社区重划单元还用于:对于任一所述节点,如果有多个其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该多个所述虚拟社区作为候选虚拟社区;以及,将该节点划分至对应的模块度增量最大的所述候选虚拟社区。
在本公开的一种示例性实施例中,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重均为1。
在本公开的一种示例性实施例中,所述预设关联关系包括下述关联关系中一种或多种:两个所述账号的登录设备存在交集、两个所述账号所属的业务存在交集、两个所述账号对应的用户行为数据相似、两个所述账号关联的预存信息相似。
在本公开的一种示例性实施例中,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重相关于所述预设关联关系的种类和/或数量。
在本公开的一种示例性实施例中,所述节点重构模块还用于:在所述更新的网络拓扑图中,边的权重为其连接的两个节点在更新前的网络拓扑图中所包含的所有节点的边的权重之和。
在本公开的一种示例性实施例中,所述输入模块通过下述步骤获取网络拓扑图:将存在所述预设关联关系的所述账号对应的节点加入同一节点集合;通过边将同一个节点集合中的节点两两连接;根据所述边连接的两个所述节点对应的账号的预设关联关系的种类和/或数量,确定各所述边的权重值;保留权重值大于权重阈值的所述边,得到所述网络拓扑图。
在本公开的一种示例性实施例中,所述账号识别模块通过下述步骤确定属于同一用户的账号:对位于同一虚拟社区的所述节点对应的账号按照节点度进行排序;将位于预设排序位置的所述账号确定为所述同一用户的账号。
根据本公开的一个方面,提供一种信息推送装置,包括:输入模块,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分模块,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构模块,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代模块,用于基于更新的网络拓扑图迭代所述虚拟社区划分模块以及节点重构模块的步骤,直至更新前后的所述网络拓扑图一致;账号识别模块,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号;信息推荐模块,用于根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
根据本公开的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例性实施例所提供的用户账号确定方法中,一方面,直接基于原本用于评价社区划分质量的指标即模块度,对网络拓扑图进行社区划分,相比于基于特征工程的社区发现算法(如随机游走算法和标签传播算法),避免了算法目标和评价指标之间的差异,从而能够更加高效和准确的进行社区的划分迭代,进而能够更加高效准确的确定出属于同一用户的账号。另一方面,在迭代过程中,不断的对网络拓扑图进行聚合压缩,从而能够更加深入的进行虚拟社区发现;因此相比于基于有权图的图论算法,本公开所提供的用户账号确定方法,能够有效的挖掘出用户账号之间的隐藏特征,从而更加有效的利用用户行为之间的隐式信息,进而能够得到更为精准的用户账号确定结果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种用户账号确定方法及装置的示例性系统架构的示意图。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
图3示意性示出了根据本公开的一个实施例的用户账号确定方法的流程图。
图4示意性示出了根据本公开的一个实施例中网络拓扑图示意图。
图5示意性示出了根据本公开的一个实施例中社区划分步骤的流程图。
图6示意性示出了根据本公开的一个实施例中社区划分步骤的流程图。
图7示意性示出了根据本公开的一个实施例中的社区划分结构示意图。
图8示意性示出了根据本公开的一个实施例中网络拓扑图示意图。
图9示意性示出了根据本公开的一个实施例中的社区划分结构示意图。
图10示意性示出了根据本公开的一个实施例中网络拓扑图示意图。
图11示意性示出了根据本公开的一个实施例的信息推送方法的流程图。
图12示意性示出了根据本公开的一个实施例的用户账号确定装置的框图。
图13示意性示出了根据本公开的一个实施例的信息推送装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种用户账号确定方法及装置、信息推送方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本公开实施例所提供的用户账号确定方法及信息推送方法可以在服务器105执行,相应地,用户账号确定装置及信息推送装置一般设置于服务器105中。本公开实施例所提供的用户账号确定方法及信息推送方法也可以由终端设备101、102、103执行,相应的,用户账号确定装置及信息推送装置也可以设置于终端设备101、102、103中。
举例而言,在一种示例性实施例中,可以是用户在终端设备101、102或者103上登录某业务下的账号,并进行与该业务相关的操作。例如,登录即时通信软件的账号,进行通信行为;登录电子商务平台的账号,进行线上购物行为等。在用户登录某业务下账号之后,相关的业务服务器,例如上述服务器105可以对该账号的登录进行记录,例如,记录登录时间、登录账号的所使用的电子设备的信息等,此外,还可以记录该账号相关的用户行为数据等其他信息;在一些示例性实施例中,也可以是,终端设备101、102或者103对这些信息进行记录,并上传至上述服务器105。服务器105则可以利用本发明中的用户账号确定方法,基于上述信息确定出属于同一用户的账号,并基于属于同一用户的账号进行信息推送。但本领域技术人员容易理解的是,上述应用场景仅是用于举例,本示例性实施例中并不以此为限。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和装置中限定的各种功能。在一些实施例中,计算机系统200还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在云技术中,大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
本公开中的部分示例性实施例可能会涉及到上述机器学习技术以及大数据技术。以下对本公开实施例的技术方案进行详细阐述:
发明人首先尝试了通过基于有权图的图论算法和基于特征工程的社会发现算法来确定出属于同一用户的账号。具体而言:
基于有权图的图论算法,首先是利用账号以及账号相关的其他信息生成网络拓扑图,每个账号均对应网络拓扑图中的一个节点,各个账号之间的预设关联关系对应网络拓扑图中的边,边的权重对应关联联系的紧密程度。然后在网络拓扑图上运行图论算法,将网络拓扑图划为多个连通子图,每个连通子图中的账号被确定为同一用户的账号。以最小化分割(Min-Cut)算法为例,可以去除网络拓扑图中的某些边实现图分割并使得分割得到的连通图之间的权重差距最小,同时能够保证各个连通图之间的权重差值之和最小且连通图内部的权重之和最大。基于有权图的图论算法,实现简单,具有较强的可解释性,易于调试;但是准确率较低。
基于特征工程的社会发现算法,主要是利用账号以及账号相关的其他信息生成网络拓扑图,每个账号均对应网络拓扑图中的一个节点;然后对节点进行聚类。以随机游走算法为例,聚类过程可以包括:首先对每一个节点进行编码,其次对于每个节点,依次尝试将其划分至邻居节点所在的虚拟社区,并记录整个社区编码长度的下降值,然后将该节点划分社区编码长度下降最大时对应的社区。以标签传播算法为例,聚类过程可以包括:首先为每个节点指定一个标签,其次在执行过程中,逐轮刷新所有节点的标签,直到达到收敛要求为止。其中,对于每一轮刷新,节点都考察其所有邻居节点的标签,并进行统计以将出现个数最多的标签赋给当前节点;最后,将同一标签的节点划分至同一社区。基于特征工程的社会发现算法,可以挖掘出节点之间的隐式关联,但由于这些算法都是基于各自的标准进行社区迭代优化,而这些标准可能无法评价社区划分的优劣,从而造成了算法优化目标和评价目标的差异,影响社区划分的效率以及准确性。
基于上述一个或多个问题,本示例实施方式提供了一种用户账号确定方法。该用户账号确定方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个;还可以同时应用于上述终端设备101、102、103中的一个或多个以及上述服务器105;本示例性实施例中对此不做特殊限定。参考图3所示,该用户账号确定方法可以包括以下步骤:
S310. 获取网络拓扑图步骤,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;
S320. 社区划分步骤,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;
S330. 节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;
S340. 第一迭代步骤,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致;
S350. 账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
在本示例实施方式所提供的用户账号确定方法中,一方面,直接基于原本用于评价社区划分质量的指标即模块度,对网络拓扑图进行社区划分,相比于基于特征工程的社区发现算法(如随机游走算法和标签传播算法),避免了算法目标和评价指标之间的差异,从而能够更加高效和准确的进行社区的划分迭代,进而能够更加高效准确的确定出属于同一用户的账号。另一方面,在迭代过程中,不断的对网络拓扑图进行聚合压缩,从而能够更加深入的进行虚拟社区发现;因此相比于基于有权图的图论算法,本公开所提供的用户账号确定方法,能够有效的挖掘出用户账号之间的隐藏特征,从而更加有效的利用用户行为之间的隐式信息,进而能够得到更为精准的用户账号确定结果。
下面,在另一实施例中,对上述步骤进行更加详细的说明。
在步骤S310中,获取网络拓扑图。
本示例实施方式中,可以基于获取的账号以及账号与账号之间的预设关联关系相关的信息,得到网络拓扑图。例如,首先将各个账号在网络拓扑图中通过节点进行表示;然后,将任意两个账号分别组成账号对;其次,遍历所有账号对,并判断账号对中的两个账号是否存在预设关联关系;如果存在预设关联关系,则在账号对中的两个账号之间设置边,得到网络拓扑图。
本示例实施方式中,上述预设关联关系可以为两个账号的登录设备存在交集,例如,账号1的某个登录设备的IMEI(International Mobile Equipment Identity,国际移动设备识别码)信息与账号2的某个登录设备的IMEI信息相同,则可以认为账号1与账号2之间存在预设关联关系;又例如,账号1的某个登录设备的MAC地址(Media Access ControlAddress,物理地址)还与账号4的某个登录设备的IMEI信息相同,则可以认为账号1与账号4之间同样存在预设关联关系。
当然,在本公开的其他示例性实施例中,上述预设关联关系也可以为两个所述账号所属的业务存在交集、两个所述账号对应的用户行为数据相似、两个所述账号关联的预存信息相似等。例如,经过统计,账号1对应的登录时间以及登出时间与账号7对应的登录时间以及登出时间基本相同,则可以认为账号1与账号7之间存在预设关联关系。又例如,账号2关联预存信息中的用户年龄、用户性别、用户地址等信息与账号4关联预存信息中的用户年龄、用户性别、用户地址等信息基本一致,则可以认为账号4与账号4之间存在预设关联关系。上述相似度判断例如可以通过余弦相似度判断方法或者jaccard相似度判断方法等方法实现,本示例性实施例中对此不做特殊限定。此外,在本公开的更多示例性实施例中,上述所属业务、用户行为数据以及关联的预存信息也可以根据实际场景有所不同;而且,也可以通过其他信息确定账号之间是否存在预设关联关系,这些同样属于本公开的保护范围。
参考图4所示,为获取的一种网络拓扑图的示意图。网络拓扑图中各节点分别对应各账号,两个所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系。本示例实施方式中,上述网络拓扑图可以为无权网络拓扑图,也即上述边的权重均为1。但在本公开的其他示例性实施例中,上述网络拓扑图也可以为有权网络拓扑图,边的权重可以相关于所述预设关联关系的种类、数量或者与两者均相关。例如,如果两个账号的登录设备存在交集,则边权重为3;两个账号关联的预存信息相似,则边权重为2;如果两个账号的登录设备存在交集且关联的预存信息相似,则边权重为6等。在本公开的一种示例性实施例中,具体可以通过下述方式获取有权网络拓扑图。
例如,由于存在上述预设关联关系的账号属于同一用户的可能性较大,因此,可以先将存在所述预设关联关系的所述账号对应的节点加入同一节点集合,再将该节点集合中的节点两两之间分别通过边进行连接。进一步的,在数量较大的情况下,为了减少运算量,本示例实施方式中,可以首先根据所述边连接的两个节点对应的账号的预设关联关系的种类和数量或者种类和数量两者之一,确定各所述边的权重值;并保留权重值大于权重阈值的所述边,得到所述网络拓扑图。例如,权重阈值为5,则仅保留权重值在5以上的边。权重阈值可以经验或者通过试验获取,本示例性实施例中对此不做特殊限定。在一些示例性实施例中,还可以在通过保留权重值大于权重阈值的边得到网络拓扑图之后,再将边的权重值均重置为1,也即转换为无权重的网络拓扑图,这同样属于本公开的保护范围。
在步骤S320,也即社区划分步骤中,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区。
本公开中,社区划分的主要目的是对网络拓扑图中的各个节点进行聚类,构成一个个虚拟社区。模块度(Modularity)是本领域技术人员用于衡量社区划分质量的一个主要评价指标,用于表征所述虚拟社区的结构强度。模块度越大,则一般说明社区划分效果越好;对于一个相对好的划分结果而言,在虚拟社区内部的节点拥有较高的相似度或者较高的关联程度,而不同虚拟社区的节点之间的相似度较低或者关联程度较低。本示例实施方式中,基于网络拓扑图的模块度将所述节点划分为多个虚拟社区,而非基于现有技术中的其他无法评价社区划分的优劣的标准进行社区划分,因此能够减轻或者避免了算法目标和评价指标之间的差异,进而可以提高社区划分的效率以及准确性。参考图5所示,本示例实施方式中具体可以通过下述步骤S510至步骤S530实现社区划分。其中:
步骤S510为初始化步骤:将所述网络拓扑图的各节点分别划为一个虚拟社区。
本示例实施方式中,可以通过邻接矩阵对上述步骤S310中的网络拓扑图进行表示。例如,以无权网络拓扑图为例,邻接矩阵可以为:
步骤S520为社区重划步骤:对于任一所述节点,如果其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该节点划分至该所述虚拟社区。
以全局模块度为例,全局模块度的大小定义为虚拟社区内部的总边数和网络拓扑图中总边数的比例减去一个期望值。虚拟社区内部的总边数和网络拓扑图中总边数的比例可以通过下式表示:
上述期望值是将网络拓扑图设定为随机网络拓扑图时,同样的社区分配分式所形成的虚拟社区内部的总边数和网络中总边数的比例的大小。结合期望值,可以得到全局模块度Q:
为了对上述公式进行进一步简化,本示例实施方式中定义一个的矩阵e,其中,k为进行社区划分后得到的虚拟社区的数量。在矩阵e中,表示虚拟社区i和虚拟社区j内部边数目的和与总边数的比例;特别的,表示虚拟社区i和虚拟社区i之间的边占总边数的比例,也即虚拟社区i内部的边占总边数的比例。并且,通过表示虚拟社区i内部的点所关联的所有的边的数目与总边数的比例,即:
也即,对于无权网络拓扑图而言,全局模块度为:
类似的,可以得到,对于有权网络拓扑图而言,全局模块度为:
上面介绍了全局模块度Q的计算方法;模块度增量则可以通过社区重划前后的模块度变化确定。举例而言,首先,计算将一所述节点划分至其邻接节点所在虚拟社区前的全局模块度;然后,计算将该所述节点划分至其邻接节点所在虚拟社区后的全局模块度;接着,将所述全局模块度与全局模块度的差值确定为所述模块度增量。
例如,当前社区划分结构下,全局模块度为;对于任一上述节点,如节点3,其邻接节点如节点0所在虚拟社区接受节点0后对应的全局模块度为;则模块度增量可以为全局模块度与全局模块度之差,即。如果模块度增量为正数,即,则将节点3划分至节点0所在的虚拟社区,否则,放弃将节点3划分至节点0所在的虚拟社区。
但在本公开的其他示例性实施例中,上述模块度增量也可以通过其他方式确定。例如,上述模块度也可以为局部模块度,进而模块度增量则为局部模块度增量。下面,对局部模块度进行说明:
对于当前网络拓扑图中已经存在的某一虚拟社区,可以将该虚拟社区内所有节点构成的集合记为V;同时,将该虚拟社区内所有节点以及该虚拟社区内所有节点的邻接节点构成的集合记为V * 。V * 通过邻接矩阵方式表示:
则局部模块度可以表示为:
基于局部模块度,则可以首先计算将一所述节点划分至其邻接节点所在的虚拟社区前,其所在虚拟社区对应的局部模块度;其次,计算将该所述节点划分至其邻接节点所在的虚拟社区后,其所在虚拟社区对应的局部模块度;接着,将所述局部模块度与局部模块度的差值确定为所述模块度增量,即模块度增量。由于局部模块度的计算只需要用到局部的网络信息,因此在一些场景下,例如对于大规模的网络拓扑图而言,结合局部模块度进行社区划分的准确性以及效率可能会有所提升。
在一些示例性实施例中,还可以结合全局模块度和局部模块度,共同确定模块度增量。举例而言,可以首先计算将一所述节点划分至其邻接节点所在的虚拟社区前的全局模块度,以及其所在虚拟社区对应的局部模块度;其次,计算将该所述节点划分至其邻接节点所在的虚拟社区后的全局模块度,以及其所在虚拟社区对应的局部模块度;接着,根据所述全局模块度、局部模块度以及全局模块度、局部模块度确定所述模块度增量。例如,在一种计算方式中可以是,模块度增量;其中,w 1和w 2分别为全部模块度和局部对应的权重值,具体取值可以由本领域技术人员根据经验或者实验确定。通过结合全局模块度和局部模块度,共同确定模块度增量,可以使得本示例实施方式中的方法的适应性更强,能够用于对不同规模的网络拓扑图进行处理。
需要说明的是,上述模块度以及模块度增量确定方式仅为举例之用,在本公开的其他示例性实施例中,也可以通过其他方式确定模块度以及模块增量,本示例性实施例中对此不做特殊限定。
步骤S530为第二迭代步骤:迭代上述社区重划步骤直至不存在正数的模块度增量。下面结合图6所示的流程对上述步骤S520以及步骤S530进行进一步的说明。参考图6所示,具体包括:
在步骤S610中,比较N和i。其中,N为在当前社区划分结构下,还可以尝试进行社区划分的总次数;每有一个节点被划分至邻接节点所在的虚拟社区,社区划分结构都会发生变化,进而N也会随之变化。i为在当前社区划分结构下,已经尝试进行社区划分的总次数,初始值为0。因此,如果i≠N,则转至步骤S620,继续尝试进行社区划分;如果i= N,则说明所有可能的划分均已经被尝试,可以转至下述步骤S330。
在步骤S620中,尝试将尚未与邻接节点位于同一社区的节点(例如节点3)划分至邻接节点(例如节点0)所在的虚拟社区。
例如经过判断,尝试将节点3划分至节点0所在的虚拟社区时,对应的模块度增量,则放弃将节点3划分至节点0所在的虚拟社区,并转至步骤S610。在步骤S610中,判断当前i不等于N,因此转至步骤S620。在步骤S620中,尝试将节点3划分至邻接节点(如节点7)所在的虚拟社区。在步骤S630中,计算划分前后的模块度,并确定模块度增量。在步骤S640中,判断模块度增量,因此将节点3划分至节点7所在的虚拟社区,同时重新计算上述N以及将i置零,并转至上述步骤S620。
在上述过程中,对于任一所述节点,如果其任一邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该多个所述虚拟社区作为候选虚拟社区。在本公开的其他示例性实施例中,对于任一所述节点,如果有多个其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则可以将该多个所述虚拟社区作为候选虚拟社区;以及,将该节点划分至对应的模块度增量最大的所述候选虚拟社区。
例如,如果尝试将节点3划分至邻接节点(即节点0)所在的虚拟社区时的模块度增量为正数,尝试将节点3划分至邻接节点(即节点7)所在的虚拟社区时的模块度增量同样为正数;因此,将节点0所在的虚拟社区和节点7所在的虚拟社区作为候选虚拟社区。同时,由于大于,因此将节点3划分至节点7所在的虚拟社区,而放弃划分至节点0所在的虚拟社区。这样,则可以在一定程度上进一步的提高社区划分的精准性以及提高社区划分的效率。
重复上述步骤S610~步骤S640,直至i=N。此时,得到的社区划分结构例如如图7部分,经过社区划分步骤,将节点划分成了A、B、C、D四个虚拟社区;其中,A虚拟社区包括节点0、1、2、4、5;B虚拟社区包括节点3、6、7;C虚拟社区包括节点8、9、10、12、14、15;D虚拟社区包括节点11、13。
在上述步骤中,对社区划分步骤进行了示例性说明。但本示例实施方式中并不以此为限;例如,本领域技术人员还可以利用启发式策略结合模块度进行社区划分,以进一步的提升效率等;这些同样属于本公开的保护范围。
在步骤S330中,即节点重构步骤中,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图。
本示例实施方式中,为了使得网络拓扑图中虚拟社区内部的结构更加紧密以及更加深入的进行虚拟社区发现,将划分得到的每一所述虚拟社区分别聚合为了一个节点,从而对网络拓扑图进行压缩,得到更新的网络拓扑图。例如,参考图8所示,A虚拟社区包括的节点0、1、2、4、5被聚合为节点a,节点a的节点度为14;B虚拟社区包括的节点3、6、7被聚合为节点b,节点b的节点度为4;C虚拟社区包括的节点8、9、10、12、14、15被聚合为节点c,节点c的节点度为16;D虚拟社区包括的节点11、13被聚合为节点d,节点d的节点度为2。
进一步的,为了在网络拓扑图压缩过程中保留社区之间的联系,本示例实施方式中,在所述更新的网络拓扑图中,边的权重为其连接的两个节点在更新前的网络拓扑图中所包含的所有节点的边的权重之和。例如,上述节点a与节点b之间的权重为4;节点a与节点c之间的权重为1;节点a与节点d之间的权重为1;节点b与节点c之间的权重为1;节点b与节点d之间的权重为1;节点c与节点d之间的权重为1。
在步骤S340中,即第一迭代步骤中,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致。
例如,对于图8中的网络拓扑图,可以继续通过上述步骤S320进行社区划分;划分得到的虚拟社区例如可以如图9所示。其中,E虚拟社区包括节点a、b;F虚拟社区包括节点c、d。接着,通过上述步骤S330进行节点重构,将划分得到的每一所述虚拟社区分别聚合为一个节点。例如,参考图10所示,E虚拟社区包括的节点a、b被聚合为节点e,节点e的节点度为26;F虚拟社区包括的节点c、d被聚合为节点f,节点f的节点度为24;节点e与节点f之间的权重为3。
对于图10中的网络拓扑图,可以继续通过上述步骤S320进行社区划分以及通过上述步骤S330进行节点重构,得到更新后的网络拓扑图;由于图10中的网络拓扑图在更新前后的结构一致,因此可以结束迭代,也即得到稳定的社区划分结构。
在步骤S350中,也即账号识别步骤中,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
例如,对于图10中的网络拓扑图,其中,节点e和节点f分别对应于虚拟社区E和虚拟社区F;虚拟社区E中包括节点0、1、2、3、4、5、6、7;虚拟社区F包括节点8、9、10、11、12、13、14。进而,可以确定节点0、1、2、3、4、5、6、7对应的账号为一个用户的账号;节点8、9、10、11、12、13、14对应的账号为另一用户的账号。
在部分场景下,例如账号数量较多或者上述预设关联关系的种类较多时,在同一虚拟社区中,可以有部分账号实际上不属于同一用户;也即可能存在误判的情形。对此,本示例实施方式中,可以首先对位于同一虚拟社区的所述节点对应的账号按照节点度进行排序;并将位于预设排序位置的所述账号确定为所述同一用户的账号。例如,对位于同一虚拟社区的所述节点对应的账号按照节点度大到小进行排序,然后根据排序结果,将排名在某一名次之前的账号确定为同一用户的账号。又例如,对位于同一虚拟社区的所述节点对应的账号按照节点度小到大进行排序,然后根据排序结果,将排名在后百分之五十的账号确定为同一用户的账号等等。这样,则可以在一定程度上减少判断情形,提高后续信息推荐的准确性以及推荐效率。
相比于基于有权图的图论算法,本公开所提供的用户账号确定方法,能够有效的挖掘出用户账号之间的隐藏特征,从而更加有效的利用用户行为之间的隐式信息,进而能够得到更为精准的用户账号确定结果;相比于基于特征工程的社区发现算法(如随机游走算法和标签传播算法),本公开所提供的用户账号确定方法直接以社区发现的评价指标模块度作为迭代的标准,避免了算法目标和评价指标之间的差异,从而能够更加高效和准确的进行社区的划分迭代,进而能够更加高效准确的确定出属于同一用户的账号;此外,本公开所提供的用户账号确定方法的时间复杂度较低,同时更加适用于大规模数据以及稀疏数据。本公开所提供的用户账号确定方法和现有技术的比较具体见下表1:
表1:本公开所提供的用户账号确定方法和现有技术的比较
技术方案 | 易实现 | 时间复杂度低 | 适合大规模数据 | 适合稀疏数据 | 迭代效率高 |
基于有权图的图论算法 | 是 | ||||
随机游走算法 | 是 | 是 | |||
标签传播算法 | 是 | 是 | |||
本公开的方法 | 是 | 是 | 是 | 是 |
进一步的,在通过本示例实施方式中的方法确定出属于同一用户的账号之后,还可以基于此进行信息推送方法。因此,本示例实施方式中,还提供一种信息推送方法。该信息推送方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个;还可以同时应用于上述终端设备101、102、103中的一个或多个以及上述服务器105;本示例性实施例中对此不做特殊限定。参考图11所示,该信息推送方法可以包括步骤S1110~步骤S1160。其中,步骤S1110~步骤S1150与上述步骤S310~步骤S350类似,因此此处不再重复赘述。其中:
在步骤S1160,也即信息推荐步骤中,根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
举例而言,用户画像在用户喜好分析、信息精准化推荐等方面起着重要的作用。但在实际应用中,仅仅依靠单一账号相关的数据往往难以全面而准确的构建出目标用户的用户画像。而本示例实施方式中,在获取目标用户所有账号的关联数据之后,则可以基于这些数据,通过如TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文本频率指数)等方法,确定目标用户的标签,从而全面而准确的得到目标用户的用户画像。
以待推送信息为广告信息为例,广告信息推送系统的主要触发策略之一是标签触发。通过上述步骤,确定目标用户的用户画像之后,则可以根据目标用户的用户画像标签,精准的定向进行广告信息推送,从而减少或者避免用户接收到不需要的信息,提升了信息传达效率;同时,也提高了信息推送的效率,从而减少计算资源的消耗以及网络带宽的占用。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了基于人工智能的一种用户账号确定装置。该用户账号确定装置可以应用于一服务器或终端设备。参考图12所示,该用户账号确定装置1200可以包括输入模块1210、社区划分模块1220、节点重构模块1230、第一迭代模块1240以及账号识别模块1250。其中:
输入模块1210,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分模块1220,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构模块1230,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代模块1240,用于基于更新的网络拓扑图迭代所述虚拟社区划分步模块以及节点重构模块1230的步骤,直至更新前后的所述网络拓扑图一致;账号识别模块1250,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
本示例实施方式中,所述虚拟社区划分模块1220具体包括:初始化单元,用于将所述网络拓扑图的各节点分别划为一个虚拟社区;社区重划单元,对于任一所述节点,如果其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该节点划分至该所述虚拟社区;第二迭代步骤,用于迭代所述社区重划单元的步骤直至不存在正数的模块度增量。
本示例实施方式中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在虚拟社区前的全局模块度;计算将该所述节点划分至其邻接节点所在虚拟社区后的全局模块度;根据所述全局模块度与全局模块度的差值确定所述模块度增量。
本示例实施方式中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在的虚拟社区前,其所在虚拟社区对应的局部模块度;计算将该所述节点划分至其邻接节点所在的虚拟社区后,其所在虚拟社区对应的局部模块度;根据所述局部模块度与局部模块度的差值确定所述模块度增量。
本示例实施方式中,社区重划单元通过下述步骤确定所述模块度增量:计算将一所述节点划分至其邻接节点所在的虚拟社区前的全局模块度,以及其所在虚拟社区对应的局部模块度;计算将该所述节点划分至其邻接节点所在的虚拟社区后的全局模块度,以及其所在虚拟社区对应的局部模块度;根据所述全局模块度、局部模块度以及全局模块度、局部模块度确定所述模块度增量。
本示例实施方式中,所述社区重划单元还用于:对于任一所述节点,如果有多个其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该多个所述虚拟社区作为候选虚拟社区;以及,将该节点划分至对应的模块度增量最大的所述候选虚拟社区。
本示例实施方式中,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重均为1。
本示例实施方式中,所述预设关联关系包括下述关联关系中一种或多种:两个所述账号的登录设备存在交集、两个所述账号所属的业务存在交集、两个所述账号对应的用户行为数据相似、两个所述账号关联的预存信息相似。
本示例实施方式中,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重相关于所述预设关联关系的种类和/或数量。
本示例实施方式中,所述节点重构模块1230还用于:在所述更新的网络拓扑图中,边的权重为其连接的两个节点在更新前的网络拓扑图中所包含的所有节点的边的权重之和。
进一步的,本示例实施方式中,还提供了基于人工智能的一种信息推送装置。该信息推送装置可以应用于一服务器或终端设备。参考图13所示,该信息推送装置1300可以包括输入模块1310、社区划分模块1320、节点重构模块1330、第一迭代模块1340、账号识别模块1350以及信息推荐模块1360。其中:
输入模块1310,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;社区划分模块1320,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;节点重构模块1330,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;第一迭代模块1340,用于基于更新的网络拓扑图迭代所述虚拟社区划分模块1320以及节点重构模块1330的步骤,直至更新前后的所述网络拓扑图一致;账号识别模块1350,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号;信息推荐模块,用于根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
上述用户账号确定装置1200以及信息推送装置1300中各模块或单元的具体细节已经在对应的用户账号确定方法中进行了详细的描述,因此此处不再赘述。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3所示的各个步骤等。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,本公开在一个示例性实施例中,还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种用户账号确定方法,其特征在于,包括:
获取网络拓扑图步骤,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;
初始化步骤,将所述网络拓扑图的各节点分别划为一个虚拟社区;
社区重划步骤,对于任一所述节点,如果其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该节点划分至该所述虚拟社区;所述模块度用于表征所述虚拟社区的结构强度;
第二迭代步骤,迭代所述社区重划步骤直至不存在正数的模块度增量;
节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图,在所述更新的网络拓扑图中,边的权重为其连接的两个节点在更新前的网络拓扑图中所包含的所有节点的边的权重之和;
第一迭代步骤,基于更新的网络拓扑图迭代所述初始化步骤至节点重构步骤,直至更新前后的所述网络拓扑图一致;
账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
5.根据权利要求1所述的用户账号确定方法,其特征在于,所述虚拟社区重划步骤还包括:
对于任一所述节点,如果有多个其邻接节点所在虚拟社区接受该节点后对应的模块度增量为正数,则将该多个所述虚拟社区作为候选虚拟社区;以及
将该节点划分至对应的模块度增量最大的所述候选虚拟社区。
6.根据权利要求1~5任意一项所述的用户账号确定方法,其特征在于,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重均为1。
7.根据权利要求1~5任意一项所述的用户账号确定方法,其特征在于,所述预设关联关系包括下述关联关系中一种或多种:
两个所述账号的登录设备存在交集、两个所述账号所属的业务存在交集、两个所述账号对应的用户行为数据相似、两个所述账号关联的预存信息相似。
8.根据权利要求7所述的用户账号确定方法,其特征在于,所述获取网络拓扑图步骤获取的网络拓扑图中,边的权重相关于所述预设关联关系的种类和/或数量。
9.根据权利要求8所述的用户账号确定方法,其特征在于,所述获取网络拓扑图的步骤包括:
将存在所述预设关联关系的所述账号对应的节点加入同一节点集合;
通过边将同一个节点集合中的节点两两连接;
根据所述边连接的两个所述节点对应的账号的预设关联关系的种类和/或数量,确定各所述边的权重值;
保留权重值大于权重阈值的所述边,得到所述网络拓扑图。
10.根据权利要求1~5任意一项所述的用户账号确定方法,其特征在于,所述账号识别步骤还包括:
对位于同一虚拟社区的所述节点对应的账号按照节点度进行排序;
将位于预设排序位置的所述账号确定为所述同一用户的账号。
11.一种信息推送方法,其特征在于,包括:
获取网络拓扑图步骤,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;
社区划分步骤,基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;
节点重构步骤,将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;
第一迭代步骤,基于更新的网络拓扑图迭代所述虚拟社区划分步骤以及节点重构步骤,直至更新前后的所述网络拓扑图一致;
账号识别步骤,将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号;
信息推荐步骤,根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
12.一种用户账号确定装置,其特征在于,包括:
输入模块,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;
社区划分模块,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;
节点重构模块,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;
第一迭代模块,用于基于更新的网络拓扑图迭代所述虚拟社区划分步模块以及节点重构模块的步骤,直至更新前后的所述网络拓扑图一致;
账号识别模块,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号。
13.一种信息推送装置,其特征在于,包括:
输入模块,用于获取网络拓扑图,所述网络拓扑图中各节点分别对应各账号,两所述节点之间的边表征所述两所述节点对应的账号之间存在预设关联关系;
社区划分模块,用于基于所述网络拓扑图的模块度,将所述节点划分为多个虚拟社区;
节点重构模块,用于将划分得到的每一所述虚拟社区分别聚合为一个节点,得到更新的网络拓扑图;
第一迭代模块,用于基于更新的网络拓扑图迭代所述虚拟社区划分模块以及节点重构模块的步骤,直至更新前后的所述网络拓扑图一致;
账号识别模块,用于将位于同一虚拟社区的所述节点对应的账号确定为同一用户的账号;
信息推荐模块,用于根据目标用户所有账号的关联数据,对所述目标用户进行用户画像分析,并根据用户画像分析结果进行信息推荐。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11任一项所述的方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010939241.8A CN111932386B (zh) | 2020-09-09 | 2020-09-09 | 用户账号确定方法及装置、信息推送方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010939241.8A CN111932386B (zh) | 2020-09-09 | 2020-09-09 | 用户账号确定方法及装置、信息推送方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111932386A true CN111932386A (zh) | 2020-11-13 |
CN111932386B CN111932386B (zh) | 2021-01-15 |
Family
ID=73309393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010939241.8A Active CN111932386B (zh) | 2020-09-09 | 2020-09-09 | 用户账号确定方法及装置、信息推送方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111932386B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632378A (zh) * | 2020-12-21 | 2021-04-09 | 高晓惠 | 基于大数据和人工智能的信息处理方法及数据服务器 |
CN113111133A (zh) * | 2021-04-09 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 用户分类的方法和装置 |
CN113158025A (zh) * | 2021-03-05 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 产品投放策略的生成方法、装置及电子设备 |
CN113326178A (zh) * | 2021-06-22 | 2021-08-31 | 北京奇艺世纪科技有限公司 | 一种异常账号传播方法、装置、电子设备和存储介质 |
CN113440856A (zh) * | 2021-07-15 | 2021-09-28 | 网易(杭州)网络有限公司 | 游戏中异常账号的识别方法、装置、电子设备及存储介质 |
CN113569136A (zh) * | 2021-07-02 | 2021-10-29 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、电子设备及存储介质 |
CN113987087A (zh) * | 2021-10-27 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 帐户处理方法、装置、电子设备及存储介质 |
CN115935027A (zh) * | 2023-01-19 | 2023-04-07 | 北京百度网讯科技有限公司 | 目标对象拓扑图的数据处理方法及图分类模型的训练方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190044821A1 (en) * | 2017-08-01 | 2019-02-07 | Elsevier, Inc. | Systems and methods for extracting structure from large, dense, and noisy networks |
US20190147973A1 (en) * | 2015-05-30 | 2019-05-16 | Ancestry.Com Dna, Llc | Discovering Population Structure From Patterns of Identity-By-Descent |
CN110765320A (zh) * | 2019-10-23 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质和计算机设备 |
-
2020
- 2020-09-09 CN CN202010939241.8A patent/CN111932386B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147973A1 (en) * | 2015-05-30 | 2019-05-16 | Ancestry.Com Dna, Llc | Discovering Population Structure From Patterns of Identity-By-Descent |
US20190044821A1 (en) * | 2017-08-01 | 2019-02-07 | Elsevier, Inc. | Systems and methods for extracting structure from large, dense, and noisy networks |
CN110765320A (zh) * | 2019-10-23 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质和计算机设备 |
Non-Patent Citations (2)
Title |
---|
付常雷: "一种基于Newman快速算法改进的社团划分算法", 《一种基于NEWMAN快速算法改进的社团划分算法》 * |
王宏杰 等: "模块度引导下的社区发现增量学习算法", 《计算机科学与探索》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632378A (zh) * | 2020-12-21 | 2021-04-09 | 高晓惠 | 基于大数据和人工智能的信息处理方法及数据服务器 |
CN112632378B (zh) * | 2020-12-21 | 2021-08-24 | 广东省信息网络有限公司 | 基于大数据和人工智能的信息处理方法及数据服务器 |
CN113158025A (zh) * | 2021-03-05 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 产品投放策略的生成方法、装置及电子设备 |
CN113158025B (zh) * | 2021-03-05 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 产品投放策略的生成方法、装置及电子设备 |
CN113111133A (zh) * | 2021-04-09 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 用户分类的方法和装置 |
CN113326178A (zh) * | 2021-06-22 | 2021-08-31 | 北京奇艺世纪科技有限公司 | 一种异常账号传播方法、装置、电子设备和存储介质 |
CN113569136A (zh) * | 2021-07-02 | 2021-10-29 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、电子设备及存储介质 |
CN113569136B (zh) * | 2021-07-02 | 2024-03-05 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、电子设备及存储介质 |
CN113440856A (zh) * | 2021-07-15 | 2021-09-28 | 网易(杭州)网络有限公司 | 游戏中异常账号的识别方法、装置、电子设备及存储介质 |
CN113440856B (zh) * | 2021-07-15 | 2024-02-02 | 网易(杭州)网络有限公司 | 游戏中异常账号的识别方法、装置、电子设备及存储介质 |
CN113987087A (zh) * | 2021-10-27 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 帐户处理方法、装置、电子设备及存储介质 |
CN115935027A (zh) * | 2023-01-19 | 2023-04-07 | 北京百度网讯科技有限公司 | 目标对象拓扑图的数据处理方法及图分类模型的训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111932386B (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111932386B (zh) | 用户账号确定方法及装置、信息推送方法及装置、电子设备 | |
US11106999B2 (en) | Automatic segmentation of a collection of user profiles | |
Peng et al. | Retweet modeling using conditional random fields | |
CN110659723B (zh) | 基于人工智能的数据处理方法、装置、介质及电子设备 | |
CN114048331A (zh) | 一种基于改进型kgat模型的知识图谱推荐方法及系统 | |
CN111930894B (zh) | 长文本匹配方法及装置、存储介质、电子设备 | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
CN114332984B (zh) | 训练数据处理方法、装置和存储介质 | |
CN111339443A (zh) | 用户标签确定方法、装置、计算机设备及存储介质 | |
CN112214775A (zh) | 对图数据的注入式攻击方法、装置、介质及电子设备 | |
CN114330966A (zh) | 一种风险预测方法、装置、设备以及可读存储介质 | |
CN114692007B (zh) | 表示信息的确定方法、装置、设备及存储介质 | |
CN109948242A (zh) | 基于特征哈希的网络表示学习方法 | |
CN110390014A (zh) | 一种主题挖掘方法、装置及存储介质 | |
CN112394982B (zh) | 生成语音识别系统的方法、装置、介质及电子设备 | |
CN113515519A (zh) | 图结构估计模型的训练方法、装置、设备及存储介质 | |
CN111325578A (zh) | 预测模型的样本确定方法及装置、介质和设备 | |
Chen et al. | Community detection in networks based on modified pagerank and stochastic block model | |
CN117033997A (zh) | 数据切分方法、装置、电子设备和介质 | |
CN115456093A (zh) | 一种基于注意力图神经网络的高性能图聚类方法 | |
Ma et al. | The construction of big data computational intelligence system for E-government in cloud computing environment and its development impact | |
CN115130536A (zh) | 特征提取模型的训练方法、数据处理方法、装置及设备 | |
CN115186096A (zh) | 针对特定类型分词的识别方法、装置、介质及电子设备 | |
CN112101390A (zh) | 属性信息确定方法、属性信息确定装置及电子设备 | |
CN111046300A (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 |