数据可视化实验:文本数据可视化

大数据可视化技术-实验八:文本数据可视化 在实验中,通过实践练习,提高学生使用Matplotlib和pyecharts进行文本数据可视化的熟练程度,总结适合展示文本数据的图表,能够解释文本数据所包含的实际意义。 阅读详情

一、引言与实验原理

文本是语言和沟通的载体,文本的含义以及读者对文本的理解需求均纷繁复杂。例如,对于同一个文本,不同的人的解读也是不一样的,有的人希望了解文本中涉及到的事物,而有的人希望得到文本中的关键词。鉴于对文本信息需求的多样性,需要从不同层级提取与呈现文本信息。一般把对文本的理解需求分成三级:词汇级(Lexical Level)、语法级(Syntactic Level ) 和语义(Semantic Level)。不同级的信息挖掘方法也不同,词汇级当然是用各类分词算法,语法级用一些句法分析算法,语义级用主题抽取算法。文本文档的类别多种多样,包括单文本、文档集合和时序文本数据三大类,这使得文本信息的需求更为丰富。

二、实验目的与实验环境

本次实验学习的是比例数据可视化技术的操作方法。使用Python完成。主要包括:

  1. 了解什么是文本可视化
  2. 掌握文本可视化的相关技术
  3. 文本信息的提取和可视表达
  4. 本次实验是将某一文本进行可视化生成词云图片
  5. 尝试构造文本指纹

实验环境:

  • OS:win11
  • python:v3.11.5

三、实验步骤

1、读入数据

下载千千阙歌-歌词.txt 文件后,将其存储在工作目录下

lyrics_path = r'e:\Microsoft VS Code\BDV\BDV Exam\Chapter 6\千千阙歌-歌词.txt'
with open(lyrics_path, 'r', encoding='utf-8') as file:
    lyrics = file.read()
    print(lyrics)

2、安装依赖

打开终端,检查是否安装了matplotlib、jieba、wordcloud运行库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、构造词云

(1)读入文本数据

lyrics_path = r'e:\Microsoft VS Code\BDV\BDV Exam\Chapter 6\千千阙歌-歌词.txt'
with open(lyrics_path, 'r', encoding='utf-8') as file:
    lyrics = file.read()
    print(lyrics)

(2)使用结巴分词

生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云

import jieba

lyrics_path = r'e:\Microsoft VS Code\BDV\BDV Exam\Chapter 6\千千阙歌-歌词.txt'
with open(lyrics_path, 'r', encoding='utf-8') as file:
    lyrics = file.read()
    # 使用jieba进行精确模式分词
    words = jieba.cut(lyrics, cut_all=False)
    # 将分词结果用空格连接成字符串
    result = ' '.join(words)
    print("分词结果:")
    print(result)

运行代码之后,可以看到已经完成了分词

在这里插入图片描述

(3)生成词云图

需要注意的是 WordCloud 默认不支持中文,所以这里需已下载好的中文字库

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt

lyrics_path = r'e:\Microsoft VS Code\BDV\BDV Exam\Chapter 6\千千阙歌-歌词.txt'
with open(lyrics_path, 'r', encoding='utf-8') as file:
    lyrics = file.read()
    words = jieba.cut(lyrics, cut_all=False)
    result = ' '.join(words)

    wordcloud = WordCloud(
        font_path="simhei.ttf",  
        width=800,
        height=400,
        background_color='white',
        max_words=200
    )

    wordcloud.generate(result)
    
    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()

运行后生成词云图
在这里插入图片描述

4、文献指纹

数据来源:《师说》-韩愈.txt

在这里插入图片描述

接下来将构造该文本内容的文献指纹。文献指纹类似于人类指纹,通过分析文档的词语模式、结构特征或格式差异生成独一无二的标识符。

(1)步骤说明

  1. 读取文本文件内容
  2. 对文本进行预处理 ,去除其标点符号和空格
  3. 统计字符频率
  4. 使用SHA-256哈希计算文本指纹
  5. 输出结果

(2)原理解释

  1. 文本预处理:

    • 使用正则表达式去除所有非中文字符
    • 保留纯中文内容以确保指纹计算的准确性
  2. 频率统计:

    • 使用 Counter 类统计每个字符出现的次数
    • 计算每个字符的出现频率百分比
    • 频率分析可以帮助识别文本的特征
  3. 指纹生成:

    • 使用 SHA-256 哈希算法生成文献指纹
    • SHA-256 能够生成唯一的、固定长度的哈希值
  4. 输出展示:

    • 显示原始文本和处理后文本的长度对比
    • 展示最常见的 10 个字符及其频率
    • 输出最终的文献指纹
