跳转到内容
技术文章
作者的资料照片拉维万博新体育手机客户端米塔尔

挑战提交:用SAP会话AI为人力资源开发聊天机器人,让感兴趣的候选人通过机器人申请

在过去的几年里,聊天机器人用于优化服务的应用在几乎所有行业垂直领域都在扩大,其中一个垂直领域是HR(人力资源)新万博苹果版会话的人工智能是最近才出现的。你可以称它们为对话式人工智能(AI),或者像聊天机器人、数字助手这样的技术流行语。

如今,公司正在利用技术来增强人力资源服务,以提高生产力,并帮助为求职者和员工提供更有价值和个性化的体验。

你将建立什么

  • 您将构建一个机器人,以便候选人可以在非常短的时间内申请他们选择的职位空缺只需按下按钮的互动方式
  • 你的机器人会调用API服务为了得到空缺的可用性在候选人选定的区域。
  • 考生从预先设定的列表中选择一个答案,列表中的每个答案都有一个权重。
  • 最后,你的船会呼叫API服务来提交答案,我们的后端程序将为候选人档案打分在总分的基础上,将总分加起来计算给出答案的权重

您可以构建一个API服务就像计算分数一样简单基于用户提供答案的权重或任何基于机器学习的模型为候选人的个人资料打分。

你会学到

  • 如何拨打API你的聊天机器人
  • 如何分叉意图和实体
  • 如何触发技能并为这些技能定义所需的数据
  • 如何在内存中访问/存储数据
  • 如何访问数据nlp对象
  • 如何使用按钮控制与回发事件
  • 如何添加聊天机器人网站

先决条件

你了解创建聊天机器人的基本知识SAP对话式AI

创建SAP会话AI帐户

https://cai.tools.sap/,并单击报名在右上角。

按照说明创建帐户。

创建一个新的机器人项目

填写以下详细信息

打开你的项目,你会看到两个预定义的意图@greetings而且@goodbye,它们具备问候求职者的基本技能。

转到构建选项卡,你会看到问候技能,我们会根据我们的业务需求改变它。

点击问候打开它的技巧。

在触发器选项卡中,你将看到技能仅在以下情况下触发的条件@greetings@goodbye意图是存在的。

我们得去行动TAB,因为我们想改变机器人将如何迎接候选人。

你可以点击添加新的消息组按钮添加新的消息组或编辑现有消息组,然后添加以下详细信息。

在条件中,我们添加了#人实体应该不存在。这背后的原因是我们预先定义的意图@greetings#人实体,它将触发问候技能。

现在,当我们的机器人完成问候和自我介绍后,它将询问候选人的姓名。

然后触发问候技能和这里我们添加了一个新的消息组来处理这个问题。

我们添加了一个条件,即当#人检测到实体。

我们设置内存字段的名字存储候选人名称,以便在与候选人的对话中引用相同的名称。

