2010-01-05 8 views
26

¿Cómo funciona algo así como frases estadísticamente improbables?¿Cómo funcionan las frases estadísticamente improbables de Amazon?

según Amazon:

de Amazon.com estadísticamente improbable frases, o "SIP", son los más distintivos frases en el texto de libros en la búsqueda interior ™ programa!. Para identificar SIP, nuestras computadoras escanean el texto de todos los libros en la búsqueda ¡Dentro! programa. Si encuentran una frase que ocurre una gran cantidad de veces en un libro particular relativo a todos ¡Buscar dentro! libros, esa frase es un SIP en ese libro.

SIP no son necesariamente improbable dentro de un libro en particular, pero son improbables relativa a todos los libros en búsqueda interior !. Por ejemplo, la mayoría de los SIP para un libro sobre impuestos están relacionados con impuestos. Pero debido a que mostramos SIP en orden de su puntuación de improbabilidad, los primeros SIP estarán en temas de impuestos que este libro menciona con más frecuencia que otros libros de impuestos. Para las obras de ficción, SIP tienden a ser palabra distintiva combinaciones que a menudo hacen alusión a elementos de la trama importantes.

Por ejemplo, para el primer libro de Joel, los SIP son: abstracciones con fugas, texto suavizado, comida propio perro, número de bugs, construcciones diarias, la base de datos de errores, los horarios de software

Una complicación interesante es que estos son frases de 2 o 3 palabras. Esto hace las cosas un poco más interesantes porque estas frases se pueden superponer o contener entre sí.

Respuesta

16

Es muy parecido a la forma en Lucene clasifica los documentos para una consulta de búsqueda determinada. Usan una métrica llamada TF-IDF, donde TF es la frecuencia de término e idf es la frecuencia inversa del documento. El primero clasifica un documento más alto cuanto más aparecen los términos de consulta en ese documento, y este último clasifica un documento más alto si tiene términos de la consulta que aparecen con poca frecuencia en todos los documentos. La forma específica en que lo calculan es log (cantidad de documentos/cantidad de documentos con el término), es decir, el inverso de la frecuencia con la que aparece el término.

En su ejemplo, esas frases son SIP relativas al libro de Joel porque son frases raras (aparecen en algunos libros) y aparecen varias veces en su libro.

Editar: en respuesta a la pregunta sobre 2 gramos y 3 gramos, la superposición no importa. Considere la frase "mis dos perros son marrones". Aquí, la lista de 2 gramos es ["mis dos", "dos perros", "los perros son", "son marrones"], y la lista de 3 gramos es ["mis dos perros", "dos perros son "," los perros son marrones "]. Como mencioné en mi comentario, con la superposición, obtienes N-1 2 gramos y N-2 3 gramos para una secuencia de N palabras. Debido a que 2 gramos solo pueden igualar otros 2 gramos y también 3 gramos, puede manejar cada uno de estos casos por separado. Al procesar 2 gramos, cada "palabra" será un 2 gramos, etc.

+0

es un poco más complicado que eso, porque las frases pueden tener 2 o 3 palabras de longitud, lo que podría superponerse o contenerse entre sí. tf-idf generalmente se describe con términos únicos solamente. –

+0

No estoy seguro de que importe tanto, especialmente si está restringido a frases de longitud 3 o inferior. Para una secuencia de texto de N tokens, tiene N-1 bigrams y N-1 trigrams.Por supuesto, un bigram solo va a ser igual a otro bigram, y también para un trigrama, así que puedes calcular las medidas de IDF de bigrams y trigrams tan rápido como podrías hacerlo por palabras. – danben

+0

@ ʞɔıu: generalmente se describe en términos simples, pero no es necesario aplicarlo de esa manera. Es por eso que mencioné 'una variación en' en mi respuesta. la explicación de danben lo cubre. –

1

Estoy bastante seguro de la combinación de la SIP que identifican el libro como único. En su ejemplo, es muy raro que otro libro tenga "abstracciones agujereadas" y "comida para perros" en el mismo libro.

Sin embargo, estoy haciendo una suposición aquí, ya que no sé a ciencia cierta.

10

Ellos probablemente se está utilizando una variación en el peso tf-idf, la detección de las frases que se producen un gran número de veces en el libro específico, pero pocas veces en todo el corpus menos el libro específico. Repita para cada libro.

Por lo tanto, la "improbabilidad" es relativa a todo el corpus y podría entenderse como "singularidad", o "lo que hace que un libro sea único en comparación con el resto de la biblioteca".

Por supuesto, sólo estoy adivinando.

5

Como punto de partida, me gustaría ver Markov Chains.

Una opción:

  1. construir un corpus de texto del índice completo.
  2. construye un corpus de texto desde el único libro.
  3. para cada frase de la palabra m a n, encuentre la probabilidad de que cada corpus lo genere.
  4. selecciona las N frases con la mayor proporción de probabilidades.

Una extensión interesante sería ejecutar un generador de cadena de Markov donde su tabla de pesas es un aumento de la diferencia entre el corpus global y local. Esto generaría una "caricatura" (literalmente) de las idiosincrasias estilísticas del autor.

+0

Sería interesante ver cómo esto se compara con el método de lucene anterior. – Kevin

+0

Sospecho que podría ser equivalente si el corpus se construye utilizando una ventana al menos tan larga como las frases que se consideran. – BCS

5

LingPipe tiene un tutorial sobre cómo hacer esto, y se vinculan a las referencias. No discuten las matemáticas detrás de él, pero su código fuente está abierto para que pueda buscar en su código fuente.

No puedo decir que sé lo que hace Amazon, porque probablemente lo mantengan en secreto (o al menos simplemente no se han molestado en decírselo a nadie).

2

Lo siento por revivir un hilo viejo, pero llegué aquí para la misma pregunta y encontré que hay un trabajo más nuevo que podría agregar al gran hilo.

Creo que los SIP son más exclusivos de un documento que solo las palabras con puntajes TF-IDF altos. Por ejemplo, en un documento sobre Harry Potter, términos como Hermione Granger y Hogwarts tienden a ser mejores SIP en tanto que términos como magia y Londres no lo son. TF-IDF no es excelente para hacer esta distinción.

Encontré una definición interesante de SIP here. En este trabajo, las frases se modelan como n-grams y su probabilidad de ocurrencia en un documento se calcula para identificar su singularidad.

Cuestiones relacionadas