今天Steam 官方公开了实验室 4.1 号搜索实验功能——查询拓展的详细介绍;由于一些游戏发行商在为自己的游戏选择类型标签时没有考虑周全,有时就会导致玩家使用特定标签进行搜索时无法找到这款游戏(实际上该游戏是包含此元素的),而“查询拓展”功能的加入就可以有效地解决这种情况。
“查询拓展”Steam 官方介绍
我们现在带着查询的思维思考
在查询扩展这个实验中,我们用来优化 Steam 搜索的方法就是像人类一样处理标签,那就是:运用逻辑思维! 以即时战略、即时和策略为例。 如果一款游戏标记为即时战略但不含即时和战略,使用 Steam 现有搜索技术搜索即时 + 战略时就会找不到这款游戏。 查询扩展即可解决该问题。
您在访问 Steam 实验室 004.1 号实验:搜索查询扩展时,就可以体验我们全新的搜索结果,包括那些由于使用了搜索扩展才显示其中的游戏。 这项实验中的许多搜索对标签善加利用,因此现在可以撒更大的网,显示更多的游戏。 和以往一样,我们希望能得到您的反馈意见。请在讨论组中告知我们您对新的搜索结果的想法。
也请继续往下阅读,了解查询扩展如何带来更好的搜索结果。
用查询扩展优化搜索结果
查询扩展的核心在于,我们不仅仅是考虑某款游戏使用的标签,还考虑标签的逻辑含义。
比如说您非常希望玩一款 3D 平台游戏,因此您会在 Steam 搜索中选择 3D 及平台标签。 因此,您看到的搜索结果如下:
可是我们还有一个 3D 平台标签。 如果您搜索时选择的是这个标签,就会获得更多结果,但也会错过首次搜索时看到的部分游戏:
现在,如果您参与 Steam 实验室用查询扩展优化过的搜索实验,无论您用来执行搜索的是哪一组标签,都会获得所有以上的结果,甚至更多。 现在我们可以看到,这组结果甚至比前两个方法加起来所获得的结果范围还要广:
一开始的两种情况下都会遗漏结果,因为现有的搜索版本将所有标签视为互不相干的信息。 人当然可以看出 3D 平台是由 3D 和平台游戏构成, 搜索也应该足够聪明,能识别出这种关系。
但搜索又不能过于聪明,因为这不是推荐模型——应该返回的是用户需要的结果,不多不少刚刚好。 在深入探讨解决方案前,让我们先来更好地剖析一下问题。
为游戏添加标签的差异
有些游戏的标签比起其他游戏来更为齐全。 我们准备了一些长期计划来应对这个问题,而查询扩展只是简单的第一步。
比如,含有即时战略标签的游戏并不一定含有即时 + 策略标签,反之亦然。 同样地,含有动作冒险 + 日系角色扮演标签的游戏可能也没有动作、冒险和角色扮演标签。 不幸的是,根据用户所选择的特定标签,返回的搜索结果也会大不相同。 (详情见下方)。
举例来说,对此问题不知情的开发者可能会为自己的游戏加上即时战略的标签,却并没有意识到在搜索更为简单的标签策略时,游戏并不会返回在结果中。 谁能怪他们呢?
而另一方面,确实知情的开发者则可能会给自己的游戏加上主要标签的各种排列组合——除了即时 + 策略、即时战略之外,还要加上即时战略等等。 这个方法的坏处是,这会让游戏的标签资料充斥大量冗余标签,而我们需要的是更为有意义的标签,有助于在 Steam 商店向用户描述或展示游戏。
查询扩展可以弥合这些差异,同时加标签者不需要为 Steam 上的每款游戏都添加同义标签,而玩家也不需要进行复杂的搜索查询。
运行原理
让我们更为直接地看看查询扩展究竟会做什么、又不会做什么,而这两点同样重要——这样一来,我们就能对标签改动后显示的搜索结果信心满满。
首先,也是最重要的一点,我们宁愿让查询扩展功能过于谨慎,也不想冒险犯错。 比如,我们告知扩展查询功能:
动作冒险严格来讲暗含动作 + 冒险,而
策略角色扮演严格来讲暗含策略 + 角色扮演。
但是,我们并没有贸然地认为仅是相似或推理而出的标签具有同义关系。 又比如:
黑暗并不暗含洛夫克拉夫特式
奇幻并不暗含魔法
射击并不暗含动作,还有
策略并不暗含回合制
诚然,黑暗和洛夫克拉夫特式经常在相同的游戏中一起出现,因此有所关联,但这种相关性并不是对等性,因此在运用查询扩展时这两个标签并不适合相互关联。
在确立了这一点后,我们梳理了所有标签,并整理出每个人都认为合理的标签关系。 这包括可以分解为其他标签的标签(第一人称射击 → 第一人称视角 + 射击),还有从其他标签构建而成的标签(策略 + 角色扮演 → 策略角色扮演)。 大部分标签关系两个方向都适用,但也并非完全如此。
比如,一款含有刷宝射击游戏标签的游戏显然也可以有寻宝和射击的标签。 然而,刷宝射击游戏是一个具备自身惯例的特定游戏子类型。 尽管这些惯例不该由 Steam 来定义,但意识到并不是每款有寻宝和射击标签的游戏都一定是刷宝射击游戏似乎是谨慎的做法。 因此目前,标签之间的关系需要人为考量。
逐步扩展标签查询
以下举个略为简单的例子说明后台运行原理。
用用户的标签列表开始进行搜索查询:
动作 +
冒险 +
2D 平台 +
解谜
我们对复杂标签进行识别,并将其分解为简单标签:
2D 平台 → 2D + 平台游戏
现在来看是否所有简单的标签都可以组合形成复杂标签:
动作 + 冒险 → 动作冒险
解谜 + 平台游戏 → 平台解谜
我们使用 OR 将以下这些标签作为同义词添加进每一个初始标签:
(动作 OR 动作冒险)+
(冒险 OR 动作冒险)+
(2D OR 2D 平台)+
(平台游戏 OR 2D 平台)+
(解谜 OR 平台解谜)
下面,我们针对每一个标签来查找将其完全包含其中的复杂标签:
动作 →(动作冒险 OR 动作角色扮演 OR 动作类 Rogue)
[i]冒险/i] →(动作冒险)
2D →(2D 平台 OR 2D 格斗)
平台游戏 →(2D 平台 OR 3D 平台 OR 精确平台游戏 OR 平台解谜)
解谜 →(平台解谜)
我们用 OR 将以下这些标签作为同义词添加至每一个初始标签(前提是我们没有在前一步进行添加):
(动作 OR 动作冒险 OR 动作角色扮演 OR 动作类 Rogue)+
(冒险 OR 动作冒险)+
(2D OR 2D 平台 OR 2D 格斗)+
(平台游戏 OR 2D 平台 OR 3D 平台 OR 精确平台游戏 OR 平台解谜)+
(解谜 OR 平台解谜)
现在,可能有些人会想:“动作角色扮演? 2D 格斗? 我以为我们要找的是动作 + 冒险 + 2D + 平台游戏 + 解谜,其他的内容在这里有什么用? 这肯定会把搜索结果弄得乱七八糟!”
问得好! 不过别担心,那些额外的术语并不会破坏搜索结果——恰好相反。 这种 OR 逻辑确保更复杂的标签中只有与用户请求中重复的部分才被搜索——在本例中也就是动作角色扮演中的动作。 别忘了,Steam 上有无数混合了多种类型的游戏;所以这些复杂的术语确保了大家想要花生酱口味的零食时,我们不会忘了把花生酱和巧克力饼干也纳入其中(别担心,我们不会返回任何没有花生酱的巧克力零食)。
正如我们的首个例子所显示,比起搜索 3D、平台游戏以及 3D 平台的综合结果,这一方法让我们能够定位更多的游戏。 现在像是《biped / 只只大冒险》这样的额外结果,会获得醒目的展示。 此游戏附带有 3D 和平台解谜标签。 正如大家所见,现在搜索 3D 平台这样复杂的标签时,就会搜索到具备与其不同却仍旧相关的标签组合的游戏。
应用
查询扩展并不是我们优化标签系统的最后一步,而是一个很好的起点。 目前,我们仅会在此搜索实验中将查询扩展应用于标签。 我们会密切跟踪查询扩展的结果,再决定是否将其应用于其他方面,比如用于搜索中更多形态的元数据、额外的浏览视图、推荐算法、库中的动态收藏以及 Steam 的其他位置。