Analisi sintattica | Guida alla padronanza dell'elaborazione del linguaggio naturale (Parte 11)

Contenuti

Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati

introduzione

Questo articolo fa parte di una serie di blog in corso sull'elaborazione del linguaggio naturale (PNL). Nell'articolo precedente, discutiamo una tecnica di estrazione di entità chiamata, ad esempio, Riconoscimento delle entità nominate. Esiste anche un'altra tecnica di estrazione di entità che è anche una tecnica popolare chiamata Modellazione a tema, di cui parleremo nei prossimi articoli della nostra serie di blog.

Quindi, in questo articolo, approfondiremo l'analisi sintattica, che è uno dei livelli cruciali della PNL.

Questa è la parte 11 dalla serie di blog sulla Guida passo passo all'elaborazione del linguaggio naturale.

Sommario

1. Che cos'è l'analisi??

2. Qual è la differenza tra parsing e lessical??

3. Cos'è un analizzatore??

4. Quali sono i diversi tipi di analizzatori?

5. Cos'è lo shunt e i suoi tipi?

6. Quali sono i tipi di analisi basata sulla derivazione?

7. Cos'è un albero di analisi??

Che cos'è l'analisi??

L'analisi sintattica è definita come l'analisi che ci dice il significato logico di frasi date con certezza o parti di quelle frasi. Dobbiamo considerare anche le regole grammaticali per definire il significato logico e la correttezza delle frasi.

oh, in parole semplici, l'analisi è il processo di analisi del linguaggio naturale con le regole della grammatica formale. Applichiamo regole grammaticali solo a categorie e gruppi di parole, non si applica alle singole parole.

L'analisi sintattica assegna fondamentalmente una struttura semantica al testo. Conosciuto anche come parsing o parsing. La parola "analisi"’ Deriva dalla parola latina 'pars’ cosa significa "parte"?. L'analisi sintattica si occupa della sintassi del linguaggio naturale. Le regole grammaticali sono state utilizzate nell'analisi sintattica.

Facciamo un esempio per capire meglio:

Considera la seguente frase:

Frase: La scuola va ragazzo 

La frase precedente non trasmette logicamente il suo significato e la sua struttura grammaticale non è corretta. Quindi, l'analisi sintattica ci dice se una particolare frase trasmette o meno il suo significato logico e se la sua struttura grammaticale è corretta o meno.

Come discutiamo i passaggi oi diversi livelli della PNL, il terzo livello di PNL è l'analisi o l'analisi o l'analisi. L'obiettivo principale di questo livello è estrarre il significato esatto, o in parole semplici, può dire trovare il significato del dizionario dal testo. L'analisi della sintassi verifica il significato del testo rispetto alle regole della grammatica formale.

Ad esempio, considera la seguente frase

Frase: “gelato caldo” 

La frase di cui sopra sarebbe respinta dal parser semantico.

Ora, definiamo formalmente l'analisi,

Nel senso di cui sopra, parsing o parsing può essere definito come il processo di analisi di stringhe di simboli in linguaggio naturale secondo le regole della grammatica formale.

Differenza tra analisi lessicale e sintattica

L'obiettivo dell'analisi lessicale è la pulizia dei dati e l'estrazione delle caratteristiche con l'aiuto di tecniche come

  • Derivato,
  • Lematizzazione,
  • Correggere le parole errate, eccetera.

D'altra parte, nell'analisi il nostro obiettivo è:

  • Trova i ruoli che le parole giocano in una frase,
  • Interpretare la relazione tra le parole,
  • Interpretare la struttura grammaticale delle frasi.

Consideriamo il seguente esempio con 2 preghiere:

Frasi:
Patna è la capitale del Bihar.
Patna è la capitale del Bihar??

In entrambe le frasi, tutte le parole sono uguali, ma solo la prima frase è sintatticamente corretta e facilmente comprensibile.

Ma non possiamo fare queste distinzioni usando tecniche di elaborazione lessicale di base.. Perciò, abbiamo bisogno di tecniche di elaborazione della sintassi più sofisticate per comprendere la relazione tra le singole parole in una frase.

L'analisi sintattica considera i seguenti aspetti della frase che il lessico non fa:

Ordine e significato delle parole

L'analisi sintattica mira ad estrarre la dipendenza delle parole con altre parole nel documento. Se cambiamo l'ordine delle parole, sarà difficile capire la frase.

Interrompi la memorizzazione delle parole

Se togliamo le parole vuote, può cambiare completamente il significato di una frase.

Morfologia della parola

Stemming e stemming porteranno le parole alla loro forma base, modificando così la grammatica della frase.

Parti del discorso per le parole in una frase

È importante identificare la parte grammaticale corretta di una parola.

Ad esempio, Considera le seguenti frasi:

'tagli sulla mano' (Qui "tagli" è un sostantivo) 
'taglia un ananas' (Qui, 'tagliare' è un verbo)

Cos'è un analizzatore??

Il parser viene utilizzato per implementare l'attività di analisi.

Ora, vediamo cos'è esattamente un parser.

È definito come il componente software progettato per acquisire dati di testo in input e fornisce una rappresentazione strutturale dell'input dopo aver verificato la sintassi corretta con l'aiuto della grammatica formale. Genera anche una struttura dati generalmente sotto forma di albero di analisi o albero di sintassi astratto o altra struttura gerarchica..

top2bdown2bparsing-1037540

Fonte immagine: Google Immagini

Possiamo comprendere l'importanza dell'analisi in PNL con l'aiuto dei seguenti punti:

  • Il parser può essere utilizzato per segnalare eventuali errori di sintassi.
  • Aiuta a recuperare dagli errori più comuni in modo che l'elaborazione del resto del programma possa continuare.
  • Un albero di analisi viene creato con l'aiuto di un parser.
  • Il parser viene utilizzato per creare una tabella dei simboli, che svolge un ruolo importante nella PNL.
  • Un parser viene utilizzato anche per produrre rappresentazioni intermedie (IR).

