Przetwarzanie języka naturalnego - krótki przewodnik

Język to metoda komunikacji, za pomocą której możemy mówić, czytać i pisać. Na przykład myślimy, że podejmujemy decyzje, plany i nie tylko w języku naturalnym; dokładnie słowami. Jednak głównym pytaniem, które staje przed nami w erze sztucznej inteligencji, jest to, czy możemy komunikować się w podobny sposób z komputerami. Innymi słowy, czy istoty ludzkie mogą komunikować się z komputerami w ich naturalnym języku? Tworzenie aplikacji NLP jest dla nas wyzwaniem, ponieważ komputery potrzebują ustrukturyzowanych danych, ale ludzka mowa jest nieustrukturyzowana i często ma niejednoznaczny charakter.

W tym sensie możemy powiedzieć, że przetwarzanie języka naturalnego (NLP) jest dziedziną informatyki, zwłaszcza sztucznej inteligencji (AI), która zajmuje się umożliwieniem komputerom zrozumienia i przetwarzania ludzkiego języka. Z technicznego punktu widzenia głównym zadaniem NLP byłoby zaprogramowanie komputerów do analizy i przetwarzania ogromnych ilości danych w języku naturalnym.

Historia NLP

Podzieliliśmy historię NLP na cztery fazy. Fazy ​​mają różne obawy i style.

Faza pierwsza (faza tłumaczenia maszynowego) - od późnych lat czterdziestych do późnych sześćdziesiątych XX wieku

Prace wykonane na tym etapie koncentrowały się głównie na tłumaczeniu maszynowym (MT). Ta faza była okresem entuzjazmu i optymizmu.

Zobaczmy teraz wszystko, co miała w sobie pierwsza faza -

  • Badania nad NLP rozpoczęły się na początku lat pięćdziesiątych XX wieku po dochodzeniu Booth & Richens i memorandum Weavera w sprawie tłumaczenia maszynowego w 1949 roku.

  • Rok 1954 był rokiem, w którym w ramach eksperymentu Georgetown-IBM zademonstrowano ograniczony eksperyment dotyczący automatycznego tłumaczenia z języka rosyjskiego na angielski.

  • W tym samym roku rozpoczęto wydawanie czasopisma MT (Machine Translation).

  • Pierwsza międzynarodowa konferencja poświęcona tłumaczeniu maszynowemu (MT) odbyła się w 1952 r., A druga w 1956 r.

  • W 1961 r. Prace przedstawione na Międzynarodowej Konferencji Teddington poświęconej tłumaczeniu maszynowemu języków i analizie języków stosowanych były szczytem tej fazy.

Druga faza (faza wpływu AI) - od późnych lat 60. do późnych 70

W tej fazie wykonana praca była głównie związana z wiedzą o świecie i jej rolą w konstruowaniu i manipulowaniu reprezentacjami znaczeń. Dlatego ta faza jest również nazywana fazą o smaku AI.

Faza miała w sobie następujące -

  • Na początku 1961 roku rozpoczęto prace nad problemami adresowania i konstruowania bazy danych lub wiedzy. Na tę pracę wpłynęła sztuczna inteligencja.

  • W tym samym roku opracowano także system odpowiadania na pytania BASEBALL. Dane wejściowe do tego systemu były ograniczone, a przetwarzanie języka było proste.

  • Bardzo zaawansowany system został opisany w Minsky (1968). System ten, w porównaniu z systemem odpowiadania na pytania BASEBALL, został rozpoznany i uwzględniony w konieczności wnioskowania na podstawie wiedzy w zakresie tłumaczenia i reagowania na wprowadzane dane językowe.

Faza trzecia (faza gramatyczno-logiczna) - od późnych lat 70. do późnych 80

Faza ta może być opisana jako faza gramatyczno-logiczna. Ze względu na niepowodzenie praktycznego budowania systemu w ostatniej fazie, badacze przeszli w kierunku wykorzystania logiki do reprezentacji wiedzy i wnioskowania w sztucznej inteligencji.

Trzecia faza miała w sobie:

  • Podejście gramatyczno-logiczne pod koniec dekady pomogło nam w stworzeniu potężnych procesorów zdań ogólnego przeznaczenia, takich jak rdzeń języka SRI i teoria reprezentacji dyskursu, które oferowały sposób radzenia sobie z bardziej rozbudowanym dyskursem.

  • W tej fazie otrzymaliśmy praktyczne zasoby i narzędzia, takie jak parsery, np. Alvey Natural Language Tools, a także bardziej operacyjne i komercyjne systemy, np. Do zapytań do baz danych.

  • Prace nad leksykonem w latach 80. również wskazywały na podejście gramatyczno-logiczne.

Faza czwarta (faza leksykalna i korpusowa) - lata 90

Możemy to opisać jako fazę leksykalną i korpusową. Faza miała leksykalizowane podejście do gramatyki, które pojawiło się pod koniec lat 80. i miało coraz większy wpływ. W tej dekadzie nastąpiła rewolucja w przetwarzaniu języka naturalnego wraz z wprowadzeniem algorytmów uczenia maszynowego do przetwarzania języka.

Studium języków ludzkich

Język jest kluczowym składnikiem życia ludzkiego, a także najbardziej podstawowym aspektem naszego zachowania. Możemy tego doświadczyć głównie w dwóch formach - pisemnej i ustnej. W formie pisemnej to sposób na przekazywanie naszej wiedzy z pokolenia na pokolenie. W formie mówionej jest podstawowym środkiem komunikacji między ludźmi w ich codziennym zachowaniu. Język jest studiowany w różnych dyscyplinach naukowych. Każda dyscyplina ma własny zestaw problemów i zestaw rozwiązań, które je rozwiązują.

Aby to zrozumieć, rozważ poniższą tabelę -

Dyscyplina Problemy Przybory

Lingwiści

Jak można tworzyć frazy i zdania za pomocą słów?

Co ogranicza możliwe znaczenie zdania?

Intuicje dotyczące uformowania i znaczenia.

Matematyczny model konstrukcji. Na przykład semantyka teorii modeli, formalna teoria języka.

Psycholingwiści

Jak ludzie mogą rozpoznać strukturę zdań?

Jak można zidentyfikować znaczenie słów?

Kiedy następuje zrozumienie?

Techniki eksperymentalne głównie do pomiaru wydajności istot ludzkich.

Analiza statystyczna obserwacji.

Filozofowie

Jak słowa i zdania nabierają znaczenia?

W jaki sposób obiekty są identyfikowane za pomocą słów?

Czym jest znaczenie?

Argumentacja w języku naturalnym za pomocą intuicji.

Modele matematyczne, takie jak logika i teoria modeli.

Lingwiści komputerowi

Jak możemy zidentyfikować strukturę zdania

Jak można modelować wiedzę i rozumowanie?

Jak możemy używać języka do wykonywania określonych zadań?

Algorytmy

Struktury danych

Formalne modele reprezentacji i rozumowania.

Techniki AI, takie jak metody wyszukiwania i reprezentacji.

Niejednoznaczność i niepewność w języku

Niejednoznaczność, powszechnie stosowana w przetwarzaniu języka naturalnego, może być określana jako zdolność bycia rozumianym na więcej niż jeden sposób. Mówiąc prościej, można powiedzieć, że niejednoznaczność to zdolność bycia rozumianym na więcej niż jeden sposób. Język naturalny jest bardzo niejednoznaczny. NLP ma następujące rodzaje niejednoznaczności -

Niejednoznaczność leksykalna

Niejednoznaczność pojedynczego słowa nazywana jest niejednoznacznością leksykalną. Na przykład traktowanie słowasilver jako rzeczownik, przymiotnik lub czasownik.

Niejednoznaczność składniowa

Ten rodzaj niejednoznaczności pojawia się, gdy zdanie jest analizowane na różne sposoby. Na przykład zdanie „Mężczyzna zobaczył dziewczynę przez teleskop”. Nie jest jednoznaczne, czy mężczyzna widział dziewczynę niosącą teleskop, czy też widział ją przez swój teleskop.

Niejednoznaczność semantyczna

Ten rodzaj dwuznaczności pojawia się, gdy znaczenie samych słów może zostać źle zinterpretowane. Innymi słowy, niejednoznaczność semantyczna ma miejsce, gdy zdanie zawiera niejednoznaczne słowo lub frazę. Na przykład zdanie „Samochód uderzył w słup, gdy się poruszał” ma niejednoznaczność semantyczną, ponieważ interpretacje mogą brzmieć: „Samochód w ruchu uderzył w słup” i „Samochód uderzył w słup podczas poruszania się słupa”.

Niejednoznaczność anaforyczna

Ten rodzaj dwuznaczności wynika z użycia bytów anafory w dyskursie. Na przykład koń wbiegł na wzgórze. Było bardzo stromo. Szybko się zmęczył. Tutaj anaforyczne odniesienie do „tego” w dwóch sytuacjach powoduje niejednoznaczność.

Pragmatyczna dwuznaczność

Taka dwuznaczność dotyczy sytuacji, w której kontekst frazy daje wiele interpretacji. W prostych słowach możemy powiedzieć, że pragmatyczna dwuznaczność pojawia się, gdy stwierdzenie nie jest konkretne. Na przykład zdanie „Ja też cię lubię” może mieć wiele interpretacji, tak jak lubię cię (tak jak ty lubisz mnie), lubię cię (tak jak ktoś inny dozuje).

Fazy ​​NLP

Poniższy diagram przedstawia fazy lub kroki logiczne w przetwarzaniu języka naturalnego -

Przetwarzanie morfologiczne

To pierwsza faza NLP. Celem tej fazy jest podzielenie fragmentów danych wejściowych języka na zestawy znaczników odpowiadających akapitom, zdaniom i słowom. Na przykład słowo takie jak“uneasy” można podzielić na dwa żetony podsłów jako “un-easy”.

Analiza składni

To druga faza NLP. Cel tej fazy jest dwojaki: sprawdzenie, czy zdanie jest dobrze sformułowane, czy nie, i rozbicie go na strukturę, która pokazuje związki syntaktyczne między różnymi słowami. Na przykład zdanie jak“The school goes to the boy” zostanie odrzucony przez analizator składni lub parser.

Analiza semantyczna

To trzecia faza NLP. Celem tej fazy jest wyciągnięcie dokładnego znaczenia lub możesz powiedzieć znaczenie słownikowe z tekstu. Tekst jest sprawdzany pod kątem znaczenia. Na przykład analizator semantyczny odrzuciłby zdanie takie jak „Gorące lody”.

Analiza pragmatyczna

To czwarta faza NLP. Analiza pragmatyczna po prostu dopasowuje rzeczywiste obiekty / zdarzenia, które istnieją w danym kontekście, do odniesień do obiektów uzyskanych w ostatniej fazie (analiza semantyczna). Na przykład zdanie „Połóż banana w koszyku na półce” może mieć dwie interpretacje semantyczne i analizator pragmatyczny wybierze jedną z tych dwóch możliwości.

W tym rozdziale dowiemy się o zasobach językowych w przetwarzaniu języka naturalnego.

Ciało

Korpus to duży i uporządkowany zbiór tekstów do odczytu maszynowego, które zostały utworzone w naturalnym środowisku komunikacyjnym. Liczba mnoga to corpora. Można je wyprowadzić na różne sposoby, jak tekst, który był pierwotnie elektroniczny, transkrypcje języka mówionego i optyczne rozpoznawanie znaków itp.

Elementy konstrukcji korpusu

Język jest nieskończony, ale korpus musi mieć skończony rozmiar. Aby korpus miał skończony rozmiar, musimy pobrać próbkę i proporcjonalnie uwzględnić szeroki zakres typów tekstu, aby zapewnić dobry projekt korpusu.

Poznajmy teraz kilka ważnych elementów projektowania korpusu -

Reprezentatywność korpusu

Reprezentatywność jest cechą definiującą projektowanie korpusu. Poniższe definicje dwóch wielkich badaczy - Leech i Biber, pomogą nam zrozumieć reprezentatywność korpusu -

  • According to Leech (1991), „Uważa się, że korpus jest reprezentatywny dla odmiany językowej, którą ma reprezentować, jeśli ustalenia oparte na jego treści można uogólnić na tę odmianę językową”.

  • According to Biber (1993), „Reprezentatywność odnosi się do zakresu, w jakim próbka obejmuje pełen zakres zmienności w populacji”.

W ten sposób możemy stwierdzić, że reprezentatywność korpusu jest określana przez dwa następujące czynniki -

  • Balance - Zakres gatunków obejmuje korpus

  • Sampling - Sposób wybierania fragmentów dla każdego gatunku.

Równowaga korpusu

Kolejnym bardzo ważnym elementem projektowania korpusu jest równowaga korpusu - zakres gatunkowy zawarty w korpusie. Badaliśmy już, że reprezentatywność całego korpusu zależy od tego, jak zrównoważony jest korpus. Zrównoważony korpus obejmuje szeroki wachlarz kategorii tekstowych, które mają być reprezentantami języka. Nie dysponujemy żadną rzetelną naukową miarą równowagi, ale w tej kwestii sprawdza się najlepsza ocena i intuicja. Innymi słowy, możemy powiedzieć, że przyjęta równowaga zależy wyłącznie od jej przeznaczenia.

Próbowanie

Kolejnym ważnym elementem projektowania korpusu jest próbkowanie. Reprezentatywność i równowaga korpusu są bardzo ściśle związane z próbkowaniem. Dlatego możemy powiedzieć, że przy tworzeniu korpusu nie da się uciec od próbkowania.

  • Według Biber(1993), „Niektóre z pierwszych rozważań podczas konstruowania korpusu dotyczą ogólnego projektu: na przykład rodzaje zawartych tekstów, liczba tekstów, wybór poszczególnych tekstów, wybór próbek tekstu z tekstów i długość tekstu próbki. Każdy z nich wiąże się z decyzją dotyczącą pobierania próbek, świadomą lub nie. ”

Otrzymując reprezentatywną próbkę, musimy wziąć pod uwagę:

  • Sampling unit- Odnosi się do jednostki, która wymaga próbki. Na przykład w przypadku tekstu pisanego jednostką pobierania próbek może być gazeta, czasopismo lub książka.

  • Sampling frame - Lista wszystkich jednostek losowania nazywana jest operatem losowania.

  • Population- Może to być zbiór wszystkich jednostek do pobierania próbek. Jest definiowany w kategoriach produkcji języka, odbioru języka lub języka jako produktu.

Rozmiar korpusu

Kolejnym ważnym elementem konstrukcji korpusu jest jego wielkość. Jak duży powinien być korpus? Nie ma konkretnej odpowiedzi na to pytanie. Rozmiar korpusu zależy od celu, dla którego jest przeznaczony, a także od pewnych praktycznych względów, jak następuje:

  • Rodzaj zapytania oczekiwanego od użytkownika.

  • Metodologia stosowana przez użytkowników do badania danych.

  • Dostępność źródła danych.

Wraz z postępem technologicznym zwiększa się również rozmiar korpusu. Poniższa tabela porównawcza pomoże ci zrozumieć, jak działa rozmiar korpusu -

Rok Nazwa Korpusu Rozmiar (słownie)
1960-70 Brązowy i LOB 1 milion słów
Lata 80 Korpora Birmingham 20 milionów słów
Lata 90 Brytyjski korpus narodowy 100 milionów słów
Początek XXI wieku Korpus Bank of English 650 milionów słów

W kolejnych sekcjach przyjrzymy się kilku przykładom korpusu.

TreeBank Corpus

Można go zdefiniować jako przeanalizowany językowo korpus tekstu, który zawiera adnotacje w składniowej lub semantycznej strukturze zdań. Geoffrey Leech ukuł termin „bank drzew”, który oznacza, że ​​najpowszechniejszym sposobem przedstawiania analizy gramatycznej jest struktura drzewa. Generalnie banki drzew są tworzone na szczycie korpusu, który został już opatrzony adnotacjami znacznikami części mowy.

Rodzaje korpusu TreeBank

