[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification

简介: [FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification

Bag of Tricks for Efficient Text Classification

论文:Bag of Tricks for Efficient Text Classification

作者:Armand Joulin,Edouard Grave,Piotr Bojanowski,Tomas Mikolov

时间:2016

地址:https://cs.brown.edu/people/pfelzens/segment

一、完整代码

直接调用fastext库就好,很快就能搞定!

import fasttext
# data.train.txt是一个文本文件,每行包含一个训练句和标签。默认情况下,我们假设标签是以  __label__ 为前缀的单词
model = fasttext.train_supervised('data.train.txt')
# 返回概率最高的三个结果,由于预测两个,一共会返回6个结果
model.predict(["Which baking dish is best to bake a banana bread ?", "Why not put knives in the dishwasher?"], k=3)

api中的label是前缀,默认为__label__

二、论文解读

2.1 模型架构

A simple and efficient baseline for sentence classification is to represent sentences as bag of words (BoW) and train a linear classifier, e.g., a logistic regression or an SVM (Joachims, 1998; Fan et al., 2008). However, linear classifiers do not share parameters among features and classes. This possibly limits their generalization in the context of large output space where some classes have very few examples. Common solutions to this problem are to factorize the linear classifier into low rank matrices (Schutze, 1992; Mikolov et al., 2013) or to use multilayer neural networks (Collobert and Weston, 2008; Zhang et al., 2015).

       由于线性分类器不会在类别和特征之间共享参数,所以我们不需要计算每一个类别的softmax值;即可以使用Hierarchical Softmax 或者 Negative Sampling 来加快训练速度;

       同时,由于各个词的内部特征也可以进行考虑,根据论文Enriching Word Vectors with Subword Information,我们可以使用论文的subwords方法进行映射;

       模型架构如下:

与论文Enriching Word Vectors with Subword Information不同的是,那里的output是词向量,而这里是类别(class or label);完毕!

三、过程实现

在论文中Enriching Word Vectors with Subword Information详细讲了;这里只需要softmax就可以了

四、整体总结

实现难度远不如Enriching Word Vectors with Subword Information


目录
相关文章
|
机器学习/深度学习 数据挖掘
【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification
本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。
241 0
|
7月前
|
机器学习/深度学习 自然语言处理 ice
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
56 2
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
|
7月前
|
算法 TensorFlow 算法框架/工具
[FastText in Word Representations]论文实现:Enriching Word Vectors with Subword Information*
[FastText in Word Representations]论文实现:Enriching Word Vectors with Subword Information*
42 2
|
机器学习/深度学习 人工智能 自然语言处理
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
到目前为止,命名实体识别(NER)已经涉及三种主要类型,包括扁平、重叠(又名嵌套)和不连续NER,它们大多是单独研究的。
250 0
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
|
机器学习/深度学习 数据挖掘
【论文解读】Co-attention network with label embedding for text classification
华南理工出了一篇有意思的文章,将标签和文本进行深度融合,最终形成带标签信息的文本表示和带文本信息的标签表示。
253 1
|
机器学习/深度学习 自然语言处理 数据可视化
SimCSE: Simple Contrastive Learning of Sentence Embeddings论文解读
本文介绍了SimCSE,一个简单的对比学习框架,极大地推进了最先进的句子嵌入。我们首先描述了一种无监督方法,该方法采用一个输入句子,并在一个对比目标中预测自己
316 0
|
机器学习/深度学习 编解码 自然语言处理
DeIT:Training data-efficient image transformers & distillation through attention论文解读
最近,基于注意力的神经网络被证明可以解决图像理解任务,如图像分类。这些高性能的vision transformer使用大量的计算资源来预训练了数亿张图像,从而限制了它们的应用。
553 0
|
数据可视化 数据挖掘
【论文解读】Dual Contrastive Learning:Text Classification via Label-Aware Data Augmentation
北航出了一篇比较有意思的文章,使用标签感知的数据增强方式,将对比学习放置在有监督的环境中 ,下游任务为多类文本分类,在低资源环境中进行实验取得了不错的效果
448 0
|
数据挖掘
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation-ppt版学习笔记
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation-ppt版学习笔记
135 0
|
机器学习/深度学习 存储 数据挖掘
【文本分类】Bag of Tricks for Efficient Text Classification
【文本分类】Bag of Tricks for Efficient Text Classification
103 0
【文本分类】Bag of Tricks for Efficient Text Classification