2010-08-13 14 views
10

Estoy analizando oraciones. Quiero saber el contenido relevante de cada oración, definido vagamente como "palabras semi-únicas" en relación con el resto del corpus. Algo similar a las "frases estadísticamente improbables" de Amazon, que parecen (a menudo) transmitir el carácter de un libro a través de extrañas cadenas de palabras.¿Cómo puedo encontrar solo palabras "interesantes" de un corpus?

Mi primer paso fue comenzar a hacer una lista de palabras comunes. Esto elimina los más fáciles como a, the, from, etc. Obviamente, resulta que esta lista es bastante larga.

Una idea es generar esta lista: Hacer un histograma del corpus' frecuencias de palabras, y cortar el 10% o algo similar (es decir the se produce 700 veces, from 600 veces, pero micropayments sólo el 50, que es debajo del límite y por lo tanto relevante).

Otro algoritmo que acabo de aprender de Hacker News hoy es el Tf idf, que parece que podría ser útil.

¿Qué otros enfoques funcionarían mejor que mis dos ideas?

Respuesta

6

Tome un vistazo a this article (estadísticas nivel de las palabras:. Palabras clave en los textos literarios y secuencias simbólicas, publicados en Phys Rev. E Encontrar).

La imagen en la primera página junto con su título explican la observación crucial. En Don Quijote, las palabras "pero" y "Quijote" aparecen con frecuencias similares, pero sus espectros son bastante diferentes (las ocurrencias de "Quijote" se agrupan mientras que las ocurrencias de "pero" están más espaciadas). Por lo tanto, "Quijote" se puede clasificar como una palabra interesante (palabra clave) mientras que "pero" se ignora.

Podría ser o no lo que está buscando, pero supongo que no hará daño estar familiarizado con este resultado.

+0

+1, esto es muy interesante, ¡gracias! –

+3

Funciona bastante bien en el libro de Darwin, pero en el Ulises de Joyce, produce algunos resultados un poco menos útiles: yo, dije, tú, ella, ella, bloom, mr, project, me ... son las primeras diez palabras. Si se extiende a los próximos cuarenta, obtiene: mulligan, es, joe, buck, he, was, it, que, citizen, eglinton, douce, my, like, j, cissy, o, we, tap, omolloy, deasy , que, tenía, alf, también, conmee, gutenberg, haines, myles, martin, kennedy, fuera, su, tu, ellos, ned, gerty, hes, lenehan, edy ... Por cierto, me doy cuenta de que no lo hice t quitar la logorrea del Proyecto Gutenberg lo suficientemente bien !! –

3

Creo que lo que Amazon llama "Frases estadísticamente improbables" son palabras que son improbables con respecto a su enorme corpus de datos. En efecto, incluso si una palabra se repite 1000 veces en un libro A dado, si ese es el único lugar donde aparece, entonces es un SORBO, porque la probabilidad de que aparezca en un libro dado es nulo (porque es específico para el libro A). Realmente no se puede duplicar esta gran cantidad de datos para comparar información, a menos que trabajes con muchos datos.

¿Qué es una gran cantidad de datos? Bueno, si estás analizando textos literarios, entonces querrás descargar y procesar un par de miles de libros de Gutenberg. Pero si está analizando textos legales, entonces tendría que alimentar específicamente el contenido de los libros legales.

Si, como probablemente sea el caso, no tiene muchos datos como un lujo, entonces tiene que confiar, de una forma u otra, en el análisis de frecuencia. Pero en lugar de considerar las frecuencias relativas (fracciones del texto, como a menudo se considera), considere las frecuencias absolutas.

Por ejemplo, Hápax también conocido en el dominio de análisis de red como 1-ratones, podría ser de particular interés. Son palabras que solo aparecen una vez en un texto dado.Por ejemplo, en el de James Joyce Ulysses, estas palabras solo aparecen una vez: postexilico, corrosivo, romanys, macrocosmos, diaconal, compresibilidad, aungier. No son frases estadísticamente improbables (como sería "Leopold Bloom") por lo que no caracterizan el libro. Pero son términos que son lo suficientemente raros que solo aparecen una vez en la expresión de este escritor, por lo que puede considerar que caracterizan, de alguna manera, su expresión. Son palabras que, a diferencia de las palabras comunes como "el", "color", "malo", etc., expresamente intentó usar.

Así que estos son un artefacto interesante, y es que son bastante fáciles de extraer (piense en O (N) con memoria constante), a diferencia de otros indicadores más complejos. (Y si quiere elementos que son ligeramente más frecuentes, puede recurrir a 2 ratones, ..., 10 ratones que son igualmente fáciles de extraer).

3

TF-IDF es una manera de hacerlo. Si quieres hablar sobre frases en lugar de palabras, además de las excelentes referencias anteriores, aquí hay un esquema simple:

Crear una markov chain de un gran corpus de ejemplos. En pocas palabras, construyes una cadena de markov al registrar la frecuencia de cada n-tupla en tu texto de entrada. Por ejemplo, la oración "esto es una prueba" con 3-tuplas sería (esto, es, a), (es, a, prueba). Luego, agrupa cada n-tupla en los primeros n-1 términos, lo que le permite responder la pregunta "dadas las palabras precedentes n-1, ¿cuál es la probabilidad de que la siguiente palabra sea esta?"

Ahora, para cada frase en el documento de entrada, recorra la cadena de Markov. Calcule la probabilidad de ver la oración multiplicando todas las probabilidades que encuentra al atravesar la cadena. Esto le da una estimación de cuán 'probable' es esta oración en el corpus de entrada. Es posible que desee multiplicar esta probabilidad por la longitud de la oración, ya que las oraciones más largas son menos probables, estadísticamente.

Ahora ha asociado con cada oración en su entrada una probabilidad. Elija las oraciones menos probables: estas son las 'interesantes', para alguna definición de interesante.

+0

+1 esto suena interesante. ¿Puede por favor referirme el periódico? – KillBill

Cuestiones relacionadas