美文网首页
task4 Classification of papers

task4 Classification of papers

作者: cornbig | 来源:发表于2021-01-23 02:50 被阅读0次

学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类;
学习内容:使用论文标题完成类别分类;
学习成果:学会文本分类的基本方法、TF-IDF等;

文本分类:
思路一 :TF-IDF + ml 分类器
直接使用TF-IDF对文本提取特征,使用分类器完成分类,分类器可以使用SVM、LR 、xgboost等
思路二 :FastText
FastText是入门款的词向量,利用Facebook 提供的FastText工具,可以快速构建分类器
思路三 :word2vec + 深度学习分类器
word2vec是词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择textCNN,textRNN,BiLSTM等
思路四 :Bert词向量
Bert 是高配款的词向量,具有强大的建模学习能力。

import json
import pandas as pd
data = []
with open('/content/arxiv-metadata-oai-snapshot.json' , 'r') as f:
  for idx, line in enumerate(f):
    d = json.loads(line)
    d = {'title': d['title'], 'categories': d['categories'], 'abstract': d['abstract']}
    data.append(d)
data = pd.DataFrame(data)
data.head()
data['text'] = data['title'] + data['abstract']
data['text'] = data['text'].apply(lambda x: x.replace("\n"," "))
data['text'] = data['text'].apply(lambda x: x.lower())
data = data.drop(["title","abstract"], axis = 1)
data.head(20)

# 处理分类
# 多个类别,包含子类别
data['categories'] = data['categories'].apply(lambda x : x.split(' '))
data.head(20)
# 单个类别,不包含子类别
data['categories_big'] = data['categories'].apply(lambda x :[xx.split(".")[0] for xx in x])
data.head(20)

相关文章

网友评论

      本文标题:task4 Classification of papers

      本文链接:https://www.haomeiwen.com/subject/sqjyzktx.html