Co to jest NLP w Pythonie?

Sztuczna inteligencja bardzo się rozwinęła w ciągu ostatniej dekady, podobnie jak jedno z jej obszarów - Przetwarzanie języka naturalnego. Postęp w AI jest wynikiem ogromnej zdolności obliczeniowej współczesnych systemów oraz dużych ilości nieuporządkowanych danych, które są generowane z wielu źródeł. Natural Language Processing lub NLP to badanie sztucznej inteligencji, które umożliwia komputerom przetwarzanie surowych nieustrukturyzowanych danych tekstowych i wydobywanie z nich ukrytych spostrzeżeń.

Definicja

W przeciwieństwie do ludzi komputery nie są wystarczająco inteligentne, aby przetwarzać nieustrukturyzowane dane. Istoty ludzkie mogą czerpać znaczenie z takich danych, podczas gdy komputery mogą to robić tylko z danymi strukturalnymi przechowywanymi w bazach danych. Aby znaleźć wzorce i czerpać znaczenie z danych naturalnych, komputery używają narzędzi i technik związanych z NLP do przetwarzania takich danych.

Jak działa NLP w Pythonie?

Czytanie i rozumienie języka angielskiego jest bardzo skomplikowane. Poniższe zdanie jest jednym z takich przykładów, w których komputerowi naprawdę trudno jest zrozumieć rzeczywistą myśl stojącą za tym zdaniem.

W uczeniu maszynowym potok jest budowany dla każdego problemu, w którym każdy element problemu jest rozwiązywany osobno za pomocą ML. Ostatecznym rezultatem byłaby kombinacja kilku połączonych modeli uczenia maszynowego. Przetwarzanie języka naturalnego działa podobnie do tego, w którym zdanie angielskie jest podzielone na części.

W tym punkcie znajduje się kilka faktów. Byłoby łatwo, gdyby sami komputery mogli zrozumieć, czym jest Londyn, ale aby to zrobić, trzeba je wyszkolić w zakresie podstawowych pojęć z języka pisanego.

1. Segmentacja zdań - korpus jest podzielony na kilka zdań, jak poniżej.

Ułatwiłoby to nam życie, ponieważ lepiej jest przetworzyć jedno zdanie niż akapit jako całość. Podział można wykonać na podstawie interpunkcji lub kilku innych skomplikowanych technik, które działają również na nieoczyszczonych danych.

2. Tokenizacja słów - zdanie można dalej podzielić na token słów, jak pokazano poniżej.

Po tokenizacji powyższe zdanie zostaje podzielone na -

3. Części przewidywania mowy - Ten proces dotyczy generowania części mowy dla każdego tokena. Umożliwiłoby nam to zrozumienie znaczenia zdania i tematu, o którym mowa w zdaniu.

4. Lemmatyzacja - słowo w zdaniu może występować w różnych formach. Lemmatyzacja śledzi słowo z powrotem do jego źródła, tj. Lematu każdego słowa.

5. Zatrzymaj identyfikację słów - W zdaniu jest wiele słów uzupełniających, takich jak „the”, „a”. Te słowa działają jak hałas w tekście, którego znaczenie próbujemy wydobyć. Dlatego konieczne jest odfiltrowanie tych słów stop, aby zbudować lepszy model.

W zależności od aplikacji słowa stop mogą się różnić. Istnieje jednak wstępnie zdefiniowana lista prac stop, do których można się odwoływać.

6. Rozpoznawanie nazwanych jednostek - NER to proces wyszukiwania takich elementów jak imię, miejsce, osoba, organizacja itp. Na podstawie zdania.

Stosuje się tutaj kontekst pojawienia się słowa w zdaniu. Aby pobrać uporządkowane dane z tekstu, systemy NER mają wiele zastosowań.

Przykład NLP w Pythonie

Większość firm chce teraz przetwarzać nieustrukturyzowane dane w celu rozwoju swojej działalności. NLP ma szeroki zakres zastosowań, a najczęstszym przypadkiem użycia jest klasyfikacja tekstu.

