英语原文共 17 页
基于XML的用于支持在线招聘服务的多代理系统
Pasquale De Meo, Giovanni Quattrone, Giorgio Terracina, and Domenico Ursino
摘要:
在本文中,我们提出了一种基于可扩展标记语言(XML)的多代理推荐系统,用于支持在线招聘服务。 我们的系统具有以下特点:1)它处理用户个人资料,以便通过互联网个性化求职; 2)它基于智能代理技术; 3)它使用XML来保证信息表示,存储和交换的轻量级,通用性和标准机制。 本文讨论了所提出系统的基本特征,介绍了我们为评估其性能而进行的实验研究的结果,并对所提出的系统与过去已经提出的其他电子招聘系统进行了比较。
关键词:电子服务,可扩展标记语言(XML),多代理系统,招聘服务。
- 介绍
在过去十年中,互联网服务成为一种重要的(社会和文化)现象; 事实上,目前,许多组织为其客户提供了在互联网上访问其服务的可能性。
在这种情况下,支持寻找工作的个人和寻找员工的公司的在线招聘服务正在发挥重要作用。 在这样的背景下,通常,公司填充工作提议的数据库,并且基于经典信息检索(IR)技术的引擎在他们的工作搜索中支持个人。一些研究表明,访问这些服务的用户数量正在急剧增加; 因此,可以预见,在接下来的几年中,将通过互联网处理大量的工作提案。 在这种情况下,现有招聘服务所使用的经典IR技术可以为个人提供过多的对他而言不感兴趣的工作建议。 这可能导致用户感知服务质量低,并最终导致他决定不访问这些服务。
解决这个问题的一种方法是实现个性化的搜索引擎,它结合了经典的IR技术和用户建模方法。 在文献中,已经提出了一些基于推荐系统的方法来在各种应用环境中个性化搜索引擎,例如Web浏览,电子商务,电子学习等等。。 此外,在一些提案中,推荐系统已与代理技术相结合,使其具有自主性,反应性和主动性。 本文为此背景下的贡献; 实际上,它提出了一种基于可扩展标记语言(XML)的多代理推荐系统,该系统利用丰富的用户配置文件来支持个性化的招聘服务。
我们的系统基于代理技术。 实际上,用户代理与每个用户相关联并管理他的个人资料以及与他的交互; 招聘代理支持每个用户代理选择那些看起来最适合相应用户的工作提议。 智能代理技术的利用使我们的系统能够提高其自主性和适应性,并且可以在多个实体之间轻松划分各种任务,从而提高其可扩展性。 最后,它允许通过合适的包装器轻松管理现有的遗留系统; 因此,我们的系统可以轻松地与预先存在的招聘网站进行交互,这有助于提高获得结果的完整性。
我们的系统是基于XML的。 XML是用于表示和交换信息的标准语言。 它体现了超文本标记语言的典型表示功能和数据库管理系统(DBMS)的典型数据管理功能。 XML信息库是纯文本文档,因此,它们轻便,通用,易于交换,并且可以驻留在不同的(硬件和软件)平台上。 尽管如此简单,但是用这种语言体现的信息表示规则足够强大,可以管理复杂的查询。
至于本文在电子招聘系统领域的贡献,我们观察到以下内容。
- 为了选择最能满足用户要求的工作提案,传统的电子招聘系统仅考虑用户的查询(指定他的偏好和约束)以及可用工作提议的特征。相反,我们的系统不仅考虑了用户的查询,还考虑了他对之前提出的工作提案建议的反应。此外,它还分析了工作提案之间的相似性和/或相关性以产生其建议; 通过这种方式,它可以突出传统电子招聘系统通常忽略的一些提案,这些提案可能对用户具有吸引力。
- 在传统的电子招聘系统中,用户可以查询相应的(内部)数据库。因此,如果系统对查询的回答不充分,用户必须访问其他电子招聘系统并重新提交查询;在此之后,他必须撰写每个系统提供的结果,以构建他的最终工作提案清单。此活动可能非常耗时,因为用户有义务联系并查询多个电子招聘系统。此外,它可能容易出错,因为两个电子招聘系统可能会利用不同的方法并使用不同的术语来选择和表示工作提案。具体而言,对于方法,可能发生用户的相同工作提议通过不同的电子招聘系统接收对比分数。因此,当比较各种系统提供的结果时,他可能会感到困惑,因此无法决定其是否适合他。至于术语,两个独立的电子招聘系统可以通过利用不同的术语向用户呈现相同的工作提案。例如,关于软件程序的设计,开发和验证的工作提案可能被电子招聘系统称为“程序应用程序支持专家”,另一个称为“软件测试和软件设计工程师”。在前面描述的情况下,由于两个系统完全相互独立,因此没有任何形式的协调,因此无法通知用户两个或多个术语代表相同的工作提案。
我们的系统能够面对所有这些问题; 具体而言,如下文所述,它会持续监控现有的在线招聘服务,并收集他们提出的工作建议; 因此,用户搜索不仅限于与电子招聘系统相关的数据库,而是跨越不同的来源传播。 该系统组织允许用户以透明的方式提出他的查询; 换句话说,为了获得答案,他可能不知道所涉及的数据库的模型和语言以及它们的内部结构。
至于推荐系统研究领域,我们在本文中提出的系统提供了以下新颖性。
- 传统的推荐系统通常识别“Top K”推荐,即与用户具有最高相关性的K信息项(在我们的例子中,是工作提案)。 系数K通常是常数并且是预定义的。 根据当前的进展,我们的系统可以分析用户对过去提案的反应,以评估它向用户提交的工作提案数量是否太低(或者分别是太高),在肯定的情况下,它可以 动态增加(或分别减少)此数字。
- 在基于内容的推荐系统中,用户简档通常表示为对ki,wi的向量,其中ki是关键字,并且wi是表示用户的ki的重要性的权重。 相反,在我们的系统中,用户配置文件更丰富,并考虑到所涉及用户的各种特征和偏好。 即使这意味着其管理的复杂性更高,但可以获得的结果的改进也非常令人满意。
- 我们的方法在推荐系统领域中应用了一些通常用于其他应用环境的数学工具,如制造工程,生物信息学和计量经济学。 有趣的是,它所需的计算量并不是特别重。
- 我们系统的一般架构
我们的系统由两个主要代理类型组成,即1)管理用户简档以及与他的交互的用户代理(UA),以及2)处理工作提议和推荐活动的招聘代理(RA)。 此外,作业提案数据库(JPD)用于存储所有可用的工作提案。 JPD可以由能够通过公司代理(即,合适的接口代理)插入,移除或修改作业提议的公司填充,该代理类似于中描述的。 此外,JPD可以通过合适的包装代理自动丰富,类似于中描述的,它可以持续监控现有的在线招聘服务,找到新的工作提案,并将它们存储在JPD中(如果它们尚不存在)。 JPD可以用XML文档描述。
观察我们选择将可用的工作建议存储到独立的知识库中,而不是存储在特定代理的本体中; 通过这种方式,几个独立且专业的代理可以在我们的系统中运行,以自动和持续地更新和优化它们。
我们系统的总体架构如图1所示,其行为如下。当用户ui想要执行求职时,他向相关的用户代理UAi提交查询。 在此之后,UAi联系RA并向其提供查询和ui的简档。 RA从JPD中选择满足用户查询的可用工作建议,根据推测的用户偏好对它们进行排序,并选择最符合ui过去兴趣的那些以及与过去考虑的ui相关的其他兴趣。 他仍然无视。 在此之后,RA将选定的提案发送给UAi,并将其呈现给ui; UAi监视ui,当他执行他的选择时,它会相应地更新他的个人资料。
如前所述,XML在我们的系统中的作用至关重要。事实上,我们有以下几点。
- 代理本体存储为XML文档; 因此,它们重量轻,功能多样,易于更换,并且可以驻留在不同的硬件和软件平台上。 尽管如此简单,但XML中包含的信息表示规则足以实现复杂的信息管理。
- 我们系统采用的代理通信语言是ACML,这是标准代理通信语言的XML编码。
- 从各种数据结构中提取信息是通过XQuery进行的。 这正在成为XML环境的标准查询语言。 由于XQuery基于XML框架,因此它可以处理各种各样的数据。 它具有典型的数据库查询语言功能和典型的文档管理系统功能。
- 代理本体的操作是通过文档对象模型(DOM)来执行的。DOM使程序员可以编写在所有浏览器和服务器上以及各种硬件和软件平台上正常工作的应用程序。
我们系统的架构可以被认为是混合的,即部分集中和部分分布。 在这个意义上,它遵循表达的思想中描述了基于执行大多数谈判活动的拍卖者代理的存在来处理电信网络的架构。 可以将其视为集中存在于招聘代理的存在,其执行与选择最适合用户紧急情况的工作建议有关的大多数活动。 另一方面,可以假设为许多用户代理,包装代理和公司代理的存在而分发,这些用户代理,包装代理和公司代理不断与招聘代理合作执行整个招聘任务。
请注意,在我们的系统中,只存在一个中央招聘代理。 通过以下动机证明这种选择是合理的。
- 网络拥塞。 在我们的架构中,每个用户代理负责将用户配置文件和用户查询转发给处理此查询的招聘代理,并将相应的结果发送给它; 因此,两个代理交换少量(通常简单的)消息,这可以防止网络过载。 在招聘代理活动的分布式实施中,各种招聘代理将合作处理用户查询。 因此,他们应该不断地交流和交换信息; 这将产生高网络流量,并且整个系统很快就会被代理之间的消息所淹没。 这个问题在我们的参考情景中特别相关,其中求职者和用户代理的数量非常多; 这将导致大量交换的消息,并最终导致显着的延迟和用户不满。
- 任务分配。 在招聘代理活动的分布式实现中,通过花费内存和中央处理单元(CPU)资源来处理它的几个招聘代理传播查询。 在这种情况下,可能会发生一些招聘代理人会被请求淹没,而其他招聘代理人几乎将无人居住。 为了优化系统性能,有必要定义协议,以便智能地将任务分配给各种招聘代理。 这些协议看起来非常复杂,因为潜在的求职者(以及潜在的用户代理人)可能非常多且地理上很稀疏。
- 消息重复。在招聘代理活动的分布式实现中,同一招聘代理可能会收到多个查询副本(我们称这些副本为重复消息)。为了更好地阐明这一概念及其后果,考虑四个招聘代理RAd1,RAd2,RAd3和RAd4,并假设:1)用户向RAd1提交查询Q; 2)RAd1无法回答Q; 3)RAd1要求RAd2和RAd3应答Q; 4)RAd2和RAd3只能产生对Q的部分答案(例如,由它们检索的作业提案的数量少于用户要求的数量); 5)RAd2和RAd3可能独立地将Q转发到RAd4,这将接收到,并且反过来可以处理并可能传输Q两次。这个例子清楚地表明重复的消息是纯粹的开销;它们会增加网络拥塞并为招聘代理商确定浪费CPU和内存资源,这些代理商通常不得不多次处理同一个查询。尽管它们造成了资源浪费,但它们并没有提高系统的准确性,因为它们无助于增加找到与用户相关的工作建议的机会。
电子招聘方案强调了这些问题,当时正在访问我们系统的求职者人数可能非常高; 在这种情况下,复制消息的可能性可能非常高。 因此,需要用于识别重复消息并避免处理和转发它们的适当机制; 然而,这些机制通常难以设计和实施。
最后,我们想指出,我们的系统不提供用户代理和招聘代理之间的任何附加层。 以下动机证明了这种选择是合理的。
- 与其他电子招聘系统合作的能力。 我们系统最重要的能力之一是能够与其他电子招聘系统进行有效合作(见下文)。分层架构似乎不特别适合追求这样的目标。实际上,在分层体系结构中,系统功能与不同的抽象级别相关联,每个抽象级别由一个层表示; 抽象度通常从最低级别增加到最高级别。 不同抽象级别的存在具有以下结果。
- 两个分层系统之间的交互要求每个系统都要深入了解另一个系统的架构特征。 实际上,每个系统都应该知道与其他系统的每一层相关的抽象级别,以正确地交换信息和合作。 这种知识经常缺失,因此,从系统中的层到另一层中的层的映射可能不明显,在某些情况下,不可能。
- 许多系统无法以分层方式轻松构建。因此,如果我们的系统是分层的,我们可以有一个分层和非分层架构共存的场景;在这种情况下,必须在分层系统和非分层系统之间建立适当的通信协议;然而,他们的实现往往是一项艰苦而昂贵的活动。
- 性能问题。一些研究指出,访问电子招聘系统的用户数量正在迅速增加。因此,电子招聘系统应该能够快速处理用户查询。在分层系统中不能容易地满足这样的要求;实际上,在这种情况下,每个层都为其上方的层提供服务,并作为其下层的客户端。因此,在分层系统中,需要在低级层和高级层之间进行连续的消息交换。由于消息通常必须经过许多层,因此与消息交换相关的开销通常很大,并且可能决定性能衰减。已经提出了各种技术来提高分层系统的性能(例如,可以耦合不相邻的层),但是它们在实际环境中似乎难以实现,特别是在我们的应用案例中,其中各层可以属于不同的所有者。
- 可靠性问题。 由于层中的故障可能决定整个系统的崩溃,因此无法在分层架构中快速识别故障并快速响应故障。 即使是(可能是非快速的)故障识别也可能难以执行,因为低级层的功能通常隐藏在高级层中,因此,在高级层上运行的应用程序在识别哪里发生了某个问题时存在许多困难。
在以下部分中,我们提供了系统中涉及的两个主要代理的详细描述,即1)用户代理和2)招聘代理。
- 用户代理
与用户ui相关联的用户代理UA的本体存储ui的简档。 它包含以下内容。
- 代码UIDi 识别 ui.
- 存储ui偏好的集合
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。