基于约束优化的专家匹配方法及系统转让专利

申请号 : CN201010554304.4

文献号 : CN102012911B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐杰唐文斌

申请人 : 清华大学

摘要 :

本发明公开了一种基于约束优化的专家匹配方法,包括:最大化任务与所述任务被分配的专家之间的相关性;根据约束条件建立约束化框架;利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题的描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk};计算专家和任务之间的相关性;根据计算的相关性求解所述约束化框架,得到任务和专家的匹配方案,还公开了一种基于约束优化的专家匹配系统。本发明得到了任务和专家匹配较好的解决方案,并通过用户反馈对解决方案进行调节,得到了任务和专家匹配的最优解。

权利要求 :

1.一种基于约束优化的专家匹配方法,其特征在于,包括以下步骤:S1:采用以下公式最大化任务与所述任务被分配的专家之间的相关性:其中,V(qj)表示分配给任务qj的专家集合,Q(vi)表示分配给专家vi的任务集合,Rij表示专家vi和任务qj的相关性;

S2:根据约束条件建立约束化框架,所述约束条件包括:每一个任务被分配给m个专家,此条件形式化为:使专家之间在工作量上达到平衡,此条件形式化为:增加限制 其中,n1为每一位专家分配到的任务数量的下限值,n2为每一位专家分配到的任务数量的上限值;或2

通过目标函数增加惩罚项 其中|Q(vi)| 是平方惩罚函数,并且∑i|Q(vi)|=N×m,N为专家的个数;

将不同等级的专家的能力形式化为: 其中K为专家等级,且

1 2 k k

V ∪V ∪…∪V =V,其中V 表示等级为k的专家集合,N为专家的个数,V为专家集合;

将专家的专业领域形式化为: 其中,T为专业领域的数目,z为专业领域, 为任务qj属于专业领域z的概率, 为专家vi属于专业领域z的概率, 和 是一个示性函数,当条件满足时 和 取值为

1,反之为0;τ1和τ2为两个阈值,表示仅考虑专家vi和任务qj的相关领域;

将专家不能处理的任务形式化为:增加一个M×N的0-1矩阵U来实现,其中,当且仅当任务qj不适合被分配给专家vi,设置Uij=0,M表示任务个数;

将所述所有约束条件合并到所述目标函数 中,得到最终的约束化框架:

其中λ,η和μk为各约束对应的加权系数,用于调节各类约束的权重;Q是所有任务集合;Q(vi)是分配给专家vi的任务集合;n1和n2为负载下限和上限;

S3:利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk},其中wvik表示专家vi对应的描述文档中出现的第k个单词,wqjk表示任务qj对应的描述文档中出现的第k个单词;

S4:计算专家和任务之间的相关性,计算步骤具体包括:通过语言模型计算专家和任务之间的相关性,公式如下:其中,di是 和 的统称, 表示文档di包含的单词数目,tf(w,di)为文档di中单词w的出现次数,ND为整个LDA话题模型文集D中单词数目,tf(w,D)是单词w在整个文集D中的出现次数,λD为Dirichlet平滑系数;

通过ACT模型计算所述相关性的公式如下:

其中,φz表示与专业领域z的话题相关单词的多项分布, 表示与描述文档di相关话题的多项式分布,结合以上两种方法计算得到的相关性,得到专家和任务之间的相关性S5:根据所述S4计算的相关性求解所述约束化框架,得到任务和专家的匹配方案,具体包括:构造凸费用的带上下界的网络G=(V(G),E(G)),V(G)表示顶点,E(G)表示边,网络中包含代表任务节点的Qj,代表专家的节点Vi,源节点S和汇聚节点H,节点Qjk则代表任务qj被分配给了一个k等级的专家,网络中的不同的边对应所述步骤S2中不同的约束;

根据所述凸费用的带上下界的网络构造与所述约束化框架等价的优化模型:Min ∑(a,b)∈E(G)Cab(f(a,b))其中f(a,b)表示顶点a和b之间弧的流量,lab和uab分别为流量的下界和上界,Cab(f(a,b))为顶点a和b之间弧的凸费用函数;

通过对网络进行变换消去流量上下界限制;

以求解凸费用网络中的最小可行流的方式求得任务和专家的匹配方案。

2.如权利要求1所述的基于约束优化的专家匹配方法,其特征在于,所述步骤S4中的Dirichlet平滑系数取值为所有文档的平均长度。

3.如权利要求1所述的基于约束优化的专家匹配方法,其特征在于,所述步骤S5之后还包括根据用户在线反馈调整匹配结果的步骤:S601:输入:一个与当前分配对应的带流量最小费用网络G以及一个将被移除的不适当的匹配(vi,qj);

