用常用词监控品牌
Posted
技术标签:
【中文标题】用常用词监控品牌【英文标题】:Monitor brands with common words 【发布时间】:2011-01-16 23:20:59 【问题描述】:假设您应该在线监控“ONE”品牌。可以使用哪些算法将关于品牌 ONE 的页面与包含常用词 ONE 的页面分开?
我在想也许贝叶斯可以工作,但还有其他方法可以做到吗?
【问题讨论】:
【参考方案1】:您可能希望将 ONE 品牌与其产品、执行官或您监控中的挑战者联系起来。
【讨论】:
【参考方案2】:我已经通过将 Wikipedia 视为一个巨大的本体(其中每个超链接是源节点和结束节点之间的关系)来处理事情。
编辑:一个非常粗略的算法,带有“Java”示例:
在***中查询“Java”。之中 其他人,这应该给你(在 至少)岛屿和编程 语言。 获取这些base的in/out节点 页面(来自基本页面的超链接)。 您现在有少量相关词。 计算每个集合到页面的“距离”并找出这些距离中的最小值。您将使用的距离非常主观,必须稍作调整以满足您的需求。您可能也很难获得每个页面的“核心”,因为解析 html 会很痛苦。
【讨论】:
你能扩展一下吗?我不明白你的意思我应该做什么。【参考方案3】:如果它不是真正独特的词,那么我会建议下一种方法。
假设我们的关键字是 Java。然后至少有两个类别:关于编程和关于印度尼西亚的旅游。我们对第一个感兴趣。
让我们看一段关于 Java 的短文(可能来自书籍或***)。然后让我们假设一些阈值(例如,0.7)。然后让我们将我们的文本与不同的页面进行比较(最快的方法之一是使用Classic Vector Space Model 算法,您可以自己实现它或在google中找到它的实现)。然后将结果与您的阈值进行比较并过滤掉弱结果。
关于使用贝叶斯算法: imo 的方法不错。但是你应该非常仔细地“教”你的算法,因为几个错误的输入会破坏整个工作。
让我解释一下。贝叶斯算法的输入是带有品牌词的文本。输出是概率 [0 .. 1] 您的文本是关于您的品牌而不是关于其他内容的。在实践中,这个算法经常给你接近 0 或接近 1 的结果,它很少返回 0.2 和 0.8 之间的值。这意味着该算法对微小的变化非常敏感,100个单词的文本中的1或2个单词会严重影响结果。
【讨论】:
我仍然看不出 VSM 比贝叶斯好多少。请说服我? 实际上,这是进行一些实验的好理由。这两种算法我都实现过,一点都不难(你也可以下载一些现有的实现)。准备测试输入数据(但不能太小),并验证哪种算法更能满足您的要求。【参考方案4】:您要查找的术语是概念学习或概念提取。 One 这个词出现在许多页面中,但大多数情况下它指的是作为一个数量的 concept。很少提到ONE品牌的概念。 (另一个经常使用的例子是 SUN,如星体太阳,或名为 Sun 的公司)。
我知道Ari Rappoport 有很多关于这个主题的研究。实际上,这归结为类似 mouviciel's answer,但 Ari 的研究还涉及如何自动推断需要查找哪些相关词,以便区分 one-as-number 和 one-the-brand。
【讨论】:
【参考方案5】:我会建议一种无监督的方法来解决这个问题:
尽可能多地获取在正确上下文中描述“ONE”的文档并创建语料库。
根据标准英语语料库在该语料库中查找统计上不可能的短语。
这个网站提供了一个很好的例子http://sip.s-anand.net/?url=http://en.wikipedia.org/wiki/Apple_Inc。
如您所见,ipod、powerpc 等品牌特定术语很容易被过滤掉。
提取这些信息后,您可以使用 "SIP" AND "ONE" 等查询创建 Google 警报或类似的等效项(如果 google 警报过于简单),以监控新文章。
当然,鉴于这种方法是无监督的,它可能效率不高,但应该可以完成工作。
【讨论】:
你可以在这里找到使用谷歌应用引擎的 SIP 代码:code.google.com/p/statistically-improbable-phrases/source/…【参考方案6】:另一种方法是在Google Directory 中查找页面,该页面具有“按主题组织成类别的网络”。您可能会使用每个页面的类别信息来确定它的内容。
【讨论】:
以上是关于用常用词监控品牌的主要内容,如果未能解决你的问题,请参考以下文章