Semantyczne i syntaktyczne banki drzew to dwa najpopularniejsze typy banków drzew w językoznawstwie. Dowiedzmy się teraz więcej o tych typach -

Semantyczne banki drzew

Te banki drzew używają formalnej reprezentacji struktury semantycznej zdania. Różnią się głębokością reprezentacji semantycznej. Robot Commands Treebank, Geoquery, Groningen Meaning Bank, RoboCup Corpus to tylko niektóre przykłady semantycznych banków drzew.

Syntaktyczne banki drzew

W przeciwieństwie do semantycznych banków drzew, dane wejściowe do systemów Syntactic Treebank są wyrażeniami języka formalnego uzyskanymi z konwersji przeanalizowanych danych Treebank. Dane wyjściowe takich systemów to reprezentacja znaczenia oparta na logice predykatów. Do tej pory stworzono różne syntaktyczne banki drzew w różnych językach. Na przykład,Penn Arabic Treebank, Columbia Arabic Treebank są składniowymi bankami drzew utworzonymi w języku arabskim. Sininca składniowy Treebank stworzony w języku chińskim. Lucy, Susane i BLLIP WSJ korpus składniowy utworzony w języku angielskim.

Zastosowania TreeBank Corpus

Oto niektóre z zastosowań TreeBanks -

W językoznawstwie komputerowym

Jeśli mówimy o lingwistyce obliczeniowej, to najlepszym zastosowaniem TreeBanks jest tworzenie najnowocześniejszych systemów przetwarzania języka naturalnego, takich jak znaczniki części mowy, parsery, analizatory semantyczne i systemy tłumaczenia maszynowego.

W językoznawstwie korpusowym

W przypadku lingwistyki Corpus najlepszym zastosowaniem banków drzew jest badanie zjawisk składniowych.

W językoznawstwie teoretycznym i psycholingwistyce

Najlepszym zastosowaniem Treebanks w teorii i psycholingwistyce są dowody interakcji.

PropBank Corpus

PropBank, a dokładniej zwany „Bankiem propozycji”, to zbiór, który jest opatrzony adnotacjami słownymi propozycjami i ich argumentami. Korpus jest zasobem zorientowanym na czasowniki; adnotacje tutaj są ściślej związane z poziomem syntaktycznym. Opracowała go Martha Palmer i in., Department of Linguistic, University of Colorado Boulder. Możemy użyć terminu PropBank jako rzeczownika pospolitego odnoszącego się do dowolnego korpusu, do którego dodano adnotacje ze zdaniami i ich argumentami.

W przetwarzaniu języka naturalnego (NLP) projekt PropBank odegrał bardzo ważną rolę. Pomaga w semantycznym etykietowaniu ról.

VerbNet (VN)

VerbNet (VN) to hierarchiczny, niezależny od domeny i największy zasób leksykalny obecny w języku angielskim, który zawiera zarówno informacje semantyczne, jak i syntaktyczne o swojej zawartości. VN to leksykon czasownika o szerokim zakresie, mający odwzorowania na inne zasoby leksykalne, takie jak WordNet, Xtag i FrameNet. Jest zorganizowany w klasy czasowników, które rozszerzają klasy Levina poprzez udoskonalenie i dodanie podklas w celu osiągnięcia spójności składniowej i semantycznej wśród członków klas.

Każda klasa VerbNet (VN) zawiera -

Zestaw opisów składniowych lub ramek składniowych

Do przedstawiania możliwych powierzchniowych realizacji struktury argumentowej dla konstrukcji takich jak zwroty przechodnie, nieprzechodnie, przyimkowe, wynikowe i duży zestaw przemian skazy.

Zestaw opisów semantycznych, takich jak animacja, człowiek, organizacja

W celu ograniczenia, typy ról tematycznych, na które zezwalają argumenty, mogą zostać nałożone dalsze ograniczenia. Pomoże to wskazać syntaktyczną naturę składnika, który prawdopodobnie będzie powiązany z rolą tematyczną.

WordNet

WordNet, stworzony przez Princeton, to leksykalna baza danych dla języka angielskiego. Jest częścią korpusu NLTK. W WordNet rzeczowniki, czasowniki, przymiotniki i przysłówki są pogrupowane w zestawy synonimów poznawczych zwanychSynsets. Wszystkie synsety łączymy za pomocą relacji pojęciowo-semantycznych i leksykalnych. Jego struktura sprawia, że ​​jest bardzo przydatny do przetwarzania języka naturalnego (NLP).

W systemach informacyjnych WordNet jest używany do różnych celów, takich jak ujednoznacznianie sensu słów, wyszukiwanie informacji, automatyczna klasyfikacja tekstu i tłumaczenie maszynowe. Jednym z najważniejszych zastosowań WordNet jest znalezienie podobieństwa między słowami. W tym zadaniu zaimplementowano różne algorytmy w różnych pakietach, takich jak podobieństwo w Perlu, NLTK w Pythonie i ADW w Javie.

W tym rozdziale zrozumiemy analizę światowego poziomu przetwarzania języka naturalnego.

Wyrażenia regularne

Wyrażenie regularne (RE) to język służący do określania ciągów wyszukiwania tekstu. RE pomaga nam dopasować lub znaleźć inne ciągi lub zestawy ciągów, używając specjalistycznej składni trzymanej we wzorcu. Wyrażenia regularne służą do wyszukiwania tekstów w systemie UNIX, a także w MS WORD w identyczny sposób. Mamy różne wyszukiwarki korzystające z wielu funkcji RE.

Właściwości wyrażeń regularnych

Oto niektóre z ważnych właściwości RE -

  • Amerykański matematyk Stephen Cole Kleene sformalizował język wyrażeń regularnych.

  • RE to formuła w specjalnym języku, której można użyć do określenia prostych klas łańcuchów, sekwencji symboli. Innymi słowy, możemy powiedzieć, że RE jest notacją algebraiczną do charakteryzowania zbioru ciągów.

  • Wyrażenie regularne wymaga dwóch rzeczy, jedna to wzorzec, który chcemy przeszukać, a druga to korpus tekstu, z którego musimy szukać.

Matematycznie wyrażenie regularne można zdefiniować w następujący sposób -

  • ε jest wyrażeniem regularnym, które wskazuje, że język ma pusty ciąg.

  • φ jest wyrażeniem regularnym, które oznacza, że ​​jest to pusty język.

  • Gdyby X i Y są więc wyrażeniami regularnymi

    • X, Y

    • X.Y(Concatenation of XY)

    • X+Y (Union of X and Y)

    • X*, Y* (Kleen Closure of X and Y)

są również wyrażeniami regularnymi.

  • Jeśli ciąg pochodzi z powyższych reguł, byłoby to również wyrażenie regularne.

Przykłady wyrażeń regularnych

W poniższej tabeli przedstawiono kilka przykładów wyrażeń regularnych -

Wyrażenia regularne Regularny zestaw
(0 + 10 *) {0, 1, 10, 100, 1000, 10000,…}
(0 * 10 *) {1, 01, 10, 010, 0010,…}
(0 + ε) (1 + ε) {ε, 0, 1, 01}
(a + b) * Byłby to zbiór ciągów znaków a i b o dowolnej długości, który obejmuje również łańcuch pusty, tj. {Ε, a, b, aa, ab, bb, ba, aaa …….}
(a + b) * abb Byłby to zbiór ciągów znaków a i b kończących się ciągiem abb tj. {Abb, aabb, babb, aaabb, ababb, ………… ..}
(11) * Byłby to zbiór składający się z parzystej liczby jedynek, która zawiera również pusty ciąg, tj. {Ε, 11, 1111, 111111, ……….}
(aa) * (bb) * b Byłby to zbiór ciągów składających się z parzystej liczby a, po której następuje nieparzysta liczba b, tj. {B, aab, aabbb, aabbbbb, aaaab, aaaabbb, ………… ..}
(aa + ab + ba + bb) * Byłby to ciąg a i b o parzystej długości, który można uzyskać łącząc dowolną kombinację ciągów aa, ab, ba i bb, w tym null, tj. {Aa, ab, ba, bb, aaab, aaba, …………. .}

Regularne zestawy i ich właściwości

Można go zdefiniować jako zbiór, który reprezentuje wartość wyrażenia regularnego i składa się z określonych właściwości.

Właściwości zbiorów regularnych

  • Jeśli zrobimy sumę dwóch regularnych zbiorów, wynikowy zbiór również będzie regula.

  • Jeśli zrobimy przecięcie dwóch regularnych zbiorów, wynikowy zbiór również byłby regularny.

  • Jeśli dopełnimy zbiory regularne, to wynikowy zbiór również będzie regularny.

  • Jeśli zrobimy różnicę dwóch regularnych zestawów, wynikowy zbiór również byłby regularny.

  • Jeśli wykonamy odwrócenie regularnych zbiorów, wynikowy zbiór również byłby regularny.

  • Jeśli weźmiemy zamknięcie regularnych zestawów, wynikowy zbiór również byłby regularny.

  • Jeśli dokonamy konkatenacji dwóch regularnych zbiorów, wynikowy zbiór również byłby regularny.

Automaty skończone

Termin automata, wywodzący się z greckiego słowa "αὐτόματα" oznaczającego "samoczynne działanie", jest liczbą mnogą od automatu, który można zdefiniować jako abstrakcyjne samobieżne urządzenie obliczeniowe, które automatycznie wykonuje z góry określoną sekwencję operacji.

Automat mający skończoną liczbę stanów nazywany jest automatem skończonym (FA) lub automatem skończonym (FSA).

Matematycznie automat można przedstawić jako 5-krotkę (Q, Σ, δ, q0, F), gdzie -

  • Q jest skończonym zbiorem stanów.

  • Σ jest skończonym zbiorem symboli, zwanym alfabetem automatu.

  • δ jest funkcją przejścia

  • q0 to stan początkowy, w którym przetwarzane jest dowolne wejście (q0 ∈ Q).

  • F jest zbiorem stanu / stanów końcowych Q (F ⊆ Q).

Relacja między automatami skończonymi, gramatykami regularnymi i wyrażeniami regularnymi

Poniższe punkty dadzą nam jasny obraz związku między automatami skończonymi, gramatykami regularnymi i wyrażeniami regularnymi -

  • Jak wiemy, automaty skończone są teoretyczną podstawą pracy obliczeniowej, a wyrażenia regularne są jednym ze sposobów ich opisu.

  • Można powiedzieć, że dowolne wyrażenie regularne można zaimplementować jako FSA, a każde FSA można opisać wyrażeniem regularnym.

  • Z drugiej strony, wyrażenie regularne jest sposobem na scharakteryzowanie rodzaju języka zwanego językiem regularnym. Stąd możemy powiedzieć, że język regularny można opisać zarówno przy pomocy FSA, jak i wyrażeń regularnych.

  • Gramatyka regularna, gramatyka formalna, która może być prawostronna lub lewostronna, to kolejny sposób scharakteryzowania języka regularnego.

Poniższy diagram pokazuje, że automaty skończone, wyrażenia regularne i gramatyki regularne są równoważnymi sposobami opisu języków regularnych.

Rodzaje automatyzacji skończonej (FSA)

Automatyzacja stanów skończonych jest dwojakiego rodzaju. Zobaczmy, jakie są typy.

Deterministyczna automatyzacja skończona (DFA)

Można go zdefiniować jako rodzaj automatyzacji skończonej, w której dla każdego symbolu wejściowego możemy określić stan, do którego przejdzie maszyna. Ma skończoną liczbę stanów, dlatego maszyna nazywa się deterministycznym automatem skończonym (DFA).

Matematycznie DFA można przedstawić jako 5-krotkę (Q, Σ, δ, q0, F), gdzie -

  • Q jest skończonym zbiorem stanów.

  • Σ jest skończonym zbiorem symboli, zwanym alfabetem automatu.

  • δ jest funkcją przejścia, gdzie δ: Q × Σ → Q.

  • q0 to stan początkowy, w którym przetwarzane jest dowolne wejście (q0 ∈ Q).

  • F jest zbiorem stanu / stanów końcowych Q (F ⊆ Q).

Podczas gdy graficznie, DFA można przedstawić za pomocą wykresów zwanych diagramami stanu, gdzie -

  • Stany są reprezentowane przez vertices.

  • Przejścia są oznaczone jako arcs.

  • Stan początkowy jest reprezentowany przez empty incoming arc.

  • Stan końcowy jest reprezentowany przez double circle.

Przykład DFA

Załóżmy, że DFA jest

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • Funkcja przejścia δ jest przedstawiona w tabeli w następujący sposób -

Stan aktulany Następny stan dla wejścia 0 Następny stan dla wejścia 1
ZA za b
b b ZA
do do do

Graficzna reprezentacja tego DFA wyglądałaby następująco:

Niedeterministyczna automatyzacja skończona (NDFA)

Można go zdefiniować jako rodzaj automatyzacji skończonej, w której dla każdego symbolu wejściowego nie możemy określić stanu, do którego będzie się poruszała maszyna, tj. Maszyna może przejść do dowolnej kombinacji stanów. Ma skończoną liczbę stanów, dlatego maszyna nazywa się niedeterministyczną automatyzacją skończoną (NDFA).

Matematycznie NDFA można przedstawić za pomocą 5-krotek (Q, Σ, δ, q0, F), gdzie -

  • Q jest skończonym zbiorem stanów.

  • Σ jest skończonym zbiorem symboli, zwanym alfabetem automatu.

  • δ: -jest funkcję przejścia gdzie δ: Q x Σ → 2 Q .

  • q0: -jest stanem początkowym, z którego przetwarzane są dane wejściowe (q0 ∈ Q).

  • F: -jest zbiorem stanów / stanów końcowych Q (F ⊆ Q).

Podczas gdy graficznie (tak samo jak DFA), NDFA można przedstawić za pomocą wykresów zwanych diagramami stanu, gdzie -

  • Stany są reprezentowane przez vertices.

  • Przejścia są oznaczone jako arcs.

  • Stan początkowy jest reprezentowany przez empty incoming arc.

  • Stan końcowy jest reprezentowany przez podwójną circle.

Przykład NDFA

Załóżmy, że NDFA jest

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • Funkcja przejścia δ jest przedstawiona w tabeli w następujący sposób -

Stan aktulany Następny stan dla wejścia 0 Następny stan dla wejścia 1
ZA a, b b
b do a, c
do pne do

Graficzna reprezentacja tego NDFA wyglądałaby następująco -

Analiza morfologiczna

Termin analiza morfologiczna jest związana z analizowaniem morfemów. Możemy zdefiniować analizę morfologiczną jako problem rozpoznania, że ​​słowo rozpada się na mniejsze znaczące jednostki zwane morfemami, tworząc dla niego jakąś strukturę językową. Na przykład, możemy podzielić słowo lisy na dwa, lis i -es . Widzimy, że słowo lisy składa się z dwóch morfemów, z których jeden to lis, a drugi to -es .

W innym sensie możemy powiedzieć, że morfologia to badanie -

  • Tworzenie słów.

  • Pochodzenie słów.

  • Formy gramatyczne słów.

  • Stosowanie przedrostków i przyrostków w tworzeniu słów.

  • Jak powstają części mowy (PoS) języka.

Rodzaje morfemów

Morfemy, najmniejsze jednostki niosące znaczenie, można podzielić na dwa typy -

  • Stems

  • Szyk wyrazów

Łodygi

Jest to podstawowa znacząca jednostka słowa. Można też powiedzieć, że jest to rdzeń słowa. Na przykład w słowie lisy łodygą jest lis.

  • Affixes- Jak sama nazwa wskazuje, dodają do słów dodatkowe znaczenie i funkcje gramatyczne. Na przykład w słowie lisy przyrostek to - es.