S602:计算专家vi的级别;S603:如果可行流f(Qjk,Vi)存在,则转到S604,否则转到S610;

S604:构建残量网络G(f);

S605:计算G(f)中从源节点S到汇聚节点H的最短路径Pback,该G(f)包含反向弧(Vi,Qjk);

S606:取消流f′,f′是一个不包含(Qjk,Vi)的可行流,更新网络G(f);

S607:从G中移除弧(Qjk,Vi),并更新G(f);

S608:计算从S到H的最短增广路径Paug;

S609:沿着Paug增广一个流量;

S610:输出一个新的G(f)对应的分配。

4.如权利要求3所述的基于约束优化的专家匹配方法,其特征在于,所述用户在线反馈包括两种类型:指出一对不合适的匹配,并删除;

找到一位专家和一个任务,在已生成的方案中不匹配,但用户指定该任务分配给该专家。

5.一种基于约束优化的专家匹配系统,其特征在于,包括:相关性最大化模块,用于采用以下公式最大化任务与所述任务被分配的专家之间的相关性:其中,V(qj)表示分配给任务qj的专家集合,Q(vi)表示分配给专家vi的任务集合,Rij表示专家vi和任务qj的相关性;

约束化框架建立模块,用于根据约束条件建立约束化框架,所述约束条件包括:每一个任务被分配给m个专家,此条件形式化为:使专家之间在工作量上达到平衡,此条件形式化为:增加限制 其中,n1为每一位专家分配到的任务数量的下限值,n2为每一位专家分配到的任务数量的上限值;或2

通过目标函数增加惩罚项 其中|Q(vi)| 是平方惩罚函数,并且∑i|Q(vi)|=N×m,N为专家的个数;

将不同等级的专家的能力形式化为: 其中K为专家等级,且

1 2 k k

V ∪V ∪…∪V =V,其中V 表示等级为k的专家集合,N为专家的个数,V为专家集合;

将专家的专业领域形式化为: 其中,T为专业领域的数目,z为专业领域, 为任务qj属于专业领域z的概率, 为专家vi属于专业领域z的概率, 和 是一个示性函数,当条件满足时 和 取值为

1,反之为0;τ1和τ2为两个阈值,表示仅考虑专家vi和任务qj的相关领域;

将专家不能处理的任务形式化为:增加一个M×N的0-1矩阵U来实现,其中,当且仅当任务qj不适合被分配给专家vi,设置Uij=0,M表示任务个数;

将所述所有约束条件合并到所述目标函数 中,得到最终的约束化框架:

其中λ,η和μk为各约束对应的加权系数,用于调节各类约束的权重;Q是所有任务集合;Q(vi)是分配给专家vi的任务集合;n1和n2为负载下限和上限;

话题分布生成模块,用于利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk},其中wvik表示专家vi对应的描述文档中出现的第k个单词,wqjk表示任务qj对应的描述文档中出现的第k个单词;

相关性计算模块,用于计算专家和任务之间的相关性,计算步骤具体包括:通过语言模型计算专家和任务之间的相关性,公式如下:其中,di是 和 的统称, 文档di包含的单词数目,tf(w,di)为文档di中单词w的出现次数,ND为整个LDA话题模型文集D中单词数目,tf(w,D)是单词w在整个文集D中的出现次数,λD为Dirichlet平滑系数;

通过ACT模型计算所述相关性的公式如下:

其中,φz表示与专业领域z的话题相关单词的多项分布, 表示与描述文档di相关话题的多项式分布,结合以上两种方法计算得到的相关性,得到专家和任务之间的相关性匹配方案求解模块,用于根据所述相关性计算模块计算的相关性求解所述约束化框架,得到任务和专家的匹配方案,具体包括:构造凸费用的带上下界的网络G=(V(G),E(G)),V(G)表示顶点,E(G)表示边,网络中包含代表任务节点的Qj,代表专家的节点Vi,源节点S和汇聚节点H,节点Qjk则代表任务qj被分配给了一个k等级的专家,网络中的不同的边对应所述步骤S2中不同的约束;

根据所述凸费用的带上下界的网络构造与所述约束化框架等价的优化模型:Min ∑(a,b)∈E(G)Cab(f(a,b))其中f(a,b)表示顶点a和b之间弧的流量,lab和uab分别为流量的下界和上界,Cab(f(a,b))为顶点a和b之间弧的凸费用函数;

通过对网络进行变换消去流量上下界限制;

以求解凸费用网络中的最小可行流的方式求得任务和专家的匹配方案。

说明书 :

基于约束优化的专家匹配方法及系统

技术领域

[0001] 本发明涉及互联网搜索技术领域,特别涉及一种基于约束优化的专家匹配方法及系统。

