CN103761254B - 多领域服务主题匹配推荐方法 - Google Patents
多领域服务主题匹配推荐方法 Download PDFInfo
- Publication number
- CN103761254B CN103761254B CN201310732583.2A CN201310732583A CN103761254B CN 103761254 B CN103761254 B CN 103761254B CN 201310732583 A CN201310732583 A CN 201310732583A CN 103761254 B CN103761254 B CN 103761254B
- Authority
- CN
- China
- Prior art keywords
- service
- field
- adapter
- matrix
- theme
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000000203 mixture Substances 0.000 claims description 103
- 239000011159 matrix material Substances 0.000 claims description 70
- 238000012549 training Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种多领域服务主题匹配推荐方法,其分析用户所输入的文本信息中所包含的服务组合及服务组合的主题分布,并利用训练好的‘需求‑领域’匹配器中得到所获取的服务组合与D个服务领域的相关概率,根据相关概率对D个服务领域进行从高到低排序,并将排序结果推荐给用户。在每个服务领域中分别利用与各自的服务领域相对应的‘领域‑服务’匹配器,得到每个服务领域的‘领域‑服务’匹配器所预测的服务的主题分布,然后计算该服务领域所对应的服务的主题分布与该服务领域内每个服务的主题分布的相似度;在每个服务领域中,对所计算出的相似度按照从大到小排序以得到对该服务领域中服务进行由高到低的排序,并将排序的结果推荐给用户。
Description
技术领域
本发明涉及计算机系统建模及数据分析领域,尤其涉及多领域服务主题匹配推荐方法。
背景技术
随着网络服务的不断发展成熟,互联网正在经历由“数据为中心”到“以服务为中心”的转变。近年来,随着面向服务计算(Service Oriented Computing,简称SOC)的兴起,互联网上大量的软件提供商改变了自己的传统经营模式,开始采用软件即服务(Softwareas a Service,简称SaaS)的模式来提供软件服务(以下均简称服务),与此同时大量用户利用互联网上SaaS模式的开放服务来开发自己的应用。为了满足复杂多变的需求,众多的服务以动态组合的形式被开发者组合并产生了附加价值,形成了服务组合这样一种形式。在这种模式下,一方面互联网上大量的服务提供商提供的各类服务具有不同的功能、不同的服务质量;一方面用户的需求复杂多变,用户很难能清晰的表达需要哪些类型的服务。因此,在这种服务信息过载,又缺少统一信息描述规范的情况下,如何利用语义描述信息针对服务组合进行有效的服务推荐,使用户高效地进行服务组合,对互联网的良性发展有着十分重要的意义。
传统的服务推荐往往只需要满足用户单一功能需求;然而在服务组合中,用户可能同时需要不同领域的几个服务,并将他们集成服务组合,满足复杂的需求。例如,用户要开发这样一个应用“基于GPS定位的社交网络应用,用户可以与社交网络中的好友分享地理信息”。从用户的这段需求描述中,我们可以提炼出来对三个领域服务的潜在需求:一是“地图和定位”领域相关的服务,用以获得地理信息;二是“社交网络平台”领域的相关服务,用以提供连接社交网络平台的接口;三是“移动终端”领域的相关服务,显然用户的‘GPS定位’很可能会调用一些移动终端相关的领域的服务。
从上例中我们了解到,针对服务组合的服务推荐包含两个关键点:一是理解用户隐含在需求中的多方面功能性需求和非功能性需求;二是根据这些需求,找到相关的领域,并且推荐这些领域内满足条件的服务。现有的针对服务组合的服务推荐技术,大多针对第一个关键点做出了一些探索性的工作;然而如何抽取用户需求中的可能相关领域,并为针对每个相关领域都提供一个推荐服务列表依然没有得到有效的解决,这也影响了服务推荐的效果,降低了用户进行服务组合的效率。
发明内容
鉴于以上内容,有必要提供一种多领域服务主题匹配推荐方法,其能抽取用户需求中相关的服务领域,并为针对每个服务领域都推荐一个服务列表。
一种多领域服务主题匹配推荐方法,其包括:接收步骤,接收用户输入的文本信息;获取步骤,利用训练好的服务组合隐狄利克雷分布LDA主题模型获取所接收的文本信息中所包含的服务组合及服务组合的主题分布;计算步骤一,根据所获取的服务组合的主题分布,并利用训练好的‘需求-领域’匹配器中得到所获取的服务组合与D个服务领域的相关概率;排序步骤一,对所获取的服务组合与D个服务领域的相关概率从大到小排序以得到对D个服务领域进行从高到低进行排序,并将D个服务领域进行从高到低进行排序的结果推荐给用户;计算步骤二,根据所获取的服务组合的主题分布,在每个服务领域中分别利用与各自的服务领域相对应的‘领域-服务’匹配器,得到每个服务领域的‘领域-服务’匹配器所预测的服务的主题分布,并对每个‘领域-服务’匹配器所预测的服务的主题分布进行归一化处理;计算步骤三,在每个服务领域中,计算该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度;排序步骤二,在每个服务领域中,对所计算出的该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度,按照从大到小进行排序以得到对该服务领域中服务进行由高到低的排序,并将每个服务领域中的服务进行由高到低的排序的结果推荐给用户。
相较于现有技术,所述多领域服务主题匹配推荐方法,其能够利用主题相似度将服务有效聚类到不同的服务领域中,对服务进行有效的组织;能够自动挖掘隐含在用户需求文本中的对多个服务领域的需求,对相关服务领域进行排序;能够挖掘每个服务领域中服务与用户需求的匹配程度,对每个服务领域中的服务进行推荐排序,经实证数据验证,本发明的方法提高了服务推荐的准确率。
附图说明
图1是本发明多领域服务主题匹配推荐系统的应用环境图。
图2是本发明多领域服务主题匹配推荐系统的架构图。
图3是本发明多领域服务主题匹配推荐方法的较佳实施例的流程图。
图4是本发明多领域服务主题匹配推荐结果的示意图。
主要元件符号说明
计算装置 | 100 |
存储设备 | 10 |
处理设备 | 20 |
多领域服务主题匹配推荐系统 | 30 |
客户端 | 200 |
接收模块 | 300 |
获取模块 | 301 |
计算模块 | 302 |
排序模块 | 303 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明多领域服务主题匹配推荐系统的应用环境图。应用环境图中包括一个计算装置100,该计算装置100与多个客户端200相连。用户通过客户端200输入自己的需求,所述多领域服务主题匹配推荐系统30(以下简称“系统30”)应用于计算装置100中有效抽取用户需求中涉及的多个服务领域,并在每个领域中推荐与用户需求相关的服务。该计算装置100还包括存储设备10及处理设备20,所述客户端200还用于将每个领域中与用户需求相关的服务推荐给用户。
所述存储设备10中存储有多个服务组合的文本信息及多个服务的文本信息。所述文本信息包括描述文本、标签等,一个服务组合会调用一个或者多个服务。
在本实施例中,所述多个服务组合的文本信息及多个服务的文本信息是样本数据,用M表示服务组合的总数,用N表示服务的总数,这N个服务就构成一个服务集合,可利用多领域服务聚类法将服务集合中每个服务聚类到预设的D个不同的服务领域中,聚类的过程在后续详述。聚类后的结果用于训练‘需求-领域’匹配器、‘领域-服务’匹配器。‘需求-领域’匹配器、‘领域-服务’匹配器都是事先训练好的,便于系统30在接收到用户的需求后,能利用需求-领域’匹配器及‘领域-服务’匹配器计算出D个领域中与用户需求相关的服务。‘需求-领域’匹配器、‘领域-服务’匹配器的训练过程在后续详述。
如图2所示,所述聚类的过程由服务领域聚类模块来处理,训练‘需求-领域’匹配器、‘领域-服务’匹配器的过程由训练匹配器模块来处理。服务集合中有S1,S2...SN个服务,经过多领域服务聚类法聚类后分配到领域1,领域2...领域D中,其中N表示服务集合中总的服务个体数目;表示领域1中的服务个体,其中N1代表领域1的服务个体总数;依次类推N2...ND分别代表领域2~D的服务个体总数。服务集合中的每个服务都有服务主题,用表示。服务组合会调用服务集合中的一个或者多个服务。结合所得到的D个服务领域,从服务组合调用服务的信息中挖掘‘需求-领域’匹配模式以及‘领域-服务’匹配模式以得到‘需求-领域’匹配器,‘领域1-服务’匹配器,...,‘领域D-服务’匹配器,每个服务领域对应一个‘领域-服务’匹配器,如领域1对应‘领域1-服务’匹配器。当用户输入服务组合需求C1,C2...Cm后,结合服务组合的服务主题T1,T2,...,,利用‘需求-领域’匹配器挖掘与用户输入的服务组合需求相关的服务领域;再利用该服务领域的‘领域-服务’匹配器完成给出该服务领域内的服务排序列表。
所述计算装置100可以是电脑、服务器等。所述客户端200可以是电脑、手机、PDA(Personal Digital Assistant,个人数字助理)等。
所述多领域服务主题匹配推荐系统30由一个或者多个模块构成,所述系统30包括接收模块300、获取模块301、计算模块302及排序模块303,所述模块的功能将在后续中详述。
如图3所示,是本发明多领域服务主题匹配推荐方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S11,接收模块300接收用户输入的文本信息。
步骤S12,获取模块301利用训练好的服务组合隐狄利克雷分布(LatentDirichlet Allocation,LDA)题模型获取所接收的文本信息中所包含的服务组合及服务组合的主题分布。
在本实施例中,所述服务组合LDA主题模型的训练数据为存储设备10中所存储的M个服务组合的文本信息,其训练方式按照标准LDA主题模型进行。所获取的服务组合的主题分布用1×Kc的向量cqv表示,其中Kc表示服务组合的主题总数。
步骤S13,计算模块302根据所获取的服务组合的主题分布,并利用训练好的‘需求-领域’匹配器中得到所获取的服务组合与多个服务领域的相关概率。
在本实施例中,共有D个服务领域,‘需求-领域’匹配器的输出端为1×D的向量。该向量中每个元素分别表示所获取的服务组合的主题分布与D个服务领域的相关概率。
所述D个服务领域是事先对存储设备10中存储的M个服务组合的文本信息及N个服务的文本信息处理得到的,利用多领域服务聚类法将服务集合中的N个服务聚类到预设的D个不同的服务领域。聚类的具体过程如下:
(a1)对每个服务的的文本信息(如描述文本,标签等),利用LDA话题模型获得每个服务的主题分布,用矩阵STF来形式化描述N个服务的主题分布。STF为N×Ks维矩阵,N表示服务的总数,Ks表示服务涉及到的主题总数。STF矩阵第i行第j列的元素STF(i,j)表示Tj′在Si中的分布权重,其中Tj′表示服务中的主题j,Si表示服务i。矩阵的每一行为一个服务的主题分布。
(a2)将存储设备10中所存储的服务组合与服务的调用关系用矩阵CS来形式化描述。CS为M×N维稀疏矩阵,M表示服务组合的总数,N表示服务的总数,CS矩阵第i行第j列的元素CS(i,j)=1表示服务组合Ci调用了服务Sj;CS(i,j)=0,表示服务组合Ci没有调用了服务Sj。
(a3)对所述CS矩阵的每一列求和,即SUM(CS(:,j)),表示服务Sj被所有服务组合调用的次数,用以表征服务Sj的热度Sj.popular。
(a4)确定D个服务领域中每个服务领域的核心服务。
预先设定服务领域的总数为D,根据所有N个服务中每两个服务的相似度及N个服务中每个服务的热度来为这D个服务领域中的每个领域确立一个核心服务,具体做法如下:
首先计算所有N个服务Si,1≤i≤N的两两相似度(KL距离衡量),并用矩阵SimSS来形式化描述。SimSS为N阶对称阵,矩阵第i行第j列的元素SimSS(i,j)表示服务Si与服务Sj的相似度(KL距离衡量)。再按照下面的描述找到每个领域内的核心服务;
引入一个计数变量d,将其赋初值0;
将热度第一高的服务作为领域1的核心服务,计数变量d加1。
到SimSS矩阵中查找热度第一高的服务与热度第二高的服务的相似度,若大于第一预设阈值,则将热度第二高的服务作为领域2的核心服务,计算变量d加1(表示又找到一个服务领域的核心服务);若小于第一预设阈值,则认为热度第二高的服务不是核心服务,计数变量d不变,跳到热度第三高的服务,判断热度第三高的服务与热度第一高的服务相似度。
当热度第二高的服务与热度第一高的服务相似度大于第一预设阈值(即热度第一高的服务是领域1的核心服务,热度第二高的服务是领域2的核心服务),先将计数变量d加1,d等于2(表示找到两个服务领域的核心服务)。再分别判断热度第三高的服务与领域1、2核心服务的相似度,只有热度第三高的服务与领域1的核心服务相似度大于第一预设阈值且热度第三高的服务与热度第二高的服务相似度大于阈值时,才会将热度第三高的服务分配为服务领域3的核心服务,计数变量d加1,d等于3(表示找到三个服务领域的核心服务);否则跳到热度第四高的服务。
依次类推,直到计数变量d=D,表示所有服务领域的核心服务都找到,则算法结束。
(a5)将N个服务中其余N-D个服务作为非核心服务分配到D个服务领域的每个服务领域中。
在步骤(a4)已经从N个服务中,找到了D个服务领域的核心服务。将其余N-D个服务称为非核心服务,并将这些非核心服务分配到每个服务领域中。具体做法如下:对一个非核心服务Sj,利用(a4)中得到的矩阵SimSS获得非核心服务Sj与D个服务领域中核心服务的相似度;例如,Sj与服务领域d的核心服务相似度最大,则将Sj聚类到服务领域d中。依次类推,直到将所有N-D个非核心服务都聚类到某个服务领域中,算法结束。
利用步骤(a1)至步骤(a5)得到D个服务领域的核心服务及非核心服务,训练‘需求-领域’匹配器的具体过程如下:
(b1)获取训练‘需求-领域’匹配器的输入端数据。
训练‘需求-领域’匹配器时,输入端数据用CTF矩阵表示,其获得方式如下:
对存储设备10中存储的M个服务组合的文本信息(描述文本,标签等),利用LDA话题模型获得每个服务组合的主题权重分布,用矩阵CTF来形式化描述每个服务组合的主题权重分布。CTF为M×Kc维矩阵,M表示服务组合的总数,Kc表示服务组合涉及到的主题总数。CTF矩阵第i行第j列的元素CTF(i,j)表示Tj在Ci中的分布权重,其中Tj表示服务组合中的主题j,Ci表示服务组合i。矩阵的每一行为一个服务组合的主题分布。
(b2)获取训练‘需求-领域’匹配器的输出端数据。
训练‘需求-领域’匹配器时,输出端数据用dI矩阵表示,其为M×D维的矩阵,表示服务组合中是否涉及到了某个领域中的服务(即服务组合中是否涉及到了D个服务领域中某个领域中的服务)。矩阵dI的第i行第d列元素dI(i,d)=1表示服务组合Ci至少用到了服务领域d中的一个服务;dI(i,d)=0表示服务组合Ci没有调用服务领域d中的服务。
矩阵dI获得的方式如下:遍历(a3)中得到的CS矩阵的第i行,获得每个服务组合调用了哪些服务,再查看这些服务属于哪个服务领域。当第i个服务组合调用了D个服务领域中的某个服务领域d(d的取值在1~D之间)的一个服务时,令dI(i,d)=1;其余的领域dI(i,d)=0。依次类推,最终获得所有服务组合调用了哪些服务领域的服务。
(b3)根据训练‘需求-领域’匹配器的输入端数据、输出端数据,并利用ELM标准训练过程训练‘需求-领域’匹配器以得到‘需求-领域’匹配器的参数IWR,BiasR,OWR。
‘需求-领域’匹配器本质上是一个极限学习机(Extreme Learning Machine,ELM),输入端是服务组合的主题分布,输出端是该服务组合与每个服务领域的相关概率。‘需求-领域’匹配器的训练过程就是ELM标准训练过程,即利用得到的输入端数据CTF矩阵作为IWR的输入,利用得到的输出端数据dI矩阵作为OWR的输出,可按照ELM的标准训练方式进行训练,获得‘需求-领域’匹配器的参数IWR,BiasR,OWR。即获得‘输入-隐层’权重IWR矩阵,‘隐层偏置’BiasR向量,‘隐层-输出’OWR矩阵的过程。其中IWR为R×Kc维的矩阵,R表示‘需求-领域’匹配器中隐单元的个数,Kc表示服务组合的主题总数;BiasR为R×1维向量,‘需求-领域’匹配器隐层节点的偏置量;OWR为R×D维矩阵,D为服务领域的总数。
在事先训练好‘需求-领域’匹配器后,即获得到‘需求-领域’匹配器的参数IWR,BiasR,OWR后,当计算模块302把所获取的服务组合的主题分布cqv作为‘需求-领域’匹配器的输入端数据时,再利用训练好‘需求-领域’匹配器的参数IWR,BiasR,OWR就得到‘需求-领域’匹配器的输出端数据,即所获取的服务组合与D个服务领域的相关概率。
步骤S14,排序模块303对所获取的服务组合与D个服务领域的相关概率从大到小排序以得到对D个服务领域进行从高到低进行排序,并将D个服务领域进行从高到低进行排序的结果推荐给用户。即服务组合与某个服务领域的相关概率最大,则服务组合与该服务领域的相关度最高,该服务领域排序最靠前。
步骤S15,计算模块302根据所获取的服务组合的主题分布,在每个服务领域中分别利用与各自的服务领域相对应的‘领域-服务’匹配器,得到每个服务领域的‘领域-服务’匹配器所预测的服务的主题分布,并对每个‘领域-服务’匹配器所预测的服务的主题分布进行归一化处理。
在本实施例中,共有D个服务领域,每个服务领域对应训练好的一个‘领域-服务’匹配器,则共有D个训练好的‘领域-服务’匹配器。即将所获取的服务组合的主题分布cqv分别输入到D个训练好的‘领域-服务’匹配器中。对任意一个训练好的‘领域d-服务’匹配器(d=1,2,…D),‘领域d-服务’匹配器输出端为1×Ks的向量stvd,stvd表示‘领域d-服务’匹配器所预测的服务的主题分布。
利用步骤(a1)至步骤(a5)得到D个服务领域的核心服务及非核心服务,训练任意一个‘领域d-服务’匹配器的具体过程如下:
(c1)获取训练‘领域d-服务’匹配器的输入端数据;
训练‘领域d-服务’匹配器的输入端数据用CTFd矩阵表示,其为Md×Kc维矩阵,Md表示调用服务领域d中服务的服务组合的总数。利用CTF矩阵,从矩阵CTF中抽取出所有调用服务领域d中服务的Md个服务组合的主题分布的行向量,组成新的矩阵CTFd。
(c2)获取训练‘领域d-服务’匹配器的输出端数据;
训练‘领域d-服务’匹配器的输出端数据用MSTFd矩阵表示,其为Md×Ks维矩阵,Ks为服务的主题总数。由输入端数据CTFd的获得过程可知哪些服务组合调用了服务领域d中的服务。因此,利用STF矩阵,从STF矩阵中对应抽取出Md个服务领域d中的服务(被服务组合调用的)的主题分布行向量,组成新的矩阵MSTFd。
依次类推,按照步骤(c1)及(c2)获得每个‘领域d-服务’匹配器的训练数据,表示为{CTFd,MSTFd,1≤d≤D}。
(c3)根据训练‘领域d-服务’匹配器的输入端数据及输出端数据,利用ELM的标准训练过程以得到‘领域d-服务’匹配器的参数IWd,Biasd,OWd。
‘领域d-服务’匹配器本质上也是ELM,输入端是服务组合的主题分布,输出端是与输入端的服务组合相匹配的服务主题分布。‘领域d-服务’匹配器的训练过程就是ELM的标准训练过程,即获得‘输入-隐层’权重矩阵IWd,‘隐层偏置’Biasd向量,‘隐层-输出’OWd的过程。其中IWd为Ld×Kc维的矩阵,Ld表示‘领域d-服务’匹配器中隐单元的个数,Kc表示服务组合的主题总数;Biasd为Ld×1维向量,‘领域d-服务’匹配器的偏置量;OWd为Ld×Ks维的矩阵,Ks表示服务的主题总数。利用CTFd作为IWd的输入,MSTFd作为OWd的输出,即可按照ELM的标准训练方式进行训练,获得‘领域d-服务’匹配器的参数IWd,Biasd,OWd。
依次类推,获得每个‘领域d-服务’匹配器的参数,表示为{IWd,Biasd,OWd,1≤d≤D}
在事先训练好D个‘领域d-服务’匹配器后,即获得到每个‘领域d-服务’匹配器的参数{IWd,Biasd,OWd,1≤d≤D}后,当计算模块302把所获取的服务组合的主题分布cqv作为每个‘领域d-服务’匹配器的输入端数据时,再分别利用训练好的每个‘领域d-服务’匹配器的参数{IWd,Biasd,OWd,1≤d≤D}就分别得到每个‘领域d-服务’匹配器的输出端数据,即对每个‘领域d-服务’匹配器而言,得到的是与输入端的服务组合相匹配的服务的主题分布stvd。即‘领域1-服务’匹配器的输出端数据为与输入端的服务组合相匹配的服务的主题分布stv1。再将stvd向量归一化处理,如下:
归一化的目的是将stvd向量中每个元素都限定在[0,1]范围内。
步骤S16,计算模块302在每个服务领域中,计算该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度。
由矩阵STF可知每个服务的主题分布,则分别计算服务领域d中的每个服务的主题分布与归一化处理后stvd向量的相似度(KL距离衡量)。
步骤S17,排序模块303在每个服务领域中,对该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度,按照从大到小进行排序以得到对该服务领域中服务进行由高到低的排序,并将每个服务领域中的服务进行由高到低的排序的结果推荐给用户。
如图4所示,通过步骤S11-步骤S14的对用户需求层进行分析后,推荐出与用户需求相关概率排名前三的三个服务领域D1,D2,D3;并分别在D1,D2,D3中执行步骤S15及步骤S17后推荐出服务领域D1中的三个服务,即服务领域D1的服务推荐列表为D1(S1,S2,S3),同理来处理服务领域D2,D3分别得到服务领域D2的服务推荐列表D2(S4,S5,S6),及服务领域D3的推荐列表D3(S7,S8,S9)。
通过本发明多领域服务主题匹配推荐方法,能够利用主题相似度将服务有效聚类到不同的服务领域中,对服务进行有效的组织;能够自动挖掘隐含在用户需求文本中的对多个服务领域的需求,对相关服务领域进行排序;能够挖掘每个服务领域中服务与用户需求的匹配程度,对每个服务领域中的服务进行推荐排序,经实证数据验证,本发明的方法提高了服务推荐的准确率。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种多领域服务主题匹配推荐方法,应用于计算装置中,其特征在于,该方法包括:
接收步骤,接收用户输入的文本信息;
获取步骤,利用训练好的服务组合隐含狄利克雷分布LDA主题模型获取所接收的文本信息中所包含的服务组合及服务组合的主题分布;
计算步骤一,根据所获取的服务组合的主题分布,并利用训练好的‘需求-领域’匹配器中得到所获取的服务组合与D个服务领域的相关概率;
排序步骤一,对所获取的服务组合与D个服务领域的相关概率从大到小排序以得到对D个服务领域从高到低进行的排序,并将D个服务领域从高到低进行排序的结果推荐给用户;
计算步骤二,根据所获取的服务组合的主题分布,在每个服务领域中分别利用与各自的服务领域相对应的‘领域-服务’匹配器,得到每个服务领域的‘领域-服务’匹配器所预测的服务的主题分布,并对每个‘领域-服务’匹配器所预测的服务的主题分布进行归一化处理;
计算步骤三,在每个服务领域中,计算该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度;
排序步骤二,在每个服务领域中,对所计算出的该服务领域所对应的归一化处理后的服务的主题分布与该服务领域内每个服务的主题分布的相似度,按照从大到小进行排序以得到对该服务领域中的服务进行由高到低的排序,并将每个服务领域中的服务进行由高到低的排序的结果推荐给用户。
2.如权利要求1所述的多领域服务主题匹配推荐方法,其特征在于,所述D个服务领域是对计算装置的存储设备中存储的M个服务组合的文本信息及N个服务的文本信息处理得到的,利用多领域服务聚类法将服务集合中的N个服务聚类到预设的D个不同的服务领域;
所述利用多领域服务聚类法将服务集合中的N个服务聚类到预设的D个不同的服务领域包括步骤:
(a1)对每个服务的的文本信息,利用LDA话题模型获得每个服务的主题分布,用矩阵STF来形式化描述N个服务的主题分布,STF为N×Ks维矩阵,N表示服务的总数,Ks表示服务涉及到的主题总数,STF矩阵第i行第j列的元素STF(i,j)表示T′j在Si中的分布权重,其中T′j表示服务中的主题j,Si表示服务i,矩阵的每一行为一个服务的主题分布;
(a2)将存储设备中所存储的服务组合与服务的调用关系用矩阵CS来形式化描述,CS为M×N维稀疏矩阵,M表示服务组合的总数,N表示服务的总数,CS矩阵第i行第j列的元素CS(i,j)=1表示服务组合Ci调用了服务Sj;CS(i,j)=0,表示服务组合Ci没有调用服务Sj;
(a3)对所述CS矩阵的每一列求和,即SUM(CS(:,j)),表示服务Sj被所有服务组合调用的次数,用以表征服务Sj的热度Sj.popular;
(a4)确定D个服务领域中每个服务领域的核心服务;
(a5)将N个服务中其余N-D个服务作为非核心服务分配到D个服务领域的每个服务领域中。
3.如权利要求1所述的多领域服务主题匹配推荐方法,其特征在于,训练‘需求-领域’匹配器的步骤包括:
(b1)获取训练‘需求-领域’匹配器的输入端数据;
(b2)获取训练‘需求-领域’匹配器的输出端数据;
(b3)根据训练‘需求-领域’匹配器的输入端数据、输出端数据,并利用ELM标准训练过程训练‘需求-领域’匹配器以得到‘需求-领域’匹配器的参数IWR,BiasR,OWR。
4.如权利要求2所述的多领域服务主题匹配推荐方法,其特征在于,训练‘需求-领域’匹配器的输入端数据用CTF矩阵表示,对计算装置的存储设备中存储的M个服务组合的文本信息,利用LDA话题模型获得每个服务组合的主题权重分布,用矩阵CTF来形式化描述每个服务组合的主题权重分布,CTF为M×Kc维矩阵,M表示服务组合的总数,Kc表示服务组合涉及到的主题总数,CTF矩阵第i行第j列的元素CTF(i,j)表示Tj在Ci中的分布权重,其中Tj表示服务组合中的主题j,Ci表示服务组合i,矩阵的每一行为一个服务组合的主题分布。
5.如权利要求2所述的多领域服务主题匹配推荐方法,其特征在于,训练‘需求-领域’匹配器的输出端数据用dI矩阵表示,其为M×D维的矩阵,表示服务组合中是否涉及到了某个领域中的服务,矩阵dI的第i行第d列元素dI(i,d)=1表示服务组合Ci至少用到了服务领域d中的一个服务;dI(i,d)=0表示服务组合Ci没有调用服务领域d中的服务;
获得矩阵dI的步骤包括:
遍历(a3)中得到的CS矩阵的第i行;
获得每个服务组合调用的服务;
查看所获得的服务所属的服务领域,当第i个服务组合调用了D个服务领域中的某个服务领域d的一个服务时,令dI(i,d)=1,d的取值在1~D之间;其余的服务领域dI(i,d)=0,直至最终获得所有服务组合调用的服务领域的服务。
6.如权利要求3所述的多领域服务主题匹配推荐方法,其特征在于,把所获取的服务组合的主题分布cqv作为‘需求-领域’匹配器的输入端数据时,再利用训练好的‘需求-领域’匹配器的参数IWR,BiasR,OWR就得到‘需求-领域’匹配器的输出端数据,所得到的输出端数据为所获取的服务组合与D个服务领域的相关概率,其中cqv为1×Kc的向量,其中Kc表示服务组合的主题总数。
7.如权利要求1所述的多领域服务主题匹配推荐方法,其特征在于,每个服务领域对应训练好的一个‘领域-服务’匹配器,则共有D个训练好的‘领域-服务’匹配器,训练任意一个‘领域d-服务’匹配器包括步骤:
(c1)获取训练‘领域d-服务’匹配器的输入端数据;
(c2)获取训练‘领域d-服务’匹配器的输出端数据;
(c3)根据训练‘领域d-服务’匹配器的输入端数据及输出端数据,利用ELM的标准训练过程以得到‘领域d-服务’匹配器的参数IWd,Biasd,OWd。
8.如权利要求4所述的多领域服务主题匹配推荐方法,其特征在于,训练‘领域d-服务’匹配器的输入端数据用CTFd矩阵表示,其为Md×Kc维矩阵,Md表示调用服务领域d中服务的服务组合的总数,利用CTF矩阵,从矩阵CTF中抽取出所有调用服务领域d中服务的Md个服务组合的主题分布的行向量,组成新的矩阵CTFd。
9.如权利要求8所述的多领域服务主题匹配推荐方法,其特征在于,训练‘领域d-服务’匹配器的输出端数据用MSTFd矩阵表示,其为Md×Ks维矩阵,Ks为服务的主题总数,由输入端数据CTFd的获得过程获知调用了服务领域d中的服务的服务组合,利用STF矩阵,从STF矩阵中对应抽取出Md个服务领域d中的服务的主题分布行向量,组成新的矩阵MSTFd。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310732583.2A CN103761254B (zh) | 2013-12-26 | 2013-12-26 | 多领域服务主题匹配推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310732583.2A CN103761254B (zh) | 2013-12-26 | 2013-12-26 | 多领域服务主题匹配推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761254A CN103761254A (zh) | 2014-04-30 |
CN103761254B true CN103761254B (zh) | 2017-01-25 |
Family
ID=50528492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310732583.2A Active CN103761254B (zh) | 2013-12-26 | 2013-12-26 | 多领域服务主题匹配推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761254B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10685065B2 (en) * | 2012-03-17 | 2020-06-16 | Haizhi Wangju Network Technology (Beijing) Co., Ltd. | Method and system for recommending content to a user |
CN105095162A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 文本相似度确定方法、装置、电子设备及系统 |
CN104008195B (zh) * | 2014-06-13 | 2017-06-06 | 清华大学 | 面向服务组合的服务推荐方法 |
CN106375358B (zh) * | 2015-07-23 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 服务需求分配的方法、装置和系统 |
CN105930404B (zh) * | 2016-04-15 | 2019-02-12 | 清华大学 | 一种基于共生关系分析的服务组合主题演化图构造方法 |
CN105930406B (zh) * | 2016-04-15 | 2019-03-22 | 清华大学 | 一种基于泊松分解的服务推荐方法 |
CN106372168A (zh) * | 2016-08-30 | 2017-02-01 | 湖北银速物联网科技有限公司 | 一种基于互联网的数据处理系统 |
CN106484139B (zh) * | 2016-10-19 | 2019-01-29 | 北京新美互通科技有限公司 | 表情符号推荐方法及装置 |
CN106934064A (zh) * | 2017-03-30 | 2017-07-07 | 常州大学怀德学院 | 基于elm的网络信息热点预测系统和方法 |
CN108231200B (zh) * | 2018-01-11 | 2020-06-30 | 浙江大学 | 一种基于主题模型和ilp的看病攻略生成方法 |
CN108197831B (zh) * | 2018-01-31 | 2021-04-27 | 四川亚东世纪科技有限公司 | 一种基于大数据的农民工工作位置推荐方法 |
CN108629010B (zh) * | 2018-05-07 | 2022-03-18 | 南京大学 | 一种基于主题和服务组合信息的web服务推荐方法 |
CN108959195B (zh) * | 2018-06-29 | 2022-05-24 | 天津大学 | 一种面向服务网络的社团发现方法 |
CN109727109A (zh) * | 2018-12-28 | 2019-05-07 | 深圳市华云中盛科技有限公司 | 涉税服务机构推荐方法、装置、计算机设备及存储介质 |
CN111210307A (zh) * | 2020-01-03 | 2020-05-29 | 武汉理工大学 | 以响应用户偏好为核心的科技服务链智能推荐系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010104872A (ko) * | 2000-05-16 | 2001-11-28 | 임갑철 | 개인별 메타 검색엔진 구축기능을 갖는 인터넷 사이트검색 서비스 시스템 |
KR101079769B1 (ko) * | 2009-05-21 | 2011-11-04 | 주식회사 아이네크 | 다수 분류 체계를 연동한 시멘틱 검색 방법 및 시스템 |
CN102208086B (zh) * | 2010-03-31 | 2014-05-14 | 北京邮电大学 | 面向领域的个性化智能推荐系统及实现方法 |
-
2013
- 2013-12-26 CN CN201310732583.2A patent/CN103761254B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103761254A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761254B (zh) | 多领域服务主题匹配推荐方法 | |
Feng et al. | An expert recommendation algorithm based on Pearson correlation coefficient and FP-growth | |
CN106651057B (zh) | 一种基于安装包序列表的移动端用户年龄预测方法 | |
CN109934619A (zh) | 用户画像标签建模方法、装置、电子设备及可读存储介质 | |
CN110598070B (zh) | 应用类型识别方法及装置、服务器及存储介质 | |
CN106407349A (zh) | 一种产品推荐方法及装置 | |
CN111680147A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
CN107169063A (zh) | 一种基于社交信息的用户属性预测方法与系统 | |
CN117436679B (zh) | 一种元宇宙资源匹配方法及其系统 | |
CN104778283B (zh) | 一种基于微博的用户职业分类方法及系统 | |
CN110020121A (zh) | 基于迁移学习的软件众包项目推荐方法及系统 | |
CN111274330A (zh) | 一种目标对象确定方法、装置、计算机设备及存储介质 | |
CN105787662A (zh) | 基于属性的移动应用软件性能预测方法 | |
CN108647800A (zh) | 一种基于节点嵌入的在线社交网络用户缺失属性预测方法 | |
CN109447273A (zh) | 模型训练方法、广告推荐方法、相关装置、设备及介质 | |
CN112988963A (zh) | 基于多流程节点的用户意图预测方法、装置、设备及介质 | |
CN111179055A (zh) | 授信额度调整方法、装置和电子设备 | |
CN115545832A (zh) | 商品搜索推荐方法及其装置、设备、介质 | |
Cid-López et al. | A hybrid model for decision-making in the information and communications technology sector | |
CN112148986A (zh) | 一种基于众包的top-N服务再推荐方法及系统 | |
CN105931055A (zh) | 一种面向众包平台的服务商特征建模方法 | |
CN110929169A (zh) | 基于改进Canopy聚类协同过滤算法的职位推荐方法 | |
CN113850669A (zh) | 用户分群方法、装置、计算机设备及计算机可读存储介质 | |
CN102193928B (zh) | 基于多层文本分类器的轻量级本体匹配方法 | |
CN117171428A (zh) | 一种提升搜索和推荐结果准确性的方法 |
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 |