Bestehende API für NLP in C++?
Ist/sind die dort vorhandenen C++ - NLP API(s) gibt? Die nächste Sache, die ich gefunden habe, ist CLucene
einem Hafen, der Lucene
. Allerdings scheint es ein wenig veraltet und die Dokumentation ist bei weitem nicht vollständig.
Idealerweise sollte dieser/diese API(s) ermöglichen würde, tokenization, stemming und PoS-tagging.
- mögliche Duplikate von c/c++ NLP-Bibliothek
- diese Frage ist vier Jahre alt und nicht ausreichend beantworten, da es konzentriert sich auf PoS-tagger.
- daher der bounty =)
- oh, my bad, dann :]
- Ich denke, der OP meinte, "Wortart" für PoS
Du musst angemeldet sein, um einen Kommentar abzugeben.
Freeling ist in C++ geschrieben, obwohl die meisten Leute verwenden einfach Ihre Programme zum ausführen des tools: http://devel.cpl.upc.edu/freeling/downloads?order=time& - desc=1
Versuchen Sie so etwas wie DyNet, es ist eine generische neuronale net framework, aber die meisten der Prozesse mit Schwerpunkt auf NLP, weil die Betreuer sind Schöpfer des NLP.
Oder vielleicht Marian-NMT, für die es entworfen wurde-Folge-zu-Folge-Modell der maschinellen übersetzung, aber potenziell viele NLP-Aufgaben strukturiert werden kann als eine Folge-zu-Folge-Aufgabe.
Veraltet
Vielleicht können Sie versuchen, Ellogon http://www.ellogon.org/ , Sie haben GUI-Unterstützung und auch C/C++ - API für NLP zu.
wenn Sie entfernen Sie die Beschränkung auf c++ , erhalten Sie die perfekte NLTK (python)
den verbleibenden Aufwand ist dann die Schnittstelle zwischen python und c++.
NLTK
eine cython - / c - /c++ - port wäre exponentiell erhöhen die Bearbeitungszeit für realistische big data.Apache Lucy bekommen würde Sie zu einem Teil der Art und Weise gibt. Es ist unter aktiver Entwicklung.
Vielleicht können Sie Weka-C++. Es ist die sehr beliebte Weka Bibliothek für machine learning und data mining (einschließlich NLP) portiert von Java nach C++.
Weka unterstützt tokenization und Wortstamm, werden Sie wahrscheinlich benötigen, zu trainieren, einen Klassifikator für PoS-tagging.
Ich nur verwendet, Weka mit Java aber, so fürchte ich, kann es nicht geben Ihnen mehr details zu dieser version.
Es ist TurboParser von André Martins an der CMU, hat auch ein Python-wrapper. Es ist ein online-demo für Sie.
Dieses Projekt bietet kostenlos (auch für kommerzielle Nutzung) state-of-the-art-Informations-Extraktions-tools. Die aktuelle Version enthält tools für die Durchführung named entity extraction und binäre relation-detection-sowie training-tools für benutzerdefinierte Extraktoren und Bezug Detektoren.
MITIE auf der dlib, eine high-performance-Maschine-learning-Bibliothek, MITIE macht die Verwendung von mehreren state-of-the-art-Techniken, einschließlich der Verwendung von Verteilungswirkungen Wort Einbettungen und Strukturelle Support-Vector-Maschinen[3]. MITIE bietet mehrere vor-geschult sind, Modelle, die verschiedene Ebenen der Unterstützung für Englisch und Spanisch, ausgebildet mit einer Vielzahl von linguistischen Ressourcen (z.B., CoNLL 2003, ACE, Wikipedia, Freebase, und Gigaword). Der Kern MITIE software ist in C++ geschrieben, aber bindings für diverse andere software-Sprachen, darunter Python, R, Java, C und MATLAB es einem Benutzer erlauben, schnell zu integrieren MITIE in seiner/Ihrer eigenen Anwendungen.
https://github.com/mit-nlp/MITIE