背景技术

[0002] 在很多场合下,需要将一系列任务分配给专业的工作人员进行解决,那么如何以最优的方式分配这些工作就是专家匹配的问题,其目标是将一系列的任务进行全局调度,合理地分配给专家们加以解决。专家匹配问题的典型应用包括:学术会议论文-审稿人分配、产品-审查者分配、课程的授课教师分配等。随着互联网的发展,专家匹配问题的应用日趋广泛,例如ChaCha.com是美国最大的人力移动搜索引擎之一,至今为止已经回答了超过3亿个问题。这种基于人力的计算在搜索领域提供了一种新的方向,然而也面临新的挑战,其中的一个关键问题,就是专家匹配问题,即如何将用户的查询合理地分配给合适的专业工作人员进行解决。解决好专家匹配问题,可以使每个专家都专注于自己熟悉的领域,发挥自己的比较优势,以最大化工作效率。
[0003] 由于专家匹配问题有着丰富的应用背景,因此已经有许多工作从多种角度对该问题进行了研究。如论文-审稿人匹配问题的最基本的方法即二分图匹配,即将论文和审稿人分别看作二分图中的两个点集,通过某种偏好设置的方法计算出论文与审稿人的相关性,从而得到一个全连通的带权二分图,然后通过经典的匈牙利算法加以解决。此外,研究人员们还开发了一些用于审稿人分配的系统。在相关专家发现问题(Expert finding)的研究上也取得了一些重要成果。例如,Fang等人提出了一个用于专家发现的层级语言模型(hierarchical language model),Petkova等人使用了一个概率模型来研究专家发现问题,等等。其他的专家匹配问题方法包括:通过对网上内容进行搜索,得到关键字进行匹配;通过隐性语义索引(Latent Semantic Indexing,LSI)的方法计算相关性进行匹配;通过线性规划(linear programming)进行方案分配;通过最小费用网络流的方法进行分配;通过混合多方面信息进行匹配等。
[0004] 已有的方法主要专注于方案分配的算法,通常是对于每个任务通过信息检索的方法独立寻找“相关”的专家,或者专注于相关性的计算,缺乏考虑现实问题中多种不同的限制。因此,需要一个方法可以综合地考虑现实应用中的多种约束条件,并且可以快速地求出合理的匹配方案。

发明内容

