中文

软件工程聊天机器人自然语言理解平台比较

软件工程 2021-10-19 v2 人工智能 计算与语言

摘要

聊天机器人被设想为将显著改变软件工程的未来,使从业者能够通过自然语言聊天并询问其软件项目以及与不同服务交互。每个聊天机器人的核心是一个自然语言理解(NLU)组件,使聊天机器人能够理解自然语言输入。最近,许多 NLU 平台被提供作为聊天机器人开箱即用的 NLU 组件,然而,为软件工程聊天机器人选择最佳 NLU 仍然是一个开放挑战。因此,在本文中,我们评估了四个最常用的 NLU,即 IBM Watson、Google Dialogflow、Rasa 和 Microsoft LUIS,以阐明在基于软件工程的聊天机器人中应使用哪种 NLU。具体而言,我们考察了 NLU 在意图分类、置信度分数稳定性和实体提取方面的性能。为评估 NLU,我们使用了两个反映软件工程从业者执行的常见任务的数据集:1) 与聊天机器人聊天以询问软件仓库相关问题的任务;2) 在问答论坛(如 Stack Overflow)上提出开发问题的任务。根据我们的发现,在考虑三个方面(意图分类、置信度分数和实体提取)时,IBM Watson 是表现最佳的 NLU。然而,每个单独方面的结果显示,在意图分类中,IBM Watson 表现最佳,F1-measure > 84%,但在置信度分数方面,Rasa 以中位数置信度分数高于 0.91 位居首位。我们的结果还显示,除 Dialogflow 外,所有 NLU 通常提供可信的置信度分数。对于实体提取,Microsoft LUIS 和 IBM Watson 在两个 SE 任务中优于其他 NLU。我们的结果为软件工程从业者在决定其聊天机器人中使用哪种 NLU 时提供了指导。

关键词

引用

@article{arxiv.2012.02640,
  title  = {A Comparison of Natural Language Understanding Platforms for Chatbots in Software Engineering},
  author = {Ahmad Abdellatif and Khaled Badran and Diego Elias Costa and Emad Shihab},
  journal= {arXiv preprint arXiv:2012.02640},
  year   = {2021}
}