精华内容
下载资源
问答
  • from fasttext import FastText import numpy as np def get_data_path(by_word=True,train=True): if by_word: return ./classify/data_by_word_train.txt if train else ./classify/data_by_word_test.txt else...
  • fasttext训练数据集

    2020-11-11 22:56:50
    Bag of Tricks for Efficient Text Classification, fastText Unofficial PyTorch Implementation of "Bag of Tricks for Efficient Text Classification", 2016, A. Joulin, E. Grave, P. Bojanowski, and T. ...
  • fastText模型服务 安装 您可以从下载预编译的二进制文件,或使用Cargo安装它: cargo install fasttext-serving 使用Docker: docker pull messense/fasttext-serving 用法 $ fasttext-serving --help USAGE: ...
  • 计划赶不上变化快的fasttext来啦~ 包括代码和分好词的训练集、测试集、停词表,测试集F1值0.941,虽然没比TextCNN高但是快啊!fasttext模块安装麻烦一点,具体看博客内容吧。
  • FastText-附件资源

    2021-03-02 15:11:56
    FastText-附件资源
  • 这个代码库实现了一个各种深学习模型使用Keras框架,其中包括文本分类:FastText,TextCNN,TextRNN,TextBiRNN,TextAttBiRNN,韩,RCNN,RCNNVariant等除了模型实现,简化应用程序包括在内。 指导 环境 Python ...
  • fasttext词向量,中文

    2020-07-06 23:19:39
    著名的fasttext词向量,上Billion个词,每个词N维,可用于深度模型初始化,BERT之后仍有其价值
  • 这些说明将使您开始使用fasttext-server。 先决条件 Python 3(请参见) 适用于Python的FastText(请参见) 安装 pip install fasttext-server 或者 您可以从获取预构建映像。 docker pull dfederschmidt/...
  • fasttext训练集

    2018-04-26 22:55:59
    fasttext训练集,用户fasttext文本分类训练集。。。。
  • 1. fastText的介绍 文档地址:https://fasttext.cc/docs/en/support.html fastText is a library for efficient learning of word representations and sentence classification. fastText是一个单词表示学习和文本...
  • tensorflow + fasttext 实现文本分类及原理-附件资源
  • 基于简单嵌入的文本分类器,受fastText启发,在TensorFlow中实现
  • 为所有只能源码安装fasttext的小伙伴。 Fasttext最大的特点是模型简单,只有一层的隐层以及输出层,因此训练速度非常快,在普通的CPU上可以实现分钟级别的训练,比深度模型的训练要快几个数量级。
  • Fasttext

    2020-07-30 12:17:34
    Fasttext:对于高效率文本分类的一揽子技巧 作者:Armand Joulin(第一作者) 单位:Facebook 会议:EACL 2017 1、论文总览 Abstract 本文提出了一种简单并且高效的文本分类模型,我们模型的效果和其它深度学习模型...

    《Bag of Tricks for Efficient Text Classification》

    • Fasttext:对于高效率文本分类的一揽子技巧
    • 作者:Armand Joulin(第一作者)
    • 单位:Facebook
    • 会议:EACL 2017

    1、论文总览

    Abstract

    本文提出了一种简单并且高效的文本分类模型,我们模型的效果和其它深度学习模型相当,但是速度快了好几个数量级。

    1.1 Introduction

    文本分类是自然语言处理中非常重要的任务,基于深度学习的文本分类任务效果很好,但是速度很慢。而线性分类器一般也表现很好,而且速度快,所以本文提出了一种快速的线性分类器Fasttext。

    1.2 Model architecture

    详细介绍了Fasttext的模型结构以及两个技巧,分别为层次softmax和N-gram特征。

    1.3 Experiments

    在文本分类任务上和tag预测任务上都取得了非常好的效果。

    1.4 Discussion and conclusion

    对论文进行一些总结。

    2、论文导读

    2.1 论文背景知识

    2.1.1 基于深度学习的文本分类模型

    在这里插入图片描述
    基 于 卷 积 神 经 网 络 的 文 本 分 类 模 型 ( C o n v o l u t i o n a l   N e u r a l   N e t w o r k s   f o r   S e n t e n c e   C l a s s i f i c a t i o n , 2014 ) 基于卷积神经网络的文本分类模型(Convolutional \space Neural \space Networks \space for \space Sentence \space Classification,2014) (Convolutional Neural Networks for Sentence Classification,2014)
    在这里插入图片描述
    字 符 级 别 卷 积 神 经 网 络 的 文 本 分 类 模 型 ( c h a r a c t e r − l e v e l   C o n v o l u t i o n a l   N e t w o r k s   f o r   T e x t   C l a s s i f i c a t i o n , 2015 ) 字符级别卷积神经网络的文本分类模型(character-level \space Convolutional \space Networks \space for \space Text \space Classification,2015) (characterlevel Convolutional Networks for Text Classification,2015)

    基于深度学习的文本分类模型的优点

    1. 效果好,一般能达到目前最好的分类效果;
    2. 不用做特征工程,模型简洁;

    基于深度学习的文本分类模型的缺点

    1. 速度太慢,无法在大规模的文本分类任务上使用;

    基于机器学习的文本分类模型的优点

    1. 速度一般都很快,因为模型都是线性分类器,所以比较简单;
    2. 效果还可以,在某些任务上也能取得最好的效果;

    基于机器学习的文本分类模型的缺点

    1. 需要做特征工程,分类效果依赖于有效特征的选取;

    Fasttext的动机

    综合深度学习的文本分类模型和机器学习的文本分类模型的优点,达到:

    • 速度快;
    • 效果好;
    • 自动特征工程;

    2.1.2 论文背景

    1. 文本分类是自然语言处理的重要任务,可以用于信息检索、网页搜索、文档分类等;
    2. 基于深度学习的方法可以达到非常好的效果,但是速度很慢,限制了文本分类的应用;
    3. 基于机器学习的线性分类器效果也很好,有用于大规模分类任务的潜力;
    4. 从现在词向量学习中得到的灵感,作者提出了一种新的文本分类方法Fasttext,这种方法能够快速的训练和测试并达到和最优结果相似的效果;

    2.2 论文研究成果及意义

    2.2.1 论文研究成果

    • Fasttext在多个任务上表现很好;
      在这里插入图片描述
    • Fasttext在效果很好的同时,速度非常快;
      在这里插入图片描述

    2.2.2 论文研究意义

    Fasttext历史意义

    • 提出了一种新的文本分类方法——Fasttext,能够进行快速的文本分类,并且效果很好;
    • 提出了一种新的使用子词的词向量训练方法-Fasttext,能够一定程度上解决OOV问题;
    • 将Fasttext开源,使得工业界和学术界能够快速使用Fasttext;

    3、论文精读

    3.1 摘要

    1. 本文为文本分类任务提出了一种简单并且高效的基准模型——Fasttext;
    2. Fasttext模型在精度上和基于深度学习的分类器平分秋色,但是在训练和测试速度上Fasttext快上几个数量级;
    3. 我们使用标准的多核CPU在10亿词的数据集上训练Fasttext,用时少于10分钟,并且在一分钟内分类好具有312k类别的50万个句子;

    3.2 Fasttext模型

    Fasttext模型和word2vec中的CBOW相似,现在先简单介绍一下CBOW模型,CBOW简单来说就是用周围词预测中心词,因为周围词有很多个,所以需要将所有的周围词向量SUM到一起,我们经常是对周围词向量进行取平均操作,然后基于平均得到的向量预测中心词。

    CBOW模型
    在这里插入图片描述
    下面简单分析一下CBOW的计算过程,如下图, W W W为周围词的词向量矩阵, W ∗ W^* W是中心词的词向量矩阵,假设窗口大小为2,CBOW模型首先将左边两个背景词和右边两个背景词映射出one-hot向量,图中的V为词表大小,背景词向量矩阵 W W W的维度D表示词嵌入的维度大小。

    四个背景词的one-hot向量经过词嵌入矩阵后变为4个对应的词嵌入向量,4个背景词向量求和平均之后得到一个 1 ∗ D 1*D 1D的平均词向量。这一个平均词向量和中心词向量矩阵 W ∗ W^* W相乘最后得到一个长度为V的向量,V的大小为词的个数。该长度为V的向量有V个值,其值表示生成词表每个词的权重,如果要将这个权重转换为概率,还需要经过一个softmax变换。
    在这里插入图片描述
    因为Fasttext模型和CBOW非常相似,下面我们介绍一下Fasttext模型:
    在这里插入图片描述
    上图为原文中的模型结构图,图中的 x 1 x_1 x1 x 2 x_2 x2,…, x N x_N xN是一句话的词对应的词向量(假设为n维的向量),将N个词向量进行平均得到hidden(维度同样为n维的向量)。

    hidden到output之间是一个n*label_num的矩阵,这样hidden的向量(维度为[1,n])乘于[n,label_num]的矩阵得到一个[1,label_num]的向量,label_num为分标签的个数。这也是CBOW和Fasttext的主要差别,CBOW对应的输出为词表大小个数,Fasttext为分类样本的个数。

    3.3 Fasttext模型和CBOW模型的区别和联系

    联系

    1. 都是Log-linear模型,模型非常简单;
    2. 都是对输入的词向量做平均,然后进行预测;
    3. 模型结构完全一样;

    区别:

    1. Fasttext提出的是句子特征,CBOW提出的是上下文特征;
    2. Fasttext需要标注语料,是监督学习,CBOW不需要标注语料,是无监督学习;

    目前Fasttext存在的问题

    1. 当类别非常多的时候,最后softmax速度依旧非常慢;
    2. 使用的是词袋模型,没有词序信息;

    解决方法:、

    1. 类似于word2vec,使用层次softmax;
    2. 为了添加词序信息,使用n-gram特征添加局部词序信息;

    3.4 Fasttext模型的优缺点

    优点

    1. 速度非常快,并且效果还可以;
    2. 有开源实现,可以快速上手使用;

    缺点

    1. 模型结构简单,所以目前来说,不是最优模型;
    2. 因为使用词袋思想,所以语义信息获取有限;

    3.5 Fasttext应用

    应用

    1. 文本特别多,对分类速度要求很高的场合;
    2. 作为一个基准baseline;

    3.6 基于SubWord词向量的训练方法

    3.6.1 Skip-gram模型

    基于SubWord的词向量训练方法和word2vec的Skip-gram方法比较类似,Skip-gram是使用中心词预测背景词,假设窗口大小为2,可以得到四个背景词的概率。
    在这里插入图片描述
    Skip-gram采用负采样的方法进行训练,因此计算损失函数的时候使用以下计算公式:

    ∑ t = 1 T [ ∑ c ∈ c t L ( s ( w t , w c ) + ∑ n ∈ N t , c L ( − s ( w t , n ) ) ] \sum_{t=1}^{T}\left[\sum_{c \in c_{t}} L\left(s\left(w_{t}, w_{c}\right)+\sum_{n \in N_{t}, c} L\left(-s\left(w_{t}, n\right)\right)\right]\right. t=1TcctLs(wt,wc)+nNt,cL(s(wt,n))

    对于基于中心词得到的一些正样本,希望其与中心词的內积越大越好,同样,对于采样得到的负样本,希望其和中心词的內积越小越好,对应于上述公式中的后半部分,加上负号表示越大越好。

    3.6.2 Subword词向量

    nlp中普遍存在的OOV问题,在传统的word2vec得到的词向量中,假设一个词congratulations被错误写为congratutations,则会由一个普通词变为一个unknow词。

    subword的思想是定义一个字符的n-gram方法,比如给定一个词where,在其头部和尾部分别加上<和>,得到一个新词,再使用3-gram进行划分得到[<wh,whe,her,ere,re>],也就是将三个字符组合成一个子词,对每一个子词学习到一个词向量,最终where的向量为其所有子词的词向量的平均。这种方法能在一定程度上解决OOV词情况。

    Subword的损失函数为:

    s ( w , c ) = ∑ g ∈ G w z g T v c s(w, c)=\sum_{g \in G_{w}} z_{g}^{T} v_{c} s(w,c)=gGwzgTvc

    上述损失函数中的 v c v_c vc为中心词向量, z g z_g zg为背景词的子词向量。

    举个例子,一个句子为“we have”,中心词为“have”,使用3-gram对have进行分词,得到have的子词组合为[<ha,hav,ave,ve>],将以上四个子词向量求均值得到中心词的词向量 v c v_c vc,背景词“we”得到子词组合[<we,we>],我们通过中心词向量预测背景子词向量。同时会通过负采样采样一些负样本进行预测,这就是Subword的大概训练方法。

    4、论文总结

    关键点

    • 基于深度学习的文本分类方法效果好,但是速度比较慢;
    • 基于线性分类器的机器学习方法效果还行,速度也比较快,但是需要做烦琐的特征工程;

    创新点

    • 提出了一种新的文本分类模型——Fasttext模型;
    • 提出了一种加快文本分类和使得文本分类效果更好的技巧——层次softmax和n-gram;
    • 在文本分类和tag预测两个任务上得到了又快又好的结果;

    启发点

    • 虽然这些深度学习模型能够取得非常好的效果,但是他们在训练和测试的时候非常慢,这限制了他们在大数据集上的应用;
    • 然而,线性分类器不同特征和类别之间不共享参数,这可能限制了一些只有少量样本类别的泛化能力;
    • 大部分词向量方法对每个词分配一个独立的词向量,而没有共享参数。特别的是,这些方法忽略了词之间的内在联系,这对于形态学丰富的语言更加重要;

    5、代码复现

    5.1 项目环境配置

    • Python3.5
    • jupyter notebook
    • torch 1.4.0
    • numpy 1.16.2
    • nltk
    • tqdm
    • torchsummary

    代码运行环境建议使用Pycharm;
    Pycharm:强大的Python IDE,拥有调试、语法高亮、远程调试、代码跳转等功能;

    5.2 数据集下载

    5.3 数据处理模块

    • 数据集加载
    • 读取标签和数据
    • 创建word2id
    • 将数据转化成id
    from torch.utils import data
    import os
    import csv
    import nltk
    import numpy as np
    
    # 数据集加载
    f = open("./data/AG/train.csv")
    rows = csv.reader(f,delimiter=',', quotechar='"')
    rows = list(rows)
    rows[0:5]
    

    读取得到的rows是一个list,rows的前五行数据表示如下所示:

    [['3',
      'Wall St. Bears Claw Back Into the Black (Reuters)',
      "Reuters - Short-sellers, Wall Street's dwindling\\band of ultra-cynics, are seeing green again."],
     ['3',
      'Carlyle Looks Toward Commercial Aerospace (Reuters)',
      'Reuters - Private investment firm Carlyle Group,\\which has a reputation for making well-timed and occasionally\\controversial plays in the defense industry, has quietly placed\\its bets on another part of the market.'],
     ['3',
      "Oil and Economy Cloud Stocks' Outlook (Reuters)",
      'Reuters - Soaring crude prices plus worries\\about the economy and the outlook for earnings are expected to\\hang over the stock market next week during the depth of the\\summer doldrums.'],
     ['3',
      'Iraq Halts Oil Exports from Main Southern Pipeline (Reuters)',
      'Reuters - Authorities have halted oil export\\flows from the main pipeline in southern Iraq after\\intelligence showed a rebel militia could strike\\infrastructure, an oil official said on Saturday.'],
     ['3',
      'Oil prices soar to all-time record, posing new menace to US economy (AFP)',
      'AFP - Tearaway world oil prices, toppling records and straining wallets, present a new economic menace barely three months before the US presidential elections.']]
    

    文本数据中第一部分的“3”表示文本类别标签,第二部分为文本标题,第三部分为文本正文内容;

    标签一般从0开始,而文本数据中从1开始,所以在数据处理时将标签值减一;在后面处理文本时将标题和正文拼接起来;

    # 读取标签和数据
    n_gram = 2 
    lowercase = True  # 不区分大小写
    label = []
    datas = []
    for row in rows:
        label.append(int(row[0])-1)  # label减一
        txt = " ".join(row[1:])  # 拼接标题和正文,用空格隔开
        if lowercase:
            txt = txt.lower()
        txt = nltk.word_tokenize(txt)   # 将句子转化成词
        new_txt=  []
        for i in range(0,len(txt)):
            for j in range(n_gram):   # 添加n-gram词
                if j<=i:
                    new_txt.append(" ".join(txt[i-j:i+1]))  # 因为n-gram=2,所以有两种情况,一种是单词,一种是双词
        datas.append(new_txt)
    print (label[0:5])
    print (datas[0:5])
    

    在Fasttext中使用了Hash技术,因为Fasttext中使用到n-gram技术,如果为每一个词或者n-gram词组构建一个词向量,则词表会非常大。因此在Fasttext中,对于每个词构建一个词向量,对于n-gram得到的词组,则可能会有多个n-gram词组共享一个词向量,这样能够减小词表的规模。
    在这里插入图片描述

    # 得到word2id
    min_count = 3  # 词频小于3的词忽略
    word_freq = {}  # word2id字典
    for data in datas:   # 遍历每个句子,首先统计词频,后续通过词频过滤低频词
        for word in data:  # 遍历每个词
            if word_freq.get(word)!=None:  # 对应词的词频+1
                word_freq[word]+=1
            else:
                word_freq[word] = 1
    word2id = {"<pad>":0,"<unk>":1} 
    for word in word_freq:   # 首先构建uni-gram词,因为不需要hash
        if word_freq[word]<min_count or " " in word:  # 如果词频小于3或者不是uni-gram则忽略
            continue
        word2id[word] = len(word2id)
    uniwords_num = len(word2id)  # 统计uni-gram的词个数
    for word in word_freq:  # 构建2-gram以上的词,需要hash
        if word_freq[word]<min_count or " " not in word:
            continue
        word2id[word] = len(word2id)
    word2id
    
    # 将文本中的词都转化成id
    max_length = 100  # 设定句子的最大长度为100
    for i,data in enumerate(datas):  # 遍历每个句子
        for j,word in enumerate(data):  # 遍历句子中的每个词
            if " " not in word:  # 如果是uni-gram词
                datas[i][j] = word2id.get(word,1)  # 获得词对应的id,如果是unknow词则设定为1(UNK词)
            else:
                datas[i][j] = word2id.get(word, 1)%100000+uniwords_num  # hash函数,处理n-gram词
        datas[i] = datas[i][0:max_length]+[0]*(max_length-len(datas[i]))  # 对长度不足100的词则在句子后padding 0
    datas[0:5]
    

    5.4 Fasttext模型

    import torch
    import torch.nn as nn
    import numpy as np
    
    class Fasttext(nn.Module):
        def __init__(self,vocab_size,embedding_size,max_length,label_num):
            super(Fasttext,self).__init__()
            self.embedding =nn.Embedding(vocab_size,embedding_size)  # 嵌入层
            self.avg_pool = nn.AvgPool1d(kernel_size=max_length,stride=1) # 平均层
            self.fc = nn.Linear(embedding_size, label_num) # 全连接层
        def forward(self, x):
            x = x.long()
            out = self.embedding(x) # batch_size*length*embedding_size
            out = out.transpose(1, 2).contiguous() # batch_size*embedding_size*length
            out = self.avg_pool(out).squeeze() # batch_size*embedding_size
            out = self.fc(out) # batch_size*label_num
            return out
    
    fasttext = Fasttext(vocab_size=1000,embedding_size=10,max_length=100,label_num=4)
    test = torch.zeros([64,100]).long()
    out = fasttext(test)
    
    from torchsummary import summary
    summary(fasttext, input_size=(100,))
    

    在这里插入图片描述

    展开全文
  • FastText

    2021-08-05 09:15:07
    《 Bag of Tricks for Efficient Text Classification 》 《FastText: 对于高效率文本分类的一揽子技巧》

    1. 学习任务

        《 Bag of Tricks for Efficient Text Classification 》

    《FastText: 对于高效率文本分类的一揽子技巧》Armand Joulin 等  单位:Facebook   会议:EACL 2017


       开源项目网页 fasttext.cc

    1.1 论文结构

    在这里插入图片描述

    1.2 学习目标

    在这里插入图片描述


    文章 摘要 部分

    1. 本文为文本分类任务提出了一种简单并且高效的基准模型——FastText。
    2. FastText模型在精度上和基于深度学习的分类器平分秋色,但是在训练和测试 速度 上 FastText 快上几个数量级。
    3. 我们使用标准的多核CPU在10亿词的数据集上训练 FastText,用时少于10分钟,并且在一分钟内分类好具有312K类别的50万个句子。


    文章 Introduction 部分

    1. 文本分类是自然语言处理的重要任务,可以用于信息检索、网页搜索、文档分类等。
    2. 基于深度学习的方法可以达到非常好的效果,但是速度很慢,限制了文本分类的应用。
    3. 基于机器学习的线性分类器效果也很好,有用于大规模分类任务的潜力。
    4. 从现在词向量学习中得到的灵感,我们提出了一种新的文本分类方法FastText,这种方法能够快速的训练和测试并且达到和最优结果相似的效果。

    1.3 背景知识

    1.3.1 基于深度学习文本分类模型优缺点

      如:基于卷积神经网络的文本分类模型 TextCNN 和 字符级别卷积神经网络的文本分类模型 CharTextCNN

    优点:

    • 效果好,一般能达到了目前最好的分类效果。
    • 不用做特征工程,模型简洁。

    缺点:

    • 速度太慢,无法在大规模的文本分类任务上使用。

    1.3.2 基于机器学习文本分类模型优缺点

      如:TF-IDF

    优点:

    • 一般速度都很快,TF-IDF 就相当于特征工程,模型都是线性分类器,所以比较简单。
    • 效果还可以,在某些任务上也能取得最好的效果。

    缺点:

    • 需要做特征工程,分类效果依赖于有效特征的选取。

    1.3.3 FastText 动机:

      结合深度学习的文本分类模型和机器学习的文本分类模型的优点,达到 速度快效果好自动特征工程

    1.4 研究成果及意义

    1. FastText 在多个任务上表现很好。(下图中8个数据集)

      在这里插入图片描述
    2. FastText 在效果很好的同时,速度非常快。单个 epoch 的训练时间(char-CNNVDCNNfastText ):

    在这里插入图片描述

    1.4.1 FastText 历史意义

    • 提出了一种新的文本分类方法——FastText,能够进行快速的文本分类,并且效果很好。
    • 提出了一种新的使用 子词 (词的前缀、后缀等)的词向量训练方法——FastText,能够一定程度上解决OOV问题。
    • 将FastText 开源,使得工业界和学术界能够快速使用 FastText。

    2. FastText 模型

    在这里插入图片描述
    FastText 的网络结构与 word2vecCBOW 非常相似。CBOW介绍 - 链接

    联系

    1. 都是Log-linear模型,在最后一层加上softmax,实现权重到概率的非线性变换,模型非常简单。
    2. 都是对输入的 词向量 做平均,然后进行预测。
    3. 模型结构完全一样。

    区别

    1. FastText提取的是句子特征,CBOW提取的是上下文特征。
    2. FastText需要标注语料,将每个句子标注成一个句子,是监督学习;CBOW不需要标注语料,是无监督学习。

    目前的 FastText 存在的问题

    问题:

    1. 当类别非常多的时候,最后的 softmax速度依旧非常慢。
    2. 使用的是 词袋模型,没有词序信息。

    解决方法:

    1. 对问题1,类似于word2vec,使用 层次softmax
    2. 对问题2, 使用 n-gram 模型。

      文章中N-gram features中使用的 hashing trick (Weinberger et al., 2009) 方法举例,

    1-gram   3万词
    2-gram   10万词
    3-gram   40万词


      假设词表大小是10万,前3万个仍是1-gram,一个词映射成一个向量;后面7万个分给 2-gram 和 3-gram, ( 10 + 40 ) % 7 = 7 (10+40) \%7=7 (10+40)%7=7 取余,进行了一个折中,[ 如果每个词对应一个向量,词表太大;如果多个词对应一个向量,不准确。] 这里 7 个词对应一个向量。

    FastText 模型优缺点

    优点: 1. 速度非常快,并且效果还可以。2. 有开源实现,可以快速上手使用。

    缺点: 1. 模型结构简单,所以目前来说,不是最优的模型。2. 因为使用词袋思想,所以语义信息获取有限。

    FastText 应用

    1. 文本特别多,对分类速度要求很高的场合。
    2. 作为一个基准baseline。

    2.1 Subword 词向量

      Subword model 可参考文章 Enriching Word Vectors with Subword Information

    2.3 Pytorch编程,显存不够大,调哪些参数?

    import argparse
    
    def ArgumentParser():
        parser = argparse.ArgumentParser()
        parser.add_argument('--embed_size', type=int, default=10, help="embedding size of word embedding")
        parser.add_argument("--epoch",type=int,default=200,help="epoch of training")
        parser.add_argument("--cuda",type=bool,default=True,help="whether use gpu")
        parser.add_argument("--gpu",type=int,default=1,help="whether use gpu")
        parser.add_argument("--label_num",type=int,default=4,help="the label number of samples")
        parser.add_argument("--learning_rate",type=float,default=0.02,help="learning rate during training")
        parser.add_argument("--batch_size",type=int,default=64,help="batch size during training")
        parser.add_argument("--seed",type=int,default=1,help="seed of random")
        parser.add_argument("--max_length",type=int,default=100,help="max length of sentence")
        parser.add_argument("--min_count",type=int,default=3,help="min_count of word")
        parser.add_argument("--n_gram",type=int,default=2,help="num gram of word")
        return parser.parse_args()  # pycharm中不加 args=[],jupyter 中加上
    
    1. embeding_size, 控制你的词向量矩阵大小,词向量矩阵在 GPU 里面
    2. batch_size,batch_size 代表一次往 GPU 里面装入多少条数据
    3. max_length,max_length 也决定了你输入的大小
    4. min_count, 显存小,可以将min_count 调大,过滤更多的词
    5. n_gram,显存小,将 n_gram 调大

    参考链接- 深度之眼 - NLP baseline
    参考链接- FastText 项目地址
    参考链接- huaxiaozhuan-word representation_5 FastText

    展开全文
  • FastText是Facebook AI Research推出的文本分类和词训练工具,它的最大特点是模型简单并且在文本分类的准确率上,和现有的深度学习的方法效果相近,即在保证了准确率的情况下大大缩短了分类时间。
  • 词向量论文深度学习论文fasttext词向量论文深度学习论文fasttext词向量论文深度学习论文fasttext词向量论文深度学习论文fasttext
  • fastText 是一个用于高效学习单词表示和句子分类的库。 目录 资源 楷模 最新的最先进的。 单词向量。 和。 补充资料 在[2]中使用的预处理的。 常问问题 您可以在我们的上找到。 备忘单 我们还提供了一份备有有用...
  • fasttext_experiments FastText是一种基于子词静态词嵌入的开源软件,可实现高效的文本分类。 它允许基于子词计算未知词的嵌入,并提供多标签分类。 还提供了在Common Crawl和Wikipedia上针对进行了预训练的单词...
  • 外网很难下载,贼慢,所以特此分享一个链接。
  • fastText4j:使用Java实现Facebook的FastText
  • mynlp:一个生产级,高性能,预定,可扩展的中文NLP工具包。(中文分词,平均感知机,fastText,拼音,新词发现,分词纠错,BM25,人名识别,命名实体,自定义词典)
  • FastText-0.9.2.zip

    2021-05-05 16:33:53
    FastText源码
  • https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md 英文的精简版
  • 基于fastText的问答系统用户意图识别与关键词抽取研究_代令令.caj,讲述如何用fastText来实现问答系统和用户的意图识别
  • 快速文本分类,多文本分类, 词嵌入
  • Persian_FastText 使用FastText预训练模型嵌入波斯语单词 先决条件 波斯语单词嵌入的T-SNE可视化 贡献 拉请求是受欢迎的。 对于重大更改,请先打开一个问题以讨论您要更改的内容。
  • gru fasttext

    2019-02-28 15:29:28
    使用双向GRU和LSTM进行FastText文本分类 # This is a script version of Meng Ye's Notebook: https://www.kaggle.com/konohayui/bi-gru-cnn-poolings/code # I'm trying to reproduce the best single public ...
  • pyfasttext不再维护:使用来自fastText存储库的官方Python绑定: : 另一个Python绑定。 绑定支持Python 和 。它需要 。 和也是依赖项,但是是可选的。 pyfasttext已在Linux和Mac OS X上成功测试。 警告:如果...
  • 检查的代码以了解如何使用fastText 的Python 绑定。 是一个机器学习平台,可自动执行 MLOps 和记录保存。 检查的代码,了解如何将自定义 ML 代码与 Valohai 集成。 是一个高性能、易于学习、快速编码并准备用于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,539
精华内容 2,615
关键字:

fasttext