Ich versuche, ein intelligentes Modell zu generieren, das eine Reihe von Wörtern oder Zeichenfolgen scannen und mithilfe von maschinellem Lernen oder Deep Learning als Namen, Handynummern, Adressen, Städte, Bundesstaaten, Länder und andere Einheiten klassifizieren kann.
Ich hatte nach Ansätzen gesucht, aber leider keinen Ansatz gefunden. Ich hatte versucht, mit einer Worttüte Modell- und Handschuhworteinbettung vorherzusagen, ob eine Zeichenfolge ein Name oder eine Stadt usw. ist.
Aber ich habe es mit dem Bag of Words-Modell nicht geschafft und mit GloVe gibt es viele Namen, die im Einbettungsbeispiel nicht behandelt werden: - Lauren ist in Glove vorhanden und Laurena nicht
Ich habe diesen Beitrag hier gefunden , der eine vernünftige Antwort hatte, aber ich konnte den Ansatz zur Lösung dieses Problems nicht verwenden, abgesehen von der Tatsache, dass NLP und SVM zur Lösung des Problems verwendet wurden.
Anregungen sind willkommen
Danke und Grüße, Sai Charan Adurthi.
quelle
Antworten:
Sie können Zeichengramme anwenden - Intuitiv kann es einen großen Unterschied im Zeichensatz zwischen einer Telefonnummer und einer E-Mail-Adresse geben. und dann den Zeichengrammvektor an SVM übergeben, um eine Vorhersage zu treffen. Sie können dies mithilfe von sklearn mithilfe der folgenden Feature-Extraktoren implementieren.
TfIdfVectorizer (Analyzer = 'Zeichen')
CountVectorizer (Analyzer = 'Zeichen')
Kreuzvalidierung des ngram-Bereichs und der Slack-Variablen von SVM zur Feinabstimmung Ihres Modells.
quelle
Das Anwenden gängiger kategorialer Bezeichnungen auf Wörter wird normalerweise als NER (Named Entity Recognition) bezeichnet .
NER kann durch statische Regeln (z. B. reguläre Ausdrücke) oder gelernte Regeln (z. B. Entscheidungsbäume) erfolgen. Diese Regeln sind oft spröde und verallgemeinern sich nicht. Bedingte Zufallsfelder (CRF) sind oft eine bessere Lösung, da sie die latenten Zustände von Sprachen modellieren können. Der aktuelle Stand der Technik in NER wird mit einer Kombination von Deep-Learning-Modellen erreicht .
Der Stanford Named Entity Recognizer und spaCy sind Pakete zur Durchführung von NER.
quelle