举个栗子!Tableau 技巧(241):用 Python 脚本提取文本内容的关键词

published: 2023-05-08

经常有数据粉反馈:在处理文本内容的时候,是否有快速提取内容关键词的方法呢?

方法有的,可以试试 Python。这里,我们来分享:如何在 Tableau 中利用 Python 脚本从文本内容提取关键词。

今天的栗子,一睹为快吧~

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:用 Python 脚本提取文本内容的关键词。

为方便学习,栗子使用自拟的文本数据。掌握栗子方法后,数据粉可尝试使用自己的数据源。

具体步骤如下:

Step.1

安装好 Python 环境,并安装扩展包 Tabpy (Tableau的分析扩展程序)、jieba (结巴分词包)、re (正则包)。

启动 Tabpy 服务,步骤请参考☞ 举个栗子!Tableau 技巧(201):在 Prep 中调用 Python 处理复杂数据

Step.2

打开 Tableau Desktop,连接栗子数据。

单击顶部菜单栏“帮助”,下拉菜单选择:设置和性能-管理分析扩展程序连接,弹窗中选择:TabPy,然后如下配置并保存连接。

Step.3

单击字段右上角 ▼ 按钮,下拉菜单选择:创建计算字段。

将字段命名为:tags,键入函数:

SCRIPT_STR("

import jieba.analyse # 导入jieba

import re # 导入re 正则表达式

#使用正则表达式过滤掉不可见的字符,如换行等,以避免报错

content = [re.sub('\s','', str) for str in _arg1]

#使用jieba从内容提取关键词,只提取权重最高的3个名词

tags = [jieba.analyse.extract_tags(c, topK=3, allowPOS=('n')) for c in content]

#将提取结果的格式处理成字符串,以返回给Tableau

result = [','.join(r) for r in tags]

return result

",

attr([Brief]))

然后,再单击窗口右下角的“默认表计算”,在弹窗中将“根据以下因素计算:”的值设置为:Name。

新建工作表,将字段“Name”和“tags”以此拖放至行,在视图中的文本表中,可以看到:关键词已经从文本中提取出来啦!

今天的 Tableau 技巧,你 Get 到了吗?