nlp实践--基于机器学习的文本分类

本文介绍了基于机器学习的文本分类,涉及机器学习模型选择、文本表示方法如one-hot、Bag of Words、N-gram和TF-IDF。并讨论了在scikit-learn中如何实现这些方法,以及在文本分类中应用岭回归和多项式朴素贝叶斯模型。
摘要由CSDN通过智能技术生成

链接: 基于机器学习的文本分类
本章侧重使用传统机器学习,从下一章开始是基于深度学习的文本分类。

机器学习模型

机器学习是对能通过经验自动改进的计算机算法的研究。机器学习通过历史数据训练出模型对应于人类对经验进行归纳的过程,机器学习利用模型对新数据进行预测对应于人类利用总结的规律对新问题进行预测的过程。

  • 机器学习有很多种分支:

在这里插入图片描述

  • 每种机器学习算法有一定的偏好,需要具体问题具体分析

文本表示方法

文本是无结构数据。文本表示成计算机能够运算的数字或向量的方法一般称为词嵌入(Word Embedding)方法。词嵌入将不定长的文本转换到定长的空间内,是文本分类的第一步。

one-hot

one-hot编码:主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。
具体将每个字/词编码一个整数索引,即将每个字确定一个编号;
然后,每个整数值被表示为二进制向量,除了这个整数的索引之外,它都是零值,它被标记为1。
【例子】

句子1:我 爱 北 京 天 安 门
句子2:我 喜 欢 上 海

首先对所有句子的字进行索引,即将每个字确定一个编号:
{
   
	'我': 1, '爱': 2, '北': 3, '京': 4, '天': 5,'安': 6, '门': 7, '喜': 8, '欢': 9, '上': 10, '海': 11
}

在这里共包括11个字,因此每个字可以转换为一个11维度稀疏向量:
我:[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
爱:[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
...
海:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]

在sklearn中one-hot的实现:

In:	from sklearn import preprocessing  
	      
	enc = preprocessing.OneHotEncoder(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值