0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

fastText有两大用途——文本分类和Word Embedding

深度学习自然语言处理 来源:SimpleAI 作者:SimpleAI 2021-03-05 15:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天我们来看 Mikolov 大佬 2016 年的另一大巨作——fastText。2013 年大佬在 Google 开源了 Word2Vec,2016 年刚就职于 FaceBook 就开源了 fastText,全都掀起了轩然大波。

fastText 模型有两篇相关论文:

《Bag of Tricks for Efficient Text Classification》

《Enriching Word Vectors with Subword Information》

截至目前为止,第一篇有 1500 多引用量,第二篇有 2700 多引用量。

从这两篇文的标题我们可以看出来 fastText 有两大用途——文本分类和Word Embedding。

由于 fastText 模型比较简单,所以我们可以把两篇论文放在一起看。

1. Introduction

fastText 提供了简单而高效的文本分类和 Word Embedding 方法,分类精度比肩深度学习而且速度快上几个数量级。

举个例子:使用标准的 CPU 可以在十分钟的时间里训练超过 10 亿个单词,在不到一分钟的时间里可以将 50 万个句子分到 31 万个类别中。

可以看到 fastText 的速度有多惊人。

2. fastText

fastText 之所以能做到速度快效果好主要是两个原因:N-Gram 和 Hierarchical softmax。由于 Hierarchical softmax 在 Word2Vec 中已经介绍过了,所以我们只介绍一下 N-gram。

2.1 N-gram

N-gram 是一种基于统计语言模型的算法,常用于 NLP 领域。其思想在于将文本内容按照字节顺序进行大小为 N 的滑动窗口操作,从而形成了长度为 N 的字节片段序列,其片段我们称为 gram。

以“谷歌是家好公司” 为例子:

二元 Bi-gram 特征为:谷歌 歌是 是家 家好 好公 公司

三元 Tri-gram 特征为:谷歌是 歌是家 是家好 家好公 好公司

当然,我们可以用字粒度也可以用词粒度。

例如:谷歌 是 家 好 公司二元 Bi-gram 特征为:谷歌是 是家 家好 好公司三元 Tri-gram 特征为:谷歌是家 是家好 家好公司

N-gram 产生的特征只是作为文本特征的候选集,后面还可以通过信息熵、卡方统计、IDF 等文本特征选择方式筛选出比较重要的特征。

2.2 Embedding Model

这边值得注意的是,fastText 是一个库,而不是一个算法。类似于 Word2Vec 也只是一个工具,Skip-Gram 和 CBOW 才是其中的算法。

fastText is a library for efficient learning of word representations and sentence classification.

fastText 在 Skip-Gram 的基础上实现 Word Embedding,具体来说:fastText 通过 Skip-Gram 训练了字符级别 N-gram 的 Embedding,然后通过将其相加得到词向量。

举个例子:对于 “where” 这个单词来说,它的 Tri-gram 为:“”。由于字符串首尾会有符号,所以这里用 < 表示前缀, > 表示后缀。textFast 是对 这些 Tri-gram 进行训练,然后将这 5 个 tri-gram 的向量求和来表示 “where” 的词向量。

这样做主要有两个好处:

低频词生成的 Embedding 效果会更好,因为它们的 N-gram 可以和其它词共享而不用担心词频过低无法得到充分的训练;

对于训练词库之外的单词(比如拼错了),仍然可以通过对它们字符级的 N-gram 向量求和来构建它们的词向量。

为了节省内存空间,我们使用 HashMap 将 N-gram 映射到 1 到 K,所以单词的除了存储自己在单词表的 Index 外,还存储了其包含的 N-gram 的哈希索引

2.3 Classification Model

一般来说,速度快的模型其结构都会比较简单,fastText 也不例外,其架构图如下图所示:

2279e3e0-7c22-11eb-8b86-12bb97331649.png

fastText Architecture

其中, 为一个句子的 N-gram 特征。

