针对科技文章的多标签分类

0. 起

  最近没有更新。暑假之后学的东西也比较杂,看了一下基于DL的智能美颜,感觉入了个大坑。前前后后看了传统的轮廓提取算法和FCN等等,调代码巴拉巴拉几个星期就这么过了。前几天看ACM的best paper也觉得很有意思,两个步骤:1)给图片打标题,属于多媒体计算和NLP的结合 2)由标题生成诗歌。感觉这里面可以学的东西也有很多。等项目结束论文写完一定好好的顺着学一遍,看京都大学团队说近期会公布数据集,不错不错。

  最近是在看论文和弄实验室的项目。之前的短评预测预订明年的一个项目,而今年的题目是:新知识抽取与发现。主要是针对科技文章的,也就是知网文章。我在想怎么做这个题目的时候也是百般思考(因为这个题目是去年订的,没有经过我的手),如何体现新知识?抽取与发现在NLP倒是老生常谈,提取主题、摘要、关键字,发现无非也就是分类或者打标签。

  之前已经毕业的师兄是有一套完整的单标签代码的,包含他的毕业论文一同给了我参考。这里也可以简单说一下打标签和分类的区别,也方便捋清思路。好比你在淘票票上买电影票,点进电影介绍,它会告诉你这是一部18R/成人向/.../的电影,这就是一个分类;而电影的类型是Comedy/Tragedy/.../Family and Comedy,这就是多标签,即可以存在交叉项或是合并项。所以我合计着师兄的单标签其实也就是分类....

  为什么我不用师兄的呢,可以省很多事情,连答辩PPT都有改一改去糊弄一下甲方就完事。在我的理解里面,交叉学科最容易产生新知识,甚至是新科学。计算机+智能形成了近年来很火的人工智能领域,金融+数学的结合成为了金融工程,这都是新知识新领域的诞生。IG进入S赛决赛,那提及一下传媒+电竞+主持等等你能想到什么呢,不仅是新知识,新岗位也出现了。所以,从多标签的角度去阐述新知识更有意义

1. 承

  前面废话了很多,其实也就是想说明白我这个伪逻辑。既然针对知网文章,那么如何爬取一个文本--多标签对的数据集就尤为关键了。在这里我们也想了很多办法,包括知网本身也有一些奇奇怪怪的反爬机制,这一块我交给学弟去做了,也是煞费时间。

  知网本身没有明显的多标签痕迹,它把文章的分类放在一个动态加载frame里面。我们按照高级检索栏的10来个大类*10来个子栏进行爬取,选取每篇文章的标题、摘要、多标签。目前进展有10W+数据,数据还在更新中。(用的学校的公网ip,似乎没有被封)为什么要按照这种方式爬取呢,主要是为了各个类别标签下的文章数量分布均匀。不然训练出某些词向量会导致比重失衡。

图1 按知网的分类进行爬取

  然后具体每篇文章的爬取内容如下,多标签可以爬取一级、二级甚至三级标签。我们爬取了一级和二级。主要是防止三级标签太多导致稀疏问题,训练时难以收敛,测试时结果可以也会和预期相去甚远。当然具体的选择可以根据自己的项目来做决定。

图2 爬取内容

  存放呢。所有数据先写入excel之后再进行整理。第一列设定一个ID,第二列标题,第三列摘要,第四列一级标签,第五列二级标签。然后将按文章,将题目和摘要整理到一个txt,标题一行摘要一行;将label整理到一个txt。这两个文件按id命名,只是后缀不同。最后再将所有的标签汇总到一个文件方便读写,一个标签一行。目前为止我们总共收集了120+标签。

2. 转

10.29写完上面的。直到现在还是没时间更新后面的。项目结项了,然后施工论文ing。累。先贴几张图吧,之后有时间再继续更,大概过年的时候了吧。


2018.12.10 16:53 更新

To be continue


 

 

posted on 2018-12-10 16:56  Allen.c  阅读(663)  评论(0编辑  收藏  举报

导航