Showing posts with label 2013. Show all posts
Showing posts with label 2013. Show all posts

Saturday, August 10, 2013

Mallet How to.



En linux es realmente sencillo, sólo descargar y exportar la variable de ambiente en la terminal/línea de comando/consola. En Win igual sólo que hay que saber como editar las variables de entorno.

export MALLET_HOME = 'ruta/donde/esta/mallet'

En general Mallet viene con stopwords definidas para inglés y alemán. Se encuentran en el directorio stoplists. En caso de añadir nuevas stopwords colocarlas en este directorio por llevar un orden, realmente se pueden colocar en cualquier sitio ya que luego en el comando se le añade la ruta del listado de palabras que se desean eliminar.

sample-data: directorio con data de ejemplo.
bin: directorio con el binario, a usar para ejecutar mallet.
test:
src: se puede ver el código de mallet en su mayoría se reduce a contar palabras, el 90 % del tiempo esto es lo que se hace cuando nos referimos a text mining.

Yo creé un directorio llamado data: ahí están todos los txts, de los cuales quiero extraer los tópicos, Mallet también lee el formato csv, donde la primera columna es el título y el resto es el contenido o texto que quiero analizar. cada línea sería un texto o documento diferente.

cosas que no vamos a tocar, ni mirar:
pom.xml, build.xml, Makefile : archivo de configuración de Maven.
lib: librerías para que funcione mallet, un monton de archivos jar.
dist: Archivo jar que contiene la funcionalidad de mallet.
class: archivos binarios ya compilados de Java.



Obtener el formato mallet desde un archivo csv:

./bin/mallet  import-file --input allmyfavorites.csv --output myfavorites.mallet

Obtener el formato Mallet de aproximadamente 6500 articulos:

bin/mallet import-dir --input ./data \
--keep-secuence  true \
--output noticias.mallet \
--stoplist-file ./stoplists/stopwords.txt
comenzó: 5:18 termino 5.19. para 6000 documento bastante rápido veamos..
lo siguiente, hará el trabajo de obtener tópicos mediante el algoritmo LDA:

bin/mallet train-topics \
--input noticias.mallet \
--optimize-interval 20 \
--num-topics 20 \
--word-topic-counts-file  noticias_word-topic-counts.txt \
--output-state noticias-topic-state.gz \
--output-topic-keys noticias_keys.txt \
--output-doc-topics noticias_composition.txt 
Comenzó a las 5.22 aplicando LDA a 6500 documentos.
Terminó : 6y22 :( al menos lo hizo y no dió error de memoria :)
Total time: 56 minutes 46 seconds

Los archivos de salida son 3:

noticias_keys.txt tendría todos los tópicos que encontró el algoritmo.
noticias_composition.txt tendría todos los tópicos, y la porción de cada tópico en cada documento, de este archivo se puede realizar grafos, heatmap, treemap, y es el que contiene la información que podría definir similaridad entre documentos.
noticias-topic-state.gz contiene todas las palabras, que encontró en los distintos documentos, podría servir para hacer una nube de palabras, y para analizar globalmente con R.

Esto se realizó siguiendo este tutoríal: http://programminghistorian.org
La fotografía, es de una exposición donde las ilustraciones deben reflejar lo que contiene el texto de la derecha de la imagen.
Licencia, Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported


Mas info y scripts: https://github.com/j3nnn1/topic_model


Wednesday, January 23, 2013

Este Post lo debía desde el finales 2012 inicio 2013.


Este post es una revisión de las cosas que me quedan por hacer, del 2012 y bueno comencemos:

Entre libros técnicos y no técnicos por estipulados para leer del 2012 estaban:
  • Así habló Zaratustra. -- OK
  • El mago. --OK
  • Text mining with perl. -- OK
  • Game programming with python, lua, and ruby. -- Este quedará para el 2013 xD
Aparte de estos libros leí otros,  como:

  1. Machine Learning versión inglés la versión en español su traducción no es muy buena, y es más cómodo leer el original.
  1. Introduction to Data Mining. Pang-Ning Tan.
Releí 3 de los libros de Douglas Adams. Es divertido uno se puede comer cada libro en una semana de lo gracioso, y bueno que son:
  1. - The Hitchhiker's Guide to the Galaxy.
  2. - The  Restaurant at the End of the universe.
  3. - Life, The Universe, and everything.
Como 3  libros sobre regresión logistica, y R.

Y otros que leí por curiosidad, ya que no me podía creer que la serie True Blood fuera escrita realmente de esa forma, y bueno tenía razón es bien diferente al libro: es una secuencia de 12 libros, "The Southern Vampire Mysteries".


Todos los que dije que iba a comprar no los compre :-(
Y me quedan un monton pendientes para este año (total 4). 

Vi un monton de películas, muchas domingueras, otras muy buenas.
untouchable,  TED (te reiras un monton), seeking for a friend to the end of the world, prête-moi ta main (es una pelicula dominguera) recuerdo las últimas.

Para este 2013, no creo que consiga los 4 libros pero si al menos 2 libros espero comprar y leer. En cuanto a series, creo que este es el último año de HIMYM (How I Met You Mother), y fringe ya terminó (lloré, creí que podría ser otro el final pero sorprendieron, si siguen la serie  vean el final pronto). 

Decidí ver un poco menos de series, y bueno no hay reemplazo para estas series, todavía no he enganchado con alguna otra, de similar trama, si conocen alguna interesante y porque es interesante, me comentan y veré un capitulo aleatorio.

Una amiga me paso unos comics estan buenísimo y con la aplicación de android ACV. Y luego buscando en google conseguí una página donde uno puede curiosear en cuanto a comics:

http://howtoarsenio.blogspot.com

está bueno :D

En síntensis un 2012 fue un año de mucho movimiento, leí un poco más, aprendí, y tengo curiosidad por más en este 2013. Y bueno siempre en la lucha con la procastinación, pomodoreando, y usando evernote (lo máximo).
estoy siguiendo esta metodología:

http://www.thesecretweapon.org/the-secret-weapon-manifesto/manifesto-part-1-the-issue

Para este 2013 quiero salir de mis actividades extracurriculares, y la maestría. creo que esa es la principal meta.

Sobre la imagen, Una amiga me regaló un excelente libro que contiene viñetas de 90 clásicos de la literatura, y bueno compartí una viñeta acá. Medio hace spoiler a una película que recientemente recomiendan ir a ver (muajajajaja.. #foreverspoilers), y un libro que es recomendable leer :).