商品评价判别,文本分类——学习笔记

FASTTEXT(Facebook开源技术)

二分类任务,监督学习。

自然语言

NLP自然语言处理

步骤:

  • 语料Corpus:好评和差评
  • 分词Words Segmentation:基于HMM构建dict tree
  • 构建词向量Construct Vector:

one-hot独热编码

 

但是汉语中词太多了,独热编码的词向量随着词库中词汇的增长,会变得非常大。

而且one hot没法判断顺序

 

Google开山之作:TF-IDF(term frequency–inverse document frequency)

解决了频率和特殊性的关系。TF即词频(Term Frequency),IDF即逆向文档频率(Inverse Document Frequency)。

TF(词频)就是某个词在文章中出现的次数,此文章为需要分析的文本。为了统一标准,有如下两种计算方法:

                                     (1)TF(词频) = 某个词在文章中出现的次数 / 该篇文章的总次数;

                                     (2)TF 词频 = 某个词在文章中出现的次数 / 该篇文章出现最多的单词的次数;

IDF(逆向文档频率)为该词的常见程度,需要构建一个语料库来模拟语言的使用环境。

                                     IDF 逆向文档频率 =log (语料库的文档总数 / (包含该词的文档总数+1));

如果一个词越常见,那么其分母就越大,IDF值就越小。 

但还是有词向量长度的问题。

考虑到独热编码的维度过大的缺点。对此进行如下改进:
  • 将vector每一个元素由整形改为浮点型,变为整个实数范围的表示
  • 将原来稀疏的巨大维度压缩嵌入到一个更小维度的空间

 word2vec

独热编码当作输入,经过神经网络,判断one hot输出的是什么词

 

但是并没有关心输出的词是什么。隐藏层,100个隐藏神经元,100个权重。

而是将神经网络过程中的该层的权重作为了词向量。vector。

最终100维,

 

 

Fast-Text

天生用来分类,直接将构建词向量和模型(SVM、决策树、神经网络方法)集合,直接输出label类别标签。

 

加载停用词:细节在于:问号、叹号包含人类情绪,要保留下来。

 

分词后结果:

 

 

 


 两种训练模式:

CBOW (Continuous Bag-of-Words Model)
Skip-gram (Continuous Skip-gram Model)
CBOW:上下文来预测当前词

 

Skip-gram:当前词预测上下文

 

【参考】

不懂word2vec,还敢说自己是做NLP? - 自然语言处理-炼数成金-Dataguru专业数据分析社区 http://www.dataguru.cn/article-13488-1.html

FastText:快速的文本分类器 - 不忘初心~ - CSDN博客 https://blog.csdn.net/john_bh/article/details/79268850

 


谷歌最强 NLP 模型

BERT(Bidirectional Encoder Representations from Transformers)

BERT介绍 - triplemeng的博客 - CSDN博客 https://blog.csdn.net/triplemeng/article/details/83053419

转载于:https://www.cnblogs.com/wxl845235800/p/10158893.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨平台(Android, iOS, WP, HTML5)游戏开发libGDX学习教程

2019独角兽企业重金招聘Python工程师标准>>> 疯狂小土豆的跨平台游戏开发引擎libGDX游戏开发视频,本视频主讲Android和桌面游戏开发。libGdx是一个跨平台的2D/3D的游戏开发框 架,它由Java/C/C语言编写而成。它基于Apache License, Version 2.…

分页器 版本控制

分页器 三种分页: 第一种: 类似于原来django中的分页 -page_size api_settings.PAGE_SIZE -page_query_param page -page_size_query_param -max_page_size 第二种:偏移分页 #每页显示的条数 default_limit api_settings.PAGE_SIZE #标杆值 offset_query_param offset #往后…

Linux 中断实验

目录Linux 中断简介Linux 中断API 函数上半部与下半部设备树中断信息节点获取中断号硬件原理图分析实验程序编写修改设备树文件按键中断驱动程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试不管是裸机实验还是Linux 下的驱动实验,中断都是频繁使用的功能…

如何为libs目录下的jar包关联源代码

以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了。 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in libs folder? 下面是google论坛对此问题的一篇讨论: https://code.google…

UDLD(Unidirectional Link Detection)

1、UDLD(单向链路检测协议)工作原理 为了在生成转发环路之前检测到单向链路,Cisco 设计并实施了 UDLD 协议。UDLD 是与第 1 层 (L1) 机制一起工作以确定链路物理状态的第 2 层 (L2) 协议。 在第 1 层中,自动协商…

