python根据特定词分类_文本挖掘——Python职位数据分析全链路(下)

上篇内容我们介绍了Python职位的抓取、清洗以及统计分析。这篇文章我们继续介绍如何用文本挖掘的方式对Python职位进行分析。主要包括:

  • 文本预处理
    • 去除html标签
    • 分词
    • 去停用词
  • 词云
  • FP-Growth关联分析
  • LDA主题模型分析

这篇会包含一些数据挖掘算法,但我希望这篇文章面向的是算法小白,里面不会涉及算法原理,会用,能解决业务问题即可。

3.0 文本预处理

文本预处理的目的跟上篇介绍的数据清洗一样,都是为了将数据处理成我们需要的,这一步主要包含分词、去除停用词两步。

我们基于上篇处理好的py_jobs_finalDataFrame进行后续的处理,先来看下职位正文

py_jobs_final[['pId', 'pDetail']].head(2)
db45b98d8e0025a5fa8e29fcce624c2b.png

职位正文是pDetail列,内容就是我们经常看到的“岗位职责”和“岗位要求”。上图我们发现职位要求里包含了html标签,如:
,这是因为pDetail本来是需要显示在网页上的,所以里面会有html标签,还好我们有爬虫的基础,使用BeautifulSoup模块就很容易处理掉了

from bs4 import BeautifulSoup
# 使用BeautifulSoup 去掉html标签, 只保留正文内容,并转小写
py_jobs_final['p_text'] = py_jobs_final['pDetail'].map(lambda x: BeautifulSoup(x, 'lxml').get_text().lower())

py_jobs_final[['pId', 'pDetail', 'p_text']].head(2)
4811e1ecf350e59cfb7a79c94068a6a9.png
去html标签

去除html标签后,再用jieba模块对正文分词。jieba提供了三种模式进行分词,全模式、精确模式和搜索引擎模式。具体差异我们看一个例子就明白了。

import jieba
job_req = '熟悉面向对象编程,掌握java/c++/python/php中的至少一门语言;'

# 全模式
seg_list = jieba.cut(job_req, cut_all=True)
# 精确模式
seg_list = jieba.cut(job_req, cut_all=False)
# 搜索引擎模式
seg_list = jieba.cut_for_search(job_req)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值