poi是什么意思(poi运营指什么)

POI是“兴趣点”的缩写,中文可译为“兴趣点”。在地图上,POI可以是房屋、商店、公交车站、湖泊、道路等。在地图搜索场景中,POI是检索对象,相当于网页搜索中的

POI是“兴趣点”的缩写,中文可译为“兴趣点”。在地图上,POI可以是房屋、商店、公交车站、湖泊、道路等。在地图搜索场景中,POI是检索对象,相当于网页搜索中的网页。在地图客户端,当用户选择一个POI时,一个浮动的气球将指向该POI。

poi是什么意思(poi运营指什么)

如上图左边所示,这个商场的屈臣氏是一个POI;所谓类别标签,就是POI属性在类别维度上的概括。比如屈臣氏品类标签化妆品,而屈臣氏所在的凯德商城,品类标签是商场;右边是商店查询搜索召回的一系列poi,所有poi都有与查询匹配的类别属性。

图中还展示了类别标签的两个主要使用场景:为用户提供丰富的信息,支持决策;一方面,在前端为用户展示更丰富的信息;另一方面,支持搜索的类别搜索需求;主要是地图场景查询和POI两边都有丰富的多义词表达。通过传统的文本匹配引擎或简单的同义词泛化很难达到目的,因此挖掘标签作为召回和排序的基础。

我们的品类体系建设主要基于以下几点:

用户实际的query表达,主要为了支持用户的搜索需求;真实世界的客观类目分布,以及pm对该分布的认知;不同标签间的从属、并列关系。

最终,每个品类都会构建一个多层次的多树体系,比如购物品类的划分:

poi是什么意思(poi运营指什么)

类别标签建设的难点

我们的目标是标记,也就是将POI映射到上述类别树体系的各个节点。显然,这是一个分类问题,但不是一个简单的分类问题:

多标签问题:屈臣氏打上化妆品的标签,是一个一对一的映射;而部分POI,可能同时具有多个标签,比如汤泉良子,可以洗浴、按摩、足疗;xx家具店,打上家具店标签同时,必须打上其父节点家居建材标签。整体上,这是一个多标签问题,而不是多分类问题;文本相关问题:大多数的POI具有比较直观的文本标题,比如小牛电动车、海尔专卖店、东英茗茶、熙妍精衣、新生贵族,通过名称文本分析,可以预测出比较正确的结果。另一方面,又不是纯文本问题,比如苹果专卖,仅从文本无法确认是一个手机店,还是一个水果店;还有一些表达,比如老五批发,低频表达或者不含类别信息,则需要引入其他特征来进行解决;综合性问题:算法可能解决主要问题,但现实世界的复杂,通过单纯的算法是难以完全覆盖的,比如酒吧中夜店和清吧的区分,三甲医院、汽车4S店的打标,低频品牌的识别等,通过受限的样本和特征无法尽数解决,但又无法置之不理。

此外,应用端对标签的准确调用和输出率也有较高的要求:标注准确率低可能导致召回错误的POI当用户搜索时;如果覆盖率低,可能会错过用户的预期结果;要建的大类有20+个,每个大类又有几十个子标签,有上千个标签。为了获得有效的利润,必须以高速度、高效率和有保证的准确性进行标记。

综上所述,我们要解决的类别标签标注的主要问题是一个多标签分类问题,主要利用文本进行识别。但是,有必要引入其他非文本特征或手段来圆满解决它。

技术方案

总体方案设计

poi是什么意思(poi运营指什么)

如图所示,为了高效地完成打标,我们设计了主要流程模块,描述如下:

特征工程:文本特征解决最主要的打标问题,但同时地图场景下POI文本偏短,长尾分布广泛,具有较多的低频文本或者完全不含类目信息的低频品牌等,而评论、简介等长文本描述往往偏于高频,而难点在于解决低频。因此特征设计上,尽可能使用一些通用特征,比如POI名称、typecode(生产方维护的另一套分类体系)、来源类别(数据提供方的原始零件类别)、品牌等通用特征;对于高频专有特征或数据,一般不在通用模型中进行识别;样本工程:样本的挖掘和清洗、以及模型的设计也是旨在解决通用性的打标问题,POI表达的多样性,而同时标签数量极多,导致需要的样本量也极大,标注成本较高时,必须考虑人工标注之外的样本来源;分类模型:单纯的文本分类模型,不能解决非文本的问题,同时多标签的问题,也不能单纯使用多分类模型来解决;我们设计了多种贴合业务的模型改造工作;多路融合:分类模型能解决主要的问题,但不是全部问题。在地图场景下,总有些算法之外的待解问题,如5A景点、三甲医院,以及各类品牌,模型难以尽数处理。我们设计多路打标,如品牌库对品牌效果进行兜底,引入外部资源批量解决非算法问题,引入专项挖掘解决非通用的打标类别等等……总体上对模型之外的问题引入外部知识辅助进行打标,从整体上收敛问题。

