[LLM+AIGC] 07.零基础DeepSeek生成可视化科研图形(思维导图、流程图、词云图)

近年来,人工智能技术火热发展,尤其随着ChatGPT和DeepSeek被提出,其能够基于在预训练阶段所见的模式、统计规律和知识来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流以及完成复杂的NLP任务。基于此,为更好地学习前沿AI知识,了解LLM和AIGC应用实战,本人开启了《LLM+AIGC》专栏,一方面作为在线笔记记录和分享自己的学习过程,另一方面期望帮助更多初学者以及对LLM感兴趣的同学。知识无价人有情,希望我们都能在人生路上开心快乐、共同成长。

该系列主要涵盖三方面:

  • 原理篇——以原理介绍和论文阅读为主
  • 实战篇——以编程实现和构建自制LLM和RAG为主
  • 应用篇——以应用实践和API、Prompt探索为主

前一篇文章带领大家了解如何利用DeepSeek+Cherry Studio搭建个人知识库,以安全论文为例进行探索。这篇文章将分享如何利用DeepSeek生成可视化科研图形,包括结合XMind生成思维导图,结合Mermaid生成流程图,结合Chart.js生成HTML趋势图,最终生成Python代码实现词云分析。大家可以结合自己需求进行尝试。基础性文章,希望对初学者有所帮助,尤其是从事科学研究的童鞋!且看且珍惜,加油 O(∩_∩)O

在这里插入图片描述

前文赏析:


一.DeepSeek+XMind生成思维导图

首先,我们尝试生成威胁情报相关的思维导图。目标为ATT&CK网站,如下图所示:

在这里插入图片描述

第一步,DeepSeek同时选择深度思考和联网搜索模式,输入如下所示的提示词。

提示1:
假设您是一名网络安全专家,现在需要介绍ATT&CK相关知识,需要您现从https://attack.mitre.org 官方网站中学习,再撰写一个思维导图介绍ATT&CK,最终以Markdown的形式输出。

在这里插入图片描述

输出结果如下图所示:

在这里插入图片描述

第二步,复制输出的Markdown内容。

在这里插入图片描述

点击复制按钮,生成的Markdown内容如下:

# MITRE ATT&CK框架

## 1. 框架概述 :cite[4]:cite[7]
- **定义**:Adversarial Tactics, Techniques, and Common Knowledge(对抗战术、技术与通用知识)
- **开发者**MITRE公司(非营利组织,维护CVE漏洞数据库)
- **目标**:为攻防双方提供标准化攻击行为描述,提升威胁建模与防御能力

## 2. 核心组成
### 2.1 战术(Tactics):cite[1]:cite[6]
- **定义**:攻击者的高级目标或阶段(共14项)
  - 信息侦查(Reconnaissance)
  - 资源建立(Resource Development)
  - 初始访问(Initial Access)
  - 执行(Execution)
  - 持久化(Persistence)
  - 权限提升(Privilege Escalation)
  - 防御规避(Defense Evasion)
  - 凭据访问(Credential Access)
  - 发现(Discovery)
  - 横向移动(Lateral Movement)
  - 收集(Collection)
  - 命令与控制(Command and Control)
  - 数据窃取(Exfiltration)
  - 影响(Impact)

### 2.2 技术(Techniques):cite[2]:cite[7]
- **定义**:实现战术的具体方法(超200项技术)
  - 示例:
    - 初始访问:钓鱼攻击(Phishing)、供应链攻击(Supply Chain Compromise)
    - 防御规避:反调试(Debugger Evasion)、文件混淆(Obfuscated Files)
    - 数据窃取:C2通道渗出(Exfiltration Over C2 Channel)

### 2.3 矩阵(Matrices):cite[1]
- **功能**:将战术与技术关联为矩阵表
- **作用**:直观展示攻击链全生命周期

