# JDDC季军(feel free)参赛方案
[JDDC](http://jddc.jd.com/)大赛,全称:JD Dialog Challenge, 全球首届任务导向型对话系统挑战赛。这个比赛从2018年4月30号开始,历经初赛、决赛、人工测评、现场答辩四个环节,在2018年10月18日正式结束,耗时4个多月。以下是我们团队的成绩单:
| 团队名称: | feel free |
|------------|-----------|
| 最终成绩: | 季军 |
| 决赛排名: | 4 |
| 决赛成绩: | 0.744771 |
| 初赛排名: | 17 |
| 初赛成绩: | 0.254222 |
初赛方案:./preliminary
决赛方案:./final
对于我们团队的解决方案,任何疑问,欢迎交流。邮箱:zeng_bin8888@163.com
## 初赛阶段思路及算法模型
初赛采用的是基于TFIDF的检索式算法。TF-IDF (Term Frequency-Inverse Document
Frequency)
表示词频和逆文档频率的乘积,代表了单词对文章的重要程度。TF-IDF是深度学习应用于NLP之前的经典表示方法。我们将TF-IDF作为检索的第一步操作,即检索出top
10 的候选集结果,再对候选集进行重新排序。
TF-IDF中TF的定义如下:
![](media/8659ed935357d383513379963bac3424.png)
IDF的定义如下:
![](media/4bef51dfd171cb29ab3f98dfdd9af41d.png)
我们对数据进行了一些预处理,主要包括:1)删除轮次低于3的会话;2)将同一角色连续说的话合并成单句;3)将每个对话整理成Q1A1Q2A2Q3+A3的形式,删除多余轮次的对话记录。
**针对tfidf检索式方案的优化,主要有两个方面:1)文本特征提取中加入了tri-grams;2)结果生成方式改成top10重排序,重排序准则为A的长度。**
![](media/e9bcc33f41e9358c814584b5db3bca0e.png)
图 1:初赛解决方案
在初赛阶段,我们还尝试了多种不同的检索方案,主要有:1)BM25;2)使用word2vec创建词向量,构建句子向量后计算余弦相似性;3)LSI等。这些方案的最终得分都没能超越经过优化的tfidf基线。
## 决赛阶段思路及算法模型
决赛刚开始阶段,我们顺延初赛的思路,继续尝试了一些检索式方法,如:BM25、TFIDF等,最终发现,检索式方法效果是比较差的,测评得分徘徊在0.3。进而,我们开始采用生成式方法。生成式模型方面,我们主要尝试了两个算法,分别是seq2seq和Transformer,这两个算法都是端到端的模型。从测评的结果来看,seq2seq+attention+dropout+beam
search方案的测评得分在0.56\~0.6之间;transformer+beam
search方案得分能够超过0.7。
由于决赛中包含多轮测评,因此,一个合理的context信息引入方案是十分重要的。经过分析、讨论以及实践,我们最终的context引入方案是:“**仅使用用户上一轮次说的内容作为当前轮次的context**”。这个方案在比赛中被证实为有效,正是这个方案的引入,使得我们可以使用一个模型同时完成单轮和多轮评测。基于这个方案,数据集中的每一个历史对话都被处理成Qn-1Qn+An形式的QA对。同时,为了兼顾模型的单轮评测效果,选择了部分(约10%)历史对话仅按照Q2Q3+A3方式构造QA对,这种数据划分处理方案是确保单一模型同时完成单轮和多轮测评的关键之一。同时,在开发过程中发现数据集中部分QA对中A的长度过长,影响到模型的整体性能,因此,我们仅保留A的长度在[3,
200]范围内的QA对。
我们的最终方案是transformer+beam search。Transformer
最初被用在机器翻译上,在文章发表时取得了state-of-the-art
的翻译结果,其网络结构如下图所示:
![](media/b38d6c17cc4137fa7058db16c5467765.png)
图 2:Transformer模型架构(摘自文献3)
上图左边为Encoder模块,右边为Decoder模块。Encoder模块包括6层堆叠,每一层都具有相同的结构:Multi-Head
Attention层和Feed Forward Neural Network层,同时,使用residual connection和layer
normalization进行正则化,为了让正则计算方便,所有sub-layer的输出维度都定义为512。Decoder模块也是6层堆叠,每层除了包括Multi-Head
Attention层和Feed Forward Neural Network层外,还有一个Masked Multi-Head
Attention层,同样的使用了residual connection和layer
normalization作为正则。由于Attention无法捕捉文本顺序信息,Transformer在input
embedding和output embedding后面都加入了positional encoding。
Transformer
模型没有使用CNNs或者RNNs的序列编码方式,仅基于attention机制做编码和解码操作,提供了一个非常好的解决思路。作为Transformer的实现之一,Tensor2Tensor
(<https://github.com/tensorflow/tensor2tensor>)
工具简单易用,但是目前缺乏详细的使用文档。我们队使用了Tensor2Tensor工具包来进行模型训练。训练Transformer模型,大约使用了450万个QA对。在评测中,对beam
search的size参数进行了优化,默认为4,调整到6的时候,评测得分大约有0.01的提升。
## 模型调优心得、踩过哪些坑、对数据和任务的理解等
### 初赛
初赛任务要求每个选手根据Q1A1Q2A2Q3信息给出对应的A3,其中Q表示用户说的话,A表示客服的回复,脚标为对应的轮次。初赛提供了约11万个历史对话,每个对话中都有完整的用户与客服的对话记录。
由于初赛任务相对而言较为简单,可以认为是单轮QA,并且提供了足够多的对话历史记录。我们队经过商议,决定**采用检索式的方案,将初赛任务转换成一个从所有历史对话记录中检索与Q1A1Q2A2Q3最相似对话的问题,并选取最相似对话对应的A3作为测试答案。**
基于TFIDF检索式方案,生成结果的方式默认是直接选择最相似的对话的A3作为结果输出,这样做的问题是选择范围过于狭小。事实上,**根据我们的观察,相似性top10的对话其实都比较接近,难以评判哪一个是最相似,因此,我们认为在top10相似对话的所有A3中产生结果更为合理。**
随之而来的问题是,如何在10个候选结果中找出最好的结果,使得deltaBleu得分最高?最开始,我们采用强化学习中的DQN方法来进行选择,直接采用bleu得分作为奖励,但是并没有带来有效的提升,甚至得分下降。针对这种情况,我们分析的结论是:DQN的目标是优化长期奖励,不适用这种仅有一个回合的场景。使用强化学习的方案遇挫,我们不得不重新回到数据上寻找答案。**在逐个观察了约100个用户与客服的完整对话记录之后,我们发现,客服的回复通常倾向于比用户说的话更长,这个现象带来的启发是:在10个候选答案中选择最长的。**经测试,top10选最长的方案,大幅提升了deltaBleu评测得分,甚至一度冲上初赛排行榜第2名。
![](media/2d7ae9da2eb8b6f10a1837bc9e959b1f.png)
图
3:用户与客服的一个完整对话,从中可以清楚的观察到,客服的回复倾向于比用户说的话更长
初赛阶段还尝试了一些其他模型,但是最终得分都没有超越经过优化的tfidf_baseline。**由此可见,针对baseline的优化是非常有价值的。**
### 决赛
决赛任务相比于初赛要难不少,主要难点在于多轮评测的加入。由于多轮评测的加入,需要额外考虑context,否则对话难以进行。**我们认为,context的处理方式是决赛中最为关键的一步。如果不能为每一个轮次引入合适的context信息,再优秀的模型也难以给出一个令人满意的回答。**数据集方面,决赛提供的数据集与初赛类似,不过,对话记录的数量大幅增加,大约有100万个用户与客服的对话。虽然数据集类似,但无法完全照搬初赛的数据预处理方案。
决赛测评中包
没有合适的资源?快使用搜索试试~ 我知道了~
2018-JDDC大赛第4名的解决方案.zip
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共107个文件
py:63个
ipynb:14个
md:8个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 3 0 下载量 2 浏览量
2024-01-15
11:32:46
上传
评论
收藏 2.78MB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/DOCX.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PDF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 107 条
- 1
- 2
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/2b17cb8b32224168bb8ed166a94dd8f6_weixin_56154577.jpg!1)
JJJ69
- 粉丝: 6262
- 资源: 5775
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)