这是一个真正的问题,一般适用于标记项目(是的,这也适用于StackOverflow,不,这不是关于StackOverflow的问题).
整个标记问题有助于聚类类似的项目,无论它们是什么项目(笑话,博客帖子,所以问题等).但是,(通常但不严格)是标签的层次结构,这意味着某些标签也暗示其他标签.使用一个熟悉的例子,"c#"so标签也暗示".net"; 另一个例子,在笑话数据库中,"blondes"标签暗示"嘲弄"标签,类似于"爱尔兰"或"belge"或"加拿大"等,取决于笑话的国家来源.
你是如何在项目中处理这个问题的?我将提供一个答案,描述我在两个不同的情况下使用的两种不同的方法(实际上,相同的机制,但在两个不同的环境中实现),但我不仅对类似机制感兴趣,而且对您对层次结构问题的看法感兴趣.
这是一个棘手的问题.两个极端是本体(一切都是分层的)和一个分类(标签没有层次结构).我已经在WikiAnswers上回答了这个问题,并引用了Clay Shirky的"Ontology is Overrated"一文,声称你应该不设置层次结构.