[0005] (一)要解决的技术问题
[0006] 本发明要解决的技术问题是:如何结合专家匹配中的约束条件来得到最优的匹配结果。
[0007] (二)技术方案
[0008] 为解决上述技术问题,本发明提供了一种基于约束优化的专家匹配方法,包括以下步骤:
[0009] S1:采用以下公式最大化任务与所述任务被分配的专家之间的相关性:
[0010]
[0011] 其中,V(qj)表示分配给任务qj的专家集合,Q(vi)表示分配给专家vi的任务集合,Rij表示专家vi和任务qj的相关性;
[0012] S2:根据约束条件建立约束化框架;
[0013] S3:利用潜在的狄利克雷分配模型(Latent Dirichlet Allocation,简称LDA)话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk},其中wvik表示专家vi对应的描述文档中出现的第k个单词,wqjk表示任务qj对应的描述文档中出现的第k个单词;
[0014] S4:计算专家和任务之间的相关性;
[0015] S5:根据所述S4计算的相关性求解所述约束化框架,得到任务和专家的匹配方案。
[0016] 其中,所述约束条件包括:
[0017] 每一个任务被分配给m个专家,此条件形式化为:
[0018] 使专家之间在工作量上达到平衡,此条件形式化为:
[0019] 增加限制 其中,n1为每一位专家分配到的任务数量的下限值,n2为每一位专家分配到的任务数量的上限值;或
[0020] 通过目标函数增加惩罚项 其中|Q(vi)|2是平方惩罚函数,并且∑i|Q(vi)|=N×m,N为专家的个数;
[0021] 将不同等级的专家的能力形式化为: 其中K为专家等级,1 2 k k
且V ∪V ∪…∪V =V,其中V 表示等级为k的专家集合,N为专家的个数,V为专家集合;
[0022] 将专家的专业领域形式化为: 其中,T为专业领域的数目,z为专业领域, 为任务qj属于专业领域z的概率, 为专家vi属于专业领域z的概率, 和 是一个示性函数,当条件满足时 和
取值为1,反之为0;τ1和τ2为两个阈值,表示仅考虑专家vi和任务qj的相关领域;
[0023] 将专家不能处理的任务形式化为:增加一个M×N的0-1矩阵U来实现,其中,当且仅当任务qj不适合被分配给专家vi,设置Uij=0Uij=0,M表示任务个数;
[0024] 将所述所有约束条件合并到所述目标函数 中,得到最终的约束化框架:
[0025]
[0026]
[0027]
[0028]
[0029] 其中λ,η和μk为各约束对应的加权系数,用于调节各类约束的权重;Q是所有任务集合;Q(vi)是分配给专家vi的任务集合;n1和n2为负载下限和上限。
[0030] 其中,所述步骤S4具体包括:
[0031] 通过语言模型计算专家和任务之间的相关性,公式如下:
[0032]
[0033]
[0034] 其中,di是 和 的统称, 表示文档di包含的单词数目,tf(w,di)为文档di中单词w的出现次数,ND为整个LDA话题模型文集D中单词数目,tf(w,D)是单词w在整个文集D中的出现次数,λD为Dirichlet平滑系数;
[0035] 通过ACT模型计算所述相关性的公式如下:
[0036]
[0037] 其中,φz表示与专业领域z的话题相关单词的多项分布, 表示与描述文档di相关话题的多项式分布,结合以上两种方法计算得到的相关性,得到专家和任务之间的相关性
[0038] 其中,所述步骤S4中的Dirichlet平滑系数取值为所有文档的平均长度。
[0039] 其中,所述步骤S5具体包括:
[0040] 构造凸费用的带上下界的网络G=(V(G),E(G)),V(G)表示顶点,E(G)表示边,网络中包含代表任务节点的Qj,代表专家的节点Vi,源节点S和汇聚节点H,节点Qjk则代表任务qj被分配给了一个k等级的专家,网络中的不同的边对应所述步骤S2中不同的约束;
[0041] 根据所述凸费用的带上下界的网络构造与所述约束化框架等价的优化模型:
[0042] Min ∑(a,b)∈E(G)Cab(f(a,b))
[0043]
[0044]
[0045] 其中f(a,b)表示顶点a和b之间弧的流量,lab和uab分别为流量的下界和上界,Cab(f(a,b))为顶点a和b之间弧的凸费用函数;
[0046] 通过对网络进行变换消去流量上下界限制;
[0047] 以求解凸费用网络中的最小可行流的方式求得任务和专家的匹配方案。
[0048] 其中,所述步骤S5之后还包括根据用户在线反馈调整匹配结果的步骤:
[0049] S601:输入:一个与当前分配对应的带流量最小费用网络G以及一个将被移除的不适当的匹配(vi,qj);
[0050] S602:计算专家vi的级别;S603:如果可行流f(Qjk,Vi)存在,则转到S604,否则转到S610;
[0051] S604:构建残量网络G(f);
[0052] S605:计算G(f)中从源节点S到汇聚节点H的最短路径Pback,该G(f)包含反向弧(Vi,Qjk);
[0053] S606:取消流f′,f′是一个不包含(Qjk,Vi)的可行流,更新网络G(f);
[0054] S607:从G中移除弧(Qjk,Vi),并更新G(f);
[0055] S608:计算从S到H的最短增广路径Paug;
[0056] S609:沿着Paug增广一个流量;
[0057] S610:输出一个新的G(f)对应的分配。
[0058] 其中,所述用户在线反馈包括两种类型:
[0059] 指出一对不合适的匹配,并删除;
[0060] 找到一位专家和一个任务,在已生成的方案中不匹配,但用户指定该任务分配给该专家。
[0061] 本发明还提供了一种基于约束优化的专家匹配系统,包括:
[0062] 相关性最大化模块,用于最大化任务与所述任务被分配的专家之间的相关性;
[0063] 约束化框架建立模块,用于根据约束条件建立约束化框架;
[0064] 话题分布生成模块,用于利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题的描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk};
[0065] 相关性计算模块,用于计算专家和任务之间的相关性;
[0066] 匹配方案求解模块,用于根据所述相关性计算模块计算的相关性求解所述约束化框架,得到任务和专家的匹配方案。
[0067] (三)有益效果
[0068] 本发明通过将专家匹配的约束条件形式化,并结合任务和专家的相关性建立约束化框架,通过与约束化框架等价的网络模型并对其进行问题转化得到了任务和专家匹配较好的解决方案,并通过用户反馈对解决方案进行调节,得到了任务和专家匹配的最优解。

附图说明

