Dialogue Management for Interactive API Search

Dialogue Management for Interactive API Search
复制标题

DOI:
10.26226/morressier.613b5418842293c031b5b5e8
复制
发表时间:
2021-07
期刊:
2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)
影响因子:
--
通讯作者:
Zachary Eberhart;Collin McMillan
Zachary Eberhart;Collin McMillan
中科院分区:
其他
文献类型:
--
作者:
Zachary Eberhart;Collin McMillan

文献摘要

相似文献

API搜索涉及在API中查找与编程任务相关的组件。例如,程序员可能需要C库中的一个函数打开一个新的网络连接,然后另一个函数通过该连接发送数据。不幸的是,程序员经常很难找到他们需要的API组件。一个强大的科学共识正在出现,即开发响应会话反馈的交互式工具支持,模仿向人类程序员寻求帮助的经验。创建这些交互式工具的一个主要障碍是为API搜索实现对话管理。对话管理涉及确定系统应如何响应用户输入,例如是否询问澄清问题或显示潜在结果。在本文中,我们提出了一个对话管理器的交互式API搜索,考虑搜索结果和对话的历史,以选择有效的行动。我们实现了两种对话策略:一种是手工制作的策略,另一种是通过强化学习优化的策略。我们执行一个综合评估和人类的评价比较的政策,一个通用的单轮,前N名的源代码搜索引擎使用的政策。
API search involves finding components in an API that are relevant to a programming task. For example, a programmer may need a function in a C library that opens a new network connection, then another function that sends data across that connection. Unfortunately, programmers often have trouble finding the API components that they need. A strong scientific consensus is emerging towards developing interactive tool support that responds to conversational feedback, emulating the experience of asking a fellow human programmer for help. A major barrier to creating these interactive tools is implementing dialogue management for API search. Dialogue management involves determining how a system should respond to user input, such as whether to ask a clarification question or to display potential results. In this paper, we present a dialogue manager for interactive API search that considers search results and dialogue history to select efficient actions. We implement two dialogue policies: a hand-crafted policy and a policy optimized via reinforcement learning. We perform a synthetics evaluation and a human evaluation comparing the policies to a generic single-turn, top-N policy used by source code search engines.