Twitter-Insight-LLM:抓取Twitter数据并可通过自然语言搜索图像

Twitter-Insight-LLM 是一个开源项目,主要功能包括从Twitter抓取数据、基于嵌入的图像搜索,以及其他一些数据分析和处理功能。

同时利用LLM还能对Twitter数据进行深入分析,支持多种功能,包括数据可视化和图像标注。

主要功能

  1. Twitter 数据抓取

    • 功能:使用Selenium自动化工具从Twitter用户的账户中抓取他们点赞的推文,并将数据保存为JSON和Excel文件。
    • 实现方式:通过模拟浏览器操作,登录用户的Twitter账户,自动导航到用户的点赞页面,并抓取相关数据。
    • 输出:抓取到的数据会被保存为JSON格式和Excel文件,便于后续的数据分析和记录。
  2. 基于嵌入的图像搜索

    • 功能:允许用户使用自然语言描述来搜索图库中未经标注的图像。功能支持多语言,但在英语中的效果更佳。
    • 实现方式:利用图像嵌入技术,将图像和文本描述转换为高维空间中的点,通过计算点之间的距离来找到最匹配的图像。
    • 应用:这项功能支持多语言查询,特别适用于需要快速找到特定图像的场合,如媒体行业和内容创作者使用。

      例如,以下是搜索 “黑猫”(中文)的结果,但您也可以搜索 “照片中的一群人”、”工作流程图 “或 “悲伤 “等更抽象的概念。

  3. 数据分析和可视化

    • 功能:对抓取的Twitter数据进行初步的分析和可视化。
    • 实现方式:使用Python的数据分析库(如Pandas和Matplotlib)来处理数据和生成图表,例如按时间和媒体类型分析点赞趋势,或生成喜欢的推文的日历热图。
    • 应用:帮助用户洞察自己的Twitter活动模式,或用于市场分析和社交媒体策略制定。

  4. 图像标注

    • 功能:为保存的Twitter图片自动生成描述性文字。
    • 实现方式:使用OpenAI的API,结合大型语言模型来生成关于图片内容的描述,这些描述会根据图片的视觉内容自动产生。
    • 应用:适用于需要快速生成大量图像标注的场景,如内容管理系统或自动化社交媒体管理。

工作原理

1. 数据抓取

  • 使用Selenium:项目首先使用Selenium,这是一个自动化测试工具,用于模拟用户在浏览器中的行为。通过Selenium自动登录Twitter账户,导航至特定的Twitter页面(如用户的“喜欢”列表),并抓取数据。
  • 保存数据:抓取的数据包括推文内容、媒体(如图片和视频)链接等,这些数据随后被保存为JSON格式和Excel文件,方便后续的处理和分析。

2. 基于嵌入的图像搜索

  • 图像和文本嵌入:项目使用预训练的深度学习模型来生成图像和文本的嵌入向量。这些嵌入向量是高维空间中的数值表示,能够捕捉图像的视觉内容和文本描述的语义内容。
  • 搜索和匹配:当用户输入一个自然语言描述时,系统将这个描述转换为嵌入向量,并与数据库中的图像向量进行比较,找出最相似的图像。

3. 数据分析和可视化

  • 分析脚本:项目包含Python脚本和Jupyter Notebook,用于加载抓取的数据,并进行初步的数据分析,如统计分析、趋势分析等。
  • 可视化:使用图表库(如Matplotlib)在Notebook中生成可视化图表,帮助用户直观理解数据特征和趋势。

4. 图像标注

  • 使用OpenAI API:对于Twitter数据中的图像,项目可以利用OpenAI提供的语言模型API生成图像的描述性标注。这一步骤通过分析图像内容,并生成相应的文本描述,增加了图像的信息价值。

技术和工具

  • Python:项目的主要编程语言,用于写脚本和处理数据。
  • Jupyter Notebook:用于交互式数据分析和展示结果。
  • Selenium:用于网页数据的自动化抓取。
  • OpenAI API:用于生成图像描述和其他语言模型相关的功能。

GitHub:https://github.com/AlexZhangji/Twitter-Insight-LLM

退出移动版