NLP——Task4 基于深度学习的文本分类1-fastText
2020-07-27 21:02
36 查看
基于深度学习的文本分类
与传统机器学习不同,深度学习既提供特征提取功能,也可以完成分类的功能。从本章开始我们将学习如何使用深度学习来完成文本表示。
FastText
FastText是一种典型的深度学习词向量的表示方法,它非常简单通过Embedding层将单词映射到稠密空间,然后将句子中所有的单词在Embedding空间中进行平均,进而完成分类操作
基于FastText的文本分类
代码如下
import pandas as pd from sklearn.metrics import f1_score # 转换为FastText需要的格式 train_df = pd.read_csv('../train_set.csv', sep='\t', nrows=15000) train_df['label_ft'] = '__label__' + train_df['label'].astype(str) train_df[['text','label_ft']].iloc[:-5000].to_csv('train.csv', index=None, header=None, sep='\t') import fasttext model = fasttext.train_supervised('train.csv', lr=1.0, wordNgrams=2, verbose=2, minCount=1, epoch=25, loss="hs") val_pred = [model.predict(x)[0][0].split('__')[-1] for x in train_df.iloc[-5000:]['text']] print(f1_score(train_df['label'].values[-5000:].astype(str), val_pred, average='macro'))
结果如下:
0.8228518988708257
相关文章推荐
- 天池NLP学习赛(4)基于深度学习的文本分类(fastText)
- Datawhale零基础入门NLP赛事-04基于深度学习的文本分类1FastText
- 原创 零基础入门NLP(天池学习赛-Task4 基于深度学习的文本分类1
- 阿里天池NLP入门——新闻文本分类(5)基于深度学习的文本分类2
- NLP实践六:Fasttext实现文本分类
- 基于keras的fasttext短文本分类
- 阿里天池NLP入门——新闻文本分类(4)基于深度学习的文本分类1
- fastText、TextCNN、TextRNN等,这里有一套NLP文本分类深度学习方法库供你选择
- fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择
- 零基础入门NLP-Task4 基于深度学习的文本分类1
- 零基础入门NLP-Task5 基于深度学习的文本分类2
- NLP——Task5 基于深度学习的文本分类2-1Word2Vec
- Datawhale NLP入门:Task5 基于深度学习的文本分类2
- 文本分类(六):使用fastText对文本进行分类--小插曲
- NLP第9章 NLP 中用到的机器学习算法——基于统计学(文本分类和文本聚类)
- 词向量源码解析:(6.3)fasttext源码解析之文本分类2
- FastText 词向量与文本分类
- 带监督的文本分类算法FastText
- NLP文本情感分类传统模型+深度学习(demo)
- 词向量源码解析:(6.4)fasttext源码解析之文本分类3