赞
踩
前言:本系列笔记的学习资源为Shusen Wang老师在Youtube上关于NLP的课程,观看连接为https://www.bilibili.com/video/BV17A411e7qL
在进行机器学习时,我们首先要对数据进行处理。常见的特征有两大类:一种是数值型特征,比如年龄、身高、体重等等,另一种是类别特征,比如国别等。计算机只能处理数值计算,因而在计算机中处理数据时,一定要首先将这些特征转换为数值。
如上图所示,对于年龄,我们直接用其数值进行存储,对于性别,这是一个二元特征,我们可以用数字0/1来表示,而对于国籍,这是一个典型的类别特征,我们要想办法用数值来表示它。
一个最简单的想法是使用一个标量编号去表示。比如1表示美国,2表示中国,3表示印度……。但这种方式是不太可行的,比如说,我们对标量进行数值计算时,就会有如下情况产生:
1+2=3 ==>
US + China = India?
是否可以说明美国+中国=印度呢?这显然是不正确的。因而使用一个数值标量去代表这样一个多类别的信息是不靠谱的,我们自然就会想到使用向量。
最简单的一种向量表示方法就是One-Hot表示形式,假设一共有197个国家,那么每个国家仅在自己对应编号的位置上数值为1,其他位置数值为0。同时,我们保留编号0作为未知的类别。经过这样的表示,之前的数据就可以被表示成如下形式:
并且每一行的信息也可以表示为一个199维向量。
对于文本数据的处理,我们主要遵循以下三步:
首先是分词(Tokenization)。对于分词,这里我们可以简单的理解为将一段连续的字符串切分为一个单词列表。实际上还有很多操作,这里先不详细说明。
如上图示意。
然后是统计词频。我们需要统计在这段文本中各个单词出现的频次,然后进行降序排列,然后将按顺序给每个单词一个编号/索引。之后,我们可以进行一些处理,比如只保留出现频次最高的前K个单词,去除掉一些频次的单词,这样有以下几点好处:
最后进行One-Hot 编码,将每个单词转换为它对应的编号/索引。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。