Pregunta

Estoy trabajando en un proyecto en el momento en que necesito elegir las frases más comunes en un gran cuerpo de texto. Por ejemplo, digamos que tenemos tres oraciones como las siguientes:

  • El perro saltó sobre la mujer.
  • El perro saltó en el coche.
  • El perro saltó subiendo las escaleras.

Del ejemplo anterior me gustaría extraer "El perro saltó"Como es la frase más común en el texto. Al principio pensé:" Oh, usemos un gráfico dirigido [con nodos repetidos] ":

Gráfico dirigido http://img.skitch.com/20091218-81ii2femnfgfipd9jtdg32m74f.png

EDITAR: Disculpas, cometí un error al hacer este diagrama "sobre", "en" y "arriba" debería vincular a "The".

Iba a mantener un recuento de cuántas veces ocurrió una palabra en cada objeto de nodo ("el" sería 6; "perro" y "salto", 3; etc.) pero a pesar de muchos otros problemas, el principal surgió cuando surgió cuando surgió cuando surgió cuando surgió el principal Agregamos algunos ejemplos más como (ignore la gramática mala :-)):

  • El perro saltó de arriba abajo.
  • El perro saltó como si ningún perro hubiera saltado antes.
  • El perro saltó felizmente.

Ahora tenemos un problema desde entonces "perro"Iniciaría un nuevo nodo raíz (al mismo nivel que" el ") y no identificaríamos"el perro saltó"Como ahora es la frase más común. Así que ahora estoy pensando que tal vez podría usar un gráfico no dirigido para mapear las relaciones entre todas las palabras y eventualmente elegir las frases comunes, pero no estoy seguro de cómo va a funcionar esto tampoco, A medida que pierde la importante relación de orden entre las palabras.

Entonces, ¿alguien tiene alguna idea general sobre cómo identificar frases comunes en un gran cuerpo de texto y qué estructura de datos usaría.

Gracias Ben

¿Fue útil?

Solución

Mira esta pregunta relacionada: ¿Qué técnicas/herramientas hay para descubrir frases comunes en trozos de texto? También relacionado con el problema de subcadena común más largo.

He publicado esto antes, pero uso Riñonal Para todas mis tareas de minería de datos y es muy adecuado para este tipo de análisis. En particular, mira el tm paquete. Aquí hay algunos enlaces relevantes:

En general, hay una gran cantidad de paquetes de minería de texto Sobre la vista de procesamiento del lenguaje natural sobre CRAN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top