2011-03-07 14 views
5

Tenemos algunos datos textuales no estructurados en nuestro almacén de datos del motor de aplicaciones. Quería crear una nube de etiquetas "única" de una propiedad en un subconjunto de los objetos del almacén de datos. Después de echar un vistazo, no veo ningún marco que me permita hacer esto sin escribirlo yo mismo.nube de etiquetas del almacén de datos del motor de aplicaciones de Google con python

La forma que tenía en mente era:

  • Escribir un mapa (como en MapReduce) función que pasar por cada objeto del tipo particular en un almacén de datos,
  • Dividir la cadena de texto en palabras
  • para cada palabra incrementar un contador
  • uso los recuentos finales para generar la nube de etiquetas con algún software de terceros (fuera de línea - alguna sugerencia venido)

Como nunca he hecho esto antes, estaba vagando si primero hay algún marco alrededor que hace esto por mí (por favor) de si no me estoy acercando al camino correcto. Por favor, siéntase libre de señalar agujeros en el plan.

Respuesta

5

Feed TagCloud y PyTagCloud son dos posibilidades.

  • Feed TagCloud Generator Gadget for Google App Engine podría satisfacer sus necesidades . Desafortunadamente, es indocumentado. Afortunadamente es bastante simple, aunque no estoy seguro de qué tan adecuado es para sus necesidades.

    Funciona con una alimentación y aparece a ser algo flexible, por lo que si tiene un feed de su sitio, puede ser que no sea demasiados problemas para integrar , aunque todo el procesamiento estará en línea.

  • PyTagCloud también vale la pena un vistazo . Podrá hacer el procesamiento sin conexión, y genera nubes bastante atractivas.

    Todo lo que tendrá que hacer para que este funcione, es exportar su almacén de datos; los recuentos y divisiones serán hechos para usted, ya que PyTagCloud puede operar en archivos de texto. Después de las instrucciones en App Engine documentos acerca de Uploading and Downloading Data le mostrarán cómo exportar el almacén de datos a su máquina local . Querrá escribir una "Clase de exportador", y tener PyTagCloud operar en la salida.


Si decide rodar su propia, es probable que desee omitir el procesamiento en línea y fuera de línea usar el método de Uploading and Downloading Data anterior, a menos que desee una nube que se actualiza dinámicamente. Iterar sobre toda su tienda de datos y hacer recuentos en línea es la parte más molesta y costosa de la tarea. Solo tiene sentido hacer esto si quiere o necesita una nube de etiquetas dinámica. Como se indicó anteriormente, recomendaría escribir una "Clase de exportador" y operar de forma local.

+0

Gracias Ezra - esa es una información muy útil allí. –

Cuestiones relacionadas