稍后,我们将重点讨论业务的主要难点以及样品和模型方面的主要工作。

样品工程

样品和清洗

样本方面,经过一些实验论证,标签数量多,每个标签需要大量样本,人工标注几乎无法满足要求。因此,考虑主要使用点击日志和一些现成的外部资源:

点击日志数据量大,能够循环产生,同时反映了用户最直接的意图;缺点是含有的噪声大,同时用户点击往往偏向于高频,低频表达较为稀缺;外部资源数据量小,但多样性较好,能够弥补点击数据在低频表达不足的问题。

通过引入这两方面的样本,我们很快得到了上百万的原始样本。这么大数量的样本,即使清洗,依然是一个巨大的工作量。为了有效地清理样本,我们设计了一个结合主动学习的两级模型:

poi是什么意思(poi运营指什么)

在引入两个初始样品后:

首先对数据进行抽样清洗,并将清洗过程抽象为业务规则,进行全局清洗和迭代;当整体系统且明显的噪声趋于收敛后,我们通过对剩余数据进行划分,每次抽取部分数据建模,对另一部分数据进行识别,然后对识别不好的一部分数据进行人工标注;如此反复迭代多轮。

通过一种类似主动学习的方式,可以最大化人工标注的价值,避免低信息量的重复样本重复标注造成的人力浪费。

下面具体介绍一下挖掘点击样本的思路。

单击示例挖掘

点击日志凝聚了无数用户的需求和智慧,大部分搜索业务都能从中挖掘出最原始的训练样本。对于当前的挖掘业务,首先要解决的问题是样本表达的不一致性。具体描述为:

点击数据:查询->;POI: tag->: POI解决方案:tag->:query-& gt;如下图,要挖掘内衣的样本集,手工定义标签映射的查询集种子查询,然后通过这个查询集调出对应的点击样本,可以直接作为标签内衣的样本。

poi是什么意思(poi运营指什么)

在实践中,我们加入了种子查询到泛化集的映射,即人工定义的高频查询集泛化到更大的同义词集后,同义词集会召回点击样本。起点是:

高频查询主要针对高频样本,要解决的难点在于低频表达式的挖掘。因此,将查询从高频推广到低频,从而通过低频查询回忆低频样本表达式,如丝袜扩展到休闲棉袜、内衣扩展到维多利亚、都市丽人等。

查询的泛化过程:

查询的泛化需要通过高频集对相近含义进行低频表达,同时需要保证不会出现过度的语义扩散,导致泛化集偏离标签原有语义。我们主要尝试了以下方案:

word2vec:通过对点击或外部语料学习word粒度的向量表达,对query中的多个word进行maxpooling,得到query的向量表达,再通过query向量去全量集合中搜索向量距离近的其他query。该方法的主要问题是通过word粒度的embedding刻画的query表达,在泛化过程中不太受控,容易引入大量的噪声,清洗难度大,同时存在显著case的漏召。同义词:该方法召回非常受限,且得到的query不一定符合用户的自然表达。Session上下文:地图场景的session普遍较短,召回受限且语义有偏离,准召均不高。推荐方法:继续考虑点击日志的挖掘,将各个query比作user,点击的POI作为item,考虑引入推荐的思想进行相似query挖掘——即点击相同或相似POI的query具有某种程度上的相似性,而query和POI点击关系天然构成一个社交网络,由此参考了两种基于图的推荐方式:SimRank,通过query与POI间的点击关系形成二部图,两个节点间的相似度由他们共同关联的其他所有点加权平均得到,通过反复迭代多轮后,相似度趋于稳定,得到两两query间相似度;

poi是什么意思(poi运营指什么)

a和B代表图中的两个节点,自相关度定义为1,即s(a,a)=1。I(a)和I(b)表示连接到ab的节点集。对于不同的A和B,它们的相似性被描述为:

poi是什么意思(poi运营指什么)

