香氛chat的数据收集工作

一、目的

为了构建一个可用于香氛领域推荐和问答的bot,我们首先进行数据收集工作。收集的数据分为2个部分,1是香氛的基础知识。2是香氛的产品知识。基础知识可以用于微调LLM模型,产品知识可以用于RAG数据增强问答。

二、产品知识的数据收集工作

为了收集香氛的产品知识数据,我们选择从京东,天猫,香水世代获取数据。

京东,天猫,由于防范能力太强,我们选择半自动获取。我们需要将所需的商品页面保存为html文件,然后通过上传到我们开发的标注工具中,自动解析html文件,获取需要的字段,然后保存到数据库中。界面如下:

表结构如下:

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
CREATE TABLE `Product` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
`name` varchar(255) DEFAULT NULL COMMENT '商品名称',
`english` varchar(255) DEFAULT NULL COMMENT '商品英文名称',
`brand` varchar(255) DEFAULT NULL COMMENT '品牌',
`alias` varchar(255) DEFAULT NULL COMMENT '别名',
`specs` varchar(255) DEFAULT NULL COMMENT '规格',
`category` varchar(255) DEFAULT NULL COMMENT '类别',
`price` float DEFAULT NULL COMMENT '价格',
`fragrance_degree` varchar(255) DEFAULT NULL COMMENT '香味浓烈',
`gender` varchar(255) DEFAULT NULL COMMENT '适用性别',
`tone` varchar(255) DEFAULT NULL COMMENT '香调',
`btone` varchar(255) DEFAULT NULL COMMENT '前调',
`mtone` varchar(255) DEFAULT NULL COMMENT '中调',
`atone` varchar(255) DEFAULT NULL COMMENT '后调',
`fragrance` varchar(255) DEFAULT NULL COMMENT '香味',
`scene` varchar(255) DEFAULT NULL COMMENT '场景',
`distinct_smell` varchar(500) DEFAULT NULL COMMENT '明显的气味',
`url` varchar(255) DEFAULT NULL COMMENT '网页url',
`features` varchar(255) DEFAULT NULL COMMENT '特点',
`introduce` text DEFAULT NULL COMMENT '简介',
`image` varchar(255) DEFAULT NULL COMMENT '商品图片路径',
`mht` varchar(255) DEFAULT NULL COMMENT 'mhtml文件路径',
`create_time` datetime DEFAULT current_timestamp() COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COMMENT='香氛商品';

香水世代我们选择全自动获取。

  • 使用playwright获取数据。
  • 根据品牌和品牌页的链接获取品牌下的上面,一页是10个商品,逐个自动点开获取每个商品的详情和图片信息。
  • 自动点击下一页获取的10个商品,直至最后。
  • 使用微信或微博关联账号缓存cookie信息。
  • mongo临时存储爬取数据,同时方便实时检索爬取进度,当发现已爬取过的商品时,不在进行打开商品页面。

数据收集效果展示

接下来进行香氛的知识类数据收集和数据的整理

三、 LLM prompt和数据维度

Prompt:

