如何基于匹配预设句式,动态提取用户评价标签
作者:CQITer小编 时间:2019-03-11 21:52
网络经济的发展使我们的消费渠道早已不止于实体场景。来自于用户的线上评价,成为如今影响我们消费行为决策的重要因素。
背景
在网上购物时,即使你已经浏览了商家对于商品的描述,你还是不会立即决定购买它,因为你不确定这些描述是否准确。这时你会寻找其他购买过此商品的用户评论,这些评论可能才会最终说服你。
购买旅行类产品也是一样。每天都有大量用户在马蜂窝平台用“评论”的方式,记录和评价他们在旅行中的感受和体验。而基于对评论内容深度挖掘产生的标签,则用一种更为简洁、直观的方式汇总评论信息中的重要内容,展示给更多的用户作为参考依据。
因此,如何在保证标签内容准确性的同时,体现出更符合用户语言习惯、让用户更容易理解的标签含义,对于提升用户在马蜂窝平台的体验,做出更符合自身需求的旅行决策,以及提升平台转化率、更好地监管商家服务品质等方面,都有很大价值。
从评价中提取标签的方式有很多,但在实际应用中存在一些问题,比如:
1. 预设标签
做法:预先定义好一些固定标签,由用户在发表点评时自主选择。
不足:固定标签数量受限,无法覆盖用户全部需求,并且标签和用户内容可能不匹配。
2. 句法分析
做法:对用户发布的点评内容进行解构,提取主题词和描述词组合后作为标签。
不足:在评价量非常大的时候,这种方法会产生大量标签,对计算性能要求高,并且维护不便。
3.多层级标签定义
做法:预先定义标签大类,在逐级细分,最后产生具体标签。
不足:产生大量维护工作。并且定义的层级灵活性欠佳,而且匹配的标签是关键词加指标词,不能很好地表达用户的言语习惯。
为了解决以上问题,马蜂窝推荐和搜索研发团队提出了一种通过匹配预设句式的模式,灵活、动态提取用户评论标签的方式,将每个预设句式归宿到固定标签分类,在分类显示中动态地采用最大数标签作为整个分类标签的显示方式,极大减少了固定标签的数量,并且每个句式是任意的多个词组联合组成,使最终提取的标签内容在更符合用户语言习惯的同时,更好地体现了不同评论内容标签的个性化和差异化。
基于匹配预设句式模板动态提取用户评价标签
首先和大家解释几个关键的概念。
标签:标签可以理解成对一个给定信息进行的具体描述。比如“离望京地铁站近”、“步行到大望路地铁站 1 分钟”等;
句式:这里,我们可以先简单理解成是对同一类型标签的集合,可以理解成“评价方式”,比如上句关于标签的举例,都是对“离地铁站近”的评价;
标签类别:同样,我们先简单理解成是对同一类句式,也就是一类“评价”的集合,比如上述句式包含在“交通方便”这类评价里。
三者关系可以描述为,一个标签类别包含了 m 个句式;一个句式会产生 n 个标签,所以一个标签类别最多会对应 m*n 个标签。
标签系统总体结构
系统主要有两部分内容:标签句式的定义和自动化的句式生成。今天主要介绍第一部分关于如何定义句式和产生标签。

图1 - 标签系统结构
具体做法和实施步骤
一、建立句式库
顾名思义,句式库是对所有预设句式的集合。接下来我们会具体讲解如何定义句式和产生标签。

图2 - 句式库示意
1. 建立词库
词库是由词组以及其包含的词语组成的。每个词组和词语分别具有唯一标识;词组是对其包含的词语的概括和汇总;词语为表示该词组的近义词、俗语、舶来词、英语、缩写等。例如:
词组:表示“班车”的名称集合
词语:班车,摆渡车,接泊车,shuttlebus 等是词组中的词语
词组也可以表示一类描述信息,比如:
词组:表示“距离近”的集合
词语:近,不远,很近,走路 1 分钟等

图3 - 词库示意

图4 - 词组示意


