计算机科学分类学

时间:2010-06-07 11:07:26

标签: computer-science taxonomy similarity ontology

我正在开发用户拥有标签集的Web应用程序。我需要根据用户标签的相似性为用户创建建议列表。
例如,当用户登录系统时,系统会获取其标签并在用户数据库中搜索这些标签,并显示具有类似标签的用户。例如,如果用户1 具有以下标记[ Linux,Apache,MySQL,PHP ]且用户2 具有[ Windows,IIS,PHP,MySQL ]它表示用户2 匹配用户1 ,权重为50% ,因为他有2个类似的标签( PHP MySQL )。
但想象一下用户1 具有[ ASP,IIS,MS Access ]和用户2 的情况[< strong> PHP,Apache,MySQL ]。在这种情况下,我的系统不会将用户2 建议为用户1 的“朋友”,反之亦然。但我们知道这两个用户在工作领域有相似之处,两者都适用于Web技术(或Web编程等)。
所以,这就是为什么我需要计算机科学的分类学(现在,但我可能还需要其他领域的分类,如医学,物理学,数学等),这些概念被分类,所以当我搜索时 ASP PHP 的相似性,例如,可以说它们具有相似性并属于一个组(或类别) 我希望我能清楚地描述我的问题,但是如果解释错误的话会对你的更正感到高兴。
感谢

4 个答案:

答案 0 :(得分:4)

我认为你实际上并不需要分类法。有了足够的数据,您应该可以在字段上执行cluster analysis并推断标记之间的关系。有关详细信息,请参阅this paper on automated tag clustering。如果您认为基于标签的标签聚类和分析无法让您尽可能地获得,请查看Flickr。

或者,如果您确实认为需要分类,请考虑使用SKOS。如果您可以将标签映射到SKOS,则可以对它们执行此类分析。您可能会发现两个特别有用的SKOS数据来源是Library of Congress Subject HeadingsDbPedia。如果您对使用SKOS有更多疑问,请尝试SemanticOverflow

答案 1 :(得分:2)

如果这些字词出现在论坛或类似内容中,您可以使用Latent Semantic Analysis来构建字词集。

答案 2 :(得分:2)

使用google设置生成一些?获得比这更大的数据集会更难:

http://labs.google.com/sets

答案 3 :(得分:1)

您需要在标签之间创建关系。我不相信这可以自动完成。 你必须创建一个数据库,其中说sql = mysql = postgresql = oracle,asp = jsp = php等等。 这样您就可以创建一些标记组。标签肯定可以处于多种关系中。