Podsumowanie tekstu w przetwarzaniu języka naturalnego: algorytmy, techniki i wyzwania
Opublikowany: 2020-08-07Tworzenie podsumowania z danego fragmentu treści to bardzo abstrakcyjny proces, w którym każdy uczestniczy. Automatyzacja takiego procesu może pomóc w analizie dużej ilości danych i pomóc ludziom lepiej wykorzystać swój czas na podejmowanie kluczowych decyzji. Dzięki ogromnej ilości mediów można być bardzo wydajnym, redukując zamieszanie wokół najbardziej krytycznych informacji. Już zaczęliśmy widzieć podsumowania tekstowe w sieci, które są generowane automatycznie.
Jeśli często odwiedzasz Reddit, być może zauważyłeś, że „bot Autotldr” rutynowo pomaga Redditorom, podsumowując powiązane artykuły w danym poście. Powstał zaledwie w 2011 roku i zaoszczędził już tysiące osobogodzin. Istnieje rynek na wiarygodne streszczenia tekstowe, co pokazuje trend aplikacji, które właśnie to robią, takich jak Inshorts (podsumowywanie wiadomości w 60 słowach lub mniej) i Blinkist (podsumowywanie książek).
Automatyczne podsumowanie tekstu jest zatem ekscytującą, ale wymagającą granicą w przetwarzaniu języka naturalnego (NLP) i uczeniu maszynowym (ML). Obecny rozwój Automatycznego podsumowania tekstu zawdzięczamy badaniom w tej dziedzinie od lat pięćdziesiątych, kiedy opublikowano artykuł Hansa Petera Luhna zatytułowany „Automatyczne tworzenie streszczeń literatury”.
W tym artykule przedstawiono wykorzystanie funkcji, takich jak częstotliwość słów i częstotliwość fraz, w celu wyodrębnienia istotnych zdań z dokumentu. Po tym nastąpiło kolejne krytyczne badanie przeprowadzone przez Harolda P. Edmundsona pod koniec lat sześćdziesiątych, które podkreśliło obecność słów-wskazówek, słów użytych w tytule pojawiających się w tekście oraz umiejscowienie zdań w celu wydobycia zdań o znaczeniu z dokumentu.
Teraz, gdy świat poczynił postępy w uczeniu maszynowym i publikowaniu nowszych badań w tej dziedzinie, automatyczne podsumowywanie tekstów staje się wszechobecnym narzędziem do interakcji z informacjami w erze cyfrowej.
Musisz przeczytać: Wynagrodzenie inżyniera NLP w Indiach

