AI分析黑客松

1. 目的

根据图片和文字描述,寻找合适的香水,根据消费者调研数据中对香氛的感受,找到合适的的香水。

2. 数据分析

一条原始数据如下,对香氛的感受评价:

1
Lily,Dewy	White floral,Green leaf,Herbal,Watery / dewy	Clean,long lasting fresh,Oil control	Free,Natural,Young

首先对消费者的感受进行人群分析,利用AI读取所有感受数据,大概分出几个类别,类别如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
自然清新类(Natural & Fresh):

这类产品通常以自然元素如海洋、草本、水果等为香调,强调清新、自然的感觉。
产品效益可能包括清洁、保湿、控油等,适合追求自然生活方式和清新感受的消费者。
奢华优雅类(Luxurious & Elegant):

这类产品往往含有如玫瑰、香草、木香等高端香调,以及如长期保持清新、滋养修复等高端产品效益。
适合追求高品质生活、喜欢奢华感和优雅气质的消费者。
舒适舒缓类(Comforting & Soothing):

这类产品以舒缓、放松为主要情感体验,可能包含薰衣草、茶树等具有舒缓效果的成分。
适合需要减压、寻求舒适感和心灵平静的消费者。
活力年轻类(Vibrant & Youthful):

这类产品可能以柑橘、热带水果等活力四溢的香调为特色,强调保湿、增加头发蓬松度等效益。
适合年轻、活力充沛的消费者,他们喜欢充满活力和时尚感的产品。
专业护理类(Professional & Care):

这类产品强调专业护理效果,如抗断发、头皮护理、修复损伤等,可能含有专业成分和科技。
适合对头发护理有特定需求的消费者,他们寻求专业级别的产品来解决头发问题。

然后利用ChatGPT对每条数据进行分类, Prompt的设计如下:

1
2
3
4
5
你是1个人群分类模型,可以根据给出的用户体验,对用户进行人群分类,下面是一段香氛产品的使用体验,请根据使用体验把用户分到,自然清新类,奢华优雅类,舒适舒缓类,活力年轻类,专业护理类,这5类中的1种。并从体验评价中提取列举出能证明类人群的词语。回答的格式是: 类别:XXX类。词语:XX,XX
体验评价如下:
{{query}}
根据体验对用户分的类别是:

数据处理结果:

1
类别:自然清新类。词语:Fresh air, long lasting fresh, Hydration, Smooth, Scalp care, Enjoyable, Happy & pleasant, Skincare-ish。

3. 图片识别模型,ram-plus

用于对上传的图片进行理解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
def load_image_model(self,model):
"""
加载图片识别模型
Args:
model ():

Returns:
"""
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
self.device = device
self.model_names = []
if model == "both" or model == "ram":
self.ram_model, self.transform = self.load_ram_plus_model()
if model == "both" or model == "blip":
self.blip_model, self.blip_processor, self.prefix_text = self.load_blip_model()
def load_ram_plus_model(self):
# 加载RAM-PLUS模型
logging.info("加载RAM-PLUS模型...")
model_name = "ram_plus"
if not os.path.exists(model_name):
os.mkdir(model_name)
self.model_names.append(model_name)
model_path = "ram_plus_swin_large_14m.pth"
assert os.path.join(model_path),f"{model_path} not exists"
image_size = 384
model = ram_plus(pretrained=model_path,
image_size=image_size,
vit='swin_l')
model.eval()
model = model.to(self.device)
# 图像预处理实例初始化
transform = get_transform(image_size=image_size)
return model, transform
def load_blip_model(self):
logging.info("加载BLIP模型...")
model_name = "blip"
if not os.path.exists(model_name):
os.mkdir(model_name)
self.model_names.append(model_name)
model_dir = "blip-image-captioning-large"
assert os.path.join(model_dir),f"BLIP模型目录不存在:{model_dir}"
processor = BlipProcessor.from_pretrained(model_dir)
model = BlipForConditionalGeneration.from_pretrained(model_dir, torch_dtype=torch.float16).to(self.device)
text = "a photography of"
return model, processor, text

4. 设计基本的展示页面

初始页面:

点击image后可以上传图片,或者任意选择图片,对图片进行分析

点击分析后,对图片进行分析,并找到符合图片意境的香水

点击Document后,对已有数据进行展示

点击Analyze后,对消费者评论进行分析合适的香水, 对这种香水感觉进行绘图


AI分析黑客松
https://johnson7788.github.io/2024/03/07/AI%E5%88%86%E6%9E%90%E9%BB%91%E5%AE%A2%E6%9D%BE/
作者
Johnson
发布于
2024年3月7日
许可协议