最近在和客户聊需求的时候,客户习惯用标签来做数据处理。但是标签这种灵活的功能,又会带来管理上的麻烦。因此首先要弄清楚什么是标签?什么时候用标签? 标签的概念追溯起来最早应该是互联网web2.0时代出来的,差不多十年了。先看看百度百科的解释 Tag在中国并没有统一的中文名称,有的称之为"分类",也有的称之为"开放分类"或"大众分类",还有的称之为"标签"。Tag(标签)是一种更为灵活、有趣的日志分类方式,可以为每篇日志添加一个或多个Tag(标签),然后可以看到BlogBus上所有和您使用了相同Tag的日志,并且由此和其他用户产生更多的联系和沟通。 Tag也可以说是一种关键词标记,更利于搜索查找。但是tag也不同于一般的关键词,用一般的关键词进行搜索时,只能搜索到文章里面提到了的关键词,但利用好tag却可以将文章中根本没有的关键词作为tag来标记,比如上面那篇文章,我可以标记为"资料"或者"历史",当然更多的时候是标记为"物理",不过,我如果标记上"资料"的tag,则可以将所有资料性的文章全部关联起来,便于查找。为了解释什么是标签,应该从它的诞生原因说起 传统数据的划分往往是用分类来做,比如学科、性别、学历等都是分类。分类的特点是固定。就是在数据生成之前已经确定好了类别,用户只能确定好的类别来选择。这样就带来一个问题,在互联网时代,数据非常多,利用固化的分类,已经没办法穷举出所有。 那么标签的出现就是为了解决分类过于固定的问题,可以让用户任意来定义分类。但是用户任意来定义分类不然会出现大量的偏差,比如同样的文字,每个用户理解的意思不同,或者标签不标准,造成多个标签是一个意思。因此标签就会存在乱的问题。 一管就死、一放就乱 什么时候用分类?什么时候用标签呢? 对于已经明确的分类,或者变化比较小的,建议用分类来管理,这样管理难度小。比如 性别、学历、学科等。其实这种分类可以理解成一种对象的静态属性。 对于不明确的,动态的,使用标签来管理。对于标签乱的问题,可以通过数据沉淀和人工指导,把标签往大的方向上进行集中,而又保留用户足够的自由。 这个问题知乎做的比较好。知乎把标签进行了分层,对于顶层标签只有管理员进行维护,引导用户把标签数据汇聚。 其实固化下来的标签分类就可以提取成数据分类了。