1.基于规则,对于要提取的分类维护一个dict,在dict里面保存需要提取的关键词,存在关键词的对应标记为分类;(缺点,不断的去维护词典)
2.基于机器学习:HMM(分词最常用的),CRF,SVM,LDA,CNN
3.词袋模型:bag of word :(one hot)一种是统计词频和位置,一种是只存储是否出现;(缺点很明显,只有词出现信息,对于词的重要度完全没有体现)
4.tf-idf:先考虑每个词在当前词词表中多高,再考虑在所有的文本中出现频率。这样就有词的重要程度了。(缺点是还是么有词的顺序考量,毕竟 l love you, you love l 是不一样的。但是tf )
5.n-gram:将n个词体现为一个向量表示,这样就可以体现顺序了。那一句话出现的概率就可以表示为:
(这个里面业界一般不会用相乘,用相加处理。)(缺点:维度会爆炸,随着n越大。n小效果不好,一般n要到5才会有量变,这样所有词的顺序组合足以变得非常爆炸。不能表达句子或者说词之间的相似性。只能对文本进行表达。不能捕捉文本含义。)
6.distribution representation:一个东西可以通过分布式表示方法就能可以用很少的东西,也能表示词的相似性。一个词表示可以通过他附近的词表示: 比如 我是一个 _____人 :这个例子中的空格,我们可以填写,中国人,好人,坏人,善良;那这些词都有一些相似性的。这样就可以通过周边词去表示这个词。
7.共线矩阵cocurrence matrix :因为用分布式表达,我们不能无限的取他旁边的词,这个时候要选取几个旁边的词。这个和 n-gram很像。 但不同的是旁边词形成局域窗中的词,而自己本身并不参与。做成一个共线矩阵。

缺点:线性增长,维度太高,太稀疏。
8.对上面的矩阵进行svd降维


缺点: n*n 算法复杂O(n^3)对大型语料库而言:n–40万。1-60Btoken;对新加入词就要重新计算。
9.NNLM(neural network language model)

(缺点:计算量还是很大,需要的参数太多。对于训练就不是很友好了)

10.Word2vector:CBOW,SKIP-GRAM(去掉映射层)

改进:去掉映射层,直接用每个词词向量(初始化好的词表)。把NNLM中拼接维度参数改成直接对词向量的求和。 直接去预测目标词。不使用激活函数,是一个线性的表示器。(缺点:最后的soft的分类还是太多了。)
11.CBOW-层次softmax:通过词频出现次数,使用Huffman编码。在最后做决策每次softmax就会只有0,1两种,权重放到了这个上面。这样变成每次softmax按照树进行乘积。使得这个乘积最大。这样相当于4次决策。

(缺点:建立Huffman树,并对这个分层结构进行训练还是比较麻烦。训练每个词都可能全部遍历整个树结构。这个计算也比较大。)
12.CBOW-负采样:对每一个目标词而言。其实训练结果中只有一个词是目标词(比如整个词库有10万个词,去预测一句话里面的一个词出现的概率。这里面只有这个词是正样本,其他词全都是负样本(10-1)。),可以通过只在负样本中取得部分负样本(十万取500个)参与训练。这样一个是平衡数据集,一个是减小了softmax训练成本。这里一个问题是省略的负目标不会对样本训练产生影响。
负样本采集原理:根据概率分布,频率分布来采样的。

13.skip-gram–和cbow反着来的。里面使用的原理一致,不过最后预测出来多个词(取决于你的窗口大小)。样本量小的时候用CBOW,样本量非常大用skip-gram:
词向量评分:类比任务:inner
word2vector缺点:窗口问题,一词多义问题。

14.GloVe 方法:

