reklama - zainteresowany?

Przetwarzanie języka naturalnego w akcji - Helion

Przetwarzanie języka naturalnego w akcji
ebook
Autor: Hobson Lane, Cole Howard, Hannes Hapke
Tłumaczenie: Witold Sikorski, Małgorzata Dąbkowska-Kowalik, Wojciech Frenrich
ISBN: 9788301217211
stron: 600, Format: ebook
Data wydania: 2021-03-04
Księgarnia: Helion

Cena książki: 103,20 zł (poprzednio: 129,00 zł)
Oszczędzasz: 20% (-25,80 zł)

Dodaj do koszyka Przetwarzanie języka naturalnego w akcji

Tagi: Uczenie maszynowe

Przetwarzanie języka naturalnego w akcji autorstwa Hobsona Lanea, Hannesa Maxa Hapke i Colea Howarda to przewodnik po tworzeniu maszyn, które potrafią czytać i interpretować ludzki język. Użyjecie w nim łatwo dostępnych pakietów Pythona, aby wychwycić znaczenie tekstu i odpowiednio zareagować. Książka poszerza tradycyjne podejścia do przetwarzania języka naturalnego (Natural Language Processing, NLP) o sieci neuronowe, nowoczesne algorytmy głębokiego uczenia się i techniki generatywne w miarę rozwiązywania rzeczywistych problemów, takich jak wyodrębnianie dat i nazwisk, komponowanie tekstu i odpowiadanie na pytania w swobodnej formie. Niektóre zdania tej książki zostały napisane przez NLP! Czy potraficie odgadnąć które? W książce : Praca z Keras, TensorFlow, gensim i scikit-learn NLP oparte na regułach i danych Skalowalne potoki Polskie wydanie zostało wzbogacone o dodatkowy rozdział, który omawia przetwarzanie języka naturalnego na podstawie języka polskiego, autorstwa dr Łukasza Kobylińskiego i Ryszarda Tuory.

Dodaj do koszyka Przetwarzanie języka naturalnego w akcji

Spis treści

