随着产业化的深入,商业搜索场景需要更深入理解业务,与业务结合。本文将介绍商业搜索场景中,围绕用户体验和商业收入提升,所做的技术迭代和升级。第一部分重点介绍业务场景和业务中的问题;第二部分介绍知识图谱的挖掘和应用;第三部分介绍大模型如何在知识图谱场景中进行应用和落地。

  用户搜索入口一般处于APP头部,因为搜索场景可以让用户很好的表达真实需求,是平台接触用户的第一大入口。

  行业内不同搜索场景有不同业务特性,下图为百度搜索,美团搜索,淘宝搜索场景的示例。对于网页搜索偏向于泛搜索,内容无结构化信息。对于餐饮和商品搜索,则偏向垂类搜索,其内容有结构化信息。

  对应 58 同城商业搜索场景,不同业务之间略有差异。整体上,因为是同城业务,都有强 LBS 约束,用户大部分场景只搜索所在城市的服务。对于黄页场景,因为用户来找服务,目标意图非常明确,相关性要求会比较高,同时商家内容为文本加图片信息,无结构化信息。对于招聘场景,用户来找工作,目标意图相对较明确,但可以给其推荐类似的工作,因此是搜索加推荐场景。对于房产业务,用户在不同找房阶段,目标不同,因此其意图可能发生变化,也是搜索加推荐场景。

  目前商家发布的内容信息为文本信息,其中包含商家所提供的服务内容,服务承诺,以及服务具体信息。但是对商家服务并未进行结构化,需要对文本进行语义理解和挖掘。

  因为在该业务场景下,用户意图十分明确,因此搜索结果需要有很高的相关性。而原有策略方案有两路召回,一路为切词Term召回,一路为向量化语义召回;这两路召回,召回率较高,但准确率较低,导致最终展示给用户的搜索结果相关性不足,体验不佳。

  针对黄页业务中的两个问题,我们的解法是对业务知识进行结构化。对于黄页业务,用户和商家的核心在于服务。通过对 query 抽样,我们发现80%的搜索词都是服务,因此我们重点对服务进行结构化。

  问题定义:NER(命名实体识别)。与传统 NER 不同的是,我们需要自定义一个实体类别,即服务实体

  服务实体定义:商家所提供服务,一般为动名词组合;如冰箱维修,开锁,搬家,管道疏通

  第一阶段,使用传统模型 CRF 进行实体识别,使用语料来源于热门搜索词,其准确率相对较低(75%),因此经过人工审核。上线后头部相关性提高,通过提高用户体验带来了商业收入提升。本阶段通过快速上线,验证了结构化信息的作用。

  通过 Electra + CRF 的方案,大幅提高准确率(90%),并将实体库数量扩充到 10w+;此时,文本中的大部分实体可通过直接匹配的方式进行识别。

  经过数据分析,实体召回能覆盖70%曝光,但依然有30%曝光未被覆盖。分析这部分曝光内容,发现序列标注方案无法覆盖非连续实体。例如【本公司提供空调、冰箱、洗衣机等家电维修服务】,直接匹配只能匹配到【家电维修】实体,而【空调维修】、【冰箱维修】、【洗衣机维修】这些实体,需要通过语义进行挖掘。

  相对于传统模型,大模型的语义理解能力更强,且生成范式可以解决非连续实体挖掘的问题。通过构造业务 prompt 数据微调,准确率可以达到 92%;经过第三阶段,实体召回曝光占比得到进一步提高。

  • 方案:PaddleOCR;通过 OCR 提取图片中文本,然后再进行实体识别

  经过数据分析发现,平均每个商家有20+ 图片,图片中有一些服务信息。因此通过 OCR 提取文本信息,进一步匹配服务实体,也带来一定业务提升(Cash/UV+20%)。

  经过 4 个版本的迭代,我们通过完善图谱,将服务数据结构化,从而提高了搜索结果的相关性,对用户体验有很大的提升,因此带来了商业收入与链接的提升。

  问题:在挖掘服务实体的同时,我们发现对于同一个服务,不同用户之间,以及用户和商家之间,有不同的文本描述,因此需要在语义上进行统一

  方案:训练时,人工标注的同义对作为正样本,随机抽样实体对作为负样本,通过 Bert 模型同义对分类模型;推理时,先从实体库中用 fasttext 粗筛一批候选同义对,再经过训练好的 Bert 模型,根据阈值取 TopN

  挖掘出的服务实体和实体同义落地于搜索场景的召回、排序、相关性过滤、创意、投放各个链路中

  召回场景:服务实体作为主要的召回路;通过对Doc侧实体识别,建立倒排索引;Query侧进行实体识别后,通过同义实体簇进行召回

  • 服务实体挖掘场景,NER任务需要较多标注数据,借助大模型可以减少标注成本

  • 服务承诺挖掘场景,该场景需要更强的语义理解能力,大模型可以更好的完成任务

  背景:知识图谱应用中,服务实体挖掘,以及 Doc 侧服务实体识别,使用传统 NER 方案无法解决非连续实体的问题。而大模型的强语义理解能力,以及生成范式的适配性,可以很好的解决传统方案的问题。

  如下图,对文本【上门维修冰箱、电视、洗衣机等家电】进行服务实体提取,序列标注方案无法进行提取,基于SPAN的NER可以提取,但长文本下复杂度较高。而生成式大模型可以很好解决这类问题。

  针对此类问题,我们通过大模型对详情文案中实体进行挖掘。考虑到微调需求以及算力性价比因素,大模型选择 GLM3 的 6B 模型,一张3090显卡即可进行微调实验。微调方式使用了开源方案中默认的 ptunningv2。

  • 根据对话的 badcase,提供一些约束规则。例如商家描述中有时会携带地名,可以在规则中禁止返回地名

  你是一个出色的文本关键词提炼工具,我是一个寻找本地生活服务的用户,正在从商家描述中寻找商家可提供的服务项目。商家服务项目是商家可提供的服务内容,可以解决我遇到的生活难题,如同城搬家、附近开锁;商家服务项目不是商家提供服务项目时提供的服务承诺或者商家的服务特色。请你根据上述我对商家服务项目的定义,帮助我从商家文本提取商家服务项目关键词。要求:

  4)输出的词是由动宾结构组成的复合短语,每个短语都描述了一种具体的服务或行为,如维修自动门、同城搬家、道路救援;

  高价回收黄金首饰、铂金钯金、足金回收千足金、金条项链手镯耳环戒指、钻戒。支持上门回收丨黄金免费上门无上门费 免费鉴定 不压价国际行情价黄金、金银首饰回收【黄金】1、黄金回收:千足金、足金、24k、22k金、20k金、18k金、万足金、14k金、金条、金砖等所有黄金。

  回收黄金首饰、回收铂金、回收钯金、回收千足金、回收金条、回收项链、回收手镯、回收耳环、回收戒指、回收钻戒、回收黄金、回收金银首饰、足金回收、金条回收、金砖回收

  随着微调数据量提升,准确率有所提升:此处过滤非实体文本规则是根据 badcase 定制业务规则

  可以看到随着训练样本数增加,准确率可以线性增长。但有一定天花板,这跟大模型容量有关。

  • 推理侧定时获取每日新增商家内容信息,进行推理,输出帖子与服务实体关系

  背景:挖掘商家服务实体过程中,发现商家描述信息中有一些承诺信息未结构化,希望将其挖掘后在列表页露出展示给用户,一方面可以展示商家的优点,另一方面方便用户筛选商家。

  服务承诺定义:商家对服务的承诺,有一定特色,如下图横线: 服务承诺定义示例

  • 分段式抽取;对于复杂任务,思维链模式下效果更好;因此先生成摘要,再抽取承诺;与服务实体相同,进行 1shot 提示

  • 分类目挖掘;因为不同类目下商家描述格式有所不同,模型学习不够全面,因此准确率只能到80%+;分类目微调,每个类目300个样本进行微调后,准确率可收敛到90%+;因为黄页类目有200+,我们只选取 Top 类目进行微调

  该项目推全后,带来的业务收益为Cash/UV+10%;APP展示效果如下:

  在大模型落地的2个场景中,通过优化用户体验,带来10w+/日的商业收益。但大模型升级中依然面临一些技术挑战。大模型落地过程中,优先考虑将准确率提升到90%+,但长文本下有召回率不足的问题,未来需要通过加强大模型对长文本的理解进行优化,对此我们将结合业务场景,持续进行探索。