import hashlib
import re
from collections import Counter

def read_text_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as f:
        return f.read()

def preprocess_text(text):
    # 移除标点符号和空格
    return re.sub(r'[^\u4e00-\u9fa5]', '', text)

def calculate_char_frequency(text):
    # 统计字符频率
    char_count = Counter(text)
    total_chars = len(text)
    # 计算频率百分比
    frequency = {char: count/total_chars * 100 for char, count in char_count.items()}
    return frequency

def generate_fingerprint(text):
    # 使用SHA-256生成文献指纹
    return hashlib.sha256(text.encode('utf-8')).hexdigest()

def main():
    file_path = r'e:\Microsoft VS Code\BDV\BDV Exam\Chapter 6\《师说》-韩愈.txt'
    
    # 1. 读取文件
    original_text = read_text_file(file_path)
    print("原始文本长度:", len(original_text))
    
    # 2. 预处理文本
    processed_text = preprocess_text(original_text)
    print("\n处理后文本长度:", len(processed_text))
    
    # 3. 计算字符频率
    char_frequency = calculate_char_frequency(processed_text)
    print("\n字符频率统计(top 10):")
    for char, freq in sorted(char_frequency.items(), key=lambda x: x[1], reverse=True)[:10]:
        print(f"{char}: {freq:.2f}%")
    
    # 4. 生成文献指纹
    fingerprint = generate_fingerprint(processed_text)
    print("\n文献指纹(SHA-256):")
    print(fingerprint)

if __name__ == "__main__":
    main()

在运行代码之后,生成了独一无二的文献指纹。

在这里插入图片描述

四、总结与心得

本次重点探索了词云生成与文献指纹构造两种技术方法。通过处理中文歌词和古文文本,结合Python中的分词工具jieba、词云库WordCloud以及哈希算法库hashlib,实验实现了从文本信息提取到可视化呈现的全流程。

在词云生成部分,实验以《千千阙歌》歌词为数据源,首先使用jieba进行精确分词,解决了中文文本因无空格分隔导致的词云生成难题。通过配置WordCloud参数,生成了直观展示歌词高频词汇的可视化词云图。在文献指纹构造部分,实验选取韩愈的《师说》作为分析对象。通过正则表达式去除标点符号和空格,保留纯中文字符后,统计字符频率并计算SHA-256哈希值。生成的64位哈希指纹具有唯一性和不可逆性,能够作为文本的“数字身份证”。

用Python分析文本数据的词频并词云图可视化 上次批量提取了上市公司主要业务信息,要分析这些文本数据,就需要做文本词频分析。由于中文不同于英文,词是由一个一个汉字组成的,而英文的词与词之间本身就有空格,所以中文的分词需要单独的库才能够实现,常用的是`jieba`。 阅读详情

相关推荐

i茅台APP加密参数逆向分析:MT-Device-ID与mt-v生成算法

在移动应用安全领域,参数加密是防止API滥用的重要手段。通过对通信协议的逆向分析,可以揭示加密参数的生成原理,这对理解移动应用安全机制具有重要意义。以i茅台APP为例,其关键接口使用了MT-Device-ID和mt-v两个加密参数,前者基于设备硬件信息生成,后者则通过动态签名机制确保请求时效性。这类技术广泛应用于电商、金融等需要高安全性的场景。通过抓包工具和逆向工程手段,可以还原出从设备指纹生成到动态签名的完整技术链条,其中涉及MD5、SHA256等常见哈希算法的应用。掌握这些加密参数的生成逻辑,不仅有助于

weixin_28568819的博客 320

3.NLP基础:文本可视化简述

文本可视化依赖于自然语言处理,因此词袋模型、命名实体识别、关键词抽取、主题分析、情感分析等是较常用的文本分析技术。文本分析的过程主要包括特征提取,通过分词、抽取、归一化等操作提取出文本词汇级的内容,利用特征构建向量空间模型并进行降维,以便将其呈现在低维空间,或者利用主题模型处理特征,最终以灵活有效的形式表示这些处理过的数据,以便进行可视化呈现。基于文本内容的可视化研究包括基于词频的可视化和基于词汇分布的可视化,常用的有词云、分布图和 Document Cards 等。

