自然语言处理(四)

(一) 特征选择

1. TF-IDF原理。

什么是TF-IDF:
TF-IDF(Term Frequency-Inverse DocumentFrequency, 词频-逆文件频率),一种用于资讯检索和资讯探勘的常用加权技术。

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。
相关原理:
词频TF(item frequency):某一给定词语在该文本中出现次数。该数字通常会被归一化(分子一般小于分母),以防止它偏向长的文件,因为不管该词语重要与否,它在长文件中出现的次数很可能比在段文件中出现的次数更大。

需要注意的是有一些通用词对文章主题没有太大作用,如“的”“是”等,而有一些频率出现少的词如一些专业词更能表现文章主题,所以为词语设置权重,权重的设计满足:一个词预测主题的能力越强,权重越大,反之,权重越小。也就是说,一些词只在很少几篇文章中出现,那么这样的词对文章主题的判断能力很大,这些词的权重应该设计的较大。IDF完成这样的工作。

逆向文件频率IDF(inverse document frequency):一个词语普遍重要性的度量。主要思想是:如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到
在这里插入图片描述
此处分母+1是为了避免当所有文档都不包含该词时,分母为0的情况

计算TF-IDF:在这里插入图片描述

2. 文本矩阵化,使用词袋模型,以TF-IDF特征值为权重。(可以使用Python中TfidfTransformer库)

from sklearn.feature_extraction.text import CountVectorizer
vectorizer=CountVectorizer()
text=["I come to China to travel",
    "This is a car polupar in China",
    "I love tea and Apple ",
    "The work is to write some papers in science"]
# 文本的词频统计
print(vectorizer.fit_transform(text))
#
# # 各个特征代表的词
print(vectorizer.get_feature_names())
#
# # 每个文本的词向量特征
print(vectorizer.fit_transform(text).toarray())

3. 互信息的原理

在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息是点间互信息(PMI)的期望值。互信息最常用的单位是bit。
参考:http://www.cnblogs.com/gatherstars/p/6004075.html

4. 使用第二步生成的特征矩阵,利用互信息进行特征筛选。

rom sklearn import datasets
from sklearn import metrics as mr

iris = datasets.load_iris()
x = iris.data
x0 = x[:, 0]
label = iris.target

# 计算各特征与label的互信息
print(mr.mutual_info_score(x0, label))


参考:
1.https://blog.csdn.net/qq_39493274/article/details/80460054
2.https://blog.csdn.net/yyy430/article/details/88249709
3、信息论:熵与互信息
https://blog.csdn.net/pipisorry/article/details/51695283
4、一文总结条件熵、交叉熵、相对熵、互信息
https://blog.csdn.net/Hearthougan/article/details/77879784
5.互信息(Mutual Information)的介绍
https://blog.csdn.net/qq_15111861/article/details/80724278
6 点互信息(PMI,Pointwise Mutual Information)
http://blog.csdn.net/luo123n/article/details/48574123
7 sklearn:点互信息和互信息
https://blog.csdn.net/u013710265/article/details/72848755

猜你喜欢

转载自blog.csdn.net/weixin_41781408/article/details/88290150