Automatyczna klasyfikacja tekstu na różne kategorie nazywa się klasyfikacją tekstu. Wykrywanie spamu lub szynki w wiadomości e-mail, kategoryzacja artykułów prasowych, to niektóre z typowych przykładów klasyfikacji tekstu. Dane wykorzystane do tego celu muszą być oznaczone.

Kilka kroków w potoku klasyfikacji tekstu, które należy wykonać, to:

  • Ładowanie i wstępne przetwarzanie danych jest pierwszym krokiem, a następnie zostanie podzielone na ciąg i zestaw sprawdzania poprawności.
  • Etap inżynierii cech obejmuje wyodrębnienie przydatnych funkcji lub utworzenie dodatkowych znaczących funkcji, które mogłyby pomóc w opracowaniu lepszego modelu predykcyjnego.
  • Aby zbudować model, do szkolenia modelu służy zestaw danych z etykietą.

Pandy, Scikit-learn, XGBoost, TextBlog, Keras to kilka niezbędnych bibliotek, które musimy zainstalować. Następnie importowalibyśmy biblioteki w celu przygotowania zestawu danych, inżynierii funkcji itp.

Dane są ogromne, stąd można pobrać prawie 3, 6 miliona recenzji. Część danych jest używana. Jest pobierany i wczytywany do ramki danych Pandas.

Zmienna docelowa jest kodowana, a dane dzielone na ciąg i zestawy testowe.

Inżynieria cech jest wykonywana przy użyciu poniższych różnych metod.

1. Wektory zliczania - Reprezentacja dokumentu, terminu i jego częstotliwości z korpusu jest uzyskiwana przez wektory zliczania.

2. Wektory TF-IDF - W dokumencie względne znaczenie terminu jest reprezentowane przez Częstotliwość Term (TF) i wynik Odwrotnej Częstotliwości Dokumentu (IDF). TF-IDF można obliczyć przez:

Wektory TF-IDF mogą być generowane przez poziom słowa, który przedstawia wynik każdego terminu, oraz poziom N-gram, który jest kombinacją n-terminów.

3. Osadzanie słów - Reprezentacja dokumentów i słów w postaci gęstego wektora nazywana jest osadzaniem słów. Istnieją wstępnie wyszkolone osadzanie, takie jak Glove, Word2Vec, które można wykorzystać lub też można je przeszkolić.

4. Modele tematyczne - to grupa słów z dokumentu, która zawiera najwięcej informacji. Tutaj ukryty podział Dirichleta służy do modelowania tematów.

Tryb jest budowany po zakończeniu inżynierii operacji i wyodrębnieniu odpowiednich funkcji.

5. Naïve Bayes - Opiera się na twierdzeniu Bayesa, a algorytm uważa, że ​​nie ma związku między cechami zestawu danych.


6. Regresja logistyczna - Mierzy liniowy związek między cechami, a zmienna docelowa jest mierzona na podstawie funkcji sigmoidalnej, która szacuje prawdopodobieństwo.


7. Maszyna wektora wsparcia - hiperpłaszczyzna dzieli dwie klasy w maszynie SVM.


8. Model losowego lasu - Model zespołu, w którym zmniejsza się wariancja i pakuje wiele drzew decyzyjnych razem.


9. XG Boost - stronniczość jest zmniejszona, a słabi uczniowie przekształcani w silnych.

W jaki sposób NLP pomoże ci w karierze?

Przetwarzanie języka naturalnego jest dynamicznie rozwijającą się dziedziną na rynku i prawie każda organizacja potrzebuje inżyniera NLP, aby pomóc im w przetwarzaniu surowych danych. Dlatego konieczne jest opanowanie wymaganych umiejętności, ponieważ na rynku nie zabraknie miejsc pracy.

Wniosek: NLP w Pythonie

W tym artykule zaczęliśmy od wprowadzenia do NLP w Pythonie, a następnie zaimplementowaliśmy jeden przypadek użycia w Pythonie, aby pokazać, jak pracować z NLP w Pythonie.

Polecane artykuły

To był przewodnik po NLP w Pythonie. Tutaj omówiliśmy przykład, przypadki użycia i sposób pracy z NLP w Pythonie. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Zastosowania Pythona
  2. Co to jest WBS?
  3. Python vs Scala
  4. Co to jest Tableau?

Kategoria: