CN102317962A - 机器优化装置、方法和*** - Google Patents
机器优化装置、方法和*** Download PDFInfo
- Publication number
- CN102317962A CN102317962A CN200980156712XA CN200980156712A CN102317962A CN 102317962 A CN102317962 A CN 102317962A CN 200980156712X A CN200980156712X A CN 200980156712XA CN 200980156712 A CN200980156712 A CN 200980156712A CN 102317962 A CN102317962 A CN 102317962A
- Authority
- CN
- China
- Prior art keywords
- node
- data structure
- value
- message
- weight matrix
- 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 170
- 238000005457 optimization Methods 0.000 title description 8
- 238000009826 distribution Methods 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims description 307
- 238000010168 coupling process Methods 0.000 claims description 192
- 238000005859 coupling reaction Methods 0.000 claims description 192
- 230000008878 coupling Effects 0.000 claims description 190
- 230000006870 function Effects 0.000 claims description 50
- 230000014509 gene expression Effects 0.000 claims description 50
- 238000012360 testing method Methods 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 32
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 239000012141 concentrate Substances 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000006855 networking Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 1
- 238000002910 structure generation Methods 0.000 claims 1
- 238000012546 transfer Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 8
- 230000002708 enhancing effect Effects 0.000 abstract description 3
- 238000013468 resource allocation Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 16
- 244000188472 Ilex paraguariensis Species 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000002790 cross-validation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000013011 mating Effects 0.000 description 3
- 238000004549 pulsed laser deposition Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- AZFKQCNGMSSWDS-UHFFFAOYSA-N MCPA-thioethyl Chemical compound CCSC(=O)COC1=CC=C(Cl)C=C1C AZFKQCNGMSSWDS-UHFFFAOYSA-N 0.000 description 2
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 description 1
- 229910006119 NiIn Inorganic materials 0.000 description 1
- 241000422846 Sequoiadendron giganteum Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004836 empirical method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000006916 protein interaction Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了一种利用程度分布信息进行匹配的方法、***、计算机程序产品和计算机可读介质。该方法的一实施例可以包括对利用程度分布信息扩展的图形数据结构执行b匹配,以便识别选定输入节点的邻居。可以使用信任传播执行b匹配。信任传播方法适于使用压缩消息更新规则并适于用于分布式处理***。一实施例还可以包括,通过向第一匹配结果应用程度分布信息以产生第二匹配结果来增强匹配结果。公开了用于在线广告/搜索项匹配、产品推荐、约会服务和社交网络匹配、拍卖买家/卖家匹配和资源分配等的实施例。
Description
本申请要求享有2008年12月12日提交,题为“Clustering UsingB-Matching and Semidefinite Embedding Algorithms”的美国临时申请No.61/122356的权益,并要求享有2009年1月26日以国际方式提交,题为“Belief Propagation For Generalized Matching”的PCT/US09/32070的优先权且是其部分延续,在此通过引用将其每个都全文并入本文。
本发明是在国家科学基金授予的Career Award IIS-0347499的政府支持下做出的。政府对本发明享有一定权益。
背景技术
计算***和方法被用于方便很多事务和机器功能。范例包括网络优化、模式匹配、消费者推荐引擎、国家安全等。很多***采用了被称为网络模型的计算模型或定义节点间链接或边缘的图表。可以使用链接和节点代表问题空间的特征。采用图表的一些技术基于对可能连接每个节点的相应数量边缘以及与连接相关联的相应值的约束,求解出一组优化的边缘。对于新的应用、速度改善、可靠性和这种***和方法的其他优点一直存在需求。
发明内容
所公开主题的实施例总体上涉及受益于东西直接链路优化的***、方法、程序、计算机可读介质和装置,例如,所述东西是优化计算机事务处理,提供诸如模式识别的特定类型机器智能,做出并优化推荐以便于处理等东西。
在特定范例中,响应于货物或服务与人或其他实体的机器表达之间的最佳匹配,推荐使得特定的事务可用。这些种类的匹配问题常常提供机会来优化一些全局性货物,例如卖家的收入,推荐的产品或服务被消费者妥善接收的可能性,或广告消息在搜索结果页上的最佳选择和放置,网页内容页或相邻的因特网介质。可以利用各种方法处理这种优化的匹配,其中之一是通过估计或推断表示全局货物的最佳或期望水平的子图来求解匹配问题,无论对于特定应用而言货物可能是什么。
附图说明
图1是根据所公开主题的一些实施例,使用程度分布信息进行匹配的方法的图表。
图2是被表示为二部图的匹配问题的示意图,其示出了未匹配的要素。
图3A是根据所公开主题的一些实施例被表现为二部图的匹配问题的示意图,其示出了匹配要素、未匹配要素和权重矩阵。
图3B是根据所公开主题一些实施例,用于利用程度分布信息进行匹配的分布处理的布置图。
图4是根据所公开主题一些实施例的权重矩阵的示意图。
图5是根据所公开主题一些实施例的程度分布信息的示意图。
图6是根据所公开主题一些实施例用于产生展开的权重矩阵的方法图。
图7A是示出了根据所公开主题一些实施例产生的展开权重矩阵系数的图。
图7B是示出了根据所公开主题一些实施例产生的展开权重矩阵的示意图。
图8是示出了b-匹配以及转换成根据所公开主题一些实施例产生的二元值之后的扩展权重矩阵的示意图。
图9是根据所公开主题一些实施例通过截取图8所示的二元扩展权重矩阵而获得的匹配结果的示意图。
图10是根据所公开主题一些实施例图9所示匹配结果的节点程度的示意图。
图11是根据所公开主题一些实施例,使用程度分布信息将第一类东西匹配到第二类东西的***图。
图12A是根据所公开主题一些实施例基于信任传播将第一类东西匹配到第二类东西的方法图。
图12B示出了图12A的1208之内的操作的实施例。
图12C示出了二部图第二组V中节点操作。
图12D示出了图12A的1208之内的操作的实施例。
图12E示出了二部图第二组U中节点操作。
图13是根据所公开主题一些实施例使用包括并行处理器的程度分布进行匹配的***方框图。
图14是根据所公开主题一些实施例使用程度分布和信任传播进行匹配的节点处理***的图。
图15是根据所公开主题一些实施例,使用程度分布信息和信任传播匹配具有搜索项的广告者的***方框图。
图16是根据所公开主题一些实施例,使用程度分布信息和信任传播匹配具有搜索项的广告者的方法图。
图17是根据所公开主题一些实施例使用程度分布和信任传播匹配约会服务成员的***方框图。
图18是根据所公开主题一些实施例使用程度分布和信任传播匹配约会服务成员的方法图。
图19是根据所公开主题一些实施例使用程度分布和信任传播匹配拍卖中卖方和买方的***图。
图20是根据所公开主题一些实施例使用程度分布和信任传播匹配拍卖中卖方和买方的方法图。
图21是根据所公开主题一些实施例实现于硬件中的多个程度分布匹配/信任传播处理器的图。
图22是根据所公开主题一些实施例,使用程度分布/信任传播处理器进行硬件匹配的图。
图23是根据所公开主题一些实施例使用程度分布和信任传播的推荐后期处理方法的图。
图24是根据所公开主题一些实施例使用程度分布和信任传播的推荐后期处理***的方框图。
具体实施方式
导出优化的图形结构给出的关于节点和/或边缘的部分信息可以用作机器智能引擎的计算框架,例如用于将广告匹配到消费者,在搜索引擎结果页中分配有限的报价或建议,机器学习,在拍卖***中匹配买方和卖方,匹配社交网络的用户以及很多其他问题。这些***和方法中的很多涉及到从原始的图形数据结构优化子图。已经开发出用于从原始图找到子图的技术。不过,常规方法可以采用未能找到全局性最优解的假设或折衷方案。更精确的技术问题在于对于特定应用而言执行时间在商业上不可行或不合需要,这些应用可能需要较快的求解时间。
可以使用图表估计将相同类型的图表节点彼此匹配(例如,未***的图表)或将第一种或第一类节点与第二种或第二类(例如二部图)节点在其他类型的图表中彼此匹配。一种匹配是b匹配,其中b代表结果的期望程度值。程度代表节点之间的连接或邻居的数目。用于匹配的b值可以是恒定值,对于所有节点都是相同的。或者,每个节点可以具有独立的b值,其可以与其他节点的b值相同或不同。而且,除了是恒定值之外,可以将b值描述为在一定值范围上分布。包括b值分布(或节点间连接程度)的问题类型被称为程度分布问题。
程度分布问题的范例包括拍卖,其中每位买家和卖家可以选择独立数目(或容量)的对应买家/卖家,或可以具有他们能够处理的一定范围的容量,但可能导致不同的成本。而且,对于容量随时间变化的情况,例如在可能连接的期望数目随着动态变化的配额而变化时,可能出现程度分布问题。解决b匹配问题的常规方法对于解决程度分布问题可能不是有效的。
通常,可以将很多类型的现实问题表达为图表,利用计算机程序解决表示现实问题的特定类型图匹配问题的计算机找到问题的解。图表可能包括可以潜在经由边缘连接的节点。图表中的每个边缘可以具有权重值,权重值表示诸如成本、利润、兼容性等量。可以将问题的解表达为原始图的子图,如果子图最大化了权重值,可以将该解子图示认为是最优的。
例如,可以在存储二部图(G)表达的机器中表达在线约会服务用户之间提供匹配的问题,二部图由表示男性的第一组节点(v)和表示女性的第二组节点(μ)组成。图中的边缘(ε)可以表示两个成员(或节点)之间的潜在匹配。权重矩阵可以包括针对每个边缘的权重值(W),该权重值表示边缘连接的一对男性和女性用户节点之间的兼容性度量。可以将在线约会图问题的最优解表示为具有边缘的子图,边缘将每个成员连接到判定是最可能匹配的那些相对的成员,使得子图产生最大或接近最大的兼容性值。针对在线约会服务问题的边缘权重值可以是兼容性指标值,该兼容性指标值表示图上相应成员之间的相应边缘(或连接)的兼容性值。可以通过任何适当的过程或***,例如,合作性过滤、基于相似度的轮廓匹配或更复杂的规则等,计算兼容性指标值。
除了在线约会匹配问题之外,还可以有针对每个成员的程度分布(ψ),所述在线约会匹配问题具有原始图,原始图表示约会服务成员和包含针对用户间匹配的兼容性指标值的权重矩阵。程度分布表示节点的程度(或连接数目)偏好。例如,在约会服务范例中,程度分布可以表示用户为了接收而需要支付的匹配数目,在一定时间段内用户希望能够充分评价的匹配数目,等等。一般而言,针对节点的程度分布表示对该节点的程度偏好,可用于激励针对该节点的图形解具有期望数量的连接,同时在数值上阻止或惩罚不希望数量的连接。每个节点都能够具有其自己的程度分布。
B匹配是用于求解图匹配问题的一种方法。在b匹配中,解图包含针对每个节点的b匹配。尽管b匹配可能是针对特定问题的可接受技术,但在其常规形式中,通常对于包括程度分布的问题是无用的,因为b匹配技术具有固定程度属性。
可以将表示包括程度匹配的匹配问题的图转变成扩展图(Gb)和扩展权重矩阵,可以利用具有固定程度的b匹配对其求解,以获得考虑了初始问题程度分布的解。扩展图包括原始图节点以及额外的伪节点(d),扩展权重矩阵包括原始权重值以及额外权重值(ω),额外权重值是基于程度分布值确定的且对应于原始节点和伪节点之间的边缘(Eb)。通过生成扩展图和权重矩阵,将程度分布值并入权重矩阵中,使得扩展图的b匹配解将反映每个节点的程度分布值。
回到在线约会问题,每位约会服务成员都可以具有表示期望的匹配数目的关联程度分布。利用原始图和伪节点创建扩展图。利用原始权重矩阵和使用程度分布值确定的针对伪节点的权重值创建扩展权重矩阵。
然后,执行b匹配以求出扩展图和权重矩阵的最大权重子图。如下文更详细所述,可以使用循环式信任传播执行b匹配。扩展图的解图的一部分被提取并表示原始图的解,带有该解中考虑的程度分布。
以下段落描述了使用程度分布进行匹配的技术的各种具体实施例,可以将其用作各种装置、***和方法的依据。
图1是根据所公开主题的一些实施例,使用程度分布信息进行匹配的方法的图表。具体而言,在方法100中,处理开始于102,继续到104。
在104,获得输入图形数据结构和对应的权重数据。输入图形数据结构可以是单部分、双部分或其他类型的图形数据结构。权重数据表示图形数据中两个节点之间的边缘的权重(或利润、成本或其他度量)。
在106,获得程度分布信息。程度分布信息包括针对输入图形数据结构中每个节点的程度分布信息。程度分布信息可以包括节点程度的先验分布、从统计抽样属性推断的程度信息、从数据以实验方式学习到的程度分布,给出的程度概率等。可以用ψj项表示每个节点的程度分布。
在108,产生新的图形数据结构,其包括除输入图形数据结构的节点之外的伪节点。有额外数量的伪节点等于输入图中的每组节点。利用输入权重矩阵作为用于扩展权重矩阵中输入节点的权重值产生扩展权重矩阵,根据以下公式,使用程度分布信息确定输入节点和伪节点之间边缘的权重值:
w(vi,di,j)=ψi(j-1)-ψi(j)。处理继续到110。
在110,对扩展的图形数据结构和权重矩阵执行最大权重b匹配操作。根据输入图形数据的结构,可以使用最大流水作业法确定最大权重b匹配,或者,在图为二部图时,可以使用信任传播方法确定最大权重b匹配。在最大权重b匹配期间,将b设置为原始权重矩阵的大小(例如,如果原始权重矩阵为n×n矩阵,那么b=n)。B匹配操作解决了以下问题:
服从于对于vi∈V。
其中,v为节点,d为伪节点,W是边缘潜力或权重值,Ni=deg(vi,ε)是节点vi邻域的尺寸。
在附录中给出了程度分布匹配的数学依据和背景的额外论述。
在112,执行输出操作。例如,可以向同一***之内的另一模块,向另一***或向用户或操作员提供结果图或矩阵或结果图或矩阵的一部分,以用于另一过程中。处理继续到114,在此处理结束。要认识到,可以完整地或部分地重复104-112,以便利用程度分布完成构思的匹配。
图2和图3A是表达为二部图的匹配问题的示意图。图2示出了未匹配的要素,而图3示出了匹配要素、未匹配要素和权重矩阵。
图2示出了二部图200,该图具有匹配到第二组节点204(v1-v4)的第一组节点202(u1-u4),其可能由边缘206连接。
在图3A中,二部图300示出了匹配到第二组节点304(v1-v4)的第一组节点302(u1-u4)。第一组可以表示第一组实体或东西,例如货物、人或资源,第二组可以表示第二组实体或东西,例如消费者、人或资源用户。从本公开应该明白,能够构成这些第一和第二组的对象或实体的性质是很多的,但大部分实施例中的共同特征是第一组的实体要匹配到第二组的实体,作为某种事务的一部分,精确匹配可以对应于某种总合价值,例如最大总收益。特定的第一和第二组的语境提出的匹配问题以及找到的总合价值可能涉及约束,例如要匹配到给定的第二组东西的第一组东西的数目。可以通过任何分类区分组,分组不限于给出的范例。
在图3A中,虚线(例如306)表示可能的边缘,实线(例如308)表示b匹配的边缘。B匹配表示,例示的问题在第一组东西的每个与一个或多个第二组东西之间获得期望的b匹配。在二部图300所示的情况下,对于组302和304的每个节点,b=2,因此每个节点302或304都利用匹配的边缘308连接到两个其他节点304或302。
典型地,可以利用额外信息补充表达所有线306和308指定的潜在分配的信息,额外信息通常是权重,表示与进行每次分配相关联的值或成本相关的某种东西。这里,在316表示边缘的权重W值。这种权重信息可以充当选择分配的依据,该分配提供一些最优解或提供相对于另一分配方案鉴别一个分配方案优良性的依据。可以通过任何适当数据结构的形式表达额外信息,以存储针对每个边缘的权重,例如权重矩阵318,每一行对应于第一组的成员,每一列对应于第二组的成员,交叉点处每个单元320表示连接每对成员的边缘的相应权重。权重矩阵318表示针对买家和卖家的每种组合的不同权重。
可以通过二部图的形式描述将一组成员匹配到另一组的问题。给定二部图(可以由300表示)和关联的权重数据,可以使用一种方法基于信任传播进行匹配。在这里,将使用希望将供应商与客户匹配的情况范例例示该方法。可以为一个或多个计算机提供定义供应商和客户的信息,在此将其称为“节点”,可以认为这种信息定义了二部图300。每个供应商的节点(u302或v304)都通过边缘308连接到客户节点(v304或u302),从而为一个或多个计算机提供了从供应商节点映射到客户节点的所有节点302,304的潜在边缘308。一个或多个计算机还可以访问权重数据,例如,具有针对二部图数据结构每个边缘的权重值319的矩阵318。由一个或多个计算机执行的过程使得记录并更新与每个节点相应的信息,从而针对与其他节点通信的每个节点执行子过程。在本范例中,权重数据可以是货物总成本,最佳匹配会与买家和卖家之间的最大收入交易一致。
现在还参考图3B,根据本实施例和其他实施例,可以在***321中,在通过网络330通信的多个处理器322-328和332-338之间分布匹配问题,使得每个处理器都能够经由有线或无线链路发送和接收消息,以图解方式将链路描绘为连接线340。对于本范例,图3A中所示的每个节点可以对应于图3B中的相应节点处理器322-328和332-338。替代方案是,每个处理器对应于多个节点,但为了论述,将假设每个节点有独立处理器的情况。在这种情况下,可以向每个供应商节点处理器(322-328)提供权重矩阵318中权重数据的仅仅一部分,该部分足以表示将每个供应商连接到其所有潜在客户(例如,所有其他客户)的边缘的权重。类似地,可以向每位客户节点处理器(332-338)提供权重矩阵318的仅一部分,该部分表示将客户连接到其所有潜在供应商的边缘的权重。节点处理器能够访问关于公共(例如中央)或分布式数据存储器(例如每个节点或节点处理器社区相应的存储器)的相应权重信息。
图3B是根据所公开主题一些实施例利用信任传播进行一般化匹配的分布式处理器的布置图。具体而言,在本范例中,第一组节点处理器(322-328)分别对应于图3A中所示图中的节点u1-u4。第二组节点处理器(332-338)分别对应于图3A中所示图的节点v1-v4。每个节点处理器(502-508和512-518)独立耦合到网络330(例如,因特网,局域网,广域网,无线网,虚拟专用网络,定制网络,总线,背板等)。通过网络330互连,每个节点处理器(322-328和332-338)能够与其他节点处理器通信并根据上述信任传播方法发送/接收消息。而且,可以独立地查询每个节点处理器(322-328和332-338),以找到由上述信任传播方法产生的b匹配列表。不仅能够独立地查询每个节点,而且每个节点都能够实现其最佳b匹配解而无需了解其他节点的解(即,信任传播方法为每个节点“保护隐私”)。
可以在中央数据存储位置汇总每个节点的解,或者可以在每个节点个别地保持解,或者根据标准进行分组(例如,将所有供应商匹配分到列表中,将所有客户匹配分到另一个列表中)。
网络330可以是诸如因特网、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)、直接连接网络(或点到点)等网络。通常,网络能够包括一种或多种现在已知或将来开发的用于沟通信息的技术,它们将适于执行上述功能。网络部件和技术的选择可以取决于构思的实施例。
在图3B中,为了例示和描述实施例简明,示出了针对每个节点的一个处理器。要认识到,每个处理器可以为超过一个节点执行信任传播方法。
图3A或3B中未示出用于产生和求解扩展图和权重矩阵的伪节点。伪节点功能实质上与原始节点相同,但不会表现出实际的供应商或出价人,而且如下所述,在对扩展图和权重矩阵执行b匹配操作期间不受程度约束。
于是,每个供应商节点、客户节点和伪节点仅可以要求访问矢量,定义潜在连接的客户和供应商节点权重和程度分布信息的一部分。在用于对二部图问题求解的架构实施例中,可以在不同的计算机或处理器之间分摊扩展图和矩阵数据,使得每者仅接收其供应商或客户及其关联权重的列表。此外,如下文所述,全解仅仅所需的其他信息是来自其他节点的一系列消息,其中每条消息可以是简单的标量。
可以获得匹配,该匹配通过如下方式渐进地寻找以上问题的优化:使每个客户节点保持一个分数,例如,从每个供应商节点购买比从其他供应商购买好多少。而且,每个买家节点可以保持向每个客户节点销售比向其他客户销售好多少的分数。最开始,分数可以仅仅是权重表示的美元值。在如下所述的过程中,象征性地讲,在更新分数时,供应商节点告知客户节点,如果根据其当前分数选择它们,可能会损失多少钱,客户以类似方式告诉供应商。利用可以描述为在节点间传递消息的这个数据连续更新的所有分数,其中该消息包含要保持分数的信息。最后,如果根据下述主题更新分数,分数会向针对每位客户的供应商最优分类列表和针对每位供应商的客户分类列表发展。然后,可以使用每位供应商或客户节点的信息选择该供应商或客户的最好的一个或多个匹配。
在所述的方式中,每个节点利用处理器更新与每个供应商节点和客户节点对应的值。可以将该过程描述为“信任传播”,并需要在相邻节点之间传递消息。该方式的重要方面是知道何时停止传递消息以及从节点的数据确定最佳匹配。因为该方法向着最优解发展,所以随着每条消息得到处理,每个节点对匹配分类的依据越来越好。于是,可以编程控制一个或多个计算机以在一段时间之后或阈值数量的消息之后停止。可以在实现如下所述的另一结束条件时获得最优解。
一旦满足结束条件,可以选择一个或多个计算机、预定数量的供应商节点和预定数量的与每个选定供应商节点匹配的相应客户节点并提供给客户端过程,例如,可以在终端上显示匹配供用户观看。
注意,出于例示的目的,图200,300和321包括有限数量的节点和边缘。针对下述实施例的实际图形数据结构中节点和边缘的数目可以包括比图2、3A和3B中所示节点/边缘数目更大或更小数目的节点/边缘。而且,根据要通过实施方式解决的所构思的匹配问题,可以为特定实施方式中每个节点的b值分配除了2之外的值。
图4是根据所公开主题一些实施例的权重矩阵的示意图。具体而言,以图解方式示出的权重矩阵400具有带阴影的单元,阴影表示各种权重值。对角线是带阴影的黑色,表示连接到自身的节点没有权重值。其他带黑色阴影的节点单元(例如402和404)表示低权重值,以减小或消除结果包含针对那些相应节点(例如,节点1和5之间)的边缘的可能。而且,可以调节权重矩阵,通过在与两个节点(例如406和408)之间的边缘的权重矩阵位置处包含高权重值,以强制或激励结果包含两个节点之间的边缘。
图5是根据所公开主题一些实施例的程度分布信息的示意图。图5中的节点程度分布的图解表示以视觉方式示出了由程度分布数据提供的信息。例如,节点4偏好较低程度(例如1或2),而节点5偏好更高程度(例如5或6)。本公开的匹配***和方法能够执行匹配,同时通过将程度分布信息并入用于确定匹配结果的扩展权重矩阵中适应不同的程度分布优先性或偏好。
图6是根据所公开主题一些实施例用于产生展开的权重矩阵的方法图。具体而言,图6扩展了图1的108。处理开始于602,在此产生新的图形结构。新的图形结构是原始图形结构尺寸的两倍。如果原始图形结构具有n个每种类型的节点,新的图形结构具有2n个节点,并具有尺寸为2n×2n的对应邻接矩阵。
在604,确定与扩展的图形数据结构对应的扩展权重矩阵。扩展权重矩阵在一个象限中包括原始权重矩阵值,两个象限包含基于程度分布数据和零象限的权重矩阵值,如下文参考图7A更详细所述。
在606,针对扩展图形数据结构之内的原始节点设置程度约束。将针对原始节点的程度约束设置为原始权重矩阵的一边的尺寸。换言之,如果原始权重矩阵大小为n×n,那么约束原始节点,使得在对扩展图和扩展权重矩阵执行b匹配时,b=n。
图7A是示出了根据所公开主题一些实施例产生的展开权重矩阵系数的图。具体而言,为了解程度分布问题,扩展表示每个匹配的值(或相对值)的权重矩阵W,使其尺寸加倍,以产生扩展权重矩阵W’。原始权重矩阵W(例如,其反映了要由卖家i卖给买家k的货物的协商价格)形成了扩展权重矩阵W’的左上象限。扩展权重矩阵W’的右上象限包括Ψi(j)δ值,例如,从第一排开始:Ψ1(0)-Ψ1(1),…,Ψ1(n-1)-Ψ1(n),等等,直到最后一排Ψn(0)-Ψn(1),…,Ψn(n-1)-Ψn(n)。扩展权重矩阵W’的右上象限包括φi(j)δ值,例如,从第一排开始:φ1(0)-φ1(1),…,φ1(n-1)-φ1(n),等等,直到最后一排φn(0)-φn(1),…,φn(n-1)-φn(n)。可以将右下象限的值全部设置为零。
通过向卖方和买方节点增加伪节点以使卖方和买方的数目加倍来扩展二部图。于是,如果有n个买家和n个卖家,附加额外的n个买家和n个卖家。这些伪节点分别对应于扩展权重矩阵W’中的附加的δ值Ψi(j),φi(j)或0。在卖方数目与买方数目不同的情况下,将两者中较大的用作扩展权重矩阵的大小,利用小值(例如零或负最大值)扩展原始权重矩阵的较小边,向图形数据增加伪节点。这些完成了正方形的原始和扩展权重矩阵以及原始和扩展的二部图。扩展的节点是类似于用于扩展权重矩阵那些的伪节点。
一旦生成扩展权重矩阵W’并提供了伪节点,就可以向扩展图和权重数据施加如下所述的方法。在分布式处理中,可以简单地将节点处理器的数目加倍,例如,以使每个处理器工作并接收和发送与相应节点相关的消息。可以将对问题求解使用的b值设置为n,即,买家和卖家的数目(注意,一些买家和卖家可以是虚拟的,不是真实的买家或卖家)。一旦利用扩展权重矩阵W’作为b匹配问题(b=n)在扩展图上求解匹配问题,例如,利用公开的信任传播方法和***,通过提取表示扩展图上匹配的矩阵的左上象限(或通过截取矩阵以去除伪节点)获得了用于原始图和权重矩阵的b匹配解。
图7B是根据图7A所示系数矩阵产生的扩展权重矩阵700的图示。扩展权重矩阵700包括图4中所示的原始权重矩阵400作为左上象限702。利用上文参考图7A所述的系数确定与原始节点和伪节点之间的边缘对应的右上704和左下706象限。仅与伪节点之间的边缘对应的右下象限708是零值象限。
图8为示意图,示出了通过对扩展图形结构执行b匹配操作并输出匹配值作为二元值而产生的所得扩展权重矩阵800。在二元扩展结果矩阵中,白色单元表示匹配,黑色单元表示不匹配。在扩展结果矩阵800中,对右上象限802感兴趣,可作为具有程度分布的原始匹配问题的解,提取其(或者可以截断伪节点)以产生b匹配的最终输出结果。图9是根据所公开主题一些实施例通过截取图8所示的二元扩展权重矩阵而获得的匹配结果的示意图。
图10是图9所示匹配结果的节点程度的示意图。例如,节点1,2和4均具有程度2。节点3和5具有程度3,节点6具有程度4。将匹配结果程度与输入的程度分布数据比较表明,使用程度分布的匹配提供了与优选或在先节点程度一致的结果,节点3,5和6具有喜好更高程度的程度分布,节点1,2和4具有喜好更低程度的程度分布。
图11是根据所公开主题一些实施例,使用程度分布信息将第一类东西匹配到第二类东西的***图。具体而言,信任传播匹配***1100包括一组供应商1102和一组客户1104。供应商1102和客户1104的每个都被表示为图形数据结构1106中的节点。***1100还包括程度分布数据1107和利润(或成本)矩阵1108。提供图形数据结构1106和利润矩阵1108作为图形结构估计模块1109的输入。提供来自图形结构估计模块的输出作为b匹配模块1112的输入。还提供了输入数据1110作为b匹配模块1112的输入。B匹配模块1112耦合到数据存储器1114并提供匹配结果1116作为输出。
在运行中,供应商1102和客户1104被存储为图形数据结构1106的节点或顶点。程度分布数据1107表示每个节点的程度分布。利润矩阵1108存储针对连接供应商和客户的每个边缘的边缘利润(或权重)。图形数据结构1106、程度分布数据1107和利润矩阵1108均能够存储在数据存储器1114中,供图形结构估计模块1109和b-匹配模块1112检索。
图形结构估计模块1109从数据存储器1114获得图形数据结构1106、程度分布数据1107和利润矩阵1108并根据上文参考图1所述的方法产生扩展的图形数据结构和权重矩阵(或利润)矩阵。
B匹配模块1112接收输入1110,其例如可以是b匹配感兴趣的节点。在一个范例中,b匹配模块1112使用扩展图形数据结构利润矩阵,根据下文参考图12A-12E所述的方法使用信任传播执行b匹配。如上所述,在图形数据结构不是二部图时,也可以使用最大流水作业法执行b匹配。在数据存储器1114中存储消息和信任。一旦满足结束条件,b匹配模块1112输出匹配结果1116。结束条件可以包括下文参考图12A中的条件分支1212所述的任何结束条件。
B匹配模块1112能够根据从一个或多个计算机可读介质检索的软件指令工作。在b匹配模块1112执行的时候,软件指令令b匹配模块1112执行如下所述的信任传播一般化的匹配方法。
例如,在针对广告/关键字匹配应用而调整时,用于b匹配模块1112的软件实施能够根据以下伪代码执行信任传播:
以上伪代码表示下述信任传播方法的线性实施的范例。为了例示的目的做出了若干简化,包括:假设每个节点与对应类型的所有节点交换消息。在实际的实施中,节点可以仅与其相应的相邻节点交换消息。而且,伪代码范例一直继续到没有消息改变为止。如上所述,可以将其他结束条件用于信任传播方法。如上所述,始终针对所有节点将原始图节点的b值设置成原始图形结构的组之一的大小(例如n)。在b匹配过程期间伪节点相对于程度保持不受约束。
B匹配模块1112可以是利用信任传播对匹配进行一般化的通用计算机,利用信任传播使匹配一般化的一个或多个专用计算机,程控的微处理器或微控制器以及***集成电路元件,ASIC或其他集成电路,数字信号处理器,诸如分立元件电路的硬连线电子或逻辑电路,诸如PLD、PLA、FPGA、PAL等程控逻辑装置。
数据存储器1114可以是诸如关系型数据库的数据库或任何其他适当的数据布置。可以在物理计算机可读介质中存储数据,介质例如是易失性或非易失性电子存储器、磁性存储装置和/或光学存储装置或任何已知的或将来开发的计算机可读介质。
现在参考图12A到12E,在提供图1200的操作1204指出的图形数据结构和边缘权重数据(例如,所有节点处理器的权重矩阵或矢量)之后,如操作1206所指示对变量进行初始化。后一种操作可以包括对数据存储元件的值进行初始化,该元件存储由节点接收的最新消息的值。在1208,由每个节点处理器1230,1250执行迭代过程(参见图12C和12E中的节点处理器)以产生消息并处理接收到的消息,直到满足结束条件1212。参考图12B和12C,多个客户节点处理器1230包含各种可更新的数据存储器1241,1243,1245,其保存有权重矢量1241、接收的消息矢量1243和新的消息矢量1245。每个节点处理器1230也可以存储表示与节点处理器1232对应的节点可能潜在匹配到的潜在供应商节点的数据。根据所采用的数据结构,这种额外数据可以是在1241,1243和1245存储的数据中固有的,因为权重矩阵、接收的消息值和新消息值均与这些附带的节点处理器1232之一相应。而且,多个供应商节点处理器1250包含各种可更新的数据存储器1261,1263,1265,其保存权重矢量1261、接收的消息矢量1263和新消息矢量1265。每个节点处理器1250也可以存储与节点处理器1252对应的节点可能潜在地理想匹配到的潜在节点的数据,但这种数据可以是上文所述的其他数据固有的。
节点处理器1230从其连接到的节点处理器1232接收消息并向其发送消息,节点处理器1232的每个对应于相应分离集中的另一节点。在本范例中,每个节点处理器1230和1232对应于具有两个分离集U和V的二部图的节点。节点处理器1232均具有节点处理器1230的特征。每个节点处理器1230的功能可以是从数据存储器1241,1243,1245中的数据导出消息,并发射这样的消息和接收消息,并更新数据存储器1241,1243,1245中的数据。如图2A中的过程1200所示,在子过程1208中反复这样做。
图12B示出了图12A的1208之内的操作的实施例。图12C示出了双向图第二组V中节点操作。图12D示出了图12A的1208之内的操作的实施例。图12E示出了双向图第二组U中节点操作。操作相同,但操作对象索引不同,以便解释该节点所属的集合。
不过,如图12A中所示,可以由单一二部图中一个或多个节点相应的独立处理器,由与节点子集或单一处理器对应的处理器进行图12B的操作。于是,可以基于它们之间共享的消息以独立方式由独立处理器执行1208处图示为单个过程的迭代。
特别参考图12B,在1242,节点处理器1230执行与节点Ui对应的计算。在1242,使用从Vj节点处理器接收的消息,针对节点Ui可以匹配的每个节点Vj,计算中间值SMj。这些中间值简单地是SMj=RMk*exp(Wi,k),k=1到N,k≠j。(“exp”表示基于自然对数的指数,*表示乘法)。亦即,略过该项对消息RMk的贡献,其中k=j。在1244,对中间值SMj的列表进行分类,识别与具有第b最高值的供应商对应的项。供应商由索引j表示,因此将值L设置为该索引。在1248,根据NMj=exp(Wi,j)/[exp(Wi,L)*RML]计算新的消息NMj,以发送到每个供应商节点处理器1232。
特别参考图12D,在1262,节点处理器1250执行与节点Vi对应的计算。在1262,使用从Uj节点处理器接收的消息,针对节点Vi可以匹配的每个节点Uj,计算中间值SMj。这些中间值简单地是SMj=RMk*exp(Wk,j),k=1到N,k≠j。(“exp”表示基于自然对数的指数,*表示乘法)。亦即,略过该项对消息RMk的贡献,其中k=j。在1264,对中间值SMj的列表进行分类,识别与具有第b最高值的客户对应的项。客户由索引j表示,因此将值L设置为该索引。在1268,根据NMj=exp(Wj,i)/[exp(Wi,L)*RML]计算新消息NM以发送到每个客户节点处理器1252。
返回到图12A,在所有的节点处理器1232和1252之间传递新消息,直到满足结束条件1212为止。如1212所示,基于是否到达结束条件,操作继续进行。结束条件可以是监视计时器到时,由每个处理器接收到若干消息。另一种替代的且提供最优解的方案是在消息停止变化时,每个节点处理器终止。亦即,将最近的消息与先前的消息比较,如果它们相同,处理器停止为发送节点处理,或在所有消息与对应的在先消息相同时,可以暂停所有节点的处理。操作1212也可以包括更新数据存储器1243或1263。
如上所述,可以将结束条件定义为相对于消息更新到达稳定状态,亦即,消息停止变化。或者,可以将稳定状态定义为,如果发送处理器判定更新不变,或在发送或接收的更新消息数目低于特定阈值时,未发送更多消息更新。或者,可以依据消息更新的迭代次数或发送的消息数来定义结束条件(总数或每个节点的数目)。在另一替代方案中,可以将结束条件定义为过去预定一段时间。如果已到达结束条件,如1214所示,处理继续进行,为输入节点选择预定数量的供应商节点或预定数量的客户节点。否则,处理返回到1208处所示并如上文所述的操作。
在1210,每个节点能够计算表示最佳匹配的矢量。可以通过列举exp(Wi;k)除以k的值并选择b个最大值,由U个节点进行这种操作。可以通过列举exp(Wk;j)除以k的值并选择b个最大值,由V个节点进行这种操作。注意,RM值与V个节点中进行过计算的U个对应。
附录给出了操作1208和1210的解释以及一些其他细节和分析。
注意,图形数据结构可以是适于利用信任传播进行一般化匹配的任何类型的数据结构,例如二部图数据结构。图形数据结构可以包含相同组(单部分情况)或不同组(双部分情况)的一个或多个节点。例如,图形数据结构可以包括供应商节点和客户节点,其中每个供应商节点都连接到一个或多个客户节点,反之亦然。在相应实施例中,图形节点数据结构要素对应于诸如供应商、客户、货物和/或服务的物理实体。此外,在实施例中,节点对应于下文参考其他实施例所述的其他实体。
诸如由上述权重矩阵表示的权重数据可以代表图形数据结构两个节点之间每个边缘的利润值。权重矩阵也可以是成本矩阵,利用适于该计算方法的项的适当值表示与相应匹配关联的成本。对于利润矩阵而言,匹配过程典型地包括使利润增加和/或最大化的函数。对于成本矩阵而言,匹配过程典型地包括使成本减小和/或最小化的函数。利润矩阵中的值可以是负的、零、正的或这些值的组合。
可以由具有与每个节点对应的记录的数据结构表示示范性权重矩阵。针对每个节点的记录可以包括相邻节点和针对相邻节点的每个的利润值的列表。术语“相邻”是指给定节点可以在相同(单部分情况)或分离集(双部分情况)中连接到的节点。利润矩阵中的数据项能够表示物理实体或值,例如实际供应商能力、实际客户需求、出价或要价的金额、利润的金额、距离、货币成本和/或其他。可以选择利润矩阵的一部分并提供到相应的节点处理器。选定的部分可以仅代表与每个相应节点处理器对应的利润矩阵记录。通过向每个节点处理器仅提供利润矩阵的一部分,可以减小数据存储和传输要求。
在操作1208,在相邻节点之间传递电子消息,相邻节点可以由总线或任何其他数据通信***联网或沟通。节点处理器可以是计算机、具有多个处理器的装置上的单个处理器或能够进行所述计算以及发送和接收所述数据的任何适当机器。如上所述,根据压缩消息更新规则确定每条消息的值(或数据内容)。接收的消息可以由电子存储器中的处理器存储,电子存储器例如是RAM、非易失性存储器、数据库或任何适当的数据储存器。可以使用相应的节点处理器执行操作1210。下游处理1214可以包括与特定应用对应的过程。例如,如果二部图可以描述网页上出现的搜索查询或其他关键字项被分配给出价人的应用,如2005年11月21日由Vazirani等人提交的美国专利申请11/285126(公开为US 2007/0118432),在此通过引用将其全文并入。在那种情况下,节点的第一集合是出价人,节点的第二集合是卖家,下游操作会包括将与出价人对应的广告放到一个或多个网页上的对应位置,例如,搜索结果旁边或其他网页上。
在1214选择的节点是基于更新的信任值进行匹配的。例如,在b匹配问题中,选择相对于输入节点具有最高信任值的b个节点。可以通过很多方式处理平局,包括使用“掷硬币”在平局节点之间选择,替代地或此外地,可以向针对每个边缘的权重或利润矩阵值增加小的任意值,使得没有两个节点可能会平局。可以提供选定的节点作为到另一过程或***的输出。然后该处理终止于1216。
要认识到,可以全部或部分地重复1202-1216流程,以便完成构思的信任传播b匹配功能。例如,可以针对整个图形数据结构更新信任值,然后可以在更新图的信任值之前为多个感兴趣的节点提供匹配结果。或者,因为匹配可能导致因为被选择为匹配节点而使图中一个或多个节点改变(例如,供应商的现货量可能减少,或可能已满足客户对货物的需求),在每次为节点执行匹配时可能需要再次计算信任值。
图13是根据所公开主题一些实施例使用包括并行处理器的程度分布进行匹配的***方框图。具体而言,信任传播匹配***1300包括一组供应商1302和一组客户1304。供应商1302和客户404的每个都被表示为布置并存储于图形数据结构1306中的节点。***1300还包括利润(或成本)矩阵1308和程度分布数据1309。提供图形数据结构1306、利润矩阵1308和程度分布数据1309作为图形扩充模块1311的输入。提供图形扩充模块产生的扩充图和利润矩阵作为b匹配模块1312的输入。也作为信任传播匹配***1312的输入提供的是输入数据1310。信任传播匹配***1312耦合到数据存储器1314并提供匹配结果1316作为输出。
在运行中,供应商1302和客户1304被存储为图形数据结构1306的节点或顶点。利润矩阵1308存储针对连接供应商和客户的每个边缘的边缘利润(或权重)。程度分布数据1309表示优选或优先的节点程度分布。图形数据结构1306、利润矩阵1308和程度分布数据1309均可以存储在数据存储器1314中。
图形扩充模块1311产生扩展的图形数据结构,包括原始图形数据结构和额外的伪节点。图形扩充模块1311还根据上述方法产生扩展的利润矩阵,包括原来的利润矩阵作为一个象限,两个象限依据程度分布数据1309,以及零象限。
信任传播匹配***1312接收由图形扩充模块1311产生的扩展图和利润矩阵,还接收输入数据1310,例如,可以是b匹配感兴趣的节点。信任传播匹配处理器1312使用扩展的图形数据结构和扩展的利润矩阵,如上所述针对b匹配执行分布形式的信任传播。利用分布式(或并行)处理更新消息和信任并存储在数据存储器1314中。一旦满足结束条件,信任传播匹配***1312做出可用的匹配结果1316作为输出。结束条件可以包括上文参考图12A中的条件分支1212所述的任何结束条件。
信任传播匹配***1312可以是分布式或并行处理***。例如,可以将信任传播匹配***1312实现为云计算***。云计算是一种计算***,其中,通过诸如因特网的网络向用户提供计算资源作为服务,用户不需要直接控制(“云中的”)支持其计算需求的技术基础设施。云计算还实现了提供可缩放的虚拟专用服务器。市场上可买到的云计算服务范例包括Google.com提供的Google App Engine以及Amazon.com的Elastic Compute Cloud(EC2)。数据存储器1314可以是基于因特网的可缩放存储基础设施,例如Amazon.com的Simple Storage Service(S3)或适用于信任传播匹配***1312的任何其他数据存储***。
也可以根据任何其他适当的分布式或并行处理体系结构实施信任传播匹配***1312,包括含超过一个处理元件或存储元件、并行进程、多个程序等的硬件和软件***。
在这里,可以将上述和下述***和方法应用于匹配由诸如社交网络的单部分图形数据结构表示的***中的节点。可以使用该***和方法提供匹配结果,例如社交网络推举,将网站连接到其他网站,在诸如因特网的网络上路由消息以及芯片布局。在单部分匹配问题中,所有节点都是同样类型或种类(例如,社交网络成员),而不是分离集,可以基于针对单部分图形数据结构的每个边缘具有权重或值的值矩阵将它们与其他节点匹配。例如,对于图3A的情况而言,单部分版本将具有与“v”个节点(304)相同的“u”个节点(302)。
图14是根据所公开主题一些实施例使用程度分布和信任传播进行匹配的节点处理***的图。具体而言,节点处理***1400包括信任传播节点处理器1402,其适于访问一个或多个计算机可读介质1404上的信任传播软件。信任传播节点处理器1402经由链路1406耦合到网络1408。信任传播节点处理器1402还耦合到电子数据存储器,其中存储了扩展的利润矩阵子集1410、接收的消息1412和信任值1414。
在运行中,信任传播节点处理器1402利用来自计算机可读介质的程度分布和信任传播软件1404加载匹配并执行该软件。一旦执行,软件指示信任传播节点处理器1402根据上述方法使用程度分布和信任传播执行匹配。信任传播节点处理器1402访问扩展的利润矩阵子集1410并针对每个连接的(或邻居或相邻)节点计算更新的消息值,并向每个连接的节点发送相应的更新消息。信任传播节点处理器1402还从连接的节点接收更新的消息。将接收的消息存储在数据存储器的接收消息区域1412中。在与利润矩阵子集1410的连接中使用接收的消息1412更新针对每个连接节点的信任值1414。利润矩阵子集1410是利润矩阵中包括关于连接到信任传播节点处理器1402表示的节点的节点的数据的部分。
一旦满足结束条件,信任传播节点处理器1402能够对信任值1414进行分类,可以选择b个具有最大信任值的连接节点作为针对对应于信任传播节点处理器1402的节点的b匹配解。要认识到,最大信任值的选择适用于如下范例:使用利润矩阵,并希望使利润提高和/或最大化,而且可以在具体实施例中使用其他分类和选择技术,例如,在采用成本矩阵的实施例中,可以通过从适当大的常数矩阵减去成本矩阵将成本矩阵转变为利润矩阵。
在执行一个或多个计算机可读介质1404上的信任传播软件时,能够令信任传播节点处理器1402根据以下伪代码工作:Begin Pseudo Code
以上伪代码范例做出了若干假设,以便出于例示的目的简化伪代码。例如,b值为恒定值。而且,假设代码要用在为图的单个节点计算信任传播的处理器上,从而可以简化索引标示以进行例示。
在给出针对每种可能分配的权重或值的矩阵时,一般化的匹配或拍卖问题找到了货物到消费者或广告到消费者的最佳分配。一般化的双部分匹配可以100%地由线性程序编制求解,不过这种方法对于实际应用而言太慢了。
公开的主题方法可以采用给出高度改善解的信任传播,其可以是100%最佳的,但工作效率很高,能够针对涉及数百万用户和广告者的问题放大。其他应用包括网络重构、图像匹配、资源分配、在线约会服务、传感器网络等。
在线内容供应商能够使用公开的技术,在用户输入搜索词之后更好地匹配广告。典型地,在线内容供应商显示针对特定搜索词出价最高的首位广告者。典型地,这是通过对一般化匹配问题求解完成的。例如,假设有500位用户和100位广告者。假设每位广告者希望显示15个广告,每位用户能够看到3个广告。由于每位广告者为了显示其广告出价的钱数不同,在线内容供应商必须要找到让他们赚最多钱的广告与用户的匹配。不过,在应对数百万用户和广告者时,使用其他技术对这个问题精确求解可能太慢,不能分布到多个机器上进行高效计算。因此,很多在线内容供应商诉诸于近似解,开发近似解方法是为了给出亚最佳的答案(不是利润最大的),但可以有效率地在线求解。公开的技术能够利用分布式算法(信任传播)对大规模的一般化匹配求解,给出精确答案。这样可以增加利润,可能增加高达50%。对于很多在线内容供应商应对的用户/广告报规模,这种方法仍然足够有效率。
图15是根据所公开主题一些实施例,使用程度分布信息和信任传播匹配具有搜索项的广告者的***方框图。具体而言,***1500包括耦合到程度分布匹配***1503的搜索引擎/内容供应商1502以及用于广告/关键字(搜索词)匹配的信任传播***1504。搜索引擎/内容供应商1502还耦合到电子数据存储器,其中存储了表示多个广告者(1506-1508)(每个都具有相应一组搜索词(或关键字))的数据,与每个关键字关联的广告以及投放每个广告(1510-1512)的出价。搜索引擎/内容供应商1502从一个或多个用户接收搜索词、关键字和/或统一资源定位符(URL)1514。响应于接收到的输入1514,搜索引擎/内容供应商1502利用程度分布匹配***1503和用于广告/关键字(或搜索词)匹配的信任传播***1504执行搜索词/广告者匹配,以将若干广告(在本范例中为三个)匹配到搜索词输入,如下文参考图16所述。然后在搜索引擎结果页(或合作网站的内容页)1516上显示b匹配广告(例如3个),作为显示的广告1518。
在本范例中,图形数据结构的节点包括广告者/广告和关键字(或搜索词)。利润矩阵包括每位广告者为每个广告的出价。出价可以用作原始值或可以操作其以达到针对该出价的利润。B值代表要在结果或内容页上显示的广告最大数量(例如3个)。不过,每个广告者/广告节点也可能受到对其信任值的其他约束,例如,在一定时间期间要显示的广告配额或在一定时间期间要花费的金额配额。即使对一广告者/广告的出价足够高,正常情况下会被选中,这些约束也可能影响到是否选择该广告者/广告作为关键字的匹配。
广告者可以设法操控广告出价***或与其“博弈”。可以修改上述信任传播方法和***以提供对出价或广告***操作的增强防护。例如,一种出价操作方案包括,通过给出恰好低于出价胜出方的出价试图耗尽竞争者的广告预算,这导致中标人实际支付的价格人为地很高,从而比正常情况更快地耗尽竞争者的预算。在耗尽竞争者的预算之后,他们的出价不再是最高的,可以由操纵者以更低成本发布广告。用于抵抗这种操纵的一种技术是利用能够选择除首位或b个最高匹配之外的赢家的模块增强b匹配算法。通过选择正常匹配广告之外的广告来发布,可能选择操纵者的广告,从而也耗尽了操纵者的预算。这样阻止了广告者给出虚假高出价以试图耗尽竞争者的预算。要认识到,可以将现在已知的或将来开发的其他广告拍卖操纵预防措施用于所公开的主题。
除了用于广告关键字匹配的信任传播匹配***(1504)之外,用于将广告与搜索词或关键字匹配的***1500可以包括第二***(未示出)。第二***可以是出价网络服务器,典型地也包括一个或多个计算机存储介质、一个或多个处理***和一个或多个数据库。可以使用运行于客户端计算机上的常规网络浏览器访问通过出价网络服务器可用的信息,并允许广告者针对将通过搜索引擎或内容供应商查询的期望关键字给出出价。可以通过防火墙(未示出)访问出价网络服务器,防火墙保护帐号信息及其他信息不被外部窃取。可以提供额外的安全措施,例如安全HTTP或安全套接字层以增强标准通信协议的安全性。
在涉及根据出价分配网络广告的以上实施例的一些中,可以使用各种因素来修改用于表示匹配问题的权重矩阵的权重值。这些可以包括:兑换率;目标成功率;点击通过率;给定期间内用户选择给定广告多少次;从广告结果选择直到用户发出另一搜索查询的时间,可以包括继给定广告点击之后花在(经由搜索结果点击或广告点击到达的)其他页面上的时间;与从选择广告结果到用户发出另一搜索查询的所有其他时间相比,从选择给定广告结果到用户发出另一搜索查询的时间比例;给定一种广告结果选择,观看搜索查询的其他结果而不是给定广告结果花费的时间;在选择给定搜索结果或广告之前的给定时间内发生了多少次搜索(即,发出的唯一搜索查询);在选择给定搜索结果或广告之后的给定时间内发生了多少次搜索;在给定选择之前,给定搜索查询之前发生了多少次结果页面观察,而不是搜索,可以在查询之内(即仅针对唯一的一次查询)或对整个期间计算这个次数;以及在这一选择之后的给定搜索查询发生了多少次搜索结果页查看,而非搜索,可以在查询之内(即仅针对唯一的一次查询)或针对整个期间计算这个次数。
图16是根据所公开主题一些实施例,使用程度分布信息和信任传播匹配具有搜索项的广告者的方法图。处理开始于1602,提供1604扩展的图形数据结构。扩展的图形数据结构节点或顶点表示要匹配的广告者和关键字以及如上所述的额外伪节点。例如,图形数据结构可以包括广告者节点,表示在用户输入一组广告者感兴趣的关键字之一时要显示的来自特定广告者的广告。图形数据结构可以包括与用户输入的那些对应且需要有一组要匹配的广告的关键字或搜索词,以便提高和/或最大化例如从按次付费广告产生的收入。
其次,如1606所示,提供扩展的利润矩阵。扩展的利润矩阵表示针对连接到对应搜索词节点的每个广告者/广告节点的利润值,加上如上所述基于程度分布数据针对伪节点计算的额外利润值。
其次,如1608处所示,在相邻或邻居节点之间传递电子消息。适于执行信任传播的信任传播处理器或分布式处理***发送来自节点的每条消息,基于利润矩阵值和接收到的该节点的消息。根据如上所述的压缩消息更新规则确定每条消息的值(或数据内容)。处理器将接收的消息存储在电子存储器中,例如RAM或数据库中。可以反复进行消息传递,直到满足结束条件。在1610指出基于结束条件的条件分支。
其次,如在1612指出的,可以基于接收的消息更新每个相邻节点的信任值并加以存储。例如,可以由适于执行信任传播的处理器执行更新。针对每个节点的信任值基于接收的消息和利润矩阵部分。如果信任值更新会导致已发送消息的改变,那么再次以更新值发送那些消息。不过,如果没有信任值变化或不需要更新消息,那么节点不发出消息。节点的信任值对于相邻节点仍然稳定可能表示已经获得最优解,信任传播已收敛于匹配问题的解。
在1610指出基于结束条件进行条件分支。可以将结束条件定义为相对于消息更新到达稳定状态。可以将稳定状态定义为不发送更多消息更新或发送的更新消息量低于特定阈值。或者,可以依据消息更新的迭代次数或发送的消息数来定义结束条件(总数或每个节点的数目)。在另一替代方案中,可以将结束条件定义为过去预定一段时间。如果已到达结束条件,控制前进到1612,否则处理返回到1608。
如1612处所示,选择匹配输入搜索词的b匹配广告者/广告节点。基于分类的信任值匹配选定的广告者/广告节点。例如,在b匹配问题中,选择相对于输入节点具有最高信任值(即利润值)的b个节点。在1614,可以提供选定的节点作为到另一过程或***的输出。例如,可以在搜索引擎结果页或与搜索词关联的内容页上显示与选定节点对应的广告。然后处理在1616结束。
要认识到,可以全部或部分地重复序列1602-1616,以便利用程度分布和信任传播完成构思的匹配。例如,可以针对整个图形数据结构更新信任值,然后可以在更新图的信任值之前为多个感兴趣的节点提供匹配结果。或者,因为匹配可能导致因为被选择为匹配节点而使图中一个或多个节点改变(例如,可能到达了广告者的广告配额或花费的资金配额),在每次为节点执行匹配时可能需要再次计算信任值。
图17是根据所公开主题一些实施例使用程度分布和信任传播匹配服务成员的***方框图。具体而言,***1700包括耦合到程度分布匹配***1703的约会服务供应商1702以及用于约会服务成员匹配的信任传播***1704。约会服务供应商1702还耦合到电子数据存储器,其中存储了表示多个约会服务成员(1706-1708)的数据,每个成员具有相应的兴趣组(1710-1712)。约会服务供应商1702从一个或多个相应用户(1706-1708)接收兴趣(1710-1712)。可以使用兴趣(1710-1712)产生用户的“利润”矩阵,例如,方式是为给定的用户对产生表示共同兴趣的值,然后可以使用如上所述的程度分布数据加以扩展。响应于接收到的兴趣(1710-1712),约会服务供应商1702利用用于约会服务成员匹配的信任传播***1704执行成员匹配,以将每个成员与b个其他成员匹配(例如,花费一定费用,约会服务可以向每位用户提供b种介绍或匹配),如下文参考图18所述。然后可以将b个匹配成员传达给它们匹配的成员作为介绍(例如,每个用户可以接收列示了已经匹配的成员的电子邮件)。例如,可以针对成员1提供结果集合1714(例如,在电子邮件中或显示于约会服务处用户的页面上)。在结果之内列出了被选定匹配成员1的b匹配成员1715。类似地,可以针对成员n提供结果集合1716(例如,在电子邮件中或显示于约会服务处用户的页面上)。在结果集合1716之内列出了已经选择匹配成员n的b匹配成员1718。
在本范例中,图形数据结构的节点包括约会服务的成员。“利润”矩阵(或相容矩阵)能够包括一对成员之间的预言兼容性。B值代表要提供给每个相应成员的匹配或最可能兼容的成员的数目(例如,根据与成员间的服务协议)。不过,每个成员节点也可以受到对其信任值的其他约束,例如要寻找的其他成员的类型、地理偏好、其他偏好,在给定时间期间要提供的匹配配额,等等。即使针对一成员的“利润”或兼容性足够高,正常情况下会被选中,这些约束也可能影响到是否选择该成员作为另一成员的匹配。
图18是根据所公开主题一些实施例使用程度分布和信任传播匹配约会服务成员的方法图。处理开始于1802,提供扩展的图形数据结构1804。图形数据结构节点(或顶点)代表要匹配的约会服务成员和根据上述扩展方法的额外伪节点。
其次,提供兼容性(或“利润”)矩阵,1806。兼容性矩阵表示约会服务成员每个潜在配对的兼容性(或“利润”)值。如上所述,可以基于共同的兴趣确定兼容性值,或者可以根据约会服务供应商常规使用的其他适当方法确定兼容性值。
其次,如1808处所示,在相邻或邻居节点之间传递电子消息。适于执行信任传播的信任传播处理器或分布式处理***发送来自节点的每条消息,基于利润矩阵值和接收到的该节点的消息。根据如上所述的压缩消息更新规则确定每条消息的值(或数据内容)。处理器将接收的消息存储在电子存储器中,例如RAM或数据库中。如条件分支所指示的,可以反复进行消息传递,直到满足结束条件1810。
其次,如在1808指出的,可以基于接收的消息更新每个相邻节点的信任值并加以存储。例如,可以由适于执行信任传播的处理器执行更新。针对每个节点的信任值基于接收的消息和兼容性矩阵或其相关部分。如果信任值更新会导致已发送消息的改变,那么再次以更新值发送那些消息。不过,如果没有信任值变化或不需要更新消息,那么节点不发出消息。节点的信任值对于相邻节点仍然稳定可能表示已经获得最优解,信任传播已收敛于匹配问题的解。
1810处的结束条件控制分支可以被表征为相对于消息更新实现稳定状态。可以将稳定状态定义为不发送更多消息更新的状态。或者,可以将该状态定义为发送的消息更新降到特定阈值以下的状态。或者,可以依据消息更新的迭代次数或发送的消息数来定义结束条件(总数或每个节点的数目)。或者,可以将结束条件定义为过去预定时间间隔。
如果已到达结束条件,如1814所示,选择与输入成员匹配的b匹配成员节点。基于分类的信任值对成员进行匹配。例如,在b匹配问题中,选择相对于输入成员具有最高信任值(即兼容性值)的b个节点并可以将它们用作输出以提供具有相似兼容性的成员间的介绍。在1814,可以如上所述向兼容成员提供选定的成员。该过程在1816停止。
要认识到,可以全部或部分地重复1802-1816的流程,以便利用信任传播完成构思的约会服务成员匹配。例如,可以针对整个图形数据结构更新信任值,然后可以在更新图的信任值之前为多个感兴趣的节点提供匹配结果。或者,因为匹配可能导致因为被选择为匹配节点而使图中一个或多个节点改变(例如,已经达到成员的介绍配额),在每次为节点执行匹配时可能需要再次计算信任值。
图19是根据所公开主题一些实施例使用程度分布和信任传播匹配卖方和买方的***图。具体而言,***1900包括耦合到用于拍卖买家/卖家成员匹配的信任传播***1904的拍卖服务提供商1902。拍卖服务提供商1902也耦合到电子数据存储器,其中存储了表示多个卖家(1906-1908)和多个买家(1914-1916)的数据,每个卖家都具有要提供的相应组的货物/服务(1910-1912),每个买家都具有要寻找的相应组的货物/服务(1918-1920)。拍卖服务提供商1902接收提供的货物/服务(1910-1912)和寻找的货物/服务(1918-1920),可以通过,例如针对向寻求那些货物/服务的对应买家销售其货物/服务的每个卖家产生利润值,使用它们产生利润矩阵,以匹配买家和卖家。
响应于接收到的提供的货物/服务(1910-1912)和寻找的货物/服务(1918-1920),拍卖服务提供商1902利用程度分布匹配***1903执行图和利润矩阵的扩展。然后,利用扩展的图形数据结构和扩展的利润矩阵,拍卖服务提供商使用拍卖买家/卖家匹配的信任传播***1904执行买家/卖家匹配,以将每个买家与b个卖家匹配(例如,使得满足买家的要求),如下文参照图20所述。然后可以将b个匹配卖家通告他们匹配的买家,以便完成事务。例如,可以提供具有买家和卖家之间的b匹配的结果集合1922作为输出。或者,可以直接向该买家或卖家传达很对特定买家或卖家的匹配。
在本范例中,图形数据结构的节点表示提供的货物/服务(1910-1912)和寻找的货物/服务(1918-1920)。利润矩阵可以具有基于从特定卖家购买的特定买家的值。例如,对于买家而言,b值可以表示满足买家要求需要的匹配卖家的数目。对于卖家而言,b值可以表示购买所提供的卖家货物/服务所需的买家数目。不过,每个节点也可能受到对其信任值的其他约束。即使针对一匹配的利润足够高,正常情况下会被选中,这些约束也可能影响到是否选择该买家/卖家作为另一买家/卖家的匹配。
图20是根据所公开主题一些实施例使用程度分布和信任传播匹配拍卖中卖方和买方的方法图。在开始2002之后,如2004所示,提供扩展的图形数据结构。扩展的图形数据结构节点或顶点表示要匹配的拍卖买家和卖家和他们相应的货物/服务。其次,在2006,提供扩展的利润矩阵。扩展的利润矩阵表示针对连接到对应买家节点的每个卖家的利润值。扩展的图形数据结构和扩展的利润矩阵是根据上述方法产生的。
如2008处所示,在相邻或邻居节点之间传递电子消息。适于执行信任传播的信任传播处理器或分布式处理***发送来自节点的每条消息是基于利润矩阵值和接收到的该节点的消息的。根据如上所述的压缩消息更新规则确定每条消息的值(或数据内容)。处理器将接收的消息存储在电子存储器中,例如RAM或数据库中。可以反复进行消息传递,直到满足结束条件。在2012,这是受到分支点的控制的。
其次,如在2008指出的,可以基于接收的消息更新每个相邻节点的信任值并加以存储。例如,可以由适于执行信任传播的处理器执行更新。针对每个节点的信任值基于接收的消息和利润矩阵部分。如果信任值更新会导致已发送消息的改变,那么再次以更新值发送那些消息。不过,如果没有信任值变化或不需要更新消息,那么节点不发出消息。节点的信任值对于相邻节点仍然稳定可能表示已经获得最优解,信任传播已收敛于匹配问题的解。
其次,在分支点2010判断是否满足结束条件。可以将结束条件定义为相对于消息更新到达稳定状态。可以将稳定状态定义为不发送更多消息更新或发送的更新消息量低于特定阈值。或者,可以依据消息更新的迭代次数或发送的消息数来定义结束条件(总数或每个节点的数目)。在另一替代方案中,可以将结束条件定义为过去预定一段时间。如果已到达结束条件,如在2012所示,选择匹配输入买家/卖家节点的b匹配买家或卖家节点,否则控制返回到2008。
在2012基于分类的信任值匹配选定的节点。例如,在b匹配问题中,选择相对于输入节点具有最高信任值(即利润值)的b个节点。在2014,可以提供选定的节点作为到另一过程或***的输出。例如,可以为买家显示对应于所选买家节点的卖家(或反之)。然后,在2016,该处理终止。
要认识到,可以全部或部分地重复2002-2016的流程,以便利用信任传播完成构思的买家-卖家匹配。例如,可以针对整个图形数据结构更新信任值,然后可以在更新图的信任值之前为多个感兴趣的节点提供匹配结果。或者,因为匹配可能导致因为被选择为匹配节点而使图中一个或多个节点改变(例如,买家或卖家到达其相应的货物/服务配额),在每次为节点执行匹配时可能需要再次计算信任值。
图21是根据所公开主题一些实施例实现于硬件中的多个程度分布匹配/信任传播处理器的图。具体而言,***2100包括多个信任传播处理器(2102-2108和2112-2118)。每个处理器都耦合到总线2110。信任传播处理器被构造成作为信任传播***中的节点工作,利用如上所述的程度分布进行匹配。***2150可以包括独立的处理器或能够表示其上构造有多个信任传播处理器的单一半导体装置。
在运行时,每个硬件信任传播处理器针对单个节点执行上述信任传播方法。图22中示出了硬件细节,这是根据所公开主题一些实施例使用程度分布/信任传播处理器进行匹配的硬件图。
具体而言,硬件信任传播处理器2202包括乘法器部分2204、加法器部分2206、分类器部分2208,最大化单元2210、存储器2212,每个都耦合到内部总线2214。处理器2202耦合到外部总线2216,以便与其他处理器通信并交换消息2218。消息2218包括“通往”字段,“来自”字段和值字段。“通往”字段指定期望的消息接收节点,“来自”字段指定发送节点,值字段包含根据上述消息更新规则计算的消息值。
在运行时,处理器2202收听外部总线2216上的消息。在消息要发往处理器2202时,处理器2202接收消息并在与消息的发送节点对应的位置将其存储在存储器中。处理器2202然后能够计算发往作为邻居或相邻节点存储在其存储器中的节点的更新消息值,并能够向每个对应的邻居节点发送更新的消息。使用处理器2202的部分和单元执行确定更新消息和信任值需要的计算。处理器2202也可以经由外部总线2216向另一处理器或***发送其b匹配节点。
可以将处理器2202实现为独立的装置或可以将其并入具有包括其他信任传播处理器节点的其他电路的装置中。
除了上述应用之外,使用程度分布数据进行匹配的方法和***也可以适于提供其他类型问题的解。例如,可以对权重矩阵进行阈值处理。在ψi(k)=-θk之前设置程度将导致在Wij大于阈值Φ时最大b匹配具有边缘。
使用程度分布进行匹配的方法和***可以通过在程度b处的δ函数之前设置程度模拟传统的b匹配。
使用程度分布进行匹配的方法和***可以通过设置先验程度,在边界之间是均匀的,在别处具有零概率,模拟bd匹配,对程度实施上下边界。
使用程度分布进行匹配的方法和***可以通过复制图节点以形成二部图并将一次两分的程度设置成精确的k同时不对其他两分进行任何约束来模拟k个最近邻居,其中由双划分表示原始图中节点间的边缘。
而且,使用程度分布进行匹配的方法和***能够通过要求每个节点具有至少一个邻居以及至多总共有|V|-1个边缘来模拟生成树估计。
图23是根据所公开主题一些实施例使用程度分布和信任传播的推荐后期处理方法的图。方法2300开始于2302并继续到2304。
在2304,接收到培训和测试数据集。数据集包括表示用户和项目的节点。例如,用户可以包括看电影的人或读书的人,项目可以包括电影或书。在另一个范例中,用户可以包括电子商务客户,项目可以包括由电子商务销售的项目。处理继续到2306。
在2306,接收额定值矩阵。评定矩阵对应于培训数据集中用户设定的项目评定值。例如,看电影的人可以按照1到5的比例评定电影,或者读者可以按照1到10的比例评定书。处理继续到2308。
在2308,确定偏差边界数据。偏差边界表示用户的评定或针对项目的评定将偏离其相应真实平均值的概率。可以使用偏差边界确定培训数据集中每行(例如用户)和列(例如项目)的“程度”分布。可以根据以下公式设定程度潜力:
其中Y表示评定矩阵值,Ctr是训练集的大小,Cte是测试集的大小,λ是用于缩放潜力的规则化参数。关于以上公式的数学背景和支持的更多论述,参见附录。处理继续到2310。
在2310,从培训数据集学习边缘权重值。例如,可以采用使用逻辑损失函数的快速最大裕度矩阵因子分解(fMMMF)。可以将fMMMF的结果用作使用程度分布进行匹配的权重矩阵。可以在附录中找到对使用fMMMF的数学依据的额外论述。处理继续到2312。
在2312,产生扩展的图形数据结构和扩展权重矩阵。可以根据上述方法使用测试数据集产生扩展的图形数据结构。可以利用2310处执行的边缘权重学习产生的边缘权重,并利用与作为每行/列的“程度”分布数据的偏差边界数据成比例的值,产生扩展权重矩阵。例如,特定的用户可能仅喜欢30%的推荐产品。初始的推荐引擎输出可以包括1000部电影,可以将它们推荐给用户。对于推荐引擎输出的后期处理,可以由长度为1000(表示总的可能程度值)的矢量表示用户的程度分布,该矢量的值为1.0,位于与300(或30%)关联的矢量索引处。当然,程度分布值可以包括不同的分布,即以期望值附近为中心的高斯分布。还将认识到,推荐的产品具有一个程度分布(例如,多少百分比的用户喜欢或不喜欢该产品)。也可以通过包括扩展权重矩阵中产品的程度分布来考虑产品的程度分布。处理继续到2314。
在2314,如上所述执行最大权重b匹配过程。可以使用信任传播确定扩展图形数据和权重矩阵数据上的最大权重b匹配。处理继续到2316。
在2316,提供最大权重b-匹配的结果的一部分作为输出。例如,可以提供与测试集节点对应的一部分结果。处理继续到2318,在此处理结束。
图24是根据所公开主题一些实施例使用程度分布和信任传播的推荐后期处理***的方框图。具体而言,***2400包括耦合到程度分布匹配处理器2404的边缘权重学习处理器2402。
边缘权重学习处理器2402适于接收用户和项目2406的培训数据集和用户和项目2408的测试数据集。使用培训数据集2406培训***2400,以便对测试数据集2408进行预测。边缘权重学习处理器2402还接收评定矩阵数据2410。边缘权重学习处理器2402执行操作以从培训数据集学习边缘权重。例如,边缘权重学习处理器2402能够利用逻辑损失函数执行快速最大裕度矩阵因子分解(fMMMF),以便产生与针对测试数据集预测的边缘权重对应的输出权重矩阵,可以向程度分布匹配处理器2404提供这些边缘权重2412作为输入。
程度分布匹配处理器2404还接收测试数据集2408和偏差边界数据2414。程度分布匹配处理器2404可以使用偏差边界数据2414作为“程度”分布数据,用于测试数据集2408和来自边缘权重学习处理器2402的边缘权重2412。
程度分布匹配处理器2404使用上述程度分布方法执行匹配并输出经后期处理的推荐输出2416。经后期处理的推荐输出2416包括fMMMF具有程度预先调节的预测输出。使用来自培训数据的程度在先值作为统计学边界,从数学上保证了后期处理产生改善或至少不劣化初始推荐引擎结果。
图25A-25D是初始权重矩阵的图,将初始权重矩阵一次扩展到“正方形”矩阵,然后再次扩展以包括程度分布数据。图25A示出了初始权重矩阵2500,用于简单例示上述约会服务问题。权重矩阵2500是2×3矩阵,包括两个男性(M1和M2)和三个女性(W1-W3)。权重矩阵中的值对应于相应的男性和女性之间的假定兼容性指标。权重矩阵2500表示具有两类节点(男性和女性)的双部分问题。而且,可以看出权重矩阵2500不是正方形。
图25B示出了第一扩展权重矩阵2502。在第一扩展权重矩阵2502中,已经在矩阵的每一边上放置了男性和女性以形成5×5矩阵。这样实现了两个目的。首先,第一扩展权重矩阵现在是正方形了,将允许更简单地执行b匹配,无需考虑矩形而非正方形的权重矩阵。第二,在图的每条边上具有两类节点,边际程度分布象限的计算将更简单。当然,随着权重矩阵大小增大且根据特定问题是否值得,存在计算成本。
图25C示出了基于第一扩展权重矩阵2502和每个节点的程度分布的第二扩展权重矩阵2504。第二扩展权重矩阵2504包括第一扩展权重矩阵2502作为左上象限。第二扩展权重矩阵2504包括程度差异值作为右上和左下象限,包括零象限作为右下象限。
图25D示出了第二扩展权重矩阵2506的图,程度分布值被用于填充右上和左下象限的权重矩阵值。例如,基于针对M1的程度分布值确定右上象限第一排、列单元的第一权重矩阵值2508。例如,假设程度分布值始于针对一个连接的值且对于所有用户零程度的概率,即φM1(0)为0,如下计算2508处的值:φM1(0)-φM1(1)或(0-0.2)=-0.2。一旦根据上述方法确定了第二扩展权重矩阵的权重值,就可以执行b匹配操作。由于具有男性和女性节点的原始二部图实质上被改造成单部分问题(在权重矩阵的每条边上具有男性和女性),所以可以使用这里所述的循环式信任传播技术对b匹配求解,其中,在这种情况下,b=5。
可以通过针对每个节点选择顶部b个匹配并在结果矩阵中将它们设置为值1,来产生结果矩阵(未示出,但本质上类似于图8中所示的矩阵),结果矩阵的大小相当于第二扩展矩阵。可以将结果矩阵的所有其他值设置为零。于是,产生了二元结果矩阵,其中单元中的1表示子图解的边缘。如上所述,提取结果矩阵的左上象限(在这种情况下,左上5×5部分)作为初始问题的最终结果矩阵。矩阵单元中的值1表示对应于该单元表示的边缘的男性和女性之间的介绍,该介绍表示满足每位用户节点的程度分布的最大权重子图。
除了能够使矩形权重矩阵“正方形化”之外,还可以将上文参考图25A-25D所述的技术用于将双部分问题转换成单部分问题,以利用与程度分布技术的匹配求解。如上所述,这种技术会产生计算成本,但可能对于需要利用两类被考虑节点的程度分布求解的特定问题有用。
可以在一个或多个通用计算机、一个或多个专用计算机、程控微处理器或微控制器和周边集成电路元件、ASIC或其他集成电路、数字信号处理器、诸如离散元件电路的硬连线电子或逻辑电路、诸如PLD、PLA、FPGA、PAL等可编程逻辑器件上实现利用程度分布进行匹配的方法、***、计算机程序产品和计算机可读介质的实施例。通常,可以使用能够实施这里所述的功能或过程的任何装置或过程来实现利用程度分布进行匹配的方法、***、计算机程序产品或计算机可读介质的实施例。
此外,例如,利用提供能够用于多种一个或多个计算机平台上的便携式源代码的对象或面向对象的软件开发环境,完全或部分地在软件中容易地实现所公开的利用程度分布进行匹配的方法、软件和计算机程序产品(或计算机可读介质)的实施例。或者,可以利用例如标准逻辑电路或VLSI设计部分或完全在硬件中实施所公开的使用程度分布进行匹配的方法的实施例。根据***的速度和/或效率要求、特殊功能和/或使用的特定软件或硬件***、微处理器或微型计算机***,可以使用其他硬件或软件实现实施例。可以利用任何已知或将来开发的***或结构、装置和/或软件,由适用领域中普通技术人员从这里提供的功能描述并利用对计算机领域的一般基础知识,在硬件和/或软件中实现利用程度分布进行匹配的方法、***、计算机程序产品和计算机可读介质的实施例。
此外,可以在计算机可读介质(或提供为计算机程序产品)上存储并适于在程控通用计算机、专用计算机、微处理器等上执行的软件中实施使用信任传播进行一般化匹配的所公开方法的实施例。而且,可以将本公开主题使用程度分布的匹配方法实现为嵌入一个或多个个人计算机上的程序,例如JAVA或CGI脚本,作为驻留在服务器或图形工作站上的资源,作为嵌入专用处理***中的例程等。也可以通过将利用程度分布进行匹配的方法物理地并入软件和/或硬件***中来实现该方法和***,例如搜索引擎的硬件和软件***、电子商务平台、在线拍卖、在线约会服务、资源分配或图像处理***。
应当认识到,双部分和单部分匹配过程中的图形节点可以与任何对象、物品、事件、东西、过程或人和/或数据表示法相关联,它们中的一种或多种被表示为任何形式的数据结构或矢量。节点之间的权重(例如兼容性分数)可以是它们对应属性的任何函数,包括,但不限于该对对象、数据结构或矢量之间的任何距离函数、一般化的分歧函数、一般化的内积、相似性函数或核函数。例如,单部分匹配中的节点可以对应于欧几里德空间中的矢量,距离可以对应于欧几里德距离。还要指出,除了社交网络中的广告和短语或人之外,任何n个对象,例如n个矢量或n个数据结构的数据集都可以是n个节点的图形和大小为n乘n的矩阵的依据。于是,可以在诸如图像处理或诸如分类问题的一般解析的设置中应用这里描述的b匹配和程度分布方法。
因此,显然,根据当前公开的主题,提供了一种利用程度分布进行匹配的方法、***、计算机程序产品和具有软件的计算机可读介质。尽管已经结合若干实施例描述了公开的这个主题,但显然,对于适用领域中的普通技术人员而言,很多替代、修改和变化会是或是显而易见的。因此,申请人希望涵盖位于所公开主题精神和范围之内的所有这种替代、修改、等价要件和变化。
附录一
如果权重矩阵318使得任何边缘306,308(ui,vj)的权重为Aij,则由函数M(ui)或M(vj)定义潜在的匹配,其中函数M返回输入顶点(或节点)的该组邻居顶点(或节点)。可以将b匹配目标写为:
针对每个顶点定义变量xi∈X和yj∈Y,使得xi=M(ui)和yi=M(vj),可以定义以下的势函数:
可以定义派系函数(clique function):
使用势函数和派系函数,可以将加权的b匹配目标写为概率分布p(X,Y)∝exp(W(M))。
利用最大乘积算法使以上概率函数(3)最大化。最大乘积算法在因变量之间反复传递消息并存储信任,信任是最大边际值的估计。常规上,由变量设置上的矢量表示消息。以下是从xi到yj的更新方程。
使用以上方程的更大图上的直接信任传播是收敛的,但由于每个变量的可能设置数目的原因,可能是不适当的。
为了利用信任传播迅速求解b匹配问题,同时仍然维持算法的保证,需要对常规的直接信任传播进行若干改善。利用以上方程的三个特征以便允许将消息表示为标量。
首先,很好地构造Ψ函数,它们的结构使得消息更新中的最大化项始终是两个值之一。
这是因为Ψ函数仅基于yj的设置是否表示yj与ui共享边缘而改变。此外,如果将以上消息值重新定义为两个标量,可以将消息更具体地写为
第二,由于消息是未归一化的概率,我们那个从矢量中分出任何常数而不会改变结果。将消息矢量中的所有项除以vxi,yj得到
这种无损压缩方案将消息矢量的存储从长度 简化到1。
将Φ函数重写为取幂的Aij权重的乘积,消除了在所有可能的尺寸b集合上进行详尽最大化的需要。将方程(2)***的定义中,得到
在这里,下标l表示exp(Aik)myk(xi)项k的第b个最大设置,其中k≠j。可以在O(bn)时间中计算消息更新的这种压缩版本。
我们不能有效率地重构整个信任矢量,但能够有效率地找到其最大值。
该流程避免了枚举信任矢量中的所有 项,并且不用将分布整形成b维超立方体。通过独立搜索每个维度有效率地找到超立方体的最大值。每个维度表示节点ui的b个边缘之一。换言之,以上流程使得能够选择针对每个节点的最大b个匹配作为解,无需比较所有的节点组合。
附录二
利用先验程度进行精确的图形结构估计
一种在具体程度分布下用于图形边缘的生成性模型,允许用于恢复最可能结构的精确推理方法。可以通过将任何适当的推理问题重新写成被称为b匹配的多项式时间组合优化的一般化来获得这种二叉图结构。标准的b匹配从原始图而非程度上的分布来恢复恒定程度受限最大权重子图。在这种映射之后,可以在立方时间内利用最大流水作业法相对于节点数目找到最可能的图形结构。此外,在一些情况下,即使原始输入图很密集,也可以通过循环式信任传播和最大乘积更新在接近二次时间中精确求解组合优化问题。示出了在推荐***预测的后期处理方面的范例应用。
1引言
图形分析中的重要任务是估计仅给出了关于节点和边缘的部分信息的图形结构。本公开涉及从原始(可能是充分连接的和密集的)图发现子图,条件是在其权重以及针对每个节点的程度分布信息方面关于边缘的信息。
考虑图T=(ζ,E)。这样的图包含指数数量的子图(可以通过执行边缘删除从原始图获得的图)。实际上,子图的数目为2|E|,由于E可以高达ζ(|ζ|-1)/2,所以在这种空间中的搜索或概率推理可能常常是棘手的。利用在这种大的可能性集合上的概率分布工作不仅在计算上困难,而且还可能有误导,因为已知一些图形结构不太可能是先验的。这篇文章提出图上的特别分布,其使用了因子分解假设并并入了节点程度上的先验分布。在这种分布之下,通过将问题转换成最大权重b匹配进行最大后验(MAP)估计。
这种转换方法使最大权重b匹配一般化,其被应用于各种经典应用,例如,搜索引擎中的广告分配,以及机器学习应用,例如半监督学习和嵌入数据和图表。该方法还使b匹配(其自身是b匹配的一般化)和k最近邻一般化。
在一些设置中,可以在多项式时间中精确求解具有先验程度的子图上MAP估计。假设是本转换法,其将问题表达为b匹配,可以利用程度分布信息获得最佳图形结构估计。
所提出的方法应用包括如下情形:其中,从统计抽样属性,从程度分布是从数据学习的经验方法,或从给出程度概率的更经典问题推断出程度信息。后一种情况的范例是在蛋白质相互作用预测中,其中3D形状分析能够结合蛋白质的相互可访问结合部位的数目。类似地,在社交网络应用中,即使连接到他们的用户的明确身份是隐藏的(例如,Linkedln.com),也可以知道每个用户的连接数目。
1.1概要
在第2节中,检验了利用先验程度进行MAP图估计的主要算法,并论述了其计算成本及其一般化的方法。在第3节中,描述了将该方法应用到后期处理图形预测的范例。在第4节中,提供了一些可能的替代应用和将来工作的概要和论述。
2 MAP边缘估计
在本节中,提供了用于使在子图上定义的概率函数最大化的方法的推导和证明。利用这种方法,能够找到除基本局部边缘势之外,由节点程度上的凹势函数定义的分布最优值。考虑节点程度上的程度势先验概率,可以将操作描述为最大后验优化。
单元素边缘势由矩阵W∈Pn×n表示,其中Wij是边缘(i,j)从关变到开时的对数似然增益。函数Ψi:{1,…,n}→P,其中j∈{1,…n}是相当于边缘每个节点的程度上的势。换言之,边缘结构的概率取决于局部边缘权重以及先验程度偏置。令人遗憾的是,由于每个程度分布项Ψj中牵涉到很多从属性,所以以上概率模型具有大的树宽。因此,精确的推理和自然MAP估计流程(例如,使用连接树算法)能够随着|V|呈指数缩放。不过,对于明智的构造,在程度势是凹陷时,精确的MAP估计是可能的。
2.1作为b匹配编码
适度假设方程1中的Ψi函数是凹面的,可以通过求解b匹配使兴趣概率最大化。凹面表示增大输入程度诱发的变化必须是单调不增加的。如果通过积分程度之间的线性内插使Ψi连续,这就是凹面的标准概念。形式上:
δψi(k)=ψi(k)-ψi(k-1),
δ2ψi(k)=δψi(k)-δψi(k-1)
=ψi(k)-ψi(k-1)-
(ψi(k-1)-ψi(k-2))≤0。
在程度势是凹面时,可以通过利用对应概率构建更大的图来精确模拟概率函数构造过程如下继续。首先生成新图Γb,其包含一份原始图Γ以及表示为Δ的额外伪节点。这些伪节点模拟软程度势函数Ψi的角色。对于原始集合ζ中的每个节点vi,引入一组伪节点。针对E中与每个vi相邻的每个边缘增加一个伪节点。换言之,对于每个节点vi,增加伪节点di,1,…,di,Ni,其中Ni=deg(vi,E)为节点vi邻域的大小。伪节点di,1,…,di,Ni中的每个都连接到新图Γb中的vi。这种构造生成了如下定义的图Γb={ζb,Eb}:
ζb=ζ∪Δ,
Eb=E∪{(vi,di,j)|1≤j≤Ni,1≤i≤n}。
指定Γb中边缘的权重,从E到其原始势Wij拷贝每条边缘(i,j)的权重。根据以下公式设置原始节点和伪节点之间的边缘权重。Vi和每个伪节点di,j之间的势为
w(vi,di,j)=ψi(j-1)-ψi(j) (2)。
尽管Ψ函数针对Ψ(0)具有输出,但没有与该设置(仅在定义di,1的权重时使用Ψ(0))关联的标记为di,0的伪节点。通过构造,由于Ψ函数的凹面性,权重w(vi,di,j)相对于下标j单调不减。这个特性确保了方法的正确性。
ψi(j)-ψi(j-1)≤ψi(j-1)-ψi(j-2)
-w(vi,di,j)≤-w(vi,di,j-1)
w(vi,di,j)≥w(vi,di,j-1) (3)。
利用Γb边缘上的概率仿真Γ中边缘上的概率(方程1)。设置程度约束,使得每个(原始)节点vi都必须具有恰好Ni个邻居(包括其可能连接到的任何连接伪节点)。伪节点没有程度约束。所提出的方式通过对以下b匹配问题求解而恢复最可能的子图
可以通过以下方式对这种构造进行概念化:在原图中有选择任何图形结构的自由,但由于最大限度选择伪边缘而基于节点程度受到处罚。以下定理证明,这种处罚相当于先验程度生成的处罚。
还要做的是确认Ψ程度势与原始节点和伪节点之间的剩余边缘的权重一致。想到程度约束要求Γb中的每个节点都具有程度Ni。通过构造,每个vi具有2Ni个可用边缘可供选择:Ni个边缘来自原图,Ni个边缘通往伪节点。此外,如果vi选择k条原始边缘,它必须最大化地选择Ni-k条伪边缘。由于伪边缘被构造成它们的权重不减少,最大的Ni-k个伪边缘到达最后的Ni-k个伪节点,或伪节点di,k+1到di,Ni。于是,可以证明以下内容:
求和的项抵消以示出这种等效性。在代入w(vi,di,j)的定义之后,揭示出期望的相等性。
图1:将依赖于程度的问题映射到硬约束的b匹配的范例。左:原始权重矩阵和行/列程度分布。中上:扩展图的权重矩阵,现在约束其解以具有每个节点恰好6个邻居。中下:所得的b匹配,其左上象限为最终输出。右:MAP解和最终节点程度。
图2:由第2节中的流程构造新的权重矩阵。左上象限是原始权重矩阵,额外的行和列是伪边缘的权重。
2.2计算成本和一般化的方法
由于伪节点没有程度约束,所以仅需要对maxi(Ni)个伪节点进行实例化并为每个节点vi重新使用它们。在图2.1和2中例示了本节中描述的过程。这最多获得了所构造图中总节点的两倍增加(即,|Vb|<2|V|)。在实践中,可以使用经典的最大流量算法找到最大权重b匹配以使最大化,这种算法需要的计算时间O(|ζb||Eb|)。不过,在二部图的特殊情况下,可以使用信任传播,不仅产生相当大的常数倍的加速,而且已经从理论上证明,在特定的适度假设下在(|ζb|2)或(|Eb|)时间中找到解。此外,可以证明,在可以确定线性规划的完整性时,在单部情况下能够获得精确解。
该类先验对数凹面程度使得很多最大权重约束的子图问题一般化。这些包括权重矩阵的简单阈值处理,通过在程度上放置指数分布实现阈值化;将先验程度设置为ψi(k)=-θk导致在Wij大于阈值θ时最大值的边缘打开。通过将先验程度设置成程度b时的δ函数可以模拟b匹配。通过将先验程度设置成在边界之间均匀且在别处具有零概率,可以模拟b匹配,对程度设置上下边界。可以通过复制图节点以形成二部图并将一次两分的程度设置成精确的k同时不给其他两分设置任何约束来模拟k个最近邻居,其中由双划分之间的边缘表示原始图中节点间的边缘。最后,可以要求每个节点具有至少一个邻居并且有恰好|ζ|-1个总边缘来模拟最大生成树估计。
3试验
可以将MAP估计算法用作图预测过程中的后期处理步骤。在标准合作过滤设置的轻微变体中,考虑预测由用户对项目的偏好定义的图的任务。可以将偏好图定义为一组用户U={u1,…,un}和用户利用二元推荐评定的一组项目V={v1,…,vm}之间的二部图。可以假设针对项目(列)表示用户(行)的偏好的评级矩阵Y={0,1}n*m。可以采用表示用户(排)对项目(列)的偏好的评级矩阵Y=评级矩阵Y等价于偏好图的邻接矩阵,Yij=1表示用户i赞成项目j,而Yij=0表示用户不赞成。培训数据是一组用户-项目对,以及偏好图中其节点之间是否存在边缘。测试数据是另一组用户-项目对,任务是预测哪个测试对将具有偏好边缘。
图3:不同数据集和随机部分间MAP解的测试误差。每幅图的x轴表示缩放参数λ,y轴表示误差率。蓝色实线是具有先验程度的MAP解,黑色虚线是逻辑-fMMMF基线。红色的圆标识对交叉批准集性能最好的λ设置。参见表1获得分数值。
首先,提供了在后期处理中使用先验程度的动机。预测图中节点的程度表示用户喜欢的项目数或喜欢一项目的用户数。在某些假设下,可以证明,喜欢或被喜欢的比例将集中在其经验估计附近,培训和测试比率之间的偏差概率由对数凹面上界限定。因此,将把偏差边界用作现有技术推理方法输出的后期过程处理之前的程度。这实际上迫使预测服从边界。
3.1集中边界
假设用户U和项目V是从任意人口分布ΔU和ΔV绘制的iid。而且假设由将节点特征映射到有效伯努利概率的函数确定任何节点ui和vj之间的边缘概率。
Pr(Yij=1|ui,vj)=f(ui,vj)∈[0,1](5)
这些假设产生了用于评级概率的自然相关结构。用户、项目和评级的联合概率如下定义:
这种生成性模型的结构意味着未观察的评级之间的从属性,甚至是用户和电影之间的从属性。这是因为查询等级变量和所有用户和项目变量都是隐匿的。由于对用户和项目的独立抽样程序,这被称为分层模型并诱发要由算法估计的测试预测之间的耦合或相互依赖。由于等级变量存在于共同父母的网格中,这种相关结构和分层模型难以在贝叶斯设置中处理,除非利用强参数假设。相反,导出边界,该边界收集到结构化输出变量Y的相互依赖而无需参数假设。
假设完全随机地从一组志愿等级揭示培训和测试用户-项目集,这样能够证明概率的上界,特定节点的经验边缘等级在培训和测试数据之间变动。换言之,估计邻接矩阵中经验行或列平均值与其实际均值之间的偏差的概率。不失一般性地,令用户i的培训评级在索引{1,…,ctr},测试评级在索引{ctr+1,…,ctr+cte},使得培训和测试集大小分别为ctr和cte(仅仅为了表示清楚,省略了培训和测试计数Ctr和Cte的下标。因为这些计数对不同节点而言会改变,精确的标注会涉及到诸如的项)。令表示用户i的评级的排。令函数表示培训和查询平均值之间的差异。以下定理界定了培训和测试评级平均值之间的差异:
其遵守以下定理。
定理2假定用户U={u1,…,un}和评定的项目V={v1,…,vn}是从任意分布Δu和Δv绘制的iid,且由函数f(ui,vj)→[0,1]确定用户对项目正面评定的概率,每位用户给出的查询评级的平均值集中在其培训评级的平均值附近。形式如下,
参考附录A了解定理2的证明。
利用标准的学***均值上使用统一的先验值。不过,统一先验值突破了边界,与培训平均值偏差足够大。具体而言,对于具有大量培训和测试范例的用户或项目发生这种情况。于是,使用遵守边界的先验值可能是有利的。由于边界以指数形式急剧衰减,所以永不超过边界的先验值必须以更快速率衰减。这些排除了统一的和拉普拉斯分布并包括高斯、亚高斯和δ分布。简单地提出使用归一化边界作为先验值。
3.2边缘权重
为了学习独立边缘权重的合理值,使用逻辑损失函数,采用快速最大裕度矩阵因子分解(fMMMF),这是一种自然的概率解释。在二元评级设置中,使用逻辑损失作为枢纽-损失的微分逼近的用于逻辑fMMMF的梯度优化可以被解释为,使非常类似于上述模型的生成性模型的条件似然最大化。目标是
(这里,表示二元评级的带符号{-1,+1}表达,而先前,{0,1}表达被使用)正面评级的概率函数是逻辑函数,其产生上述精确损失项。
使正方形化的Frobenius范数最小化对应于在ui和ui矢量上设置零均值球形高斯先验值和, 和 这产生了fMMMF的解释作为MAP估计:
3.3结果
试验测试了五个数据集。四个数据集是标准的合作过滤数据集,在合理的水平上为其设置阈值。最后一个集合是从Epinions.com收集的信任/不信任数据,表示用户是否信任其他用户的意见。EachMovie数据集包含72916位用户针对1628部电影的2811983个整数评级,级别从1到6,以4或更大作为阈值以表示正面评级。所用的Jester数据集部分包含24983位用户对100个笑话的1810455个评级,从-10到10,阈值设置在0或更大。MovieLens-Million数据集包含6040位用户对3952部电影的1000209个整数评级,从1到5,阈值设置在4或更大。Book Crossing数据集包含由77805位用户对185854本书的433669个明确整数评级3,从1到10,阈值设置在7或更大。最后,Epinions数据集包含84601位用户对95318位作者做出的841372个信任/不信任评级。
将每个数据集随机划分三次,分成一半的培训和一半的测试评级。留出培训集的五分之一用于交叉确认,利用一定范围的规则化参数在其余部分上培训逻辑fMMMF。FMMMF的输出既充当基线又充当算法的权重矩阵。针对每排/列设定“程度”分布,与和定理2的边界的偏差成正比。具体而言,使用以下公式设置程度势Ψi:
规则化参数λ对势进行缩放。在λ为零时,先验程度变为统一的,MAP解是在0对权重矩阵进行阈值处理(默认的fMMMF预测)。在更大的值,统一的先验程度(默认四舍五入)变为严格的b匹配,遵循中间设置处集中边界的形状。采用的λ值从0开始增大,直到先验值限制性过大并观察到过度拟合,或直到λ的值很大,使得利用锁定到整数值的程度而非整数分布求解简单b匹配。之后增大λ将不会改变结果。在这个阶段,通过在评级查询集中包括测试和支持交叉确认评级来进行交叉确认。
与经由fMMMF学习边缘权重所花的时间相比,后期处理流程的运行时间较短。这是由于快速信任传播匹配码和图稀疏的原因。每幅图的估计花费几分钟(不超过五分钟),而梯度fMMMF在这些大规模数据集上花费数小时。
性能与对数据预测的零-一误差比较相关。具体而言,相关的做法是将在交叉确认数据上性能最好的fMMMF输出与具有额外先验程度的同一输出的MAP解进行比较。结果表明,增大先验程度降低了五个数据集的所有部分的测试误差。在图3中以图形方式,在表1中以数字方式表示了误差比率。对于更高的λ值,先验值将预测平均值拉得更靠近培训平均值,导致除Epinions数据集之外的所有数据集上出现过度拟合。有趣的是,即使是b匹配,Epinions数据集也相对于fMMMF改善了预测精度。这表明,用户判断他们是否信任其他用户的方式是通过强烈集中的过程确定的。尽管选择边界作为先验值,可以在将来的工作中进一步细化在本文中做出的抽样假设,重要的是要注意,在估计的图上应用程度分布属性一贯地有助于改善现有因子分解方法的性能。
表1:平均的零-一误差率和具有先验程度的最佳MAP的标准偏差,以及经由交叉确认选择的fMMMF。三次随机将数据集分成测试和培训数据,对其求平均值。先验程度改善了所有数据集上的精度,但根据拒绝水平为0.01的两样本t测试的统计显著意义改善是突出的。
数据集 | fMMMF | 程度 |
EachMovie | 0.3150±0.0002 | 0.2976±0.0001 |
Jester | 0.2769±0.0008 | 0.2744±0.0021 |
MovieLens | 0.2813±0.0004 | 0.2770±0.0005 |
BooKCrossing | 0.2704±0.0016 | 0.2697±0.0016 |
Epinions | 0.1117±0.0005 | 0.0932±0.0003 |
4讨论
提供了一种方法以从分布中找到最可能的图,其使用了边缘权重信息以及每个节点的程度分布。通过证明该问题相当于b匹配或最大权重程度约束的子图问题来在多项式时间中计算精确的MAP估计。可以利用最大流量以及更快的信任传播方法有效率地且精确地实现这些。该方法统一了b匹配、bd匹配、简单阈值处理、k最近邻和最大权重生成树,可以将它们都看做具有不同程度分布的图形结构估计。使用这些简单的程度分布或根本不使用程度信息的各种方法可以受益于程度信息的一般化,以考虑到不确定性。这种方法的主要限制是,可以通过这种方式建模的程度分布必须是对数凹面的,从而利用更一般的程度分布进行精确推理成为未解决的问题。
定理的证明\refthm:边界。McDiarmid的不等式界定了,相对于其Lipschitz常数,函数在独立(但未必相等)随机变量上,与其期望值的偏差概率,该常数是改变任何输入变量诱发的函数值的变化最大值。Lipschitz用于函数Δ的Lipschitz常数,对于1≤j≤ctr为lj=1/ctr,其他情况为lj=1/cte。尽管评级随机变量不是均等分布的,但它们是独立抽样的,所以那个应用McDiarmid不等式以获得(并简化)
概率内部的左侧的量包含E[Δ],其应当接近零,但并非精确为零(如果是零,方程10将是边界)。由于该模型将Yij的概率定义为ui和vj的函数,所以期望值为:
将以上量定义为项目V={v1,…,vctr+cte}的函数,为了简单起见将称为gi(V)。因为这种分析是关于一个用户的评级的,所以那个将f(ui,vj)的用户输入ui当做常数处理。由于概率函数f(ui,vj)的范围是[0,1],所以用于gi(V)的Lipschitz常数对于1≤j≤ctr为lj=1/ctr,否则为lj=1/cte。再次使用McDiarmid不等式。
可以将gi(V)的期望值写成积分
由于v的是iid,所以积分分解成
由于对于所有j每个Pr(vj)=Pr(v),所以通过变量变化,以上所有积分都是相同的。因此E[gi(V)]的预期值为零。这给gi(V)的值留下边界。
T和τ都可以用δ写出:
将ε定义为偏差t和τ的级联:
通过构造,发生总偏差ε的概率大于δ。求解δ提供了方程7中的最终边界。另一个方向上的边界容易跟随,因为McDiarmid不等式也是对称的。
尽管以上分析仅涉及用户的评级,但我们描述的生成型模型在用户和项目之间是对称的。因此,类似的分析也直接适用于项目评级。
推论1在与定理2相同的假设下,查询评级或每个项目的平均值集中在其培训评级的平均值附近。
此外,即使定理2特别关注偏好图,但可以将其容易地扩展到如下表示通常的单部图和二部图中的边缘连接集中性。
推论2定理2中的集中边界适用于一般的图;假设随机显示边缘和非边缘,从一些分配产生iid节点,通过其顶点的函数确定边缘的概率,未观察到的(测试)节点对的平均连接性集中在可观察的(培训)节点对的平均连接性附近。偏差的概率受到与定理2中相同公式的界定。
Claims (77)
1.一种计算机可读介质,其上存储有软件指令,用于将广告与短语匹配,在由处理器执行时,所述软件指令令所述处理器执行如下操作,包括:
接收第一图形数据结构、第一权重矩阵和程度分布数据作为输入,所述第一图形数据结构具有第一组节点和第二组节点,所述第一组节点的每个表示广告,所述第二组节点的每个表示短语,所述第一权重矩阵包括针对所述第一图形数据结构中的广告和短语之间的每个连接的出价值;
产生第二图形数据结构,所述第二图形数据结构包括与所述第一图形数据结构对应的节点和额外的伪节点;
产生第二权重矩阵,所述第二权重矩阵包括所述第一权重矩阵和额外的权重值,每个额外权重值与所述第一图形数据结构中的节点之一和所述伪节点之一关联,所述第二权重矩阵中的所述额外权重值是基于所述程度分布数据确定的,所述第二权重矩阵还包括一组零权重值;
将所述第二图形数据结构中对应于所述第一图形数据结构的节点约束到预定程度值,并且不约束所述第二图形数据结构中的所述伪节点;
基于所述第二图形数据结构确定最大权重b匹配,其中将b设置成预定程度值,并产生具有二元权重值的中间图形数据结构;
截取所述中间图形数据结构;以及
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出。
2.根据权利要求1所述的计算机可读介质,其中确定最大权重b匹配包括:
在相邻节点之间传递消息,直到满足结束条件,从而更新与所述第二图形数据结构中选定短语节点的每个相邻广告节点对应的信任值,每条消息都基于所述第二权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;以及
在与所选短语节点关联的电子存储器中存储每个更新的信任值和每条接收的消息。
3.根据权利要求2所述的计算机可读介质,其中产生所述结果图包括:
选择预定数量的匹配所选短语节点的广告节点,所述匹配基于与所选短语节点相邻的广告节点的更新信任值;以及
输出所选的广告节点。
4.根据权利要求1所述的计算机可读介质,其中所述额外权重值包括第一矩阵中的第一组权重值和第二矩阵中的第二组权重值,所述第二矩阵是所述第一矩阵的转置。
5.根据权利要求1所述的计算机可读介质,其中所述程度分布数据包括与每个广告关联的广告者提供的数据。
6.根据权利要求1所述的计算机可读介质,其中所述程度分布数据包括从在先广告和短语匹配数据的统计特性推断的数据。
7.根据权利要求1所述的计算机可读介质,其中所述程度分布数据包括从存储的在先广告和短语匹配数据学习的数据。
8.根据权利要求1所述的计算机可读介质,其中所述软件指令适于在分布式处理器上执行。
9.根据权利要求1所述的计算机可读介质,其中所述操作还包括:
接收用于每个广告的配额数据;
基于与每个广告节点对应的配额数据调节所述第一权重矩阵中该节点的权重值;以及
使用针对所述广告节点的已调节权重值产生所述第二权重矩阵。
10.根据权利要求2所述的计算机可读介质,其中每条消息的数据内容都是单个标量值。
11.根据权利要求10所述的计算机可读介质,其中所述单一标量值对应于所选短语节点与其相邻广告节点中相应一个的潜在匹配。
12.根据权利要求11所述的计算机可读介质,其中所述单一标量值包括与所选短语节点和相邻节点中相应一个的潜在匹配对应的权重矩阵值以及该相应邻居节点从另一节点接收的消息值,以及与所述相应邻居节点和所述另一节点之间潜在匹配对应的权重矩阵值。
13.根据权利要求1所述的计算机可读介质,其中所述短语是提交给搜索引擎的搜索查询中包括的短语。
14.根据权利要求1所述的计算机可读介质,其中所述短语是从要显示预定数量广告的内容页之内的内容提取的短语,使得显示的广告涉及在所述内容页上找到的内容。
15.根据权利要求1所述的计算机可读介质,其中所述短语是基于自然语言短语的语义分析确定的短语。
16.根据权利要求1所述的计算机可读介质,其中所述自然语言短语是自然语言搜索查询。
17.根据权利要求1所述的计算机可读介质,其中所述自然语言短语是自然语言广告者目标。
18.一种用于将广告与搜索项匹配的分布式处理***,所述***包括:
多个处理器,每个处理器与具有广告节点、搜索项节点和伪节点的图形数据结构的至少一个节点对应,其中每个广告节点都是至少一个搜索项节点的邻居;
耦合所述多个处理器并适于在所述处理器之间传输消息的网络;
其中每个处理器适于加载并执行计算机可读介质上存储的软件指令,在被执行时,所述软件指令令所述处理器执行如下操作,包括:
接收第一图形数据结构的一部分、利润矩阵的一部分和程度分布数据的一部分作为输入,所述第一图形数据结构具有第一组节点和第二组节点,第一组节点的每个表示广告,第二组节点的每个表示短语,所述利润矩阵包括针对所述第一图形数据结构中的广告和搜索项之间的每个连接的出价值;
产生第二图形数据结构,所述第二图形数据结构包括与所述第一图形数据结构对应的节点和多个伪节点;
产生包括所述利润矩阵的该部分的权重矩阵部分,在所述处理器与所述伪节点之一对应时,产生与所述伪节点关联的额外权重值,根据所述伪节点在所述第二图形数据结构中的位置,所述权重矩阵部分中的所述额外权重值基于程度分布数据的所述部分或零值;
接收将所述第二图形数据结构中对应于所述第一图形数据结构的节点约束到预定程度值的节点约束值,并且不接收约束所述第二图形数据结构中的所述伪节点的约束值;
基于所述第二图形数据结构确定最大权重b匹配,其中将b设置成预定程度值,并产生具有二元权重值的中间图形数据结构,所述确定包括:
在相邻节点之间传递消息,直到满足结束条件,从而更新与其相应邻居节点对应的信任值,每条消息的数据内容基于权重矩阵值和接收的消息,其中根据消息更新规则确定每条消息的数据内容;
在与相应处理器关联的电子存储器中存储每个更新的信任值和每条接收的消息;
截取所述中间图形数据结构;
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出,包括选择预定数量的匹配邻居节点,所述匹配是基于邻居节点的更新信任值确定的;以及
输出所选的匹配邻居节点。
19.根据权利要求18所述的分布式处理***,其中每条消息的数据内容都是单个标量值。
20.根据权利要求19所述的分布式处理***,其中所述单一标量值对应于所选搜索项节点与其相邻广告者节点中相应一个的潜在匹配。
21.根据权利要求20所述的分布式处理***,其中所述单一标量值包括与所选搜索项节点和相邻节点中相应一个的潜在匹配对应的利润矩阵值以及该相应邻居节点从另一节点接收的消息值,以及与所述相应邻居节点和所述另一节点之间潜在匹配对应的利润矩阵值。
22.根据权利要求18所述的分布式处理***,其中所述处理器由云计算***构成。
23.根据权利要求18所述的分布式处理***,其中每个利润矩阵值表示与相邻节点间边缘关联的利润量。
24.根据权利要求18所述的分布式处理***,其中反复执行所述更新,直到满足所述结束条件。
25.根据权利要求18所述的分布式处理***,其中所述结束条件是所述更新预定数量的重复。
26.根据权利要求18所述的分布式处理***,其中所述结束条件被定义为在预定一段时间之内接收到无变化的消息值。
27.根据权利要求18所述的分布式处理***,其中所述结束条件是从每个节点发送若干消息。
28.根据权利要求18所述的分布式处理***,其中所述结束条件是过去预定一段时间。
29.根据权利要求18所述的分布式处理***,其中所述结束条件被定义为在第一预定一段时间之内接收到无变化的消息值以及过去第二预定一段时间中最早发生的一个。
30.一种用于将广告者与搜索项匹配的计算机化方法,所述方法包括:
提供第一二部图数据结构,所述第一二部图数据结构具有多个广告者节点和多个搜索项节点,其中每个广告者节点通过边缘连接到对应的搜索项节点;
提供利润矩阵,所述利润矩阵具有针对所述二部图数据结构的每条边缘的利润;
提供表示每个节点的程度分布的程度分布数据;
产生第二二部图数据结构,所述第二二部图数据结构包括所述第一二部图数据结构的节点和多个伪节点;
利用适于执行权重矩阵扩展的处理器产生权重矩阵,所述权重矩阵包括所述利润矩阵的值和与所述伪节点关联的额外值,所述权重矩阵中的所述额外值是基于所述程度分布数据确定的且包括一组零权重值;
将所述第二图形数据结构中对应于所述第一图形数据结构的节点约束到所述预定程度值,并且不约束所述第二图形数据结构中的所述伪节点;
基于所述第二图形数据结构确定最大权重b匹配,其中将b设置成预定程度值;
产生具有二元权重值的中间二部图数据结构;
通过截取所述中间图形数据结构以去除伪节点来产生结果图形数据结构;
选择预定数量的与一组感兴趣搜索项节点的每个搜索项节点匹配的广告者节点,所述匹配是基于与每个感兴趣的搜索项节点相邻的广告者节点的结果图形值确定的;以及
输出与每个感兴趣的搜索项节点匹配的所选广告者节点。
31.根据权利要求30所述的计算机化方法,其中确定所述最大权重b匹配包括:
利用适于执行信任传播一般化匹配的处理器在相邻节点之间传递消息,直到满足结束条件,从而更新与连接到选定搜索项节点的每个广告者节点对应的信任值,每条消息都基于权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;以及
在与对应广告者节点关联的电子存储器中存储每个更新的信任值和每条接收的消息。
32.根据权利要求31所述的方法,还包括在对应于与所选广告者节点关联的搜索项节点的搜索结果页上显示与所选广告者节点的每个关联的广告。
33.根据权利要求31所述的方法,还包括在每个广告者节点和每个搜索项节点处存储所述利润矩阵的一部分和所述程度分布数据的一部分,其中基于每个相应广告者节点和每个相应搜索项节点的相邻节点选择每个部分。
34.根据权利要求31所述的方法,其中利用并行处理执行所述更新和存储。
35.根据权利要求31所述的方法,其中所述处理器是适于使用具有程度分布数据的信任传播执行二部匹配的云计算***。
36.根据权利要求31所述的方法,其中所述电子存储器是云存储***。
37.根据权利要求30所述的方法,其中每个利润表示与广告关联的广告者刊登广告的利润。
38.根据权利要求31所述的方法,其中反复执行所述更新,直到满足所述结束条件。
39.根据权利要求31所述的方法,其中所述结束条件是所述更新的预定数量的重复。
40.根据权利要求31所述的方法,其中所述结束条件被定义为在预定一段时间期间更新的信任值的稳定状态。
41.根据权利要求31所述的方法,其中所述结束条件是从每个节点发送的若干消息。
42.根据权利要求31所述的方法,其中所述结束条件是过去预定一段时间。
43.根据权利要求31所述的方法,其中所述结束条件被定义为在第一预定一段时间期间更新的信任值的稳定状态以及过去第二预定一段时间中最早发生的一个。
44.一种用于在拍卖中将客户与供应商匹配的计算机化方法,所述方法包括:
提供第一二部图数据结构,所述第一二部图数据结构具有多个供应商节点和多个客户节点,其中每个供应商节点通过边缘连接到客户;
提供第一权重矩阵数据结构,所述第一权重矩阵数据结构具有针对所述二部图数据结构的每条边缘的权重值,其中向每个供应商节点和每个客户节点提供所述权重矩阵的一部分,所述权重矩阵部分包括针对与每个相应供应商节点和客户节点相邻的节点的权重值;
使用适于利用在先程度分布信息估计图形结构的处理器产生第二图形数据结构,所述第二图形数据结构包括与所述第一二部图数据结构对应的节点并具有多个伪节点;
利用所述处理器产生第二权重矩阵,所述第二权重矩阵包括所述第一权重矩阵和额外的权重值,每个额外权重值与所述伪节点之一关联,所述第二权重矩阵中的额外权重值是基于所述程度分布数据确定的,所述第二权重矩阵还包括与一组伪节点关联的一组零权重值;
在耦合到所述处理器的电子存储器中存储所述第二权重矩阵;
将所述第二图形数据结构中对应于所述第一图形数据结构的节点的节点约束到预定程度值,并且不约束所述第二图形数据结构中的所述伪节点;
基于所述第二图形数据结构确定最大权重b匹配,其中将b设置成预定程度值,并产生具有二元权重值的中间图形数据结构;
截取所述中间图形数据结构;以及
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出。
45.根据权利要求44所述的计算机化方法,其中确定所述最大权重b匹配包括:
利用适于执行信任传播的处理器在相邻节点之间传递电子消息,直到满足结束条件,从而更新与供应商节点和客户节点的每个对应的信任值,每条消息都基于所述权重矩阵部分的值和接收的消息,其中根据压缩消息更新规则确定每条消息的值;以及
在与对应节点关联的电子存储器中,在所述电子存储器的存储位置中存储接收的消息和针对每个供应商节点和客户节点的更新信任值。
46.根据权利要求45所述的计算机化方法,其中所述方法还包括:
利用所述处理器选择预定数量的供应商节点和与每个所选供应商节点匹配的预定数量的相应客户节点,所述客户节点的选择基于更新的信任值;以及
输出所选的供应商节点和相应的匹配客户节点。
47.根据权利要求45所述的计算机化方法,其中利用并行处理执行所述更新和存储。
48.根据权利要求45所述的计算机化方法,其中所述并行处理是在云计算***上执行的,所述电子存储器包括云存储***。
49.根据权利要求45所述的计算机化方法,其中所述第一权重矩阵中的每个权重表示对应供应商和客户之间连接的利润量。
50.根据权利要求45所述的计算机化方法,其中反复执行所述更新,直到满足所述结束条件。
51.根据权利要求44所述的计算机化方法,其中确定所述最大权重b匹配包括向所述第二图形数据结构应用最大流算法。
52.根据权利要求44所述的计算机化方法,其中针对每个节点的程度分布数据包括由相应供应商或客户提供的数据。
53.根据权利要求44所述的计算机化方法,其中所述程度分布数据包括从在先供应商和客户数据的统计特性推断的数据。
54.根据权利要求1所述的计算机化方法,其中所述程度分布数据包括从存储的在先供应商和客户匹配数据学习的数据。
55.一种计算机可读介质,其上存储有软件指令,用于将拍卖中的买家与卖家匹配,在由处理器执行时,所述软件指令令所述处理器执行如下操作,包括:
提供第一图形数据结构,所述第一图形数据结构具有多个卖家节点和多个买家节点,其中每个卖家节点通过边缘连接到买家节点;
提供第一权重矩阵数据结构,所述第一权重矩阵数据结构具有针对所述第一图形数据结构的每条边缘的权重值,其中向每个供应商节点和每个客户节点提供所述第一权重矩阵的一部分,所述权重矩阵部分包括针对与每个相应供应商节点和客户节点相邻的节点的权重值;
使用适于利用在先程度分布信息估计图形结构的处理器产生第二图形数据结构,所述第二图形数据结构包括与所述第一图形数据结构对应的节点和多个伪节点;
利用所述处理器产生第二权重矩阵,所述第二权重矩阵包括所述第一权重矩阵和额外的权重值,每个额外权重值与所述伪节点之一关联,所述第二权重矩阵中的额外权重值是基于所述程度分布数据确定的,所述第二权重矩阵还包括与一组伪节点之间的边缘关联的一组零权重值;
在耦合到所述处理器的电子存储器中存储所述第二权重矩阵;
将所述第二图形数据结构中对应于所述第一图形数据结构的节点的节点约束到预定程度值,并且不约束所述第二图形数据结构中的所述伪节点;
基于所述第二图形数据结构确定最大权重b匹配,其中将b设置成预定程度值,所述确定包括:
利用适于执行信任传播的处理器在相邻节点之间传递电子消息,直到满足结束条件,从而更新与供应商节点和客户节点的每个对应的信任值,每条消息都基于所述权重矩阵部分的值和接收的消息,其中根据压缩消息更新规则确定每条消息的值;以及
在与所述对应节点关联的电子存储器中,在所述电子存储器的存储位置中,存储接收的消息和针对每个供应商节点和客户节点的更新信任值;
通过截取所述中间图形数据结构产生具有二元权重值的中间图形数据结构;以及
利用所述处理器选择预定数量的卖家节点和与每个所选卖家节点匹配的预定数量的相应买家节点,所述买家节点的选择基于更新的信任值;以及
输出所选的卖家节点和相应的匹配买家节点。
56.一种使用信任传播匹配社交网络成员的计算机化方法,所述方法包括:
访问第一图形数据结构和兼容性矩阵,所述第一图形数据结构具有多个成员节点,每个节点表示社交网络服务的成员,所述兼容性矩阵表示由所述图形数据结构的边缘连接的成员节点之间的兼容性;
访问程度分布数据,所述程度分布数据包括针对每个成员节点的程度分布;
产生第二图形数据结构,所述第二图形数据结构包括从所述第一图形数据结构拷贝的节点和一组伪节点;
产生权重矩阵,所述权重矩阵包括兼容性矩阵以及与成员节点和伪节点之间的边缘对应的额外权重值,所述额外权重值基于所述程度分布数据的一部分,所述权重矩阵还包括与伪节点之间的边缘对应的一组零权重值;
约束所述第二图形数据结构之内的成员节点的程度值,并且不约束所述第二图形数据结构之内的伪节点;
利用适于使用程度分布和信任传播执行社交网络服务成员匹配的处理器在相邻节点之间传递消息,直到满足结束条件,从而更新与所述第二图形数据结构的节点之间的边缘对应的信任值,每条消息都基于权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;
在与对应节点关联的电子存储器中存储每个更新的信任值和每条接收的消息;
提取所述第二图形数据结构中对应于所述成员节点的一部分作为结果图形数据结构;
从所述结果图形数据结构选择与感兴趣成员节点匹配的预定数量的相邻成员节点,所述匹配是基于所述感兴趣成员节点的邻居成员节点的更新信任值确定的;以及
输出所选的成员节点。
57.一种用于将项目与其他项目匹配的***,包括:
适于存储软件指令的存储器,所述软件指令用于执行利用程度分布将项目与其他项目匹配的方法,第一图形数据结构具有表示项目的节点,第一权重矩阵具有与所述第一图形数据结构中连接两个项目的边缘关联的权重值,所述程度分布数据具有针对所述第一图形数据结构中每个节点的程度分布数据;
耦合到所述存储器并适于执行所述软件指令且执行如下操作的处理器,所述操作包括:
产生第二图形数据结构,所述第二图形数据结构包括表示所述第一图形数据结构的节点和多个伪节点;
产生第二权重矩阵,所述第二权重矩阵包括表示所述第一权重矩阵的值并具有与所述伪节点关联的额外值,所述额外值是基于所述程度分布数据确定的;
针对所述第二图形数据结构中表示所述第一图形数据结构的所述节点的节点确定约束值;
对所述第二图形数据结构和所述第二权重矩阵执行最大权重b匹配操作以产生结果矩阵;
提取所述结果矩阵中与所述第一图形数据结构的所述节点对应的一部分;以及
提供所述结果矩阵的一部分作为输出。
58.根据权利要求57所述的***,其中执行所述最大权重b匹配操作包括对所述第二图形数据结构和第二权重矩阵执行最大流操作。
59.根据权利要求57所述的***,其中执行所述最大权重b匹配操作包括在所述第二图形数据结构的节点间执行信任传播操作。
60.根据权利要求59所述的***,其中所述信任传播操作包括:
在相邻节点之间传递消息,直到满足结束条件,从而更新与所述第二图形数据结构中选定节点的每个相邻节点对应的信任值,每条消息都基于所述第二权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;以及
在与所选节点关联的电子存储器中存储每个更新的信任值和每条接收的消息。
61.一种用于后期处理推荐输出的计算机化方法,所述方法包括:
接收培训数据集,所述培训数据集包含多个节点,所述多个节点具有一组表示用户的节点和一组表示项目的节点;
接收评级矩阵,所述评级矩阵表示用户对所述培训数据集中项目的偏好,所述评级矩阵中的每个单元都包含表示用户之一对项目之一的评级的值;
接收测试数据集,所述测试数据集包含多个节点,所述多个节点具有一组表示用户的节点和一组表示项目的节点,
针对所述培训数据集中的每个用户和项目产生包括偏差边界的偏差边界数据;
基于所述培训数据集和所述评级矩阵学习针对边缘权重的值,并在第一权重矩阵中存储所述边缘权重;
产生扩展的图形数据结构,所述扩展的图形数据结构包括所述测试数据集的节点和额外的伪节点;
产生第二权重矩阵,所述第二权重矩阵包括来自所述第一权重矩阵与来自所述测试数据集的节点对应的值以及与所述伪节点对应的额外值,所述额外值是基于所述偏差边界数据的一部分确定的;
将与所述测试数据集节点对应的扩展图形数据结构节点约束到预定程度值,并且不约束所述扩展图形数据结构中的所述伪节点;
基于所述扩展图形数据结构和所述第二权重矩阵确定最大权重b匹配,其中将b设置成预定程度值,并产生具有二元值的中间图形数据结构;
截取所述中间图形数据结构,从而仅保留与所述测试数据集的节点对应的节点;以及
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出。
62.根据权利要求61所述的计算机化方法,其中确定所述最大权重b匹配包括:
在相邻节点之间传递消息,直到满足结束条件,从而更新与所述扩展图形数据结构中选定用户节点的每个相邻项目节点对应的信任值,每条消息都基于所述第二权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;以及
在与所选用户节点关联的电子存储器中存储每个更新的信任值和每条接收的消息。
63.根据权利要求62所述的计算机化方法,其中产生所述结果图包括:
选择预定数量的与所选用户节点匹配的项目节点,所述匹配基于与所选用户节点相邻的项目节点的更新信任值;以及
输出所选的项目节点。
64.根据权利要求61所述的计算机化方法,其中所述学习包括利用逻辑损失函数执行快速最大裕度矩阵因子分解(fMMMF)。
65.一种推荐***,包括:
第一处理器,所述第一处理器适于学习针对具有多个节点的图形数据结构的边缘的边缘权重,所述多个节点包括一组用户节点和一组项目节点,所述第一处理器还适于在第一权重矩阵中存储所述边缘权重;
第二处理器,所述第二处理器耦合到所述第一处理器并适于从所述第一处理器接收所述图形数据结构的一部分和所述第一权重矩阵,所述第二处理器还适于利用程度分布数据执行匹配操作,所述程度分布数据基于偏差边界数据,所述偏差边界数据包括针对所述图形数据结构中的每个用户和项目的偏差边界,所述偏差边界数据是基于所述图形数据结构的部分和对应于所述图形数据结构的偏好矩阵确定的,
其中所述匹配操作包括:
产生扩展的图形数据结构,所述扩展的图形数据结构包括所述图形数据结构的该部分的节点和多个伪节点;
产生第二权重矩阵,所述第二权重矩阵包括来自所述第一权重矩阵与来自所述图形数据结构的该部分的节点对应的值以及与所述伪节点对应的额外值,所述额外值是基于所述偏差边界数据的一部分确定的;
将与所述图形数据结构节点的该部分对应的扩展图形数据结构节点约束到预定程度值,不约束所述扩展图形数据结构中的所述伪节点;
基于所述扩展图形数据结构和所述第二权重矩阵确定最大权重b匹配,其中将b设置成预定程度值,所述确定包括:
在相邻节点之间传递消息,直到满足结束条件,从而更新与所述扩展图形数据结构中选定用户节点的每个相邻项目节点对应的信任值,每条消息都基于所述第二权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容;以及
在与所选用户节点关联的电子存储器中存储每个更新的信任值和每条接收的消息;
截取所述中间图形数据结构,从而仅保留与所述图形数据结构的节点的该部分对应的节点;以及
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出。
66.根据权利要求65所述的推荐***,其中产生所述结果图包括:
选择预定数量的与所选用户节点匹配的项目节点,所述匹配基于与所选用户节点相邻的项目节点的更新信任值;以及
输出所选的项目节点。
67.根据权利要求66所述的推荐***,其中所述项目包括约会应用中的异性成员。
68.根据权利要求66所述的推荐***,其中所述学习包括利用逻辑损失函数执行快速最大裕度矩阵因子分解(fMMMF)。
69.根据权利要求66所述的推荐***,其中所述项目包括电影。
70.根据权利要求66所述的推荐***,其中所述项目包括图书。
71.根据权利要求66所述的推荐***,其中所述项目包括声音记录。
72.一种计算机可读介质,其上存储有软件指令,用于对计算机进行编程以对推荐数据进行后期处理,在由处理器执行时,所述软件指令令所述处理器执行如下操作,包括:
接收培训数据集,所述培训数据集包含多个节点,所述多个节点包括一组用户节点和一组项目节点;
接收评级矩阵,所述评级矩阵表示用户对所述培训数据集中项目的偏好,所述评级矩阵中的每个单元都包含表示用户之一对项目之一的评级的值;
接收测试数据集,所述测试数据集包含多个节点,所述多个节点包括一组用户节点和一组项目节点;
针对所述培训数据集中的每个用户和每个项目产生偏差边界数据,所述偏差边界数据包括偏差边界;
基于所述培训数据集和所述评级矩阵学习针对所述测试数据集中的边缘权重的值,并在所述第一权重矩阵中存储所述边缘权重,所述学习包括利用逻辑损失函数执行快速最大裕度矩阵因子分解例程;
产生扩展的图形数据结构,所述扩展的图形数据结构包括所述测试数据集的节点和额外的伪节点;
产生第二权重矩阵,所述第二权重矩阵包括来自所述第一权重矩阵与来自所述测试数据集的节点对应的值以及与所述伪节点对应的额外值,所述额外值是基于所述偏差边界数据的一部分确定的;
将与所述测试数据集节点对应的扩展图形数据结构节点约束到预定程度值,不约束所述扩展图形数据结构中的所述伪节点;
基于所述扩展图形数据结构和所述第二权重矩阵确定最大权重b匹配,其中将b设置成预定程度值,所述确定包括:在相邻节点之间传递消息,直到满足结束条件,从而更新与所述扩展图形数据结构中选定用户节点的每个相邻项目节点对应的信任值,每条消息都基于所述第二权重矩阵值和接收的消息,其中根据压缩消息更新规则确定每条消息的数据内容,以及
在与所选用户节点关联的电子存储器中存储每个更新的信任值和每条接收的消息;
截取所述中间图形数据结构,从而仅保留与所述测试数据集的节点对应的节点;以及
基于所述中间图形数据结构的截取部分产生结果图形数据结构作为输出。
73.根据权利要求72所述的计算机可读介质,其中产生所述结果图包括:
选择预定数量的与所选用户节点匹配的项目节点,所述匹配基于与所选用户节点相邻的项目节点的更新信任值;以及
输出所选的项目节点。
74.根据权利要求72所述的计算机可读介质,其中所述项目包括电影。
75.根据权利要求72所述的计算机可读介质,其中所述项目包括图书。
76.根据权利要求72所述的计算机可读介质,其中所述项目包括声音记录。
77.根据权利要求72所述的推荐***,其中所述项目包括约会应用中的异性成员。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12235608P | 2008-12-12 | 2008-12-12 | |
US61/122,356 | 2008-12-12 | ||
PCT/US2009/032070 WO2009094672A2 (en) | 2008-01-25 | 2009-01-26 | Belief propagation for generalized matching |
USPCT/US09/32070 | 2009-01-26 | ||
PCT/US2009/067630 WO2010068840A1 (en) | 2008-12-12 | 2009-12-11 | Machine optimization devices, methods, and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102317962A true CN102317962A (zh) | 2012-01-11 |
CN102317962B CN102317962B (zh) | 2016-03-16 |
Family
ID=42243085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980156712.XA Expired - Fee Related CN102317962B (zh) | 2008-12-12 | 2009-12-11 | 机器优化装置、方法和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US8631044B2 (zh) |
EP (1) | EP2377080A4 (zh) |
CN (1) | CN102317962B (zh) |
WO (1) | WO2010068840A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101534A1 (zh) * | 2012-12-25 | 2014-07-03 | 深圳先进技术研究院 | 云计算的利润最大化调度方法和*** |
CN104903847A (zh) * | 2012-11-09 | 2015-09-09 | 巧生活公司 | 受信任的社交网络 |
CN105162695A (zh) * | 2015-10-13 | 2015-12-16 | 湖南科技学院 | 一种新型的近邻移动社交网络交友隐私保护方法 |
CN106775742A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种用户定制信息的扩展方法及*** |
CN107980146A (zh) * | 2014-04-15 | 2018-05-01 | 凯文·安德鲁·戴布勒 | 以职位为中心的人员评估装置和方法 |
CN108734499A (zh) * | 2017-04-25 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 推广信息效果分析方法及装置、计算机可读介质 |
CN112085158A (zh) * | 2020-07-21 | 2020-12-15 | 西安工程大学 | 一种基于堆栈降噪自编码器的图书推荐方法 |
CN113516170A (zh) * | 2021-05-19 | 2021-10-19 | 电子科技大学 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US11297180B2 (en) | 2007-06-13 | 2022-04-05 | First Orion Corp. | Method and system for providing additional information to called parties |
US8879702B1 (en) | 2007-10-17 | 2014-11-04 | Accudata Technologies, Inc. | Method and system for providing additional information to called parties |
US8625762B1 (en) | 2007-06-13 | 2014-01-07 | Accudata Technologies, Inc. | Providing additional information to called parties |
US8488754B1 (en) | 2007-10-17 | 2013-07-16 | Accudata Technologies, Inc. | IP-enabled information delivery |
US10958781B2 (en) | 2007-06-13 | 2021-03-23 | First Orion Corp. | Providing audio content to a device |
US8548140B2 (en) | 2007-06-13 | 2013-10-01 | I D You, Llc | Providing audio announcement to called parties |
US8811575B2 (en) | 2007-06-13 | 2014-08-19 | I D You, Llc | Delivering additional information to receiving parties for text messaging based caller ID |
US11811966B2 (en) | 2007-10-17 | 2023-11-07 | First Orion Corp. | IP-enabled information delivery |
WO2012021820A2 (en) * | 2010-08-13 | 2012-02-16 | Ii James Duncan Mcrae | System and method for utilizing media content to initiate conversations between businesses and consumers |
US8898197B2 (en) * | 2010-09-02 | 2014-11-25 | Bhargav Senjalia | Method and system for creating a relationship structure |
US8412718B1 (en) * | 2010-09-20 | 2013-04-02 | Amazon Technologies, Inc. | System and method for determining originality of data content |
US8543648B1 (en) * | 2010-12-13 | 2013-09-24 | Imdb.Com, Inc. | Efficiently finding collaborations on a network |
US8751618B2 (en) * | 2011-04-06 | 2014-06-10 | Yahoo! Inc. | Method and system for maximizing content spread in social network |
US8452851B2 (en) | 2011-07-08 | 2013-05-28 | Jildy, Inc. | System and method for grouping of users into overlapping clusters in social networks |
US20130031190A1 (en) | 2011-07-29 | 2013-01-31 | Xtreme Labs Inc. | Method and system for providing notifications |
US8931041B1 (en) | 2011-07-29 | 2015-01-06 | Symantec Corporation | Method and system for visibility and control over access transactions between clouds using resource authorization messages |
US8718534B2 (en) * | 2011-08-22 | 2014-05-06 | Xerox Corporation | System for co-clustering of student assessment data |
WO2013029146A1 (en) * | 2011-08-29 | 2013-03-07 | Woznew Inc. | System and method for identifying groups of entities |
US20130262586A1 (en) * | 2012-04-03 | 2013-10-03 | Xtreme Labs, Inc. | Method and System for Filtering Device Events by Social Graph |
US8782038B2 (en) * | 2012-04-20 | 2014-07-15 | Eharmony, Inc. | Systems and methods for online compatibility matching and ranking |
US20130282497A1 (en) * | 2012-04-23 | 2013-10-24 | George H. Forman | Assigning an advertisement |
US10073827B2 (en) * | 2012-06-07 | 2018-09-11 | Robert Kevin Houston | Method and system to generate a process flow diagram |
US9542462B1 (en) * | 2012-06-14 | 2017-01-10 | Google Inc. | Scaling high-level statistical languages to large, distributed datasets |
US9336302B1 (en) | 2012-07-20 | 2016-05-10 | Zuci Realty Llc | Insight and algorithmic clustering for automated synthesis |
US9652875B2 (en) * | 2012-10-29 | 2017-05-16 | Yahoo! Inc. | Systems and methods for generating a dense graph |
US9489699B2 (en) | 2013-07-10 | 2016-11-08 | Excalibur Ip, Llc | Influence maximization with viral product design |
US9760403B2 (en) * | 2013-07-11 | 2017-09-12 | Hitachi, Ltd. | Information processing system and method for distributing load over hardware processing and software processing |
US9785652B2 (en) * | 2015-04-30 | 2017-10-10 | Michael Flynn | Method and system for enhancing search results |
US9384571B1 (en) * | 2013-09-11 | 2016-07-05 | Google Inc. | Incremental updates to propagated social network labels |
US9710447B2 (en) * | 2014-03-17 | 2017-07-18 | Yahoo! Inc. | Visual recognition using social links |
US9443034B2 (en) * | 2014-05-29 | 2016-09-13 | Microsoft Technology Licensing, Llc | Estimating influence using sketches |
US10325205B2 (en) | 2014-06-09 | 2019-06-18 | Cognitive Scale, Inc. | Cognitive information processing system environment |
US9886705B2 (en) * | 2014-09-26 | 2018-02-06 | Exaclibur Ip, Llc | Advertisement opportunity bidding |
US10191948B2 (en) * | 2015-02-27 | 2019-01-29 | Microsoft Technology Licensing, Llc | Joins and aggregations on massive graphs using large-scale graph processing |
US9351025B1 (en) * | 2015-04-17 | 2016-05-24 | Rovi Guides, Inc. | Systems and methods for providing automatic content recognition to verify affiliate programming |
US9805084B2 (en) | 2015-05-14 | 2017-10-31 | Walleye Software, LLC | Computer data system data source refreshing using an update propagation graph |
US9569558B1 (en) * | 2015-11-25 | 2017-02-14 | International Business Machines Corporation | Method for backfilling graph structure and articles comprising the same |
US20170300923A1 (en) * | 2016-04-19 | 2017-10-19 | Conduent Business Services, Llc | System for identifying root causes of churn for churn prediction refinement |
CN106022838A (zh) * | 2016-05-27 | 2016-10-12 | 天津大学 | 一种电子商务推荐***中用户最近邻居集的优化选取方法 |
US11144871B2 (en) * | 2016-05-31 | 2021-10-12 | Sap Se | Optimized container management system |
US11030246B2 (en) * | 2016-06-10 | 2021-06-08 | Palo Alto Research Center Incorporated | Fast and accurate graphlet estimation |
US10586110B2 (en) * | 2016-11-03 | 2020-03-10 | Netflix, Inc. | Techniques for improving the quality of subjective data |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
EP3333770A1 (en) * | 2016-12-09 | 2018-06-13 | Fujitsu Limited | Matching graph entities in graph data |
US10866943B1 (en) | 2017-08-24 | 2020-12-15 | Deephaven Data Labs Llc | Keyed row selection |
US11055629B2 (en) * | 2017-10-09 | 2021-07-06 | Facebook, Inc. | Determining stability for embedding models |
US10817543B2 (en) * | 2018-02-09 | 2020-10-27 | Nec Corporation | Method for automated scalable co-clustering |
CN108520303A (zh) | 2018-03-02 | 2018-09-11 | 阿里巴巴集团控股有限公司 | 一种推荐***构建方法及装置 |
US11500936B2 (en) * | 2018-08-07 | 2022-11-15 | Walmart Apollo, Llc | System and method for structure and attribute based graph partitioning |
US11216512B2 (en) * | 2018-10-08 | 2022-01-04 | Fujitsu Limited | Accessible machine learning backends |
US10878234B1 (en) * | 2018-11-20 | 2020-12-29 | Amazon Technologies, Inc. | Automated form understanding via layout agnostic identification of keys and corresponding values |
US11663443B2 (en) * | 2018-11-21 | 2023-05-30 | International Business Machines Corporation | Restructuring deep neural networks to reduce the number of parameters |
US11367118B1 (en) * | 2018-11-21 | 2022-06-21 | Amazon Technologies, Inc. | Method, system, and manufacture for min-cost flow item recommendations |
JP2020140452A (ja) * | 2019-02-28 | 2020-09-03 | 富士通株式会社 | ノード情報推定方法、ノード情報推定プログラムおよび情報処理装置 |
US11363275B2 (en) | 2020-07-31 | 2022-06-14 | Netflix, Inc. | Techniques for increasing the accuracy of subjective quality experiments |
US11651031B2 (en) * | 2020-08-10 | 2023-05-16 | International Business Machines Corporation | Abnormal data detection |
US11418618B2 (en) | 2020-11-09 | 2022-08-16 | Nec Corporation | Eco: edge-cloud optimization of 5G applications |
US11461297B1 (en) | 2021-06-09 | 2022-10-04 | T-Mobile Usa, Inc. | Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952682B1 (en) * | 1999-07-02 | 2005-10-04 | Ariba, Inc. | System and method for matching multi-attribute auction bids |
US20060253418A1 (en) * | 2002-02-04 | 2006-11-09 | Elizabeth Charnock | Method and apparatus for sociological data mining |
US20070018587A1 (en) * | 2005-07-08 | 2007-01-25 | Valeo Vision | Lighting and/or signalling device for a vehicle, associated with electronics with a high level of integration |
US20080256034A1 (en) * | 2007-04-10 | 2008-10-16 | Chi-Chao Chang | System and method for understanding relationships between keywords and advertisements |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841958A (en) * | 1995-01-19 | 1998-11-24 | Nec Research Institute, Inc. | Bipartite matching |
US5734592A (en) * | 1995-07-13 | 1998-03-31 | Nec Research Institute, Inc. | Method for determining a ranked set of associations |
US6091424A (en) * | 1996-11-01 | 2000-07-18 | Tom Sawyer Software | Labeling graphical features of drawings |
US6714975B1 (en) * | 1997-03-31 | 2004-03-30 | International Business Machines Corporation | Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques |
US6044361A (en) * | 1998-03-24 | 2000-03-28 | International Business Machines Corporation | Fast inventory matching algorithm for the process industry |
US6169989B1 (en) * | 1998-05-21 | 2001-01-02 | International Business Machines Corporation | Method and apparatus for parallel profile matching in a large scale webcasting system |
US20010056395A1 (en) | 2000-06-09 | 2001-12-27 | Khan Saadat H. | Internet bargaining system |
US6484123B2 (en) * | 2000-11-30 | 2002-11-19 | International Business Machines Corporation | Method and system to identify which predictors are important for making a forecast with a collaborative filter |
WO2002079796A1 (en) * | 2001-03-28 | 2002-10-10 | Norwood Systems Pty Ltd | A wireless communications network |
US7356592B2 (en) * | 2002-01-24 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for web farm traffic control |
US7009991B2 (en) * | 2002-03-28 | 2006-03-07 | Matisse Networks | Reservation-based media access controller and reservation-based optical network |
US7617122B2 (en) * | 2002-08-28 | 2009-11-10 | International Business Machines Corporation | Targeted online marketing |
WO2004061702A1 (en) | 2002-12-26 | 2004-07-22 | The Trustees Of Columbia University In The City Of New York | Ordered data compression system and methods |
US8312049B2 (en) * | 2003-06-24 | 2012-11-13 | Microsoft Corporation | News group clustering based on cross-post graph |
US7577584B2 (en) * | 2003-08-11 | 2009-08-18 | Pierfrancesco La Mura | Double auctions with bargaining |
US7300398B2 (en) * | 2003-08-14 | 2007-11-27 | Siemens Medical Solutions Usa, Inc. | Method and apparatus for registration of virtual endoscopic images |
US7489638B2 (en) * | 2004-04-08 | 2009-02-10 | Alcatel-Lucent Usa Inc. | Scheduling with delayed graphs for communication networks |
US20050243736A1 (en) * | 2004-04-19 | 2005-11-03 | International Business Machines Corporation | System, method, and service for finding an optimal collection of paths among a plurality of paths between two nodes in a complex network |
US7788260B2 (en) * | 2004-06-14 | 2010-08-31 | Facebook, Inc. | Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation |
JP4574265B2 (ja) | 2004-07-27 | 2010-11-04 | 株式会社電算システム | オークションシステム |
US8150634B1 (en) * | 2004-11-12 | 2012-04-03 | Bristol-Myers Squibb Company | Protein-ligand NOE matching for high-throughput structure determination |
US7733895B2 (en) * | 2004-11-29 | 2010-06-08 | Cisco Technology, Inc. | Non-preemptive scheduling in network elements |
US8195693B2 (en) * | 2004-12-16 | 2012-06-05 | International Business Machines Corporation | Automatic composition of services through semantic attribute matching |
US20060253476A1 (en) * | 2005-05-09 | 2006-11-09 | Roth Mary A | Technique for relationship discovery in schemas using semantic name indexing |
WO2006128104A2 (en) | 2005-05-24 | 2006-11-30 | Insider Pages | Advertising systems and methods |
US7890904B2 (en) * | 2005-06-06 | 2011-02-15 | Fujitsu Limited | Estimating jitter in a clock tree of a circuit and synthesizing a jitter-aware and skew-aware clock tree |
US7532586B2 (en) * | 2005-07-18 | 2009-05-12 | Sbc Knowledge Ventures, L.P. | Method of augmenting deployed networks |
US7873185B2 (en) | 2005-08-03 | 2011-01-18 | Siemens Medical Solutions Usa, Inc. | Method for detection and tracking of deformable objects |
US7624054B2 (en) * | 2005-08-25 | 2009-11-24 | Sas Institute Inc. | Financial risk mitigation optimization systems and methods |
WO2007035688A2 (en) | 2005-09-16 | 2007-03-29 | The Ohio State University | Method and apparatus for detecting intraventricular dyssynchrony |
US20070118432A1 (en) | 2005-11-21 | 2007-05-24 | Vijay Vazirani | Systems and methods for optimizing revenue in search engine auctions |
KR100774024B1 (ko) | 2005-12-01 | 2007-11-08 | 주식회사 인비즈테크 | 낙찰에 의한 전자상거래 시스템 및 방법 |
US7720773B2 (en) | 2005-12-29 | 2010-05-18 | Microsoft Corporation | Partitioning data elements of a visual display of a tree using weights obtained during the training state and a maximum a posteriori solution for optimum labeling and probability |
JP4961755B2 (ja) * | 2006-01-23 | 2012-06-27 | 富士ゼロックス株式会社 | 単語アライメント装置、単語アライメント方法、単語アライメントプログラム |
US7689559B2 (en) | 2006-02-08 | 2010-03-30 | Telenor Asa | Document similarity scoring and ranking method, device and computer program product |
WO2007100834A2 (en) * | 2006-02-27 | 2007-09-07 | The Regents Of The University Of California | Graph querying, graph motif mining and the discovery of clusters |
US8078255B2 (en) * | 2006-03-29 | 2011-12-13 | University Of Georgia Research Foundation, Inc. | Virtual surgical systems and methods |
US7720830B2 (en) | 2006-07-31 | 2010-05-18 | Microsoft Corporation | Hierarchical conditional random fields for web extraction |
US7831472B2 (en) * | 2006-08-22 | 2010-11-09 | Yufik Yan M | Methods and system for search engine revenue maximization in internet advertising |
US20080071764A1 (en) | 2006-09-19 | 2008-03-20 | Kazunari Omi | Method and an apparatus to perform feature similarity mapping |
US20080097838A1 (en) * | 2006-10-23 | 2008-04-24 | Microsoft Corporation | Revenue-Based Advertising Auction |
US8799082B2 (en) * | 2006-10-31 | 2014-08-05 | Microsoft Corporation | Generalized online matching and real time risk management |
US20080208671A1 (en) * | 2007-02-28 | 2008-08-28 | Kate Ehrlich | System and method for matching people and jobs using social network metrics |
US20080215607A1 (en) * | 2007-03-02 | 2008-09-04 | Umbria, Inc. | Tribe or group-based analysis of social media including generating intelligence from a tribe's weblogs or blogs |
US7640224B2 (en) | 2007-03-26 | 2009-12-29 | International Business Machines Corporation | Active sampling collaborative prediction method for end-to-end performance prediction |
US8055664B2 (en) * | 2007-05-01 | 2011-11-08 | Google Inc. | Inferring user interests |
US7904461B2 (en) * | 2007-05-01 | 2011-03-08 | Google Inc. | Advertiser and user association |
US7912964B2 (en) | 2007-06-08 | 2011-03-22 | Apple Inc. | Method and apparatus for refactoring a graph in a graphical programming language |
US20090022403A1 (en) | 2007-07-20 | 2009-01-22 | Fujifilm Corporation | Image processing apparatus, image processing method, and computer readable medium |
WO2009029664A2 (en) * | 2007-08-27 | 2009-03-05 | Cornell Research Foundation, Inc. | Method and system for efficient and expressive advertising auctions |
US7778247B2 (en) * | 2007-10-26 | 2010-08-17 | Nokia Siemens Networks Oy | Cross layer network optimization for OFDMA systems using message passing algorithm |
WO2009094672A2 (en) * | 2008-01-25 | 2009-07-30 | Trustees Of Columbia University In The City Of New York | Belief propagation for generalized matching |
US8000262B2 (en) * | 2008-04-18 | 2011-08-16 | Bonnie Berger Leighton | Method for identifying network similarity by matching neighborhood topology |
US20100217668A1 (en) * | 2009-02-26 | 2010-08-26 | Yahoo! Inc. | Optimizing Delivery of Online Advertisements |
US8250600B2 (en) * | 2009-03-31 | 2012-08-21 | Alcatel Lucent | Advertisement scheduling in a packet-based media-delivery system |
CA2761944A1 (en) * | 2009-05-20 | 2010-11-25 | The Trustees Of Columbia University In The City Of New York | Systems devices and methods for estimating |
US8660975B2 (en) * | 2011-12-07 | 2014-02-25 | Yahoo! Inc. | System and method of matching content items and consumers |
-
2009
- 2009-12-11 CN CN200980156712.XA patent/CN102317962B/zh not_active Expired - Fee Related
- 2009-12-11 US US13/133,932 patent/US8631044B2/en not_active Expired - Fee Related
- 2009-12-11 WO PCT/US2009/067630 patent/WO2010068840A1/en active Application Filing
- 2009-12-11 EP EP20090832595 patent/EP2377080A4/en not_active Withdrawn
-
2013
- 2013-11-26 US US14/090,062 patent/US9223900B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952682B1 (en) * | 1999-07-02 | 2005-10-04 | Ariba, Inc. | System and method for matching multi-attribute auction bids |
US20060253418A1 (en) * | 2002-02-04 | 2006-11-09 | Elizabeth Charnock | Method and apparatus for sociological data mining |
US20070018587A1 (en) * | 2005-07-08 | 2007-01-25 | Valeo Vision | Lighting and/or signalling device for a vehicle, associated with electronics with a high level of integration |
US20080256034A1 (en) * | 2007-04-10 | 2008-10-16 | Chi-Chao Chang | System and method for understanding relationships between keywords and advertisements |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104903847A (zh) * | 2012-11-09 | 2015-09-09 | 巧生活公司 | 受信任的社交网络 |
WO2014101534A1 (zh) * | 2012-12-25 | 2014-07-03 | 深圳先进技术研究院 | 云计算的利润最大化调度方法和*** |
US11244258B2 (en) | 2014-04-15 | 2022-02-08 | Kevin Andrew DEIBLER | Position-centric personnel assessment apparatus and method |
CN107980146A (zh) * | 2014-04-15 | 2018-05-01 | 凯文·安德鲁·戴布勒 | 以职位为中心的人员评估装置和方法 |
US11704607B2 (en) | 2014-04-15 | 2023-07-18 | Kevin Andrew DEIBLER | Position-centric personnel assessment apparatus and method |
CN107980146B (zh) * | 2014-04-15 | 2021-08-06 | 凯文·安德鲁·戴布勒 | 以职位为中心的人员评估装置和方法 |
CN105162695A (zh) * | 2015-10-13 | 2015-12-16 | 湖南科技学院 | 一种新型的近邻移动社交网络交友隐私保护方法 |
CN105162695B (zh) * | 2015-10-13 | 2018-08-10 | 湖南科技学院 | 一种新型的近邻移动社交网络交友隐私保护方法 |
CN106775742A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种用户定制信息的扩展方法及*** |
CN108734499A (zh) * | 2017-04-25 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 推广信息效果分析方法及装置、计算机可读介质 |
CN108734499B (zh) * | 2017-04-25 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 推广信息效果分析方法及装置、计算机可读介质 |
CN112085158A (zh) * | 2020-07-21 | 2020-12-15 | 西安工程大学 | 一种基于堆栈降噪自编码器的图书推荐方法 |
CN113516170A (zh) * | 2021-05-19 | 2021-10-19 | 电子科技大学 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
CN113516170B (zh) * | 2021-05-19 | 2023-05-23 | 电子科技大学 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140122506A1 (en) | 2014-05-01 |
US9223900B2 (en) | 2015-12-29 |
EP2377080A4 (en) | 2014-01-08 |
WO2010068840A1 (en) | 2010-06-17 |
CN102317962B (zh) | 2016-03-16 |
EP2377080A1 (en) | 2011-10-19 |
US8631044B2 (en) | 2014-01-14 |
US20120005238A1 (en) | 2012-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102317962B (zh) | 机器优化装置、方法和*** | |
US11995702B2 (en) | Item recommendations using convolutions on weighted graphs | |
Lakshmanaprabu et al. | Ranking analysis for online customer reviews of products using opinion mining with clustering | |
Khan et al. | CNN with depthwise separable convolutions and combined kernels for rating prediction | |
Zhu et al. | Online purchase decisions for tourism e-commerce | |
US20190295114A1 (en) | Digital banking platform and architecture | |
Chen et al. | Using fruit fly optimization algorithm optimized grey model neural network to perform satisfaction analysis for e-business service | |
Wang et al. | Large-scale ensemble model for customer churn prediction in search ads | |
WO2009094672A2 (en) | Belief propagation for generalized matching | |
US20140129320A1 (en) | B-matching using sufficient selection belief propagation | |
Chen et al. | A multi-kernel support tensor machine for classification with multitype multiway data and an application to cross-selling recommendations | |
Lu et al. | Show me the money: Dynamic recommendations for revenue maximization | |
Fareed et al. | A collaborative filtering recommendation framework utilizing social networks | |
Wang et al. | Who are the best adopters? User selection model for free trial item promotion | |
Yin et al. | A survey of learning-based methods for cold-start, social recommendation, and data sparsity in e-commerce recommendation systems | |
Kusno et al. | Determinant factors of online purchase decision process via social commerce: An empirical study of organic black rice in Indonesia | |
Wen et al. | Improving the novelty of retail commodity recommendations using multiarmed bandit and gradient boosting decision tree | |
Gautam et al. | Customer segmentation using k-means clustering for developing sustainable marketing strategies | |
Leng et al. | Geometric deep learning based recommender system and an interpretable decision support system | |
Artikov et al. | Factorization threshold models for scale-free networks generation | |
Zheng et al. | A Data-Driven Pool Strategy for Price-Makers Under Imperfect Information | |
Xin et al. | Improving latent factor model based collaborative filtering via integrated folksonomy factors | |
Pushpa | Customer context based transactions in mobile commerce business environment | |
Chan | Predictive models for determining if and when to display online lead forms | |
US11556945B1 (en) | Scalable product influence prediction using feature smoothing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160316 Termination date: 20161211 |