Ich verwende NLTK, um Text zu verarbeiten, der aus PDF-Dateien extrahiert wird. Ich kann den Text größtenteils intakt wiederherstellen, aber es gibt viele Fälle, in denen Leerzeichen zwischen Wörtern nicht erfasst werden, daher bekomme ich Wörter wie ifI
anstelle von if I
oder thatposition
anstelle von that position
oder andhe's
statt and he's
.Tokenizing ungeteilter Wörter aus OCR mit NLTK
Meine Frage ist das: Wie kann ich NLTK verwenden, um nach Wörtern zu suchen, die es nicht erkennt/nicht gelernt hat, und um zu sehen, ob es "nahegelegene" Wortkombinationen gibt, die wahrscheinlicher sind? Gibt es einen eleganteren Weg, diese Art von Prüfung durchzuführen, als einfach durch das unerkannte Wort zu laufen, ein Zeichen nach dem anderen, es zu teilen und zu sehen, ob es zwei erkennbare Wörter gibt?
Danke für den Vorschlag, hatte nicht daran gedacht, eine Rechtschreibprüfung zu verwenden. Lösung funktioniert gut, wenn/wenn Sie Pyenchant installiert bekommen. Ich hatte große Schwierigkeiten, die Abhängigkeiten von pyenchant zu installieren (es gibt kein "pip install pyenchant"). Mac-Binärdateien vor Ort erfordern Python 2.5 oder 2.6, der Python-Paket-Index bietet Binärdateien für Python 2.7, erfordert aber Homebrew Python. Der pyenchant-bidst-osx-sources-Tarball, der auf der Website zur Verfügung gestellt wird, hat ein Makefile, das sich wiederholt verschluckt. Die Installation von gettext und glib mit Homebrew, & libiconv & enchant von der Quelle beendet, dann pyenchant mit setup.py build/install. – charlesreid1
@ charlesreid1 Wow. Es tut mir leid zu hören, dass die Mac-Binärdateien nicht auf dem neuesten Stand sind. Danke, dass du deinen Prozess hier notiert hast. Hoffentlich findet jemand anderes das nützlich. –