语录网诗词 python 中文分词(python用于中文分词的第三方库)

python 中文分词(python用于中文分词的第三方库)

有网友问python 中文分词,下面小编就以2248字给大家详细介绍python用于中文分词的第三方库,预计阅读需要6分钟!

打算画一个中文海图?你必须先学会如何做中文文本分词。跟着我们的教程,用Python一步一步练习。

需求

在《如何用Python制作词云》一文中,我们介绍了如何在英文文本中制作词云,大家玩得开心吗?

正如文中所说,之所以选择英文文本作为例子,是因为它最容易处理。但是很快就有读者尝试使用中文文本作为单词云。按照前面的方法,你成功了吗?

估计是不成功的。因为这里面缺了一个重要的步骤。

观察你的英语文本。你会发现英语单词之间的空格是强制性的分隔符。

例如:

《是的部长》是一部讽刺英国情景喜剧,由安东尼·杰伊爵士和乔纳森·林恩创作,于1980年至1984年间首次由英国广播公司电视台播出,分为三部七集系列。

然而,在中文文本中没有这样的空间。为了制作单词云,我们首先需要知道中文文本中有哪些单词。

你可能会觉得这根本不是问题——我一眼就能看出文字之间的界限!

是的,当然可以,你可以手动处理1句话,100句话,甚至1万句,但是如果给你100万句子呢?

这就是人工处理和电脑自动化处理的最显著区别——规模。

别那么急着放弃啊,你可以用电脑来帮忙。

你的问题应该是:如何使用计算机将中文文本正确地拆分成单个单词?

这种工作,专业术语叫做分词。

在介绍分词工具及其安装之前,请确保您已经阅读了《如何在Python中制作词云》这篇文章,并根据其中的步骤做了相关的准备工作,然后继续按照本文的介绍一步步进行。

分词

中文分词工具有很多种,有些是免费的,有些是收费的,有些可以安装在你的笔记本电脑里使用,有些则需要连接互联网进行云计算。

今天,我将向您介绍如何在笔记本电脑上免费使用Python进行中文分词。

我们采用的工具,名称很有特点,叫做“ 结巴分词 ”。

为什么叫这么奇怪的名字?

读完本文,你自己应该就能想明白了。

我们先安装这个分词工具,回到你的"终端"或"命令提示符"。

进入你之前建立好的demo文件夹。

输入以下命令:

pip install jieba

好了,现在你电脑上的Python已经知道如何分割中文单词了。

数据

在文章《如何用Python制作词云》中,我们使用了英剧的维基百科介绍文本《是,部长》,这次我们从维基百科上找到了英剧对应的中文页面,翻译名称为《是,部长》。

复制网页的文本后,将其保存yes-minister-cn.txt文本文件,并将此文件移动到我们的工作目录演示。

好了,我们有了用于分析的中文文本数据了。

编程不要太忙,在输入代码之前我们还需要做的一件事就是下载一个中文字体文件。

请到 这个网址 下载simsun.ttf。

下载后,将此ttf字体文件移动到演示目录,并将其与文本文件放在一起。

代码

在命令行下,执行:

jupyter notebook

浏览器会自动开启,并且显示如下界面。

这里是我们在最后一个词云制作时的劳动成果,此时目录下多了一个文本文件,是"是,部长"的中文介绍信息。

打开这个文件,浏览一下内容。

我们确认中文文本内容已经正确存储。

返回到Jupyter笔记本的主页。单击新建按钮创建新的笔记本。在笔记本中,选择Python 2选项。

系统会提示我们输入Notebook的名称,为了与上一个英文单词云制作笔记本区分开来,就叫wordCloud-cn吧。

在网页的唯一代码文本框中,输入以下3条语句,输入后按Shift+Enter执行。

filename = "yes-minister-cn.txt"

然后我们尝试显示mytext的内容,输入下面的语句后,还是要按Shift+Enter执行。

print(mytext)

显示的结果如下图所示。

由于阅读中文文本内容没有问题,我们开始分词,输入以下两行:

import jieba

系统会提示一些信息,这是刚启用口吃分词时需要做的准备工作,忽略就好了。

分词的结果如何?我们来看看。输入:

print(mytext)

你就可以看到下图所示的分词结果了。

单词不再紧密相连,而是用空格隔开,就像英语单词之间的自然划分。

你是不是迫不及待要用分词后的中文文本作词云了?

可以,输入以下语句:

从wordCloud导入WordCloud

激动地期待着中文词云的出现?

可惜,你看到的词云是这个样子的。

你是不是非常愤怒,觉得这次又掉坑里了?

不用担心,这个结果不是分词或者词云绘图工具的问题,也不是因为我们的教程步骤不对,只是因为字体缺失了,词云绘图工具wordCloud默认使用英文字体,其中不包含中文编码,所以会是一个框,解决方法是使用你之前下载的simsun.ttf作为指定的输出字体。

输入以下语句:

从wordCloud导入WordCloud

这次你看到的输出图形就变成了这个样子:

这样,我们通过中文词云的生产过程,认识到中文分词的必要性。

这里有一个问题让你将这次生成的中文词云与上次生成的英文词云进行比较:

这两个词云对应的文本都来自维基百科,描述的是同一个戏剧,它们之间有什么异同,从这个对比中,你可以发现维基百科中英文介绍的内容有什么有趣的规律?

讨论

本文来自网络,不代表语录网立场,转载请注明出处:https://www.chinansn.com/article-1-a220321153034a404d4-0.html