Istnieją przede wszystkim dwa główne podejścia do podsumowania tekstu w NLP
Spis treści
Podsumowanie tekstu w NLP
1. Podsumowanie oparte na ekstrakcji
Jak sama nazwa wskazuje, technika ta polega jedynie na wyodrębnianiu lub wyciąganiu kluczowych fraz z dokumentu. Następnie następuje połączenie tych fraz kluczowych w spójne podsumowanie.
2. Podsumowanie oparte na abstrakcji
Ta technika, w przeciwieństwie do ekstrakcji, polega na możliwości parafrazowania i skracania części dokumentu. Kiedy taka abstrakcja jest wykonywana poprawnie w problemach z głębokim uczeniem, można być pewnym, że gramatyka jest spójna. Jednak ta dodatkowa warstwa złożoności jest kosztem tego, że jest trudniejsza do opracowania niż wydobycie.
Jest inny sposób na tworzenie podsumowań o wyższej jakości. Takie podejście nosi nazwę wspomaganego podsumowania, które wiąże się z połączonym wysiłkiem człowieka i oprogramowania. To też występuje w 2 różnych smakach
- Wspomagane maszynowo podsumowanie przez człowieka : techniki ekstrakcyjne wyróżniają fragmenty kandydujące do włączenia, do których człowiek może dodać lub usunąć tekst.
- Podsumowanie maszyny wspomaganej przez człowieka: człowiek po prostu edytuje dane wyjściowe oprogramowania.
Oprócz głównych podejść do streszczenia tekstu, istnieją inne podstawy, na których klasyfikuje się streszczenia tekstu. Oto szefowie kategorii:
3. Podsumowanie pojedynczego dokumentu a podsumowanie wielu dokumentów
Pojedyncze dokumenty opierają się na spójności i rzadkim powtarzaniu faktów w celu wygenerowania podsumowań. Z drugiej strony podsumowania wielodokumentowe zwiększają prawdopodobieństwo zbędnych informacji i powtarzania się.
4. Orientacyjne a informacyjne
Taksonomia podsumowań opiera się na celu końcowym użytkownika. Na przykład w podsumowaniach typu indykatywnego można by się spodziewać punktów wysokiego poziomu artykułu. Natomiast w przeglądzie informacyjnym można spodziewać się większego filtrowania tematów, aby umożliwić czytelnikowi zagłębienie się w podsumowanie.
5. Długość i rodzaj dokumentu
Długość tekstu wejściowego silnie wpływa na rodzaj podejścia podsumowującego.
Największe zbiory danych podsumowujących, takie jak newsroom by Cornell, skupiają się na artykułach, które zawierają średnio około 300-1000 słów. Ekstrakcyjne podsumowania stosunkowo dobrze radzą sobie z takimi długościami. Wielostronicowy dokument lub rozdział książki można odpowiednio podsumować tylko za pomocą bardziej zaawansowanych metod, takich jak hierarchiczne grupowanie lub analiza dyskursu.
Dodatkowo rodzaj tekstu ma również wpływ na streszczenia. Metody, które podsumowywałyby techniczną białą księgę, byłyby radykalnie różne od technik, które mogą być lepiej przygotowane do podsumowania sprawozdania finansowego.
W tym artykule skupimy się na dalszych szczegółach techniki podsumowania ekstrakcji.
Algorytm PageRank
Algorytm ten pomaga wyszukiwarkom, takim jak strony internetowe w rankingu Google. Rozumiemy algorytm na przykładzie. Załóżmy, że masz cztery strony internetowe z różnymi poziomami łączności między nimi. Jeden może nie mieć powiązań z pozostałymi trzema; jedno może być połączone z pozostałymi 2, jedno może być skorelowane tylko z jednym i tak dalej.
Następnie możemy modelować prawdopodobieństwa przechodzenia z jednej strony do drugiej za pomocą macierzy zn wierszami i kolumnami, gdzie n to liczba stron internetowych. Każdy element w macierzy będzie reprezentował prawdopodobieństwo przejścia z jednej strony internetowej na drugą. Przypisując odpowiednie prawdopodobieństwa, można iteracyjnie aktualizować taką macierz, aby przejść do rankingu stron internetowych.
Przeczytaj także: Projekt i tematy NLP
Algorytm TextRank
Powodem, dla którego przyjrzeliśmy się algorytmowi PageRank, jest pokazanie, w jaki sposób ten sam algorytm może być używany do oceniania tekstu zamiast stron internetowych. Można to zrobić, zmieniając perspektywę, zastępując łącza między stronami podobieństwami między zdaniami i używając macierzy stylu PageRank jako wyniku podobieństwa.
Implementacja algorytmu TextRank
Wymagane biblioteki
- Numby
- Pandy
- Ntlk
- odnośnie
Poniżej znajduje się wyjaśnienie kodu stojącego za techniką podsumowania ekstrakcji:
Krok 1
Połącz cały tekst, który masz w dokumencie źródłowym, jako jeden jednolity blok tekstu. Powodem do tego jest zapewnienie warunków, abyśmy mogli łatwiej wykonać krok 2.
Krok 2
Zapewniamy warunki definiujące zdanie, takie jak szukanie znaków interpunkcyjnych, takich jak kropka (.), znak zapytania (?) i wykrzyknik (!). Kiedy już mamy tę definicję, po prostu dzielimy dokument tekstowy na zdania.
Krok 3
Teraz, gdy mamy dostęp do oddzielnych zdań, znajdujemy reprezentacje wektorowe (osadzenia słów) każdego z tych zdań. Teraz musimy zrozumieć, czym są reprezentacje wektorowe. Osadzanie słów to rodzaj reprezentacji słowa, który zapewnia matematyczny opis słów o podobnym znaczeniu. W rzeczywistości jest to cała klasa technik reprezentujących słowa jako wektory o wartościach rzeczywistych w predefiniowanej przestrzeni wektorowej.