我们看到这个架构是不是感觉似曾相似?

fastText 与 Word2Vec 的 CBOW 架构是非常相似的,但与 CBOW 不同的是:fastText 输入不仅是多个单词 Embedding 向量,还将字符级别的 N-gram 向量作为额外的特征,其预测是也不是单词,而是 Label(fastText 主要用于文本分类,所以预测的是分类标签)。

3. Experiment

我们简单看下 fastText 的两个实验——Embedding 和文本分类;

3.1 Embeddng

sisg 是 fastText 用于 Embedding 的模型,实验效果如下:

3.2 Classification

分类实验的精度 fastText 比 char-CNN、 char-RCNN 要好,但比 VDCNN 要差。(但这里注意:fastText 仅仅使用 10 个隐藏层节点 ,训练了 5 次 epochs。)

在速度上 fastText 快了几个数量级。(此处注意:CNN 和 VDCNN 用的都是 Tesla K40 的 GPU,而 fastText 用的是 CPU)

下面是标签预测的结果,两个模型都使用 CPU 并开了 20 个线程:

4. Conclusion

一句话总结:fastText 是一个用于文本分类和 Embedding 计算的工具库,主要通过 N-gram 和 Hierarchical softmax 保证算法的速度和精度。

关于 Hierarchical softmax 为什么会使 fastText 速度那么快?而在 Word2Vec 中没有看到类似的效果?

我觉得是因为 fastText 的标签数量相比 Word2Vec 来说要少很多,所以速度会变的非常快。其次 Hierarchical softmax 是必要的,如果不同的话速度会慢非常多。

另外,fastText 可能没有什么创新,但他却异常火爆,可能有多个原因,其中包括开源了高质量的 fastText,类似 Work2Vec,当然也会有 Mikolov 大佬和 Facebook 的背书。

总的来说,fastText 还是一个极具竞争力的一个工具包。

5. Reference

《Bag of Tricks for Efficient Text Classification》

《Enriching Word Vectors with Subword Information》

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4760

    浏览量

    97123
  • 文本分类
    +关注

    关注

    0

    文章

    18

    浏览量

    7441
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123889

