如何解决基于标记的网站的语义问题

基于标记的网站经常受到同义词,同音异义词等语言的影响。对于寻找信息的程序员,比如Stack Overflow,具体的例子是: Subversion或SVN(或svn,带区分大小写的标签) .NET或Mono [将添加更多] 问题是我们确实希望保留我们的语言细节,并使机器尽可能好地处理它。 像del.icio.us这样的网站看到它的标签库增长很多,因此可能会阻碍使用或搜索。搜索与SVN相关的条目可能会列出包含subversion和svn标记的大多数条目,但我可以想到三个问题: 搜索不完整,因为许多条目可能没有两个标记(即“同义词”)。 搜索不太有用,因为Q / A通常会导致更多的Q!特别是针对特定主题的新手。 标记一个问题(注意:或单独回答,听起来很有用)变得具有哲学性:'我是否标记了正确的方法?' 解决这些问题的一种方法是在标签之间创建语义链接,以便subversion和SVN自动绑定系统,而不是由不良用户绑定。 这是一种听起来不错/可行/有吸引力/有用的方法吗?如何有效地实施?     
已邀请:
识别同义词和语义连接是人类擅长的事情;通过寻找将匹配留给人类的方法,可以很好地解决组织开放式分类法的解决方案,例如SO的特色。 一种通用方法:某人(或某个团队)每天检查新标签。新同义词将添加到同义词组。搜索命中同义词组(或者,更细微的,根据用户偏好命中文字匹配或同义词组匹配)。 这需要支持后端的同义词组(为开发团队工作)。它需要一个标签管理器或十个(为主体或可信用户工作)。它不需要不断扩展,但是 - 总标签池增长的速度很可能(在初始版本来自公开测试版的每个人之后)很可能会随着时间的推移而减少,因为任何有机词典的增长率确实如此。 Synonymy对我来说是个问题。分层映射是一个雄心勃勃且更复杂的问题;它可能是值得的,也可能不是,但考虑到定义层次结构的相对复杂性,它可能最好留作任何潜在的同义词项目的第1阶段的第2阶段。     
blogspot.com上的软件设置方式是,在框中有一个ajax-autocomplete-thingie,您可以在其中写下标签的名称。这将在您之前的所有帖子中搜索以相同字母开头的标签。至少你可以通过这种方式捕获不同的外壳和拼写(但不是同义词)。     
系统如何知道语义链接的标签?它会保留一个不断增长的标签图吗?我看不到那个工作。如果有人输入sbversion怎么办?怎么会联系起来? 我认为询问用户提交标签的时间是可行的。例如,“你输入了以下标签:sbversion,pascal和bindings。你的意思是,”Subversion“,”Pascal“和”Bindings“? 显然,系统必须具有相当智能的匹配系统才能工作。这样做对于用户来说将是额外的输入(这可能会使他们烦恼)但是如果正确完成,人工输入将使更少的重复标签。 事实上,尽管如此,系统可以使用用户输入的结果作为自动标签匹配的基础。从前面的例子中,有人创建了一个“sbversion”标签,当提示将其更改为“Subversion”时 - 系统可以学习并在下次自动完成。     
您正在研究的部分问题是英语充满了同义词 - 以下是不同的:构建管理,颠覆,简历,源代码控制? 也许,也许不是。拥有一个系统,就像在SO上使用的一个系统,它可能会带来你可能意味着的标签非常有帮助。但它并没有阻止人们对标记过程进行欺凌。 也许你可以在没有用户互动的情况下拒绝接受“新”标签?在让'sbversion'进去之前,强制进行拼写检查? 这绝对是一个有趣的问题。去年我在我的博客上提出了类似的问题。一些回应非常有见地。     
我完全同意。目前有大量标签。我不参与其他基于标记的网站。然而,具有标签的层次结构将是非常有帮助的,而不是ruby rails ruby​​-on-rails ruby​​onrails等...     
标签基本上是我们承认搜索算法不符合要求。如果我们可以让计算机足够聪明,以确定标记为“Subversion”的内容与标记为“svn”的内容具有相似的内容,可能我们可以解析内容,那么为什么不完全跳过标记,并将搜索词直接匹配到内容(即自动标记,基本上是将关键字映射到结果)?!     
问题是让搜索引擎使用“颠覆”和“svn”非常相似的事实,即它们意味着相同的“事物”。 根据频率计算标签之间的简单相似性可能很有吸引力:'subversion'和'svn'经常出现在一起,所以请求'svn'会返回与SVN相关的问题,但是罕见的问题只标记'subversion'(反之亦然)。但是,'java'和'c#'也经常出现在一起,但原因各不相同(它们不是同义词)。因此基于频率的相似性已经消失。 这个问题的答案可能是机制的混合,就像在这个Q / A线程中建议的那样: 通过在用户输入时建议标记来过滤拼写错误。 维护用户生成的同义词映射。如果它只是针对同义词,那么这张地图可能不会那么大。 允许多标签搜索,以便用户可以放置'subversion svn'或'subversion&& svn'(好吧,从程序员到程序员)在搜索框中获取两者。这是非常实用的,因为许多用户在不知道哪个术语最有意义时可能会尝试这种方法。 @Nick:同意。这个问题并不是要反对标签。标签具有巨大的潜力,但如果无法搜索“跨越”标签,用户将面临日益严重的问题。 @Steve:维护一个不断增长的标签地图绝对不实用。由于SO正在积累不断增长的标签袋,我们怎么能在这个包上遮挡一些光线以便以方便的方式搜索Q / A标签更有用? @Espo:在创建问题时,SO上显示基于现有标签的'Ajax驱动'标签建议。这对于选择标签和适当的拼写非常有帮助(避免史蒂夫的'颠覆'与'sbversion'问题)。     

要回复问题请先登录注册