PNL - Analisi a livello di parole

In questo capitolo, comprenderemo l'analisi a livello mondiale nell'elaborazione del linguaggio naturale.

Espressioni regolari

Un'espressione regolare (RE) è un linguaggio per specificare le stringhe di ricerca del testo. RE ci aiuta ad abbinare o trovare altre stringhe o insiemi di stringhe, utilizzando una sintassi specializzata contenuta in un pattern. Le espressioni regolari vengono utilizzate per cercare testi in UNIX e in MS WORD in modo identico. Abbiamo vari motori di ricerca che utilizzano una serie di funzioni RE.

Proprietà delle espressioni regolari

Di seguito sono riportate alcune delle proprietà importanti di RE -

  • Il matematico americano Stephen Cole Kleene ha formalizzato il linguaggio delle espressioni regolari.

  • RE è una formula in un linguaggio speciale, che può essere utilizzato per specificare semplici classi di stringhe, una sequenza di simboli. In altre parole, possiamo dire che RE è una notazione algebrica per caratterizzare un insieme di stringhe.

  • L'espressione regolare richiede due cose, una è il modello che desideriamo cercare e l'altra è un corpus di testo da cui dobbiamo cercare.

Matematicamente, un'espressione regolare può essere definita come segue:

  • ε è un'espressione regolare, che indica che la lingua ha una stringa vuota.

  • φ è un'espressione regolare che denota che è un linguaggio vuoto.

  • Se X e Y sono espressioni regolari, quindi

    • X, Y

    • X.Y(Concatenation of XY)

    • X+Y (Union of X and Y)

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

sono anche espressioni regolari.

  • Se una stringa è derivata dalle regole precedenti, anche quella sarebbe un'espressione regolare.

Esempi di espressioni regolari

La tabella seguente mostra alcuni esempi di espressioni regolari:

Espressioni regolari Set regolare
(0 + 10 *) {0, 1, 10, 100, 1000, 10000,…}
(0 * 10 *) {1, 01, 10, 010, 0010,…}
(0 + ε) (1 + ε) {ε, 0, 1, 01}
(a + b) * Sarebbe un insieme di stringhe di a e b di qualsiasi lunghezza che include anche la stringa nulla, ad esempio {ε, a, b, aa, ab, bb, ba, aaa …….}
(a + b) * abb Sarebbe un insieme di stringhe di a e b che terminano con la stringa abb ie {abb, aabb, babb, aaabb, ababb, ………… ..}
(11) * Sarebbe impostato composto da un numero pari di 1 che include anche una stringa vuota, ad esempio {ε, 11, 1111, 111111, ……….}
(aa) * (bb) * b Sarebbe un insieme di stringhe composto da un numero pari di a seguito da un numero dispari di b cioè {b, aab, aabbb, aabbbbb, aaaab, aaaabbb, ………… ..}
(aa + ab + ba + bb) * Sarebbe una stringa di a e b di lunghezza pari che può essere ottenuta concatenando qualsiasi combinazione delle stringhe aa, ab, ba e bb compreso null es. {Aa, ab, ba, bb, aaab, aaba, …………. .}

Set regolari e loro proprietà

Può essere definito come l'insieme che rappresenta il valore dell'espressione regolare e consiste di proprietà specifiche.

Proprietà degli insiemi regolari

  • Se facciamo l'unione di due insiemi regolari, anche l'insieme risultante sarebbe regula.

  • Se facciamo l'intersezione di due insiemi regolari, anche l'insieme risultante sarebbe regolare.

  • Se facciamo il complemento di insiemi regolari, anche l'insieme risultante sarebbe regolare.

  • Se facciamo la differenza di due insiemi regolari, anche l'insieme risultante sarebbe regolare.

  • Se facciamo l'inversione di insiemi regolari, anche l'insieme risultante sarebbe regolare.

  • Se prendiamo la chiusura di insiemi regolari, anche l'insieme risultante sarebbe regolare.

  • Se facciamo la concatenazione di due insiemi regolari, anche l'insieme risultante sarebbe regolare.

