机器学习案例实战:Python文本数据分析新闻分类任务

本文介绍了使用Python进行新闻文本的分析,包括关键词提取和相似度计算。通过TF-IDF方法去除停用词并找出重要关键词,并展示了如何计算文本相似度。此外,还探讨了新闻数据的预处理和贝叶斯算法在新闻分类任务中的应用。
摘要由CSDN通过智能技术生成
原创文章,如需转载请保留出处
本博客为唐宇迪老师python数据分析与机器学习实战课程学习笔记

一. 文本分析与关键词提取
1.1 文本数据
在这里插入图片描述
1.2 停用词

  • 语料中大量出现
  • 没啥大用
  • 留着过年吗
    在这里插入图片描述

1.3 Tf-idf:关键词提取

  • 《中国的蜜蜂养殖》:进行词频(Term frequency,缩写TF)统计
  • 出现次数最多的词:“的”、“是”、“在”…这类最常用的词(停用词)
  • “中国”、“蜜蜂”、“养殖” 这三个词出现的次数一样多,重要性是一样的?
  • “中国”是很常见的词,相对而言,“蜜蜂”和“养殖”不那么常见

1.4 逆文档频率(Inverse Document Frequency,IDF)

  • 如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词
  • 词频(TF) = 某个词在文章中的出现次数 / 该文词的个数
  • 逆文档频率(IDF) = log(语料库的文档总数 / 包括该词的文档数 + 1)

1.5 Tf-idf:关键词提取计算
TF-IDF = 词频(TF) * 逆文档频率(IDF)

  • 《中国的蜜蜂养殖》:假定该文长度为1000个词,“中国”、“蜜蜂”、“养殖”各出现20次,则这三个词的“词频”(TF)都是0.02
  • 搜索Google发现,包含“的”字的网页共有250亿张,假定这就是中文网页总数。包含“中国”的网页共有62.3亿张,包含“蜜蜂”的网页共有0.484亿张,包含“养殖”的网页共有0.973亿张

在这里插入图片描述
二. 相似度计算
2.1 相识度
句子A:我喜欢看电视,不喜欢看电影
句子B:我不喜欢看电视,也不喜欢看电影

  • 分词
    句子A:我 / 喜欢 / 看 / 电视,不 / 喜欢 / 看 / 电影
    句子B:我 / 不 / 喜欢 / 看 / 电视,也 / 不 / 喜欢 / 看 / 电影

  • 语料库:我 ,喜欢,看,电视,电影,不,也

  • 词频:
    句子A:我1,喜欢2,看2,电视1, 电影1,不1,也0
    句子B:我1,喜欢2,看2,电视1, 电影1,不2,也1、

  • 词频向量
    句子A:[1,2,2,1,1,1,0]
    句子B:[1,2,2,1,1,2,1]

余弦相似度:
在这里插入图片描述
三. 新闻数据与任务简介

import pandas as pd
import numpy as np
#结吧分词
import jieba

df_news = pd.read_table('./data/val.txt',names=['category','theme','URL','content'],encoding='utf-8')
#dropna:去掉缺失值
df_news = df_news.dropna()
df_news.head()

在这里插入图片描述

df_news.shape

(5000, 4)

#分词:使用结吧分词器
#先将content转换成list格式
content = df_news.content.values.tolist()
print (content[1000])

阿里巴巴集团昨日宣布,将在集团管理层面设立首席数据官岗位(Chief Data Officer),阿里巴巴B2B公司CEO陆兆禧将会出任上述职务,向集团CEO马云直接汇报。>菹ぃ和6月初的首席风险官职务任命相同,首席数据官亦为阿里巴巴集团在完成与雅虎股权谈判,推进“one company”目标后,在集团决策层面新增的管理岗位。0⒗锛团昨日表示,“变成一家真正意义上的数据公司”已是战略共识。记者刘夏

#利用结吧分词
content_S = []
#line:代表content中每一条
for line in content:
    current_segment = jieba.lcut(line)
    #大于1:代表确实能切分
    if len(current_segment) > 1 and current_segment != '\r\n':
        content_S.append(current_segment)
content_S[1000]
['阿里巴巴',
 '集团',
 '昨日',
 '宣布',
 ',',
 '将',
 '在',
 '集团',
 '管理',
 '层面',
 '设立',
 '首席',
 '数据',
 '官',
 '
  • 2
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值