Elaborazione del linguaggio naturale - Guida rapida
La lingua è un metodo di comunicazione con l'aiuto del quale possiamo parlare, leggere e scrivere. Ad esempio, pensiamo, prendiamo decisioni, piani e altro nel linguaggio naturale; precisamente, a parole. Tuttavia, la grande domanda che ci pone di fronte in questa era dell'intelligenza artificiale è che possiamo comunicare in modo simile con i computer. In altre parole, gli esseri umani possono comunicare con i computer nel loro linguaggio naturale? È una sfida per noi sviluppare applicazioni NLP perché i computer hanno bisogno di dati strutturati, ma il linguaggio umano è non strutturato e spesso di natura ambigua.
In questo senso, possiamo dire che il Natural Language Processing (NLP) è il sottocampo dell'Informatica, in particolare l'Intelligenza Artificiale (AI) che si occupa di consentire ai computer di comprendere ed elaborare il linguaggio umano. Tecnicamente, il compito principale della PNL sarebbe programmare i computer per analizzare ed elaborare enormi quantità di dati in linguaggio naturale.
Storia della PNL
Abbiamo diviso la storia della PNL in quattro fasi. Le fasi hanno interessi e stili distintivi.
Prima fase (fase di traduzione automatica): dalla fine degli anni '40 alla fine degli anni '60
Il lavoro svolto in questa fase si è concentrato principalmente sulla traduzione automatica (MT). Questa fase è stata un periodo di entusiasmo e ottimismo.
Vediamo ora tutto ciò che la prima fase aveva in esso -
La ricerca sulla PNL è iniziata all'inizio degli anni '50 dopo le indagini di Booth & Richens e il memorandum di Weaver sulla traduzione automatica nel 1949.
Il 1954 fu l'anno in cui un esperimento limitato sulla traduzione automatica dal russo all'inglese dimostrò nell'esperimento Georgetown-IBM.
Nello stesso anno è iniziata la pubblicazione della rivista MT (Machine Translation).
La prima conferenza internazionale sulla traduzione automatica (MT) si è tenuta nel 1952 e la seconda nel 1956.
Nel 1961, il lavoro presentato alla Teddington International Conference on Machine Translation of Languages and Applied Language Analysis fu il punto culminante di questa fase.
Seconda fase (fase influenzata dall'IA): dalla fine degli anni '60 alla fine degli anni '70
In questa fase, il lavoro svolto è stato principalmente correlato alla conoscenza del mondo e al suo ruolo nella costruzione e manipolazione delle rappresentazioni di significato. Ecco perché questa fase è anche chiamata fase aromatizzata all'IA.
La fase aveva in esso, quanto segue:
All'inizio del 1961, iniziò il lavoro sui problemi di affrontare e costruire dati o basi di conoscenza. Questo lavoro è stato influenzato dall'intelligenza artificiale.
Nello stesso anno è stato sviluppato anche un sistema di risposta alle domande BASEBALL. L'input a questo sistema era limitato e l'elaborazione del linguaggio coinvolta era semplice.
Un sistema molto avanzato è stato descritto in Minsky (1968). Questo sistema, rispetto al sistema di risposta alle domande BASEBALL, è stato riconosciuto e fornito per la necessità di inferenza sulla base di conoscenza nell'interpretare e rispondere all'input linguistico.
Terza fase (fase grammatico-logica): dalla fine degli anni '70 alla fine degli anni '80
Questa fase può essere descritta come la fase grammatico-logica. A causa del fallimento della costruzione pratica del sistema nell'ultima fase, i ricercatori si sono spostati verso l'uso della logica per la rappresentazione della conoscenza e il ragionamento nell'IA.
La terza fase ha avuto quanto segue:
L'approccio grammatico-logico, verso la fine del decennio, ci ha aiutato con potenti elaboratori di frasi generici come Core Language Engine e Teoria di rappresentazione del discorso di SRI, che hanno offerto un mezzo per affrontare un discorso più esteso.
In questa fase abbiamo alcune risorse e strumenti pratici come parser, ad es. Alvey Natural Language Tools insieme a sistemi più operativi e commerciali, ad es. Per query su database.
Anche il lavoro sul lessico negli anni '80 puntava nella direzione dell'approccio grammatico-logico.
Quarta fase (Lexical & Corpus Phase) - Gli anni '90
Possiamo descriverlo come una fase lessicale e corpus. La fase aveva un approccio lessicale alla grammatica che apparve alla fine degli anni '80 e divenne un'influenza crescente. C'è stata una rivoluzione nell'elaborazione del linguaggio naturale in questo decennio con l'introduzione di algoritmi di apprendimento automatico per l'elaborazione del linguaggio.
Studio delle lingue umane
La lingua è una componente cruciale per la vita umana e anche l'aspetto più fondamentale del nostro comportamento. Possiamo sperimentarlo principalmente in due forme: scritta e parlata. Nella forma scritta, è un modo per trasmettere la nostra conoscenza da una generazione all'altra. Nella forma parlata, è il mezzo principale per cui gli esseri umani si coordinano tra loro nel loro comportamento quotidiano. La lingua è studiata in varie discipline accademiche. Ogni disciplina viene fornita con la propria serie di problemi e una serie di soluzioni per affrontarli.
Considera la seguente tabella per capirlo:
Disciplina | I problemi | Utensili |
---|---|---|
Linguisti |
Come si possono formare frasi e frasi con le parole? Cosa limita il possibile significato di una frase? |
Intuizioni sulla buona formazione e sul significato. Modello matematico di struttura. Ad esempio, semantica teorica del modello, teoria del linguaggio formale. |
Psicolinguisti |
Come gli esseri umani possono identificare la struttura delle frasi? Come si identifica il significato delle parole? Quando avviene la comprensione? |
Tecniche sperimentali principalmente per misurare le prestazioni degli esseri umani. Analisi statistica delle osservazioni. |
Filosofi |
In che modo le parole e le frasi acquisiscono il significato? Come vengono identificati gli oggetti dalle parole? Che significa? |
Argomentazione in linguaggio naturale usando l'intuizione. Modelli matematici come logica e teoria dei modelli. |
Linguisti computazionali |
Come possiamo identificare la struttura di una frase Come modellare la conoscenza e il ragionamento? Come possiamo usare il linguaggio per svolgere compiti specifici? |
Algoritmi Strutture dati Modelli formali di rappresentazione e ragionamento. Tecniche di intelligenza artificiale come metodi di ricerca e rappresentazione. |
Ambiguità e incertezza nel linguaggio
L'ambiguità, generalmente utilizzata nell'elaborazione del linguaggio naturale, può essere definita come la capacità di essere compresi in più di un modo. In termini semplici, possiamo dire che l'ambiguità è la capacità di essere compresi in più di un modo. Il linguaggio naturale è molto ambiguo. La PNL ha i seguenti tipi di ambiguità:
Ambiguità lessicale
L'ambiguità di una singola parola è chiamata ambiguità lessicale. Ad esempio, trattare la parolasilver come un nome, un aggettivo o un verbo.
Ambiguità sintattica
Questo tipo di ambiguità si verifica quando una frase viene analizzata in modi diversi. Ad esempio, la frase "L'uomo ha visto la ragazza con il telescopio". È ambiguo se l'uomo ha visto la ragazza che portava un telescopio o l'ha vista attraverso il suo telescopio.
Ambiguità semantica
Questo tipo di ambiguità si verifica quando il significato delle parole stesse può essere interpretato male. In altre parole, l'ambiguità semantica si verifica quando una frase contiene una parola o una frase ambigua. Ad esempio, la frase "L'auto ha colpito il palo mentre era in movimento" sta avendo ambiguità semantica perché le interpretazioni possono essere "L'auto, mentre si muove, colpisce il palo" e "L'auto ha colpito il palo mentre il palo era in movimento".
Ambiguità anaforica
Questo tipo di ambiguità sorge a causa dell'uso di entità anafora nel discorso. Ad esempio, il cavallo è corso su per la collina. Era molto ripido. Si è presto stancato. Qui, il riferimento anaforico di "esso" in due situazioni causa ambiguità.
Ambiguità pragmatica
Questo tipo di ambiguità si riferisce alla situazione in cui il contesto di una frase le fornisce molteplici interpretazioni. In parole semplici, possiamo dire che l'ambiguità pragmatica sorge quando l'affermazione non è specifica. Ad esempio, la frase "mi piaci anche tu" può avere più interpretazioni come mi piaci (proprio come piaccio a te), mi piaci (proprio come la dose di qualcun altro).
Fasi della PNL
Il diagramma seguente mostra le fasi o passaggi logici nell'elaborazione del linguaggio naturale:
Elaborazione morfologica
È la prima fase della PNL. Lo scopo di questa fase è suddividere porzioni di input linguistico in set di token corrispondenti a paragrafi, frasi e parole. Ad esempio, una parola come“uneasy” può essere suddiviso in due sotto-parole come “un-easy”.
Analisi della sintassi
È la seconda fase della PNL. Lo scopo di questa fase è duplice: verificare che una frase sia ben formata o meno e scomporla in una struttura che mostri le relazioni sintattiche tra le diverse parole. Ad esempio, la frase come“The school goes to the boy” verrebbe rifiutato dall'analizzatore di sintassi o dal parser.
Analisi semantica
È la terza fase della PNL. Lo scopo di questa fase è trarre il significato esatto, oppure puoi dire il significato del dizionario dal testo. Viene verificata la significatività del testo. Ad esempio, l'analizzatore semantico rifiuterà una frase come "Gelato caldo".
Analisi pragmatica
È la quarta fase della PNL. L'analisi pragmatica si adatta semplicemente agli oggetti / eventi reali, che esistono in un dato contesto con riferimenti agli oggetti ottenuti durante l'ultima fase (analisi semantica). Ad esempio, la frase "Metti la banana nel cestino sullo scaffale" può avere due interpretazioni semantiche e l'analizzatore pragmatico sceglierà tra queste due possibilità.
In questo capitolo apprenderemo le risorse linguistiche nell'elaborazione del linguaggio naturale.
Corpus
Un corpus è un insieme ampio e strutturato di testi leggibili da una macchina che sono stati prodotti in un contesto comunicativo naturale. Il suo plurale è corpora. Possono essere derivati in diversi modi come il testo che era originariamente elettronico, le trascrizioni della lingua parlata e il riconoscimento ottico dei caratteri, ecc.
Elementi di Corpus Design
Il linguaggio è infinito ma un corpus deve essere di dimensioni finite. Affinché il corpus sia di dimensioni finite, è necessario campionare e includere proporzionalmente un'ampia gamma di tipi di testo per garantire un buon design del corpus.
Vediamo ora di conoscere alcuni elementi importanti per la progettazione del corpus:
Rappresentatività del corpo
La rappresentatività è una caratteristica distintiva del design del corpus. Le seguenti definizioni di due grandi ricercatori - Leech e Biber, ci aiuteranno a comprendere la rappresentatività del corpus -
According to Leech (1991), "Si ritiene che un corpus sia rappresentativo della varietà linguistica che si suppone rappresenti se i risultati basati sui suoi contenuti possono essere generalizzati a detta varietà linguistica".
According to Biber (1993), "La rappresentatività si riferisce alla misura in cui un campione include l'intera gamma di variabilità in una popolazione".
In questo modo, possiamo concludere che la rappresentatività di un corpus è determinata dai seguenti due fattori:
Balance - La gamma di genere include in un corpus
Sampling - Come vengono selezionati i pezzi per ogni genere.
Equilibrio corporeo
Un altro elemento molto importante del design del corpus è l'equilibrio del corpus, la gamma di generi inclusi in un corpus. Abbiamo già studiato che la rappresentatività di un corpus generale dipende da quanto è equilibrato il corpus. Un corpus equilibrato copre una vasta gamma di categorie di testo, che dovrebbero essere rappresentanti della lingua. Non abbiamo alcuna misura scientifica affidabile per l'equilibrio, ma la migliore stima e intuizione funziona in questo senso. In altre parole, possiamo dire che l'equilibrio accettato è determinato solo dagli usi previsti.
Campionamento
Un altro elemento importante del design del corpus è il campionamento. La rappresentatività e l'equilibrio del corpo sono strettamente associati al campionamento. Questo è il motivo per cui possiamo dire che il campionamento è inevitabile nella costruzione del corpus.
Secondo Biber(1993), "Alcune delle prime considerazioni nella costruzione di un corpus riguardano il design complessivo: ad esempio, i tipi di testi inclusi, il numero di testi, la selezione di testi particolari, la selezione di campioni di testo all'interno dei testi e la lunghezza del testo campioni. Ognuno di questi implica una decisione di campionamento, consapevole o meno. "
Pur ottenendo un campione rappresentativo, dobbiamo considerare quanto segue:
Sampling unit- Si riferisce all'unità che richiede un campione. Ad esempio, per il testo scritto, un'unità di campionamento può essere un giornale, una rivista o un libro.
Sampling frame - L'elenco di tutte le unità di campionamento è chiamato frame di campionamento.
Population- Può essere indicato come l'assemblaggio di tutte le unità di campionamento. È definito in termini di produzione linguistica, ricezione linguistica o linguaggio come prodotto.
Dimensione del corpo
Un altro elemento importante del design del corpus è la sua dimensione. Quanto dovrebbe essere grande il corpus? Non esiste una risposta specifica a questa domanda. La dimensione del corpus dipende dallo scopo per il quale è destinato nonché da alcune considerazioni pratiche come segue:
Tipo di query anticipata dall'utente.
La metodologia utilizzata dagli utenti per studiare i dati.
Disponibilità della fonte dei dati.
Con il progresso della tecnologia, aumenta anche la dimensione del corpo. La seguente tabella di confronto ti aiuterà a capire come funziona la dimensione del corpo:
Anno | Nome del corpo | Dimensioni (in parole) |
---|---|---|
Anni '60 -'70 | Brown e LOB | 1 milione di parole |
Anni '80 | I corpora di Birmingham | 20 milioni di parole |
Anni '90 | Il corpus nazionale britannico | 100 milioni di parole |
All'inizio 21 ° secolo | Il corpus della Bank of English | 650 milioni di parole |
Nelle nostre sezioni successive, esamineremo alcuni esempi di corpus.
TreeBank Corpus
Può essere definito come un corpus di testo analizzato linguisticamente che annota la struttura della frase sintattica o semantica. Geoffrey Leech ha coniato il termine "treebank", che rappresenta che il modo più comune di rappresentare l'analisi grammaticale è per mezzo di una struttura ad albero. Generalmente, i banchi degli alberi vengono creati sulla parte superiore di un corpus, che è già stato annotato con tag di parte del discorso.
Tipi di TreeBank Corpus
I banchi degli alberi semantici e sintattici sono i due tipi più comuni di banchi degli alberi in linguistica. Vediamo ora di saperne di più su questi tipi:
Semantic Treebanks
Questi Treebank utilizzano una rappresentazione formale della struttura semantica della frase. Variano nella profondità della loro rappresentazione semantica. Comandi robot Treebank, Geoquery, Groningen Significato Bank, RoboCup Corpus sono alcuni degli esempi di Semantic Treebanks.
Treebanks sintattici
Opposto ai Treebank semantici, gli input ai sistemi Syntactic Treebank sono espressioni del linguaggio formale ottenuto dalla conversione dei dati di Treebank analizzati. Gli output di tali sistemi sono rappresentazioni del significato basate sulla logica dei predicati. Finora sono stati creati vari Treebank sintattici in diverse lingue. Per esempio,Penn Arabic Treebank, Columbia Arabic Treebank sono Treebank sintattici creati in lingua araba. Sininca Treebank sintattico creato in lingua cinese. Lucy, Susane e BLLIP WSJ corpus sintattico creato in lingua inglese.
Applicazioni di TreeBank Corpus
Di seguito sono riportate alcune delle applicazioni di TreeBanks:
In linguistica computazionale
Se parliamo di linguistica computazionale, il miglior uso di TreeBanks è quello di progettare sistemi di elaborazione del linguaggio naturale all'avanguardia come tagger di parti del discorso, parser, analizzatori semantici e sistemi di traduzione automatica.
In Corpus Linguistics
Nel caso della linguistica Corpus, il miglior uso di Treebanks è studiare i fenomeni sintattici.
In Linguistica teorica e psicolinguistica
Il miglior uso di Treebanks in teoria e psicolinguistica è l'evidenza di interazione.
PropBank Corpus
PropBank più specificamente chiamato "Proposition Bank" è un corpus, che è annotato con proposizioni verbali e le loro argomentazioni. Il corpus è una risorsa orientata ai verbi; le annotazioni qui sono più strettamente correlate al livello sintattico. Martha Palmer et al., Department of Linguistic, University of Colorado Boulder lo hanno sviluppato. Possiamo usare il termine PropBank come nome comune che si riferisce a qualsiasi corpus che è stato annotato con proposizioni e loro argomenti.
In Natural Language Processing (NLP), il progetto PropBank ha svolto un ruolo molto significativo. Aiuta nell'etichettatura semantica dei ruoli.
VerbNet (VN)
VerbNet (VN) è la risorsa lessicale indipendente dal dominio gerarchico e più grande presente in inglese che incorpora informazioni sia semantiche che sintattiche sui suoi contenuti. VN è un lessico verbale ad ampia copertura con mappature ad altre risorse lessicali come WordNet, Xtag e FrameNet. È organizzato in classi di verbi che estendono le classi di Levin per perfezionamento e aggiunta di sottoclassi per ottenere coerenza sintattica e semantica tra i membri della classe.
Ogni classe VerbNet (VN) contiene -
Un insieme di descrizioni sintattiche o frame sintattici
Per rappresentare le possibili realizzazioni superficiali della struttura dell'argomento per costruzioni come frasi transitive, intransitive, preposizionali, risultative e un ampio insieme di alternanze di diatesi.
Un insieme di descrizioni semantiche come animate, human, organization
Per vincolare, i tipi di ruoli tematici consentiti dagli argomenti e ulteriori restrizioni possono essere imposte. Ciò aiuterà a indicare la natura sintattica del costituente che può essere associato al ruolo tematico.
WordNet
WordNet, creato da Princeton è un database lessicale per la lingua inglese. È la parte del corpus NLTK. In WordNet, nomi, verbi, aggettivi e avverbi sono raggruppati in insiemi di sinonimi cognitivi chiamatiSynsets. Tutti i synset sono collegati con l'ausilio di relazioni concettuale-semantiche e lessicali. La sua struttura lo rende molto utile per l'elaborazione del linguaggio naturale (PNL).
Nei sistemi informativi, WordNet viene utilizzato per vari scopi come disambiguazione del senso delle parole, recupero di informazioni, classificazione automatica del testo e traduzione automatica. Uno degli usi più importanti di WordNet è scoprire la somiglianza tra le parole. Per questa attività, sono stati implementati vari algoritmi in vari pacchetti come Similarity in Perl, NLTK in Python e ADW in Java.
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, usando 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, ovvero {ε, 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 in 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 l'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 dell'FSA che dell'espressione regolare.
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 l'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 l'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 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à.
L'analisi sintattica o parsing o analisi della sintassi è la terza fase della PNL. Lo scopo di questa fase è trarre il significato esatto, oppure puoi dire il significato del dizionario dal testo. L'analisi della sintassi controlla la significatività del testo rispetto alle regole della grammatica formale. Ad esempio, la frase come "gelato caldo" verrebbe rifiutata dall'analizzatore semantico.
In questo senso, l'analisi sintattica o parsing può essere definita come il processo di analisi delle stringhe di simboli in linguaggio naturale conforme alle regole della grammatica formale. L'origine della parola‘parsing’ è dalla parola latina ‘pars’ che significa ‘part’.
Concetto di parser
Viene utilizzato per implementare l'attività di analisi. Può essere definito come il componente software progettato per prendere dati di input (testo) e fornire una rappresentazione strutturale dell'input dopo aver verificato la sintassi corretta secondo la grammatica formale. Costruisce inoltre una struttura dati generalmente sotto forma di albero di analisi o albero di sintassi astratto o altra struttura gerarchica.
I ruoli principali dell'analisi includono:
Per segnalare eventuali errori di sintassi.
Per recuperare da errori che si verificano comunemente in modo che l'elaborazione del resto del programma possa essere continuata.
Per creare un albero di analisi.
Per creare una tabella dei simboli.
Per produrre rappresentazioni intermedie (IR).
Tipi di analisi
La derivazione divide l'analisi nei seguenti due tipi:
Analisi dall'alto verso il basso
Analisi dal basso verso l'alto
Analisi dall'alto verso il basso
In questo tipo di analisi, il parser inizia a costruire l'albero di analisi dal simbolo di inizio e quindi cerca di trasformare il simbolo di inizio nell'input. La forma più comune di analisi topdown utilizza la procedura ricorsiva per elaborare l'input. Il principale svantaggio dell'analisi discendente ricorsiva è il backtracking.
Analisi dal basso verso l'alto
In questo tipo di analisi, il parser inizia con il simbolo di input e cerca di costruire l'albero del parser fino al simbolo di inizio.
Concetto di derivazione
Per ottenere la stringa di input, abbiamo bisogno di una sequenza di regole di produzione. La derivazione è un insieme di regole di produzione. Durante l'analisi, dobbiamo decidere il non terminale, che deve essere sostituito insieme alla decisione della regola di produzione con l'aiuto del quale verrà sostituito il non terminale.
Tipi di derivazione
In questa sezione apprenderemo i due tipi di derivazioni, che possono essere utilizzate per decidere quale non terminale sostituire con la regola di produzione -
Derivazione più a sinistra
Nella derivazione più a sinistra, la forma sentenziale di un input viene scansionata e sostituita da sinistra a destra. La forma sentenziale in questo caso è chiamata la forma sentenziale sinistra.
Derivazione più a destra
Nella derivazione più a sinistra, la forma sentenziale di un input viene scansionata e sostituita da destra a sinistra. La forma sentenziale in questo caso è chiamata la forma sentenziale destra.
Concetto di Parse Tree
Può essere definita come la rappresentazione grafica di una derivazione. Il simbolo iniziale di derivazione funge da radice dell'albero di analisi. In ogni albero di analisi, i nodi foglia sono terminali e i nodi interni non sono terminali. Una proprietà dell'albero di analisi è che l'attraversamento in ordine produrrà la stringa di input originale.
Concetto di grammatica
La grammatica è molto essenziale e importante per descrivere la struttura sintattica di programmi ben formati. In senso letterario, denotano regole sintattiche per la conversazione nelle lingue naturali. La linguistica ha tentato di definire le grammatiche sin dall'inizio delle lingue naturali come l'inglese, l'hindi, ecc.
La teoria dei linguaggi formali è applicabile anche nei settori dell'Informatica principalmente nei linguaggi di programmazione e nella struttura dei dati. Ad esempio, nel linguaggio "C", le regole grammaticali precise stabiliscono come vengono create le funzioni da elenchi e istruzioni.
Un modello matematico di grammatica è stato fornito da Noam Chomsky nel 1956, efficace per la scrittura di linguaggi informatici.
Matematicamente, una grammatica G può essere formalmente scritta come una tupla di 4 (N, T, S, P) dove -
N o VN = insieme di simboli non terminali, cioè variabili.
T o ∑ = set di simboli terminali.
S = Simbolo iniziale dove S ∈ N
Pdenota le regole di produzione per i terminali e per i non terminali. Ha la forma α → β, dove α e β sono stringhe su V N ∪ ∑ e almeno un simbolo di α appartiene a V N
Struttura della frase o grammatica di circoscrizione
La grammatica della struttura delle frasi, introdotta da Noam Chomsky, si basa sulla relazione di circoscrizione. Questo è il motivo per cui è anche chiamata grammatica del collegio elettorale. È l'opposto della grammatica delle dipendenze.
Esempio
Prima di dare un esempio di grammatica di collegio, dobbiamo conoscere i punti fondamentali sulla grammatica di collegio elettorale e sulla relazione di collegio.
Tutti i framework correlati visualizzano la struttura della frase in termini di relazione di circoscrizione.
La relazione di circoscrizione deriva dalla divisione soggetto-predicato del latino e dalla grammatica greca.
La struttura della clausola di base è intesa in termini di noun phrase NP e verb phrase VP.
Possiamo scrivere la frase “This tree is illustrating the constituency relation” come segue -
Grammatica delle dipendenze
È opposto alla grammatica del collegio elettorale e basato sulla relazione di dipendenza. È stato introdotto da Lucien Tesniere. La grammatica delle dipendenze (DG) è opposta alla grammatica dei collegi perché manca di nodi frasali.
Esempio
Prima di dare un esempio di grammatica delle dipendenze, è necessario conoscere i punti fondamentali sulla grammatica delle dipendenze e sulla relazione di dipendenza.
In DG, le unità linguistiche, cioè le parole sono collegate tra loro da collegamenti diretti.
Il verbo diventa il centro della struttura della clausola.
Ogni altra unità sintattica è collegata al verbo in termini di collegamento diretto. Queste unità sintattiche sono chiamatedependencies.
Possiamo scrivere la frase “This tree is illustrating the dependency relation” come segue;
L'albero di analisi che utilizza la grammatica del collegio elettorale è chiamato albero di analisi basato sulla circoscrizione; e l'albero di analisi che utilizza la grammatica delle dipendenze è chiamato albero di analisi basato sulle dipendenze.
Grammatica libera dal contesto
La grammatica libera dal contesto, chiamata anche CFG, è una notazione per descrivere le lingue e un superset della grammatica regolare. Può essere visto nel diagramma seguente:
Definizione CFG
CFG consiste in un insieme finito di regole grammaticali con i seguenti quattro componenti:
Set di non terminali
È indicato con V. I non terminali sono variabili sintattiche che denotano gli insiemi di stringhe, che aiutano ulteriormente a definire il linguaggio, generato dalla grammatica.
Set di terminali
È anche chiamato token e definito da Σ. Le stringhe sono formate con i simboli di base dei terminali.
Set di produzioni
È indicato con P. L'insieme definisce come possono essere combinati i terminali e i non terminali. Ogni produzione (P) è composta da non terminali, una freccia e terminali (la sequenza di terminali). I non terminali sono chiamati il lato sinistro della produzione ei terminali sono chiamati il lato destro della produzione.
Simbolo di inizio
La produzione inizia dal simbolo di inizio. È indicato dal simbolo S. Il simbolo non terminale è sempre indicato come simbolo di inizio.
Lo scopo dell'analisi semantica è trarre il significato esatto, oppure puoi dire il significato del dizionario dal testo. Il lavoro dell'analizzatore semantico è controllare la significatività del testo.
Sappiamo già che l'analisi lessicale si occupa anche del significato delle parole, allora in che modo l'analisi semantica è diversa dall'analisi lessicale? L'analisi lessicale si basa su token più piccoli ma dall'altra parte l'analisi semantica si concentra su blocchi più grandi. Questo è il motivo per cui l'analisi semantica può essere suddivisa nelle seguenti due parti:
Studiare il significato della singola parola
È la prima parte dell'analisi semantica in cui viene eseguito lo studio del significato delle singole parole. Questa parte è chiamata semantica lessicale.
Studiare la combinazione di singole parole
Nella seconda parte, le singole parole verranno combinate per fornire un significato nelle frasi.
Il compito più importante dell'analisi semantica è ottenere il significato corretto della frase. Ad esempio, analizza la frase“Ram is great.”In questa frase, l'oratore parla di Lord Ram o di una persona il cui nome è Ram. Ecco perché il lavoro, per ottenere il giusto significato della frase, dell'analizzatore semantico è importante.
Elementi di analisi semantica
Di seguito sono riportati alcuni elementi importanti dell'analisi semantica:
Iponimia
Può essere definito come la relazione tra un termine generico e le istanze di quel termine generico. Qui il termine generico è chiamato hypernym e le sue istanze sono chiamate iponimi. Ad esempio, la parola colore è un ipernimo e il colore blu, giallo ecc. Sono iponimi.
Omonimia
Può essere definito come le parole che hanno la stessa ortografia o la stessa forma ma hanno un significato diverso e non correlato. Ad esempio, la parola "pipistrello" è una parola omonimica perché il pipistrello può essere uno strumento per colpire una palla o anche il pipistrello è un mammifero volante notturno.
Polysemy
Polysemy è una parola greca, che significa "molti segni". È una parola o una frase con un senso diverso ma correlato. In altre parole, possiamo dire che la polisemia ha la stessa ortografia ma un significato diverso e correlato. Ad esempio, la parola "banca" è una parola polisemica con i seguenti significati:
Un istituto finanziario.
L'edificio in cui si trova tale istituzione.
Sinonimo di “fare affidamento”.
Differenza tra polisemia e omonimia
Entrambe le parole di polisemia e omonimia hanno la stessa sintassi o ortografia. La principale differenza tra loro è che nella polisemia i significati delle parole sono correlati ma nell'omonimia i significati delle parole non sono correlati. Ad esempio, se parliamo della stessa parola "banca", possiamo scrivere il significato "un istituto finanziario" o "una riva del fiume". In tal caso sarebbe l'esempio di omonimo perché i significati sono estranei tra loro.
Sinonimo
È la relazione tra due elementi lessicali aventi forme diverse ma che esprimono lo stesso o un significato stretto. Esempi sono "autore / scrittore", "destino / destino".
Antonymy
È la relazione tra due elementi lessicali che hanno simmetria tra le loro componenti semantiche rispetto a un asse. Lo scopo dell'antonimo è il seguente:
Application of property or not - L'esempio è "vita / morte", "certezza / incertezza"
Application of scalable property - L'esempio è "ricco / povero", "caldo / freddo"
Application of a usage - L'esempio è "padre / figlio", "luna / sole".
Rappresentazione di significato
L'analisi semantica crea una rappresentazione del significato di una frase. Ma prima di entrare nel concetto e negli approcci relativi alla rappresentazione del significato, dobbiamo comprendere gli elementi costitutivi del sistema semantico.
Elementi costitutivi del sistema semantico
Nella rappresentazione o rappresentazione del significato delle parole, i seguenti elementi costitutivi svolgono un ruolo importante:
Entities- Rappresenta l'individuo come una particolare persona, luogo ecc. Ad esempio, Haryana. India, Ram sono tutte entità.
Concepts - Rappresenta la categoria generale degli individui come una persona, una città, ecc.
Relations- Rappresenta la relazione tra entità e concetto. Ad esempio, Ram è una persona.
Predicates- Rappresenta le strutture dei verbi. Ad esempio, i ruoli semantici e la grammatica dei casi sono esempi di predicati.
Ora, possiamo capire che la rappresentazione del significato mostra come mettere insieme gli elementi costitutivi dei sistemi semantici. In altre parole, mostra come mettere insieme entità, concetti, relazioni e predicati per descrivere una situazione. Consente inoltre il ragionamento sul mondo semantico.
Approcci alle rappresentazioni di significato
L'analisi semantica utilizza i seguenti approcci per la rappresentazione del significato:
Logica dei predicati del primo ordine (FOPL)
Reti semantiche
Frames
Dipendenza concettuale (CD)
Architettura basata su regole
Case Grammar
Grafici concettuali
Necessità di rappresentazioni di significato
Una domanda che sorge qui è perché abbiamo bisogno della rappresentazione del significato? Le seguenti sono le ragioni per lo stesso -
Collegamento di elementi linguistici a elementi non linguistici
La prima ragione è che con l'aiuto della rappresentazione del significato è possibile collegare gli elementi linguistici agli elementi non linguistici.
Rappresentare la varietà a livello lessicale
Con l'aiuto della rappresentazione del significato è possibile rappresentare forme canoniche univoche a livello lessicale.
Può essere utilizzato per il ragionamento
La rappresentazione del significato può essere usata per ragionare per verificare ciò che è vero nel mondo e per inferire la conoscenza dalla rappresentazione semantica.
Semantica lessicale
La prima parte dell'analisi semantica, che studia il significato delle singole parole, è chiamata semantica lessicale. Include parole, sottoparole, affissi (sottounità), parole composte e frasi. Tutte le parole, le sottoparole, ecc. Sono chiamate collettivamente elementi lessicali. In altre parole, possiamo dire che la semantica lessicale è la relazione tra elementi lessicali, significato delle frasi e sintassi della frase.
Di seguito sono riportati i passaggi coinvolti nella semantica lessicale:
La classificazione di elementi lessicali come parole, sottoparole, affissi, ecc. Viene eseguita in semantica lessicale.
La scomposizione di elementi lessicali come parole, sottoparole, affissi, ecc. Viene eseguita in semantica lessicale.
Vengono inoltre analizzate le differenze e le somiglianze tra varie strutture semantiche lessicali.
Comprendiamo che le parole hanno significati diversi in base al contesto del loro utilizzo nella frase. Se parliamo di lingue umane, anche queste sono ambigue perché molte parole possono essere interpretate in più modi a seconda del contesto in cui si trovano.
La disambiguazione del senso delle parole, nell'elaborazione del linguaggio naturale (PNL), può essere definita come la capacità di determinare quale significato della parola viene attivato dall'uso della parola in un particolare contesto. L'ambiguità lessicale, sintattica o semantica, è uno dei primissimi problemi che deve affrontare qualsiasi sistema di PNL. I tagger di parti del discorso (POS) con un alto livello di precisione possono risolvere l'ambiguità sintattica di Word. D'altra parte, il problema della risoluzione dell'ambiguità semantica è chiamato WSD (word sense disambiguation). Risolvere l'ambiguità semantica è più difficile che risolvere l'ambiguità sintattica.
Ad esempio, considera i due esempi del senso distinto che esistono per la parola “bass” -
Riesco a sentire il suono dei bassi.
Gli piace mangiare la spigola alla griglia.
L'occorrenza della parola bassdenota chiaramente il significato distinto. Nella prima frase, significafrequency e in secondo luogo, significa fish. Quindi, se fosse disambiguato da WSD, il significato corretto delle frasi precedenti può essere assegnato come segue:
Riesco a sentire il suono dei bassi / delle frequenze.
Gli piace mangiare pesce / spigola alla griglia.
Valutazione di WSD
La valutazione di WSD richiede i seguenti due input:
Un dizionario
Il primo vero input per la valutazione di WSD è il dizionario, che viene utilizzato per specificare i sensi da disambiguare.
Test di Corpus
Un altro input richiesto da WSD è il corpus di test con annotazioni elevate che ha l'obiettivo o i sensi corretti. I corpora di test possono essere di due tipi & minsu;
Lexical sample - Questo tipo di corpora viene utilizzato nel sistema, dove è necessario disambiguare un piccolo campione di parole.
All-words - Questo tipo di corpora viene utilizzato nel sistema, dove ci si aspetta che disambigui tutte le parole in una parte di testo in esecuzione.
Approcci e metodi per Word Sense Disambiguation (WSD)
Gli approcci e i metodi al WSD sono classificati in base alla fonte di conoscenza utilizzata nella disambiguazione delle parole.
Vediamo ora i quattro metodi convenzionali per WSD -
Metodi basati su dizionario o basati sulla conoscenza
Come suggerisce il nome, per disambiguare questi metodi si basano principalmente su dizionari, tesori e base di conoscenza lessicale. Non usano le evidenze dei corpora per disambiguare. Il metodo Lesk è il metodo seminale basato sul dizionario introdotto da Michael Lesk nel 1986. La definizione di Lesk, su cui si basa l'algoritmo di Lesk è“measure overlap between sense definitions for all words in context”. Tuttavia, nel 2000, Kilgarriff e Rosensweig hanno dato la definizione semplificata di Lesk come“measure overlap between sense definitions of word and current context”, che significa inoltre identificare il senso corretto per una parola alla volta. Qui il contesto corrente è l'insieme di parole nella frase o nel paragrafo circostante.
Metodi supervisionati
Per disambiguare, i metodi di apprendimento automatico utilizzano corpora annotati con senso per l'addestramento. Questi metodi presumono che il contesto possa fornire prove sufficienti da solo per disambiguare il senso. In questi metodi, le parole conoscenza e ragionamento sono ritenute non necessarie. Il contesto è rappresentato come un insieme di "caratteristiche" delle parole. Include anche le informazioni sulle parole circostanti. Supportare la macchina vettoriale e l'apprendimento basato sulla memoria sono gli approcci di apprendimento supervisionato di maggior successo a WSD. Questi metodi si basano su una notevole quantità di corpora contrassegnati manualmente dai sensi, che è molto costoso da creare.
Metodi semi-supervisionati
A causa della mancanza di corpus formativi, la maggior parte degli algoritmi di disambiguazione del senso delle parole utilizza metodi di apprendimento semi-supervisionati. È perché i metodi semi-supervisionati utilizzano sia dati etichettati che dati non etichettati. Questi metodi richiedono una quantità molto piccola di testo annotato e una grande quantità di testo semplice non annotato. La tecnica utilizzata dai metodi semisupervised è il bootstrap dai dati seed.
Metodi non supervisionati
Questi metodi presumono che sensi simili si verifichino in un contesto simile. Questo è il motivo per cui i sensi possono essere indotti dal testo raggruppando le occorrenze di parole utilizzando una certa misura di somiglianza del contesto. Questo compito è chiamato induzione o discriminazione del senso delle parole. I metodi non supervisionati hanno un grande potenziale per superare il collo di bottiglia dell'acquisizione di conoscenze a causa della non dipendenza dagli sforzi manuali.
Applicazioni di Word Sense Disambiguation (WSD)
La disambiguazione del senso delle parole (WSD) viene applicata in quasi tutte le applicazioni della tecnologia del linguaggio.
Vediamo ora lo scopo di WSD -
Traduzione automatica
La traduzione automatica o MT è l'applicazione più ovvia di WSD. In MT, la scelta lessicale per le parole che hanno traduzioni distinte per sensi diversi, viene eseguita da WSD. I sensi in MT sono rappresentati come parole nella lingua di destinazione. La maggior parte dei sistemi di traduzione automatica non utilizza il modulo WSD esplicito.
Recupero informazioni (IR)
Il recupero delle informazioni (IR) può essere definito come un programma software che si occupa dell'organizzazione, dell'archiviazione, del recupero e della valutazione delle informazioni dagli archivi di documenti, in particolare delle informazioni testuali. Il sistema sostanzialmente aiuta gli utenti a trovare le informazioni di cui hanno bisogno, ma non restituisce esplicitamente le risposte alle domande. WSD viene utilizzato per risolvere le ambiguità delle query fornite al sistema IR. Come come MT, gli attuali sistemi IR non utilizzano esplicitamente il modulo WSD e si basano sul concetto che l'utente digiti un contesto sufficiente nella query per recuperare solo i documenti pertinenti.
Text Mining and Information Extraction (IE)
Nella maggior parte delle applicazioni, WSD è necessario per eseguire un'analisi accurata del testo. Ad esempio, WSD aiuta il sistema di raccolta intelligente a contrassegnare le parole corrette. Ad esempio, il sistema medico intelligente potrebbe richiedere la segnalazione di "droghe illegali" anziché di "droghe mediche"
Lessicografia
WSD e lessicografia possono lavorare insieme in loop perché la lessicografia moderna è basata su corpus. Con la lessicografia, WSD fornisce raggruppamenti di senso empirici approssimativi così come indicatori contestuali statisticamente significativi del senso.
Difficoltà nel Word Sense Disambiguation (WSD)
Di seguito sono riportate alcune difficoltà affrontate dalla disambiguazione del senso delle parole (WSD) -
Differenze tra dizionari
Il problema principale di WSD è decidere il senso della parola perché sensi diversi possono essere strettamente correlati. Anche dizionari e thesauri diversi possono fornire diverse divisioni di parole in sensi.
Diversi algoritmi per diverse applicazioni
Un altro problema di WSD è che potrebbe essere necessario un algoritmo completamente diverso per applicazioni diverse. Ad esempio, nella traduzione automatica, assume la forma della selezione della parola target; e nel recupero delle informazioni non è richiesto un inventario dei sensi.
Varianza tra giudici
Un altro problema di WSD è che i sistemi WSD vengono generalmente testati confrontando i loro risultati su un compito con il compito degli esseri umani. Questo è chiamato il problema della varianza tra i giudici.
Discretezza del senso delle parole
Un'altra difficoltà in WSD è che le parole non possono essere facilmente suddivise in sottomissioni discrete.
Il problema più difficile dell'IA è elaborare il linguaggio naturale dai computer o in altre parole l'elaborazione del linguaggio naturale è il problema più difficile dell'intelligenza artificiale. Se parliamo dei principali problemi nella PNL, allora uno dei maggiori problemi nella PNL è l'elaborazione del discorso: costruire teorie e modelli di come le espressioni si uniscono per formarecoherent discourse. In realtà, il linguaggio è sempre costituito da gruppi di frasi collocate, strutturate e coerenti piuttosto che da frasi isolate e non correlate come i film. Questi gruppi coerenti di frasi sono indicati come discorso.
Concetto di coerenza
La coerenza e la struttura del discorso sono interconnesse in molti modi. La coerenza, insieme alla proprietà di un buon testo, viene utilizzata per valutare la qualità dell'output del sistema di generazione del linguaggio naturale. La domanda che sorge qui è cosa significa per un testo essere coerente? Supponiamo di aver raccolto una frase da ogni pagina del giornale, allora sarà un discorso? Ovviamente no. È perché queste frasi non mostrano coerenza. Il discorso coerente deve possedere le seguenti proprietà:
Relazione di coerenza tra enunciati
Il discorso sarebbe coerente se avesse connessioni significative tra le sue espressioni. Questa proprietà è chiamata relazione di coerenza. Ad esempio, deve esserci una sorta di spiegazione per giustificare la connessione tra le espressioni.
Relazione tra entità
Un'altra proprietà che rende coerente un discorso è che deve esserci un certo tipo di relazione con le entità. Questo tipo di coerenza è chiamato coerenza basata sull'entità.
Struttura del discorso
Una domanda importante riguardo al discorso è che tipo di struttura deve avere il discorso. La risposta a questa domanda dipende dalla segmentazione che abbiamo applicato al discorso. Le segmentazioni del discorso possono essere definite come determinanti i tipi di strutture per un discorso ampio. È abbastanza difficile implementare la segmentazione del discorso, ma è molto importante perinformation retrieval, text summarization and information extraction tipo di applicazioni.
Algoritmi per la segmentazione del discorso
In questa sezione, impareremo gli algoritmi per la segmentazione del discorso. Gli algoritmi sono descritti di seguito:
Segmentazione del discorso senza supervisione
La classe della segmentazione del discorso senza supervisione è spesso rappresentata come segmentazione lineare. Possiamo comprendere il compito della segmentazione lineare con l'aiuto di un esempio. Nell'esempio, c'è il compito di segmentare il testo in unità di più paragrafi; le unità rappresentano il passaggio del testo originale. Questi algoritmi dipendono dalla coesione che può essere definita come l'uso di determinati dispositivi linguistici per legare insieme le unità testuali. D'altra parte, la coesione del lessico è la coesione che viene indicata dalla relazione tra due o più parole in due unità come l'uso dei sinonimi.
Segmentazione del discorso supervisionata
Il metodo precedente non ha confini di segmento etichettati manualmente. D'altra parte, la segmentazione del discorso supervisionato deve avere dati di addestramento etichettati come confini. È molto facile acquisire lo stesso. Nella segmentazione del discorso supervisionato, i marker del discorso o le parole chiave giocano un ruolo importante. L'indicatore del discorso o la parola chiave è una parola o una frase che funziona per segnalare la struttura del discorso. Questi indicatori di discorso sono specifici del dominio.
Coerenza del testo
La ripetizione lessicale è un modo per trovare la struttura in un discorso, ma non soddisfa il requisito di essere discorso coerente. Per ottenere un discorso coerente, dobbiamo concentrarci sulle relazioni di coerenza nello specifico. Come sappiamo, la relazione di coerenza definisce la possibile connessione tra le espressioni in un discorso. Hebb ha proposto questo tipo di relazioni come segue:
Stiamo prendendo due termini S0 e S1 per rappresentare il significato delle due frasi correlate -
Risultato
Ne deduce che lo stato ha affermato per termine S0 potrebbe causare lo stato affermato da S1. Ad esempio, due dichiarazioni mostrano il risultato della relazione: Ram è stato preso nel fuoco. La sua pelle bruciava.
Spiegazione
Ne deduce che lo stato ha affermato da S1 potrebbe causare lo stato affermato da S0. Ad esempio, due dichiarazioni mostrano la relazione: Ram ha combattuto con l'amico di Shyam. Era ubriaco.
Parallelo
Deduce p (a1, a2,…) dall'asserzione di S0 e p (b1, b2,…) dall'asserzione S1. Qui ai e bi sono simili per tutti i. Ad esempio, due affermazioni sono parallele: Ram ha voluto un'auto. Shyam voleva soldi.
Elaborazione
Si deduce la stessa proposizione P da entrambe le asserzioni: S0 e S1Ad esempio, due affermazioni mostrano l'elaborazione della relazione: Ram era di Chandigarh. Shyam era del Kerala.
Occasione
Accade quando un cambiamento di stato può essere dedotto dall'affermazione di S0, stato finale da cui si può desumere S1e viceversa. Ad esempio, le due affermazioni mostrano l'occasione della relazione: Ram prese il libro. Lo diede a Shyam.
Costruire la struttura gerarchica del discorso
La coerenza dell'intero discorso può essere considerata anche dalla struttura gerarchica tra relazioni di coerenza. Ad esempio, il seguente passaggio può essere rappresentato come struttura gerarchica:
S1 - Ram è andato in banca per depositare denaro.
S2 - Ha poi preso un treno per il negozio di vestiti di Shyam.
S3 - Voleva comprare dei vestiti.
S4 - Non ha vestiti nuovi per la festa.
S5 - Voleva anche parlare con Shyam della sua salute
Risoluzione di riferimento
L'interpretazione delle frasi di qualsiasi discorso è un altro compito importante e per raggiungere questo obiettivo abbiamo bisogno di sapere di chi o di quale entità si sta parlando. Qui, il riferimento all'interpretazione è l'elemento chiave.Referencepuò essere definita come l'espressione linguistica per denotare un'entità o un individuo. Ad esempio, nel passaggio, Ram , il manager della banca ABC , ha visto il suo amico Shyam in un negozio. Gli è andato incontro, le espressioni linguistiche come Ram, His, He sono di riferimento.
Sulla stessa nota, reference resolution può essere definito come il compito di determinare a quali entità si fa riferimento con quale espressione linguistica.
Terminologia utilizzata nella risoluzione dei riferimenti
Usiamo le seguenti terminologie nella risoluzione di riferimento:
Referring expression- L'espressione in linguaggio naturale utilizzata per eseguire il riferimento è chiamata espressione di riferimento. Ad esempio, il passaggio usato sopra è un'espressione di riferimento.
Referent- È l'entità a cui si fa riferimento. Ad esempio, nell'ultimo esempio dato Ram è un referente.
Corefer- Quando due espressioni vengono utilizzate per fare riferimento alla stessa entità, vengono chiamate corefer. Per esempio,Ram e he sono corefers.
Antecedent- Il termine ha la licenza per utilizzare un altro termine. Per esempio,Ram è l'antecedente del riferimento he.
Anaphora & Anaphoric- Può essere definito come il riferimento a un'entità che è stata precedentemente introdotta nella frase. E l'espressione di riferimento è chiamata anaforica.
Discourse model - Il modello che contiene le rappresentazioni delle entità a cui si è fatto riferimento nel discorso e la relazione in cui sono impegnate.
Tipi di espressioni di riferimento
Vediamo ora i diversi tipi di espressioni di riferimento. I cinque tipi di espressioni di riferimento sono descritti di seguito:
Frasi di sostantivi indefiniti
Questo tipo di riferimento rappresenta le entità che sono nuove per l'ascoltatore nel contesto del discorso. Ad esempio - nella frase Ram era andato in giro un giorno a portargli del cibo - alcuni sono un riferimento indefinito.
Frasi di nomi definiti
Al contrario di quanto sopra, questo tipo di riferimento rappresenta le entità che non sono nuove o identificabili per l'ascoltatore nel contesto del discorso. Ad esempio, nella frase - leggevo The Times of India - The Times of India è un riferimento preciso.
Pronomi
È una forma di riferimento definitivo. Ad esempio, Ram rise più forte che poteva. La parolahe rappresenta l'espressione di riferimento del pronome.
Dimostrativi
Questi dimostrano e si comportano diversamente dai pronomi definiti semplici. Ad esempio, questo e quello sono pronomi dimostrativi.
Nomi
È il tipo più semplice di espressione di riferimento. Può anche essere il nome di una persona, organizzazione e posizione. Ad esempio, negli esempi precedenti, Ram è l'espressione arbitrale del nome.
Attività di risoluzione di riferimento
Le due attività di risoluzione di riferimento sono descritte di seguito.
Risoluzione di coreferenza
È il compito di trovare espressioni referenti in un testo che si riferiscono alla stessa entità. In parole semplici, è il compito di trovare espressioni corefer. Un insieme di espressioni di coreferenza è chiamato catena di coreferenza. Ad esempio - He, Chief Manager e His - queste sono espressioni di riferimento nel primo passaggio dato come esempio.
Vincolo alla risoluzione della coreferenza
In inglese, il problema principale per la risoluzione della coreferenza è il pronome it. La ragione di ciò è che il pronome ha molti usi. Ad esempio, può riferirsi in modo molto simile a lui e lei. Il pronome si riferisce anche a cose che non si riferiscono a cose specifiche. Ad esempio, sta piovendo. È davvero buono.
Risoluzione anafora pronominale
A differenza della risoluzione della coreferenza, la risoluzione dell'anafora pronominale può essere definita come il compito di trovare l'antecedente per un singolo pronome. Ad esempio, il pronome è suo e il compito della risoluzione dell'anafora pronominale è trovare la parola Ram perché Ram è l'antecedente.
Il tagging è una sorta di classificazione che può essere definita come l'assegnazione automatica della descrizione ai token. Qui il descrittore è chiamato tag, che può rappresentare una parte del discorso, informazioni semantiche e così via.
Ora, se parliamo di tag di parti del discorso (PoS), allora può essere definito come il processo di assegnazione di una delle parti del discorso alla parola data. Viene generalmente chiamato tagging POS. In parole semplici, possiamo dire che il tagging POS è un compito di etichettare ogni parola in una frase con la sua parte appropriata del discorso. Sappiamo già che parti del discorso includono nomi, verbi, avverbi, aggettivi, pronomi, congiunzione e loro sottocategorie.
La maggior parte del tagging POS rientra in tagging POS Rule Base, tagging POS stocastico e tagging basato sulla trasformazione.
Etichettatura POS basata su regole
Una delle più antiche tecniche di codifica è la codifica POS basata su regole. I tagger basati su regole utilizzano il dizionario o il lessico per ottenere possibili tag per taggare ogni parola. Se la parola ha più di un tag possibile, i tag basati su regole utilizzano regole scritte a mano per identificare il tag corretto. La disambiguazione può essere eseguita anche nell'etichettatura basata su regole analizzando le caratteristiche linguistiche di una parola insieme alle sue parole precedenti e seguenti. Ad esempio, supponiamo che se la parola precedente di una parola è articolo, la parola deve essere un sostantivo.
Come suggerisce il nome, tutto questo tipo di informazioni nella codifica POS basata su regole è codificato sotto forma di regole. Queste regole possono essere:
Regole del modello di contesto
Oppure, come espressione regolare compilata in automi a stati finiti, intersecata con una rappresentazione di frasi lessicalmente ambigua.
Possiamo anche comprendere il tagging POS basato su regole dalla sua architettura a due stadi:
First stage - Nella prima fase, utilizza un dizionario per assegnare a ciascuna parola un elenco di potenziali parti del discorso.
Second stage - Nella seconda fase, utilizza grandi elenchi di regole di disambiguazione scritte a mano per ordinare l'elenco in una singola parte del discorso per ogni parola.
Proprietà della codifica POS basata su regole
I tagger POS basati su regole possiedono le seguenti proprietà:
Questi tagger sono tagger basati sulla conoscenza.
Le regole nella codifica POS basata su regole vengono create manualmente.
Le informazioni sono codificate sotto forma di regole.
Abbiamo un numero limitato di regole circa 1000.
Il livellamento e la modellazione del linguaggio sono definiti esplicitamente nei tagger basati su regole.
Tagging POS stocastico
Un'altra tecnica di etichettatura è la codifica POS stocastica. Ora, la domanda che sorge qui è quale modello può essere stocastico. Il modello che include frequenza o probabilità (statistica) può essere chiamato stocastico. Qualsiasi numero di approcci diversi al problema dell'etichettatura della parte del discorso può essere indicato come tagger stocastico.
Il tagger stocastico più semplice applica i seguenti approcci per il tagging POS:
Approccio basato sulla frequenza delle parole
In questo approccio, i tagger stocastici disambiguano le parole in base alla probabilità che una parola si presenti con un particolare tag. Possiamo anche dire che il tag incontrato più frequentemente con la parola nel set di addestramento è quello assegnato a un'istanza ambigua di quella parola. Il problema principale con questo approccio è che può produrre sequenze di tag non ammissibili.
Probabilità di sequenza di tag
È un altro approccio di tagging stocastico, in cui il tagger calcola la probabilità che una data sequenza di tag si verifichi. È anche chiamato approccio n-gram. Si chiama così perché il miglior tag per una data parola è determinato dalla probabilità con cui si verifica con gli n tag precedenti.
Proprietà della codifica POST stocastica
I tagger POS stocastici possiedono le seguenti proprietà:
Questa codifica POS si basa sulla probabilità che si verifichi il tag.
Richiede corpus formativo
Non ci sarebbe alcuna probabilità per le parole che non esistono nel corpus.
Utilizza diversi corpus di test (diversi dal corpus di addestramento).
È il tagging POS più semplice perché sceglie i tag più frequenti associati a una parola nel corpus di formazione.
Tagging basato sulla trasformazione
Il tagging basato sulla trasformazione è anche chiamato tagging Brill. È un'istanza dell'apprendimento basato sulla trasformazione (TBL), che è un algoritmo basato su regole per la codifica automatica del POS nel testo specificato. TBL, ci permette di avere una conoscenza linguistica in una forma leggibile, trasforma uno stato in un altro usando regole di trasformazione.
Trae ispirazione da entrambi i tagger spiegati in precedenza: basati su regole e stocastici. Se vediamo somiglianza tra tagger basato su regole e trasformazione, quindi come basato su regole, si basa anche sulle regole che specificano quali tag devono essere assegnati a quali parole. D'altra parte, se vediamo somiglianze tra stocastico e tagger di trasformazione quindi come lo stocastico, è una tecnica di apprendimento automatico in cui le regole vengono automaticamente indotte dai dati.
Working of Transformation Based Learning (TBL)
Per comprendere il funzionamento e il concetto dei tagger basati sulla trasformazione, dobbiamo comprendere il funzionamento dell'apprendimento basato sulla trasformazione. Considera i seguenti passaggi per comprendere il funzionamento di TBL:
Start with the solution - Il TBL di solito inizia con qualche soluzione al problema e funziona in cicli.
Most beneficial transformation chosen - In ogni ciclo, TBL sceglierà la trasformazione più vantaggiosa.
Apply to the problem - Al problema verrà applicata la trasformazione scelta nell'ultimo passaggio.
L'algoritmo si arresterà quando la trasformazione selezionata nel passaggio 2 non aggiungerà più valore o non ci saranno più trasformazioni da selezionare. Questo tipo di apprendimento è più adatto nelle attività di classificazione.
Vantaggi dell'apprendimento basato sulla trasformazione (TBL)
I vantaggi di TBL sono i seguenti:
Impariamo un piccolo insieme di semplici regole e queste regole sono sufficienti per taggare.
Lo sviluppo e il debug sono molto semplici in TBL perché le regole apprese sono facili da capire.
La complessità nell'etichettatura è ridotta perché in TBL c'è l'intreccio di regole apprese dalla macchina e regole generate dall'uomo.
Il tagger basato sulla trasformazione è molto più veloce del tagger modello Markov.
Svantaggi dell'apprendimento basato sulla trasformazione (TBL)
Gli svantaggi di TBL sono i seguenti:
L'apprendimento basato sulla trasformazione (TBL) non fornisce probabilità di tag.
In TBL, il tempo di formazione è molto lungo soprattutto su grandi corpora.
Etichettatura POS Hidden Markov Model (HMM)
Prima di approfondire il tagging POS HMM, dobbiamo comprendere il concetto di Hidden Markov Model (HMM).
Modello Markov nascosto
Un modello HMM può essere definito come il modello stocastico doppiamente incorporato, in cui il processo stocastico sottostante è nascosto. Questo processo stocastico nascosto può essere osservato solo attraverso un altro insieme di processi stocastici che produce la sequenza di osservazioni.
Esempio
Ad esempio, viene eseguita una sequenza di esperimenti di lancio di monete nascoste e vediamo solo la sequenza di osservazione composta da testa e croce. I dettagli effettivi del processo - quante monete utilizzate, l'ordine in cui sono selezionate - ci sono nascosti. Osservando questa sequenza di teste e croce, possiamo costruire diversi HMM per spiegare la sequenza. Di seguito è riportata una forma di modello Markov nascosto per questo problema:
Abbiamo assunto che ci siano due stati nell'HMM e ciascuno degli stati corrisponda alla selezione di una moneta polarizzata diversa. La seguente matrice fornisce le probabilità di transizione di stato:
$$A = \begin{bmatrix}a11 & a12 \\a21 & a22 \end{bmatrix}$$
Qui,
aij = probabilità di transizione da uno stato all'altro da i a j.
a11 + a12= 1 e 21 + 22 = 1
P1 = probabilità di testa della prima moneta, ovvero il bias della prima moneta.
P2 = probabilità di testa della seconda moneta, ovvero il bias della seconda moneta.
Possiamo anche creare un modello HMM assumendo che ci siano 3 o più monete.
In questo modo, possiamo caratterizzare HMM dai seguenti elementi:
N, il numero di stati nel modello (nell'esempio precedente N = 2, solo due stati).
M, il numero di osservazioni distinte che possono apparire con ogni stato nell'esempio precedente M = 2, cioè H o T).
A, la distribuzione di probabilità della transizione di stato - la matrice A nell'esempio precedente.
P, la distribuzione di probabilità dei simboli osservabili in ogni stato (nel nostro esempio P1 e P2).
I, la distribuzione di stato iniziale.
Uso di HMM per la codifica POS
Il processo di tagging POS è il processo di ricerca della sequenza di tag che molto probabilmente ha generato una determinata sequenza di parole. Possiamo modellare questo processo POS utilizzando un Hidden Markov Model (HMM), dovetags sono i hidden states che ha prodotto il observable output, cioè, il words.
Matematicamente, nel tagging POS, siamo sempre interessati a trovare una sequenza di tag (C) che massimizzi -
P (C|W)
Dove,
C = C 1 , C 2 , C 3 ... C T
W = W 1 , W 2 , W 3 , W T
Dall'altro lato della medaglia, il fatto è che abbiamo bisogno di molti dati statistici per stimare ragionevolmente questo tipo di sequenze. Tuttavia, per semplificare il problema, possiamo applicare alcune trasformazioni matematiche insieme ad alcune ipotesi.
L'uso di HMM per eseguire un tag POS è un caso speciale di interferenza bayesiana. Quindi, inizieremo riaffermando il problema usando la regola di Bayes, che dice che la probabilità condizionata sopra menzionata è uguale a -
(PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT)) / PROB (W1,..., WT)
Possiamo eliminare il denominatore in tutti questi casi perché ci interessa trovare la sequenza C che massimizza il valore di cui sopra. Ciò non influirà sulla nostra risposta. Ora, il nostro problema si riduce a trovare la sequenza C che massimizza -
PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT) (1)
Anche dopo aver ridotto il problema nell'espressione precedente, richiederebbe una grande quantità di dati. Possiamo fare ipotesi di indipendenza ragionevoli sulle due probabilità nell'espressione sopra per superare il problema.
Prima ipotesi
La probabilità di un tag dipende dal precedente (modello bigram) o dai due precedenti (modello trigram) o dai precedenti n tag (modello n-gram) che, matematicamente, possono essere spiegati come segue:
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)
L'inizio di una frase può essere spiegato assumendo una probabilità iniziale per ogni tag.
PROB (C1|C0) = PROB initial (C1)
Seconda ipotesi
La seconda probabilità nell'equazione (1) sopra può essere approssimata assumendo che una parola appaia in una categoria indipendente dalle parole nelle categorie precedenti o successive che possono essere spiegate matematicamente come segue:
PROB (W1,..., WT | C1,..., CT) = Πi=1..T PROB (Wi|Ci)
Ora, sulla base delle due ipotesi precedenti, il nostro obiettivo si riduce a trovare una sequenza C che massimizzi
Πi=1...T PROB(Ci|Ci-1) * PROB(Wi|Ci)
Ora la domanda che sorge qui è se convertire il problema nella forma sopra ci ha davvero aiutato. La risposta è: sì, lo ha fatto. Se disponiamo di un ampio corpus taggato, le due probabilità nella formula sopra possono essere calcolate come:
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)
In questo capitolo, discuteremo l'inizio del linguaggio naturale nell'elaborazione del linguaggio naturale. Per cominciare, cerchiamo prima di capire cos'è la grammatica del linguaggio naturale.
Grammatica del linguaggio naturale
Per la linguistica, la lingua è un gruppo di segni vocali arbitrari. Possiamo dire che il linguaggio è creativo, governato da regole, innato e universale allo stesso tempo. D'altra parte, è anche umanamente. La natura della lingua è diversa per persone diverse. Ci sono molte idee sbagliate sulla natura della lingua. Ecco perché è molto importante capire il significato del termine ambiguo‘grammar’. In linguistica, il termine grammatica può essere definito come le regole oi principi con l'aiuto di quale lingua funziona. In senso lato, possiamo dividere la grammatica in due categorie:
Grammatica descrittiva
L'insieme di regole in cui linguistica e grammatici formulano la grammatica dell'oratore è chiamato grammatica descrittiva.
Prospettiva Grammatica
È un senso della grammatica molto diverso, che cerca di mantenere uno standard di correttezza nella lingua. Questa categoria ha poco a che fare con il funzionamento effettivo della lingua.
Componenti del linguaggio
La lingua di studio è suddivisa nelle componenti interrelate, che sono divisioni convenzionali e arbitrarie dell'indagine linguistica. La spiegazione di questi componenti è la seguente:
Fonologia
La prima componente del linguaggio è la fonologia. È lo studio dei suoni del parlato di una particolare lingua. L'origine della parola può essere fatta risalire alla lingua greca, dove "telefono" significa suono o voce. La fonetica, una suddivisione della fonologia, è lo studio dei suoni del parlato del linguaggio umano dal punto di vista della loro produzione, percezione o proprietà fisiche. IPA (International Phonetic Alphabet) è uno strumento che rappresenta i suoni umani in modo regolare durante gli studi di fonologia. In IPA, ogni simbolo scritto rappresenta uno e un solo suono vocale e viceversa.
Fonemi
Può essere definito come una delle unità di suono che differenziano una parola dall'altra in una lingua. In linguistica, i fonemi sono scritti tra le barre. Ad esempio, fonema/k/ si trova nelle parole come kit, skit.
Morfologia
È la seconda componente del linguaggio. È lo studio della struttura e della classificazione delle parole in una particolare lingua. L'origine della parola è dalla lingua greca, dove la parola "morphe" significa "forma". La morfologia considera i principi di formazione delle parole in una lingua. In altre parole, come i suoni si combinano in unità significative come prefissi, suffissi e radici. Considera inoltre come raggruppare le parole in parti del discorso.
Lexeme
In linguistica, l'unità astratta di analisi morfologica che corrisponde a un insieme di forme assunte da una singola parola è chiamata lessema. Il modo in cui un lessema viene utilizzato in una frase è determinato dalla sua categoria grammaticale. Lexeme può essere una singola parola o più parole. Ad esempio, la parola parlare è un esempio di lessema di una singola parola, che può avere molte varianti grammaticali come discorsi, parlare e parlare. Il lessema multiparola può essere composto da più di una parola ortografica. Ad esempio, parlare, tirare fuori, ecc. Sono gli esempi di lessemi multiparola.
Sintassi
È la terza componente del linguaggio. È lo studio dell'ordine e della disposizione delle parole in unità più grandi. La parola può essere fatta risalire alla lingua greca, dove la parola suntassein significa "mettere in ordine". Studia il tipo di frasi e la loro struttura, di clausole, di frasi.
Semantica
È la quarta componente del linguaggio. È lo studio di come viene trasmesso il significato. Il significato può essere correlato al mondo esterno o può essere correlato alla grammatica della frase. La parola può essere fatta risalire alla lingua greca, dove la parola semainein significa "significare", "mostrare", "segnalare".
Pragmatica
È la quinta componente del linguaggio. È lo studio delle funzioni della lingua e del suo utilizzo nel contesto. L'origine della parola può essere fatta risalire alla lingua greca, dove la parola "pragma" significa "atto", "affare".
Categorie grammaticali
Una categoria grammaticale può essere definita come una classe di unità o caratteristiche all'interno della grammatica di una lingua. Queste unità sono gli elementi costitutivi del linguaggio e condividono un insieme comune di caratteristiche. Le categorie grammaticali sono anche chiamate caratteristiche grammaticali.
L'inventario delle categorie grammaticali è descritto di seguito:
Numero
È la categoria grammaticale più semplice. Abbiamo due termini legati a questa categoria: singolare e plurale. Singolare è il concetto di "uno" mentre il plurale è il concetto di "più di uno". Ad esempio, cane / cani, questo / questi.
Genere
Il genere grammaticale è espresso dalla variazione dei pronomi personali e della terza persona. Esempi di generi grammaticali sono singolari: lui, lei, esso; la prima e la seconda persona si formano: io, noi e tu; la terza persona plurale è o genere comune o genere neutro.
Persona
Un'altra semplice categoria grammaticale è la persona. In base a questo, vengono riconosciuti i seguenti tre termini:
1st person - La persona che sta parlando viene riconosciuta come prima persona.
2nd person - La persona che è l'ascoltatore o la persona a cui si parla è riconosciuta come seconda persona.
3rd person - La persona o la cosa di cui stiamo parlando è riconosciuta come terza persona.
Astuccio
È una delle categorie grammaticali più difficili. Può essere definito come un'indicazione della funzione di una frase nominale (NP) o la relazione di una frase nominale con un verbo o con le altre frasi nominali nella frase. Abbiamo i seguenti tre casi espressi in pronomi personali e interrogativi:
Nominative case- È la funzione del soggetto. Ad esempio, io, noi, tu, lui, lei, esso, loro e chi sono nominativi.
Genitive case- È la funzione del possessore. Ad esempio, mio / mio, nostro / nostro, suo, suo, suo, loro, i cui genitivi.
Objective case- È la funzione dell'oggetto. Ad esempio, io, noi, tu, lui, lei, loro, che sono obiettivi.
Grado
Questa categoria grammaticale è correlata agli aggettivi e agli avverbi. Ha i seguenti tre termini:
Positive degree- Esprime una qualità. Ad esempio, grande, veloce, bello sono gradi positivi.
Comparative degree- Esprime un grado o un'intensità maggiore della qualità in uno dei due elementi. Ad esempio, più grandi, più veloci, più belli sono i gradi comparativi.
Superlative degree- Esprime il massimo grado o intensità della qualità in uno dei tre o più elementi. Ad esempio, i gradi più grandi, più veloci e più belli sono i gradi superlativi.
Definitività e indefinitezza
Entrambi questi concetti sono molto semplici. La definizione come sappiamo rappresenta un referente, che è conosciuto, familiare o identificabile da chi parla o da chi ascolta. D'altra parte, l'indefinitezza rappresenta un referente che non è noto o non è familiare. Il concetto può essere compreso nella co-occorrenza di un articolo con un sostantivo -
definite article- il
indefinite article- a / an
Teso
Questa categoria grammaticale è correlata al verbo e può essere definita come l'indicazione linguistica del tempo di un'azione. Un tempo stabilisce una relazione perché indica il tempo di un evento rispetto al momento del parlare. In generale, è dei seguenti tre tipi:
Present tense- Rappresenta il verificarsi di un'azione nel momento presente. Ad esempio, Ram lavora sodo.
Past tense- Rappresenta il verificarsi di un'azione prima del momento presente. Ad esempio, ha piovuto.
Future tense- Rappresenta il verificarsi di un'azione dopo il momento presente. Ad esempio, pioverà.
Aspetto
Questa categoria grammaticale può essere definita come la visione di un evento. Può essere dei seguenti tipi:
Perfective aspect- La vista è presa nel suo insieme e completa nell'aspetto. Ad esempio, il semplice passato simileyesterday I met my friend, in inglese ha un aspetto perfetto in quanto vede l'evento come completo e completo.
Imperfective aspect- La vista è considerata continua e incompleta nell'aspetto. Ad esempio, il participio presente tende comeI am working on this problem, in inglese ha un aspetto imperfetto in quanto vede l'evento come incompleto e in corso.
Umore
Questa categoria grammaticale è un po 'difficile da definire ma può essere semplicemente dichiarata come l'indicazione dell'atteggiamento del parlante nei confronti di ciò di cui sta parlando. È anche la caratteristica grammaticale dei verbi. È distinto dai tempi grammaticali e dall'aspetto grammaticale. Gli esempi di stati d'animo sono indicativi, interrogativi, imperativi, ingiuntivi, congiuntivi, potenziali, ottativi, gerundio e participio.
Accordo
È anche chiamato concordia. Succede quando una parola cambia a seconda delle altre parole a cui si riferisce. In altre parole, si tratta di far concordare il valore di alcune categorie grammaticali tra parole diverse o parti del discorso. Di seguito sono riportati gli accordi basati su altre categorie grammaticali -
Agreement based on Person- È l'accordo tra soggetto e verbo. Ad esempio, usiamo sempre "Io sono" e "Lui è" ma mai "Lui sono" e "Io sono".
Agreement based on Number- Questo accordo è tra soggetto e verbo. In questo caso, esistono forme verbali specifiche per la prima persona singolare, la seconda persona plurale e così via. Ad esempio, 1a persona singolare: io sono veramente, 2a persona plurale: siamo davvero, 3a persona singolare: il ragazzo canta, 3a persona plurale: i ragazzi cantano.
Agreement based on Gender- In inglese, esiste un accordo di genere tra pronomi e antecedenti. Ad esempio, ha raggiunto la sua destinazione. La nave ha raggiunto la sua destinazione.
Agreement based on Case- Questo tipo di accordo non è una caratteristica significativa dell'inglese. Ad esempio, chi è venuto per primo: lui o sua sorella?
Sintassi del linguaggio parlato
La grammatica inglese scritta e quella parlata hanno molte caratteristiche comuni ma, oltre a ciò, differiscono anche in molti aspetti. Le seguenti caratteristiche distinguono tra la grammatica inglese parlata e scritta:
Disfluenze e riparazione
Questa caratteristica sorprendente rende la grammatica inglese scritta e parlata diversa l'una dall'altra. È conosciuto individualmente come fenomeni di disfluenza e collettivamente come fenomeni di riparazione. Le disfunzioni includono l'uso di quanto segue:
Fillers words- A volte tra una frase e l'altra, usiamo alcune parole di riempimento. Sono chiamati riempitivi di pausa di riempimento. Esempi di tali parole sono uh e um.
Reparandum and repair- Il segmento ripetuto di parole tra la frase è chiamato reparandum. Nello stesso segmento, la parola modificata si chiama riparazione. Considera il seguente esempio per capire questo:
Does ABC airlines offer any one-way flights uh one-way fares for 5000 rupees?
Nella frase precedente, il volo di sola andata è una riparazione e i voli di sola andata è una riparazione.
Riavvia
Dopo la pausa di riempimento, si verifica il riavvio. Ad esempio, nella frase precedente, i riavvii si verificano quando l'oratore inizia a chiedere informazioni sui voli di sola andata, quindi si ferma, si corregge facendo una pausa di riempimento e quindi ricomincia a chiedere informazioni sulle tariffe di sola andata.
Frammenti di parole
A volte pronunciamo le frasi con piccoli frammenti di parole. Per esempio,wwha-what is the time? Ecco le parole w-wha sono frammenti di parole.
Il recupero delle informazioni (IR) può essere definito come un programma software che si occupa dell'organizzazione, dell'archiviazione, del recupero e della valutazione delle informazioni dagli archivi di documenti, in particolare delle informazioni testuali. Il sistema aiuta gli utenti a trovare le informazioni di cui hanno bisogno ma non restituisce esplicitamente le risposte alle domande. Informa l'esistenza e l'ubicazione di documenti che potrebbero consistere nelle informazioni richieste. I documenti che soddisfano le esigenze dell'utente sono chiamati documenti rilevanti. Un perfetto sistema IR recupererà solo i documenti rilevanti.
Con l'aiuto del diagramma seguente, possiamo comprendere il processo di recupero delle informazioni (IR) -
È chiaro dal diagramma sopra che un utente che necessita di informazioni dovrà formulare una richiesta sotto forma di query in linguaggio naturale. Quindi il sistema IR risponderà recuperando l'output pertinente, sotto forma di documenti, sulle informazioni richieste.
Problema classico nel sistema di recupero delle informazioni (IR)
L'obiettivo principale della ricerca IR è sviluppare un modello per il recupero delle informazioni dagli archivi di documenti. Qui, discuteremo un problema classico, denominatoad-hoc retrieval problem, relativo al sistema IR.
Nel recupero ad hoc, l'utente deve inserire una query in linguaggio naturale che descriva le informazioni richieste. Quindi il sistema IR restituirà i documenti richiesti relativi alle informazioni desiderate. Ad esempio, supponiamo che stiamo cercando qualcosa su Internet e che fornisce alcune pagine esatte che sono rilevanti secondo i nostri requisiti, ma possono esserci anche alcune pagine non pertinenti. Ciò è dovuto al problema del recupero ad hoc.
Aspetti del recupero ad hoc
Di seguito sono riportati alcuni aspetti del recupero ad hoc che vengono affrontati nella ricerca IR -
In che modo gli utenti con l'aiuto del feedback sulla pertinenza possono migliorare la formulazione originale di una query?
Come implementare l'unione dei database, ovvero come è possibile unire i risultati di diversi database di testo in un unico set di risultati?
Come gestire i dati parzialmente danneggiati? Quali modelli sono appropriati per lo stesso?
Modello di recupero delle informazioni (IR)
Matematicamente, i modelli vengono utilizzati in molte aree scientifiche con l'obiettivo di comprendere alcuni fenomeni nel mondo reale. Un modello di recupero delle informazioni prevede e spiega cosa troverà un utente in relazione alla query data. Il modello IR è fondamentalmente un modello che definisce gli aspetti sopra menzionati della procedura di recupero e consiste nei seguenti:
Un modello per i documenti.
Un modello per le query.
Una funzione di corrispondenza che confronta le query con i documenti.
Matematicamente, un modello di recupero è costituito da:
D - Rappresentanza per documenti.
R - Rappresentanza per domande.
F - Il quadro di modellazione per D, Q e la relazione tra di loro.
R (q,di)- Una funzione di similarità che ordina i documenti rispetto alla query. Si chiama anche classifica.
Tipi di modello di recupero delle informazioni (IR)
Un modello di modello di informazione (IR) può essere classificato nei seguenti tre modelli:
Modello IR classico
È il modello IR più semplice e facile da implementare. Questo modello si basa su una conoscenza matematica che è stata facilmente riconosciuta e compresa. Boolean, Vector e Probabilistic sono i tre modelli IR classici.
Modello IR non classico
È completamente opposto al modello IR classico. Questo tipo di modelli IR sono basati su principi diversi da similarità, probabilità, operazioni booleane. Il modello di logica dell'informazione, il modello della teoria della situazione ei modelli di interazione sono gli esempi di modello IR non classico.
Modello IR alternativo
È il miglioramento del modello IR classico che fa uso di alcune tecniche specifiche di altri campi. Il modello di cluster, il modello fuzzy e i modelli di indicizzazione semantica latente (LSI) sono l'esempio del modello IR alternativo.
Caratteristiche di progettazione dei sistemi di recupero delle informazioni (IR)
Vediamo ora di conoscere le caratteristiche di progettazione dei sistemi IR:
Indice invertito
La struttura dati primaria della maggior parte dei sistemi IR è sotto forma di indice invertito. Possiamo definire un indice invertito come una struttura dati che elenca, per ogni parola, tutti i documenti che lo contengono e la frequenza delle occorrenze nel documento. Semplifica la ricerca di "risultati" di una parola di query.
Stop Word Elimination
Le parole di arresto sono quelle parole ad alta frequenza ritenute poco utili per la ricerca. Hanno meno pesi semantici. Tutti questi tipi di parole sono in un elenco chiamato elenco di interruzioni. Ad esempio, gli articoli "a", "an", "the" e preposizioni come "in", "of", "for", "at" ecc. Sono esempi di parole di arresto. La dimensione dell'indice invertito può essere ridotta in modo significativo dall'elenco di interruzioni. Secondo la legge di Zipf, una lista di stop che copre poche dozzine di parole riduce la dimensione dell'indice invertito di quasi la metà. D'altra parte, a volte l'eliminazione della parola chiave può causare l'eliminazione del termine utile per la ricerca. Ad esempio, se eliminiamo l'alfabeto "A" da "Vitamina A", non avrebbe alcun significato.
Stemming
Lo stemming, la forma semplificata dell'analisi morfologica, è il processo euristico di estrazione della forma base delle parole tagliando le estremità delle parole. Ad esempio, le parole ridere, ridere, ridere sarebbero derivate dalla radice della parola risata.
Nelle sezioni successive discuteremo di alcuni modelli IR importanti e utili.
Il modello booleano
È il modello di recupero delle informazioni (IR) più vecchio. Il modello si basa sulla teoria degli insiemi e sull'algebra booleana, dove i documenti sono insiemi di termini e le query sono espressioni booleane sui termini. Il modello booleano può essere definito come -
D- Un insieme di parole, cioè i termini di indicizzazione presenti in un documento. Ogni termine è presente (1) o assente (0).
Q - Un'espressione booleana, dove i termini sono i termini dell'indice e gli operatori sono prodotti logici - AND, somma logica - OR e differenza logica - NOT
F - Algebra booleana su set di termini e su set di documenti
Se parliamo del feedback sulla pertinenza, nel modello IR booleano la previsione della pertinenza può essere definita come segue:
R - Si prevede che un documento sia rilevante per l'espressione di query se e solo se soddisfa l'espressione di query come -
((˅) ˄ ˄ ˜ ℎ)
Possiamo spiegare questo modello con un termine di query come una definizione univoca di un insieme di documenti.
Ad esempio, il termine della query “economic” definisce l'insieme di documenti indicizzati con il termine “economic”.
Ora, quale sarebbe il risultato dopo aver combinato i termini con l'operatore AND booleano? Definirà un set di documenti inferiore o uguale ai set di documenti di uno qualsiasi dei singoli termini. Ad esempio, la query con i termini“social” e “economic”produrrà la serie di documenti di documenti indicizzati con entrambi i termini. In altre parole, serie di documenti con l'intersezione di entrambe le serie.
Ora, quale sarebbe il risultato dopo aver combinato i termini con l'operatore booleano OR? Definirà un set di documenti che è più grande o uguale ai set di documenti di uno qualsiasi dei singoli termini. Ad esempio, la query con i termini“social” o “economic” produrrà la serie di documenti di documenti indicizzati con il termine “social” o “economic”. In altre parole, set di documenti con l'unione di entrambi i set.
Vantaggi della modalità booleana
I vantaggi del modello booleano sono i seguenti:
Il modello più semplice, che si basa su set.
Facile da capire e implementare.
Recupera solo corrispondenze esatte
Dà all'utente un senso di controllo sul sistema.
Svantaggi del modello booleano
Gli svantaggi del modello booleano sono i seguenti:
La funzione di somiglianza del modello è booleana. Quindi, non ci sarebbero partite parziali. Questo può essere fastidioso per gli utenti.
In questo modello, l'utilizzo dell'operatore booleano ha molta più influenza di una parola critica.
Il linguaggio di query è espressivo, ma è anche complicato.
Nessuna classifica per i documenti recuperati.
Modello di spazio vettoriale
A causa degli svantaggi di cui sopra del modello booleano, Gerard Salton ei suoi colleghi hanno suggerito un modello, che si basa sul criterio di somiglianza di Luhn. Il criterio di somiglianza formulato da Luhn afferma, "più due rappresentazioni concordano in dati elementi e la loro distribuzione, maggiore sarebbe la probabilità che rappresentino informazioni simili".
Considera i seguenti punti importanti per capire di più sul modello di spazio vettoriale:
Le rappresentazioni di indice (documenti) e le query sono considerate come vettori incorporati in uno spazio euclideo ad alta dimensione.
La misura di somiglianza di un vettore di documento con un vettore di query è solitamente il coseno dell'angolo tra di loro.
Formula di misura della similarità del coseno
Il coseno è un prodotto a punti normalizzato, che può essere calcolato con l'aiuto della seguente formula:
$$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$$
Rappresentazione dello spazio vettoriale con query e documento
La query e i documenti sono rappresentati da uno spazio vettoriale bidimensionale. I termini sonocar e insurance. Sono presenti una query e tre documenti nello spazio vettoriale.
Il documento in cima alla classifica in risposta ai termini auto e assicurazione sarà il documento d2 perché l'angolo tra q e d2è il più piccolo. La ragione di ciò è che sia le concept car che l'assicurazione sono salienti in d 2 e quindi hanno pesi elevati. Dall'altro lato,d1 e d3 menzionare anche entrambi i termini, ma in ogni caso uno di essi non è un termine di importanza centrale nel documento.
Ponderazione dei termini
Per ponderazione dei termini si intendono i pesi sui termini nello spazio vettoriale. Maggiore è il peso del termine, maggiore sarebbe l'impatto del termine sul coseno. Più pesi dovrebbero essere assegnati ai termini più importanti nel modello. Ora la domanda che sorge qui è come possiamo modellarlo.
Un modo per farlo è contare le parole in un documento come peso del termine. Tuttavia, pensi che sarebbe un metodo efficace?
Un altro metodo, che è più efficace, è quello di utilizzare term frequency (tfij), document frequency (dfi) e collection frequency (cfi).
Frequenza del termine (tf ij )
Può essere definito come il numero di occorrenze di wi in dj. L'informazione che viene catturata dalla frequenza del termine è quanto sia importante una parola all'interno di un dato documento o in altre parole possiamo dire che maggiore è la frequenza del termine, più quella parola è una buona descrizione del contenuto di quel documento.
Frequenza documento (df i )
Può essere definito come il numero totale di documenti nella raccolta in cui si verifica w i . È un indicatore di informatività. Le parole semanticamente focalizzate si verificheranno più volte nel documento a differenza delle parole semanticamente sfocate.
Frequenza di raccolta (cf i )
Può essere definito come il numero totale di occorrenze di wi nella collezione.
Matematicamente, $df_{i}\leq cf_{i}\:and\:\sum_{j}tf_{ij} = cf_{i}$
Forme di ponderazione della frequenza dei documenti
Vediamo ora di conoscere le diverse forme di ponderazione della frequenza dei documenti. Le forme sono descritte di seguito:
Fattore di frequenza del termine
Questo è anche classificato come il termine fattore di frequenza, il che significa che se un termine t appare spesso in un documento, quindi una query contenente tdovrebbe recuperare quel documento. Possiamo combinare le paroleterm frequency (tfij) e document frequency (dfi) in un unico peso come segue:
$$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}$$
Qui N è il numero totale di documenti.
Frequenza documento inversa (idf)
Questa è un'altra forma di ponderazione della frequenza del documento e spesso chiamata ponderazione idf o ponderazione della frequenza inversa del documento. Il punto importante della ponderazione idf è che la scarsità del termine nella raccolta è una misura della sua importanza e l'importanza è inversamente proporzionale alla frequenza di occorrenza.
Matematicamente,
$$idf_{t} = log\left(1+\frac{N}{n_{t}}\right)$$
$$idf_{t} = log\left(\frac{N-n_{t}}{n_{t}}\right)$$
Qui,
N = documenti nella collezione
n t = documenti contenenti il termine t
Miglioramento delle query degli utenti
L'obiettivo principale di qualsiasi sistema di recupero delle informazioni deve essere l'accuratezza - per produrre documenti pertinenti secondo le esigenze dell'utente. Tuttavia, la domanda che sorge qui è come possiamo migliorare l'output migliorando lo stile di formazione delle query dell'utente. Certamente, l'output di qualsiasi sistema IR dipende dalla query dell'utente e una query ben formattata produrrà risultati più accurati. L'utente può migliorare la sua query con l'aiuto direlevance feedback, un aspetto importante di qualsiasi modello IR.
Feedback sulla pertinenza
Il feedback sulla pertinenza accetta l'output inizialmente restituito dalla query data. Questo output iniziale può essere utilizzato per raccogliere informazioni sull'utente e per sapere se tale output è rilevante per eseguire una nuova query o meno. I feedback possono essere classificati come segue:
Feedback esplicito
Può essere definito come il feedback che si ottiene dai valutatori di pertinenza. Questi valutatori indicheranno anche la rilevanza di un documento recuperato dalla query. Per migliorare le prestazioni di recupero delle query, le informazioni di feedback sulla pertinenza devono essere interpolate con la query originale.
I valutatori o altri utenti del sistema possono indicare esplicitamente la rilevanza utilizzando i seguenti sistemi di rilevanza:
Binary relevance system - Questo sistema di feedback sulla pertinenza indica che un documento è rilevante (1) o irrilevante (0) per una data query.
Graded relevance system- Il sistema di feedback sulla rilevanza graduata indica la rilevanza di un documento, per una data query, sulla base della valutazione utilizzando numeri, lettere o descrizioni. La descrizione può essere "non pertinente", "abbastanza pertinente", "molto pertinente" o "pertinente".
Feedback implicito
È il feedback che viene dedotto dal comportamento dell'utente. Il comportamento include la durata del tempo trascorso dall'utente a visualizzare un documento, quale documento è selezionato per la visualizzazione e quale no, le azioni di navigazione e scorrimento della pagina, ecc. Uno dei migliori esempi di feedback implicito èdwell time, che è una misura del tempo che un utente trascorre a visualizzare la pagina collegata in un risultato di ricerca.
Pseudo feedback
È anche chiamato feedback cieco. Fornisce un metodo per l'analisi locale automatica. La parte manuale del feedback di pertinenza è automatizzata con l'aiuto di Feedback di pseudo rilevanza in modo che l'utente ottenga prestazioni di recupero migliorate senza un'interazione estesa. Il vantaggio principale di questo sistema di feedback è che non richiede valutatori come nel sistema di feedback di rilevanza esplicita.
Considera i seguenti passaggi per implementare questo feedback:
Step 1- Innanzitutto, il risultato restituito dalla query iniziale deve essere considerato come risultato pertinente. La gamma di risultati rilevanti deve essere tra i primi 10-50 risultati.
Step 2 - Ora, seleziona i primi 20-30 termini dai documenti usando ad esempio la frequenza del termine (tf) -peso della frequenza del documento inverso (idf).
Step 3- Aggiungi questi termini alla query e abbina i documenti restituiti. Quindi restituisci i documenti più rilevanti.
Natural Language Processing (NLP) è una tecnologia emergente che deriva varie forme di AI che vediamo nei tempi presenti e il suo utilizzo per la creazione di un'interfaccia continua e interattiva tra esseri umani e macchine continuerà ad essere una priorità assoluta per l'oggi e il domani applicazioni sempre più cognitive. Qui, discuteremo di alcune delle applicazioni molto utili della PNL.
Traduzione automatica
La traduzione automatica (MT), processo di traduzione di una lingua di origine o di un testo in un'altra lingua, è una delle applicazioni più importanti della PNL. Possiamo comprendere il processo di traduzione automatica con l'aiuto del seguente diagramma di flusso:
Tipi di sistemi di traduzione automatica
Esistono diversi tipi di sistemi di traduzione automatica. Vediamo quali sono i diversi tipi.
Sistema MT bilingue
I sistemi di traduzione automatica bilingue producono traduzioni tra due lingue particolari.
Sistema MT multilingue
I sistemi di traduzione automatica multilingue producono traduzioni tra qualsiasi coppia di lingue. Possono essere di natura unidirezionale o bidirezionale.
Approcci alla traduzione automatica (MT)
Vediamo ora di conoscere gli importanti approcci alla traduzione automatica. Gli approcci alla MT sono i seguenti:
Approccio MT diretto
È meno popolare ma l'approccio più antico di MT. I sistemi che utilizzano questo approccio sono in grado di tradurre SL (lingua di origine) direttamente in TL (lingua di destinazione). Tali sistemi sono di natura bilingue e unidirezionale.
Approccio interlingua
I sistemi che utilizzano l'approccio Interlingua traducono SL in un linguaggio intermedio chiamato Interlingua (IL) e poi traducono IL in TL. L'approccio Interlingua può essere compreso con l'aiuto della seguente piramide MT:
Approccio al trasferimento
Tre fasi sono coinvolte in questo approccio.
Nella prima fase, i testi in lingua di origine (SL) vengono convertiti in rappresentazioni astratte orientate a SL.
Nella seconda fase, le rappresentazioni orientate alla SL vengono convertite in rappresentazioni orientate al linguaggio di destinazione equivalente (TL).
Nella terza fase, viene generato il testo finale.
Approccio MT empirico
Questo è un approccio emergente per MT. Fondamentalmente, utilizza una grande quantità di dati grezzi sotto forma di corpora paralleli. I dati grezzi sono costituiti dal testo e dalle loro traduzioni. Le tecniche di traduzione automatica basate sull'analogia, basate su esempi e sulla memoria utilizzano l'approccio MT empirico.
Lotta allo spam
Uno dei problemi più comuni in questi giorni sono le email indesiderate. Ciò rende i filtri antispam tanto più importanti perché è la prima linea di difesa contro questo problema.
Il sistema di filtraggio dello spam può essere sviluppato utilizzando la funzionalità NLP considerando i principali problemi di falsi positivi e falsi negativi.
Modelli NLP esistenti per il filtraggio dello spam
Di seguito sono riportati alcuni modelli PNL esistenti per il filtro antispam -
Modellazione N-gram
Un modello N-Gram è una porzione di N caratteri di una stringa più lunga. In questo modello, N-grammi di diverse lunghezze vengono utilizzati simultaneamente nell'elaborazione e nel rilevamento delle e-mail di spam.
Parola derivante
Gli spammer, generatori di e-mail di spam, di solito cambiano uno o più caratteri delle parole di attacco nei loro spam in modo che possano violare i filtri antispam basati sul contenuto. Questo è il motivo per cui possiamo affermare che i filtri basati sui contenuti non sono utili se non riescono a comprendere il significato delle parole o delle frasi nell'email. Al fine di eliminare tali problemi nel filtraggio dello spam, è stata sviluppata una tecnica di derivazione delle parole basata su regole, che può abbinare parole che si assomigliano e suonano allo stesso modo.
Classificazione bayesiana
Questa è ormai diventata una tecnologia ampiamente utilizzata per il filtraggio dello spam. L'incidenza delle parole in un'e-mail viene misurata rispetto alla sua presenza tipica in un database di messaggi di posta elettronica non richiesti (spam) e legittimi (ham) con una tecnica statistica.
Riepilogo automatico
In questa era digitale, la cosa più preziosa sono i dati o si può dire informazioni. Tuttavia, siamo davvero utili oltre alla quantità di informazioni richiesta? La risposta è "NO" perché le informazioni sono sovraccariche e il nostro accesso alla conoscenza e alle informazioni supera di gran lunga la nostra capacità di comprenderle. Abbiamo un serio bisogno di riassunti automatici di testo e informazioni perché il flusso di informazioni su Internet non si fermerà.
Il riepilogo del testo può essere definito come la tecnica per creare un riepilogo breve e accurato di documenti di testo più lunghi. Il riepilogo automatico del testo ci aiuterà con le informazioni pertinenti in meno tempo. L'elaborazione del linguaggio naturale (PNL) gioca un ruolo importante nello sviluppo di una sintesi automatica del testo.
Rispondere alle domande
Un'altra applicazione principale dell'elaborazione del linguaggio naturale (PNL) è la risposta alle domande. I motori di ricerca mettono le informazioni del mondo a portata di mano, ma mancano ancora quando si tratta di rispondere alle domande poste dagli esseri umani nel loro linguaggio naturale. Abbiamo anche grandi aziende tecnologiche come Google che stanno lavorando in questa direzione.
La risposta alle domande è una disciplina dell'informatica nei settori dell'IA e della PNL. Si concentra sulla costruzione di sistemi che rispondono automaticamente alle domande poste dagli esseri umani nel loro linguaggio naturale. Un sistema informatico che comprende il linguaggio naturale ha la capacità di un sistema di programma di tradurre le frasi scritte dagli esseri umani in una rappresentazione interna in modo che le risposte valide possano essere generate dal sistema. Le risposte esatte possono essere generate eseguendo analisi sintattiche e semantiche delle domande. Il divario lessicale, l'ambiguità e il multilinguismo sono alcune delle sfide per la PNL nella costruzione di un buon sistema di risposta alle domande.
Sentiment Analysis
Un'altra importante applicazione dell'elaborazione del linguaggio naturale (PNL) è l'analisi del sentiment. Come suggerisce il nome, l'analisi del sentiment viene utilizzata per identificare i sentimenti tra diversi post. Viene anche utilizzato per identificare il sentimento in cui le emozioni non sono espresse in modo esplicito. Le aziende utilizzano l'analisi del sentiment, un'applicazione di elaborazione del linguaggio naturale (PNL) per identificare l'opinione e il sentiment dei propri clienti online. Aiuterà le aziende a capire cosa pensano i loro clienti dei prodotti e dei servizi. Le aziende possono giudicare la loro reputazione complessiva dai post dei clienti con l'aiuto dell'analisi del sentiment. In questo modo, possiamo dire che oltre a determinare la semplice polarità, l'analisi del sentiment comprende i sentimenti nel contesto per aiutarci a capire meglio cosa c'è dietro l'opinione espressa.
In questo capitolo impareremo come elaborare il linguaggio usando Python.
Le seguenti caratteristiche rendono Python diverso dagli altri linguaggi:
Python is interpreted - Non abbiamo bisogno di compilare il nostro programma Python prima di eseguirlo perché l'interprete elabora Python in fase di runtime.
Interactive - Possiamo interagire direttamente con l'interprete per scrivere i nostri programmi Python.
Object-oriented - Python è di natura orientata agli oggetti e rende questo linguaggio più facile scrivere programmi perché con l'aiuto di questa tecnica di programmazione incapsula il codice all'interno degli oggetti.
Beginner can easily learn - Python è anche chiamato linguaggio per principianti perché è molto facile da capire e supporta lo sviluppo di un'ampia gamma di applicazioni.
Prerequisiti
L'ultima versione di Python 3 rilasciata è Python 3.7.1, disponibile per Windows, Mac OS e la maggior parte delle versioni di Linux OS.
Per Windows, possiamo andare al link www.python.org/downloads/windows/ per scaricare e installare Python.
Per MAC OS, possiamo usare il link www.python.org/downloads/mac-osx/ .
In caso di Linux, diverse versioni di Linux utilizzano diversi gestori di pacchetti per l'installazione di nuovi pacchetti.
Ad esempio, per installare Python 3 su Ubuntu Linux, possiamo utilizzare il seguente comando dal terminale:
$sudo apt-get install python3-minimal
Per saperne di più sulla programmazione Python, leggi il tutorial di base di Python 3 - Python 3
Introduzione a NLTK
Useremo la libreria Python NLTK (Natural Language Toolkit) per fare analisi del testo in lingua inglese. Il Natural language toolkit (NLTK) è una raccolta di librerie Python progettate appositamente per identificare e taggare parti del discorso trovate nel testo del linguaggio naturale come l'inglese.
Installazione di NLTK
Prima di iniziare a utilizzare NLTK, è necessario installarlo. Con l'aiuto del seguente comando, possiamo installarlo nel nostro ambiente Python -
pip install nltk
Se stiamo usando Anaconda, è possibile creare un pacchetto Conda per NLTK utilizzando il seguente comando:
conda install -c anaconda nltk
Download dei dati di NLTK
Dopo aver installato NLTK, un altro compito importante è scaricare i suoi repository di testo preimpostati in modo che possa essere facilmente utilizzato. Tuttavia, prima dobbiamo importare NLTK nel modo in cui importiamo qualsiasi altro modulo Python. Il seguente comando ci aiuterà a importare NLTK -
import nltk
Ora scarica i dati NLTK con l'aiuto del seguente comando:
nltk.download()
Ci vorrà del tempo per installare tutti i pacchetti disponibili di NLTK.
Altri pacchetti necessari
Alcuni altri pacchetti Python come gensim e patternsono anche molto necessari per l'analisi del testo e per la creazione di applicazioni di elaborazione del linguaggio naturale utilizzando NLTK. i pacchetti possono essere installati come mostrato di seguito -
gensim
gensim è una robusta libreria di modelli semantici che può essere utilizzata per molte applicazioni. Possiamo installarlo seguendo il comando -
pip install gensim
modello
Può essere usato per fare gensimpacchetto funziona correttamente. Il seguente comando aiuta nell'installazione del pattern:
pip install pattern
Tokenizzazione
La tokenizzazione può essere definita come il processo di rottura del testo dato, in unità più piccole chiamate token. Parole, numeri o segni di punteggiatura possono essere gettoni. Può anche essere chiamata segmentazione delle parole.
Esempio
Input - Il letto e la sedia sono tipi di mobili.
Abbiamo diversi pacchetti per la tokenizzazione forniti da NLTK. Possiamo utilizzare questi pacchetti in base alle nostre esigenze. I pacchetti ei dettagli della loro installazione sono i seguenti:
pacchetto sent_tokenize
Questo pacchetto può essere utilizzato per dividere il testo di input in frasi. Possiamo importarlo usando il seguente comando:
from nltk.tokenize import sent_tokenize
pacchetto word_tokenize
Questo pacchetto può essere utilizzato per dividere il testo di input in parole. Possiamo importarlo usando il seguente comando:
from nltk.tokenize import word_tokenize
Pacchetto WordPunctTokenizer
Questo pacchetto può essere utilizzato per dividere il testo di input in parole e segni di punteggiatura. Possiamo importarlo usando il seguente comando:
from nltk.tokenize import WordPuncttokenizer
Stemming
Per motivi grammaticali, la lingua include molte variazioni. Variazioni nel senso che la lingua, l'inglese come anche altre lingue, hanno forme diverse di una parola. Ad esempio, le parole comedemocracy, democratic, e democratization. Per i progetti di machine learning, è molto importante che le macchine comprendano che queste diverse parole, come sopra, hanno la stessa forma di base. Ecco perché è molto utile estrarre le forme di base delle parole durante l'analisi del testo.
Lo stemming è un processo euristico che aiuta a estrarre le forme base delle parole tagliandone le estremità.
I diversi pacchetti per lo stemming forniti dal modulo NLTK sono i seguenti:
Pacchetto PorterStemmer
L'algoritmo di Porter viene utilizzato da questo pacchetto di stemming per estrarre la forma base delle parole. Con l'aiuto del seguente comando, possiamo importare questo pacchetto:
from nltk.stem.porter import PorterStemmer
Per esempio, ‘write’ sarebbe l'output della parola ‘writing’ dato come input a questo stemmer.
Pacchetto LancasterStemmer
L'algoritmo di Lancaster viene utilizzato da questo pacchetto di stemming per estrarre la forma base delle parole. Con l'aiuto del seguente comando, possiamo importare questo pacchetto:
from nltk.stem.lancaster import LancasterStemmer
Per esempio, ‘writ’ sarebbe l'output della parola ‘writing’ dato come input a questo stemmer.
Pacchetto SnowballStemmer
L'algoritmo di Snowball viene utilizzato da questo pacchetto di stemming per estrarre la forma base delle parole. Con l'aiuto del seguente comando, possiamo importare questo pacchetto:
from nltk.stem.snowball import SnowballStemmer
Per esempio, ‘write’ sarebbe l'output della parola ‘writing’ dato come input a questo stemmer.
Lemmatizzazione
È un altro modo per estrarre la forma base delle parole, che normalmente mira a rimuovere le terminazioni flessive utilizzando il vocabolario e l'analisi morfologica. Dopo la lemmatizzazione, la forma base di ogni parola è chiamata lemma.
Il modulo NLTK fornisce il seguente pacchetto per la lemmatizzazione:
Pacchetto WordNetLemmatizer
Questo pacchetto estrarrà la forma base della parola a seconda che sia usata come nome o come verbo. Il seguente comando può essere utilizzato per importare questo pacchetto:
from nltk.stem import WordNetLemmatizer
Conteggio dei tag POS: blocco
L'identificazione di parti del discorso (POS) e brevi frasi può essere eseguita con l'aiuto del chunking. È uno dei processi importanti nell'elaborazione del linguaggio naturale. Poiché siamo consapevoli del processo di tokenizzazione per la creazione di token, il chunking in realtà consiste nell'etichettatura di quei token. In altre parole, possiamo dire che possiamo ottenere la struttura della frase con l'aiuto del processo di chunking.
Esempio
Nell'esempio seguente, implementeremo il chunking della frase del nome, una categoria di chunking che troverà i pezzi della frase nominale nella frase, utilizzando il modulo NLTK Python.
Considera i seguenti passaggi per implementare la suddivisione in frasi nominali:
Step 1: Chunk grammar definition
In questo passaggio, dobbiamo definire la grammatica per il chunking. Consisterà nelle regole, che dobbiamo seguire.
Step 2: Chunk parser creation
Successivamente, dobbiamo creare un parser di blocchi. Analizzerebbe la grammatica e darebbe l'output.
Step 3: The Output
In questo passaggio, otterremo l'output in un formato ad albero.
Esecuzione dello script NLP
Inizia importando il pacchetto NLTK -
import nltk
Ora dobbiamo definire la frase.
Qui,
DT è il determinante
VBP è il verbo
JJ è l'aggettivo
IN è la preposizione
NN è il sostantivo
sentence = [("a", "DT"),("clever","JJ"),("fox","NN"),("was","VBP"),
("jumping","VBP"),("over","IN"),("the","DT"),("wall","NN")]
Successivamente, la grammatica dovrebbe essere fornita sotto forma di espressione regolare.
grammar = "NP:{<DT>?<JJ>*<NN>}"
Ora, dobbiamo definire un parser per analizzare la grammatica.
parser_chunking = nltk.RegexpParser(grammar)
Ora, il parser analizzerà la frase come segue:
parser_chunking.parse(sentence)
Successivamente, l'output sarà nella variabile come segue: -
Output = parser_chunking.parse(sentence)
Ora, il codice seguente ti aiuterà a disegnare il tuo output sotto forma di albero.
output.draw()