人生是一场修行 3852

从波士顿动力SpotMini拆解看四足机器人机械设计:关节布局与电机选型的5个关键决策点

本文深入解析波士顿动力SpotMini四足机器人的机械设计,聚焦关节布局与电机选型的5个关键决策点。通过拆解髋关节偏移距、膝关节传动链、电机热管理等核心设计,揭示商业级四足机器人的工程智慧,为工业巡检、物流机器人等应用提供实用参考。

postgres8guard的博客 893

文本可视化(词云图)

文本可视化(词云图) (一)文本可视化种类 (1)基于文本内容的可视化 基于文本内容的可视化研究包括基于词频的可视化和基于词汇分布的可视化,常用的有词云、分布图和 Document Cards 等。 (2)基于文本关系的可视化 基于文本关系的可视化研究文本内外关系,帮助人们理解文本内容和发现规律。常用的可视化形式有树状图、节点连接的网络图、力导向图、叠式图和 Word Tree 等。 (3)基于多层面信息的可视化 基于多层面信息的可视化主要研究如何结合信息的多个方面帮助用户从更深层次理解文本数据,发现其内在

huanxingchen1的博客 9078

RV1126 MIPI CSI-2驱动RGB888图像采集的V4L2实战解析

本文详细解析了在RV1126平台上通过MIPI CSI-2接口采集RGB888格式图像的完整V4L2实战流程。核心内容包括设备树(DTS)配置、内核驱动适配、Media Controller链路调试,以及使用v4l2-ctl工具进行图像抓取与验证的方法,旨在帮助开发者打通从硬件连接到稳定采集RGB888图像数据的关键环节。

weixin_29161719的博客 166

YOLOV5 自动刷图脚本实战(十五)之如何找到正确的门

DXF是一个2D游戏,我们所看到的人物移动,其实是后面的背景在移动,我们所看到的画面,不过是一个完整背景中的一个镜头视角而已想要正确找到门的坐标,我们需要对不同的地图中的每个房间做一些配置信息。

qq_38892949的博客 2812

大数据可视化课程笔记 6

文章目录第六章 文本数据可视化6.1 文本数据在大数据中的应用及提取6.1.1 文本数据在大数据中的应用 第六章 文本数据可视化 6.1 文本数据在大数据中的应用及提取 6.1.1 文本数据在大数据中的应用 ...

Google_eason的博客 2197

基于AUTOSAR的汽车电子项目--电动助力转向系统

基于AUTOSAR的汽车电子项目开发通常涵盖广泛的领域,例如动力系统控制、车身电子、信息娱乐系统、高级驾驶辅助系统(ADAS)等。以下是一个简化的示例项目,展示了如何在AUTOSAR环境下开发一个电动助力转向系统(Electric Power Steering, EPS)的控制软件

MHD0815的博客 2131

第6章 文本数据可视化

第6章 文本数据可视化

m0_53336038的博客 2913

【python数据处理】python实现vlookup字符串模糊匹配及在实战中的应用(FuzzyWuzzy库)

利用FuzzyWuzzy库匹配字符串1. 背景前言2. FuzzyWuzzy库介绍2.1 安装2.1 fuzz模块2.1.1 简单匹配(Ratio)2.1.2 非完全匹配(Partial Ratio)2.1.3 忽略顺序匹配(Token Sort Ratio)2.1.4 去重子集匹配(Token Set Ratio)2.2 process模块2.2.1 extract提取多条数据2.2.2 extractOne提取一条数据3. pandas实战应用3.1 公司名称字段模糊匹配3.1.1 参数讲解:3.1.2

lys_828的博客 8322

国科大学习资料--模式识别与机器学习(黄庆明)--2020期末考试题

国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 ============================================================================================================================================================

无名何许人的博客 2607

实验六:文本数据可视化

本实验通过生成词云图与文献指纹,验证了文本数据可视化与哈希算法的有效性。相同输入必生成相同哈希,极小概率不同输入生成相同哈希(理论碰撞概率约1/2^128),适合作为文献的唯一标识。预处理目的是消除非内容相关的干扰因素(如格式差异),确保同一文本在不同场景下生成的指纹一致。对比测试:对《师说》的不同版本(如繁简转换、添加空格)进行哈希计算,验证仅当内容完全一致时指纹相同。选择哈希算法:采用SHA-256算法,生成256位(32字节)的哈希值。输入预处理后的文本:将标准化后的《师说》全文作为输入数据。

