Pude hacer funcionar la biblioteca Python NLTK MegaM después de un poco de trabajo en Windows 7, la solución es bastante sencilla (en retrospectiva). Mi metodología se describe a continuación en detalle y los enlaces están incluidos. Espero que los encuentres útiles.
nivel alto:
- Instalar OCaml compilador (versión especial: OCamlPro)
- descargar el código fuente para Magam
- Descargar e instalar la utilidad GNU32Make
- Editar la MegaM Makefile de 2 lugares
- Ejecute Gnu32Make para generar el archivo magam.exe
- Programación indicar la ubicación del archivo megam.exe a Python NLTK
- Ejecutar el comando nltk.MaxentClassifier.train
Enlaces:
- MEGAM SITE:
- Windows OCamlPro Download
- GNU32 Make for Windows
los detalles sangrientos
Hay algunas peculiaridades de este proceso que fácilmente puede ir hacia el sur debido a la falta de documentación - Me gustaría llamar la atención sobre algunos encontré ...
de Windows OCamPro
es muy importante obtener la versión Pro OCaml para Windows que es una entidad autónoma de entrada/salida dependencias w para cualquier otra cosa. La versión que he enumerado es solo eso, se instalará en un solo directorio de su elección. Es muy importante agregar la ruta al directorio bin a la ruta del sistema de windows.
MEGAM
de Windows es un reto para esta biblioteca, ya que ha tenido alguna de SNAFU con el promotor, por lo que se ven obligados a descargar el código fuente y compilarlo por su cuenta. Esto no es tan difícil como parece a primera vista. Como proceso general, es bastante sencillo desarchivar un archivo .Targz en un directorio y desarchivarlo 2 veces para llegar al directorio de origen. El más importante para lograr las metas 2 es (a) editar adecuadamente la Makefile y (b) agregar la ruta del directorio que contiene el archivo resultante megam.exe a la ruta del sistema de ventanas.
GNU32Win
Se trata de un proceso sencillo, basta con que a agregar la ruta del archivo exe Gnu32Make a la ruta del sistema de Windows después de la instalación.
MEGAM de archivo MAKE
En el directorio en el que no almacenados los archivos Magam, existirá un Makefile en el que hay 2 líneas en el que debe obtener el derecho de edición para garantizar una construcción adecuada.
Primera: (SWAP a cabo las banderas negrita en la línea comentada a cabo con la una en la línea de uncommented)
- WITHSTR = str.cma -cclib -lstr
- WITHSTR = str.cma -cclib -lcamlstr
Segundo: (Intercambiar el camino de la primera línea con la trayectoria equivalente en su sistema)
NOTA: Ese punto en el directorio "\ lib \ caml" de la trayectoria necesidad su instalación de OcamlPro en su sistema.
- WITHCLIBS = -I /usr/lib/ocaml/3.09.2/caml
- WITHCLIBS = -I E: \ OCamlPro \ OCPWin64 \ lib \ caml
Ejecutar make en el directorio megam
En esta etapa, usted debería ser capaz de simplemente abra un shell de Windows CMD, cd en el directorio donde modificó el archivo MAKE y simplemente ejecute make para compilar y generar el archivo ejecutable megam.exe.
debería ver una salida similar a:
hacen ocamldep * * .mli .ML> .depend ocamlc -g -custom -o megam str.cma -cclib -lcamlstr bigarray.cma - cclib -lbigarray unix.cma -cclib -lunix -IE: \ OCamlPro \ OCPWin64 \ lib \ caml fastdot_c.c fastdot.cmo intHashtbl.cmo arry.cmo util.cmo data.cmo bitvec.cmo cg.cmo wsemlm.cmo bfgs .cmo pa.cmo perceptron.cmo radapt.cmo kernelmap.cmo abffs.cmo main.cmo
Indicar Programatically la ubicación del archivo Megam.exe a pitones NLTK
La última Gotcha me encontré fue cómo indicar con precisión a Pythonn NLTK la ubicación de mi archivo magam.exe. En el código de llamada, puse la instrucción que indicaba eso justo antes de la línea donde llamé al MaxentClassifier mismo, y que funcionó bien, ver debajo.
Nota: Tardó MUCHO tiempo en mi estación de trabajo de desarrollo, así que sea paciente.
nltk.config_megam('E:\megam\megam.exe')
self.classifier = nltk.MaxentClassifier.train(train_set, algorithm='megam', trace=0)