Automi a stati finiti

Il termine automi, derivato dalla parola greca "αὐτόματα" che significa "autoagente", è il plurale di automa che può essere definito come un dispositivo informatico semovente astratto che segue automaticamente una sequenza predeterminata di operazioni.

Un automa con un numero finito di stati è chiamato automa finito (FA) o automa a stati finiti (FSA).

Matematicamente, un automa può essere rappresentato da una tupla di 5 (Q, Σ, δ, q0, F), dove -

  • Q è un insieme finito di stati.

  • Σ è un insieme finito di simboli, chiamato alfabeto dell'automa.

  • δ è la funzione di transizione

  • q0 è lo stato iniziale da cui viene elaborato qualsiasi input (q0 ∈ Q).

  • F è un insieme di stati / stati finali di Q (F ⊆ Q).

Relazione tra automi finiti, grammatiche regolari ed espressioni regolari

I punti seguenti ci daranno una visione chiara della relazione tra automi finiti, grammatiche regolari ed espressioni regolari -

  • Come sappiamo, gli automi a stati finiti sono il fondamento teorico del lavoro computazionale e le espressioni regolari è un modo per descriverli.

  • Possiamo dire che qualsiasi espressione regolare può essere implementata come FSA e qualsiasi FSA può essere descritta con un'espressione regolare.

  • D'altra parte, l'espressione regolare è un modo per caratterizzare un tipo di linguaggio chiamato linguaggio regolare. Quindi, possiamo dire che il linguaggio regolare può essere descritto con l'aiuto sia di FSA che di espressioni regolari.

  • La grammatica regolare, una grammatica formale che può essere regolare a destra o regolare a sinistra, è un altro modo per caratterizzare il linguaggio normale.

Il diagramma seguente mostra che gli automi finiti, le espressioni regolari e le grammatiche regolari sono modi equivalenti per descrivere i linguaggi regolari.

Tipi di automazione a stati finiti (FSA)

L'automazione a stati finiti è di due tipi. Vediamo quali sono i tipi.

Automazione deterministica finita (DFA)

Può essere definito come il tipo di automazione finita in cui, per ogni simbolo di input possiamo determinare lo stato in cui si muoverà la macchina. Ha un numero finito di stati, motivo per cui la macchina è chiamata Automa finito deterministico (DFA).

Matematicamente, un DFA può essere rappresentato da una tupla di 5 (Q, Σ, δ, q0, F), dove -

  • Q è un insieme finito di stati.

  • Σ è un insieme finito di simboli, chiamato alfabeto dell'automa.

  • δ è la funzione di transizione dove δ: Q × Σ → Q.

  • q0 è lo stato iniziale da cui viene elaborato qualsiasi input (q0 ∈ Q).

  • F è un insieme di stati / stati finali di Q (F ⊆ Q).

Considerando che graficamente, un DFA può essere rappresentato da diagrammi chiamati diagrammi di stato dove:

  • Gli stati sono rappresentati da vertices.

  • Le transizioni sono indicate da etichettate arcs.

  • Lo stato iniziale è rappresentato da un file empty incoming arc.

  • Lo stato finale è rappresentato da double circle.

Esempio di DFA

Supponiamo che un DFA sia

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • La funzione di transizione δ è mostrata nella tabella come segue:

Stato attuale Stato successivo per ingresso 0 Stato successivo per ingresso 1
UN un B
B b UN
C c C

La rappresentazione grafica di questo DFA sarebbe la seguente:

Automazione finita non deterministica (NDFA)

Può essere definito come il tipo di automazione finita in cui per ogni simbolo di input non possiamo determinare lo stato in cui si muoverà la macchina, ovvero la macchina può spostarsi in qualsiasi combinazione di stati. Ha un numero finito di stati, motivo per cui la macchina è chiamata Automazione finita non deterministica (NDFA).

