28

像统计上不可能的短语这样的东西是如何工作的?

据亚马逊称:

Amazon.com 的统计上不可能的短语或“SIP”是 Search Inside!™ 程序中书籍文本中最独特的短语。为了识别 SIP,我们的计算机会扫描 Search Inside 中所有书籍的文本!程序。如果他们发现一个短语在特定书中出现了很多次,相对于所有 Search Inside!书籍,该短语是那本书中的 SIP。

SIP 在特定书籍中不一定是不可能的,但相对于 Search Inside! 中的所有书籍,它们是不可能的。例如,一本关于税收的书籍的大多数 SIP 都与税收有关。但是因为我们按照 SIP 的不可能性分数顺序显示 SIP,所以第一个 SIP 将涉及本书比其他税务书籍更常提及的税务主题。对于小说作品,SIP 往往是独特的单词组合,通常暗示重要的情节元素。

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

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

4

6 回答 6

17

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

因此,在您的示例中,这些短语是相对于 Joel 的书的 SIP,因为它们是罕见的短语(出现在几本书中)并且它们在他的书中多次出现。

编辑:在回答关于 2-gram 和 3-gram 的问题时,重叠并不重要。考虑“我的两只狗是棕色的”这句话。这里,2-gram 的列表是 ["my two", "two dogs", "dogs are", "are brown"],3-gram 的列表是 ["my two dogs", "two dogs are ", "狗是棕色的"]。正如我在评论中提到的那样,对于 N 个单词的流,如果有重叠,您会得到 N-1 2-gram 和 N-2 3-gram。因为 2-gram 只能等于其他 2-gram 并且同样适用于 3-gram,您可以分别处理这些情况。处理 2-gram 时,每个“单词”都是 2-gram,依此类推。

于 2010-01-05T22:20:13.387 回答
11

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

因此,“不可能性”是相对于整个语料库的,可以理解为“独特性”,或“与图书馆的其他部分相比,是什么让一本书独一无二”。

当然,我只是猜测。

于 2010-01-05T22:19:02.963 回答
5

很抱歉恢复了旧线程,但我来到这里是为了同样的问题,发现有一些更新的工作可能会添加到很棒的线程中。

我觉得 SIP 对文档而言比 TF-IDF 分数高的单词更独特。例如,在关于Harry Potter的文档中,像Hermione GrangerHogwarts这样的术语往往是更好的 SIP,而像魔法伦敦这样的术语则不是。TF-IDF 并不擅长做出这种区分。

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

于 2012-06-06T15:50:56.687 回答
5

LingPipe 有一个关于如何做到这一点的教程,它们链接到参考资料。他们没有讨论其背后的数学原理,但他们的源代码是开放的,因此您可以查看他们的源代码。

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

于 2010-01-13T04:38:36.937 回答
5

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

一种选择:

  1. 从完整索引构建文本语料库。
  2. 仅从一本书构建文本语料库。
  3. 对于每个 m 到 n 个单词短语,找到每个语料库生成它的概率。
  4. 选择概率比率最高的 N 个短语。

一个有趣的扩展是运行马尔可夫链生成器,其中您的权重表是全局和本地语料库之间差异的放大。这将产生作者风格特质的“漫画”(字面意思)。

于 2010-01-06T00:28:29.430 回答
1

我相当肯定它是标识这本书独一无二的 SIP 的组合。在您的示例中,几乎不可能另一本书在同一本书中有“泄漏的抽象”和“自己的狗粮”。

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

于 2010-01-05T22:18:49.727 回答