Ich habe versucht, meinen Kopf darum zu drehen, warum das passiert, aber ich hoffe, dass jemand etwas Licht in diese Sache bringen kann. Ich versuche, den folgenden Text zu markieren:
%Vor%mit dem folgenden Code:
%Vor%und bekomme folgendes Ergebnis:
%Vor%Und ich verstehe es nicht. Weiß jemand, was der Grund für diese Inkonsistenz ist? Ich bin nicht besonders auf die Genauigkeit der Pos-Tagging, weil ich versuche, einige Vorlagen zu extrahieren, aber es scheint verschiedene Tags an verschiedenen Instanzen für ein Wort zu verwenden, das "fast" gleich aussieht.
Als Lösung habe ich alle Zahlen durch 1 ersetzt und das Problem gelöst:
%Vor%Aber ich bin neugierig, warum es die Instanz im ersten Fall mit verschiedenen Tags getaggt hat. Irgendwelche Vorschläge?
Mein bestes Bemühen, das dieses von jemandem zu verstehen, der nicht den gesamten braunen Korpus verwendet :
Beachten Sie, dass Wörter, die der Tagger hat nicht gesehen, wie zum Beispiel verschrien, empfange ein Tag von None.
Also, ich denke, etwas, das wie ae1.111
aussieht, muss in der Corpus-Datei erscheinen, aber nichts wie ae0.842
. Das ist irgendwie komisch, aber das ist der Grund für das -NONE-
-Tag.
Edit: Ich bin super-neugierig geworden habe den Brown-Corpus selbst runtergeladen und im Klartext gesucht. Die Zahl 111
erscheint 34 Mal und die Zahl 842
erscheint nur 4 Mal. 842
wird nur entweder in der Mitte der Dollarbeträge oder als die letzten 3 Ziffern eines Jahres angezeigt, und 111
wird mehrmals als Seitennummer angezeigt. 775
wird auch einmal als Seitennummer angezeigt.
Also, ich werde eine Vermutung machen, dass wegen Benfords Gesetz Sie enden werden übereinstimmende Zahlen, die mit 1s, 2s und 3s viel häufiger beginnen als Zahlen, die mit 8s oder 9s beginnen, da diese häufiger die Seitenzahlen einer zufälligen Seite sind, die in einem Buch zitiert würde. Ich wäre wirklich interessiert daran herauszufinden, ob das stimmt (aber nicht interessiert genug, um es selbst zu machen, natürlich!).
Es ist "deterministisch" in dem Sinne, dass der gleiche Satz jedes Mal mit dem gleichen Algorithmus getaggt wird, aber da Ihre Wörter nicht in den Daten von nltk enthalten sind (in der Tat, sind nicht einmal echte Wörter in echten Sätzen) wird es einen Algorithmus verwenden, um zu versuchen, zu folgern, was die Tags sein würden. Das bedeutet, dass Sie verschiedene Markierungen haben können, wenn sich die Wörter ändern (selbst wenn die Änderung eine andere Zahl ist, als Sie) und dass die Markierungen sowieso keinen Sinn ergeben.
Was mich wundern lässt, warum Sie versuchen, NLP für nicht-natürliche Sprachkonstrukte zu verwenden.
Tags und Links python machine-learning nlp nltk