word cloud模块的包装器,用于创建波斯语(和其他rtl语言)wordcloud。

wordcloud-fa的Python项目详细描述


wordcloudfa

downloads src=

 src=此模块是一个易于使用的包装器,用于word戋cloud模块

原始模块不支持波斯语文本。但是通过使用wordcloudfa,您可以从 包括波斯语和英语单词的文本。

这个模块不仅是一个包装器,还为原来的模块添加了一些功能。

如何安装

要安装此模块,您只需运行

pip安装wordcloud fa

这个模块在python 3上测试

wordcloudfa取决于numpy枕头

此外,还应该有hazm模块。通常,当您使用 pip如本节开头所述。

要将wordcloud保存到文件中,还可以安装matplotlib。

注意

您的系统上需要有python3的python dev。如果没有,可以在操作系统上安装 使用apt作为包管理器(如ubuntu)的用户:

sudo apt get安装python3 dev

您可以将它安装到那些使用yum作为包管理器的操作系统上(比如redhat、fedora和…) 使用以下命令:

sudo yum install python3 devel

如何使用

要从文本创建单词云,首先应将类导入到代码中:

从wordcloud导入wordcloud fa

您可以创建此类的实例,例如:

wodcloud=wordcloudfa()

可以将不同的参数传递给构造函数。你可以看到他们的全部文件 wordcloud文档

有两个参数不在原始类中。

首先是波斯语规范化。如果使用true值传递此参数,则使用 hazm正常执行器。建议始终传递此参数。将取代 阿拉伯文字母和波斯文字母,还有其他一些东西。 此参数的默认值为false

wodcloud=wordcloudfa(波斯语,normalize=true)

第二个参数是include_numbers它不在发布的原始模块中。如果将此参数设置为false, 所有波斯语、阿拉伯语和英语数字都将从您的数据中删除。

此参数的默认值为true

wodcloud=wordcloudfa(包括u numbers=false)

从文本生成单词云

要从字符串生成word cloud,只需调用实例的generate方法即可:

wodcloud=WordCloudFa(persian_normalize=True)wc=wodcloud.generate(text)image=wc.to_image()image.show()image.save('wordcloud.png')

从频率生成词云

你可以从频率生成一个词云。您可以使用process_text方法的输出作为频率。 你也可以用这样的字典。

wodcloud=WordCloudFa()frequencies=wodcloud.process_text(text)wc=wodcloud.generate_from_frequencies(frequencies)

generate_from_frequencies此模块中的方法将排除停止字。但原始模块不会排除它们 当你使用这种方法时。此外,您也可以使用波斯语单词作为频率dict的键,而不会有任何问题。

使用停止字

词尾是我们不想考虑的词。如果您不传递任何停止字,则 停止字将被视为 停止语。

你根本不想用它们,你想选择你的停止语?当 您正在从wordcloudfa创建一个实例,并将一组单词传递给它。

stop_words=set(['کلمه‌ی اول','کلمه‌ی دوم'])wc=WordCloudFa(stopwords=stop_words)

如果要在默认的stopWords中添加其他单词,只需调用 wordcloudfa的实例,并将iterable类型(listset,…)传递给它。

wc=WordCloudFa()wc.add_stop_words(['کلمه‌ی اول','کلمه‌ی دوم'])

也可以从文件中添加停止字。该文件应包括停止字,每个字应在一个单独的行中。

为此,您应该使用add_stop_words_from_file方法。唯一的参数

方法是到stop words文件的相对或绝对路径。

wc=WordCloudFa()wc.add_stop_words_from_file("stopwords.txt")

遮罩图像

你可以用一个图像来掩盖最终的单词云。例如,此文档的第一个图像是一个被图像屏蔽的wordcloud 伊朗国家的地图。设置掩码时,应传递mask参数。

但在这之前,你首先要确定你有一个黑白图像。因为其他图像不会产生好的效果。

然后,您应该将该图像转换为numpy数组。为此,您应该这样做:

importnumpyasnpfromPILimportImagemask_array=np.array(Image.open("mask.png"))

您只需添加这两个导入,但不必担心安装它们,因为它们已经 作为此模块的依赖项安装。

然后,您可以将该数组传递给wordcloudfa类的构造函数来屏蔽结果。

wodcloud=WordCloudFa(mask=mask_array)

现在您可以像以前一样使用WorldCloud实例。

重塑单词

当你把你的文本传递到这个类的一个实例中时,所有的单词都会被重新塑造,以一种合适的方式显示 避免波斯语或阿拉伯语单词的无效形状(拆分字母和反字母)。

如果您想在此模块之外执行相同的操作,可以调用重塑单词静态方法。

reshaped_words=WordCloudFa.reshape_words(['کلمه‌ی اول','کلمه‌ی دوم'])

此方法获取一个iterable作为输入,并返回一个重塑单词的列表。

不要忘记,不应将重塑的单词传递给此类的方法,而此静态方法仅用于此模块之外的用法

示例

您可以在考试中看到示例代码ples目录

 src= src= src=字体

默认字体为未知!支持波斯语和英语字母的字体。所以你不需要为 正在获取结果。但如果要更改字体,可以传递字体路径参数。

波斯语教程

如果您想阅读一个关于如何使用波斯语(波斯语)这个包的简短教程,可以 单击此链接

贡献

我们想让这个库保持新鲜,对所有伊朗开发者都有用。因此,我们需要您的帮助来添加新功能、修复错误和添加更多文档。

你想知道你能为这个项目做些什么?下面是您可以做的事情的列表:

  1. 文件不够?您可以添加更多文档来帮助我们。
  2. 现在的代码会更好吗?您可以使这个更干净或更快。
  3. 你认为遗漏了一个有用的功能吗?你可以打开一个问题并告诉我们。
  4. 你找到一个很好的支持波斯语和英语的开放和免费字体了吗?您可以通过拉取请求或打开问题通知我们

有什么问题吗?

如果您有问题,发现一些错误或需要一些功能,您可以打开一个问题并告诉我们。因为一些奇怪的原因这是不可能的?请通过以下电子邮件与我联系:salam@alihoseiny.ir

引文

示例目录中的文本来自 这是维基百科页面。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android studio从外部模块继承类   发送的java密文和接收的密文不匹配   java面向对象编程:不仅仅是基本对象   你是如何处理文件的。exists()在JAVA中工作吗?   sql server从java应用程序创建到2个数据库的连接   java执行捕获优先级   solr如何使用java获取http参数?   java是什么使这种方法比这种方法更好?   用java实现Trie的算法   用于生成唯一ID的java哈希算法?   java“Method foo()不必要地装箱一个布尔常量”Sonar警告   java有。资产(……)是否存在于任何API中?   在Java中使用量角器   java在这种情况下,MessageContext将为null,但PhaseInterceptorChain为空。getCurrentMessage()不为null?   JavaStruts2单选按钮列表   java JSP表达式语言   java JPA CriteriaBuilder将连接条件转换为析取条件   使用java集合对人员的ArrayList进行排序