标签(tag)是很多信息管理系统的标准配置。使用者可以通过标签对信息进行分类,方便后续对信息的检索。这篇文章想要聊一聊我对于标签的一些使用心得。

在很长的一段时间内,我一直根据主题来设计标签。比如,我会给每一则新笔记添加标签来记录这则笔记所提及的主题。但在基于这个理念使用标签的过程中,总是反复的遇到下面几个问题:

  1. 经常忘记给笔记添加标签
  2. 就算添加了标签,也不够完整。比如一份笔记同时提到了三个主题,但是很有可能只加了一个标签
  3. 我甚至都不记得系统里已经存在哪些标签,从而导致系统里存在若干个表达了相同意思但是又各不相同的标签,比如「知识管理」、「知识管理系统」和「个人知识管理」等等

我尝试过针对每一则笔记都仔细的审核是否存在上述几个问题,但这又导致了维护成本的上升。

经过一番探索和思考,我逐渐意识到上述理念内在的挑战。上述理念的核心是通过一种自上而下的方式先定义好系统中的主题(标签),任何加入到系统中的信息都应该根据这些预先定义好的主题进行分类。但从实践来说,我通常都是从一个很小的范畴开始建立系统,因此很难在一开始就充分的预测未来有可能加入到系统中的信息的主题。也就是说,我难以在系统伊始就清晰的定义好系统需要支持的所有主题。当加入到系统的知识逐步变多并且超出我一开始设计的主题时,上述的几个问题也会逐步的凸显出来。

有了这样的反思之后,我开始调整我使用标签的方式。我不再针对整个系统来定义标签,而是将标签的定义限制在一个小的范畴内并且和信息被使用的场景结合起来。下面是一个具体的例子。

在帮助团队做招聘的过程中,我会为每一个候选人创建一则笔记记录相应的简历审核和面试结果。为了更方便的追踪每个候选人在面试流程中所处的阶段,我按照面试的流程设计了如下的标签:

  • 简历待审核
  • 简历审核通过
  • 简历审核不通过
  • 面试通过
  • 面试不通过

每次收到一份新的简历,我会给对应的笔记添加上「简历待审核」的标签。当同样的候选人通过面试之后,我会把对应笔记的「简历审核通过」标签更改为「面试通过」标签。

在这个例子里,我在一个小范围内(仅仅针对招聘这个领域)来设计标签,并且标签的设计和信息的使用场景相统一(标签反映了招聘流程的不同阶段)。通过这样的设计,前文提到的几个问题得到了很好的解决。虽然我没有一个全局性的标签体系,但在每一个细分领域,标签都可以很高效的帮助我完成信息分类的工作。