FastText 介绍
FastText 介绍
在面试百度的NLP工程师时,被问及常用的词向量表示学习方法有哪些,我说知道word2vec,然后大佬又问我知道FastText么... 这就很尴尬了,不会!
不同于word2vec, fasttext利用的是词的形态学信息,也就是词的内部构造信息,也就是子词信息。话说,利用fasttext是不是可以拿汉语的偏旁部首来训练字向量?不过n-gram是需要字符序列信息的,汉字的笔画顺序?emmmmmm.........不过利用字向量得到词向量确实很方便。
那什么是子词信息?fasttext采用的character n-gram来做的,比如where这个词,那么它的character 3-gram 子词包含如下
<wh, whe, her, ere, re>以及本身<where>
这对尖括号的妙处在于,可以方便的讲her这个单词与where的子词her进行区分,her的character 3-gram子词包含的是 不包含 her,于是这两个便可以区分开来。
那么为什么要利用子词信息呢?脸书的研究者们认为,像word2vec这类词分布表示模型,词与词之间的信息没有更好的共享,也就是参数没有得到有效的共享,分解为粒度更小的子词后,通过共享子词表示,来达到信息共享的目的。
具体的做法做法
给定一个character n-gram 字典,假设大小为G,并且每个子词都有自己的词向量表示,那么词w的词向量,可以由构成它的所有子词对应的向量求和来表示。另一点,与word2vec不一样的是,fasttext使用的分类的方法,也就是根据与它计算score的另一个词是否是上下文来进行二分类,具体用到的是logistics 回归方法。
根据上面这些描述,大概可以发现一些端倪
- fasttext对罕见词非常有利,因为罕见词罕见是本身出现的次数足够少,但是构成其的character n-gram肯定比词本身出现的次数多,由于这些子词是共享的,因此可以从高频词中受益。
- 其次,对于OOV问题, 由于一个词可以被拆分成多个子词,当前词OOV,其大部分子词讲道理不会OOV,因此利用这些没有OOV的子词,可以在一定程度上缓解OOV问题。说到这里,想起了面蚂蚁金服时候,一个p8的面试官问了我一些处理OOV问题的方法。
FastText 介绍的更多相关文章
- fasttext介绍和试用
http://fasttext.apachecn.org/cn/docs/v0.1.0/support.html fasttext介绍网站 https://github.com/facebookres ...
- 模型介绍之FastText
模型介绍一: 1. FastText原理及实践 前言----来源&特点 fastText是Facebook于2016年开源的一个词向量计算和文本分类工具,在学术上并没有太大创新.但是它的优点也 ...
- 超快的 FastText
Word2Vec 作者.脸书科学家 Mikolov 文本分类新作 fastText:方法简单,号称并不需要深度学习那样几小时或者几天的训练时间,在普通 CPU 上最快几十秒就可以训练模型,得到不错的结 ...
- NLP︱高级词向量表达(二)——FastText(简述、学习笔记)
FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的 fastText 文本分类(paper: ...
- [转] fastText
mark- from : https://www.jiqizhixin.com/articles/2018-06-05-3 fastText的起源 fastText是FAIR(Facebook AIR ...
- 转:fastText原理及实践(达观数据王江)
http://www.52nlp.cn/fasttext 1条回复 本文首先会介绍一些预备知识,比如softmax.ngram等,然后简单介绍word2vec原理,之后来讲解fastText的原理,并 ...
- 文本分类需要CNN?No!fastText完美解决你的需求(后篇)
http://blog.csdn.net/weixin_36604953/article/details/78324834 想必通过前一篇的介绍,各位小主已经对word2vec以及CBOW和Skip- ...
- 文本分类需要CNN?No!fastText完美解决你的需求(前篇)
http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...
- windows+python3.6下安装fasttext+fasttext在win上的使用+gensim(fasttext)
真是坑了好久,faxttext对win并不是很友好,所以遇到了很多坑,记录下来,以供大家少走弯路. 法1:刚开始直接用pip install fasttext,最后一直报下面这个错误 “error:M ...
随机推荐
- 《spss统计分析与行业应用案例详解》:实例九 单一样本t检验
单一样本t检验的功能与意义 spss的单一样本t检验过程是瑕设检验中最基本也是最常用的方法之一,跟所有的假没检验一样,其依剧的基木原理也是统计学中的‘小概率反证法”原理.通过单一样本t检验.我们可以实 ...
- JAVA加密解密DES对称加密算法
下面用DES对称加密算法(设定一个密钥,然后对所有的数据进行加密)来简单举个例子. 首先,生成一个密钥KEY. 我把它保存到key.txt中.这个文件就象是一把钥匙.谁拥有它,谁就能解开我们的类文件. ...
- LoadRunner使用(2)
一.基础函数 在VU左边导航栏中,有三个LoadRunner框架函数,分别是Vuser_init(),Action(),vuser_end().这三个函数存在于任何Vuser类型的脚本中. vuser ...
- Python + selenium之组织unittest单元测试用例
当增加被测功能和相应的测试用例之后unittest单元测试框架如何扩展和组织新增的测试用例的. # coding =utf-8 # calculator class Count (): def __i ...
- 清理winsxs文件夹(系统更新文件)的第三方工具
工具名称(第三方): Windows Update Clean Tool 下载地址: http://www.xiazaiba.com/html/24145.html http://dx5.xiazai ...
- 从程序猿到SAP产品经理,我是如何转型的?
文章作者:Jason Xia(夏建军) Jerry: 今天的文章来自Jason Xia, 我的老同事,和我一样从2007年进入SAP成都研究院工作至今.这篇文章讲述了Jason是如何从一名SAP资深开 ...
- 11gR2 如何诊断节点重启问题
本文对如何诊断11gR2 GI环境下的节点重启问题进行了一些介绍. 首先,像10g版本一样,我们首先介绍在GI中能够导致节点重启的进程.1.Ocssd.bin:这个进程的功能和10g版本的功能基本差不 ...
- UVALive 4329 Ping pong (BIT)
枚举中间的人,只要知道在这个人前面的技能值比他小的人数和后面技能值比他小的人数就能计算方案数了,技能值大的可有小的推出. 因此可以利用树状数组,从左到右往树上插点,每个点询问sum(a[i]-1)就是 ...
- Mybatis学习记录(2)
1.mybatis与hibernate不同 Mybatis和hibernate,mybatis不完全是一个ORM框架,因为Mybatis需要程序员自己编写sql语句.mybatis可以通过xml或注解 ...
- runtime比较全面的总结
类和对象 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者 ...