Ponadto afiksy można również podzielić na następujące cztery typy -

    • Prefixes- Jak sama nazwa wskazuje, przedrostki poprzedzają rdzeń. Na przykład w słowie unbuckle un jest przedrostkiem.

    • Suffixes- Jak sama nazwa wskazuje, po trzonie znajdują się przyrostki. Na przykład w słowie koty przyrostkiem jest -s.

    • Infixes- Jak sama nazwa wskazuje, wrostki są wstawiane wewnątrz łodygi. Na przykład słowo cupful może być ujęte w liczbie mnogiej jako cupful przez użycie -s jako wrostka.

    • Circumfixes- Poprzedzają i podążają za łodygą. W języku angielskim jest bardzo mniej przykładów daszków. Bardzo częstym przykładem jest „A -ing”, w którym możemy użyć -A poprzedzającego, a -ing następuje po rdzeniu.

Szyk wyrazów

Kolejność słów zostanie ustalona przez analizę morfologiczną. Zobaczmy teraz wymagania dotyczące budowy parsera morfologicznego -

Leksykon

Pierwszym wymaganiem do zbudowania parsera morfologicznego jest leksykon, który zawiera wykaz tematów i afiksów wraz z podstawowymi informacjami o nich. Na przykład informacje, takie jak temat to rzeczownik czy temat czasownika itp.

Morfotaktyka

Jest to w zasadzie model uporządkowania morfemów. W innym sensie model wyjaśniający, które klasy morfemów mogą podążać za innymi klasami morfemów wewnątrz słowa. Na przykład faktem morfotaktycznym jest to, że angielski morfem liczby mnogiej zawsze występuje po rzeczowniku, a nie go poprzedza.

Reguły ortograficzne

Te reguły pisowni służą do modelowania zmian zachodzących w słowie. Na przykład zasada zamiany y na ie w słowie takim jak miasto + s = miasta a nie miasta.

Analiza składniowa, analiza składniowa lub analiza składni to trzecia faza NLP. Celem tej fazy jest wyciągnięcie dokładnego znaczenia lub możesz powiedzieć znaczenie słownikowe z tekstu. Analiza składniowa sprawdza tekst pod kątem sensowności w porównaniu z regułami gramatyki formalnej. Na przykład zdanie „gorące lody” zostanie odrzucone przez analizator semantyczny.

W tym sensie analizę składniową lub parsowanie można zdefiniować jako proces analizy ciągów symboli w języku naturalnym zgodnie z regułami gramatyki formalnej. Pochodzenie słowa‘parsing’ pochodzi od łacińskiego słowa ‘pars’ co znaczy ‘part’.

Pojęcie parsera

Służy do realizacji zadania parsowania. Można go zdefiniować jako komponent oprogramowania przeznaczony do pobierania danych wejściowych (tekstu) i zapewniania strukturalnej reprezentacji wejścia po sprawdzeniu poprawności składni zgodnie z gramatyką formalną. Tworzy również strukturę danych ogólnie w postaci drzewa parsowania lub abstrakcyjnego drzewa składniowego lub innej struktury hierarchicznej.

Główne role parse obejmują -

  • Aby zgłosić błąd składni.

  • Aby naprawić często występujący błąd, aby można było kontynuować przetwarzanie pozostałej części programu.

  • Aby utworzyć drzewo parsowania.

  • Aby utworzyć tablicę symboli.

  • Tworzenie reprezentacji pośrednich (IR).

Typy analizowania

Wyprowadzenie dzieli analizę na następujące dwa typy -

  • Analiza odgórna

  • Analiza oddolna

Analiza odgórna

W tego rodzaju analizowaniu parser zaczyna konstruować drzewo parsowania na podstawie symbolu startu, a następnie próbuje przekształcić symbol początkowy na wejście. Najpowszechniejsza forma analizy zstępującej wykorzystuje procedurę rekurencyjną do przetwarzania danych wejściowych. Główną wadą rekurencyjnego analizowania zstępowania jest wycofywanie się.

Analiza oddolna

W tego rodzaju analizowaniu parser zaczyna od symbolu wejściowego i próbuje skonstruować drzewo parsera aż do symbolu początkowego.

Pojęcie wyprowadzenia

Aby uzyskać ciąg wejściowy, potrzebujemy sekwencji reguł produkcji. Wyprowadzenie to zbiór reguł produkcji. Podczas parsowania musimy zdecydować, który nieterminal ma zostać zastąpiony wraz z ustaleniem reguły produkcji, za pomocą której zostanie wymieniony nieterminal.

Rodzaje derywacji

W tej sekcji dowiemy się o dwóch typach wyprowadzeń, których można użyć, aby zdecydować, który nieterminalny ma zostać zastąpiony regułą produkcji -

Wyprowadzenie skrajnie lewe

W wyprowadzeniu najbardziej na lewo zdaniowa forma wejścia jest skanowana i zastępowana od lewej do prawej. Formularz zdaniowy w tym przypadku nazywa się formularzem zdaniowym lewostronnym.

Wyprowadzenie najbardziej po prawej

W wyprowadzeniu położonym najbardziej po lewej stronie zdaniowa forma wejścia jest skanowana i zastępowana od prawej do lewej. Formularz zdaniowy w tym przypadku nazywany jest formą zdaniową na prawo.

Koncepcja drzewa analizy

Można go zdefiniować jako graficzne przedstawienie wyprowadzenia. Symbol początku wyprowadzenia służy jako korzeń drzewa parsowania. W każdym drzewie analizy węzły-liście są terminalami, a węzły wewnętrzne nie są terminalami. Właściwość drzewa parsowania polega na tym, że przeglądanie w kolejności wytworzy oryginalny ciąg wejściowy.

Pojęcie gramatyki

Gramatyka jest bardzo istotna i ważna do opisania struktury składniowej dobrze sformułowanych programów. W sensie literackim oznaczają reguły składniowe konwersacji w językach naturalnych. Lingwistyka próbowała zdefiniować gramatyki od czasu powstania języków naturalnych, takich jak angielski, hindi itp.

Teoria języków formalnych ma również zastosowanie w dziedzinach informatyki, głównie w językach programowania i strukturze danych. Na przykład w języku „C” dokładne reguły gramatyczne określają sposób tworzenia funkcji z list i instrukcji.

Matematyczny model gramatyki podał Noam Chomsky w 1956 roku, co jest skuteczne w pisaniu języków komputerowych.

Matematycznie gramatykę G można formalnie zapisać jako 4-krotkę (N, T, S, P), gdzie -

  • N lub VN = zbiór symboli nieterminalowych, tj. zmiennych.

  • T lub = zestaw symboli terminala.

  • S = Symbol początku, gdzie S ∈ N

  • Poznacza zasady produkcji dla terminali, jak również nieterminali. Ma postać α → β, gdzie α i β są łańcuchami na V N ∪ ∑, a co najmniej jeden symbol α należy do V N

Struktura wyrażeń lub gramatyka okręgu

Gramatyka struktury fraz, wprowadzona przez Noama Chomsky'ego, opiera się na relacji okręgów wyborczych. Dlatego nazywana jest również gramatyką okręgową. Jest to przeciwieństwo gramatyki zależności.

Przykład

Zanim podamy przykład gramatyki dla okręgów wyborczych, musimy poznać podstawowe kwestie dotyczące gramatyki dla okręgów wyborczych i relacji między nimi.

  • Wszystkie powiązane ramy postrzegają strukturę zdań w kategoriach relacji elektoratu.

  • Relacja okręgów wyborczych wywodzi się z podziału podmiot-predykat w gramatyce łacińskiej i greckiej.

  • Podstawową strukturę klauzuli należy rozumieć w kategoriach noun phrase NP i verb phrase VP.

Możemy napisać zdanie “This tree is illustrating the constituency relation” w następujący sposób -

Gramatyka zależności

Jest przeciwieństwem gramatyki okręgowej i opiera się na relacji zależności. Wprowadził go Lucien Tesniere. Gramatyka zależności (DG) jest przeciwieństwem gramatyki okręgowej, ponieważ brakuje w niej węzłów frazowych.

Przykład

Zanim podamy przykład gramatyki zależności, musimy poznać podstawowe punkty dotyczące gramatyki zależności i relacji zależności.

  • W DG jednostki językowe, tj. Słowa, są połączone ze sobą za pomocą ukierunkowanych linków.

  • Czasownik staje się środkiem struktury klauzuli.

  • Wszystkie inne jednostki syntaktyczne są połączone z czasownikiem pod względem powiązania skierowanego. Te jednostki syntaktyczne nazywane sądependencies.

Możemy napisać zdanie “This tree is illustrating the dependency relation” następująco;

Drzewo analizy korzystające z gramatyki okręgów jest nazywane drzewem analizy opartym na okręgach; a drzewa analizy wykorzystujące gramatykę zależności są nazywane drzewem analizy opartym na zależnościach.

Gramatyka bez kontekstu

Gramatyka bezkontekstowa, zwana również CFG, to notacja opisująca języki i nadzbiór gramatyki regularnej. Można to zobaczyć na poniższym schemacie -

Definicja CFG

CFG składa się z skończonego zestawu reguł gramatycznych z następującymi czterema elementami -

Zestaw nie-terminali

Jest oznaczony przez V. Nieterminale to zmienne składniowe, które oznaczają zestawy ciągów, które dodatkowo pomagają zdefiniować język, generowany przez gramatykę.

Zestaw zacisków

Jest również nazywany tokenami i definiowany przez Σ. Struny są tworzone z podstawowych symboli terminali.

Zestaw produkcji

Jest oznaczony przez P. Zbiór określa, w jaki sposób można łączyć terminale i nieterminale. Każda produkcja (P) składa się z nieterminali, strzałki i terminali (sekwencji terminali). Nieterminale nazywane są lewą stroną produkcji, a terminale prawą stroną produkcji.

Symbol początkowy

Produkcja zaczyna się od symbolu startu. Jest oznaczony symbolem S. Symbol nieterminalny jest zawsze oznaczany jako symbol początkowy.

Celem analizy semantycznej jest wyciągnięcie dokładnego znaczenia lub możesz powiedzieć znaczenie słownikowe z tekstu. Praca analizatora semantycznego polega na sprawdzeniu tekstu pod kątem sensowności.

Wiemy już, że analiza leksykalna zajmuje się również znaczeniem słów, więc czym różni się analiza semantyczna od analizy leksykalnej? Analiza leksykalna opiera się na mniejszym tokenie, ale z drugiej strony analiza semantyczna skupia się na większych fragmentach. Dlatego analizę semantyczną można podzielić na dwie części -

Badanie znaczenia poszczególnych słów

Jest to pierwsza część analizy semantycznej, w której przeprowadza się badanie znaczenia poszczególnych słów. Ta część nazywa się semantyką leksykalną.

Badanie kombinacji pojedynczych słów

W drugiej części poszczególne słowa zostaną połączone, aby nadać znaczenie zdaniom.

Najważniejszym zadaniem analizy semantycznej jest uzyskanie właściwego znaczenia zdania. Na przykład przeanalizuj zdanie“Ram is great.”W tym zdaniu mówca mówi albo o Panu Ramie, albo o osobie o imieniu Ram. Dlatego ważna jest praca analizatora semantycznego, aby uzyskać właściwe znaczenie zdania.

Elementy analizy semantycznej

Poniżej przedstawiono kilka ważnych elementów analizy semantycznej -

Hyponimia

Można go zdefiniować jako związek między terminem ogólnym a wystąpieniami tego terminu rodzajowego. Tutaj termin ogólny nazywa się hypernym, a jego wystąpienia nazywane są hiponimami. Na przykład słowo color to hypernym, a kolor niebieski, żółty itd. To hiponimy.

Homonimia

Można go zdefiniować jako słowa o tej samej pisowni lub takiej samej formie, ale o innym i niepowiązanym znaczeniu. Na przykład słowo „nietoperz” jest słowem homonimicznym, ponieważ nietoperz może być narzędziem do uderzania piłki, a nietoperz jest także nocnym latającym ssakiem.

Polisemia

Polisemia to greckie słowo, które oznacza „wiele znaków”. Jest to słowo lub fraza o innym, ale pokrewnym znaczeniu. Innymi słowy, możemy powiedzieć, że polisemia ma tę samą pisownię, ale inne i powiązane znaczenie. Na przykład słowo „bank” jest słowem polisemii o następującym znaczeniu:

  • Instytucja finansowa.

  • Budynek, w którym znajduje się taka instytucja.

  • Synonim „można na nim polegać”.

Różnica między polisemią a homonimią

Zarówno słowa polisemia, jak i słowa homonimiczne mają tę samą składnię lub pisownię. Główna różnica między nimi polega na tym, że w polisemii znaczenia słów są powiązane, ale w homonimii znaczenia słów nie są ze sobą powiązane. Na przykład, jeśli mówimy o tym samym słowie „Bank”, możemy napisać znaczenie „instytucja finansowa” lub „brzeg rzeki”. W takim przypadku byłby to przykład homonimu, ponieważ znaczenia nie są ze sobą powiązane.

Synonimia

Jest to relacja między dwoma elementami leksykalnymi, które mają różne formy, ale wyrażają to samo lub bliskie znaczenie. Przykłady to „autor / pisarz”, „los / przeznaczenie”.

Antonimia

Jest to relacja między dwoma elementami leksykalnymi o symetrii między ich składowymi semantycznymi względem osi. Zakres antonimii jest następujący -

  • Application of property or not - Przykład to „życie / śmierć”, „pewność / niepewność”

  • Application of scalable property - Przykład: „bogaty / słaby”, „gorący / zimny”

  • Application of a usage - Przykład to „ojciec / syn”, „księżyc / słońce”.

Reprezentacja znaczenia

Analiza semantyczna tworzy reprezentację znaczenia zdania. Ale zanim przejdziemy do koncepcji i podejść związanych z reprezentacją znaczenia, musimy zrozumieć elementy składowe systemu semantycznego.

Bloki konstrukcyjne systemu semantycznego

W reprezentacji słów lub reprezentacji znaczenia słów następujące elementy odgrywają ważną rolę -

  • Entities- Reprezentuje osobę, taką jak konkretna osoba, lokalizacja itp. Na przykład Haryana. Indie, Ram wszyscy są bytami.

  • Concepts - Reprezentuje ogólną kategorię osób, taką jak osoba, miasto itp.

  • Relations- Reprezentuje związek między podmiotami a koncepcją. Na przykład Ram to osoba.

  • Predicates- Reprezentuje struktury czasowników. Na przykład role semantyczne i gramatyka przypadków są przykładami predykatów.

Teraz możemy zrozumieć, że reprezentacja znaczenia pokazuje, jak połączyć elementy składowe systemów semantycznych. Innymi słowy, pokazuje, jak połączyć byty, pojęcia, relacje i predykaty, aby opisać sytuację. Umożliwia także rozumowanie o świecie semantycznym.

Podejścia do reprezentacji znaczeń

Analiza semantyczna wykorzystuje następujące podejścia do reprezentacji znaczenia -

  • Logika predykatów pierwszego rzędu (FOPL)

  • Sieci semantyczne

  • Frames

  • Zależność koncepcyjna (CD)

  • Architektura oparta na regułach

  • Case Grammar

  • Grafy koncepcyjne

Potrzeba reprezentacji znaczeń

Powstaje pytanie, dlaczego potrzebujemy reprezentacji znaczenia? Oto powody tego samego -

Powiązanie elementów językowych z pozajęzykowymi

Pierwszym powodem jest to, że za pomocą reprezentacji znaczenia można połączyć elementy językowe z pozajęzykowymi.

Reprezentowanie różnorodności na poziomie leksykalnym

Za pomocą reprezentacji znaczenia można przedstawić jednoznaczne formy kanoniczne na poziomie leksykalnym.

Może służyć do rozumowania

Reprezentacja znaczenia może służyć do rozumowania w celu weryfikacji prawdy w świecie, a także do wnioskowania o wiedzy z reprezentacji semantycznej.

Semantyka leksykalna

Pierwsza część analizy semantycznej, polegająca na badaniu znaczenia poszczególnych słów, to semantyka leksykalna. Obejmuje również słowa, podwyrazy, afiksy (podjednostki), słowa złożone i zwroty. Wszystkie słowa, pod-słowa itp. Są zbiorczo nazywane elementami leksykalnymi. Innymi słowy, można powiedzieć, że semantyka leksykalna to związek między elementami leksykalnymi, znaczeniem zdań i składnią zdań.

