2017-12-14 5 views
-1

Ich habe einen UIMA-Stack mit OpenNLP erstellt, der lokal über alle Kerne läuft. Es macht eine Vielzahl von Aufgaben einschließlich Lesen aus einer CSV-Datei, Einfügen von Text in eine Datenbank, Parsen des Textes, POS-Tagging-Text, Chunking-Text, etc. Ich habe es auch zu einer Vielzahl von Aufgaben über einen Funken-Cluster ausgeführt.uima, cleartk, deeplearning4j zusammenpassen?

Wir möchten dem Stack einige Algorithmen für maschinelles Lernen hinzufügen, und DeepLearning4j kam als sehr praktikable Option in Frage. Leider war es nicht klar, wie DL4J in das, was wir gerade haben, integriert wird oder ob es einfach den Stack repliziert, den ich jetzt habe.

Was ich in den UIMA, ClearTK und Deeplearning4j Sites nicht gefunden habe, ist, wie diese drei Bibliotheken zusammenpassen. Implementiert DeepLearning4J einen ClearTK-Satz abstrakter Klassen, der OpenNLP-Funktionen aufruft? Welchen Nutzen bietet ClearTK? Muss ich mir Gedanken darüber machen, wie DeepLearning4J etwas mit dem ClearTK-Framework implementiert?

Danke!

Antwort

0

Soweit ich verstehe, Sie laufen eine UIMA-Pipeline, die einige OpenNLP-basierte AnalysisEngines verwendet, soweit ist das in Ordnung. Was aus Ihrer Frage nicht klar ist, ist das, was Sie in Bezug auf Feature statt Tooling suchen. Also ich denke, das ist das erste, was zu klären.

Abgesehen davon ist Apache UIMA ein Architektur-Framework; Dort können Sie OpenNLP, DL4J, ClearTK oder etwas anderes für Ihre unstrukturierte Informationsverarbeitungsaufgabe integrieren.

Im Apache OpenNLP-Projekt führen wir einige Experimente zur Integration verschiedener DL-Frameworks durch. Sie können einen https://issues.apache.org/jira/browse/OPENNLP-1009 (aktuelle Prototypen basieren auf DL4J) haben.

Da Sie erwähnt haben, dass Sie einen Apache Spark-Cluster verwenden, könnte DL4J eine gute Lösung sein, da es sich problemlos integrieren sollte.

+0

Richtig! Vielen Dank! Ich denke, das Problem, das wir herausfinden wollen, ist wie. Zum Beispiel habe ich den Stack mit der OpenNLP-Kette arbeiten. Ich sehe nicht, wie ClearTK in das Framework passt oder es erweitert. Ist es etwas, das ich anrufen oder explizit konfigurieren muss? Darüber hinaus, nachdem OpenNLP die Low-Level-Prozesse getan hat, rufe ich dann die DL4J-Methoden (z. B. Word2vec)? –

+0

ClearTK ist ein Wrapper-Framework –

0

Wir verwenden es nur als Teil einer Reihe von Schnittstellen für NLP mit dl4j. Eine Tokenizer-Factory und ein Tokenizer, die intern UIMA für die Tokenisierung und Satzsegmentierung mit unserer Satztest-Schnittstelle verwenden. Das unterscheidet sich sehr von der Erstellung eigener Modelle mit deeplearning4j.

+0

Also wäre es fair zu sagen, dass DL4J ein fast völlig separates Projekt aus dem UIMA-Framework ist, obwohl es es integrieren könnte, wenn es darum geht, gemeinsame NLP-Aufgaben zu abstrahieren? –

+0

Ja, definitiv! Wir verwenden es weitgehend als externen Tokenizer/Satz Segmentierer. –