Ich möchte die word2vec-Implementierung von Google verwenden, um ein System zur Erkennung benannter Entitäten zu erstellen. Ich habe gehört, dass rekursive neuronale Netze mit Backpropagation durch Struktur für Aufgaben zur Erkennung benannter Entitäten gut geeignet sind, aber ich konnte für diesen Modelltyp keine angemessene Implementierung oder ein geeignetes Lernprogramm finden. Da ich mit einem atypischen Korpus arbeite, haben Standard-NER-Tools in NLTK und ähnlichem eine sehr schlechte Leistung erbracht, und es sieht so aus, als müsste ich mein eigenes System trainieren.
Kurz gesagt, welche Ressourcen stehen für diese Art von Problem zur Verfügung? Gibt es eine Standardimplementierung für rekursive neuronale Netze?
machine-learning
python
neural-network
nlp
Madison May
quelle
quelle
Antworten:
Anstelle von "rekursiven neuronalen Netzen mit Rückübertragung" können Sie auch den Ansatz von Frantzi et al. al. am National Center for Text Mining (NaCTeM) an der University of Manchester für Termine (siehe: http://www.nactem.ac.uk/index.php und http://personalpages.manchester.ac.uk/staff/sophia. ananiadou / IJODL2000.pdf ) Anstelle von tiefen neuronalen Netzen kombinieren sie "linguistische und statistische Informationen".
quelle
Zwei kürzlich erschienene Artikel verwenden eine Deep-Learning-Architektur namens CharWNN, um dieses Problem anzugehen. CharWNN wurde zum ersten Mal verwendet, um die neuesten Ergebnisse (ohne handgefertigte Funktionen) für das Part of Speech (POS) -Tagging auf einem englischen Korpus zu erhalten.
Der zweite Artikel desselben Autors verwendet dieselbe (oder eine ähnliche) Architektur, um vorherzusagen, ob ein Wort zu 10 Named-Entity-Klassen gehört, mit offensichtlichen Ergebnissen auf dem neuesten Stand der Technik.
quelle
Versuchen Sie es unter http://deeplearning4j.org/word2vec.html . Dies hat eine Implementierung von Word2Vec anstelle von Bag of Words für NER und andere NLP-Aufgaben.
quelle
Im Folgenden finden Sie einige Ideen zur Verwendung von Wortvektoren für NER, die einen meist unbeaufsichtigten word2vec-zentrierten Ansatz verwenden.
findCluster(['joy', 'surprise', 'disgust', 'trust', 'fear', 'sadness', 'anger', 'anticipation'])
eine Liste mit Hunderten von Wörtern zurückgeben, die sich hauptsächlich auf Emotionen beziehen. Wenn Sie diese Liste als "Emotion" bezeichnen, haben Sie dort einen Begriff "Emotion" definiert, der auf dem Vektorraum basiert.quelle