Tag 的分类方式和 Category 有何区别?最直观的就是列出优缺点对比

本来是在这里的回答。 标签(Tag)是个好的设计吗? http://www.zhihu.com/question/19561383 问题被修改后放在那…
关注者
194
被浏览
21,931

9 个回答

使用category还是使用tag,其实是一个相当本质的问题的某种抽象:

我们是如何认知这个世界的?

比较早的科学分类方法,比如对物种的分类,对地理区域的划分,是建立在一个对象只能属于一个类别的假设之上的。如李楠所说,这个假设在很多时候并不成立。究其原因,是因为类别的排他性。类似的尴尬事情在很多领域都出现过,比如鸭嘴兽究竟是属于哺乳动物还是属于卵生动物?

计算机科学里面也有很多例子,比如文件系统,在没有link或者shortcut的时候,就是一个典型的分类系统,一个文件的路径就是这个文件在分类系统中的位置。C++的类也是一个分类系统,C++试图用多重继承来允许一个类分属不同的类别,被诟病了很久,这个不是多重继承的问题,是分类本身的局限性的体现。

另外分类还有一个问题,就是不能体现对象的所有特征,而仅能体现分类里面的那些特征。如果一个特征没有被包含在分类层次内,那么就无法从分类里面发现这个特征。比如很难从一个文件的路径里面找到所有这个文件里面描述的内容。

而tag则是另外一种认知方式,就是按照事物本身的特性来描述,而不是定义。事物的特性,通常叫做facade,的集合,就是这个事物的描述。比较著名的一句话就是:走起来像个鸭子,游起来像个鸭子,叫起来像个鸭子,那就是个鸭子。这里,鸭子这个概念,是其走路,游泳和叫声三个特征描述的。

Facade并不等同于tag,之所以用了tag,是因为大量的数据都是文本,一个文本文件本身,可以看成是一系列的tags,当然很多不重要。按照facade来处理信息,更像编程语言里面使用一组interface来定义一个对象。一个对象可以有多个interface,一个文件可以有很多tags,对于文本文件来说,文件内容本身就提供了很多tags。

Category

Category 是非常理想化和一根筋的分类方式。图书馆这种死板到头的地方用的多。但是他们也遇到了问题:“苏菲的世界”到底是“哲学”,还是“文学”?

物理世界无力从根本上解决这种问题(但似乎不少讨论)。问过我们学校的图书馆,似乎他们方式还比较靠谱:买两本,两处放。

分类对象数字化之后, Category 的影响还在(早期的门户找点跨界的东西就很悲剧)。直到 Web2.0 , Tag 竟然才开始流行。

Tag

Tag 是更好的分类方式的原因是:

1

“类别”本来就不应该事先定义:人不是上帝。

从一个个具体对象的“属性”中,总结出“类别”是最自然的模式。也是“人”可以做到的事情。

2

“属性”本来就应该可以自然的表现为多个。

苏菲的世界终于可以自然的打上“哲学”和“文学”的 Tag 了,或者再加个“少儿读物”。这种思考方式比 Category 优雅太多。

Tag 最终普及,背后恐怕有软件工程上 OO 普及(面向对象)的因素。“面向对象”不仅仅是的程序构建方式,更是认识世界的方法论的进步。

“属性”跟随“对象”,比“对象”属于“类别”更自然,不机械。 。

Tag 的改进

Tag 本身也可以看作“对象”。

那么就有针对 Tag 的操作,比如“搜索”,“排序”,“关联对象”。也有 Tag 本身的属性,比如“使用次数”,“关注人数”等等。

如何能在使用 Tag 的系统中,根据这些数据,计算出最适合的对象,就要靠算法的优化和运营的调整了。