Matematicamente, NDFA può essere rappresentato da una tupla di 5 (Q, Σ, δ, q0, F), dove -

  • Q è un insieme finito di stati.

  • Σ è un insieme finito di simboli, chiamato alfabeto dell'automa.

  • δ: -è la funzione di transizione dove δ: Q × Σ → 2 Q .

  • q0: -è lo stato iniziale da cui viene elaborato qualsiasi input (q0 ∈ Q).

  • F: -è un insieme di stati finali di Q (F ⊆ Q).

Considerando che graficamente (come DFA), un NDFA può essere rappresentato da diagrammi chiamati diagrammi di stato dove:

  • Gli stati sono rappresentati da vertices.

  • Le transizioni sono indicate da etichettate arcs.

  • Lo stato iniziale è rappresentato da un file empty incoming arc.

  • Lo stato finale è rappresentato dal doppio circle.

Esempio di NDFA

Supponiamo che sia un NDFA

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • La funzione di transizione δ è mostrata nella tabella come segue:

Stato attuale Stato successivo per ingresso 0 Stato successivo per ingresso 1
UN a, b B
B C corrente alternata
C avanti Cristo C

La rappresentazione grafica di questo NDFA sarebbe la seguente:

Analisi morfologica

Il termine analisi morfologica è correlato all'analisi dei morfemi. Possiamo definire l'analisi morfologica come il problema di riconoscere che una parola si scompone in unità significative più piccole chiamate morfemi che producono una sorta di struttura linguistica per essa. Ad esempio, possiamo rompere la parola volpi in due, volpe e -es . Possiamo vedere che la parola volpi , è composta da due morfemi, uno è volpe e l'altro è -es .

In un altro senso, possiamo dire che la morfologia è lo studio di -

  • La formazione delle parole.

  • L'origine delle parole.

  • Forme grammaticali delle parole.

  • Uso di prefissi e suffissi nella formazione delle parole.

  • Come si formano le parti del discorso (PoS) di una lingua.

Tipi di morfemi

I morfemi, le più piccole unità portatrici di significato, possono essere divisi in due tipi:

  • Stems

  • L'ordine delle parole

Gambi

È l'unità di base significativa di una parola. Possiamo anche dire che è la radice della parola. Ad esempio, nella parola volpi, la radice è volpe.

  • Affixes- Come suggerisce il nome, aggiungono un significato aggiuntivo e funzioni grammaticali alle parole. Ad esempio, nella parola volpi, l'affisso è - es.

Inoltre, gli affissi possono anche essere suddivisi nei seguenti quattro tipi:

    • Prefixes- Come suggerisce il nome, i prefissi precedono la radice. Ad esempio, nella parola slacciare, un è il prefisso.

    • Suffixes- Come suggerisce il nome, i suffissi seguono la radice. Ad esempio, nella parola gatti, -s è il suffisso.

    • Infixes- Come suggerisce il nome, gli infissi sono inseriti all'interno dello stelo. Ad esempio, la parola cupful, può essere pluralizzata come cupsful utilizzando -s come infisso.

    • Circumfixes- Precedono e seguono il gambo. Ci sono pochissimi esempi di circonfisse in lingua inglese. Un esempio molto comune è 'A-ing' dove possiamo usare -A precede e -ing segue la radice.

L'ordine delle parole

L'ordine delle parole sarebbe deciso dall'analisi morfologica. Vediamo ora i requisiti per costruire un parser morfologico -

Lessico

Il primo requisito per costruire un parser morfologico è il lessico, che include l'elenco di steli e affissi insieme alle informazioni di base su di essi. Ad esempio, le informazioni come se la radice è radice del sostantivo o radice del verbo, ecc.

Morfotattica

È fondamentalmente il modello di ordinamento dei morfemi. In altro senso, il modello che spiega quali classi di morfemi possono seguire altre classi di morfemi all'interno di una parola. Ad esempio, il fatto morfotattico è che il morfema plurale inglese segue sempre il sostantivo piuttosto che precederlo.

Regole ortografiche

Queste regole di ortografia vengono utilizzate per modellare i cambiamenti che si verificano in una parola. Ad esempio, la regola di convertire y in ie in parole come città + s = città non città.