Mój kod:
import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
Komunikat o błędzie:
[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load
opened_resource = _open(resource_url)
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open
return find(path_, path + ['']).open()
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find
raise LookupError(resource_not_found)
LookupError:
Resource u'tokenizers/punkt/english.pickle' not found. Please
use the NLTK Downloader to obtain the resource:
>>>nltk.download()
Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''
Próbuję uruchomić ten program na komputerze z systemem Unix:
Zgodnie z komunikatem o błędzie zalogowałem się do powłoki Pythona z mojego komputera z systemem UNIX, a następnie użyłem poniższych poleceń:
import nltk
nltk.download()
a następnie pobrałem wszystkie dostępne rzeczy za pomocą opcji d-down loader i l-list, ale problem nadal występuje.
Starałem się znaleźć rozwiązanie w Internecie, ale otrzymałem to samo rozwiązanie, które zrobiłem, jak wspomniałem w powyższych krokach.
Odpowiedzi:
Aby dodać do odpowiedzi alvas , możesz pobrać tylko
punkt
korpus:Pobieranie
all
brzmi dla mnie jak przesada. Chyba że tego chcesz.źródło
Jeśli chcesz tylko pobrać
punkt
model:Jeśli nie masz pewności, których danych / modelu potrzebujesz, możesz zainstalować popularne zestawy danych, modele i taggery od NLTK:
Dzięki powyższemu poleceniu nie ma potrzeby korzystania z GUI do pobierania zestawów danych.
źródło
Mam rozwiązanie:
po uruchomieniu NLTK Downloader
d) Pobierz l) Lista u) Aktualizacja c) Konfiguracja h) Pomoc q) Zakończ
Downloader> d
Pobierz który pakiet (l = lista; x = anuluj)? Identyfikator> punkt
źródło
Z poziomu powłoki możesz wykonać:
Jeśli chcesz zainstalować popularne korpusy / modele NLTK:
Jeśli chcesz zainstalować wszystkie korpusy / modele NLTK:
Aby wyświetlić listę pobranych zasobów:
źródło
Otwórz monit Pythona i uruchom powyższe instrukcje.
Funkcja sent_tokenize używa instancji PunktSentenceTokenizer z modułu nltk.tokenize.punkt . Ta instancja została już przeszkolona i działa dobrze w wielu językach europejskich. Dzięki temu wie, jakie znaki interpunkcyjne i znaki oznaczają koniec zdania i początek nowego zdania.
źródło
To samo przytrafiło mi się ostatnio, wystarczy pobrać paczkę "punkt" i powinno działać.
Czy po wykonaniu polecenia „list” (l) po „pobraniu wszystkich dostępnych rzeczy” wszystko jest zaznaczone w następujący sposób ?:
Jeśli widzisz tę linię z gwiazdą, oznacza to, że ją masz i nltk powinien być w stanie ją załadować.
źródło
Przejdź do konsoli Pythona, wpisując
w terminalu. Następnie wpisz następujące 2 polecenia w powłoce Pythona, aby zainstalować odpowiednie pakiety:
To rozwiązało problem.
źródło
Mój problem polegał na tym, że zadzwoniłem
nltk.download('all')
jako użytkownik root, ale proces, który ostatecznie użył nltk, był innym użytkownikiem, który nie miał dostępu do / root / nltk_data, z którego pobrano zawartość.Więc po prostu rekurencyjnie skopiowałem wszystko z lokalizacji pobierania do jednej ze ścieżek, w których NLTK szukało tego w następujący sposób:
źródło
Wykonaj następujący kod:
Następnie pojawi się narzędzie do pobierania NLTK.
źródło
Po dodaniu tej linii kodu problem zostanie rozwiązany:
źródło
Wystąpił błąd pomimo importowania następujących danych,
ale w przypadku Google Colab rozwiązało to mój problem.
źródło
Prosta metoda nltk.download () nie rozwiąże tego problemu. Wypróbowałem poniżej i zadziałało:
w folderze nltk utwórz folder tokenizers i skopiuj folder punkt do folderu tokenizers.
To zadziała.! struktura folderów musi być taka, jak pokazano na rysunku
źródło
Musisz zmienić układ folderów Przenieś swój
tokenizers
folder donltk_data
folderu. To nie działa, jeśli masznltk_data
folder zawierającycorpora
folder zawierającytokenizers
folderźródło
Dla mnie nic z powyższego nie działało, więc po prostu pobrałem wszystkie pliki ręcznie ze strony http://www.nltk.org/nltk_data/ i umieściłem je również ręcznie w pliku "tokenizers" wewnątrz "nltk_data " teczka. Niezbyt ładne rozwiązanie, ale wciąż rozwiązanie.
źródło
Napotkałem ten sam problem. Po ściągnięciu wszystkiego nadal był błąd „punkt”. Szukałem pakietu na moim komputerze z systemem Windows w C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers i widzę tam obecny „punkt.zip”. Zdałem sobie sprawę, że w jakiś sposób plik zip nie został rozpakowany do C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk. Kiedy rozpakowałem zip, działało jak muzyka.
źródło
Po prostu upewnij się, że używasz
Jupyter
Notatnika, aw notebooku wykonaj następujące czynności:Następnie pojawi się jedno wyskakujące okienko (pokazujące informacje https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml ) Z tego musisz pobrać wszystko.
Następnie ponownie uruchom kod.
źródło
U mnie rozwiązano to za pomocą „nltk:”
http://www.nltk.org/howto/data.html
Nie udało się załadować pliku english.pickle przy użyciu pliku nltk.data.load
źródło