Wprowadzenie do przetwarzania języka naturalnego za pomocą biblioteki TensorFlow
W tym module zapoznamy się z różnymi architekturami sieci neuronowych do obsługi tekstu w języku naturalnym. W ostatnich latach przetwarzanie języka naturalnego (NLP) doświadczyło szybkiego wzrostu jako dziedziny, zarówno ze względu na ulepszenia architektur modelu języka, jak i dlatego, że zostały wytrenowane na coraz większych zbiorach tekstów. W rezultacie ich zdolność do "zrozumienia" tekstu znacznie się poprawiła.
Koncentrujemy się na podstawowych aspektach reprezentowania NLP jako tensorów w TensorFlow i klasycznych architekturach NLP, takich jak użycie bag-of-words, osadzania i rekurencyjne sieci neuronowe.
Zadania języka naturalnego
Istnieje kilka zadań nlp, które możemy rozwiązać przy użyciu sieci neuronowych:
- Klasyfikacja tekstu jest używana, gdy musimy sklasyfikować fragment tekstu w jednej z kilku wstępnie zdefiniowanych klas. Przykłady obejmują wykrywanie wiadomości e-mail, kategoryzacja wiadomości, przypisywanie wniosku o pomoc techniczną do kategorii i nie tylko.
- Klasyfikacja intencji to jeden konkretny przypadek klasyfikacji tekstu, w którym chcemy zamapować wypowiedź wejściową w konwersacyjnym systemie sztucznej inteligencji na jedną z intencji reprezentujących rzeczywiste znaczenie frazy lub intencji użytkownika.
- Analiza sentimentu polega na zrozumieniu stopnia pozytywności danego fragmentu tekstu. Można go zastosować jako zadanie klasyfikacji (na przykład oznaczanie tekstu jako pozytywnego, negatywnego lub neutralnego) lub jako zadanie regresji, w którym etykietujemy tekst z większości negatywnych (-1) na najbardziej dodatni (+1) i wytrenujemy model, który generuje liczbę reprezentującą pozytywność tekstu wejściowego.
- Rozpoznawanie jednostek nazwanych (NER) to zadanie wyodrębniania jednostek z tekstu, takich jak daty, adresy, nazwy osób itp. Wraz z klasyfikacją intencji funkcja NER jest często używana w systemach dialogowych do wyodrębniania parametrów z wypowiedzi użytkownika.
- Podobne zadanie wyodrębniania słów kluczowych może służyć do znajdowania najbardziej znaczących słów wewnątrz tekstu, które następnie mogą być używane jako tagi.
- Podsumowanie tekstu wyodrębnia najbardziej znaczące fragmenty tekstu, dając użytkownikowi skompresowaną wersję oryginalnego tekstu.
- Odpowiadanie na pytanie to zadanie wyodrębniania odpowiedzi z fragmentu tekstu. Ten model przyjmuje fragment tekstu i pytanie jako dane wejściowe i znajduje dokładne miejsce w tekście zawierającym odpowiedź. Na przykład tekst "John jest 22-letnim studentem, który uwielbia korzystać z usługi Microsoft Learn", a pytanie Jak stary jest Jan powinien dostarczyć nam odpowiedź 22.
W tym module skupimy się głównie na zadaniu klasyfikacji tekstu . Jednak poznamy wszystkie ważne pojęcia, które są nam potrzebne, aby poradzić sobie z trudniejszymi zadaniami w przyszłości.