Poniżej przedstawiono kroki związane z semantyką leksykalną -

  • Klasyfikacja elementów leksykalnych, takich jak słowa, podwyrazy, afiksy itp., Odbywa się w semantyce leksykalnej.

  • Dekompozycja elementów leksykalnych, takich jak słowa, podwyrazy, afiksy itp., Odbywa się w semantyce leksykalnej.

  • Analizowane są również różnice i podobieństwa między różnymi leksykalnymi strukturami semantycznymi.

Rozumiemy, że słowa mają różne znaczenia w zależności od kontekstu ich użycia w zdaniu. Jeśli mówimy o językach ludzkich, to są one również niejednoznaczne, ponieważ wiele słów można interpretować na wiele sposobów, w zależności od kontekstu ich wystąpienia.

Ujednoznacznienie sensu słów w przetwarzaniu języka naturalnego (NLP) można zdefiniować jako umiejętność określenia, które znaczenie słowa jest aktywowane przez użycie słowa w określonym kontekście. Niejednoznaczność leksykalna, składniowa lub semantyczna jest jednym z pierwszych problemów, z którymi boryka się każdy system NLP. Znaczniki części mowy (POS) o wysokim poziomie dokładności mogą rozwiązać niejednoznaczność składniową programu Word. Z drugiej strony problem rozwiązania niejednoznaczności semantycznej nazywany jest WSD (ujednoznacznienie sensu słowa). Rozwiązanie niejednoznaczności semantycznej jest trudniejsze niż rozwiązanie niejednoznaczności składniowej.

Na przykład rozważ dwa przykłady wyraźnego znaczenia tego słowa “bass” -

  • Słyszę basy.

  • Lubi jeść okonia z grilla.

Występowanie słowa bassjasno określa wyraźne znaczenie. W pierwszym zdaniu to znaczyfrequency a po drugie, to znaczy fish. Stąd, gdyby zostało ujednoznacznione przez WSD, to poprawne znaczenie powyższych zdań można by przypisać następująco:

  • Słyszę dźwięk basowy / o częstotliwości.

  • Lubi jeść grillowane okonie / ryby.

Ocena WSD

Ocena WSD wymaga następujących dwóch danych wejściowych -

Słownik

Pierwszym wejściem do oceny WSD jest słownik, który służy do określenia sensów, które mają być ujednoznacznione.

Testuj korpus

Innym wejściem wymaganym przez WSD jest korpus testowy o wysokim stopniu adnotacji, który ma cel lub poprawne zmysły. Korpora testowe może być dwojakiego rodzaju & minsu;

  • Lexical sample - Tego rodzaju korpusy są używane w systemie, gdzie wymagane jest ujednoznacznienie małej próbki słów.

  • All-words - Tego rodzaju korpusy są używane w systemie, w których oczekuje się ujednoznacznienia wszystkich słów w uruchomionym tekście.

Podejścia i metody ujednoznaczniania sensu słów (WSD)

Podejścia i metody do WSD są klasyfikowane według źródła wiedzy używanego w ujednoznacznianiu słów.

Zobaczmy teraz cztery konwencjonalne metody WSD -

Metody oparte na słownikach lub wiedzy

Jak sama nazwa wskazuje, dla ujednoznacznienia metody te opierają się przede wszystkim na słownikach, skarbach i leksykalnej bazie wiedzy. Nie używają dowodów ciał dla ujednoznacznienia. Metoda Leska jest nowatorską metodą słownikową wprowadzoną przez Michaela Leska w 1986 roku. Definicja Leska, na której opiera się algorytm Leska, to“measure overlap between sense definitions for all words in context”. Jednak w 2000 roku Kilgarriff i Rosensweig podali uproszczoną definicję Leska jako“measure overlap between sense definitions of word and current context”, co ponadto oznacza identyfikację poprawnego znaczenia jednego słowa na raz. Tutaj bieżący kontekst to zestaw słów w otaczającym zdaniu lub akapicie.

Metody nadzorowane

W celu ujednoznacznienia metody uczenia maszynowego wykorzystują do treningu korpusy z adnotacjami sensownymi. Metody te zakładają, że sam kontekst może dostarczyć wystarczających dowodów, aby ujednoznacznić sens. W tych metodach słowa wiedza i rozumowanie są uważane za niepotrzebne. Kontekst jest przedstawiany jako zbiór „cech” słów. Zawiera również informacje o otaczających słowach. Uczenie maszynowe oparte na wektorach nośnych i uczenie się oparte na pamięci to najbardziej skuteczne metody uczenia się nadzorowanego w WSD. Metody te opierają się na znacznej ilości ręcznie oznaczanych korpusów, których tworzenie jest bardzo kosztowne.

Metody częściowo nadzorowane

Ze względu na brak korpusu szkoleniowego większość algorytmów ujednoznaczniania sensu słów wykorzystuje metody częściowo nadzorowanego uczenia się. Dzieje się tak, ponieważ metody częściowo nadzorowane wykorzystują zarówno dane oznaczone, jak i nieoznaczone. Metody te wymagają bardzo małej ilości tekstu z adnotacjami i dużej ilości zwykłego tekstu bez adnotacji. Technika używana w metodach częściowo nadzorowanych polega na ładowaniu z danych źródłowych.

Metody nienadzorowane

Metody te zakładają, że podobne zmysły występują w podobnym kontekście. Dlatego też zmysły można wywoływać z tekstu poprzez grupowanie wystąpień słów przy użyciu pewnej miary podobieństwa kontekstu. To zadanie nazywa się indukcją sensu słów lub dyskryminacją. Metody nienadzorowane mają ogromny potencjał, aby przezwyciężyć wąskie gardło w zdobywaniu wiedzy wynikające z niezależności od ręcznych wysiłków.

Zastosowania ujednoznaczniania sensu słów (WSD)

Ujednoznacznienie sensu słów (WSD) jest stosowane w prawie każdym zastosowaniu technologii językowej.

Zobaczmy teraz zakres WSD -

Tłumaczenie maszynowe

Tłumaczenie maszynowe lub MT to najbardziej oczywiste zastosowanie WSD. W języku MT doboru leksykalnego słów, które mają różne tłumaczenia dla różnych zmysłów, dokonuje WSD. Zmysły w MT są przedstawiane jako słowa w języku docelowym. Większość systemów tłumaczenia maszynowego nie używa jawnego modułu WSD.

Wyszukiwanie informacji (IR)

Wyszukiwanie informacji (IR) można zdefiniować jako oprogramowanie, które zajmuje się organizacją, przechowywaniem, odzyskiwaniem i oceną informacji z repozytoriów dokumentów, w szczególności informacji tekstowych. System zasadniczo pomaga użytkownikom w znalezieniu potrzebnych im informacji, ale nie zwraca wprost odpowiedzi na pytania. WSD służy do rozwiązywania niejednoznaczności zapytań kierowanych do systemu IR. Podobnie jak MT, obecne systemy IR nie używają bezpośrednio modułu WSD i opierają się na koncepcji, że użytkownik wpisałby wystarczający kontekst w zapytaniu, aby pobrać tylko odpowiednie dokumenty.

Wydobywanie tekstu i wydobywanie informacji (IE)

W większości aplikacji WSD jest niezbędne do dokładnej analizy tekstu. Na przykład WSD pomaga inteligentnemu systemowi gromadzenia w oznaczaniu poprawnych słów. Na przykład inteligentny system medyczny może wymagać oznaczenia „nielegalnych narkotyków” zamiast „leków”

Leksykografia

WSD i leksykografia mogą współpracować w pętli, ponieważ współczesna leksykografia jest oparta na korpusie. Dzięki leksykografii WSD zapewnia przybliżone empiryczne grupowania zmysłów, a także statystycznie istotne kontekstowe wskaźniki sensu.

Trudności w ujednoznacznianiu sensu słów (WSD)

Poniżej przedstawiono pewne trudności napotykane przez ujednoznacznianie sensu słów (WSD) -

Różnice między słownikami

Głównym problemem WSD jest określenie znaczenia słowa, ponieważ różne zmysły mogą być bardzo blisko powiązane. Nawet różne słowniki i tezaurusy mogą zapewnić różne podziały słów na zmysły.

Różne algorytmy do różnych zastosowań

Innym problemem WSD jest to, że do różnych zastosowań może być potrzebny zupełnie inny algorytm. Na przykład w tłumaczeniu maszynowym przyjmuje postać wyboru słowa docelowego; a przy wyszukiwaniu informacji inwentaryzacja zmysłów nie jest wymagana.

Wariancja między sędziami

Innym problemem związanym z WSD jest to, że systemy WSD są na ogół testowane poprzez porównywanie ich wyników w zadaniu z zadaniami ludzi. Nazywa się to problemem wariancji interjudge.

Dyskretność w sensie słowa

Inną trudnością w WSD jest to, że słów nie można łatwo podzielić na odrębne znaczenia.

Najtrudniejszym problemem AI jest przetwarzanie języka naturalnego przez komputery lub innymi słowy przetwarzanie języka naturalnego jest najtrudniejszym problemem sztucznej inteligencji. Jeśli mówimy o głównych problemach w NLP, to jednym z głównych problemów w NLP jest przetwarzanie dyskursu - budowanie teorii i modeli, w jaki sposób wypowiedzi łączą się w formęcoherent discourse. W rzeczywistości język zawsze składa się z kolokowanych, uporządkowanych i spójnych grup zdań, a nie pojedynczych i niepowiązanych zdań, takich jak filmy. Te spójne grupy zdań nazywane są dyskursem.

Pojęcie spójności

Spójność i struktura dyskursu są ze sobą powiązane na wiele sposobów. Spójność, wraz z właściwością dobrego tekstu, służy do oceny jakości wyjściowej systemu generowania języka naturalnego. Powstaje pytanie, co to znaczy, że tekst jest spójny? Załóżmy, że zebraliśmy jedno zdanie z każdej strony gazety, czy będzie to dyskurs? Oczywiście nie. Dzieje się tak, ponieważ zdania te nie wykazują spójności. Spójny dyskurs musi mieć następujące właściwości -

Relacja koherencyjna między wypowiedziami

Dyskurs byłby spójny, gdyby zawierał znaczące powiązania między swoimi wypowiedziami. Ta własność nazywa się relacją koherencji. Na przykład musi istnieć jakieś wyjaśnienie, które uzasadnia związek między wypowiedziami.

Relacje między podmiotami

Kolejną właściwością, która czyni dyskurs spójnym, jest to, że musi istnieć pewien rodzaj relacji z podmiotami. Taki rodzaj spójności nazywany jest spójnością opartą na encji.

Struktura dyskursu

Ważnym pytaniem dotyczącym dyskursu jest to, jaką strukturę musi mieć dyskurs. Odpowiedź na to pytanie zależy od segmentacji, jaką zastosowaliśmy w dyskursie. Segmentacje dyskursu można zdefiniować jako określające typy struktur dla dużego dyskursu. Wdrożenie segmentacji dyskursu jest dość trudne, ale jest bardzo ważneinformation retrieval, text summarization and information extraction rodzaj aplikacji.

Algorytmy segmentacji dyskursu

W tej sekcji poznamy algorytmy segmentacji dyskursu. Algorytmy opisano poniżej -

Nienadzorowana segmentacja dyskursu

Klasa nienadzorowanej segmentacji dyskursu jest często reprezentowana jako segmentacja liniowa. Na przykładzie możemy zrozumieć zadanie segmentacji liniowej. W tym przykładzie zadaniem jest podzielenie tekstu na jednostki składające się z wielu akapitów; Jednostki reprezentują fragment tekstu oryginalnego. Algorytmy te są zależne od spójności, którą można zdefiniować jako użycie pewnych narzędzi językowych do powiązania ze sobą jednostek tekstowych. Z drugiej strony spójność leksykonu to spójność, na którą wskazuje relacja między dwoma lub więcej wyrazami w dwóch jednostkach, jak na przykład użycie synonimów.

Nadzorowana segmentacja dyskursu

Wcześniejsza metoda nie ma żadnych ręcznie oznaczonych granic segmentów. Z drugiej strony, nadzorowana segmentacja dyskursu musi mieć dane treningowe oznaczone granicami. Uzyskanie tego samego jest bardzo łatwe. W nadzorowanej segmentacji dyskursu znacznik dyskursu lub słowa-wskazówki odgrywają ważną rolę. Znacznik dyskursu lub słowo sygnalizacyjne to słowo lub fraza, która służy do sygnalizowania struktury dyskursu. Te znaczniki dyskursu są specyficzne dla domeny.

Spójność tekstu

Powtórzenie leksykalne jest sposobem na znalezienie struktury w dyskursie, ale nie spełnia wymogu bycia dyskursem spójnym. Aby osiągnąć spójny dyskurs, musimy skupić się na relacjach koherencyjnych w konkretnych. Jak wiemy, relacja koherencji określa możliwy związek między wypowiedziami w dyskursie. Hebb zaproponował następujące relacje:

Mamy dwa terminy S0 i S1 aby przedstawić znaczenie dwóch powiązanych zdań -

Wynik

Wynika z tego, że stan potwierdził terminem S0 może spowodować stan twierdzony przez S1. Na przykład dwa stwierdzenia pokazują wynik związku: Ram został złapany w ogień. Jego skóra płonęła.

Wyjaśnienie

Wynika z tego, że państwo twierdziło S1 może spowodować stan twierdzony przez S0. Na przykład dwa stwierdzenia pokazują związek - Ram walczył z przyjacielem Shyama. Był pijany.

Równolegle

Wywodzi p (a1, a2,…) z twierdzenia o S0 i p (b1, b2,…) z asercji S1. Tutaj ai i bi są podobne dla wszystkich i. Na przykład dwa stwierdzenia są równoległe - samochód szukał Ram. Shyam chciał pieniędzy.

Opracowanie

Wywodzi to samo zdanie P z obu stwierdzeń - S0 i S1Na przykład dwa stwierdzenia pokazują rozwinięcie relacji: Ram pochodził z Chandigarh. Shyam pochodził z Kerali.

Okazja

Dzieje się tak, gdy zmianę stanu można wywnioskować z twierdzenia S0, z którego można wywnioskować stan końcowy S1i wzajemnie. Na przykład te dwa stwierdzenia pokazują relację: Ram podniósł książkę. Dał go Shyamowi.

Budowanie hierarchicznej struktury dyskursu

Spójność całego dyskursu można rozpatrywać także poprzez hierarchiczną strukturę relacji koherencji. Na przykład następujący fragment można przedstawić jako strukturę hierarchiczną -

  • S1 - Ram poszedł do banku, aby zdeponować pieniądze.

  • S2 - Następnie pojechał pociągiem do sklepu z ubraniami Shyama.

  • S3 - Chciał kupić jakieś ubrania.

  • S4 - Nie ma nowych ubrań na imprezę.

  • S5 - Chciał też porozmawiać z Shyamem na temat jego zdrowia

Rozdzielczość odniesienia

Interpretacja zdań z dowolnego dyskursu jest kolejnym ważnym zadaniem i aby to osiągnąć, musimy wiedzieć, o kim lub o jakiej jednostce się mówi. W tym przypadku kluczowym elementem jest odniesienie do interpretacji.Referencemożna zdefiniować jako wyrażenie językowe oznaczające jednostkę lub osobę. Na przykład we fragmencie Ram , menadżer banku ABC , zobaczył swojego przyjaciela Shyama w sklepie. On udał się z nim spotkać, wyrażenia językowe takie jak Ram, His, że są odniesienia.

Z tej samej uwagi, reference resolution można zdefiniować jako zadanie określenia, do jakich jednostek odnosi się dane wyrażenie językowe.

Terminologia stosowana w rozdzielczości odniesienia