## 3. 应用场景 :cite[7]
- **威胁情报分析**:识别攻击者行为模式(如APT组织常用技术)
- **安全评估**:对照ATT&CK检查防御体系覆盖度
- **防御体系设计**:针对高频技术部署检测与缓解措施
  - 示例:针对"凭据访问"技术启用多因素认证(MFA- **红队/蓝队演练**:模拟攻击路径与验证防御有效性

## 4. 防御体系构建 :cite[1]:cite[6]
### 4.1 缓解措施(Mitigations)
- 应用白名单(限制未授权代码执行)
- 日志审计(记录系统/网络行为)
- 系统加固(如CIS基线配置)

### 4.2 检测措施(Detection)
- 数据源:进程监控、网络流量分析、注册表变更
- 工具:EDRSIEMIDS/IPS

## 5. 未来发展趋势 :cite[7]:cite[9]
- **扩展领域**:工控系统(ICS ATT&CK)、云原生环境
- **智能化升级**:结合AI实现自动化威胁狩猎
- **国际协作**:统一全球网络安全术语标准

并且会给出使用说明。

在这里插入图片描述

第三步,将上述Markdown内容复制到Typora中,如果大家没有该软件,直接复制到TXT文件中,并将后缀名修改为“.md”即可。

在这里插入图片描述

第四步,打开XMind软件,并选择导入Markdown格式文件。

在这里插入图片描述

最终生成内容如下图所示,效果还不错喔!

在这里插入图片描述


二.DeepSeek+Mermaid生成流程图

接着分享流程图的是生成。大家在搜索引擎中搜索“mermaid”,可以找到对应的在线网站。譬如:

如下图所示,左边为输入的代码,右边为生成的图形。

在这里插入图片描述

此外,官网包括代表性的实例,包括时序图、甘特图等。通过更改文本就可以自动生成右侧图表,对新手非常友好!

在这里插入图片描述

在这里插入图片描述

第一步,使用DeepSeek生成如下所示的提示,实现快速排序流程图。

提示2:
假设您是一名人工智能专家,现在需要撰写一个快速排序的C语言代码,请您给出该代码的流程图,并使用mermaid格式输出。

在这里插入图片描述

第二步,复制生成的mermaid内容。

在这里插入图片描述

生成的关键代码如下:

flowchart TD
    Start([开始]) --> Main[主函数]
    Main --> InitArray[初始化数组]
    InitArray --> CallQuickSort[调用quicksort函数]
    
    CallQuickSort --> QS{quicksort函数}
    QS --> CheckCondition["low < high?"]
    CheckCondition ----> FindPivot[选取基准并分区]
    CheckCondition ----> Return[直接返回]
    
    FindPivot --> Partition[调用partition函数]
    Partition --> Init["初始化pivot=arr[high], i=low-1"]
    Init --> Loop[循环j从low到high-1]
    
    Loop --> Compare{"arr[j] <= pivot?"}
    Compare ----> IncI["++i并交换arr[i]和arr[j]"]
    Compare ----> Continue[继续循环]
    IncI --> Continue
    Continue --> Loop
    
    Loop --> EndLoop{循环结束?}
    EndLoop ----> Loop
    EndLoop ----> SwapPivot["交换arr[i+1]和arr[high]"]
    SwapPivot --> ReturnPi[返回i+1]
    
    ReturnPi --> RecursiveLeft[递归处理左子数组]
    RecursiveLeft --> RecursiveRight[递归处理右子数组]
    RecursiveRight --> QSEnd[quicksort结束]
    
    Return --> End([结束])

同时,DeepSeek会生成对应的C语言代码以及具体的流程。

在这里插入图片描述

第三步,将上述mermaid格式复制到对应网站中,生成的流程图如下所示。

在这里插入图片描述

此外,点击“Full Screen”可以全屏观看,点击左下角“Action”可以保存图片。

在这里插入图片描述

同时,我们还可以撰写各个领域的流程图,比如新闻文稿、招商引资、网络安全等。

提示3:
假设您是一名人工智能销售,现在需要撰写分享Eastmount博主的博客专栏的流程图,请您使用mermaid格式输出。

在这里插入图片描述

生成结果如下图所示,确实与作者的博客比较相关,包括公众号、星球、Github等。

在这里插入图片描述

流程图更多用法请读者去官网学习。

在这里插入图片描述


三.DeepSeek生成HTML趋势图

HTML图像可编辑性会更强,利用Chart.js实现。如下所示的提示词,同时我们也可以输入数据,比如贵州省各县市近10年的GDP。

第一步,利用DeepSeek输入如下所示提示。

提示4:
现在需要生成2014年到2024年C/C++、Python、Java、PHP、C#、JavaScript编程语言每年的火热度。随后,请生成一个HTML页面,利用趋势图展现该情况,要求页面美观大方,内容后续可编辑。

在这里插入图片描述

第二步,将生成的HTML代码复制至本地。同时,DeepSeek本地可以运行该HTML代码。

在这里插入图片描述

生成结果如下图所示:

在这里插入图片描述

建议大家结合实际需求来学习Chart.js的用法。

在这里插入图片描述


四.DeepSeek生成PyEcharts代码绘制词云

接下来,我们将介绍对计算机相关专业的图形绘制方法,利用DeepSeek生成Python代码,再进行PyEcharts可视化分析,大家既可以完成具体功能,还能学习Python代码的具体用法。

以作者从事数字人文研究为例,假设存在从知网下载的2200篇相关文献。

在这里插入图片描述

第一步,准备数据集。
复制每篇论文的关键词,形成如下所示的TXT文件,部分多余换行需要清除下。

在这里插入图片描述

第二步,结合DeepSeek和大模型做数据分析。

提示5:
假设您是一名数据分析专家,先存在一个data.txt文件,里面包含多篇论文的关键词,每行对应一篇文章关键词,关键词之间采用”;“连接,现在请撰写Pthon代码统计关键词的词频,并按照从大到小的顺序依次存储至CSV文件中。

生成代码如下所示:

在这里插入图片描述

第三步,将生成的Python代码复制到编辑器中运行。
生成的代码包含try-catch,还是比较规范的。

import csv
from collections import Counter

def count_keywords(input_file, output_file):
    """
    统计关键词词频并生成CSV文件
    :param input_file: 输入文本文件路径
    :param output_file: 输出CSV文件路径
    """
    try:
        # 读取数据并统计词频
        keyword_counter = Counter()
        
        with open(input_file, 'r', encoding='utf-8') as f:
            for line in f:
                # 清洗并分割关键词
                keywords = [kw.strip() for kw in line.strip().split(';') if kw.strip()]
                keyword_counter.update(keywords)
        
        # 按词频降序排序
        sorted_keywords = keyword_counter.most_common()
        
        # 写入CSV文件
        with open(output_file, 'w', encoding='utf-8', newline='') as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow(['Keyword', 'Frequency'])  # 写入表头
            for keyword, count in sorted_keywords:
                writer.writerow([keyword, count])
        
        print(f"成功生成词频文件:{output_file}")
        print(f"共统计到 {len(sorted_keywords)} 个唯一关键词")

    except FileNotFoundError:
        print(f"错误:输入文件 {input_file} 不存在")
    except Exception as e:
        print(f"程序运行出错:{str(e)}")

if __name__ == '__main__':
    # 使用示例
    count_keywords('keywords.txt', 'keyword_frequency.csv')

运行结果如下图所示:

在这里插入图片描述

第四步,利用DeepSeek生成计算词云的Python代码。

提示6:
假设您是一名数据分析专家,现存在CSV文件,包括关键词和词频,现在需要读取该文件内容,并绘制词云图将其进行可视化展示,调用PyEcharts库绘制词云。

在这里插入图片描述

完整代码如下所示:

import csv
from pyecharts import options as opts
from pyecharts.charts import WordCloud

def generate_wordcloud(csv_file, output_html="wordcloud.html"):
    """
    生成词云图并保存为HTML文件
    :param csv_file: 输入CSV文件路径
    :param output_html: 输出HTML文件名
    """
    try:
        # 读取CSV数据
        data = []
        with open(csv_file, 'r', encoding='utf-8') as f:
            reader = csv.DictReader(f)
            for row in reader:
                try:
                    keyword = row['Keyword'].strip()
                    frequency = int(row['Frequency'])
                    data.append((keyword, frequency))
                except (KeyError, ValueError) as e:
                    print(f"数据格式错误,跳过该行: {row}")
                    continue

        if not data:
            print("错误:未读取到有效数据")
            return

        # 生成词云
        wordcloud = (
            WordCloud()
            .add(series_name="关键词云",
                 data_pair=data,
                 word_size_range=[20, 100],  # 单词字体大小范围
                 shape="circle",            # 词云形状
                 rotate_step=45,           # 旋转角度间隔
                 )
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title="关键词词云分析",
                    subtitle="基于词频数据生成",
                    title_textstyle_opts=opts.TextStyleOpts(font_size=24)
                ),
                tooltip_opts=opts.TooltipOpts(is_show=True)
            )
        )

        # 保存为HTML文件
        wordcloud.render(output_html)
        print(f"词云图已生成:{output_html}")

    except FileNotFoundError:
        print(f"错误:文件 {csv_file} 不存在")
    except Exception as e:
        print(f"程序运行出错:{str(e)}")

if __name__ == "__main__":
    # 使用示例
    generate_wordcloud("keyword_frequency.csv", "keyword_cloud.html")

第五步,将生成的代码复制至编辑器中运行。

在这里插入图片描述

运行结果如下图所示,读者可以进行更丰富的拓展。

在这里插入图片描述


五.总结

写到这里,这篇文章介绍结束,希望对您有所帮助!

作为原创博客创作者和程序员,大模型对我们的影响极大,拥抱变化,紧紧跟随。本文主要带领大家了解什么是LLM、AIGC、DeepSeek和ChatGPT。基础性文章,希望对您有所帮助。后续作者会继续深入,分享更多LLM和AIGC内容,加油,共勉!

2024年4月28日是Eastmount的安全星球——『网络攻防和AI安全之家』正式创建和运营的日子,该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。

目前收到了很多博友、朋友和老师的支持和点赞,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,类目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!

(By:Eastmount 2025-02-22 夜于贵州 http://blog.csdn.net/eastmount/ )

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eastmount

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值