Przetwarzanie języka naturalnego w akcji eBook -- spis treści

  • Okładka
  • Strona tytułowa
  • Strona redakcyjna
  • Spis treści
  • wprowadzenie
  • wstęp
  • podziękowania
  • o książce
  • o autorach
  • o ilustracji na okładce
  • Część 1. Mówiące maszyny
    • 1. Pakiety myśli (przegląd NLP)
      • 1.1. Język naturalny a język programowania
      • 1.2. Magia
        • 1.2.1. Maszyny prowadzące konwersację
        • 1.2.2. Matematyka
      • 1.3. Zastosowania praktyczne
      • 1.4. Język widziany oczyma komputera
        • 1.4.1. Język zamków
        • 1.4.2. Wyrażenia regularne
        • 1.4.3. Prosty chatbot
        • 1.4.4. Inny sposób
      • 1.5. Krótkie spojrzenie na hiperprzestrzeń
      • 1.6. Kolejność słów i gramatyka
      • 1.7. Potok języka naturalnego chatbota
      • 1.8. Szczegóły przetwarzania
      • 1.9. IQ języka naturalnego
    • 2. Zbuduj swój słownik (tokenizacja słów)
      • 2.1. Wyzwania (wprowadzenie do stemmingu)
      • 2.2. Tworzenie swojego słownika za pomocą tokenizatora
        • 2.2.1. Iloczyn skalarny
        • 2.2.2. Pomiar nakładania się wektorów BoW
        • 2.2.3. Poprawianie tokenów
          • Jak działają wyrażenia regularne
          • Poprawione wyrażenia regularne do podziału słów
          • Formy skrócone
        • 2.2.4. Rozszerzenie słownika za pomocą n-gramów
          • N-gramy
          • Stop listy
        • 2.2.5. Normalizacja słownika
          • Ujednolicanie wielkości liter
          • Stemming
          • Lematyzacja
          • Przypadki użycia
      • 2.3. Wydźwięk
        • 2.3.1. VADER analizator wydźwięku oparty na regułach
        • 2.3.2. Naiwny klasyfikator bayesowski
    • 3. Matematyka na słowach (wektory TD-IDF)
      • 3.1. Wektor BoW
      • 3.2. Wektoryzacja
        • 3.2.1. Przestrzenie wektorowe
      • 3.3. Prawo Zipfa
      • 3.4. Modelowanie tematyczne
        • 3.4.1. Powrót Zipfa
        • 3.4.2. Ranking trafności
        • 3.4.3. Narzędzia
        • 3.4.4. Inne możliwości
        • 3.4.5. Okapi BM25
        • 3.4.6. Co dalej
    • 4. Odnajdowanie znaczenia w licznikach słów (analiza semantyczna)
      • 4.1. Od liczników słów do wyników dla tematów
        • 4.1.1. Wektory TF-IDF i lematyzacja
        • 4.1.2. Wektory tematyczne
        • 4.1.3. Eksperyment myślowy
        • 4.1.4. Algorytm do oceny tematów
          • Kuzyni LSA
        • 4.1.5. Klasyfikator LDA
          • Inny kuzyn
      • 4.2. Analiza utajonych własności semantycznych (LSA)
        • 4.2.1. Wasz eksperyment myślowy staje się prawdziwy
          • Gra w Mad libs
      • 4.3. Rozkład według wartości osobliwej
        • 4.3.1. U  lewostronne wektory osobliwe
        • 4.3.2. S wartości osobliwe
        • 4.3.3. V T prawostronne wektory osobliwe
        • 4.3.4. Orientacja macierzy SVD
        • 4.3.5. Obcinanie tematów
      • 4.4. Analiza głównych składowych
        • 4.4.1. PCA dla wektorów 3D
        • 4.4.2. Przestańmy szaleć i wróćmy do NLP
        • 4.4.3. Stosowanie PCA do semantycznej analizy komunikatów SMS
        • 4.4.4. Używanie obciętego SVD do analizy semantycznej komunikatu SMS
        • 4.4.5. Jak dobrze działa LSA przy klasyfikacji spamu
          • Rozszerzenia LSA i SVD
      • 4.5. Ukryta alokacja Dirichleta (LDiA)
        • 4.5.1. Idea LDiA
        • 4.5.2. Model tematyczny LDiA dla komunikatów SMS
        • 4.5.3. LDiA + LDA = klasyfikator spamu
        • 4.5.4. Uczciwsze porównanie: 32 tematy LDiA
      • 4.6. Odległość i podobieństwo
      • 4.7. Sterowanie za pomocą informacji zwrotnej
        • 4.7.1. Liniowa analiza dyskryminacyjna
      • 4.8. Moc wektorów tematycznych
        • 4.8.1. Wyszukiwanie semantyczne
        • 4.8.2. Ulepszenia
  • Część 2. Głębsze uczenie się (sieci neuronowe)
    • 5. Sieci neuronowe krok po kroku (perceptrony i propagacja wsteczna)
      • 5.1. Sieci neuronowe lista składników
        • 5.1.1. Perceptron
        • 5.1.2. Perceptron numeryczny
        • 5.1.3. Zboczenie z drogi spowodowane odchyleniem
          • Neuron w Pythonie
          • Klasa tkwi w sesji
          • Uczenie się logiki to czysta frajda
          • Następny krok
          • Koniec drugiej zimy sztucznej inteligencji
          • Propagacja wsteczna
          • Zróżniczkujmy wszystko
        • 5.1.4. Poszusujmy powierzchnia błędu
        • 5.1.5. Z wyciągu prosto na stok
        • 5.1.6. Udoskonalmy to nieco
        • 5.1.7. Keras: sieci neuronowe w Pythonie
        • 5.1.8. Wprzód i w głąb
        • 5.1.9. Normalizacja: stylowe wejście
    • 6. Wnioskowanie przy użyciu wektorów słów (Word2vec)
      • 6.1. Zapytania semantyczne i analogie
        • 6.1.1. Pytania o analogię
      • 6.2. Wektory słów
        • 6.2.1. Wnioskowanie zorientowane wektorowo
          • Jeszcze więcej powodów, by korzystać z wektorów słów
        • 6.2.2. Jak obliczać reprezentacje Word2vec
          • Podejście skip-gram
          • Czym jest softmax?
          • W jaki sposób sieć uczy się reprezentacji wektorowej?
          • Odnajdywanie wektorów słów za pomocą algebry liniowej
          • Podejście z ciągłym BoW
          • Skip-gram a CBoW. Kiedy korzystać z którego podejścia?
          • Triki obliczeniowe Word2vec
          • Częste bigramy
          • Podpróbkowanie często występujących tokenów
          • Próbkowanie negatywne
        • 6.2.3. Jak korzystać z modułu gensim.word2vec
        • 6.2.4. Jak wygenerować własne reprezentacje wektorów słów
          • Kroki przetwarzania wstępnego
          • Szkolenie dziedzinowego modelu Word2vec
        • 6.2.5. Word2vec a GloVe (Global Vectors)
        • 6.2.6. fastText
          • Jak korzystać z gotowych modeli fastText
        • 6.2.7. Word2vec a LSA
        • 6.2.8. Wizualizacja związków między słowami
        • 6.2.9. Nienaturalne słowa
        • 6.2.10. Doc2vec i podobieństwo dokumentów
          • Jak wyuczyć wektory dokumentów
    • 7. Kolejność słów i konwolucyjne sieci neuronowe (CNN)
      • 7.1. Uczenie się znaczenia
      • 7.2. Zestaw narzędzi
      • 7.3. Konwolucyjne sieci neuronowe
        • 7.3.1. Elementy składowe
        • 7.3.2. Długość kroku
        • 7.3.3. Budowa filtra
        • 7.3.4. Uzupełnianie
          • Potok konwolucyjny
        • 7.3.5. Uczenie
      • 7.4. Zaiste, wąskie okna
        • 7.4.1. Implementacja w Kerasie: przygotowanie danych
        • 7.4.2. Architektura konwolucyjnej sieci neuronowej
        • 7.4.3. Warstwa łącząca (pooling)
        • 7.4.4. Dropout
        • 7.4.5. Wisienka na torcie
          • Optymalizacja
          • Dopasowanie (fit)
        • 7.4.6. Czas zabrać się za naukę (trening)
        • 7.4.7. Użycie modelu w potoku
        • 7.4.8. Gdzie pójdziecie dalej?
    • 8. Zapętlone (rekurencyjne) sieci neuronowe (RNN)
      • 8.1. Zapamiętywanie za pomocą sieci rekurencyjnych
        • 8.1.1. Propagacja wsteczna przez czas
          • Tl;Dr Krótka rekapitulacja
        • 8.1.2. Kiedy i co aktualizować?
          • Czy jednak obchodzi was to, co wyszło z wcześniejszych kroków?
        • 8.1.3. Rekapitulacja
        • 8.1.4. Zawsze jest jakiś haczyk
        • 8.1.5. Rekurencyjne sieci neuronowe z Kerasem
      • 8.2. Składanie w całość
      • 8.3. Nauczmy się czegoś o przeszłości
      • 8.4. Hiperparametry
      • 8.5. Przewidywanie
        • 8.5.1. Stanowość
        • 8.5.2. Ulica dwukierunkowa
        • 8.5.3. Co to takiego?
    • 9. Lepsza pamięć dzięki sieciom LSTM
      • 9.1. LSTM
        • 9.1.1. Propagacja wsteczna przez czas
          • W praktyce
        • 9.1.2. Próba ognia
        • 9.1.3. Brudne dane
        • 9.1.4. Powrót do brudnych danych
        • 9.1.5. Słowa są trudne. Litery są prostsze
        • 9.1.6. Kolej na rozmowę
        • 9.1.7. Zwrot ku klarownej mowie
        • 9.1.8. Jak mówić i co mówić
        • 9.1.9. Inne rodzaje pamięci
        • 9.1.10. Idąc głębiej
    • 10. Modele ciąg-ciąg i uwaga (attention)
      • 10.1. Architektura koder-dekoder
        • 10.1.1. Dekodowanie myśli
        • 10.1.2. Wygląda znajomo?
        • 10.1.3. Konwersacja ciąg-ciąg
        • 10.1.4. Powtórzenie LSTM
      • 10.2. Składanie potoku ciąg-ciąg
        • 10.2.1. Przygotowanie naszego zbioru danych do szkolenia ciąg-ciąg
        • 10.2.2. Model ciąg-ciąg w Kerasie
        • 10.2.3. Koder ciągów
        • 10.2.4. Dekoder myśli
        • 10.2.5. Składanie sieci ciąg-ciąg
      • 10.3. Szkolenie sieci ciąg-ciąg
        • 10.3.1. Generowanie ciągów wyjściowych
      • 10.4. Budowanie chatbota przy użyciu sieci ciąg-ciąg
        • 10.4.1. Przygotowanie korpusu do szkolenia
        • 10.4.2. Budowanie słownika znaków
        • 10.4.3. Generowanie zbiorów treningowych zakodowanych metodą 1 z n
        • 10.4.4. Uczenie chatbota ciąg-ciąg
        • 10.4.5. Składanie modelu do generowania ciągów
        • 10.4.6. Przewidywanie ciągu
        • 10.4.7. Generowanie odpowiedzi
        • 10.4.8. Rozmowa z waszym chatbotem
      • 10.5. Ulepszenia
        • 10.5.1. Redukcja złożoności treningu za pomocą sortowania danych (bucketing)
        • 10.5.2. Uwaga (attention)
      • 10.6. W świecie rzeczywistym
  • Część 3. Przejście do rzeczywistości (prawdziwe problemy NLP)
    • 11. Ekstrakcja informacji (rozpoznawanie jednostek nazewniczych i odpowiadanie na pytania)
      • 11.1. Jednostki nazewnicze i relacje
        • 11.1.1. Baza wiedzy
        • 11.1.2. Ekstrakcja informacji
      • 11.2. Regularne wzorce
        • 11.2.1. Wyrażenia regularne
        • 11.2.2. Ekstrakcja informacji jako ekstrakcja cech z wykorzystaniem uczenia się maszyn
      • 11.3. Informacje warte wyodrębnienia
        • 11.3.1. Ekstrakcja lokalizacji GPS
        • 11.3.2. Ekstrakcja dat
      • 11.4. Ekstrakcja relacji
        • 11.4.1. Znakowanie częściami mowy
        • 11.4.2. Normalizacja jednostek nazewniczych
        • 11.4.3. Normalizacja i ekstrakcja relacji
        • 11.4.4. Wzorce słów
        • 11.4.5. Segmentacja
          • Segmentacja na zdania
        • 11.4.6. Dlaczego split(.!?') nie będzie działać?
        • 11.4.7. Segmentacja na zdania za pomocą wyrażeń regularnych
      • 11.5. W prawdziwym świecie
    • 12. Pogaduszki (silniki dialogowe)
      • 12.1. Umiejętności językowe
        • 12.1.1. Nowoczesne podejścia
          • Systemy dialogowe odpowiadające na pytania
          • Wirtualni asystenci
          • Chatboty konwersacyjne
          • Chatboty marketingowe
          • Zarządzanie społecznością
          • Obsługa klienta
          • Terapia
        • 12.1.2. Podejście hybrydowe
      • 12.2. Podejście polegające na dopasowaniu do wzorców
        • 12.2.1. Chatbot oparty na dopasowaniu do wzorca i AIML
          • AIML 1.0
          • Interpreter AIML w Pythonie
        • 12.2.2. Sieciowe spojrzenie na dopasowanie do wzorców
      • 12.3. Oparcie na wiedzy
      • 12.4. Wyszukiwanie
        • 12.4.1. Problem kontekstu
        • 12.4.2. Przykładowy chatbot oparty na wyszukiwaniu danych
        • 12.4.3. Chatbot oparty na wyszukiwaniu
      • 12.5. Modele generatywne
        • 12.5.1. Czat na temat NLPIA
        • 12.5.2. Zalety i wady każdego podejścia
      • 12.6. Napęd na cztery koła
        • 12.6.1. Will osiąga sukces
          • Instalowanie Willa
          • Hello WILL
      • 12.7. Proces projektowania
      • 12.8. Sztuczki
        • 12.8.1. Zadawanie pytań z przewidywalnymi odpowiedziami
        • 12.8.2. Bycie zabawnym
        • 12.8.3. Gdy wszystko inne zawiedzie, trzeba wyszukać
        • 12.8.4. Bycie popularnym
        • 12.8.5. Być łącznikiem
        • 12.8.6. Stawanie się emocjonalnym
      • 12.9. W świecie rzeczywistym
    • 13. Skalowanie (optymalizacja, zrównoleglanie i przetwarzanie wsadowe)
      • 13.1. Zbyt wiele dobrego (danych)
      • 13.2. Optymalizowanie algorytmów NLP
        • 13.2.1. Indeksowanie
        • 13.2.2. Zaawansowane indeksowanie
        • 13.2.3. Zaawansowane indeksowanie za pomocą Annoy
        • 13.2.4. Po co w ogóle stosować indeksy przybliżone?
        • 13.2.5. Obejście indeksowania: dyskretyzacja
      • 13.3. Algorytmy ze stałą pamięcią RAM
        • 13.3.1. Gensim
        • 13.3.2. Obliczenia graficzne
      • 13.4. Zrównoleglanie waszych obliczeń NLP
        • 13.4.1. Trenowanie modeli NLP na procesorach graficznych (GPU)
        • 13.4.2. Wynajem a kupno
        • 13.4.3. Opcje wynajmu GPU
        • 13.4.4. Jednostki przetwarzania tensorowego
      • 13.5. Zmniejszanie zużycia pamięci podczas trenowania modeli
      • 13.6. Uzyskiwanie wglądu w model za pomocą TensorBoard
        • 13.6.1. Jak wizualizować zanurzenia słów
  • dodatek A. Nasze narzędzia NLP
  • dodatek B. Swawolny Python i wyrażenia regularne
  • dodatek C. Wektory i macierze (podstawy algebry liniowej)
  • dodatek D. Narzędzia i techniki uczenia się maszyn
  • dodatek E. Ustawianie własnego AWS GPU
  • dodatek F. Mieszanie wrażliwe na lokalizację (LSH)
  • źródła
  • słownik
  • posłowie do wydania polskiego
  • przypisy

Dodaj do koszyka Przetwarzanie języka naturalnego w akcji

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.