亚马逊的统计上不可能的短语如何运作?

时间:2010-01-05 22:13:50

标签: algorithm nlp platform-agnostic

“统计上不可能的短语”有何用处?

根据亚马逊的说法:

  

Amazon.com的统计数据不太可能   短语或“SIP”是最多的   文本中的独特短语   Search Inside!™计划中的书籍。   为了识别SIP,我们的计算机扫描   搜索中所有书籍的文字   内!程序。如果他们找到一个短语   这种情况很多次发生在   一本关于所有人的特定书   在里面搜索!书,那句话是一个   那本书中的SIP。

     

SIP不一定不可能   在一本特定的书中,但它们是   相对于所有书籍而言,这是不可能的   在里面搜索!例如,大多数SIP   有关税收的书与税收有关。   但是因为我们按顺序显示SIP   他们的不可能得分,   第一个SIP将涉及税务主题   这本书经常提到   其他税书。对于小说作品,   SIPs往往是独特的词   通常暗示的组合   重要的情节元素。

例如,对于Joel的第一本书,SIP是:泄漏抽象,抗锯齿文本,自己的狗食,错误计数,每日构建,错误数据库,软件时间表

一个有趣的复杂因素是这些是2或3个单词的短语。这使事情变得更有趣,因为这些短语可以相互重叠或相互包含。

6 个答案:

答案 0 :(得分:16)

这很像Lucene为给定搜索查询排序文档的方式。他们使用称为TF-IDF的度量,其中TF是术语频率,idf是逆文档频率。前者对文档的排名越高,查询术语在该文档中出现的越多,如果文档中的查询条件在所有文档中不常出现,则后者对文档进行排序。他们计算的具体方式是log(文档数/带有术语的文档数) - 即该术语出现的频率的倒数。

所以在你的例子中,这些短语是相对于乔尔的书的SIP,因为它们是罕见的短语(出现在几本书中),并且在他的书中多次出现。

编辑:在回答有关2克和3克的问题时,重叠无关紧要。考虑一句“我的两只狗是棕色的”。在这里,2克的列表是[“我的两个”,“两只狗”,“狗是”,“是棕色的”],3克的列表是[“我的两只狗”,“两只狗是“,”狗是棕色的“]。正如我在评论中提到的,对于N个单词流,你会得到N-1 2-gram和N-2 3-gram。因为2克只能等于其他2克,同样3克,你可以分别处理这些情况。当处理2克时,每个“单词”将是2克等等。

答案 1 :(得分:10)

他们可能正在使用tf-idf权重的变体,检测特定书中出现次数很多但在整个语料库中减去特定书籍的次数。对每本书重复一遍。

因此,“不可能性”与整个语料库相关,可以被理解为“唯一性”,或“与图书馆其他部分相比,使图书独特的原因”。

当然,我只是在猜测。

答案 2 :(得分:5)

作为一个起点,我会看Markov Chains

一个选项:

  1. 从完整索引构建文本语料库。
  2. 从一本书中构建一个文本语料库。
  3. 对于每个m到n的单词短语,找到每个语料库生成它的概率。
  4. 选择概率比率最高的N个短语。
  5. 一个有趣的扩展是运行马尔可夫链生成器,其中权重表是全局和局部语料库之间差异的放大。这将产生作者风格特质的“漫画”(字面意思)。

答案 3 :(得分:5)

LingPipe有关于如何执行此操作的tutorial,并且它们链接到引用。他们不讨论它背后的数学,但他们的源代码是开放的,所以你可以查看他们的源代码。

我不能说我知道亚马逊做了什么,因为他们可能保守秘密(或者至少他们只是没有打扰告诉任何人)。

答案 4 :(得分:3)

很抱歉恢复旧的线程,但我在这里找到了同样的问题,并发现有一些新的工作可能会添加到这个伟大的线程中。

我觉得SIP文件比TF-IDF分数高的单词更独特。例如,在关于 Harry Potter 的文档中,像 Hermione Granger Hogwarts 这样的术语往往是更好的SIP,其中像 magic这样的术语伦敦不是。 TF-IDF并不擅长这种区分。

我遇到了一个有趣的SIP定义here。在这项工作中,短语被建模为n-gram,并且计算它们在文档中出现的概率以识别它们的唯一性。

答案 5 :(得分:1)

我很确定它将SIP识别为独特的SIP组合。在你的例子中,另一本书在同一本书中有“漏洞抽象”和“自己的狗食”,这是非常罕见的。

然而我在这里做了一个假设,因为我不确定。