2301_78823986的博客 1918

pyradiomics使用——1. 医学影像的组学特征值(Radiomics Features)提取

文章目录1. 使用插件1.1 插件安装1.2 插件使用2. 使用python代码2.1 安装2.2 使用2.2.1 官方示例2.2.2 快速使用2.2.3 其它使用3. 组学特征字段意义说明 Github地址:https://github.com/AIM-Harvard/pyradiomics 官方文档地址:https://pyradiomics.readthedocs.io/en/latest/features.html 1. 使用插件 从pyradiomics的Github仓库中可以知道,pyradio

啷个哩个啷 7369

实验6:文本数据可视化

文本是语言和沟通的载体,文本的含义以及读者对文本的理解需求均纷繁复杂。例如,对于同一个文本,不同的人的解读也是不一样的,有的人希望了解文本中涉及到的事物,而有的人希望得到文本中的关键词。不同级的信息挖掘方法也不同,词汇级当然是用各类分词算法,语法级用一些句法分析算法,语义级用主题抽取算法。文本文档的类别多种多样,包括单文本、文档集合和时序文本数据三大类,这使得文本信息的需求更为丰富。通过本次实验,我了解了文本可视化,掌握了文本可视化的相关技术,学会了构造文本指纹。要求:将操作步骤逐一展示,描述背后的原理。

2301_79709718的博客 1661

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数据可视化基础之实验六:文本数据的可视化

此外,我们还尝试构造文本指纹,通过提取文本的特征并编码,为每篇文本生成了独特的标识符,这不仅加深了我们对文本特征提取的理解,也为后续的文本分析和管理提供了新的思路。文本数据可视化实验原理主要是利用数据处理与分析技术对文本数据进行加工,提取其中的关键信息、特征及模式等,然后借助可视化工具或软件,将这些经过处理的文本信息以直观的图形、图像、图表等视觉形式呈现出来,使人们能够更清晰、高效地理解文本数据所蕴含的内容、规律以及相互关系等。对比两个文献的指纹,将原来的文献进行修改,然后保存,再进行对比。

2302_77910895的博客 756

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数据可视化--实验六:层次和网络可视化、文本可视化

数据可视化–实验六:层次和网络可视化、文本可视化 文章目录数据可视化--实验六:层次和网络可视化、文本可视化概要实验过程Pyecharts实验结果邮件往来网络图职位树图邮件主题词云图实验结论 概要 学院:计算机科学与技术学院 实验日期:2020-10-17 实验目的: 掌握层次和网络可视化、文本可视化工具方法 实验内容: 现有xx公司一个月内研发部门成员间的邮件往来记录(email_dev_inside.xlsx),请根据以下要求完成对该公司的研发部门的可视化分析: 1、对邮件往来数据进行处理,选择合

BlingblingFu的博客 5099

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

文本数据可视化

文本可视化:文本可视化是将文本数据以直观的图形、图像形式呈现,以帮助用户更高效地理解和分析文本内容的技术。在本次实验中,通过生成词云图片来实现文本可视化。词云以直观的方式展示文本中词汇的重要性或出现频率,词的大小、颜色和位置等视觉属性反映其相关特征,能快速捕捉文本关键信息。文本可视化技术:运用了 Python 中的wordcloud库来生成词云。该库功能强大,可通过简单配置生成多种风格的词云。同时,利用jieba库进行中文分词,因为中文文本不像英文有天然的空格分隔,分词是准确生成中文词云的关键步骤。

2302_81177450的博客 1679

数据可视化--文本数据可视化

本次文本数据可视化实验,通过探索词云生成和文献指纹构建两项关键技术,成功实现了对文本信息的深度挖掘与可视化表达。在实验过程中,我们运用jieba分词、WordCloud可视化以及hashlib哈希算法,不仅解决了中文文本处理的技术难点,还创新性地构建了文本指纹,实现了从歌词和古文文本中提取高频词汇并生成独特数字标识的目标。通过这一实践,我们深入理解了文本信息可视化的基本原理,掌握了Python处理中文文本的关键技术,为后续在数据分析和信息可视化领域的探索奠定了坚实基础。

ustittd的博客 951
上一篇: 时间趋势类可视化图像总结
下一篇: 地理特征类可视化图表总结
A2zzz
博客等级 码龄4年 94粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值