原文标题:fastText:极快的文本分类工具

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    润和软件荣获ESG领域两大奖项

    近日,ESG领域两大奖项评选结果分别揭晓,江苏润和软件股份有限公司(证券简称:润和软件,证券代码:300339)凭借在环境、社会和公司治理(ESG)领域的深入实践及突出表现,荣膺2025年度财联社
    的头像 发表于 11-26 15:25 191次阅读

    pdf转换成word文档格式乱了

    ,不是文档结构,当软件试图把排版映射回可编辑的 word 元素时,必须猜测各部分关系,这些猜测可能错尤其是多栏、混合字体或扫描图片的复杂页面.下面讲为什么格式会出问题,先检查什么,以及用简单方法如何得到更整洁的 word 文件
    的头像 发表于 11-22 10:04 735次阅读

    华宝新能美学曲面光伏瓦亮相两大行业盛会

    近日,便携光储全球领导者和首家全场景家庭绿电企业华宝新能携美学曲面光伏瓦,同步亮相上海CADE建筑设计博览会与北京住博会两大行业盛会,美学曲面光伏瓦凭借“能源美学 + 技术突破”的双重创新赢得众多关注,成为两大展会绿色能源展区的焦点,为光伏建筑一体化(BIPV)行业发展注
    的头像 发表于 11-17 14:36 161次阅读

    新思科技与TeraSignal在光网络领域达成两大里程碑

    新思科技与TeraSignal在光网络领域达成两大里程碑,展示了基于线性光学技术的PCIe 6.x和112 Gbps以太网的无缝互操作性。
    的头像 发表于 08-15 15:42 791次阅读
    新思科技与TeraSignal在光网络领域达成<b class='flag-5'>两大</b>里程碑

    飞虹半导体两大行业盛会圆满落幕

    4月,作为国内深耕于IGBT、MOS管的厂家代表,飞虹半导体成功参加了第104届中国电子展(深圳)以及慕尼黑上海电子展,两大行业盛会圆满落幕。
    的头像 发表于 04-29 11:39 823次阅读

    电装发布环境与安心两大领域的战略成果

    近日,电装于「第二十一届上海国际汽车工业展览会」新闻发布会上,围绕“环境”与“安心”两大领域,展示在电动化、智能化与可持续发展领域的创新成果,彰显长期深耕中国市场、持续推动可持续出行的战略承诺与行动。
    的头像 发表于 04-27 11:11 768次阅读

    《AI Agent 应用与项目实战》阅读心得3——RAG架构与部署本地知识库

    分析模型在不同类型数据上的表现,来优化文本分割策略和检索参数,使系统在保持响应速度的同时,能够提供更准确的查询结果。 经过对第6-7章的深入学习,我对RAG技术在工程实践中的应用了更系统的认识。这一
    发表于 03-07 19:49

    半导体激光器的常见分类

    半导体激光器的用途非常广泛,按照不同的类型,不同的分类方式。松盛光电来介绍半导体激光器的常见分类情况,来了解一下吧。
    的头像 发表于 03-05 11:47 1420次阅读
    半导体激光器的常见<b class='flag-5'>分类</b>

    光纤纤芯直径的两大分类

    光纤直径通常是指其纤芯的直径,而光纤整体还包括包层,这部分共同决定了光在光纤中的传播特性。光纤的直径根据其用途和传输模式的不同有所区别。本期我们将从光纤直径入手,看看它对光纤传输的影响力。
    的头像 发表于 02-28 10:02 1677次阅读

    电源盒的分类哪些

    电源盒的类型多种多样,具体可以分为多种分类方式下的不同类型 ‌。 一种常见的分类方式是基于其结构和用途,但需要注意的是,这种分类方式下的“电源盒”可能与广义上的配电箱、开关箱等
    的头像 发表于 02-25 10:50 700次阅读

    亚成微电子斩获两大荣誉

    新春伊始,亚成微捷报频传,接连斩获两大里程碑式荣誉——成功通过IATF16949:2016汽车行业质量管理体系认证,并荣获“陕西省工业设计中心”荣誉称号!
    的头像 发表于 02-12 13:12 794次阅读

    Spire.Cloud.Word云端Word文档处理SDK介绍

    ,添加书签,添加文本和图片水印,设置背景颜色和背景图片,添加 Word 数字签名,添加超链接,加密和解密 Word 文档,添加批
    的头像 发表于 02-11 11:11 771次阅读
    Spire.Cloud.<b class='flag-5'>Word</b>云端<b class='flag-5'>Word</b>文档处理SDK介绍

    存储器的分类及其区别

    初学者要了解SDRAM需要先了解存储器分类。按照存储器的存储功能划分,可将其分为RAM 和 ROM 两大类。
    的头像 发表于 02-08 11:24 3750次阅读
    存储器的<b class='flag-5'>分类</b>及其区别

    【「基于大模型的RAG应用开发与优化」阅读体验】+Embedding技术解读

    理和理解这些数据。在自然语言处理中,Embedding常用于将文本数据中的单词、句子或文档映射为固定长度的实数向量,这些向量包含了丰富的语义信息。RAG技术是一种结合信息检索与文本生成能力的技术,它通过
    发表于 01-17 19:53

    如何使用自然语言处理分析文本数据

    媒体、新闻报道、用户评论等)收集你感兴趣的文本数据。 数据清洗 :去除无关字符(如HTML标签、特殊符号等),确保文本数据干净且一致。 2. 预处理 分词 :将文本分割成有意义的单元(单词、短语或句子),这取决于使用的语言和分析
    的头像 发表于 12-05 15:27 2376次阅读