精华内容
下载资源
问答
  • Facebook 于北京时间2019年6月25日更新FastText代码,增加了FastText.ZIP:Compressing Text Classification Models论文的模型压缩实现,论文地址https://arxiv.org/abs/1612.03651 压缩后的模型能减小到10M以内 一...

    Facebook 于北京时间2019年6月25日更新FastText代码,增加了FastText.ZIP:Compressing Text Classification Models论文的模型压缩实现,论文地址https://arxiv.org/abs/1612.03651

    压缩后的模型能减小到10M以内

    一、新版函数的变化

    1.classification text的supervisor()变为train_supervisor(),只能输入模型的学习参数以及训练集文件,去掉直接保存模型的功能

    注:词向量训练的函数也有修改,可以自行查看github代码

    旧版代码:

    新版代码:

    2.保存模型要用save_model()

    二、预测结果的改变

    旧版中预测单个文本,也必须把分词结果保存在list中, 新版可以直接单句string形式输入也可以list,同时输出标签会带有前缀“__label__”

    预测结果如下:

    输入string:(('__label__测试',), array([1.00000727]))

    或者输入list:([['__label__测试']], array([[1.00000727]]))

    二、对训练好的模型进行压缩

    import fasttext
    
    old_model_path = 'clf.model.bin'
    source_model_path = model_path
    old_model = fasttext.load_model(source_model_path)
    
    data_path = 'train.txt'
    
    '''compress'''
    print('begin compress')  #参数retrain=True的话需要输入原来的训练数据,会重新训练,模型不重新训练,还有其他参数未研究
    old_model.quantize()
    print('compress finish')
    old_model.save_model(model_path.replace('.bin', '.ftz'))
    print('save finished')
    

    压缩后文件大小:

    注意:旧版本的代码训练的模型由于与新版本不一样,要重新训练,否则load_model旧模型会报错
    ValueError: /home/mnt/ppt_project_data/ppt_fasttext_clf_files/online_model/clf_ppt.model.bin has wrong file format!

    Process finished with exit code 1

    展开全文
  • centos 下 gcc c++ 版本更新 Fasttext Glove

    千次阅读 2017-03-14 09:22:22
    在centos下更新gcc版本是一件非常痛苦的事情。这个使用Mac电脑的人感受不到,使用服务器搞项目的才懂。 在网上搜了很多资源,网上最流行的的解决方案如下链接,非常繁琐,而且运行中出了问题。简直是

    centos 默认的gcc版本为4.4.7,对于GitHub上的很多项目都没法正常编译。为了编译Glove词向量工具,遇到以下错误:因为GCC版本较低导致很多项目都不能正常编译。

    在网上搜了很多资源,网上最流行的的解决方案如下链接,非常繁琐,而且运行中出了问题。简直是要崩溃,和我其它帖子一样,觉得要以平民化最简单的方法解决这个问题,以正视听。



    在centos下更新gcc版本是一件非常痛苦的事情。这个使用Mac电脑的人感受不到,使用服务器搞项目的才懂。参考了一下链接进行了修正:

    http://www.mudbest.com/centos%e5%8d%87%e7%ba%a7gcc4-4-7%e5%8d%87%e7%ba%a7gcc4-8%e6%89%8b%e8%ae%b0/


    于是,首先借助一个非常好用的工具devtoolset-2,安装这个非常容易,见教程,很多电脑里已经有了该工具。见一下链接:

    http://blog.csdn.net/qq_14821541/article/details/52297859

    安装devtoolset-2其实就两个命令

    wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
    yum install devtoolset-2

    我的电脑已有该工具。或者采用wget命令直接下载,yum安装,该方法更容易。

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo
    mv devtools-2.repo /etc/yum.repos.d
    yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++


    这样就安装好了,但是gcc -v还是显示版本号为4.4.7,需要选择默认的gcc版本,一种是使用的时候切换,但这样比较麻烦,直接把原版本覆盖掉:

    mv /usr/bin/gcc /usr/bin/gcc-4.4.7
    mv /usr/bin/g++ /usr/bin/g++-4.4.7
    mv /usr/bin/c++ /usr/bin/c++-4.4.7
    ln -s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc
    ln -s /opt/rh/devtoolset-2/root/usr/bin/c++ /usr/bin/c++
    ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++

    之后,在查看版本,输入:gcc --version或者gcc -v,发现版本已经更新,可以顺利编译。






    展开全文
  • http://blog.csdn.net/m0_37306360/article/details/72832606这里记录使用fastText训练word vector笔记下载到本机:$ gitclone https://github.com/facebookresearch/fastText.git$ cdfastText$ makeMake报错:原因...

    http://blog.csdn.net/m0_37306360/article/details/72832606

    这里记录使用fastText训练word vector笔记

    下载到本机:

    $ gitclone https://github.com/facebookresearch/fastText.git

    $ cdfastText

    $ make

    Make报错:

    415697e7b408e462619c168d25addda9.png

    原因GCC版本过低

    Gcc –v

    62880e016f5972cbece023b8890f968c.png

    升级版本:参考(http://www.linuxidc.com/Linux/2016-11/136840.htm)

    1.      添加源

    首先添加ppa到库:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test

    sudo apt-get update

    2.      安装新版gcc/g++(注意gcc和g++都要更新)

    接着就可以选择安装gcc-4.9,gcc-5之类的啦!(注意目前gcc-5实际上是5.3.0,没有5.1或5.2可供选择)

    sudo apt-get install gcc-4.8g++-4.8

    sudo apt-get install gcc-4.9g++-4.9

    sudo apt-get install gcc-5g++-5

    sudo apt-get install gcc-6g++-6

    具体希望安装哪个版本,大家可以自己选择

    3.      刷新db并locate

    接着现在可以考虑刷新一下, 否则locate等命令是找不到的, 这个也是可选的(非必须)

    sudo updatedb && sudo ldconfig

    locate gcc | grep -E "/usr/bin/gcc-[0-9]"

    4.      切换版本

    通过update-alternatives建立文件关联

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.620

    sudo update-alternatives --install /usr/bin/gcc gcc/usr/bin/gcc-4.8 30

    然后在fastText文件夹下make,成功生成fastText执行文件。

    接下来就可以愉快的使用了。

    fastText可以可以用于训练 word represent和text classification,这里记录使用fastText训练word embedding过程。

    1.      首先打开word-vector-example.sh文件

    RESULTDIR=result  //结果保存文件夹

    DATADIR=data     //输入数据文件夹

    mkdir -p"${RESULTDIR}"

    mkdir -p"${DATADIR}"

    if [ ! -f"${DATADIR}/fil9" ]  //如果fil9不存在,就下载

    then

    wget -c http://mattmahoney.net/dc/enwik9.zip-P "${DATADIR}"

    unzip "${DATADIR}/enwik9.zip" -d"${DATADIR}"

    perl wikifil.pl "${DATADIR}/enwik9"> "${DATADIR}"/fil9

    fi

    if [ ! -f"${DATADIR}/rw/rw.txt" ]  //如果rw.txt不存在,就下载

    then

    wget -chttps://nlp.stanford.edu/~lmthang/morphoNLM/rw.zip -P "${DATADIR}"

    unzip "${DATADIR}/rw.zip" -d"${DATADIR}"

    fi

    make

    ./fasttextskipgram -input "${DATADIR}"/fil9 -output"${RESULTDIR}"/fil9 -lr 0.025 -dim 100 \

    -ws 5 -epoch 1 -minCount 5 -neg 5 -loss ns-bucket 2000000 \

    -minn 3 -maxn 6 -thread 4 -t 1e-4-lrUpdateRate 100

    //这行代码为训练word embedding,输入为DATADIR下的fil9,输出模型保存在RESULTDIR下fil9。

    这些参数是强制性设定的:

    - minCount 5:单词出现少于5就丢弃  -minn 最小长度的字符  -maxn 最长长度的字符 –t 采样阈值

    这些参数是可选的:

    -lr 学习率–epoch 迭代次数–neg 负采样–loss  loss function {ns,hs, softmax}   ---dim 词向量维度 –ws 窗口大小

    cut -f1,2 "${DATADIR}"/rw/rw.txt | awk '{print tolower($0)}' | tr '\t' '\n'> "${DATADIR}"/queries.txt

    cat"${DATADIR}"/queries.txt | ./fasttext print-word-vectors "${RESULTDIR}"/fil9.bin> "${RESULTDIR}"/vectors.txt

    python eval.py -m "${RESULTDIR}"/vectors.txt -d"${DATADIR}"/rw/rw.txt

    2.      使用自己的语料训练,这里我使用维基百科英文语料,处理过程前面有讲。

    ./fasttext cbow –input new_enwiki –output new_enwiki_100_30–epoch 30 –neg 5 –loss ns –dim 100 –ws 5

    展开全文
  • fastText(更新中...)

    2018-06-09 20:30:05
    nlp中的卷积神经网络分类问题(更新中…) 当谈到nlp相关处理模型的时候,可能你会随口说出多个模型,但是这些模型都离不开基础的“配件”,那就是RNN、LSTM、GRU,但是对于很多问题,原来用于图像处理的CNN表现效果...
    展开全文
  • liunx版本下操作:$ git clone ...安装成功后的导入:新建test.py文件,写入:import fastText.FastText as fasttext(可能会瞟红线)新增:最近发现fasttext的github更新了,引入方式发生了...
  • 真是坑了好久,faxttext对...法1:刚开始直接用pip install fasttext,最后一直报下面这个错误“error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghu...
  • win10安装FastText

    2020-07-27 15:18:54
    win10下安装FastText 官方:‘Generally, fastText builds on modern Mac OS and Linux distributions. ’ 首先去python的各种第三方安装包 https://www.lfd.uci.edu/~gohlke/python...一般新安装Ubuntu后需要先更新
  • fasttext文本分类

    2019-10-27 09:44:20
    前几天为了实现文本分类,看了不少博客文章之类的,就fasttext还算稍微能看懂,代码也最终能跑得起来,但是好多博客的代码都是更新之前的了,会报错,找坑填坑一路爬出来,总算跑通了,发出来做个记录吧。...
  • fasttext,从名字就是可以看得出来这个是一个快速文本分类器,该算法由facebook在2016年开源,提供了简单高效的文本分类,效果堪比深度学习;这些比较在作者的原始paper上可以得出结果;这里只是做一个简短的介绍,这...
  • 扫码关注“自然语言处理与算法”公众号,持续更新~ 下面详细介绍基于FastText文本分类实战。对fasttext原理及模型中的方法不熟悉的话,可以先看看FastText原理解析 1.训练数据(样例) 训练数据保存在csv文件中,...
  • ext.py", line 340, in run self.build_extensions() File "/tmp/pip-install-zf0wwk3u/fasttext/setup.py", line 146, in build_extensions opts.append(cpp_flag(self.compiler)) File "/tmp/pip-install-zf0wwk3u...
  • Facebook每天处理大量的各种形式的文本数据,例如状态更新、评论等等。而对Facebook来说,更重要的是利用这些文本数据更好地为其用户提供服务。使用由数十亿用户生成的文本数据来计算字表示法是一个耗资巨大的任务,...
  • FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的... 本轮新更新的fastrtext,同样继承了两个功能:训练词向量 + 文本分类模型训练 来源:https://github.com/pommedeterresautee/f
  • 本系列分为四部分,这篇文章是本系列第三篇,在...现在保持每周更新的频率,内容都是机器学习相关内容和读一些论文的笔记,欢迎一起讨论学习~ fastText 是 facebook 开源的一个词向量计算以及文本分类工具,fa...
  • fasttext(3)-- API 文档 & 参数说明

    万次阅读 2018-06-28 18:18:24
    (1)fasttext.skipgram 和 fasttext.cbow 参数如下 input_file 训练文件路径(必须) output 输出文件路径(必须) lr 学习率 default 0.05 lr_update_rate 学习率更新速率 default 100 d...
  • fastText ...fastText 是 Facebook 开发的一个用于高效学习单词呈现以及语句分类的...(gcc-4.6.3 或者更新版本) 或者 (clang-3.3 或者更新版本) 我们使用 Makefile 进行编译,因此需要 make 工具。为了运...
  • 因工作繁忙,没时间详细更新博客,先发一段实现代码,后续更新详细实现原理!!! 基于fasttext的新闻文本分类实践(python): import pandas as pd from sklearn.metrics import f1_score # 转换为FastText...
  • 近日,Facebook 更新了这一工具,用户只需要在命令行增加一句代码,工具可以根据用户数据自动调整超参数,使得模型在指定标签或整体数据上达到最佳效果。同时,其可以进行模型压缩,并自动在压缩过程中调整参数。...
  • NLP进阶之(六)Word2Vec+FastText+Glove1. WordEmbedding(seq2seq)1.4 负采样1.1 编码器1.2 解码器1.3 模型训练1.4 参考文献2. 注意力机制(Attention)2.1 注意力机制背景2.2 计算背景变量2.3 矢量化计算2.4 ...
  • nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert JayLou娄杰 首发于公众号「高能AI」 ...2020年更新:NLP预训练模型的全面总结 JayLou娄杰:史上最全!PTMs:NLP预训练模型的全面总结​ zhuan..
  • 论文原文 Bag of Tricks for Efficient Text ...更新时间 2020-02-23 文本分类相关方法 用作文本分类的卷积神经网络,有多个使用流程示意图如下 1维卷积 堆卷积(Goldberg Book) 延迟CNN(Kalchbrenner et al. ...
  • 下面看model的内容,在model中更新参数,也就是输入向量和输出向量。 void Model::update(const std::vector& input, int32_t target, real lr) {  assert(target >= 0);//首先确认标签是合法的  assert(target...
  • 本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert。2020年更新:NLP预训练模型的全面总结JayLou娄杰:史上最全!PTMs:NLP预训练模型的全面总结​zhuanlan.zhihu.com目录一、...
  • 本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert。2020年更新:NLP预训练模型的全面总结JayLou娄杰:史上最全!PTMs:NLP预训练模型的全面总结​zhuanlan.zhihu.com目录一、...
  • 机器学习常问问题集锦(持续更新中)

    千次阅读 2020-09-08 23:02:00
    1、word2vec的词向量是怎么更新的? 2、word2vec的输入维度是什么样的? 3、word2vec的影藏层是什么样子的? 4、为什么要采用负采样技术? 5、oov问题如何解决? 6、得到embedding词向量之后如何分类? 7、...
  • 为什么FastText没有考虑语序,然而效果仍然很好? FastText其实也是用了一种词袋模型,语序的特征确实没有考虑,不过鉴于CNN在文本分类的表现也比较优秀,对于分类任务,我觉得上下文的特征还是比语序的特征更加重要...
  • 自动写诗(更新)

    2020-05-31 11:25:04
    (作者使用的单词向量是预训练的,方法为fasttext得到的单词向量,当然也可以使用word2vec和GloVe方法训练得到的单词向量)。 使用Tokenizer将文字转换成数字特征 使用Keras的Tokenizer模块实现转换。当我们创建了一...
  • 一个CNN,Fastetxt不错的介绍 http://www.52nlp.cn/tag/fasttext 一个kaggle的案例:https://zhuanlan.zhihu.com/p/51675979 搜狗的词库:https://pinyin.sogou.com/dict/cate/index/390  ...
  • 1、Word2Vec的原理,使用的技巧? ...2、fasttext 、word2vec、glove、elmo、bert、GPT、xlnet的区别 3、textcnn原理 4、Transformer的结构,multi-headAttention的作用 5、Transformer的位...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

更新fasttext