1. 什么是FastText

    FastText是Facebook于2016年开源的一个词向量计算和文本分类工具,它提出了子词嵌入的方法,试图在词嵌入向量中引入构词信息。一般情况下,使用fastText进行文本分类的同时也会产生词的embedding,即embedding是fastText分类的产物。

  2. FastText流程

    FastText的架构图为:

    分为输入层、隐含层、输出层,下面分别介绍这三层:

    • 输入层

      输入层包含三类特征:

      • 全词特征,也就是每个词的完整词嵌入向量;
      • 字符n-gram特征,例如对于单词\(where\),首先在其首尾添加开始和结束的符号得到\(<where>\),其trigram特征为\(<wh,whe,her,ere,re>\),每个字符n-gram都会被映射成对应嵌入向量;
      • 词n-gram特征,例如对于句子I like machine learning,其bigram特征为I like,like machine,machine learning,每个词n-gram特征都会被映射成对应嵌入向量;
    • 隐藏层

      对所有输入特征取均值。

    • 输出层

      使用Word2Vec一节中介绍的层次Softmax输出文档类别,霍夫曼树的构造基于每个类别出现的频数。

    FastText架构与CBOW非常相似,不同的是:

    • CBOW的输入是目标单词的上下文,FastText的输入是多个单词及其n-gram特征,这些特征用来表示单个文档;
    • CBOW的输出是目标词汇,fastText的输出是文档对应的类标。

    FastText的核心思想就是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类。

  3. FastText的优点

    • 充分利用了构词信息,能够提升英语、德语等利用构词法进行构词的语言的嵌入效果;
    • 能够很好的解决未登录词(OOV)的问题,解决方法是将未登录词表示为其字符嵌入的均值;
    • 由于在分类时加入了两类n-gram信息,分类性能得到了提升;
    • 速度很快。

最新文章

  1. 【WP开发】加密篇:双向加密
  2. UIBezierPath-绘制基本图形
  3. .NET平台下IIS7.5+无后缀名伪静态实现办法
  4. The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path。
  5. IOS详解TableView——内置刷新,EGO,以及搜索显示控制器
  6. 252. Meeting Rooms
  7. Windows Server2008 R2 MVC 环境配置
  8. 更新Windows ActiveX,Ios
  9. Object-C内存管理
  10. js遍历数组和遍历对象的区别
  11. 应用SVN(CentOS中搭建SVN服务器)
  12. 如何把powerpoint幻灯片大小改为标准或宽屏教程【图文】
  13. hdu1869六度分离(dijkstra)
  14. SVN版本分支合并
  15. echarts学习总结(二):一个页面存在多个echarts图形,图形自适应窗口大小
  16. windows驱动程序wdf--KMDF获取应用程序数据缓冲区地址
  17. url 的正则表达式:path-to-regexp
  18. mat函数
  19. angularjs自定义filter
  20. github 访问速度太慢

热门文章

  1. 【漏洞复现】Struts2-045分析(CVE-2017-5638)
  2. php代码审计整理
  3. OpenSNS后台文件上传漏铜分析
  4. SpringBoot从入门到精通教程(二)
  5. C#中的深度学习(一):使用OpenCV识别硬币
  6. Spring中BeanFactory与FactoryBean到底有什么区别?
  7. vue element ui 上传 请求接口
  8. 仙剑4CPK加密解密算法(转)
  9. python scipy 求解简单线性方程组和fmin求函数最小值
  10. python初学者-输入一个数判断奇偶性