• 1、安装
  • 2、文本分类
  • 3、生成词向量

FasttextFasttextFasttext是FacebookFacebookFacebook开源的文本分类工具。最近工作上用到了这个包,感觉又快又好用,在这里简单的做一下记录,这里使用的PythonPythonPython的相关接口

1、安装

在linux下安装比较方便,直接使用pip进行安装

pip install fasttext

2、文本分类

对于文本分类只要将数据准备好,就可以了

classifier = fasttext.supervised('data.train.txt', 'model', label_prefix='__label__')

这里需要注意的是,训练的数据文件中类别的前缀默认是”__label__”,如果需要修改的话,可以在上面的参数中进行相关的修改。
训练数据的相关格式

__label__1  姚明 喜欢 打 篮球 

类别和句子之间用tabtabtab键分开,句子可以是按照词分割开的,也可以是按照字分割开的
产生的模型文件会被保存成model.binmodel.binmodel.bin,预测之前需要先加载相关模型
我们可以用于预测文件的准确率和召回率

classifier = fasttext.load_model('model.bin')
result = classifier.test('test.txt')
print 'P@1:', result.precision
print 'R@1:', result.recall

其中text.txt里面每行村放是的测试的句子,具体的格式与训练集合一致
使用模型进行相关的预测

texts = ['example very long text 1', 'example very longtext 2']
labels = classifier.predict(texts)
print labels# Or with the probability
labels = classifier.predict_proba(texts)
print labels

输出的时候还可以预测的前n个值

labels = classifier.predict(texts, k=3)
print labels# Or with the probability
labels = classifier.predict_proba(texts, k=3)
print labels

3、生成词向量

生成词向量的时候,我用的是skipgram,这时候数据需要进行处理一下,转换成下面的格式,由于我训练的是基于字的词向量,所以我是按照每个字切分的

姚 明 喜 欢 打 篮 球 __label__1    
model = fasttext.skipgram("cnews.all.train.txt", "model",dim = 50)

这其中还有一些其他的配置参数可以选择,具体的参数可以查看参考文献。
训练完成之后,会产生模型文件bin和词向量文件vec,词向量文件里面第一行是字典的长度和维度,下面是具体的词向量

参考文献
[1] : https://pypi.org/project/fasttext/

FastText文本分类以及生成词向量相关推荐

  1. fasttext文本分类、训练词向量、词向量迁移

    查看全文 http://www.taodudu.cc/news/show-6884349.html 相关文章: 一对一直播系统实现美颜预设功能的代码解决方式 自定义view(二) Java并发知识点小 ...

  2. NLP-分类模型-2016-文本分类:FastText【使用CBOW的模型结构;作用:①文本分类、②训练词向量、③词向量模型迁移(直接拿FastText官方已训练好的词向量来使用)】【基于子词训练】

    <原始论文:Bag of Tricks for Efficient Text Classification> <原始论文:Enriching Word Vectors with Su ...

  3. 文本相似度计算(切词、生成词向量,使用余弦相似度计算)

    项目需求 有多个文本,分别是正负样本,使用余弦相似度计算负样本与正样本的样本相似度,若准确率高,后期可判断新加样本与正样本的相似度. 输入如下所示: content label 今天下午,在龙口市诸由 ...

  4. 面向可解释的NLP:北大、哈工大等提出文本分类的生成性解释框架

    作者 | Hui Liu, Qingyu Yin, William Yang Wang 译者 | Rachel 编辑 | Jane 出品 | AI科技大本营(ID: rgznai100) [导语]北大 ...

  5. NLP(4) | 用词向量技术简单分析红楼梦人物关系用n-gramma生成词向量word2vect进行模型训练

    NLP(1) | 词向量one hot编码词向量编码思想 NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词 NLP(3)| seq to seq 模型 前言:出于种种原因,总是不自觉把 ...

  6. 聚类结果不好怎么办_使用bert-serving生成词向量并聚类可视化

    谷歌推出的Bert语言预处理模型的强大不必多说.而Bert-serving可以直接调用谷歌训练好的字向量,然后很轻松就可以生成我们需要的词向量.这对于我们nlp的追随者来说实验又简单了不少.我今天利用 ...

  7. fasttext 文本分类_4种常见的NLP实践思路【特征提取+分类模型】

    越来越多的人选择参加算法赛事,为了提升项目实践能力,同时也希望能拿到好的成绩增加履历的丰富度.期望如此美好,现实却是:看完赛题,一点思路都木有.那么,当我们拿到一个算法赛题后,如何破题,如何找到可能的 ...

  8. FastText文本分类中的n-grams

    FastText文本分类中的n-grams FastText FastText模型结构 FastText n-grams n-grams如何计算 FastText FastText是facebook ...

  9. Bi-lstm+CRF实现NER(随机生成词向量)

    尊敬的读者您好:笔者很高兴自己的文章能被阅读,但原创与编辑均不易,所以转载请必须注明本文出处并附上本文地址超链接以及博主博客地址:https://blog.csdn.net/vensmallzeng. ...

  10. fasttext 文本分类_一文综述经典的深度文本分类方法

    作者 |  何从庆 转载自AI算法之心(ID:AIHeartForYou) 笔者整理最近几年比较经典的深度文本分类方法,希望帮助小伙伴们了解深度学习在文本分类中的应用. Convolutional N ...

最新文章

  1. mysql数据库主从同步
  2. 关于python pdb的描述_The python debugger(PDB)的简介
  3. python3.6安装包报错_win10安装python3.6的常见问题
  4. B07_NumPy 高级索引(整数数组索引,布尔索引,花式索引)
  5. Spring Data JPA 查询方法支持的关键字
  6. 判断鼠标是否在元素上_能不能从大便上判断出一个人是否患有结肠癌?
  7. YBTOJ洛谷P3231:消毒(二分图匹配)
  8. 谈谈java中的集合框架
  9. 你需要知道的、有用的 Python 功能和特点
  10. QQ农场外挂、QQ牧场外挂专偷QQ号
  11. 无形资产计算机软件包括哪些,什么软件属于无形资产
  12. JavaScript三种弹出框(alert、confirm、prompt),一次性全弄清!
  13. [笔录]博客及源程序 出处
  14. 等保2.0基本要求与等保1.0对比解读
  15. 联想thinkbook14 2022款和2021款区别哪个好
  16. windows故障转移群集 文件服务器,为服务器故障转移群集中的 IIS Windows FTP - Windows Server | Microsoft Docs...
  17. 计算机社团打字比赛规则,金手指打字比赛策划(最终版)
  18. dpdk-16.04 扩展新网卡驱动过程
  19. 记一次在K8s集群搭建的MySQL主从无法正常启动之数据迁移恢复实践
  20. 使用CSS实现悬停显示二维码

热门文章

  1. 统计学习之第四天(可汗学院公开课:统计学)
  2. chisel线网(wire)和寄存器(reg)详解(更新)
  3. mysql的max_allowed_packet配置
  4. Java学习笔记-Lambda表达式
  5. 2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】
  6. Centos系统升级到7.6
  7. 小学4年级计算机课作业题目,部编版小学语文四年级下册课堂同步作业试题及答案(全册).doc...
  8. 个性签名html,个性签名短句8个字唯美(精选70句)
  9. ClickHouse可视化DBM Release 1.12.0
  10. 扫雷外挂的设计与实现