这是前一段时间在做的事情,有些python库需要python3.5以上,所以mac请先升级 brew安装以下就好,然后Preference(comm+',')->Project: Text-Classification-m...->Project Interpreter->setting button->add,添加python的虚拟环境(usr/local/bin/python3.7),然后就去安装那些包

然后去github找一份代码学习下,在此之前请先连接这个技术需要什么,我找到了是这份代码Text-Classification

通过代码继续学习

我们需要掌握JieBa 分词的内部实现原理,了解 TF-IDF 统计方法的基本原理。然后进行网络的训练、网络的预测,以此来达到一个比较高的文本分类正确率。

我们需要大量的测试集,并给其标上标签,单一标签和多标签方法并不一样,当然我们经常面对的是多标签

深度学习文本分类模型:
1,fastText

原理:句子中所有的词向量进行平均(某种意义上可以理解为只有一个avg pooling特殊CNN),然后直接连接一个 softmax 层进行分类。

2,TextCNN: 利用CNN来提取句子中类似 n-gram 的关键信息。

改进: fastText 中的网络结果是完全没有考虑词序信息的,而TextCNN提取句子中类似 n-gram 的关键信息。

3,TextRNN:
模型: Bi-directional RNN(实际使用的是双向LSTM)从某种意义上可以理解为可以捕获变长且双向的的 “n-gram” 信息。

改进: CNN有个最大问题是固定 filter_size 的视野,一方面无法建模更长的序列信息,另一方面 filter_size 的超参调节也很繁琐。

4,TextRNN + Attention:

改进:注意力(Attention)机制是自然语言处理领域一个常用的建模长时间记忆机制,能够很直观的给出每个词对结果的贡献,基本成了Seq2Seq模型的标配了。实际上文本分类从某种意义上也可以理解为一种特殊的Seq2Seq,所以考虑把Attention机制引入近来。

5,TextRCNN(TextRNN + CNN):
过程:

利用前向和后向RNN得到每个词的前向和后向上下文的表示:

词的表示变成词向量和前向后向上下文向量连接起来的形式:

再接跟TextCNN相同卷积层,pooling层即可,唯一不同的是卷积层 filter_size = 1就可以了,不再需要更大 filter_size 获得更大视野。

上面那份代码使用的是TextCNN,我们可以来分析下这个的使用


最新文章

  1. sqlserver 连接mysql
  2. 初识HTML
  3. css3新增的属性选择器
  4. 获取URL列表,设置代理请求URL,https的加密方式处理
  5. [译] 二、开始iOS编程之前,你还需要做什么?
  6. debian下mysql主从配置
  7. 基于时间点恢复数据库stopat
  8. js复习(二)
  9. 如何避免regionServer宕机
  10. rem移动端适配
  11. Linux远程登录
  12. TCP/IP之TCP交互数据流、成块数据流
  13. C#操作Xml:linq to xml操作XML
  14. 第十一章 泛型算法 C++ PRIMER
  15. poj supermaket (贪心)
  16. html+css手机端自动适应
  17. Angular4 响应式编程
  18. 教你phpstudy如何搭建本地多站点
  19. ubuntu 下python环境的切换使用
  20. Python学习笔记(4):容器、迭代对象、迭代器、生成器、生成器表达式

热门文章

  1. day 71作业
  2. Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户报名缴费链接
  3. IE6下extjs 弹窗不加载内容(无法执行内部js)的解决方案
  4. linux负载均衡(什么是负载均衡)
  5. DFS-深度优先搜索与BFS-广度优先搜索
  6. Golang Learn Log #0
  7. WPF 线程中异常导致程序崩溃
  8. springmvc:自定义类型转换器代码编写
  9. Docker(二)安装及常用命令
  10. canvas扇形进度圈动态加载