Was herunterladen um nltk.die tokenisierung.word_tokenize Arbeit?
Werde ich verwenden nltk.tokenize.word_tokenize
auf einem cluster, wo mein Konto ist sehr begrenzt durch Speicherplatz-Kontingent. Zu Hause habe ich heruntergeladen alle nltk
Ressourcen durch nltk.download()
aber, wie ich herausgefunden habe, dauert es ~2,5 GB.
Scheint das ein bisschen übertrieben für mich. Könnten Sie empfehlen, was sind die minimalen (oder fast minimale) Abhängigkeiten für nltk.tokenize.word_tokenize
? So weit ich gesehen habe nltk.download('punkt')
aber ich bin nicht sicher, ob es ausreichend ist, und was ist die Größe. Was genau soll ich ausführen, damit es funktioniert?
- Leicht nichts zu tun haben, aber möchten Sie vielleicht zu "Auschecken" spacig als alternative zu NLTK.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie richtig. Sie müssen Punkt Tokenizer-Modelle. Es hat 13 MB und
nltk.download('punkt')
sollte den trick tun.nltk.download()
, die NLTK-Downloader geöffnet werden soll (eine GUI-Anwendung), so können Sie alle Pakete.python -m nltk.downloader 'punkt'
. Beachten Sie auch, dass die 13 MB die Zip-Datei, die Letzte Sache ist ~ 36 MB.In kurzen:
ausreichen würde.
In langen:
Sie nicht erforderlich, um download alle Modelle und Korpora zur Verfügung, die in NLTk wenn Sie sind nur zu verwenden
NLTK
für tokenization.Eigentlich, wenn Sie nur mit
word_tokenize()
ist, dann wirst du nicht wirklich brauchen, die Ressourcen vonnltk.download()
. Wenn wir uns den code, der Standard -word_tokenize()
das ist im Grunde die TreebankWordTokenizer sollten keine zusätzlichen Ressourcen:Aber:
Aber es sieht aus wie das ist nicht der Fall, wenn wir uns anschauen,https://github.com/nltk/nltk/blob/develop/nltk/tokenize/init.py#L93. Es scheint, wie
word_tokenize
hat implizit genanntsent_tokenize()
erfordert diepunkt
Modell.Ich bin mir nicht sicher, ob das ein bug oder ein feature ist, aber es scheint wie die alte idiom veraltet ist angesichts des aktuellen Codes:
Kann es einfach:
Aber wir sehen, dass die
word_tokenize()
flacht die Liste der Liste von string zu einer Liste von string.Alternativ können Sie versuchen, eine neue tokenizer Hinzugefügt werden NLTK
toktok.py
basierend auf https://github.com/jonsafari/tok-tok erfordert keine vortrainierte Modelle.