小议map排序问题

map有序无序?如果说有序, 这个顺序是怎么定义的? 安装put的先后顺序吗? 还是被put元素的内容呢? 经观察,应该是后者,跟put先后顺序无关, 跟内部实现有关(可能是hash排序的…

Linux 阻塞和非阻塞IO 实验

目录阻塞和非阻塞IO阻塞和非阻塞简介等待队列轮询1、select 函数2、poll 函数3、epoll 函数Linux 驱动下的poll 操作函数阻塞IO 实验硬件原理图分析实验程序编写运行测试非阻塞IO 实验硬件原理图分析实验程序编写运行测试阻塞和非阻塞IO 是Linux 驱动开发里面很常见的两种设备访…

编程小白的第一条博客

本人AlleyMeowy,编程小白一只,非理工科学校,非科班出身,为了成为大牛不断努力。 ——2018年12月23日,在博客园创建博客第一天 转载于:https://www.cnblogs.com/AlleyMeowy/p/10165440.html

【转】BMP图像文件格式

5.1 BMP图像文件格式 BMP图像文件格式是游戏中常用的图像资源文件格式,BMP图像文件起源早,程序员对BMP都比较熟悉,再加上BMP格式简单,读取和写入非常容易实现,所以无论Windows的还是Driect X,都有支持读取…

异步通知实验(信号)

目录异步通知异步通知简介驱动中的信号处理应用程序对异步通知的处理硬件原理图分析实验程序编写修改设备树文件程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试在前面使用阻塞或者非阻塞的方式来读取驱动中按键值都是应用程序主动读取的,对于非阻塞方式…

事务与分布式事务

很多同学在开发中已经不自觉的接触了很多事务相关的代码(尤其是在数据库操作中),但是事务究竟是做什么的,有没有必要必须这么操作? 一段典型的代码如下: db.beginTransaction(); try {// do some CRUD oper…

使用Python连接数据库的脚本

在centos6.4系统上使用Python编写连接数据库需要使用的rpmMySQL-python-1.2.3-0.3.c1.1.el6.x86_64python连接、操作数据库实例脚本如下所示:mysql.py#!/usr/bin/python #codingutf-8 import MySQLdb connMySQLdb.connect(hostlocalhost,userroot,passwd123456) cur…

platform 设备驱动实验

目录Linux 驱动的分离与分层驱动的分隔与分离驱动的分层platform 平台驱动模型简介platform 总线platform 驱动platform 设备硬件原理图分析试验程序编写platform 设备与驱动程序编写测试APP 编写54.5 运行测试编译驱动程序和测试APP运行测试我们在前面几章编写的设备驱动都非常…

python FTP服务器实现(Python3)

创建一个ftp.py文件(Linux环境),插入以下代码: from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer # 实例化DummyAuthorizer来创建ftp用户 authorizer…

linux 恢复数据

对于很多 Linux 的用户来说,可能有一个问题一直都非常头疼:对于那些不小心删除的数据来说,怎样才能恢复出来呢?大家知道,在 Windows 系统上,回收站中保存了最近使用资源管理器时删除的文件。即便是对于那些…

设备树下的platform 驱动编写

目录设备树下的platform 驱动简介硬件原理图分析实验程序编写修改设备树文件platform 驱动程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试上一章我们详细的讲解了Linux 下的驱动分离与分层,以及总线、设备和驱动这样的驱动框架。基于总线、设备和驱动这…

回归测试——游戏版本发布前的最后关口

回归测试在软件开发中很常用,在游戏测试中也是很重要的一个环节,它起着保障作用。可能各个公司游戏项目的回归测试流程不大相同,我就拿我参与的游戏项目来举例。在一个迭代的过程中,最后收尾动作就是回归测试,简单说就…

Linux 自带的LED 灯驱动实验

目录Linux 内核自带LED 驱动使能Linux 内核自带LED 驱动简介LED 灯驱动框架分析module_platform_driver 函数简析gpio_led_probe 函数简析设备树节点编写运行测试前面我们都是自己编写LED 灯驱动,其实像LED 灯这样非常基础的设备驱动,Linux 内核已经集成…

虚拟硬盘VHD的程式化挂载方式

2019独角兽企业重金招聘Python工程师标准>>> 微软推出的虚拟硬盘vhd同vmdk,qcow2等一样,是一种磁盘镜像格式。磁盘镜像一般多用于虚拟化计算,但微软支持将Win7/Win8/Win2012等直接安装进vhd文件中,并且不通过任何虚拟机&#xff0…