[0069] 图1是本发明实施例的一种基于约束优化的专家匹配方法流程图;
[0070] 图2是潜在的狄利克雷分配模型(Latent Dirichlet Allocation,LDA)的图模型;
[0071] 图3示出了流量带上下界的凸费用网络;
[0072] 图4示出了无源汇网络的构造;
[0073] 图5示出了凸费用函数的转换方式;
[0074] 图6示出了匹配总分(Matching Score)和负载方差(Load Variance)的变化趋势(图(a)和(b)分别显示了随着负载平衡约束中参数η的变化,匹配总分和负载方差的变化趋势);
[0075] 图7示出了负载平衡中强制条件与惩罚函数的比较;
[0076] 图8示出了匹配总分和专家方差(Expertise Variance)随着μ1的变化趋势(匹配总分和专家方差随着μ1的变化趋势);
[0077] 图9示出了Arc-Reduction预处理效率评测结果。

具体实施方式

[0078] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0079] 本发明通过将专家匹配问题形式化定义为一个基于约束的最优化问题,并转化为凸费用网络流问题加以解决。在现实中,自动专家匹配的结果往往会通过手动干预和调整使之变得更加合理,因此本发明还提出了一个根据用户的反馈意见在线调整匹配的方法。最后在两类数据集上进行了实验,并得到了良好的实验结果。
[0080] 如图1所示,为本发明实施例的一种基于约束优化的专家匹配方法流程图,包括:
[0081] 步骤S101,采用以下公式最大化任务与所述任务被分配的专家之间的相关性:
[0082]
[0083] 其中,V(qj)表示分配给任务qj的专家集合,Q(vi)表示分配给专家vi的任务集合,Rij表示专家vi和任务qj的相关性。相关性可以通过不同的方式进行定义,例如采用内容相似性(计算每个任务的文档描述和每个专家的文档描述之间基于关键词的相似度)。
[0084] 步骤S102,根据约束条件建立约束化框架,所述约束条件包括:
[0085] 每一个任务应当被分配给恰好m个专家,形式化为:
[0086] 工作量负载平衡,专家之间在工作量上应当平衡,形式化为:
[0087] 增加一个严格的限制, 其中,n1为每一位专家分配到任务数量的下限值,n2为每一位专家分配到任务数量的上限值;或
[0088] 通过目标函数增加惩罚项, 其中|Q(vi)|2是平方惩罚函数,并且∑i|Q(vi)|=N×m,N为专家的个数;
[0089] 能力负载平衡,不同等级的专家在能力与经验上也有不同,形式化为:1 2 k k
其中K为专家等级,且V ∪V ∪…∪V =V,V为专家集合,其中V
表示等级为k的专家集合,N为专家的个数;
[0090] 专 业 领 域 覆 盖,一 个 专 家 所 了 解 的 领 域,形 式 化 为:其中,T为专业领域(topic)的数目,z为专业领域,
为任务qj属于专业领域z的概率, 为专家vi属于专业领域z的概率, 和
是一个示性函数,当条件满足时 和 取值为1,反之为0。τ1和
τ2为两个阈值,表示仅考虑专家vi和任务qj的相关领域,(即任务在该领域上的分布概率大于阈值τ1,概率分布通过LDA话题模型来发现);
[0091] 冲突回避,某些专家不能处理某些任务,形式化为:增加一个M×N的0-1矩阵U来实现,其中,当且仅当任务qj不适合被分配给专家vi,设置Uij=0,M表示任务个数;
[0092] 将所述所有约束条件合并到所述目标函数 中,可以得到最终的约束化框架:
[0093]
[0094]
[0095]
[0096]
[0097] 其中λ,β和μk为加权系数,用于调节各类约束的权重。
[0098] 步骤S103,利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,图2显示了LDA的图模型,其中参数如表1所示,专家vi的话题的描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk},其中wvik表示专家vi对应的描述文档中出现的第k个单词,wqjk表示任务qj对应的描述文档中出现的第k个单词。
[0099] 表1LDA模型的参数及描述
[0100]
[0101] 步骤S104,计算专家和任务之间的相关性,具体通过语言模型计算专家和任务之间的相关性,公式如下:
[0102]
[0103]
[0104] 其中,di是 和 的统称, 表示文档di包含的单词数目,tf(w,di)为文档di中单词w的出现次数,ND为整个LDA话题模型文集D中单词数目,tf(w,D)是单词w在整个文集D中的出现次数,λD为Dirichlet平滑系数;
[0105] 还可以通过ACT模型计算,得到另一个专家和任务之间的相关性φz表示与专业领域z的话题相关单
词的多项分布, 表示与描述文档di相关话题的多项式分布。最后得到专家和任务之间的相关性为 其中,Dirichlet平滑系数取值为所有文档的平均长度,文档长度
为文档中的字符数。
[0106] 步骤S105,根据所述S104计算的相关性求解所述约束化框架,得到任务和专家的匹配方案。具体步骤如下:
[0107] S1051:输入:专家集合V,任务集合Q,匹配总分矩阵RM×N,COI矩阵UM×N,专家级别序号K,每一个任务恰好分配给专家的个数m,每一位专家分配到任务数量的下限值n1以及每一位专家分配到任务数量的上限值n2。
[0108] S1052:创建带有源节点S和汇聚节点H的网络G;
[0109] S1053:对于集合Q中每个元素qj,进行如下操作:
[0110] -创建K+1个节点,分别用Qj,Qj1,…,QjK表示;
[0111] -添加一条源节点S到到Qj节点的带有零费用和[m,m]流量约束的弧;
[0112] -添加一条从Qj节点到Qjk节点的带有平方费用函数μXf2和流量约束[0,m]的弧;
[0113] S1054:对于集合V中每个元素vi,进行如下操作:
[0114] -创建一个节点Vi;
[0115] -添加一条从Vi到汇聚节点H的带有平方费用函数βf2和流量约束[n1,n2]的弧;
[0116] S1055:当约束条件满足Uij=1,则对Q和V中每个元素进行以下操作:
[0117] -给每个专家vi指定级别k;
[0118] -添加一条丛Qjk到Vi的带有线性费用函数(Rij-λIij)f和流量约束[0,1]的弧;
[0119] S1056:计算网络G最小费用流量;
[0120] S1057:当Uij=1时,对Q和V中每个元素进行以下操作:
[0121] -给每个专家vi指定级别k;
[0122] -如果流量f(Qjk,Vi)为1,则将任务qj分配给专家vi;
[0123] S1058:输出最终的约束优化框架的解。
[0124] 首先创建两个虚点S和H,S为任务的集合,H为专家的集合,从虚点S指向所有任务Q1,Q2,...,QN,所有不同级别的专家节点V1,V2,V3,...,VN指向H,再将Q1节点组中的Q11,Q12,...,Q1K分别指向节点V1,V2,V3,...,VN。其中,节点Qjk代表任务qj被分配给了一个k等级的专家。根据相关度建立不同问题和专家之间的网络的边,边的权重即为问题和专家的相关度。同样,QN节点组中的QN1,QN2,...,QNK也分别指向节点V1,V2,V3,...,VN,从而构造出凸费用的带上下界的网络G=(V(G),E(G)),如图3所示,V(G)表示顶点,E(G)表示边,网络中包含代表任务节点的Qi,代表专家的节点VX,源节点S和汇聚节点H,节点Qjk则代表任务qj被分配给了一个k等级的专家,网络中的不同的边对应了所述步骤S102中不同的约束。
[0125] 根据所构造的凸费用网络,可以写出等价的优化模型:
[0126] Min ∑(a,b)∈E(G)Cab(f(a,b))
[0127]
[0128]
[0129] 其中f(a,b)表示顶点a和b之间弧的流量,lab和uab分别为流量的下界和上界,Cab(f(a,b))为顶点a和b之间弧的凸费用函数。
[0130] 通过对网络进行变换消去流量上下界限制,假设原网络为G=(V,E),网络的源点为S,汇点为H。对于弧(a,b)∈E,其流量上下界分别为B(a,b)和C(a,b),设弧(a,b)的流量为f(a,b)。则,f是网络G的一个可行流当且如下条件被满足:
[0131] 上下界条件:
[0132] 流量平衡条件:
[0133] u是网络G中的一个除了S和H外的任意节点,i表示节点i和节点u之间存在一条指向节点u的弧,j表示节点j和节点u之间存在一条指向节点j的弧。
[0134] 首先,将原网络G改造为“无汇源”的网络,如图4所示。那么,流量平衡条件改写为
[0135]
[0136] ∑i(g(i,u)+B(i,u))=∑j(g(u,j)+B(u,j))
[0137] ∑ig(i,u)+(∑iB(i,u)-∑jB(u,j))=∑jg(u,j)
[0138] 设节点u的流入流量和流出流量之差δ(u)=∑iB(i,u)-∑jB(u,j),那么流量平衡条件即为 其中f(i,u)为弧(i,u)的实际流量,g(i,u)为弧(i,u)的流量增量,B(i,u)为弧(i,u)的流量下界,0≤g(a,b)≤C(a,b)-B(a,b)。由于g只有上界没有下界,可以将其看做一个新的流量。此外,所增加的边费用均为0,因此不会对原网络中的费用产生任何影响,最后,通过采用普通最小费用流问题的SAP(Shortest Augmenting Path)算法求得g,而f=B+g,这样,通过这种消去流量上下界限制的变换可以等价地求得原问题中带上下界网络的解。
[0139] 将凸费用限制转变为线性费用求得任务和专家的匹配方案。由于本发明前述方案中已经知道如何消去下界,因此这里仅需要考虑仅有流量上界的情况。以平方函数为例,对于一条边(Ej,H),设其容量为m。可以通过如图5的转换方式,将其转化为线性费用。
[0140] 更具体的,对于一条边(a,b),若容量为x,凸费用函数为w(f)(即满足w(0)=0,w”(f)>0)。则,可以将边(a,b)拆分为x条边,第i条边的容量为1,费用为s(i)=w(i)-w(i-1)。若对于任意i>2,s(i)>s(i-1),那么在网络流求方案时,由于求的是最小费用方案,总是优先选择费用最小的弧。从而,在(a,b)之间,选择的边的集合必是拆分边集合的一个前缀,从而其费用总和恰好等于w(f)。通过前述的改造,将带上下界的凸费用的最小费用可行流问题转化为了普通的最小费用流问题。从而,采用经典的SAP算法解决即可。此外,为了处理大规模的数据,还可以使用最小费用流算法的并行实现。
[0141] 本发明步骤S105之后还包括根据用户在线反馈进行调整匹配结果的步骤,通常用户的反馈意见包含两种类型:①指出一对不合适的匹配,并删除;②找到一位专家和一个任务,在已生成的方案中不匹配,但用户指定该任务分配给该专家。
[0142] 在线调整目标就是配合用户的反馈意见进行全局的调整。一个重要的性质在于,当用户提供一个反馈意见时,匹配方案可以动态的更新结果,而不需要重新运行整个匹配算法。而网络流的解决方法,正好可以提供这样的功能,可以通过退流加重新增广的方法进行动态的更新。下面,对于第一种类型的用户反馈进行调整的算法,第二种类型的反馈也可以类似地进行操作。通过调整之后,算法产生的匹配结果依然在给定的约束条件下最优。基于以上分析在线调整的具体步骤包括:
[0143] S601:输入:一个与当前分配对应的带流量最小费用网络G,一个将被移除的不适当的匹配(vi,qj);
[0144] S602:计算专家vi的级别;
[0145] S603:如果可行流f(Qjk,Vi)存在,则转到S604,否则转到S610;
[0146] S604:构建残量网络G(f);
[0147] S605:计算G(f)中从源节点S到汇聚节点H的最短路径Pback,该G(f)包含反向弧(Vi,Qjk);
[0148] S606:取消流f′,f′是一个不包含(Qjk,Vi)的可行流,更新网络G(f);
[0149] S607:从G中移除弧(Qjk,Vi),并更新G(f);
[0150] S608:计算从S到H的最短增广路径Paug;
[0151] S609:沿着Paug增广一个流量;
[0152] S610:输出一个新的G(f)对应的分配。
[0153] 采用反证法证明,假设G(f′)中存在负环C。分两种情况进行讨论。①负环C与最短路Pback不相交,那么意味着负环C不是由退流产生的,即C也应该出现在G(f)中,与f的最优性矛盾;②负环C与Pback相交,那么此时,将C与Pback合并,将得到一条从G(f)的源到汇费用更小的退流路径,这与Pback为最短路矛盾。综上,f′在其流量下最优,从而,在线调整算法将给出去除匹配(qj,vi)之后的最优解。
[0154] 本发明还提供了一种基于约束优化的专家匹配系统,包括:相关性最大化模块,用于最大化任务与所述任务被分配的专家之间的相关性;约束化框架建立模块,用于根据约束条件建立约束化框架;话题分布生成模块,用于利用LDA话题模型为每一位专家和每一个任务分别自动生成话题分布,专家vi的话题的描述文档为dvi={wvik},每一个任务qj的话题描述文档dqj={wqjk};相关性计算模块,用于计算专家和任务之间的相关性;匹配方案求解模块,用于根据所述相关性计算模块计算的相关性求解所述约束化框架,得到任务和专家的匹配方案。
[0155] 下面以一个面向论文-审稿人推荐的在线系为例,并且在该系统中为投稿论文分配领域内审稿专家来验证本发明提出的基于约束优化的专家匹配方法。
[0156] 论文-审稿人分配问题的数据集包括338篇论文和354位审稿人。这354位审稿人来自SIGKDD’09的Program Committee成员,而338篇paper来自于SIGKDD’08,SIGKDD’09和ICDM’09的proceedings。对于每一位审稿人,通过学术搜索系统ArnetMiner收集作者所有发表的文章,并将这些文章的摘要连接在一起作为该审稿人的描述文档。对于COI(conflict-of-interest)问题,通过近几年的coauthor关系构造COI矩阵U,即若某一篇论文的作者和某一位审稿人若在近5年内共同合作发表过文章,则认为该审稿人不适合审这篇论文(存在COI)。最后,设每一篇论文应该被m=5为审稿人审阅,而一位审稿人(专家)最多可以审阅n2=10篇论文。
[0157] 本发明使用一个贪心算法作为基准算法(baseline method),即贪心基准算法。贪心基准算法的思想如下:对于每一个任务,在保持强制“负载平衡”条件(即|Q(vi)|≤n2)和满足“冲突避免”约束的情况下,选择最相关的专家指派给这个任务。在论文-审稿人分配问题中,由于没有标准答案,为了量化地来评估的方法,定义如下评测指标:
[0158] ①匹配总分(Matching Score,简写为MS):定义为分配方案的相关性之和。
[0159]
[0160] ②负载方差(Load Variance,简写为LV):定义为专家之间的任务量的方差。
[0161]
[0162] ③专家方差(Expertise Variance,简写为EV):定义为任务之间分配到的顶级审稿人数量的方差。
[0163]
[0164] 在实验中,通过调节不同的参数以观察其对匹配总分的影响。同时,还测试了算法的运行效率。所有的实验均在一台运行Windows XP SP2,配置为Intel Core2 Quad CPU Q9550(2.83GHz),3.2G内存的计算机上运行。
[0165] 在本实验中,首先设μ=0(μ为约束“专家平衡”的权重),然后通过调节参数η(η为约束“专业领域覆盖”的权重)来观察“负载平衡”约束中的惩罚函数对匹配结果的影响。图6中(a)显示了惩罚函数随着η的变化对匹配结果的影响,可以看到随着η的增加,匹配总分(Matching Score)轻微下降。图6中(b)则显示了η对负载方差(Load Variance)的影响,可以发现,负载方差(Load Variance)迅速地朝着平衡的方向变化。
[0166] 在图7中比较了实现“负载平衡”约束的两种方法:强制条件和惩罚函数。对于强制条件方法,通过设置不同的负载下限n1(固定n2=10),而对于惩罚函数的方法,调节加权系数η,从而得到两条LV-MS曲线。由图7可知,惩罚函数的方法往往可以得到更好的效果,这是因为强制条件限制比较严格,使得“能者不能多劳”,限制了其分配结果的性能。因此,在实际使用中,两个限制条件应当都加,通过强制条件使得每位专家的工作量在可控的范围内,再通过惩罚函数的方法去自动调节。
[0167] 接着,设η=0,仅考虑“专家平衡”约束。在实验中,根据专家的H-Index将审稿人分为高级审稿人和一般审稿人两类。同时设μ2=0,从而仅考虑高级专家的平衡。图8显示了匹配总分(Matching Score)和专家方差(Expertise Variance)随着μ1的变化趋势。
[0168] 本实验将分析不同的约束条件对整体匹配总分的影响。首先将所有的限制条件都删去,即使用最初的目标函数,接着逐个加入限制条件(按照负载平衡、专家平衡、话题覆盖、冲突避免这个顺序),并计算匹配总分。表2列出了匹配总分(Matching Score)的变化。可以发现,增加负载平衡这一约束条件会较大的影响匹配总分,而其他的条件影响甚微。这是因为一些高级的专家往往在很多方面都有着深入的了解,因此在最优化的分配方案中会被赋予非常大的工作量。加入负载平衡约束后,匹配总分的减少实际上就是平衡了这些专家的工作量。接着对算法运行效率也进行评测。将比较原有算法和增加了缩减无用边(称之为Arc-Reduction)预处理之后的运行时间。从图9可以看到,Arc-Reduction预处理过程显著地加速了算法。当设置c=12时,可以发现,算法在匹配分值上没有任何损失,但速度至少提升了3倍。最后,本实验给出算法分配结果的Case Study(见表3),可以看到,该算法得出的分配方案是十分合理的。例如,Lise Getoor的研究兴趣包含了关系学习,而她被分配了许多关于社会网络的论文。
[0169] 表2不同约束条件对匹配总分的影响
[0170]
[0171] 表3三位随机挑选的审稿人被分配的论文一览
[0172]
[0173] 基于本发明中提出的方法,开发了一个面向论文-审稿人推荐的在线系统。系统需要用户提供的输入为一个论文的列表(包括标题、摘要、作者、每个作者的单位)和一个会议程序委员会名单。系统将通过ArnetMiner为每一篇论文和每个审稿人寻找相应的领域(话题)分布并计算相关性得分。根据输入的信息,系统将自动生成论文和审稿人的匹配方案。每位审稿人将被分以5~7篇论文,每篇论文被分给三个不同的审稿人。系统将通过coauthor的历史记录和作者、审稿人的单位生成COI信息。用户可以提供在线调整的反馈,系统将根据反馈自动对结果加以更新。
[0174] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。