【class7】

中分词文

中文分词是中文信息处理的基本技术,指的是将一个汉字序列切分成一个一个单独的我们知道,英文单词之间是以空格作为分界符的,而中文是以为基本的书写单位,词语之间没有明显的区分标记。在搜索引擎、机器翻译、语音合成等技术中,都需要用到中文分词。

中文分词的方法有很多种,今天我们要学习一个国内使用人数最多的中文分词工具——jieba 分词jieba 不是一个内置模块,所以在使用前要先通过代码 pip install jieba 在终端中进行安装。如果在自己电脑上安装不上或安装缓慢,可在命令后添加 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 进行加速。

jieba.lcut()

代码的作用

在 jieba 模块中,分词的方法有很多种,在这里,我们使用 jieba.lcut()。   jieba.lcut() 将字符串切分为词。

想要使用 jieba 分词,首先导入 jieba 模块。    将需要分词的字符串传入 jieba.lcut(),将语句进行切分。  

完成后返回列表,赋值给变量 words。

示例代码:

# 导入jieba模块

import jieba

# 将"我喜欢夜曲编程",赋值给变量text

text = "我喜欢夜曲编程"

# 将text传入jieba.lcut(),赋值给words

words = jieba.lcut(text)

# 使用print输出words

print(words)

总结:

回到项目中,上节课我们已经完成了内容的提取并输出了短评。
接着,首先需要导入 jieba 模块。把变量 contentString 传入 jieba.lcut() 进行分词,将返回的列表赋值给 words。

逐步完善代码:

# 使用import导入requests模块

import requests

# 从bs4中导入BeautifulSoup

from bs4 import BeautifulSoup

# 使用import导入jieba模块

import jieba

# 将豆瓣电影评论URL地址,赋值给变量url

url = "https://movie.douban.com/subject/2129039/comments?sort=new_score&status=P"

# 将User-Agent以字典键对形式赋值给headers

headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}

# 将 url 和 headers参数,添加进requests.get()中,将字典headers传递headers参数,给赋值给response

response = requests.get(url, headers=headers)

# 将服务器响应内容转换为字符串形式,赋值给html

html = response.text

# 使用BeautifulSoup()传入变量html和解析器lxml,赋值给soup

soup = BeautifulSoup(html, "lxml"

# 使用find_all()查询soup中class="short"的节点,赋值给content_all

content_all = soup.find_all(class_="short")

# for循环遍历content_all

for content in content_all:

    # 获取每个节点中标签内容,赋值给contentString

    contentString = content.string

    # 使用jieba.lcut()将contentString进行分词,赋值给words

    words = jieba.lcut(contentString)

    # 使用print输出words

    print(words)

我们使用 jieba 模块将电影短评拆分成词。由于 jieba.lcut() 函数返回的结果是列表,在这里,有多少条电影短评,就有多少个列表生成。
为了方便接下来对所有电影短评作出词频分析,我们可以将多个列表合并成一个列表

在 Python 中合并列表是非常常见的操作,方法也有很多,在这里,我们学习通过 + 运算直接拼接。如代码所示,将列表 list1 和列表 list2 使用 + 运算,赋值给 result,即可将两个列表合并

示例如下:

列表合并

在这里,我们可以新建一个列表 wordList。想要合并所有列表 words,可以将列表 wordList 与列表 words 用 + 运算符合并,并赋值给列表 wordList。

打卡第七天

  • 30
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值