2016-10-09 6 views
0

Ich möchte eine Zeichenfolge tokenize, und verwendet, um die folgenden Codes:Wie eine Zeichenfolge in Python tokenize 3.5.2

print(raw) 
tokens = nltk.word_tokenize(raw) 
tokens 

'raw' den Text aus HTML-Dateien extrahiert ist. Ich habe 'roh' gedruckt, aber die letzten beiden Zeilen haben nicht funktioniert. Ich habe nltk 3.2.1 und Python 3.5.2. Ich erinnere mich die Schöpfer von Nltk sagte Nltk war noch unter Upgrade für Python 3.

Gibt es also eine andere Möglichkeit, eine Zeichenfolge in der Python 3.5.2 Umgebung zu tokenisieren? Tut BeautifulSoup oder andere Pakete das?

+1

Wenn Sie sagen, die letzten zwei Zeilen "hat nicht funktioniert", könnten Sie genauer sein? Insbesondere was genau war der Input, was war die Ausgabe, die Sie erwartet haben, und was haben Sie eigentlich bekommen? –

+0

Wenn meine Eingabe die Zeichenfolge "Kapitel I an einem außergewöhnlich heißen Abend ..." ist, sollte die Ausgabe der letzten Zeile in etwa so aussehen ['Chapter', 'I', 'on', 'an', "ausnahmsweise", ...]. Aber jetzt wird nichts angezeigt, sieht nur aus wie der Code übersprungen wurde. – dwill

+0

@ Jon Ericson Und ich habe keine Fehlermeldung erhalten. – dwill

Antwort

0

Für die letzte Zeile Code: Token Ich folgte ein Beispiel auf Buch. Nachdem Sie dem Vorschlag von Julius gefolgt sind und ihn einfach in

print(tokens) 
geändert haben

Es hat funktioniert. So funktioniert ntlk 3.2 eigentlich für Python 3.5. das ist großartig.

+1

Beachten Sie, dass dies nichts mit dem Nltk zu tun hat. Ihr Problem bestand darin, dass das Schreiben eines Variablennamens an der interaktiven Eingabeaufforderung das Ergebnis ausgibt, dies ist jedoch beim Ausführen eines Skripts nicht der Fall. – alexis

+0

@alexis danke für die Klärung. Ich habe es als Skript ausgeführt. – dwill

+0

Ja, das war klar. Das Beispiel, das Sie kopiert haben, war für eine interaktive Sitzung. – alexis