Każde słowo jest reprezentowane przez wektor o wartościach rzeczywistych, który ma wiele wymiarów (czasem ponad 100). Reprezentacja rozkładu opiera się na użyciu słów, dzięki czemu słowa użyte w podobny sposób mają podobny opis. To pozwala nam w naturalny sposób uchwycić znaczenia słów, jak przez ich bliskość do innych słów reprezentowanych jako same wektory.
W tym przewodniku użyjemy globalnych wektorów reprezentacji słowa (GloVe). rękawica jest algorytmem reprezentacji słów o otwartym kodzie źródłowym, który został opracowany przez Penningtona w Stanford. Łączy w sobie cechy 2 rodzin modeli, a mianowicie globalną faktoryzację macierzy i lokalne metody okna kontekstowego.
Krok 4
Gdy mamy już wektorową reprezentację naszych słów, musimy rozszerzyć proces, aby reprezentował całe zdania jako wektory. Aby to zrobić, możemy pobrać reprezentacje wektorowe terminów składających się na słowa w zdaniu, a następnie średnią/średnią tych wektorów, aby otrzymać skonsolidowany wektor tego zdania.
Krok 5
W tym momencie mamy reprezentację wektorową dla każdego zdania. Teraz pomocne będzie określenie podobieństwa między zdaniami przy użyciu podejścia cosinusowego podobieństwa. Następnie możemy wypełnić pustą macierz cosinusowymi podobieństwami zdań.
Krok 6
Teraz, gdy mamy macierz wypełnioną cosinusowymi podobieństwami między zdaniami. Możemy przekształcić tę macierz w graf, w którym węzły reprezentują zdania, a krawędzie reprezentują podobieństwo zdań. To właśnie na tym wykresie użyjemy przydatnego algorytmu PageRank, aby uzyskać ranking zdań.
Krok 7
Teraz uszeregowaliśmy wszystkie zdania w artykule według ważności. Teraz możemy wyodrębnić pierwsze N (powiedzmy 10) zdań, aby utworzyć podsumowanie.
Aby znaleźć kod takiej metody, istnieje wiele takich projektów na Github; z drugiej strony ten artykuł pomaga zrozumieć to samo.
Sprawdź: Ewolucja modelowania języka we współczesnym życiu
Techniki oceny
Ważnym czynnikiem przy dostrajaniu takich modeli jest posiadanie niezawodnej metody oceny jakości tworzonych podsumowań. Wymaga to dobrych technik oceny, które można ogólnie podzielić na:
- Ocena wewnętrzna i zewnętrzna :
Wewnętrzna: taka ocena testuje sam system podsumowań. Oceniają głównie spójność i informacyjność streszczenia.
Zewnętrzny: taka ocena sprawdza podsumowanie na podstawie tego, jak wpływa na inne zadanie. Może testować wpływ podsumowania na zadania, takie jak ocena trafności, czytanie ze zrozumieniem itp.
- Intertekstowy i wewnątrztekstowy :
Intertekstowe: takie oceny skupiają się na kontrastowej analizie kilku systemów podsumowań.
Wewnątrztekstowe: takie oceny oceniają wyniki konkretnego systemu podsumowań.
- Specyficzne dla domeny i niezależne od domeny :
Niezależne od domeny: techniki te na ogół stosują zestawy ogólnych funkcji, które można skoncentrować na identyfikacji segmentów tekstu bogatego w informacje.
Specyficzne dla domeny: Techniki te wykorzystują dostępną wiedzę specyficzną dla domeny w tekście. Na przykład streszczenie tekstów literatury medycznej wymaga wykorzystania źródeł wiedzy medycznej i ontologii.
- Jakościowa ocena podsumowań :
Główną wadą innych technik oceny jest to, że wymagają one podsumowań referencyjnych, aby móc porównać wyniki podsumowań automatycznych z modelem. To sprawia, że zadanie oceny jest trudne i kosztowne. Trwają prace nad stworzeniem korpusu artykułów/dokumentów i odpowiadających im streszczeń w celu rozwiązania tego problemu.
Wyzwania dotyczące podsumowania tekstu
Pomimo wysoce rozwiniętych narzędzi do generowania i oceny podsumowań, wyzwaniem pozostaje znalezienie niezawodnego sposobu, aby osoby podsumowujące tekst zrozumiały, co jest ważne i istotne.
Jak już wspomniano, macierze reprezentacji i podobieństwa próbują znaleźć skojarzenia słów, ale nadal nie mają wiarygodnej metody identyfikowania najważniejszych zdań.
Kolejnym wyzwaniem w podsumowaniu tekstu jest złożoność ludzkiego języka i sposobu, w jaki ludzie wyrażają siebie, zwłaszcza w tekście pisanym. Język składa się nie tylko z długich zdań z przymiotnikami i przysłówkami opisującymi coś, ale także ze zdań względnych, przyimków itp. Takie spostrzeżenia mogą dostarczyć cennych informacji, które nie pomagają w ustaleniu głównego sedna informacji, które mają być zawarte w podsumowaniu.

