SMP CUP 2018

时间太快啦,转眼就一年了,又到了SMP CUP 2018的时候。今年比赛和去年略有不同,去年是一份数据三个任务,今年则是一个任务独享一份数据。任务一文本分类,任务三文本溯源。

比赛简介

  • 任务一文本分类:给定一篇短文,判断是人类作者、自动摘要、机器翻译和机器作者中的哪一种,详见官网
  • 任务三文本溯源:给定一个句子,判断是否复制或改编(删减/摘要/替换/重排等)于其它的句子,详见官网

数据样例

  • 任务一:ID12345 ||| 方法通过文献研究、药物实测、炮制方法、方药配伍、煎服方法、安全性及临床用药特点等方面考证《伤寒论》药物剂量。
  • 任务三:自动摘要 ||| 自动摘要生成的文章,从新闻网站爬取后调用各种自动摘要工具生成,共60,000篇。

思路总结

  • 任务一:基础文本分类模型如TextCNN、TextRNN和Fasttext等分别训练,然后模型融合。
  • 任务三:句子相似度计算,然后对召回句子进行优化排序。这里要注意的是,任务三中没有任何的标签,因此是一个无监督的候选句子排序任务。考虑到句子间循环匹配的数量级,我搭建了ElasticSearch全文检索引擎来帮助初选优化,大大降低了检索成本。

模型实现

比赛心得

  • 任务一:
    • 1.基础模型没能做到极致,仅仅尝试了TextCNN和Fasttext;
    • 2.计算资源要充足,没能把TextRNN做起来的原因有一部分就是实验室的服务器没有GPU…;
    • 3.时间要安排好,工作要分配好,临近毕业实在是太忙了…
  • 任务三:
    • 1.想到用ES来加速查询真的是个非常正确的决定,因为测试集计算量是验证集的200倍;
    • 2.最后实现的还是句子匹配,而非文本理解和溯源。没想到很好的方法。
  • 总的来说,写代码比去年顺手多了,也规范很多。比赛套路也熟悉了很多,从容了一些。但是真的要到进一步提升效果,冲刺排名的时候,就会因为平时积累不够而有心无力。比如说模型融合应该是要基于差异性大的底层模型,这一点我也是在整个比赛结束时才深有体会。再比如Attention和LSTM相关的网络都没能写完、运算完,师哥说的Fasttext能有0.976的结果也没有实现,这些都是因为平时没有去实现过。所以未来还是要好好加油啊!