NLP文本分类--词向量相关推荐

  1. 第六课.NLP文本分类任务

    第六课目录 NLP文本分类简介 IMDB数据集准备 设置随机种子 下载IMDB并划分数据集 构建词汇表 使用torchtext生成batch WordAveraging 模型定义 加载由glove.6 ...

  2. fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择 作者:机器人圈 / 微信号:ROBO_AI发表时间 :2017-07-28 图:pixabay

    fastText.TextCNN.TextRNN--这里有一套NLP文本分类深度学习方法库供你选择 「机器人圈」编译:嗯~阿童木呀.多啦A亮 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它 ...

  3. NLP --- 文本分类(基于LDA的隐语意分析详解)

    前几节我们分析了向量空间模型(VSM).基于奇异值分解(SVD)的潜语意分析(LSA).基于概率的潜语意分析(PLSA)这些模型都是为了解决文本分类问题,他们各自有自己的优点和缺点,其中VSM模型简单 ...

  4. [NLP] 文本分类之TextCNN模型原理和实现(超详细)

    1. 模型原理 1.1论文 Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出Tex ...

  5. NLP——文本分类模型(HAN)(三)

    NLP--文本分类模型(HAN)(三) 1.引入 1. NLP--文本分类模型(一) 2. NLP--文本分类模型(二) 在之前的文章中,我们介绍了基于CNN机制是如何应用于文本分类.近些年来Atte ...

  6. NLP --- 文本分类(基于LDA的隐语意分析训练算法详解)

    上一节详细介绍了什么是LDA,详细讲解了他的原理,大家应该好好理解,如果不理解,这一节就别看了,你是看不懂的,这里我在简单的叙述LDA的算法思想: 首先我们只拥有很多篇文本和一个词典,那么我们就可以在 ...

  7. NLP --- 文本分类(基于概率的隐语意分析(PLSA)详解)

    上一节我们详细的讲解了SVD的隐语意分析,一旦提到这个,大家脑海里应该立刻有如下的矩阵形式: 我们通过矩阵的分解对文本数据进行压缩,压缩量很可观,尤其是原始的矩阵的维度很高时压缩的更可观,因为k通常要 ...

  8. NLP文本分类大杀器:PET范式

    作者 | 周俊贤 整理 | NewBeeNLP 之前我们分享了NLP文本分类 落地实战五大利器!,今天我们以两篇论文为例,来看看Pattern Exploiting Training(PET)范式,可 ...

  9. 【NLP文本分类算法集锦】零基础入门经典文本分类项目实战(附代码+数据集)

    前言 大家好,我是阿光. 本专栏整理了<NLP文本分类算法集锦>,内包含了各种常见的中英文文本分类算法,以及常见的NLP任务:情感分析.新闻分类以及谣言检测等. 文本分类是NLP的必备入门 ...

  10. 【NLP】fastText词向量与文本分类工具

    一.简介 fastText 是 Facebook 于2016年开源的一个词向量训练与文本分类工具,其典型应用场景是"无监督的词向量学习"和"有监督的文本分类". ...

最新文章

  1. 写给 Android 应用工程师的 Binder 原理剖析
  2. linux svn强制注释,svn强制提交时添加注释
  3. linux bin模式,binlog有哪些工作模式?Linux云计算运维入门
  4. 2020-10-27(汇编收获)
  5. [蓝桥杯] 连号区间数
  6. hdu 4983 Goffi and GCD(欧拉函数)
  7. php long2ip,php 中IPV6 ip2long的问题解决办法
  8. python千位分隔符_python – 为pandas数据帧中的整数设置千位分隔符
  9. 代码补全_补全股票代码位数的一百种姿势
  10. 数组实现UITabview的cell设置
  11. MacOS下SVN的使用
  12. SQL Server 2008 R2:error 26 开启远程连接详解
  13. PyTorch中常用Module和Layer的学习笔记~
  14. 项目管理工具Redmine各功能测试
  15. 8.26树状数组讲解
  16. jdk8 mysql安装教程_Linux系统:centos7下安装Jdk8、Tomcat8.5、MySQL5.7环境
  17. python之web编程
  18. 一次使用针式打印机打印异常问题的处理
  19. 一个简单的项目Java后端框架(springboot+maven包括shiro,验证码的生成与使用,异常处理,跨域处理)
  20. 导出excel表格并返回给前端的快捷用法(上)

热门文章

  1. 苹果邮箱登录入口_电子邮箱的申请及使用说明
  2. 设计多层PCB板需要注意哪些事项?
  3. 港科百创 | 一清创新完成Pre-A+轮战略融资
  4. 如何解决直播中的播放杂音、噪音、回声问题 | 直播疑难杂症排查
  5. 安卓自定义View进阶-多点触控详解
  6. MyBatis整合Spring的实现(7)
  7. 组装http报文调用小黄鸡网页端消息接口
  8. 【已解决】由于此设备上的安全设置已更改,你的pin不再可用,单击以重新设置Pin
  9. java vml_VML书签
  10. opc服务器网站,OPC 服务器