DeepWalk,是一种学习网络中节点的表示的新的方法,是把language modeling的方法用在了网络结构上,从而使用深度学习方式学习网络中节点间的关系表示。类似simrank方式,通过query与POI间的点击关系构成点击网络,在点击网络上进行随机游走,通过对游走片段的学习,得到query的向量表达,再通过向量表达计算query的相似召回。

poi是什么意思(poi运营指什么)

方法的两个推荐方案中,simrank的计算量巨大,在少量数据上的实验经历了漫长的迭代,而数千万点击数据的计算资源和时间会变得巨大,成本不经济;并且DeepWalk随机行走方法在实际测试中取得了不错的效果:

poi是什么意思(poi运营指什么)

比如原来的查询是paint,可以泛化它的子类和品牌,而ETC可以得到一些局部的命名表达式。

与将查询分割成词后学习词粒度嵌入表达式不同,DeepWalk直接学习整个查询,即句子的表达式,避免了将查询分割成多个词再进行池化的过程中出现语义偏差;而且直接查询粒度表示学习,得到的挖掘结果更符合实际在线表达,方便我们后期回忆点击POI样本的操作;同时,粗粒度学习会对网络节点间的社会关系有更好的保留。

总体来看,通过查询泛化步骤,样本集的低频表达率有了明显的提高。

模型设计和迭代

行业内类似场景使用分类解决标记问题是通行做法。从业务的角度来看,我们需要模型解决的标记数据的类别主要分为四类:

高频后缀识别低频后缀识别品牌识别非文本识别(typecode、来源类别等)

前三类可以使用纯文本分类模型,但非文本特征不能被文本模型直接整合;同时,样本数据具有前期噪声大、分布不均匀的特点,需要加以考虑。

层次分类

前期采用多分类模型解决分类问题。对于每个非叶子节点,构建一个多分类器,从根开始,输出到最后一级作为叶子节点。它的特点是直观,与标签系统相匹配。

这种方法有明显的缺陷:方案结构复杂不稳定,维护困难,样本组织相当复杂;上级分类模型的错误和遗漏会层层影响下级的分类效果。

每个标签分为两类。

业务前期受限于优化前的搜索效果,样本集有一定的噪音。同时,系统在调查期间会不断迭代优化,这就需要一个解释能力强、兼容变化、直接支持多标签的模型。

所以我们尝试为每个标签训练二元分类模型,将待识别POI预测的所有二元分类模型的结果组合起来使用,然后进行后续的业务逻辑构建。该方法解决了业务的多标签场景,避免了同一兴趣点的多个标签之间的冲突。

样本方面,使用ovr组织样本,可以调整样本的比例(正负例比例,负例比例等。),这与业务样本的不平衡是兼容的。

统一模型

单标签的两类模型有很好的可解释性,每个标签建模带来的灵活性,很好的匹配了业务的前期需求,快速提升标签效果,收敛了很多不良的上线案例。同时,与原有的人工专家规则方法相比,召回率明显提高,效率也提高了十几倍。

前期为了推广业务,采用简单的二元分类模型,快速解决主要问题。随着搜索结果的不断完善,商家对质量的要求也越来越高。然而,LR二元分类模型仍然存在一些问题:

使用词袋特征,维度膨胀特征选择造成低频特征损失泛化性能一般,需要大量建设业务规则独立建模,标签间的关系识别不充分(父子、共现、互斥)负样本大量降采样,浪费样本模型数量极多,维护成本高

为了达到更好的效果,需要对深度模型进行升级。对于深度文本分类,常用的模型有cnn、rnn和各种基于注意力的模型,而注意力模型主要解决长文本的深度语义理解。我们的业务场景需要解决短文本简单语义的泛化。考虑到需要结合非文本特征以及分类效率的考虑,我们选择了textCNN模型。

TextCNN是纯文本多分类模型,无法解决多标签情况,无法兼容非文本特征。同时,样本的不平衡也导致小样本类别学习不足。为了配合实际业务,我们对原有的textCNN业务进行了改造,如下图所示:

poi是什么意思(poi运营指什么)

原textCNN在文字嵌入和卷积核池化后直接用softmax对文本进行分类,但在当前业务下:

将文本表示经过池化后,拼接了外部的其他非文本特征,对文本使用深度的特征提取与表示,而简单的非文本特征使用类似wide&deep的方式接入,共同参与预测;softmax只能输出归一化的预测结果,不适用与多标签场景;通过改造输出层,使用多路的sigmoid输出,每一路输出对应一个标签的预测结果;对同一样本多标签的情况进行了压缩,多个label合并为一个向量;重新设计损失函数,多分类交叉熵不适用于多个二分类输出未归一化的场景。