{"raw": "{{nlp.entities.person[0]。Raw}}", "value": "{{nlp.entities.person[0]。原始}}}

类中访问候选名称nlp对象如上所示。

然后我们添加了Text控件,在提到应聘者名字的同时问候他/她。下面的语法展示了如何从前面存储的内存中访问名称。

欢迎来到SAP Careers, {{memory.name.raw}}

最后,为了继续与候选人的对话,我们添加了按钮回发通过事件了解求职者想要申请工作的领域。感兴趣的候选人可以从您组织中的可用工作领域列表中进行选择。

现在回到火车Tab,是时候把@jobdetails意图将处理与候选人的其余谈话。

搜索@jobdetails然后点击Fork将intent添加到你的项目中。

点击@jobdetails意图打开它。这里你看到我们添加了表达,换句话说,对话将触发@jobdetails意图。

在这里,您可以根据业务需要添加/修改更多表达式。

你也会看到一些实体是相关联的我们的目的是:

# GETNOTICEPERIOD
# GETREPLY
# DEVROLE
# JOBAREA
# TECHTYPE
# GETEXP
“转到实体”选项卡查看实体列表。我们将这些实体创建为受限制的实体,因为我们希望从所提供的选项列表中获得候选答复,我们希望稍后在API服务中处理这些答复,以对候选概要进行评分。

单击任何实体来探索它,您将看到我们希望从候选人的响应中捕获的值列表。

现在是时候根据用户输入赋予某些技能来执行某些操作了。

转到Build选项卡,您将看到getjobdetails_dev技能,我们创建它来处理我们的第一个工作领域“开发和技术”。同样的,我们也可以创建技能来处理列表中的其他工作领域。

点击getjobdetails_dev去探索它。

在这里,我们指定了几个条件来触发这个技能。有两个条件,当任何一个条件满足此技能将触发。

现在单击Actions选项卡,然后单击添加新的消息组按钮,然后添加以下详细信息。

  1. 首先,指定执行该操作的条件,这里我们有条件#jobarea来触发该操作。
  2. 然后,我们调用API Service来获取用户选择的工作区域中的职位空缺的详细信息。然后将API服务响应存储在结果字段。
  3. 接下来,添加Text控件以将结果显示给我们的候选对象以继续对话。我们将使用下面的脚本标记来访问结果字段。
  4. 我们将添加一些带有Postback的按钮,以便从候选人那里获得首选的开发角色。
    {{api_service_response.result.body.message}}
  5. 最后,将用户选择的#jobarea选项存储在内存中,以便以后访问它。
    {"raw": "{{nlp.entities.jobarea[0]。Raw}}", "value": "{{nlp.entities.jobarea[0]。价值}}}

现在,当应聘者选择了他/她喜欢的开发角色后,是时候继续我们的谈话了。我们添加了一个新的消息组来获得Preferred技术选择。

然后将开发角色选择存储在内存字段devrole中。

{“原始”:“{{nlp.entities.devrole [0] .raw}}”,“价值”:“{{nlp.entities.devrole [0] value}} "}

在候选人选择了技术选择之后,我们希望获得该技术的相关经验,因此我们添加了以下消息组,然后将技术类型选择存储在内存中。

{“原始”:“{{nlp.entities.devrole [0] .raw}}”,“价值”:“{{nlp.entities.devrole [0] value}} "}

现在我们想向用户提供一些关于位置的信息,因此我们通过候选人的名字来引用他并提供详细信息。然后检查候选人的同意。

{{memory.name.raw}},给你一个重要的信息,我们所有的位置都在古尔冈和班加罗尔。

在检查候选人对可用位置位置的同意后,机器人框架问题检查候选人的当前位置。

然后机器人构建关于通知期的问题,以获得关于他/她的通知期的信息,并将候选人提供的位置存储在内存中。

{"raw": "{{nlp.entities.location[0]。Raw}}", "value": "{{nlp.entities.location[0]。价值}}}

现在是时候问应聘者上传简历。这里我们提供了一个带有链接的按钮,当有人点击该按钮时,它将打开一个网页上传简历。

当应聘者上传完简历后,机器人会等待他/她的确认。

另外,在内存字段中保存通知周期信息getnoticeperiod

最后,在与候选人告别之后,我们将候选人选择发送给API服务,用于候选人档案评分。

为了向API服务发送响应,我们将使用connect To外部服务,并设置API服务配置主体,如下所示。

JSON类型数据我们正在发送到我们的API档案评分。您可以根据业务需要添加任意数量的参数。

{“候选”:[{" id ":“名称”,“价值”:“{{memory.name.raw }}" }, { " id”:“区域”、“值”:“{{memory.jobarea。原始}}}, { "id": "role", "value": "{{memory.devrole.raw}}" }, { "id": "techtype", "value": "{{memory.techtype.raw}}" }, { "id": "experience", "value": "{{memory.getexp.raw}}" }, { "id": "noticeperiod", "value": "{{memory.getnoticeperiod.raw}}" }, { "id": "location", "value": "{{memory.location.raw}}" } ] }

连接

Goto Connect页签- >单击“Webchat”- >输入名称- >创建。

复制聊天脚本code, HTML页面的javascript代码。

将代码添加到您的网站。只需复制/粘贴代码在你的网站页面上,你想让这个机器人活。

为了进行测试,我创建了一个index . html文件并将此代码粘贴在标签内。现在打开这个index . html在您最喜欢的浏览器中。

  用SAP会话AI为HR开发聊天机器人,让感兴趣的候选人申请Bot
   
欢迎来到Career Section

恭喜你! !你的新闻机器人已经上线了。

在运行一个场景之后,如果我向您展示来自后端服务的日志(在我们的场景中,bot调用了两次后端服务),首先bot调用服务以获取Job详细信息,然后在最后发送候选人数据以用于候选人配置文件评分。

正如我前面所说的,您可以在Questions的形式中添加任意多的参数,这些参数是根据您的业务需求对候选人简介进行评分所必需的。

希望这对你有帮助!请在评论区告诉我你的想法。

感谢阅读!

指定的标签

      7评论
      你一定是登录评论:评论或回复一篇文章
      作者简介照片简·史万博新体育手机客户端密斯
      简·史密斯

      谢谢你的博客,写得很好,很详细。

      我也在尝试建立一个机器人,你的文章帮助了我很多。

      我有一个问题,这里你从nlp访问数据,为什么我们需要从nlp访问并设置在内存中,我认为相同的数据已经可用的内存。

      问候

      作者的资料照片拉维万博新体育手机客户端米塔尔
      拉维•米塔尔
      博客作者

      谢谢简,你的评论。

      SAP会话AI中有两个内存对象“nlp”和“memory”。

      内存是一个空对象在谈话开始时。内存可以设置或更新。

      NLP对象包含用户类型、实体、当时从用户表达中识别的意图以及其他标准bot参数的详细信息。该对象每次随消息一起更改,不像内存在整个聊天过程中一直存在,除非更新或重置。

      您可以访问包含为的值{{memory}}和{{nlp}}

      在这个机器人中,我们将这些值存储在内存中,这样我们就可以在聊天中访问这些值,通过引用用户的名字使其具有交互性,并在对话结束时将其发送给我们的API服务进行进一步处理。

      谢谢! !

      拉维•米塔尔

      作者的资料照片Ni万博新体育手机客户端rjar Gandhi
      Nirjar甘地
      谢谢你的博客。表情符号的使用真的很酷,你在聊天文本中复制了这些表情符号。
      作者的资料照片拉维万博新体育手机客户端米塔尔
      拉维•米塔尔
      博客作者

      谢谢你的评论。

      请使用Windows键+句号(.)打开表情符号键盘。

      你也可以看看这个博客在聊天机器人的回复中添加表情符号通过丹尼尔Wroblewski

      作者头像路易斯·法万博新体育手机客户端里亚
      路易斯法

      感谢Ravi,非常好的学习SAP CAI的教程/用例。

      作者的资料照片拉维万博新体育手机客户端米塔尔
      拉维•米塔尔
      博客作者

      谢谢Luiz的反馈。

      作者的资料照片ma万博新体育手机客户端hendra joshi
      mahendra joshi

      这篇文章很好,我只相信博客。SAP,因为它在我的博客生涯中给了我真正的、很好的帮助……