2017-05-05 7 views
1

Ich habe eine Datenmenge, in der viele Namen wie man1sh anstelle von manish, vikas als v1kas geschrieben werden.Korrigieren der Namen in NLP

Wie kann man diese Namen in nlp korrigieren?

Jede Hilfe wird geschätzt.

+0

In Python würde 'v1kas'.replace (' 1 ',' i ') den Trick machen. Oder ist deine Frage, wie man Zeichenketten mit Zahlen in ihnen identifizieren kann? Oder ist es, wie identifiziere ich Zeichenfolgen mit Zahlen in ihnen, und dann ein Programm schreiben, das intelligent genug ist, um diese Zahlen mit dem richtigen Buchstaben zu ersetzen? – user2263572

Antwort

1

Probieren Sie die auf dem tiefen neuralen Netzwerk basierende Rechtschreibkorrektur aus https://medium.com/@majortal/deep-spelling-9ffef96a24f6 Diese Methode ist zur Zeit die modernste Methode. Hier ist der Code https://github.com/MajorTal/DeepSpell und einige bereits eine Verbesserung über sie https://hackernoon.com/improving-deepspell-code-bdaab1c5fb7e.I bin nicht in der Lage, das Papier zu finden, aber es gibt auch ein Papier veröffentlicht, die Zeichenebene tiefen neuronalen Netzwerk für die Bearbeitung Entfernung mit guten Ergebnissen und einem öffentlichen Datensatz.

Für die oben genannten Methoden benötigen Sie wie für alle Machine Learning-Lösungen Daten für das Training. Wenn Sie keine Daten für Ihren Fall haben, dann sind die alten einfachen Distanzmethoden http://norvig.com/spell-correct.html der einzige Weg.