fastText的安装+原理和使用

1. 安装fastText
运行环境: win10+Python 3.6+64位

1.1 报错:
直接运行 pip install fastText, 会报以下错误:
“Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools”

然后上述链接还打不开,找不到内容

1.2 解决方法
首先去python的各种第三方安装包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fasttext找到适合自己版本的.whl文件,然后下载安装:

pip install C:\Users\janti\Anaconda3\pkgs\fasttext-0.8.22-cp36-cp36m-win_amd64.whl

其中C:\Users\janti\Anaconda3\pkgs 是下载该文件后的文件路径,根据自己实际情况修改。

2. fastText
fasttext是facebook开源的一个词向量与文本分类工具,在2016年开源,典型应用场景是“带监督的文本分类问题”。提供简单而高效的文本分类和表征学习的方法,性能比肩深度学习而且速度更快。

fastText结合了自然语言处理和机器学习中最成功的理念。这些包括了使用词袋以及n-gram袋表征语句,还有使用子字(subword)信息,并通过隐藏表征在类别间共享信息。我们另外采用了一个softmax层级(利用了类别不均衡分布的优势)来加速运算过程。

这些不同概念被用于两个不同任务:
有效文本分类 :有监督学习学习
词向量表征:无监督学习

举例来说:fastText能够学会“男孩”、“女孩”、“男人”、“女人”指代的是特定的性别,并且能够将这些数值存在相关文档中。然后,当某个程序在提出一个用户请求(假设是“我女友现在在儿?”),它能够马上在fastText生成的文档中进行查找并且理解用户想要问的是有关女性的问题。

2.1 FastText原理
fastText方法包含三部分,模型架构,层次SoftMax和N-gram特征。

2.1.1 模型架构
fastText的架构和word2vec中的CBOW的架构类似,因为它们的作者都是Facebook的科学家Tomas Mikolov,而且确实fastText也算是words2vec所衍生出来的。

fastText 模型输入一个词的序列(一段文本或者一句话),输出这个词序列属于不同类别的概率。
序列中的词和词组组成特征向量,特征向量通过线性变换映射到中间层,中间层再映射到标签。
fastText 在预测标签时使用了非线性激活函数,但在中间层不使用非线性激活函数。 fastText 模型架构和 Word2Vec 中的 CBOW 模型很类似。不同之处在于,fastText 预测标签,而 CBOW 模型预测中间词。

2.1.2 层次SoftMax
对于有大量类别的数据集,fastText使用了一个分层分类器(而非扁平式架构)。不同的类别被整合进树形结构中(想象下二叉树而非 list)。在某些文本分类任务中类别很多,计算线性分类器的复杂度高。为了改善运行时间,fastText 模型使用了层次 Softmax 技巧。层次 Softmax 技巧建立在哈弗曼编码的基础上,对标签进行编码,能够极大地缩小模型预测目标的数量。

fastText 也利用了类别(class)不均衡这个事实(一些类别出现次数比其他的更多),通过使用 Huffman 算法建立用于表征类别的树形结构。因此,频繁出现类别的树形结构的深度要比不频繁出现类别的树形结构的深度要小,这也使得进一步的计算效率更高。

2.1. 3 N-gram特征
fastText 可以用于文本分类和句子分类。不管是文本分类还是句子分类,我们常用的特征是词袋模型。但词袋模型不能考虑词之间的顺序,因此 fastText 还加入了 N-gram 特征。

“我 爱 她” 这句话中的词袋模型特征是 “我”,“爱”, “她”。这些特征和句子 “她 爱 我” 的特征是一样的。如果加入 2-Ngram,第一句话的特征还有 “我-爱” 和 “爱-她”,这两句话 “我 爱 她” 和 “她 爱 我” 就能区别开来了。当然啦,为了提高效率,我们需要过滤掉低频的 N-gram。

这部分内容来自:https://blog.csdn.net/zhouguangfei0717/article/details/81003455

2.2 基于FastText的文本多分类
参考链接
https://www.cnblogs.com/gaofighting/p/9552821.html

https://blog.csdn.net/asd136912/article/details/80068241

https://blog.csdn.net/zhouguangfei0717/article/details/81003455

