Instalowanie NLTK w Linux
Aby zainstalować NLTK w Ubuntu, uruchom poniższe polecenie:
$ sudo apt instal Python3-nltk
Pakiety NLTK są dostępne we wszystkich głównych dystrybucjach Linux. Wyszukaj słowo kluczowe „NLTK” w menedżerze pakietów, aby zainstalować pakiety. Jeśli z jakiegoś powodu NLTK nie jest dostępny w repozytoriach dystrybucji, możesz go zainstalować z menedżera pakietów PIP, uruchamiając poniższe polecenie:
$ instalacja instalacji --user -u nltk
Pamiętaj, że najpierw będziesz musiał zainstalować PIP z menedżera pakietów, aby powyższe polecenie działało. W niektórych dystrybucjach można to nazwać PIP3. Możesz także śledzić szczegółowe instrukcje instalacji dostępne na oficjalnej stronie NLTK.
Wyodrębnienie zdań z akapitu za pomocą NLTK
W przypadku akapitów bez złożonych interpunkcji i odstępów możesz użyć wbudowanego tokenizatora zdania NLTK, zwanego „Tokenizerem punkowym”, który jest wyposażony w wstępnie wyszkolony model. Możesz także użyć własnych wyszkolonych modeli danych do tokenizacji tekstu w zdania. Niestandardowe modele danych są poza zakresem tego artykułu, więc poniższy kod użyje wbudowanego tokenizatora Punkt English. Aby pobrać plik zasobów punkt, uruchom następujące trzy polecenia z rzędu i poczekaj na zakończenie pobierania:
$ Python3
$ import nltk
$ nltk.Pobierz („punkt”)
W próbce kodu poniżej zostanie użyty akapit z „Alice's Adventures in Wonderland”:
Import NLTKUruchomienie powyższego kodu da następujące dane wyjściowe:
Wbudowany tokenizer zdania punka działa dobrze, jeśli chcesz tokenizować proste akapity. Po zaimportowaniu modułu NLTK wszystko, co musisz zrobić, to użyć metody „send_tokenize ()”. Jednak tokenizer zdania punka może nie wykryć prawidłowo wykrywania zdań, gdy istnieje złożony akapit, który zawiera wiele znaków interpunkcyjnych, wykrzykników, skrótów lub powtarzających się symboli. Nie można zdefiniować standardowego sposobu przezwyciężenia tych problemów. Będziesz musiał napisać niestandardowy kod do rozwiązywania tych problemów za pomocą Regex, Manipulacji String lub szkolenia własnego modelu danych zamiast korzystania z wbudowanego modelu danych punk.
Możesz także spróbować ulepszyć istniejący model punk, aby naprawić nieprawidłową tokenizację za pomocą dodatkowych parametrów. Aby to zrobić, postępuj zgodnie z oficjalną dokumentacją tokenizacji punkowej dostępnej tutaj. Aby użyć własnych poprawek niestandardowych, wymagana jest niewielka zmiana kodu:
z NLTK.tokenize.Punkt Import punktsentenceTokenizer, punktparametersPowyższy kod wykonuje to samo zadanie, co metoda „send_tokenize ()”. Jednak możesz teraz zdefiniować własne reguły przy użyciu wbudowanych metod i przekazać je jako argumenty, jak opisano w dokumentacji. Na przykład do powyższego kodu dodano pewne skróty. Jeśli po tych skrótach następuje interpunkcja, nie zostaną one podzielone na nowe zdanie. Normalnym zachowaniem jest użycie kropki lub okresu jako wskazania końca zdania.
Wniosek
NLTK i jego metody tokenizacji są dość wydajne w tokenizacji i przetwarzaniu danych tekstowych. Jednak wstępnie wyszkolone modele mogą nie działać w 100% z różnymi rodzajami tekstów. Może być konieczne ulepszenie istniejących modeli, wyszkolić i dostarczyć własnego lub napisać własny kod, aby naprawić anomalie.