你的名字是BeautyChat2.0,被xx科技有限公司开发,你是一个香氛领域的专家,能够深思熟虑并且专业的解答任何关于香氛的问 题,包括香氛知识和香氛产品推荐等,你的回答风格是有趣的,已经为你提供了一个关于香氛商品的文档,根据用户的问题选择合适的时机可以查看香氛商品库,香氛商品库的主要包括不同品牌的商品,每个商品包括了产品名称,规格,价格,适用性别,香调, 前中后调,香味,用户闻到香水时的香味感受,同时感受到的香味情绪,想象到的香味画面,合适的香味使用场景和香味特点以及商品的店铺链接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    {
"产品名称": "观夏三重茶",
"英文名": "To summer Triple Tea",
"别名": "观夏三重茶",
"品牌": "观夏",
"规格": "30ml",
"价格": "498.0元",
"浓度": "浓香水EDP",
"适用性别": "中性香",
"香调": "茶香木质调",
"前调": "马黛茶 绿茶",
"中调": "红茶 紫罗兰 茉莉花",
"后调": "岩茶",
"香味": "柑橘 清新辛辣 芳香植物 绿叶",
"香味感受": "深沉,甜润,百搭,甜蜜,茶叶,龙井茶香,清凉,皮革,苦,干净,苦涩,柠檬,温柔,晚香玉露香,回甘,薄荷,茉莉花香,闻多了腻和晕,茉莉绿茶,微苦,好闻,木质,清冷绿意,清新自然,烟草,绿茶,淡雅香醇,茶味,茉莉花,甜美,清甜,醇厚,柑
橘,干净清爽",
"香味情绪": "自然又纯粹,倦拥,治愈,有雅韵的气质,轻盈不沉闷,儒雅,感动,安稳又上头,舒展,混合着大自然清香,干净阳光,优雅",
"香味画面": "情侣茶会,Miller Harris 莓果缪斯,电影画面,温暖,带有露水的阳光,远离城市喧嚣,帕尔玛之水 藏红拂晓,波斯
城堡,LE LABO 13,享受茶园纯天然香气,茶园,草木间闲庭信步,一片秘境,抚慰",
"香味场景": "茶馆,炎热的夏天,外出,雨后树林,温和春日,夏季,摇篮,下雨潮湿的夜晚,庭院,休闲,绿叶系,路上闻到,没有城市喧嚣的地方,湿润的草地",
"特点": "东方茶香,从茶山飘落到锁骨,呼吸之间,与茶同在。",
"链接": "https://detail.tmall.com/item.htm?abbucket=11&id=676012504457&rn=760fb2aa967606ede8027516fab139b9&spm=a1z10.3-b-s.w4011-24426768373.139.5a6435d7t1Pawn&sku_properties=1626520:364672102;1626521:437624087"
},

猜你想问的prompt

1
2
3
4
5
6
7
8
9
10
11
12
你是一个可以根据给定内容生成问题的机器人,下面是一对用户提问和回答内容,请根据用户提问和回答,请写出用户可能还想问的3个相关问题。返回的格式类似这样,每个问题是1行,开头用Q加上序号表示。Q1:xxx\nQ2:yyyy\Q3:zzzz。现在开始:
用户提问:你知道哪款香水的味道是橘子味吗
回答:噢,橘子的香味,那真是晴朗又可口哦!有款香水叫做“观夏昆仑煮雪”,它具有一丝丝的柑橘香味,在其他木质和芳香
植物调性的映衬下,给你的嗅觉带来一种清新辛辣的体验。想象这样一个场景:微风中带来凉爽的橘香,就像一个炎炎夏日的
避风港。使用这款香水,无疑会带来一股清新潇洒的气氛【13†source】。\n如果你想了解更多或者购买这款产品,可以点击这
个链接进行探寻:[观夏昆仑煮雪香水](https://detail.tmall.com/item.htm?abbucket=11&id=676539654541&rn=760fb2aa967
606ede8027516fab139b9&skuId=4859629692517&spm=a1z10.3-b-s.w4011-24426768373.74.5a6435d7t1Pawn)。开启橘子香氛之>
旅,你准备好了吗? 🍊✨
输出示例:
Q1: 这款香水的价格是多少?
Q2: 除了橘子味道,还有哪些香调?
Q3: 这款香水适合哪些场合佩戴
1
2
3
4
5
意图判断prompt
const messages = [
{ role: 'system', content: '根据用户的提问判断用户的聊天意图,如果涉及到了商品或香水,请返回是,否则返>回否。只返回是或否即可。' },
{ role: 'user', content: `用户的提问: ${question}` }
]

四、测试问答效果

五、问答界面设计

  1. 当商品推荐时,支持返回的答案中涉及的商品信息,返回3个商品信息,非商品推荐时,不返回任何商品信息。
  2. 当给用户回答完商品相关问题的时候,返回猜你想问。

代码: https://github.com/johnson7788/openai-assistants-api-multi-user-sample

六、基于用户给定的图片进行问答


香氛chat的数据收集工作
https://johnson7788.github.io/2023/11/16/%E9%A6%99%E6%B0%9Bchat%E7%9A%84%E6%95%B0%E6%8D%AE%E6%94%B6%E9%9B%86%E5%B7%A5%E4%BD%9C/
作者
Johnson
发布于
2023年11月16日
许可协议