毕设复盘--基于词向量的情感分类

前言

毕设差不多已经结束了,我决定在这里写:

  • 我设计这个毕设的思路
  • 过程中遇到的坑
  • 谈一些毕设的做法(算法类)

设计一个毕设——我的毕设设计思路

word embedding算是比较常见的技术了,这个题目是我自己拍大腿想出来的。我在和指导老师沟通之前,预先做了一份调查报告,列出了实现这个项目需要的技术,准确的说,就是先确认其可行性。最后沟通成功之后,老师同意了我去做这个题目。我当时的思路是有些限制的,首先是手头没有算力搞大型的embedding,更不用说用pretrain model了
在这些限制条件下,我当初选的研究思路是这样的,先搞个现成的词向量,之后拿这些现成的词向量,在情感分类的数据集上跑几个计算量不大,训练时间短,能加载的下来的分类器。也就是我们要准备的数据就是训练好的词向量和数据集,这两个数据集都很好找。

但是在结束了之后再看这个思路,还是有些问题的,首先用的分类器太多了,实际上只要做一个比较先进的算法,差不多就行了。而我是使用了word2vec+svm,xgb,lr(后来变成了TextCNN)。这样的畸形设计一开始我是打算做voting,但是后来没做。现在来看,其实做个TextCNN就差不多行了。
这个设计我觉得最大的问题,就是算力的问题,后来我发现极客云的价格还算可以接受,也就做了textCNN,其实如果没有算力的限制,搞更深的模型也是可以接受的。
所以说,在选NLP类的题目的时候,还是要做点深度模型的东西,现在深度模型的工具,数据已经十分完备了,想搞点创新也是可以的。

过程中遇到的坑

  1. 垃圾数据集:
    我找到的一些数据集都不做预处理,不做预处理意味着raw的不行,在后续任务的评估上,很难说是模型的问题,还是预处理的问题。我拿到的那个数据集是微博文本,直接分词效果直接拉跨,所以做类似的分类,实体识别,翻译的时候,还是要多关注下预处理的问题,做的越精细化越好
  2. 评估流程
    评估指标还是要考虑下,最重要的是多找一些指标,从多维度去评估你的模型,这些学校的老师是很喜欢的,而且你在解释结果会更轻松,观点也更有支持力。我一开始只是搞了PRF1,后来加了一个耗时。
  3. 实验流程
    实验流程一定要搞模块化,而且每一步都要做校验,这样在找问题的时候,会很方便。把整个流程放到一起简直自杀

我对毕设的看法

我在的这种院校,可能要求也不是很高,老师们甚至都是一知半解。那么你这其中就有很多可以操作的空间,只要不太拉跨,本科的毕设基本上就结束了。我们先上github找个代码,跑个极小数据集,流程搞通就完事。后期写论文,数据可以自由发挥,查重的时候下点功夫,就行了。
当然你打算有外部手段,那就无所谓了

你可能感兴趣的:(毕设复盘--基于词向量的情感分类)