
论文标题:Automatic Extraction of Opinion-based Q&A from Online Developer Chats
原文链接:https://ieeexplore.ieee.org/abstract/document/9402078
说明:在读研究生为方便记忆梳理学习,手敲论文笔记,概括论文的主要思想和内容。
背景
- 过去的对话助手专注于简短的、面向任务的对话(例如:播放音乐;查找附近的餐馆)。
- 而针对于软件开发人员的对话助手的开发,更加复杂(例如:询问意见与知识),需要集成单个任务的专门实例,包括对话管理、知识检索、意见挖掘和问答。
- 最近研究表明,IRC、Slack和Gitter等在线聊天工具盛行,这些平台的对话内容对构建虚拟软件工程师的助手有一定的价值。而且里面的对话内容精度更高
前言
-
构建对话搜索助手CSA:
1)将向 CSA 提出的查询/问题与语料库中的问题匹配并检索答案 ;
2)总结相关的意见问答组,以生成(例如,使用GAN)针对特定软件工程主题的聚合响应。 -
两个子问题:
1)找出问题:识别提问者向其他聊天参与者征求意见的问题;
2)找出答案:在包含的内容中提取这些意见提问的答案对话。 -
局限性:
1)聊天社区没有正式的结构可能会抑制意见的自动挖掘;
2)短时间内快速交换信息,对话中有一步一步引出答案的过程;
3)对话中包括噪杂和不相关信息。 -
本文主要贡献
1)对于提出意见的问题识别,设计了一套启发式方法,从初步聊天分析的结果中学习,以确定聊天对话中的主导问题是否征求意见。
2)创建针对SE领域定制的深度学习方法,将讨论背景与启发式、机器学习结合特征和深度学习技术进行比较。
3)在两个平台(Slack和IRC)的评估结果表明,该系统可以自动识别问答对,精度分别为0.87和0.77。
4)数据集和源代码
正文
- 对话结纠缠: 数据集中每个对话有各自的id、时间戳和用户信息,按唯一标识符整理即可。
- 基于启发式的意见提问识别:手动分析了对话内容,判断出那些是属于意见询问式语句(问题)
- 从对话中选择答案:
1)处理文本,移除表情、url、用户名和代码块,还原缩略词。
2)使用GloVe训练StackOverflow数据库(截至2020.6月),对每个帖子进行标准标记化和预处理,修剪罕见词(词汇的最低阈值为100个帖子;窗口大小为15),嵌入模型的单词数123,995个,词向量为200维。
3)卷积神经网络提取语义,先单词嵌入,多重卷积和最大池化操作。
4)使用BiLSTM中捕获对话中话语之间的上下文和信息流,用于答案提取任务,能够对连续文本之间的语义链接进行建模,执行答案序列学习。
评估研究
-
使用精准度、召回率和F-Score来评估实验结果
-
选择了六个在 Slack 或 IRC 上活跃的流行编程社区,且 6 个社区的对话结构和意图都相似。一个用于识别问题,一个用于问题引出答案。
-
两个程序员手动标记数据集,问题和问答对。
-
与其他技术对比结果

-
实验结果分析:
1)ChatEO无法识别的一些征求意见的实例缺乏经常出现的语言模式。
2)ChatEO精度性能低可能是Clojure-造成这种情况,社区中通常以代码片段的形式提供答案,几乎没有自然语言文本,这使得ChatEO难以对语义链接进行建模。
3)ChatEO的召回率低于 C++和OpenGL的基于启发式的技术位置。与其他社区相比,这两个社区包含更少的答案(平均每个提出意见的问题一个答案),并且答案通常存在于第一个发言者之后立即发生的话语中。
总结
- 在 F-Score方面,ChatEO 提出意见的问题识别显着优于现有的为电子邮件以及情绪分析工具设计的基于模式的技术。
- ChatEO 答案提取在精度、召回率和 F-measure 方面显示出对基于启发式、基于 ML 和现有基于深度学习的技术的改进。
1218



被折叠的 条评论
为什么被折叠?