W rozdzielczości referencyjnej używamy następujących terminów -

  • Referring expression- Wyrażenie w języku naturalnym używane do wykonywania odniesienia nazywa się wyrażeniem odsyłającym. Na przykład fragment użyty powyżej jest wyrażeniem odsyłającym.

  • Referent- To podmiot, o którym mowa. Na przykład w ostatnim podanym przykładzie Ram jest desygnatem.

  • Corefer- Gdy dwa wyrażenia są używane w celu odniesienia się do tej samej jednostki, nazywane są one korektorami. Na przykład,Ram i he są koreferami.

  • Antecedent- Termin ma licencję na używanie innego terminu. Na przykład,Ram jest poprzednikiem odniesienia he.

  • Anaphora & Anaphoric- Można to zdefiniować jako odniesienie do podmiotu, który został wcześniej wprowadzony do zdania. A wyrażenie odnoszące się do niego nazywa się anaforycznym.

  • Discourse model - Model zawierający reprezentacje podmiotów, o których mowa w dyskursie, oraz relację, w jaką są zaangażowane.

Typy wyrażeń odsyłających

Przyjrzyjmy się teraz różnym typom wyrażeń odsyłających. Poniżej opisano pięć typów wyrażeń odsyłających:

Frazy rzeczownikowe nieokreślone

Tego rodzaju odniesienie reprezentuje byty, które są nowe dla słuchacza w kontekście dyskursu. Na przykład - w zdaniu, które pewnego dnia Ram chodził po okolicy, by przynieść mu jedzenie - niektóre są nieokreślonym odniesieniem.

Zdania rzeczownikowe określone

W przeciwieństwie do powyższego, tego rodzaju odniesienie reprezentuje byty, które nie są nowe lub nie są identyfikowalne dla słuchacza w kontekście dyskursu. Na przykład w zdaniu - czytałem „The Times of India” - „The Times of India” jest wyraźnym odniesieniem.

Zaimki

Jest to forma określonego odniesienia. Na przykład Ram śmiał się tak głośno, jak tylko potrafił. Słowohe reprezentuje wyrażenie odwołujące się do zaimka.

Demonstracje

Te demonstrują i zachowują się inaczej niż proste zaimki określone. Na przykład this and that są zaimkami wskazującymi.

Nazwy

To najprostszy rodzaj wyrażenia odsyłającego. Może to być również nazwisko osoby, nazwa organizacji i lokalizacja. Na przykład w powyższych przykładach Ram jest wyrażeniem sędziowania nazw.

Zadania dotyczące rozwiązywania problemów

Poniżej opisano dwa zadania związane z rozdzielczością odniesienia.

Rozdzielczość koreferencji

Jest to zadanie znalezienia wyrażeń odsyłających w tekście, które odnoszą się do tego samego bytu. Mówiąc najprościej, jest to zadanie znalezienia wyrażeń korektora. Zestaw wyrażeń współoddzielających nazywany jest łańcuchem korelacji. Na przykład - On, Chief Manager i His - są to wyrażenia odnoszące się w pierwszym fragmencie podane jako przykład.

Ograniczenie rozdzielczości koreferencji

W języku angielskim głównym problemem przy rozwiązywaniu koreferencji jest zaimek it. Powodem tego jest to, że zaimek ma wiele zastosowań. Na przykład może odnosić się podobnie jak on i ona. Zaimek odnosi się również do rzeczy, które nie odnoszą się do konkretnych rzeczy. Na przykład pada deszcz. To jest naprawdę dobre.

Rozdzielczość zaimkowa anafory

W przeciwieństwie do rozwiązania koreferencji, rozdzielczość anafory zaimkowej można zdefiniować jako zadanie znalezienia poprzednika dla pojedynczego zaimka. Na przykład, zaimek jest jego, a zadaniem rozwiązania anafory zaimkowej jest znalezienie słowa Ram, ponieważ Ram jest poprzednikiem.

Tagowanie to rodzaj klasyfikacji, którą można zdefiniować jako automatyczne przypisywanie opisu do tokenów. Tutaj deskryptor nazywany jest znacznikiem, który może reprezentować część mowy, informację semantyczną i tak dalej.

Teraz, jeśli mówimy o tagowaniu części mowy (PoS), to można to zdefiniować jako proces przypisywania jednej z części mowy do danego słowa. Nazywa się to ogólnie tagowaniem POS. W prostych słowach można powiedzieć, że tagowanie POS to zadanie oznaczania każdego słowa w zdaniu odpowiednią częścią wypowiedzi. Wiemy już, że części mowy obejmują rzeczowniki, czasowniki, przysłówki, przymiotniki, zaimki, spójniki i ich podkategorie.

Większość procesów znakowania POS należy do kategorii Rule Base Tagging, Stochastic POS tagging i Transformation based tagging.

Tagowanie POS oparte na regułach

Jedną z najstarszych technik tagowania jest oparte na regułach tagowanie POS. Znaczniki oparte na regułach używają słownika lub leksykonu do uzyskiwania możliwych tagów do oznaczania każdego słowa. Jeśli słowo ma więcej niż jeden możliwy tag, to tagatory oparte na regułach używają reguł napisanych odręcznie, aby zidentyfikować właściwy tag. Ujednoznacznienie można również przeprowadzić w tagowaniu opartym na regułach, analizując cechy językowe słowa wraz z jego poprzednimi i następnymi słowami. Na przykład załóżmy, że jeśli poprzedzające słowo w wyrazie jest przedimkiem, to słowo musi być rzeczownikiem.

Jak sama nazwa wskazuje, wszystkie tego typu informacje w tagowaniu POS opartym na regułach są kodowane w postaci reguł. Te zasady mogą być:

  • Reguły wzorców kontekstu

  • Lub, jako wyrażenie regularne skompilowane do automatów o skończonych stanach, przecięte z leksykalnie niejednoznaczną reprezentacją zdań.

Możemy również zrozumieć tagowanie POS oparte na regułach dzięki jego dwuetapowej architekturze -

  • First stage - Na pierwszym etapie za pomocą słownika przypisuje każdemu słowu listę potencjalnych części mowy.

  • Second stage - Na drugim etapie używa dużych list ręcznie napisanych reguł ujednoznaczniania, aby posortować listę do jednej części mowy dla każdego słowa.

Właściwości znakowania POS opartego na regułach

Oparte na regułach znaczniki POS mają następujące właściwości -

  • Te taggery to taggery oparte na wiedzy.

  • Reguły w tagowaniu POS opartym na regułach są tworzone ręcznie.

  • Informacje są zakodowane w formie reguł.

  • Mamy pewną ograniczoną liczbę reguł około 1000.

  • Wygładzanie i modelowanie języka są definiowane jawnie w taggerach opartych na regułach.

Stochastyczne znakowanie POS

Inną techniką tagowania jest Stochastic POS Tagging. Teraz pojawia się pytanie, który model może być stochastyczny. Model zawierający częstotliwość lub prawdopodobieństwo (statystyki) można nazwać stochastycznym. Wiele różnych podejść do problemu tagowania części mowy można nazwać taggerem stochastycznym.

Najprostszy tagger stochastyczny stosuje następujące podejścia do tagowania POS -

Podejście oparte na częstotliwości słów

W tym podejściu stochastyczne znaczniki rozróżniają słowa na podstawie prawdopodobieństwa, że ​​słowo występuje z określonym znacznikiem. Można też powiedzieć, że najczęściej spotykanym znacznikiem ze słowem w zbiorze uczącym jest ten, który jest przypisany do niejednoznacznego wystąpienia tego słowa. Głównym problemem związanym z tym podejściem jest to, że może ono skutkować niedopuszczalną sekwencją tagów.

Prawdopodobieństwa sekwencji tagów

Jest to inne podejście do tagowania stochastycznego, w którym tagger oblicza prawdopodobieństwo wystąpienia danej sekwencji tagów. Nazywa się to również podejściem n-gramowym. Nazywa się to tak, ponieważ najlepszy znacznik dla danego słowa jest określany przez prawdopodobieństwo, z jakim występuje on z n poprzednimi znacznikami.

Właściwości stochastycznego znakowania POST

Stochastyczne taggery POS mają następujące właściwości -

  • To znakowanie POS jest oparte na prawdopodobieństwie wystąpienia tagu.

  • Wymaga korpusu szkoleniowego

  • Nie byłoby prawdopodobieństwa słów, których nie ma w korpusie.

  • Używa innego korpusu testowego (innego niż korpus szkoleniowy).

  • Jest to najprostsze tagowanie POS, ponieważ wybiera najczęściej używane tagi związane ze słowem w korpusie szkoleniowym.

Tagowanie oparte na transformacji

Znakowanie oparte na transformacji jest również nazywane tagowaniem Brill. Jest to przykład uczenia się opartego na transformacji (TBL), czyli opartego na regułach algorytmu automatycznego przypisywania POS do danego tekstu. TBL, pozwala nam mieć wiedzę językową w czytelnej formie, przekształca jeden stan w inny za pomocą reguł transformacji.

Czerpie inspirację z obu wcześniej wyjaśnionych taggerów - opartych na regułach i stochastycznych. Jeśli widzimy podobieństwo między tagerem opartym na regułach a tagiem transformacji, to podobnie jak w oparciu o reguły, jest on również oparty na regułach określających, jakie tagi należy przypisać do jakich słów. Z drugiej strony, jeśli widzimy podobieństwo między taggerem stochastycznym i transformacyjnym, to podobnie jak stochastyczny, jest to technika uczenia maszynowego, w której reguły są automatycznie indukowane na podstawie danych.

Działanie uczenia się opartego na transformacji (TBL)

Aby zrozumieć działanie i koncepcję taggerów opartych na transformacji, musimy zrozumieć działanie uczenia się opartego na transformacji. Rozważ następujące kroki, aby zrozumieć działanie TBL -

  • Start with the solution - TBL zwykle zaczyna się od rozwiązania problemu i działa cyklicznie.

  • Most beneficial transformation chosen - W każdym cyklu TBL wybierze najbardziej korzystną transformację.

  • Apply to the problem - Transformacja wybrana w ostatnim kroku zostanie zastosowana do problemu.

Algorytm zatrzyma się, gdy wybrana transformacja w kroku 2 nie doda więcej wartości lub nie będzie więcej transformacji do wybrania. Tego typu nauka najlepiej sprawdza się w zadaniach klasyfikacyjnych.

Zalety uczenia się opartego na transformacji (TBL)

Zalety TBL są następujące -

  • Uczymy się niewielkiego zestawu prostych reguł i te reguły wystarczą do tagowania.

  • Tworzenie i debugowanie w TBL jest bardzo łatwe, ponieważ wyuczone reguły są łatwe do zrozumienia.

  • Złożoność znakowania jest zmniejszona, ponieważ w TBL występuje przeplot reguł opracowanych przez maszynę i stworzonych przez człowieka.

  • Tagger oparty na transformacji jest znacznie szybszy niż tagger modelu Markova.

Wady uczenia się opartego na transformacji (TBL)

Wady TBL są następujące -

  • Uczenie się oparte na transformacji (TBL) nie zapewnia prawdopodobieństw tagów.

  • W TBL czas szkolenia jest bardzo długi, szczególnie w dużych korpusach.

Ukryty model Markowa (HMM) Znakowanie POS

Zanim zagłębimy się w tagowanie HMM POS, musimy zrozumieć koncepcję Hidden Markov Model (HMM).

Ukryty model Markowa

Model HMM można zdefiniować jako podwójnie osadzony model stochastyczny, w którym ukryty jest podstawowy proces stochastyczny. Ten ukryty proces stochastyczny można zaobserwować tylko poprzez inny zestaw procesów stochastycznych, który tworzy sekwencję obserwacji.

Przykład

Na przykład, wykonywana jest sekwencja ukrytych eksperymentów w rzucaniu monetą i widzimy tylko sekwencję obserwacji składającą się z orłów i reszek. Rzeczywiste szczegóły procesu - ile monet wykorzystano, kolejność ich wybierania - są przed nami ukryte. Obserwując tę ​​sekwencję orłów i ogonów, możemy zbudować kilka HMM, aby wyjaśnić tę sekwencję. Oto jedna z form ukrytego modelu Markowa dla tego problemu -

Założyliśmy, że w HMM są dwa stany, a każdy z nich odpowiada doborowi innej jednostronnej monety. Poniższa macierz podaje prawdopodobieństwa przejścia stanów -

$$A = \begin{bmatrix}a11 & a12 \\a21 & a22 \end{bmatrix}$$

Tutaj,

  • aij = prawdopodobieństwo przejścia z jednego stanu do drugiego z i do j.

  • a11 + a12= 1 i a 21 + a 22 = 1

  • P1 = prawdopodobieństwo orłów pierwszej monety, tj. stronniczość pierwszej monety.

  • P2 = prawdopodobieństwo orłów drugiej monety, tj. stronniczość drugiej monety.

Możemy również stworzyć model HMM zakładając, że są 3 lub więcej monet.

W ten sposób możemy scharakteryzować HMM za pomocą następujących elementów -

  • N, liczba stanów w modelu (w powyższym przykładzie N = 2 tylko dwa stany).

  • M, liczba odrębnych obserwacji, które mogą pojawić się w każdym stanie w powyższym przykładzie M = 2, tj. H lub T).

  • A, rozkład prawdopodobieństwa przejścia stanów - macierz A w powyższym przykładzie.

  • P, rozkład prawdopodobieństwa obserwowalnych symboli w każdym stanie (w naszym przykładzie P1 i P2).

  • Ja, rozkład stanu początkowego.

Wykorzystanie HMM do znakowania POS

Proces znakowania POS to proces znajdowania sekwencji tagów, która najprawdopodobniej wygenerowała daną sekwencję słów. Możemy modelować ten proces POS za pomocą ukrytego modelu Markowa (HMM), gdzietagshidden states który wyprodukował observable output, tj words.

Matematycznie, w tagowaniu POS zawsze jesteśmy zainteresowani znalezieniem sekwencji tagów (C), która maksymalizuje -

P (C|W)

Gdzie,

C = C 1 , C 2 , C 3 ... C T

W = W 1 , W 2 , W 3 , W T

Z drugiej strony faktem jest, że potrzebujemy wielu danych statystycznych, aby rozsądnie oszacować tego rodzaju sekwencje. Jednak dla uproszczenia problemu możemy zastosować pewne przekształcenia matematyczne wraz z pewnymi założeniami.

Zastosowanie HMM do znakowania POS jest szczególnym przypadkiem interferencji bayesowskiej. Dlatego zaczniemy od ponownego sformułowania problemu przy użyciu reguły Bayesa, która mówi, że wyżej wymienione prawdopodobieństwo warunkowe jest równe -

(PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT)) / PROB (W1,..., WT)

We wszystkich tych przypadkach możemy wyeliminować mianownik, ponieważ interesuje nas znalezienie ciągu C, który maksymalizuje powyższą wartość. Nie wpłynie to na naszą odpowiedź. Teraz nasz problem sprowadza się do znalezienia sekwencji C, która maksymalizuje -

PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT) (1)

Nawet po zmniejszeniu problemu w powyższym wyrażeniu wymagałoby to dużej ilości danych. Możemy przyjąć rozsądne założenia niezależności dotyczące dwóch prawdopodobieństw w powyższym wyrażeniu, aby przezwyciężyć problem.

Pierwsze Wniebowzięcie

Prawdopodobieństwo znacznika zależy od poprzedniego (model bigramu) lub dwóch poprzednich (model trygramowy) lub poprzednich n znaczników (model n-gramowy), które matematycznie można wyjaśnić następująco -

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-n+1…Ci-1) (n-gram model)

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-1) (bigram model)

Początek zdania można wyjaśnić, zakładając początkowe prawdopodobieństwo dla każdego znacznika.

PROB (C1|C0) = PROB initial (C1)

Drugie Wniebowzięcie

Drugie prawdopodobieństwo w powyższym równaniu (1) można przybliżyć, zakładając, że słowo występuje w kategorii niezależnej od słów z poprzednich lub następnych kategorii, co można matematycznie wyjaśnić w następujący sposób:

PROB (W1,..., WT | C1,..., CT) = Πi=1..T PROB (Wi|Ci)

Teraz, na podstawie dwóch powyższych założeń, nasz cel sprowadza się do znalezienia sekwencji C, która maksymalizuje

Πi=1...T PROB(Ci|Ci-1) * PROB(Wi|Ci)

