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): 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后,对消费者评论进行分析合适的香水, 对这种香水感觉进行绘图