这样多标签场景&非文本特征获取问题,同时使用深度模型达到更好的泛化效果。

另一方面,所有样本都在同一个模型中训练,原始样本的不平衡造成了一些负面影响。比如家居建材、服装鞋包等大类的样品有几十万,而劳保用品、美容用品等标签的样品只有几千。训练时很容易直接丢弃对整体准确率影响不大的小样本集。因此,为每个样本集计算权重:

poi是什么意思(poi运营指什么)

K是类别K中的样本数,H是平滑超参数。实际上,类别中的样本数量越少,权重就越大。将类别权重添加到损失函数:

poi是什么意思(poi运营指什么)

λ1和λ2分别表示文本特征和非文本特征的正则化约束比重因子。

修改和优化后:

poi是什么意思(poi运营指什么)

以上标签在样本数量上差别很大,但分类效果维持在相对较高的调用率。此外,我们还根据修改后的模型开发了模型解释工具。对于一些不符合预期情况,您可以通过解释工具直接观察它们:

分类时起主要作用的因子,是文本特征,还是非文本特征,以及具体是哪个特征及其value显示;如果是文本特征,显示权重最大的若干个卷积窗口位置,以及具体窗口中每个term的权重

有了这个工具,在使用深度模型预测时,可以像LR一样保持解释,方便定位和迭代。

综合来看,textCNN经过上述业务改造和迭代后,随机数据的准确率提高了5%以上,而业务规则减少了66%。同时,在长尾情况下(低频文本,品牌)取得了明显的效果。

poi是什么意思(poi运营指什么)

相关著作

本文主要介绍我们在类别标签构建方面的一些工作。

另一方面,如果category标签在地图搜索中是有效的,则有必要使用该标签来识别需要调用哪个查询。前期我们在高德地图的搜索头中手工标注了查询与标签的对应关系。然而,手动贴标方法的覆盖范围总是有限的:

不能取得中低频query的标签召回收益,从而标签利用率不够高;对于应该使用标签召回的query,如果因为未能识别而使用文本召回,也影响了线上的效果,降低用户体验,造成badcase。

所以在系统构建完成后,我们又建立了一个模型,主要是利用文本语义和点击的特征,来识别查询和标签对应的召回关系,也就是识别哪些查询可以被类别标签召回。通过这一系列工作,深入挖掘低频标签召回,高德地图中用于类别搜索流量的标签召回率高达94%。

收益

标签生产出来后,需要进行两方面的评估:

从输出数据的质量上,即本身标签的准确率和覆盖率:

poi是什么意思(poi运营指什么)

优质的数据不仅有利于搜索的业务支撑,也有利于我们的品类标签体系在整个BU的推广和落地。

上线后对线上泛搜实际query的搜索效果提升评估:

除了数据质量的评估,还会结合新标签数据对搜索效果进行评估,即新标签系统和旧标签系统的对比效果评估。在人工效果评测中,gsb效果,即每个品类的线上数据,带来了非常明显的品类搜索质量的提升,从而使搜索更加精准全面,辅助用户决策。

小结

目前工作的重点是利用通用特征解决学科类别标注问题。对于一般特色无法解决的问题,往往通过外部知识和资源的建设来解决,比如品牌库的建设,A级景区的资源收集等。

事实上,除了通用特征,非通用特征在提高部分数据分类效果方面的应用并不充分,后续还应安排一系列专门的优化,如:

评论、简介等特征,应用一些Attention方法,可能取得比较好的补充效果;POI图片中往往隐含一些类别相关信息,对图片识别可以充分利用这些信息;外部百科、知识图谱等知识的引入,辅助中低频品牌库的建设等。

应继续进行业务闭环建设,如不良案例的流通和自动修复机制的建设,以及新品牌和标签的发现,避免标识系统长期运行后效果的退化。

无论机器学习还是外部资源辅助,对于海量长尾数据往往很弱,实际线上的很多POI特征都比较匮乏。只有一个简单的名字,从这个名字很难准确预测它的类别。如何引导用户自行提交类目信息,或者众包标注类目标签,也是我们后续需要重点解决的问题。

作者:高德科技兄弟

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/203055.html

发表回复

登录后才能评论