„Problem anafory” to kolejna bariera w podsumowaniu tekstu. W języku często zastępujemy temat w rozmowie jego synonimami lub zaimkami. Zrozumienie, który zaimek zastępuje który termin, to „problem anafory”.
„Problem katafory” jest przeciwieństwem problemu anafory. W tych niejednoznacznych słowach i wyjaśnieniach, przed wprowadzeniem samego terminu, w tekście używany jest określony termin.
Wniosek
Dziedzina podsumowań tekstów przeżywa szybki rozwój i opracowywane są specjalistyczne narzędzia do wykonywania bardziej skoncentrowanych zadań podsumowujących. Ponieważ oprogramowanie typu open source i pakiety do osadzania słów stają się powszechnie dostępne, użytkownicy rozszerzają zakres zastosowania tej technologii.
Automatyczne podsumowywanie tekstu to narzędzie, które umożliwia ogromny skok w ludzkiej produktywności, upraszczając samą ilość informacji, z którymi ludzie codziennie wchodzą w interakcję. Pozwala to nie tylko ograniczyć liczbę niezbędnych lektur, ale także zwalnia czas na przeczytanie i zrozumienie przeoczonych w inny sposób dzieł pisanych. To tylko kwestia czasu, aby takie podsumowania zostały tak dobrze zintegrowane, że tworzą podsumowania nie do odróżnienia od tych pisanych przez ludzi.
Jeśli chcesz poprawić swoje umiejętności NLP, musisz zdobyć te projekty NLP. Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznego szkolenia, ponad 30 studiów przypadków i zadań, IIIT- Status absolwenta B, ponad 5 praktycznych, praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.
Jakie są zastosowania NLP?
NLP lub Natural Language Processing, jedna z najbardziej wyrafinowanych i interesujących nowoczesnych technologii, jest wykorzystywana na różne sposoby. Jego najważniejsze zastosowania obejmują: automatyczną korektę słów, autoprzewidywanie, chatboty i asystentów głosowych, rozpoznawanie mowy w wirtualnych asystentach, analizę sentymentu ludzkiej mowy, filtrowanie poczty e-mail i spamu, tłumaczenie, analitykę mediów społecznościowych, reklamy docelowe, podsumowywanie tekstu i skanowanie życiorysów pod kątem rekrutacja m.in. Dalsze postępy w NLP, które dały początek takim koncepcjom, jak rozumienie języka naturalnego (NLU), pomagają osiągnąć większą dokładność i znacznie lepsze wyniki w przypadku złożonych zadań.
Czy muszę uczyć się matematyki, aby uczyć się NLP?
Dzięki obfitości zasobów dostępnych zarówno w trybie offline, jak i online, łatwiej jest teraz uzyskać dostęp do materiałów przeznaczonych do nauki NLP. Wszystkie te zasoby badawcze dotyczą konkretnych koncepcji tej ogromnej dziedziny zwanej NLP, a nie szerszego obrazu. Ale jeśli zastanawiasz się, czy matematyka jest częścią którejś z koncepcji NLP, musisz wiedzieć, że matematyka jest istotną częścią NLP. Matematyka, zwłaszcza teoria prawdopodobieństwa, statystyka, algebra liniowa i rachunek różniczkowy, to fundamentalne filary algorytmów, które sterują NLP. Znajomość podstawowych statystyk jest pomocna, aby można było na niej bazować w razie potrzeby. Mimo to nie ma sposobu, aby nauczyć się przetwarzania języka naturalnego bez zagłębiania się w matematykę.
Jakie są techniki NLP używane do wyodrębniania informacji?
W erze cyfrowej nastąpił ogromny wzrost generowania nieustrukturyzowanych danych, głównie w postaci dźwięku, obrazów, filmów i tekstów z różnych kanałów, takich jak platformy mediów społecznościowych, skargi klientów i ankiety. NLP pomaga wyodrębnić przydatne informacje z wolumenów nieustrukturyzowanych danych, co może pomóc firmom. Istnieje pięć popularnych technik NLP, które są używane do wyodrębniania wnikliwych danych, a mianowicie — rozpoznawanie nazwanych jednostek, podsumowywanie tekstu, analiza sentymentu, eksploracja aspektów i modelowanie tematów. W NLP istnieje wiele innych metod ekstrakcji danych, ale te są najczęściej używane.