作者:Maarten Grootendorst
翻译:陈超
校对:赵茹萱
本文约3200字,建议阅读5分钟
本文介绍了使用图片主题进行建模。
主题建模是一种允许用户在无监督情况下,在海量数据当中寻找主题的一系列技术合集、在这些文件内容当中尝试建模并跑EDA模型的时候是非常冒险的一种行为。
之前我发明了一个主题建模技术叫做BERTopic,这种技术可以利用BERT和基于类的TF-IDF来创建密集的类用于易解释主题。
一段时间之后,我开始思考它在其他领域的可解释性,比如计算机视觉。如果我们可以将其应用于图片主题建模那将是一件多么酷的事情呀!
图片主题建模,你需要做的一切。图片来自作者
这件事确实花了一些时间,但是若干实验之后,我想到了解决方法:Concept!
Concept是一个同时介绍图片和文本主题建模概念的包。然而,由于主题通常指的是文本或者口语,它通常不能很好地涵盖图片组的含义。我们这里将图片组和文字都定义为概念。
概念的logo。图片来自作者
因此,Concept包可以做Concept建模,这种建模是一种统计模型,用于在图片集合以及相应文件当中发现抽象的概念。
概念模型是图片和文本主题建模的泛化
为了让你更好地了解,以下是从概念建模当中抽取的概念:
由概念建模生成的多模态概念。图片来自作者
如同你注意到的,我们可以通过他们的文本表征和视觉表征来解释这些概念。真正的概念建模可以通过结合这些表征来提取。
概念建模允许一种概念的多模态表征
一图胜千言。但是如果我们给图片增加文字呢?两类交流方法的协同作用(synergy)可以丰富概念的解释和理解。
概念建模指南
Concept是一种利用CLIP和基于BERTopic技术来对图片和文本进行概念建模的工具。
(https://colab.research.google.com/drive/1XHwQPT2itZXu1HayvGoj60-xAXxg9mqe?usp=sharing)
在本文当中,我将带大家了解如何用Concept包构建你自己的概念模型。你可以跟随上方的Google Colab notebook链接一起学习。
第一步:安装Concept包
我们可以通过PyPI轻松安装Concept:
pip install concept
第二步:准备好图片
为了进行概念建模,我们需要一些图片来聚类。我们将在UNsplash上下载25,000张图片,这些图片已经被Sentence-Transformers包整理好了。
import os |
|
import glob |
|
import zipfile |
|
from tqdm import tqdm |
|
from sentence_transformers import util |
|
# Downloa |