Differenza tra grammatica regolare e grammatica Context-Free

June 17

Differenza tra grammatica regolare e grammatica Context-Free


Grammatica significa qualcosa di molto diverso da linguisti e programmatori di computer di quanto non faccia ai più. Mentre la maggior parte di noi pensa di grammatica come un insieme di regole di galateo per l'uso del linguaggio socialmente accettabile, linguisti e programmatori pensano di grammatica come qualcosa di molto più potente: L'insieme di regole in grado di generare ogni e tutte le possibili espressioni in un dato reale o artificiale lingua o frammento di una lingua. grammatiche regolari e context-free sono i due logicamente possibili tipi di grammatica e differiscono l'uno dall'altro nel tipo di regole che consentono ed i tipi di espressioni che possono produrre.

origini

Il linguista Noam Chomsky ha sviluppato le nozioni di grammatica context-libere e regolari nel suo 1959 opera "su certe proprietà formali delle grammatiche". Si pone l'esistenza di diversi tipi di grammatica di base, che si differenziano tra loro in termini di complessità delle espressioni linguistiche possono produrre. grammatiche regolari sono più semplici e meno produttivi di grammatiche context-free.

Differenza tra le regole

grammatiche regolari e context-free si differenziano per i tipi di regole che consentono. Le regole di grammatiche context-free permettono possibili frasi come combinazioni di parole singole indipendenti (che Chomsky chiama "terminali") e gruppi di parole (frasi o quello che Chomsky chiama "non-terminali"). Grammatiche context-free consentono singole parole e frasi in qualsiasi ordine e permettono frasi con qualsiasi numero di singole parole e frasi. grammatiche regolari, invece, consentono solo parole individuo con una singola frase per frase. Inoltre, frasi in grammatiche regolari devono apparire nella stessa posizione in ogni frase o una frase, generato dalla grammatica.

strutture

Perché grammatiche context-free consentono una più ampia gamma di regole di grammatiche regolari, possono generare una più ampia gamma di strutture di grammatiche regolari. Per esempio, essi possono coinvolgere diverse possibili strutture di frasi, come "una ragazza di città con problemi di soldi" (qui, le strutture variano a seconda se "con problemi di soldi" descrive la città o la ragazza). grammatiche regolari non possono fare this.Rather, si può generare solo espressioni semplici costituite da stringhe di singole parole, strutturalmente indipendenti e, eventualmente, una sola frase più grande (come "persone molto, molto intelligenti").

usi

Grammatiche context-free sono usati in elaborazione del linguaggio naturale per generare e analizzare i dati di lingua perché possono catturare molte delle caratteristiche della nozione di linguaggio umano, come ad esempio il loro potenziale per le strutture infinitamente ricorsive. grammatiche regolari, che generano solo un sottoinsieme delle espressioni di grammatiche context-free, sono utilizzati anche per l'elaborazione del linguaggio naturale. Tuttavia, essi possono solo replicare o di processo breve e grammaticalmente semplici espressioni linguistiche, come brevi espressioni tipicamente presenti nel dialogo informale.