win10+python3.6下安装fastText+fastText原理和使用相关推荐

  1. win10+python3.7下安装scrapy

    有很多同学反馈安装scrapy总失败,其实有个简单的方法,今天总结一下 一.爬虫框架Scarpy简介 Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它 ...

  2. 从零点一开始机器学习之Win10 64位下安装Cuda+Cudnn

    系列文章目录 从零点一开始机器学习之晦涩难懂的各种概念 从零点一开始机器学习之Win10 64位下安装Cuda+Cudnn 从零点一开始机器学习之GPU运算性能和CPU性能对比(GPU算力表) 从零点 ...

  3. Win10系统Anaconda下安装TensorFlow、Karas和PyTorch

    Win10系统Anaconda下安装TensorFlow.Karas和PyTorch Anaconda的选择 Anaconda的安装 TensorFlow的安装 Keras安装 PyTorch安装 A ...

  4. Python3.X下安装Scrapy (转自鱼c论坛作者lumber2388779)

    相信很多同学对于爬虫需要安装Scrapy时候,不想特地去安装2.X版本 我也是这样一个懒人,我从网上找到这篇文章 在Python3.x下安装和测试Scrapy爬网站 根据上边的 教程 可以在我的电脑上 ...

  5. Python3 - Linux 下安装 LibreOffice 以及使用

    Python3 - Linux下安装 LibreOffice 以及使用 文章目录 Python3 - Linux下安装 LibreOffice 以及使用 1. 下载/安装 LibreOffice 2. ...

  6. WIn10+Anaconda 环境下安装 PyTorch 避坑指南

    红色石头的个人网站:redstonewill.com 这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记.分享给大家. 首先,安装环境是:操作系统 Win10,已经预先暗转了 Anaco ...

  7. Win10+Anaconda环境下安装PyTorch

    首先,安装环境是:操作系统 Win10,已经预先暗转了 Anaconda. 1. 为 PyTorch 创建虚拟环境 关于 Anaconda 的安装步骤这里就忽略不讲了,Win10 下安装 Anacon ...

  8. opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题

    1.安装opencv 在网上搜索Ubuntu16.04下安装opencv4想必一定搜到大把的编译源码安装opencv的教程,其实安装opencv只需一句命令: pip3 install opencv- ...

  9. linux系统python3环境下安装pymysql模块

    1.安装python3环境下的pip3 sudo apt-get install python3-pip 2.使用pip3安装pymysql模块 sudo pip3 install pymysql

最新文章

  1. 一文看懂https如何保证数据传输的安全性的
  2. CORS with Spring MVC--转
  3. 并发编程-17AQS同步组件之 Semaphore 控制并发线程数的信号量
  4. Ж孤云Ж真的很适合我
  5. 八大排序算法之选择排序算法
  6. MySQL 添加、查看字段注释
  7. UVM中factory机制的使用
  8. AWS re:Invent大会回顾
  9. scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
  10. php缩略图 实例,php生成缩略图后填充白边的代码示例
  11. 数据仓库与数据挖掘论文
  12. 推荐几个用于Linux系统的PDF文档查看器
  13. 旭元数艺:只争朝夕 不负韶华
  14. 【AI视野·今日CV 计算机视觉论文速览 第169期】Fri, 22 Nov 2019
  15. 计算机外联管理办法,外联部管理制度
  16. 趣图 | EDG牛逼!!!
  17. 使用chkconfig管理开机自启动
  18. 天翼网关刷linux,天翼网关3 友华PT926E通用 全网首发 免复位/TTL/FTP获取超密及根目录方法!(四川已测)...
  19. sed 技巧一例:特定位置插入
  20. 移动web——微金所实战项目

热门文章

  1. 京东2023春招面试记录
  2. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Training a GPT-2 language model Steps 10
  3. 关于PX4中的高度若干问题
  4. PHP sg11加密解密 sg解密
  5. 四十岁以上的程序员都去干啥了?
  6. Elastic-job系列(三)-------- 控制台作业事件追踪TODO
  7. 献给 Centos 7 的初学者
  8. 3Kw OBC 车载充电器 含原理图、PCB图、C源代码、变压器参数
  9. java id值_Java实现数值型ID生成器
  10. 云贝同城配送v1.1.3