三丰技术汇第1期:识别骚扰短信使用的特征提取方法
本文以SMS Spam Collection数据集为例介绍骚扰短信的识别技术,如词袋和TF-IDF模型。
我们使用最常见的词袋模型提取文件特征,如逐行读取数据文件,由于每行数据都由标记和短信内容组成,两者间使用制表符分割,所以可以通过split函数进行切分,直接获取标记和短信内容:
伪代码如:with open(test.txt) as f:
for line in f:
line=line.strip('n')
根据标记内容,分别给正常邮件和骚扰邮件标记为0和1:
随机划分数据集为训练集合测试集,其中测试集占40%:
x_train, x_test,y_train,y_test = train_test_split(x,y,test-size=0.4)
使用的CountVectorizer进行词袋化处理;另外使用TF-IDF进行处理,提高分类器性能。
词袋模型能很好的表现文本由哪些单次组成,但无法表达单次间的前后关系,因此需要使用生成的词汇表。如google推出的word2Vec能将词表征为实数值向量。