NLP入门实战——基于机器学习的文本分类
2020-07-25 本文已影响0人
ebook_sea
一、文本表示方法
词嵌入(Word Embedding):通过将不定长的文本转换到定长的空间内,从而使得文本表示成计算机能够运算的数字或向量。
1. One-hot(独热编码)
将每个字/词编码一个索引,然后根据索引进行赋值,从而将每一个单词转化为一个离散的向量。
2. Bag of Words/Count Vectors(词袋表示)
将每个文档的字/词用其出现的次数表示。
CountVectorizer会将文本中的词语转换为词频矩阵,它通过fit_transform函数计算各个词语出现的次数。
3. N-gram
与词袋表示类似,但是加入了相邻单词组合成为新的单词,并进行计数。(将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。)
4. TF-IDF
TF-IDF 分数由两部分组成:第一部分是词语频率(Term Frequency),第二部分是逆文档频率(Inverse Document Frequency)。其中计算语料库中文档总数除以含有该词语的文档数量,然后再取对数就是逆文档频率。
TF(t)= 该词语在当前文档出现的次数 / 当前文档中词语的总数
IDF(t)= log_e(文档总数 / 出现该词语的文档总数)
如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。分母有时候会加1,之所以要加1,是为了避免分母为0(即所有文档都不包含该词)。log表示对得到的值取对数。
二、基于机器学习的文本分类