Ich konnte Python NLTK MegaM-Bibliothek nach ein wenig Arbeit unter Windows 7 arbeiten, die Lösung ist ziemlich einfach (im Nachhinein). Meine Methodik wird im Folgenden detailliert beschrieben und die Links sind enthalten. Ich hoffe, Sie finden sie nützlich.
High-Pegel:
- installieren OCaml Compiler (Special Version: OCamlPro)
- Laden Sie den Quellcode für Magam
- herunterladen und installieren GNU32Make Dienstprogramm
- Bearbeiten Sie die MegaM Makefile in 2 Orte
- Führen Sie Gnu32Make zu Generieren Magam.exe-Datei
- Programmatische zeigen den Ort der megam.exe Datei zu Python NLTK
- Führen Sie den Befehl nltk.MaxentClassifier.train
Links:
- MEGAM SITE:
- Windows OCamlPro Download
- GNU32 Make for Windows
Die blutigen Details
Es gibt einige Besonderheiten dieses Prozesses, die nach Süden leicht kann den Mangel an Dokumentation gegeben gehen - ich möchte die Aufmerksamkeit auf ein paar nennen Ich fand ...
Windows-OCamPro
Es ist sehr wichtig, die OCaml Pro-Version für Windows zu erhalten, die eine in sich geschlossene Einheit ist w/out Abhängigkeiten zu irgendetwas anderes. Die Version, die ich aufgelistet habe, ist genau das, es wird in einem einzigen Verzeichnis deiner Wahl installiert. Es ist sehr wichtig, den Pfad zum Verzeichnis bin zum Systempfad von Windows hinzuzufügen.
MEGAM
Windows ist eine Herausforderung für diese Bibliothek, weil es einige SNAFU ist mit dem Entwickler gehabt hat, so dass Sie die Quelle und kompilieren Sie es auf eigene Faust sind gezwungen, zum Download bereit. Das ist nicht so schwierig wie es zuerst erscheint. Als allgemeiner Prozess ist es ziemlich einfach, eine .Targz-Datei in ein Verzeichnis zu entpacken und sie 2X zu entpacken, um zum Quellverzeichnis zu gelangen. Die wichtigsten 2 Ziele zu erreichen, ist (a) richtig die Makefile bearbeiten und (b) den Pfad hinzufügen des Verzeichnisses, das die resultierende megam.exe Datei enthält zum Windows-Systempfad.
GNU32Win
Dies ist ein straight forward Prozess, nur um sicher zu machen, um den Pfad der zu Ihrem Windows-Systempfad nach der Installation Gnu32Make exe-Datei.
MEGAM Makefile
Im Verzeichnis, in dem Sie die Magam Dateien aus dem Archiv entfernt, gibt es ein Makefile vorhanden ist, in denen es zwei Zeilen, wo Sie das Bearbeitungsrecht erhalten müssen einen einwandfreien Build zu gewährleisten.
Erste: (Swap aus den fett Flaggen in den kommentierten aus Einklang mit dem in der uncommented Linie)
- WITHSTR = str.cma -cclib -lstr
- WITHSTR = str.cma -cclib -lcamlstr
Zweitens: (Swap aus dem Pfad der ersten Zeile mit dem entsprechenden Pfad auf Ihrem System)
HINWEIS: Dieser Weg Muss Punkt zum "\ lib \ caml" Verzeichnis Ihre OcamlPro-Installation auf Ihrem System.
- WITHCLIBS = -I /usr/lib/ocaml/3.09.2/caml
- WITHCLIBS = -I E: \ OCamlPro \ OCPWin64 \ lib \ caml
Run im megam macht dir
In diesem Stadium sollten Sie in der Lage sein, nur Öffnen Sie eine Windows CMD-Shell, wechseln Sie in das Verzeichnis, in dem Sie das Makefile geändert haben, und führen Sie make zum Kompilieren und Generieren der ausführbaren Datei megam.exe aus.
Sie sollten eine Ausgabe ähnlich sehen:
ocamldep * .mli * .ml> .depend ocamlc -g -custom -o megam str.cma -cclib -lcamlstr bigarray.cma machen - 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
Programatically Geben Sie die Lage der Megam.exe Datei zu Pythons NLTK
Der letzte Gotcha ich in war lief, wie man auf Pythonn NLTK genau zeigen den Ort meiner magam.exe Datei. Im aufrufenden Code habe ich die Anweisung so kurz vor der Zeile platziert, wo ich den MaxentClassifier selbst aufgerufen habe, und das funktionierte gut, siehe unten.
Hinweis: Es dauerte eine lange Zeit auf meiner Entwicklungs-Workstation, also seien Sie geduldig.
nltk.config_megam('E:\megam\megam.exe')
self.classifier = nltk.MaxentClassifier.train(train_set, algorithm='megam', trace=0)