Diversi tipi di analizzatori

Come discusso, Fondamentalmente, un parser è un'interpretazione procedurale della grammatica. Prova a trovare un albero ottimale per una particolare frase dopo aver cercato nello spazio una varietà di alberi.

Diamo un'occhiata ad alcuni degli analizzatori disponibili:

  • Analizzatore ricorsivo di discesa
  • Analizzatore di riduzione dei casi
  • Analizzatore grafico
  • Analizzatore di espressioni regolari

Analizzatore ricorsivo di discesa

È una delle forme più semplici di analisi. Alcuni punti importanti sul parser di discesa ricorsivo sono i seguenti:

  • Segui un processo dall'alto verso il basso.
  • Prova a verificare se la sintassi del flusso di input è corretta o meno.
  • Scansiona il testo inserito da sinistra a destra.
  • L'operazione richiesta per questo tipo di parser è quella di scansionare i caratteri dal flusso di input e metterli in relazione con i terminali con l'aiuto della grammatica..

Analizzatore di riduzione dei casi

Alcuni dei punti importanti sul parser shift-reduce sono i seguenti:

  • Segui un semplice processo dal basso verso l'alto.
  • Il tuo obiettivo è trovare la sequenza di parole e frasi che corrisponde al lato destro di una produzione grammaticale e sostituirle con il lato sinistro della produzione.
  • Prova a trovare una sequenza di parole che continua finché l'intera frase non viene abbreviata.
  • In parole semplici, questo parser inizia con il simbolo di input e mira a costruire l'albero del parser fino al simbolo di inizio.

Analizzatore grafico

Alcuni dei punti importanti sull'analizzatore di grafici sono i seguenti:

  • Fondamentalmente, questo parser è utile per grammatiche ambigue, comprese le grammatiche del linguaggio naturale.
  • Applica il concetto di programmazione dinamica ai problemi di analisi.
  • Grazie alla programmazione dinamica, memorizza risultati ipotetici parziali in una struttura chiamata “grafico”.
  • La grafica’ può anche essere riutilizzato in diversi scenari.

Analizzatore di espressioni regolari

È uno dei parser più utilizzati. Alcuni dei punti importanti sull'analizzatore Regexp sono i seguenti:

  • Utilizza un'espressione regolare definita in forma grammaticale all'inizio di una stringa etichettata POS.
  • Fondamentalmente, usa queste espressioni regolari per analizzare le frasi di input e produrre un albero di analisi da questo.

Cos'è il bypass??

Abbiamo bisogno di una sequenza di regole di produzione per ottenere la stringa di input. La derivazione è un insieme di regole di produzione. Durante l'analisi, dobbiamo decidere il non terminale, che sarà sostituito insieme alla decisione del regolamento di produzione con l'aiuto del quale verrà sostituito il non terminale.

Tipi di bypass

In questa sezione, parleremo dei due tipi di derivazioni, che può essere utilizzato per decidere quale non terminale sostituire con la regola di produzione:

Bypassare più a sinistra

Nella tangenziale più a sinistra, il modulo enunciativo di input viene scansionato e sostituito da sinistra a destra. In questo caso, la forma della frase è conosciuta come la forma della frase sinistra.

Bypass più a destra

Nella tangenziale più a sinistra, il modulo della frase di input viene scansionato e sostituito da destra a sinistra. In questo caso, la forma della frase è chiamata la forma della frase giusta.

Tipi di analisi

La derivazione divide l'analisi nei seguenti due tipi:

compilatore-design-analisi-tipi-1864964

Fonte immagine: Google Immagini

Analisi dall'alto verso il basso

Nell'analisi dall'alto verso il basso, il parser inizia a produrre l'albero di analisi dal simbolo di inizio e quindi prova a trasformare il simbolo di inizio in input. La forma più comune di analisi top-down utilizza la procedura ricorsiva per elaborare l'input, ma il suo principale svantaggio è Indietro.

Analisi dal basso

Nell'analisi dal basso verso l'alto, il parser inizia a lavorare con il simbolo di input e prova a costruire l'albero del parser fino al simbolo di inizio.

Cos'è un albero di analisi??

Rappresenta la rappresentazione grafica di una derivazione. Il simbolo di inizio della derivazione è considerato il nodo radice dell'albero di analisi e i nodi foglia sono terminali e i nodi interni sono non terminali.

La proprietà più utile dell'albero di analisi è che giro in ordine dall'albero produrrà la stringa di input originale.

Ad esempio, Considera la seguente frase:

Frase: il cane ha visto un uomo nel parco

Dopo aver analizzato la frase, l'albero di analisi generato è mostrato sotto:

ch08-tree-4-2877785

Fonte immagine: Google Immagini

Questo finisce la nostra parte 11 dalla serie di blog sull'elaborazione del linguaggio naturale!

Altri miei post sul blog

Puoi anche dare un'occhiata ai miei precedenti post sul blog.

Post precedenti del blog sulla scienza dei dati.

LinkedIn

Ecco qui il mio profilo Linkedin nel caso tu voglia connetterti con me. Sarò felice di essere connesso con te.

E-mail

Per qualsiasi domanda, puoi scrivermi a Gmail.

Note finali

Grazie per aver letto!

Spero che l'articolo ti sia piaciuto. Se ti piace, condividilo anche con i tuoi amici. Tutto ciò che non è stato menzionato o vuoi condividere i tuoi pensieri? Sentiti libero di commentare qui sotto e ti ricontatterò. ?

Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.