Teraz pojawia się pytanie, czy przekonwertowanie problemu do powyższej postaci naprawdę nam pomogło. Odpowiedź brzmi - tak, ma. Jeśli mamy duży otagowany korpus, to dwa prawdopodobieństwa w powyższym wzorze można obliczyć jako -

PROB (Ci=VERB|Ci-1=NOUN) = (# of instances where Verb follows Noun) / (# of instances where Noun appears) (2)

PROB (Wi|Ci) = (# of instances where Wi appears in Ci) /(# of instances where Ci appears) (3)

W tym rozdziale omówimy powstanie języka naturalnego w przetwarzaniu języka naturalnego. Na początek przyjrzyjmy się najpierw, czym jest gramatyka języka naturalnego.

Gramatyka języka naturalnego

Język dla językoznawstwa to grupa dowolnych znaków głosowych. Można powiedzieć, że język jest twórczy, rządzony regułami, wrodzony i zarazem uniwersalny. Z drugiej strony jest to również ludzkie. Charakter języka jest różny dla różnych ludzi. Istnieje wiele nieporozumień dotyczących natury języka. Dlatego bardzo ważne jest zrozumienie znaczenia tego niejednoznacznego terminu‘grammar’. W językoznawstwie termin gramatyka można zdefiniować jako reguły lub zasady, za pomocą których język działa. W szerokim sensie gramatykę możemy podzielić na dwie kategorie -

Gramatyka opisowa

Zbiór reguł, w których językoznawcy i gramatycy formułują gramatykę mówiącego, nazywany jest gramatyką opisową.

Gramatyka perspektywiczna

To bardzo odmienny zmysł gramatyczny, który stara się zachować w języku standard poprawności. Ta kategoria ma niewiele wspólnego z faktycznym działaniem języka.

Komponenty języka

Język studiów podzielony jest na powiązane ze sobą komponenty, którymi są zarówno konwencjonalne, jak i arbitralne podziały badań językowych. Objaśnienie tych elementów jest następujące -

Fonologia

Pierwszym składnikiem języka jest fonologia. Jest to badanie dźwięków mowy określonego języka. Pochodzenie tego słowa można przypisać językowi greckiemu, gdzie „telefon” oznacza dźwięk lub głos. Fonetyka, dział fonologii, to badanie dźwięków mowy ludzkiego języka z perspektywy ich wytwarzania, percepcji lub ich właściwości fizycznych. IPA (International Phonetic Alphabet) to narzędzie, które w regularny sposób przedstawia ludzkie dźwięki podczas nauki fonologii. W IPA każdy zapisany symbol reprezentuje jeden i tylko jeden dźwięk mowy i na odwrót.

Fonemy

Można go zdefiniować jako jedną z jednostek dźwiękowych, które odróżniają jedno słowo od drugiego w języku. W języku lingwistycznym fonemy zapisywane są między ukośnikami. Na przykład phoneme/k/ występuje w słowach takich jak zestaw, skecz.

Morfologia

Jest to drugi składnik języka. Jest to badanie struktury i klasyfikacji słów w określonym języku. Słowo to pochodzi z języka greckiego, gdzie słowo „morphe” oznacza „formę”. Morfologia rozważa zasady tworzenia słów w języku. Innymi słowy, jak dźwięki łączą się w znaczące jednostki, takie jak przedrostki, przyrostki i korzenie. Uwzględnia również sposób grupowania słów w części mowy.

Lexeme

W językoznawstwie abstrakcyjna jednostka analizy morfologicznej, która odpowiada zespołowi form, jakie przyjmuje jedno słowo, nazywa się leksemem. Sposób użycia leksemu w zdaniu zależy od jego kategorii gramatycznej. Leksemem może być pojedyncze słowo lub wielowyrazowe. Na przykład słowo rozmowa jest przykładem indywidualnego leksemu słów, który może mieć wiele wariantów gramatycznych, takich jak rozmowy, mówienie i mówienie. Leksem wielowyrazowy może składać się z więcej niż jednego słowa ortograficznego. Na przykład mów głośno, przeciągaj itp. Są przykładami leksemów wielowyrazowych.

Składnia

To trzeci składnik języka. Jest to badanie porządku i ułożenia słów w większe jednostki. Słowo to wywodzi się z języka greckiego, gdzie słowo suntassein oznacza „uporządkować”. Bada rodzaje zdań i ich strukturę, klauzule, frazy.

Semantyka

To czwarty składnik języka. Jest to nauka o przekazywaniu znaczenia. Znaczenie może być związane ze światem zewnętrznym lub może być związane z gramatyką zdania. Słowo to można prześledzić do języka greckiego, gdzie słowo semainein oznacza „oznaczać”, „pokazywać”, „sygnalizować”.

Pragmatyka

To piąty składnik języka. Jest to badanie funkcji języka i jego użycia w kontekście. Pochodzenia tego słowa można doszukiwać się w języku greckim, gdzie słowo „pragma” oznacza „czyn”, „sprawa”.

Kategorie gramatyczne

Kategoria gramatyczna może być zdefiniowana jako klasa jednostek lub cech w gramatyce języka. Jednostki te są budulcem języka i mają wspólny zestaw cech. Kategorie gramatyczne nazywane są również cechami gramatycznymi.

Spis kategorii gramatycznych opisano poniżej -

Numer

To najprostsza kategoria gramatyczna. Mamy dwa terminy związane z tą kategorią - pojedynczą i mnogą. Liczba pojedyncza to pojęcie „jeden”, podczas gdy liczba mnoga to pojęcie „więcej niż jeden”. Na przykład pies / psy, to / te.

Płeć

Rodzaj gramatyczny jest wyrażany przez zróżnicowanie zaimków osobowych i trzecioosobowych. Przykłady rodzajów gramatycznych są w liczbie pojedynczej - on, ona, it; tworzy się pierwsza i druga osoba - ja, my i ty; trzecia osoba w liczbie mnogiej oni to albo zwykła płeć, albo nijaka.

Osoba

Inną prostą kategorią gramatyczną jest osoba. W ramach tego rozpoznawane są następujące trzy terminy:

  • 1st person - Osoba mówiąca jest rozpoznawana jako pierwsza osoba.

  • 2nd person - Osoba, która jest słuchaczem lub osoba, z którą rozmawiano, jest rozpoznawana jako druga osoba.

  • 3rd person - Osoba lub rzecz, o której mówimy, jest rozpoznawana jako trzecia osoba.

Walizka

To jedna z najtrudniejszych kategorii gramatycznych. Można go zdefiniować jako wskazanie funkcji wyrażenia rzeczownikowego (NP) lub związku frazy rzeczownikowej z czasownikiem lub innymi frazami rzeczownikowymi w zdaniu. Mamy następujące trzy przypadki wyrażone zaimkami osobowymi i pytającymi -

  • Nominative case- To funkcja podmiotu. Na przykład ja, my, ty, on, ona, to, oni i ci, którzy są mianowani.

  • Genitive case- To jest funkcja posiadacza. Na przykład moje / moje, nasze / nasze, jego, jej / jej, jej, ich / ich, których są dopełniaczami.

  • Objective case- To jest funkcja przedmiotu. Na przykład ja, my, ty, on, ona, oni, którzy są obiektywni.

Stopień

Ta kategoria gramatyczna jest związana z przymiotnikami i przysłówkami. Ma następujące trzy terminy -

  • Positive degree- Wyraża jakość. Na przykład duże, szybkie, piękne to stopnie pozytywne.

  • Comparative degree- Wyraża większy stopień lub intensywność jakości w jednym z dwóch elementów. Na przykład większe, szybsze, piękniejsze są stopnie porównawcze.

  • Superlative degree- Wyraża największy stopień lub intensywność jakości w jednym z trzech lub więcej elementów. Na przykład największe, najszybsze i najpiękniejsze to stopnie najwyższe.

Określenie i nieokreśloność

Obie te koncepcje są bardzo proste. Określoność, jaką znamy, reprezentuje odniesienie, które jest znane, znane lub możliwe do zidentyfikowania przez mówiącego lub słuchającego. Z drugiej strony nieokreśloność reprezentuje odniesienie, które nie jest znane lub jest nieznane. Pojęcie to może być rozumiane jako współwystępowanie przedimka z rzeczownikiem -

  • definite article- plik

  • indefinite article- a / an

Czas

Ta kategoria gramatyczna jest związana z czasownikiem i można ją zdefiniować jako językowe wskazanie czasu wykonania czynności. Czas ustanawia relację, ponieważ wskazuje czas zdarzenia w odniesieniu do momentu wypowiedzi. Ogólnie rzecz biorąc, należy do następujących trzech typów -

  • Present tense- Reprezentuje wystąpienie działania w chwili obecnej. Na przykład Ram ciężko pracuje.

  • Past tense- Reprezentuje wystąpienie działania przed chwilą obecną. Na przykład padał deszcz.

  • Future tense- Reprezentuje wystąpienie działania po chwili obecnej. Na przykład będzie padać.

Aspekt

Tę kategorię gramatyczną można zdefiniować jako spojrzenie na wydarzenie. Może to być następujących typów -

  • Perfective aspect- Widok jest traktowany jako całość i kompletny w aspekcie. Na przykład prosty czas przeszły, taki jakyesterday I met my friend, w języku angielskim jest perfekcyjny w aspekcie, ponieważ postrzega wydarzenie jako kompletne.

  • Imperfective aspect- Widok jest traktowany jako ciągły i niepełny w tym aspekcie. Na przykład imiesłów czasu teraźniejszego jakI am working on this problem, w języku angielskim jest niedokonana w aspekcie, ponieważ postrzega wydarzenie jako niepełne i trwające.

Nastrój

Ta kategoria gramatyczna jest nieco trudna do zdefiniowania, ale można ją po prostu określić jako wskazanie stosunku mówiącego do tego, o czym mówi. Jest to również cecha gramatyczna czasowników. Różni się od czasów gramatycznych i aspektu gramatycznego. Przykłady nastrojów są orientacyjne, pytające, rozkazujące, nakazowe, łączące, potencjalne, optatywne, imiesłowy i imiesłowy.

Umowa

Nazywa się to również zgodą. Dzieje się tak, gdy słowo zmienia się w zależności od innych słów, do których się odnosi. Innymi słowy, polega na uzgadnianiu wartości określonej kategorii gramatycznej między różnymi słowami lub częścią mowy. Poniżej znajdują się umowy oparte na innych kategoriach gramatycznych -

  • Agreement based on Person- Jest to zgodność podmiotu z czasownikiem. Na przykład, zawsze używamy „ja jestem” i „on jest”, ale nigdy „on jest” i „ja jest”.

  • Agreement based on Number- Ta zgodność jest między podmiotem a czasownikiem. W tym przypadku istnieją określone formy czasowników dla pierwszej osoby liczby pojedynczej, drugiej osoby liczby mnogiej i tak dalej. Na przykład, 1. osoba liczby pojedynczej: Naprawdę jestem, 2. osoba liczba mnoga: Naprawdę jesteśmy, 3. osoba liczby pojedynczej: Chłopiec śpiewa, 3. osoba liczba mnoga: Chłopcy śpiewają.

  • Agreement based on Gender- W języku angielskim istnieje zgodność rodzaju między zaimkami i poprzednikami. Na przykład dotarł do celu. Statek dotarł do celu.

  • Agreement based on Case- Taka umowa nie jest istotną cechą języka angielskiego. Na przykład, kto był pierwszy - on czy jego siostra?

Składnia języka mówionego

Pisemna i mówiona gramatyka angielska ma wiele wspólnych cech, ale oprócz tego różnią się także pod wieloma względami. Następujące cechy rozróżniają mówioną i pisaną gramatykę języka angielskiego -

Niepłynności i naprawa

Ta uderzająca cecha sprawia, że ​​gramatyka języka angielskiego w mowie i piśmie różni się od siebie. Jest to indywidualnie znane jako zjawisko niepłynności i łącznie jako zjawisko naprawy. Niepłynności obejmują użycie następujących -

  • Fillers words- Czasami między zdaniem używamy słów wypełniających. Nazywa się je wypełniaczami przerwy wypełniającej. Przykłady takich słów to uh i um.

  • Reparandum and repair- Powtarzający się fragment słów między zdaniem nazywa się reparandum. W tym samym segmencie zmienione słowo nazywa się naprawą. Aby to zrozumieć, rozważ następujący przykład -

Does ABC airlines offer any one-way flights uh one-way fares for 5000 rupees?

W powyższym zdaniu lot w jedną stronę jest reparadum, a lot w jedną stronę jest naprawą.

Restartuje

Po przerwie w wypełnianiu następuje ponowne uruchomienie. Na przykład w powyższym zdaniu ponowne uruchomienie następuje, gdy mówca zaczyna pytać o loty w jedną stronę, a następnie zatrzymuje się, poprawia się przez pauzę wypełniania, a następnie ponownie pyta o taryfy w jedną stronę.

Fragmenty słów

Czasami wypowiadamy zdania z mniejszymi fragmentami słów. Na przykład,wwha-what is the time? Tutaj słowa w-wha są fragmentami słów.

Wyszukiwanie informacji (IR) można zdefiniować jako oprogramowanie, które zajmuje się organizacją, przechowywaniem, odzyskiwaniem i oceną informacji z repozytoriów dokumentów, w szczególności informacji tekstowych. System pomaga użytkownikom w znalezieniu potrzebnych informacji, ale nie zwraca wprost odpowiedzi na pytania. Informuje o istnieniu i lokalizacji dokumentów, które mogą zawierać wymagane informacje. Dokumenty spełniające wymagania użytkownika nazywane są odpowiednimi dokumentami. Idealny system IR będzie pobierał tylko istotne dokumenty.

Za pomocą poniższego diagramu możemy zrozumieć proces wyszukiwania informacji (IR) -

Z powyższego diagramu jasno wynika, że ​​użytkownik potrzebujący informacji będzie musiał sformułować zapytanie w formie zapytania w języku naturalnym. Wówczas system IR odpowie, pobierając odpowiednie dane wyjściowe w postaci dokumentów o wymaganych informacjach.

Klasyczny problem w systemie wyszukiwania informacji (IR)

Głównym celem badań IR jest opracowanie modelu wyszukiwania informacji z repozytoriów dokumentów. Tutaj omówimy klasyczny problem o nazwiead-hoc retrieval problemzwiązane z systemem IR.

W przypadku wyszukiwania ad hoc użytkownik musi wprowadzić zapytanie w języku naturalnym, które opisuje wymagane informacje. Wtedy system IR zwróci wymagane dokumenty związane z żądanymi informacjami. Na przykład, przypuśćmy, że szukamy czegoś w Internecie i podaje to dokładne strony, które są odpowiednie zgodnie z naszymi wymaganiami, ale mogą też istnieć strony nieistotne. Wynika to z problemu pobierania ad-hoc.

Aspekty pobierania ad hoc

Poniżej przedstawiono niektóre aspekty pobierania ad hoc, które są uwzględniane w badaniach IR -

  • W jaki sposób użytkownicy z pomocą informacji zwrotnych na temat trafności mogą ulepszyć oryginalne sformułowanie zapytania?

  • Jak zaimplementować scalanie baz danych, czyli jak można połączyć wyniki z różnych tekstowych baz danych w jeden zestaw wyników?

  • Jak radzić sobie z częściowo uszkodzonymi danymi? Które modele są odpowiednie dla tego samego?

Model wyszukiwania informacji (IR)

Z matematycznego punktu widzenia modele są używane w wielu dziedzinach naukowych, których celem jest zrozumienie pewnych zjawisk w świecie rzeczywistym. Model wyszukiwania informacji przewiduje i wyjaśnia, co użytkownik znajdzie w związku z danym zapytaniem. Model IR to w zasadzie wzorzec, który definiuje wyżej wymienione aspekty procedury wyszukiwania i składa się z:

  • Wzór na dokumenty.

  • Model zapytań.

  • Funkcja dopasowująca, która porównuje zapytania z dokumentami.

Matematycznie model wyszukiwania składa się z -

D - Reprezentacja za dokumenty.

R - Reprezentacja w przypadku zapytań.

F - Ramy modelowania dla D, Q wraz z relacjami między nimi.

R (q,di)- Funkcja podobieństwa porządkująca dokumenty w odniesieniu do zapytania. Nazywa się to również rankingiem.

Typy modelu wyszukiwania informacji (IR)

Model informacyjny (IR) można podzielić na następujące trzy modele -

Klasyczny model IR

Jest to najprostszy i łatwy do wdrożenia model IR. Model ten oparty jest na wiedzy matematycznej, która była łatwo rozpoznawalna i zrozumiała. Boolean, Vector i Probabilistic to trzy klasyczne modele IR.

Nieklasyczny model IR

Jest to całkowicie odwrotne do klasycznego modelu IR. Tego rodzaju modele IR opierają się na zasadach innych niż podobieństwo, prawdopodobieństwo, operacje boolowskie. Model logiki informacyjnej, model teorii sytuacji i modele interakcji są przykładami nieklasycznego modelu IR.

Alternatywny model IR

Jest to udoskonalenie klasycznego modelu IR z wykorzystaniem określonych technik z innych dziedzin. Model klastra, model rozmyty i modele utajonego indeksowania semantycznego (LSI) są przykładami alternatywnego modelu IR.

Cechy konstrukcyjne systemów wyszukiwania informacji (IR)

Poznajmy teraz cechy konstrukcyjne systemów IR -

Odwrócony indeks

Podstawowa struktura danych większości systemów IR ma postać odwróconego indeksu. Możemy zdefiniować odwrócony indeks jako strukturę danych, która dla każdego słowa wyszczególnia wszystkie dokumenty, które go zawierają, oraz częstotliwość występowania w dokumencie. Ułatwia wyszukiwanie „trafień” wyszukiwanego słowa.

Zatrzymaj eliminację słów

Słowa pomijane to słowa o wysokiej częstotliwości, które są uważane za mało przydatne do wyszukiwania. Mają mniejsze wagi semantyczne. Wszystkie tego rodzaju słowa znajdują się na liście zwanej listą stop. Na przykład przedimki „a”, „an”, „the” i przyimki, takie jak „in”, „of”, „for”, „at” itp. Są przykładami słów pomijanych. Rozmiar odwróconego indeksu można znacznie zmniejszyć dzięki liście stop. Zgodnie z prawem Zipfa, lista stop obejmująca kilkadziesiąt słów zmniejsza rozmiar odwróconego indeksu o prawie połowę. Z drugiej strony, czasami wyeliminowanie słowa pomijanego może spowodować wyeliminowanie terminu przydatnego przy wyszukiwaniu. Na przykład, jeśli wyeliminujemy alfabet „A” z „witaminy A”, nie będzie to miało żadnego znaczenia.

Przybitka

Stemming, uproszczona forma analizy morfologicznej, to heurystyczny proces wyodrębniania podstawowej formy słów poprzez odcinanie końcówek słów. Na przykład słowa „śmiech”, „śmiech”, „śmiech” byłyby powiązane ze słowem „śmiech”.

W kolejnych sekcjach omówimy kilka ważnych i przydatnych modeli IR.

Model boolowski

Jest to najstarszy model wyszukiwania informacji (IR). Model oparty jest na teorii mnogości i algebrze Boole'a, gdzie dokumenty są zestawami terminów, a zapytania są wyrażeniami boolowskimi na terminach. Model boolowski można zdefiniować jako -

  • D- Zbiór słów, tj. Terminy indeksowania obecne w dokumencie. Tutaj każdy termin jest obecny (1) lub nieobecny (0).

  • Q - Wyrażenie logiczne, gdzie terminy są terminami indeksu, a operatory są iloczynami logicznymi - AND, suma logiczna - OR i różnica logiczna - NOT

  • F - Algebra Boole'a nad zbiorami terminów oraz zbiorami dokumentów

    Jeśli mówimy o informacji zwrotnej na temat trafności, to w modelu Boolean IR prognozowanie trafności można zdefiniować w następujący sposób -

  • R - Przewiduje się, że dokument ma znaczenie dla wyrażenia zapytania wtedy i tylko wtedy, gdy spełnia wyrażenie zapytania jako -

((˅) ˄ ˄ ˜ ℎ)

Możemy wyjaśnić ten model terminem zapytania jako jednoznaczną definicją zbioru dokumentów.

Na przykład termin zapytania “economic” definiuje zbiór dokumentów indeksowanych terminem “economic”.

Jaki byłby wynik po połączeniu terminów z operatorem logicznym AND? Definiuje zestaw dokumentów, który jest mniejszy lub równy zestawom dokumentów któregokolwiek z pojedynczych terminów. Na przykład zapytanie z warunkami“social” i “economic”wygeneruje zestaw dokumentów zindeksowanych z oboma terminami. Innymi słowy, zbiór dokumentów zawiera przecięcie obu zbiorów.

Jaki byłby wynik po połączeniu terminów z operatorem logicznym OR? Definiuje zestaw dokumentów, który jest większy lub równy zestawom dokumentów któregokolwiek z pojedynczych terminów. Na przykład zapytanie z warunkami“social” lub “economic” utworzy zestaw dokumentów indeksowanych jednym z terminów “social” lub “economic”. Innymi słowy, zestaw dokumentów z połączeniem obu zestawów.

Zalety trybu boolowskiego

Zalety modelu boolowskiego są następujące -

  • Najprostszy model oparty na zestawach.

  • Łatwe do zrozumienia i wdrożenia.

  • Pobiera tylko dokładne dopasowania

  • Daje użytkownikowi poczucie kontroli nad systemem.

Wady modelu boolowskiego

Wady modelu boolowskiego są następujące -

  • Funkcja podobieństwa modelu jest logiczna. W związku z tym nie byłoby częściowych dopasowań. Może to być denerwujące dla użytkowników.

  • W tym modelu użycie operatora boolowskiego ma znacznie większy wpływ niż słowo krytyczne.

  • Język zapytań jest wyrazisty, ale jest też skomplikowany.

  • Brak rankingu dla pobranych dokumentów.

Model przestrzeni wektorowej

Ze względu na powyższe wady modelu boolowskiego Gerard Salton i jego współpracownicy zaproponowali model, który jest oparty na kryterium podobieństwa Luhna. Kryterium podobieństwa sformułowane przez Luhna stwierdza, że ​​„im więcej dwóch reprezentacji zgadza się w danych elementach i ich rozkładzie, tym większe byłoby prawdopodobieństwo, że przedstawiają one podobne informacje”.

Rozważ następujące ważne punkty, aby lepiej zrozumieć model przestrzeni wektorowej -

  • Reprezentacje indeksu (dokumenty) i zapytania są traktowane jako wektory osadzone w wielowymiarowej przestrzeni euklidesowej.

  • Miarą podobieństwa wektora dokumentu do wektora zapytania jest zwykle cosinus kąta między nimi.

Formuła miary podobieństwa cosinusa

Cosinus to znormalizowany iloczyn skalarny, który można obliczyć za pomocą następującego wzoru -

$$Score \lgroup \vec{d} \vec{q} \rgroup= \frac{\sum_{k=1}^m d_{k}\:.q_{k}}{\sqrt{\sum_{k=1}^m\lgroup d_{k}\rgroup^2}\:.\sqrt{\sum_{k=1}^m}m\lgroup q_{k}\rgroup^2 }$$

$$Score \lgroup \vec{d} \vec{q}\rgroup =1\:when\:d =q $$

$$Score \lgroup \vec{d} \vec{q}\rgroup =0\:when\:d\:and\:q\:share\:no\:items$$

Reprezentacja przestrzeni wektorowej z zapytaniem i dokumentem

Zapytanie i dokumenty są reprezentowane przez dwuwymiarową przestrzeń wektorową. Warunki sącar i insurance. W przestrzeni wektorowej jest jedno zapytanie i trzy dokumenty.

Dokumentem najwyżej sklasyfikowanym w odpowiedzi na warunki samochód i ubezpieczenie będzie dokument d2 ponieważ kąt między q i d2jest najmniejszy. Powodem tego jest fakt, że zarówno koncepcje samochodu, jak i ubezpieczenia są istotne w d 2, a zatem mają dużą wagę. Z drugiej strony,d1 i d3 należy również wymienić oba terminy, ale w każdym przypadku jeden z nich nie jest w dokumencie terminem o znaczeniu centralnym.

Ważenie terminu

Ważenie terminów oznacza wagi terminów w przestrzeni wektorowej. Im większa waga tego terminu, tym większy byłby wpływ tego terminu na cosinus. Większą wagę należy przypisać do ważniejszych terminów w modelu. Teraz pojawia się pytanie, jak możemy to modelować.

Jednym ze sposobów jest policzenie słów w dokumencie jako jego wagi terminowej. Jednak myślisz, że byłaby to skuteczna metoda?

Inną metodą, która jest bardziej skuteczna, jest użycie term frequency (tfij), document frequency (dfi) i collection frequency (cfi).

Termin Częstotliwość (tf ij )

Można go zdefiniować jako liczbę wystąpień wi w dj. Informacje, które są wychwytywane przez częstotliwość terminów, to to, jak istotne jest słowo w danym dokumencie lub innymi słowy możemy powiedzieć, że im wyższa częstotliwość terminu, tym bardziej słowo to dobrze opisuje zawartość tego dokumentu.

Częstotliwość dokumentów (df i )

To może być zdefiniowany jako całkowita liczba dokumentów w kolekcji, w których w I występuje. Jest wskaźnikiem informatywności. Wyrazy skupione semantycznie będą pojawiać się w dokumencie kilka razy, w przeciwieństwie do słów nieokreślonych semantycznie.

Częstotliwość zbierania (cf i )

Można go zdefiniować jako całkowitą liczbę wystąpień wi w kolekcji.

Matematycznie, $df_{i}\leq cf_{i}\:and\:\sum_{j}tf_{ij} = cf_{i}$

Formy ważenia częstotliwości dokumentów

Przyjrzyjmy się teraz różnym formom ważenia częstotliwości dokumentów. Formularze opisano poniżej -

Termin Współczynnik częstotliwości

Jest to również klasyfikowane jako współczynnik częstotliwości terminu, co oznacza, że ​​jeśli termin t pojawia się często w dokumencie, a następnie zapytanie zawierające tpowinien pobrać ten dokument. Możemy łączyć słowaterm frequency (tfij) i document frequency (dfi) w jedną wagę w następujący sposób -

$$weight \left ( i,j \right ) =\begin{cases}(1+log(tf_{ij}))log\frac{N}{df_{i}}\:if\:tf_{i,j}\:\geq1\\0 \:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\: if\:tf_{i,j}\:=0\end{cases}$$

Tutaj N to całkowita liczba dokumentów.

Odwrotna częstotliwość dokumentów (idf)

Jest to inna forma ważenia częstotliwości dokumentów i często nazywana ważeniem idf lub odwrotnym ważeniem częstotliwości dokumentów. Ważnym punktem ważenia idf jest to, że rzadkość tego terminu w zbiorze jest miarą jego ważności, a znaczenie jest odwrotnie proporcjonalne do częstotliwości występowania.

Matematycznie,

$$idf_{t} = log\left(1+\frac{N}{n_{t}}\right)$$

$$idf_{t} = log\left(\frac{N-n_{t}}{n_{t}}\right)$$

Tutaj,

N = dokumenty w kolekcji

n t = dokumenty zawierające termin t

Ulepszenie zapytań użytkownika

Podstawowym celem każdego systemu wyszukiwania informacji musi być dokładność - tworzenie odpowiednich dokumentów zgodnie z wymaganiami użytkownika. Jednak pojawia się tutaj pytanie, w jaki sposób możemy poprawić wyniki, ulepszając styl tworzenia zapytań użytkownika. Z pewnością wynik każdego systemu IR zależy od zapytania użytkownika, a dobrze sformatowane zapytanie da dokładniejsze wyniki. Użytkownik może poprawić swoje zapytanie za pomocąrelevance feedback, ważny aspekt każdego modelu IR.

Informacje zwrotne dotyczące trafności

Informacja zwrotna dotycząca istotności pobiera dane wyjściowe, które są początkowo zwracane z danego zapytania. Te początkowe dane wyjściowe można wykorzystać do zebrania informacji o użytkowniku i ustalenia, czy dane wyjściowe są odpowiednie do wykonania nowego zapytania, czy nie. Informacje zwrotne można sklasyfikować w następujący sposób -

Wyraźna opinia

Można ją zdefiniować jako informację zwrotną uzyskaną od odpowiednich osób oceniających. Osoby oceniające wskażą również przydatność dokumentu pobranego z zapytania. Aby poprawić wydajność wyszukiwania zapytań, informacje zwrotne dotyczące trafności muszą być interpolowane z pierwotnym zapytaniem.

Osoby oceniające lub inni użytkownicy systemu mogą wyraźnie wskazać znaczenie, korzystając z następujących systemów znaczenia:

  • Binary relevance system - Ten system informacji zwrotnej na temat istotności wskazuje, że dokument jest istotny (1) lub nieistotny (0) dla danego zapytania.

  • Graded relevance system- System informacji zwrotnej o ocenianej trafności wskazuje istotność dokumentu dla danego zapytania na podstawie oceny za pomocą liczb, liter lub opisów. Opis może brzmieć: „nie dotyczy”, „dość istotne”, „bardzo istotne” lub „istotne”.

Niejawna informacja zwrotna

To informacje zwrotne są wywnioskowane z zachowania użytkowników. To zachowanie obejmuje czas spędzony przez użytkownika na przeglądaniu dokumentu, który dokument jest wybrany do przeglądania, a który nie, przeglądanie stron i przewijanie itp. Jednym z najlepszych przykładów niejawnej informacji zwrotnej jestdwell time, który jest miarą czasu spędzanego przez użytkownika na przeglądaniu strony, do której prowadzi link w wynikach wyszukiwania.

Pseudo feedback

Nazywa się to również Blind feedback. Zapewnia metodę automatycznej analizy lokalnej. Ręczna część informacji zwrotnych dotyczących trafności jest zautomatyzowana za pomocą informacji zwrotnych o pseudo trafności, dzięki czemu użytkownik uzyskuje lepszą wydajność wyszukiwania bez dłuższej interakcji. Główną zaletą tego systemu informacji zwrotnej jest to, że nie wymaga on osób oceniających, jak w przypadku systemu informacji zwrotnej o jawnej istotności.

Rozważ następujące kroki, aby wdrożyć tę opinię -

  • Step 1- Po pierwsze, wynik zwracany przez wstępne zapytanie musi być traktowany jako odpowiedni wynik. Zakres odpowiednich wyników musi znajdować się w 10–50 najlepszych wynikach.

  • Step 2 - Teraz wybierz 20–30 najważniejszych terminów z dokumentów, używając na przykład terminu częstotliwość (tf) - odwrotna częstotliwość dokumentu (idf) waga.

  • Step 3- Dodaj te terminy do zapytania i dopasuj zwrócone dokumenty. Następnie zwróć najważniejsze dokumenty.

Przetwarzanie języka naturalnego (NLP) to wyłaniająca się technologia, która wywodzi różne formy sztucznej inteligencji, które widzimy w obecnych czasach, a jej wykorzystanie do tworzenia płynnego, a także interaktywnego interfejsu między człowiekiem a maszynami będzie nadal głównym priorytetem dla dzisiejszych i przyszłych coraz bardziej poznawcze aplikacje. Tutaj omówimy niektóre z bardzo przydatnych zastosowań NLP.

Tłumaczenie maszynowe

Tłumaczenie maszynowe (MT), czyli proces tłumaczenia jednego języka źródłowego lub tekstu na inny język, jest jednym z najważniejszych zastosowań NLP. Możemy zrozumieć proces tłumaczenia maszynowego za pomocą następującego schematu blokowego -

Rodzaje systemów tłumaczenia maszynowego

Istnieją różne typy systemów tłumaczenia maszynowego. Zobaczmy, jakie są różne typy.

Dwujęzyczny system MT

Dwujęzyczne systemy tłumaczenia maszynowego zapewniają tłumaczenia między dwoma określonymi językami.

Wielojęzyczny system MT

Wielojęzyczne systemy MT zapewniają tłumaczenia między dowolną parą języków. Mogą mieć charakter jednokierunkowy lub dwukierunkowy.

Podejścia do tłumaczenia maszynowego (MT)

Poznajmy teraz ważne podejścia do tłumaczenia maszynowego. Podejścia do MT są następujące -

Podejście bezpośrednie MT

Jest to mniej popularne, ale najstarsze podejście MT. Systemy wykorzystujące to podejście są w stanie przetłumaczyć SL (język źródłowy) bezpośrednio na TL (język docelowy). Takie systemy są z natury dwujęzyczne i jednokierunkowe.

Podejście Interlingua

Systemy wykorzystujące podejście Interlingua tłumaczą SL na język pośredni zwany Interlingua (IL), a następnie tłumaczą IL na TL. Podejście Interlingua można zrozumieć za pomocą następującej piramidy MT -

Podejście do transferu

Podejście to obejmuje trzy etapy.

  • Na pierwszym etapie teksty w języku źródłowym (SL) są konwertowane na abstrakcyjne reprezentacje zorientowane na SL.

  • Na drugim etapie reprezentacje zorientowane na SL są konwertowane na równoważne reprezentacje zorientowane na język docelowy (TL).

  • W trzecim etapie generowany jest ostateczny tekst.

Empiryczne podejście MT

To nowe podejście dla MT. Zasadniczo wykorzystuje dużą ilość surowych danych w postaci równoległych korpusów. Surowe dane składają się z tekstu i jego tłumaczeń. Oparte na analogiach, oparte na przykładach, oparte na pamięci techniki tłumaczenia maszynowego wykorzystują empiryczne podejście MT.

Zwalczanie spamu

Obecnie jednym z najczęstszych problemów są niechciane e-maile. To sprawia, że ​​filtry antyspamowe są tym ważniejsze, ponieważ stanowią pierwszą linię obrony przed tym problemem.

System filtrowania spamu można opracować przy użyciu funkcji NLP, biorąc pod uwagę główne problemy z fałszywie dodatnimi i fałszywie ujemnymi wynikami.

Istniejące modele NLP do filtrowania spamu

Poniżej znajduje się kilka istniejących modeli NLP do filtrowania spamu -

Modelowanie N-gramowe

Model N-Gram to N-znakowy fragment dłuższego ciągu. W tym modelu do przetwarzania i wykrywania spamu używa się jednocześnie N-gramów o kilku różnych długościach.

Word Stemming

Spamerzy, twórcy wiadomości spamowych, zwykle zmieniają jeden lub więcej znaków atakujących słów w swoich spamach, aby mogli naruszać filtry spamu oparte na treści. Dlatego możemy powiedzieć, że filtry oparte na treści nie są przydatne, jeśli nie rozumieją znaczenia słów lub wyrażeń w wiadomości e-mail. Aby wyeliminować takie problemy w filtrowaniu spamu, opracowano opartą na regułach technikę tworzenia wyrazów, która może dopasować słowa, które wyglądają podobnie i brzmią podobnie.

Klasyfikacja Bayesa

Ta technologia stała się obecnie szeroko stosowaną technologią filtrowania spamu. Częstość występowania słów w wiadomości e-mail jest mierzona metodą statystyczną w stosunku do ich typowego występowania w bazie danych niechcianych (spam) i legalnych wiadomości e-mail (spam).

Automatyczne podsumowanie

W erze cyfrowej najcenniejsze są dane, można powiedzieć, że informacje. Jednak czy naprawdę otrzymujemy przydatne, a także wymaganą ilość informacji? Odpowiedź brzmi „NIE”, ponieważ informacje są przeładowane, a nasz dostęp do wiedzy i informacji znacznie przekracza nasze możliwości ich zrozumienia. Poważnie potrzebujemy automatycznego podsumowania tekstu i informacji, ponieważ zalew informacji w Internecie nie ustanie.

Podsumowanie tekstu można zdefiniować jako technikę tworzenia krótkiego, dokładnego podsumowania dłuższych dokumentów tekstowych. Automatyczne podsumowanie tekstu pomoże nam uzyskać istotne informacje w krótszym czasie. Przetwarzanie języka naturalnego (NLP) odgrywa ważną rolę w opracowywaniu automatycznego podsumowania tekstu.

Odpowiadanie na pytania

Innym głównym zastosowaniem przetwarzania języka naturalnego (NLP) jest odpowiadanie na pytania. Wyszukiwarki stawiają informacje ze świata na wyciągnięcie ręki, ale wciąż ich brakuje, jeśli chodzi o odpowiedzi na pytania zadawane przez ludzi w ich naturalnym języku. Mamy duże firmy technologiczne, takie jak Google, również zmierzające w tym kierunku.

Odpowiadanie na pytania jest dyscypliną informatyczną z zakresu AI i NLP. Koncentruje się na budowaniu systemów, które automatycznie odpowiadają na pytania zadawane przez ludzi w ich naturalnym języku. System komputerowy, który rozumie język naturalny, ma zdolność systemu programowego do tłumaczenia zdań napisanych przez ludzi na wewnętrzną reprezentację, tak aby system mógł wygenerować prawidłowe odpowiedzi. Dokładne odpowiedzi można uzyskać, wykonując analizę składniową i semantyczną pytań. Luka leksykalna, niejasność i wielojęzyczność to niektóre z wyzwań NLP w budowaniu dobrego systemu odpowiadania na pytania.

Analiza nastrojów

Innym ważnym zastosowaniem przetwarzania języka naturalnego (NLP) jest analiza nastrojów. Jak sama nazwa wskazuje, analiza nastrojów służy do identyfikacji nastrojów w kilku postach. Służy również do identyfikacji uczucia, w którym emocje nie są wyrażane bezpośrednio. Firmy używają analizy nastrojów, aplikacji przetwarzania języka naturalnego (NLP), aby zidentyfikować opinie i uczucia swoich klientów w Internecie. Pomoże firmom zrozumieć, co myślą ich klienci o produktach i usługach. Firmy mogą ocenić swoją ogólną reputację na podstawie postów klientów za pomocą analizy nastrojów. W ten sposób możemy powiedzieć, że poza określeniem prostej polaryzacji, analiza sentymentów rozumie nastroje w kontekście, aby pomóc nam lepiej zrozumieć, co kryje się za wyrażoną opinią.

W tym rozdziale nauczymy się przetwarzania języka za pomocą Pythona.

Następujące funkcje sprawiają, że Python różni się od innych języków -

  • Python is interpreted - Nie musimy kompilować naszego programu w języku Python przed jego wykonaniem, ponieważ interpreter przetwarza język Python w czasie wykonywania.

  • Interactive - Możemy bezpośrednio współpracować z tłumaczem, aby pisać nasze programy w Pythonie.

  • Object-oriented - Python jest z natury zorientowany obiektowo i ułatwia pisanie programów w tym języku, ponieważ za pomocą tej techniki programowania hermetyzuje kod w obiektach.

  • Beginner can easily learn - Python jest również nazywany językiem początkującym, ponieważ jest bardzo łatwy do zrozumienia i wspiera rozwój szerokiej gamy aplikacji.

Wymagania wstępne

Najnowsza wydana wersja Pythona 3 to Python 3.7.1 jest dostępna dla systemów Windows, Mac OS i większości odmian systemu Linux.

  • W przypadku systemu Windows możemy przejść do łącza www.python.org/downloads/windows/, aby pobrać i zainstalować Pythona.

  • W przypadku systemu MAC OS możemy skorzystać z linku www.python.org/downloads/mac-osx/ .

  • W przypadku Linuksa różne wersje Linuksa używają różnych menedżerów pakietów do instalacji nowych pakietów.

    • Na przykład, aby zainstalować Python 3 na Ubuntu Linux, możemy użyć następującego polecenia z terminala -

$sudo apt-get install python3-minimal

Aby dowiedzieć się więcej o programowaniu w języku Python, przeczytaj podstawowy samouczek Python 3 - Python 3

Pierwsze kroki z NLTK

Będziemy używać biblioteki Python NLTK (Natural Language Toolkit) do analizy tekstu w języku angielskim. Zestaw narzędzi języka naturalnego (NLTK) to zbiór bibliotek Pythona zaprojektowanych specjalnie do identyfikowania i oznaczania fragmentów mowy występujących w tekście języka naturalnego, takiego jak angielski.

Instalowanie NLTK

Przed rozpoczęciem korzystania z NLTK musimy go zainstalować. Za pomocą następującego polecenia możemy zainstalować go w naszym środowisku Python -

pip install nltk

Jeśli używamy Anacondy, pakiet Conda dla NLTK można zbudować za pomocą następującego polecenia -

conda install -c anaconda nltk

Pobieranie danych NLTK

Po zainstalowaniu NLTK kolejnym ważnym zadaniem jest pobranie jego wstępnie ustawionych repozytoriów tekstowych, aby można było z niego łatwo korzystać. Jednak wcześniej musimy zaimportować NLTK w taki sam sposób, w jaki importujemy każdy inny moduł Pythona. Następujące polecenie pomoże nam w imporcie NLTK -

import nltk

Teraz pobierz dane NLTK za pomocą następującego polecenia -

nltk.download()

Zainstalowanie wszystkich dostępnych pakietów NLTK zajmie trochę czasu.

Inne niezbędne pakiety

Niektóre inne pakiety Pythona, takie jak gensim i patternsą również bardzo potrzebne do analizy tekstu, a także do tworzenia aplikacji przetwarzających język naturalny przy użyciu NLTK. pakiety można zainstalować jak pokazano poniżej -

gensim

gensim to solidna biblioteka do modelowania semantycznego, której można używać w wielu zastosowaniach. Możemy go zainstalować, wykonując polecenie -

pip install gensim

wzór

Można go użyć do zrobienia gensimpakiet działa poprawnie. Poniższe polecenie pomaga w instalacji wzorca -

pip install pattern

Tokenizacja

Tokenizację można zdefiniować jako Proces dzielenia danego tekstu na mniejsze jednostki zwane tokenami. Żetonami mogą być słowa, cyfry lub znaki interpunkcyjne. Można to również nazwać segmentacją słów.

Przykład

Input - Łóżko i krzesło to rodzaje mebli.

Mamy różne pakiety do tokenizacji dostarczane przez NLTK. Możemy korzystać z tych pakietów w zależności od naszych wymagań. Pakiety i szczegóły ich instalacji są następujące -

pakiet sent_tokenize

Ten pakiet może służyć do dzielenia tekstu wejściowego na zdania. Możemy go zaimportować za pomocą następującego polecenia -

from nltk.tokenize import sent_tokenize

pakiet word_tokenize

Za pomocą tego pakietu można podzielić wprowadzany tekst na słowa. Możemy go zaimportować za pomocą następującego polecenia -

from nltk.tokenize import word_tokenize

Pakiet WordPunctTokenizer

Za pomocą tego pakietu można podzielić wprowadzany tekst na słowa i znaki interpunkcyjne. Możemy go zaimportować za pomocą następującego polecenia -

from nltk.tokenize import WordPuncttokenizer

Przybitka

Ze względów gramatycznych język zawiera wiele odmian. Wariacje w tym sensie, że język, angielski, a także inne języki, mają różne formy słowa. Na przykład słowa takie jakdemocracy, democratic, i democratization. W przypadku projektów uczenia maszynowego bardzo ważne jest, aby maszyny zrozumiały, że te różne słowa, podobnie jak powyżej, mają tę samą formę podstawową. Dlatego przy analizie tekstu bardzo przydatne jest wyodrębnienie podstawowych form słów.

Stemming to heurystyczny proces, który pomaga wydobyć podstawowe formy słów poprzez odcięcie ich końców.

Różne pakiety do wyprowadzania dostarczane przez moduł NLTK są następujące -

Pakiet PorterStemmer

Algorytm Portera jest używany przez ten pakiet rdzenia do wyodrębnienia podstawowej formy słów. Za pomocą następującego polecenia możemy zaimportować ten pakiet -

from nltk.stem.porter import PorterStemmer

Na przykład, ‘write’ byłoby wynikiem słowa ‘writing’ podane jako dane wejściowe do tego stempla.

Pakiet LancasterStemmer

Algorytm Lancastera jest używany przez ten pakiet do wyodrębniania podstawowej formy słów. Za pomocą następującego polecenia możemy zaimportować ten pakiet -

from nltk.stem.lancaster import LancasterStemmer

Na przykład, ‘writ’ byłoby wynikiem słowa ‘writing’ podane jako dane wejściowe do tego stempla.

Pakiet SnowballStemmer

Algorytm Snowballa jest używany przez ten pakiet rdzeniowy do wyodrębnienia podstawowej formy słów. Za pomocą następującego polecenia możemy zaimportować ten pakiet -

from nltk.stem.snowball import SnowballStemmer

Na przykład, ‘write’ byłoby wynikiem słowa ‘writing’ podane jako dane wejściowe do tego stempla.

Lemmatyzacja

Jest to inny sposób na wyodrębnienie podstawowej formy słów, zwykle mający na celu usunięcie końcówek fleksyjnych za pomocą słownictwa i analizy morfologicznej. Po lematyzacji podstawową formą dowolnego słowa jest lemat.

Moduł NLTK zapewnia następujący pakiet do lematyzacji -

Pakiet WordNetLemmatizer

Ten pakiet wyodrębni podstawową formę słowa w zależności od tego, czy jest używany jako rzeczownik, czy jako czasownik. Do zaimportowania tego pakietu można użyć następującego polecenia -

from nltk.stem import WordNetLemmatizer

Liczenie tagów POS - dzielenie

Identyfikacji części mowy (POS) i krótkich fraz można dokonać za pomocą fragmentacji. Jest to jeden z ważnych procesów w przetwarzaniu języka naturalnego. Ponieważ zdajemy sobie sprawę z procesu tokenizacji w celu tworzenia tokenów, fragmentacja polega w rzeczywistości na etykietowaniu tych tokenów. Innymi słowy, możemy powiedzieć, że możemy uzyskać strukturę zdania za pomocą procesu fragmentacji.

Przykład

W poniższym przykładzie zaimplementujemy fragmentację rzeczownik-fraza, kategorię fragmentacji, która znajdzie fragmenty wyrażenia rzeczownikowego w zdaniu, używając modułu NLTK Python.

Rozważ następujące kroki, aby zaimplementować fragmentację wyrażeń rzeczownikowych -

Step 1: Chunk grammar definition

Na tym etapie musimy zdefiniować gramatykę dla fragmentacji. Składałby się z zasad, których musimy przestrzegać.

Step 2: Chunk parser creation

Następnie musimy utworzyć parser fragmentów. Sparsowałby gramatykę i dałby wynik.

Step 3: The Output

W tym kroku otrzymamy dane wyjściowe w formacie drzewa.

Uruchomienie skryptu NLP

Zacznij od zaimportowania pakietu NLTK -

import nltk

Teraz musimy zdefiniować zdanie.

Tutaj,

  • DT jest wyznacznikiem

  • VBP to czasownik

  • JJ to przymiotnik

  • IN to przyimek

  • NN to rzeczownik

sentence = [("a", "DT"),("clever","JJ"),("fox","NN"),("was","VBP"),
   ("jumping","VBP"),("over","IN"),("the","DT"),("wall","NN")]

Następnie gramatykę należy podać w postaci wyrażenia regularnego.

grammar = "NP:{<DT>?<JJ>*<NN>}"

Teraz musimy zdefiniować parser do analizowania gramatyki.

parser_chunking = nltk.RegexpParser(grammar)

Teraz parser przeanalizuje zdanie w następujący sposób -

parser_chunking.parse(sentence)

Następnie dane wyjściowe będą w zmiennej w następujący sposób: -

Output = parser_chunking.parse(sentence)

Teraz poniższy kod pomoże Ci narysować wynik w postaci drzewa.

output.draw()