Elaborazione del linguaggio naturale con Python
eBook - ePub

Elaborazione del linguaggio naturale con Python

Ajit Singh, Elena Carretta

Partager le livre
  1. 160 pages
  2. Italian
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Elaborazione del linguaggio naturale con Python

Ajit Singh, Elena Carretta

Détails du livre
Aperçu du livre
Table des matières
Citations

À propos de ce livre

La PNL è un settore ampio e multidisciplinare, quindi questo libro può fornire solo un'introduzione molto generale. Il primo capitolo ha lo scopo di fornire una panoramica delle principali sottoaree e una brevissima idea delle principali applicazioni e delle metodologie utilizzate. La storia della PNL viene brevemente discussa come un modo per metterla in prospettiva. I tre capitoli successivi descrivono in modo più dettagliato alcune delle principali sottoaree. L'organizzazione si basa su una maggiore "profondità" di elaborazione, a partire da tecniche relativamente orientate alla superficie e passando a considerare il significato delle frasi e il significato delle parole nel contesto. Ogni capitolo prenderà in considerazione la sottoarea nel suo insieme per poi passare a descrivere uno o più algoritmi campione che affrontano problemi particolari. Gli algoritmi sono stati scelti perché sono relativamente semplici da descrivere e perché illustrano una tecnica specifica che si è dimostrata utile, ma l'idea è quella di esemplificare un approccio, non di fornire un'indagine dettagliata (cosa che sarebbe impossibile nel tempo a disposizione). Tuttavia, altri approcci saranno talvolta discussi brevemente. Il capitolo finale riunisce il materiale precedente per descrivere lo stato dell'arte nelle applicazioni campione. Obiettivi: L'obiettivo del mio libro per gli studenti è quello di: 1. essere in grado di descrivere l'architettura e il design di base di un sistema generico di PNLP "shell". 2. essere in grado di discutere le prestazioni attuali e future di diverse applicazioni della PNL, come la traduzione automatica e la risposta via e-mail. 3. essere in grado di descrivere brevemente una tecnica fondamentale per l'elaborazione del linguaggio per diverse sottoattività, come l'analisi morfologica, l'analisi sintattica, la disambiguazione del senso della parola, ecc. ?4. Capire come queste tecniche si ispirano e si relazionano ad altre aree dell'informatica (

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramètres et de cliquer sur « Résilier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez résilié votre abonnement, il restera actif pour le reste de la période pour laquelle vous avez payé. Découvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptés aux mobiles peuvent être téléchargés via l’application. La plupart de nos PDF sont également disponibles en téléchargement et les autres seront téléchargeables très prochainement. Découvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accès complet à la bibliothèque et à toutes les fonctionnalités de Perlego. Les seules différences sont les tarifs ainsi que la période d’abonnement : avec l’abonnement annuel, vous économiserez environ 30 % par rapport à 12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement à des ouvrages universitaires en ligne, où vous pouvez accéder à toute une bibliothèque pour un prix inférieur à celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! Découvrez-en plus ici.
Prenez-vous en charge la synthèse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte à haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accélérer ou le ralentir. Découvrez-en plus ici.
Est-ce que Elaborazione del linguaggio naturale con Python est un PDF/ePUB en ligne ?
Oui, vous pouvez accéder à Elaborazione del linguaggio naturale con Python par Ajit Singh, Elena Carretta en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Informatique et Traitement du langage naturel. Nous disposons de plus d’un million d’ouvrages à découvrir dans notre catalogue.

Informations

Année
2019
ISBN
9781071501580
image
image
image

Capitolo 1: Introduzione alla PNL

image
Le persone comunicano in molti modi diversi: parlando e ascoltando, facendo gesti, usando segnali manuali specializzati (come quando si guida o dirigendo il traffico), usando le lingue dei segni per i non udenti o attraverso varie forme di testo.
Per testo si intendono le parole scritte o stampate su una superficie piana (carta, cartoncini, segnali stradali e così via) o visualizzate su uno schermo o dispositivo elettronico per essere lette dal destinatario previsto (o da chi sta passando).
Il corso si concentrerà solo sull'ultimo di questi: ci occuperemo di vari modi in cui i sistemi informatici possono analizzare e interpretare i testi, e assumeremo per comodità che questi testi siano presentati in formato elettronico. Questa è ovviamente un'ipotesi ragionevole, data l'enorme quantità di testo a cui possiamo accedere tramite il World Wide Web e la crescente disponibilità di versioni elettroniche di giornali, romanzi, libri di testo e guide tematiche. Questo capitolo introduce alcuni concetti, tecniche e terminologia essenziali che verranno applicati nel resto del corso. Alcuni materiali in questo capitolo sono un po' tecnici, ma in questa fase non è prevista alcuna programmazione.
Inizieremo considerando i testi come stringhe di caratteri che possono essere suddivisi in sottostringhe e introdurre alcune tecniche per la descrizione informale di modelli di vario tipo che si verificano nei testi. Successivamente inizieremo a motivare l'analisi dei testi in termini di strutture gerarchiche in cui elementi di vario genere possono essere incorporati l'uno nell'altro, in modo comparabile agli elementi che compongono un documento Web HTML. Questa sezione introduce alcuni strumenti tecnici come: macchine a stati finiti (FSM), espressioni regolari, grammatiche regolari e grammatiche senza contesto.
Le nozioni di base
Testo tokenizzato e Pattern matching
Una delle operazioni di base che possono essere applicate a un testo è la tokenizzazione: suddividere un flusso di caratteri in parole, segni di punteggiatura, numeri e altri elementi discreti. Quindi per esempio la stringa di caratteri
“Dr. Watson, il signor Sherlock Holmes ", ha detto Stamford, presentandoci.
Può essere tokenizzato come nell'esempio seguente, in cui ogni token è racchiuso tra virgolette singole:
`"' `Dr.' `Watson' `,' `Mr.' `Sherlock' `Holmes' `"' `,' `dice' `Stamford' `,' `introducendo' `noi' `.'
A questo livello, le parole non sono state classificate in categorie grammaticali e abbiamo pochissime indicazioni sulla struttura sintattica. Tuttavia, una discreta quantità di informazioni può essere ottenuta da un'analisi relativamente superficiale del testo tokenizzato. Ad esempio, supponiamo di voler sviluppare una procedura per trovare tutti i nomi personali in un determinato testo. Sappiamo che i nomi personali iniziano sempre con lettere maiuscole, ma ciò non è sufficiente per distinguerli dai nomi di paesi, città, aziende, cavalli da corsa e così via, o dalla capitalizzazione all'inizio di una frase. Alcuni modi aggiuntivi per identificare i nomi personali includono:
Uso di un titolo Dr., Sig., Sig.ra, Professore e così via.
Una parola in maiuscolo o parole seguite da una virgola e da un numero, di solito inferiore a 100: è un modo comune di riferirsi alle persone nei notiziari, dove il numero sta per la loro età - per esempio Pierre Vinken, 61, . . .
Una parola in maiuscolo seguita da un verbo che di solito si applica agli esseri umani: detto, riportato, rivendicato, pensato, discusso. . . Questo può sovra-generare nel caso di nomi di paesi o organizzazioni come sostiene la Corona o la Gran Bretagna ha affermato.
Possiamo esprimerli in modo più conciso come segue, dove j è il simbolo di disgiunzione, Word rappresenta una parola in maiuscolo e Int è un numero intero:
(Dr. j Professor j Mr. j Mrs. j Miss j Ms) Word
Parola Parola, Int
Parola (detto j pensiero j creduto j affermato j argomentato j ...)
L'elaborazione del linguaggio naturale (NLP) può essere definita come l'elaborazione automatica (o semi-automatica) del linguaggio umano. Il termine "PNL" è talvolta usato in modo più ristretto, eliminando spesso il recupero di informazioni e talvolta persino escludendo la traduzione automatica. La PNL a volte è in contrasto con la "linguistica computazionale", poiché la PNL è considerata più applicata. Al giorno d'oggi, i termini alternativi sono spesso preferiti, come "Tecnologia linguistica" o "Ingegneria linguistica". La lingua è spesso usata in contrasto con il linguaggio (ad esempio, la tecnologia vocale e linguistica). Ma mi riferirò semplicemente alla PNL e useremo il termine in senso lato.
La PNL è essenzialmente multidisciplinare: è strettamente legata alla linguistica (sebbene la misura in cui la PNL richiama apertamente la teoria linguistica varia considerevolmente). Ha anche collegamenti con la ricerca in scienze cognitive, psicologia, filosofia e matematica (in particolare la logica). All'interno di CS, si riferisce alla teoria formale del linguaggio, tecniche di compilazione, dimostrazione di teoremi, apprendimento automatico e interazione uomo-computer. Naturalmente è anche legato all'IA, anche se oggigiorno non è generalmente considerato come parte dell'IA.
Qualche terminologia linguistica
Il corso è organizzato in modo tale che ci siano sei lezioni corrispondenti a diverse sottoaree della PNL, passando da un'elaborazione relativamente "superficiale" a aree che implicano il significato e le connessioni con il mondo reale. Queste sottosezioni corrispondono vagamente ad alcune delle suddivisioni standard della linguistica:
  1. Morfologia: la struttura delle parole. Ad esempio, insolitamente può essere pensato come composto da un prefisso un-, uno stelo usuale e un affisso-ly. composto è composto più il suffisso in-x :una regola ortografica significa che si finisce con composto anziché composto. La morfologia sarà discussa nel capitolo 2.
  1. Sintassi: il modo in cui le parole vengono utilizzate per formare frasi, per esempio, fa parte della sintassi inglese che un risolutore come la volontà viene prima di un nome e anche che i determinanti sono obbligatori con certi nomi singolari. Gli aspetti formali e computazionali della sintassi saranno discussi in ulteriori lezioni.
  1. Semantica: la semantica composizionale è la costruzione di un significato (generalmente espresso come logica) basato sulla sintassi. La semantica composizionale è discussa nella lezione 4. Questo è in contrasto con la semantica lessicale, cioè il significato delle singole parole.
  1. Pragmatica: significato nel contesto. Anche se la linguistica e la PNL hanno in genere prospettive molto diverse qui.
Perché l'elaborazione del linguaggio è difficile?
Potresti provare a creare un sistema che risponda alle e-mail inviate dai clienti a un rivenditore che vende laptop e accessori via Internet. Ci si potrebbe aspettare che questo gestisca le query come le seguenti:
Il mio numero d'ordine 4291 è già stato spedito?
FD5 è compatibile con un 505G?
Qual è la velocità del 505G?
Si supponga che la query debba essere valutata rispetto a un database contenente informazioni su prodotti e ordini, con relazioni come le seguenti:
ORDINE
Numero ordine Data ordine Data di spedizione
4290 2/2/02 2/2/02
4291 2/2/02 2/2/02
4292 2/2/02
Il mio numero d'ordine 4291 è già stato spedito? DB QUERY: ordine (numero = 4291, data spedizione =?)
image
RISPOSTA ALL'UTENTE: il numero d'ordine 4291 è stato spedito il 2/2/02
Potrebbe sembrare abbastanza facile scrivere modelli per queste query, ma stringhe molto simili possono significare cose molto diverse, mentre stringhe molto diverse possono significare la stessa cosa. 1 e 2 sotto sembrano molto simili ma significano qualcosa di completamente diverso, mentre 2 e 3 sembrano molto diversi ma significano molto la stessa cosa.
  1. Quanto è veloce il 505G?
  2. Quanto velocemente arriverà il mio 505G?
  3. Per favore dimmi quando posso aspettarmi il 505G che ho ordinato.
Mentre alcuni compiti in PNL possono essere fatti adeguatamente senza avere alcun tipo di spiegazione del significato, altri richiedono che possiamo costruire rappresentazioni dettagliate che saranno il significato sottostante piuttosto che la stringa superficiale.
Infatti, nei linguaggi naturali (al contrario dei linguaggi di programmazione), l'ambiguità è onnipresente, quindi esattamente la stessa stringa potrebbe significare cose diverse. Ad esempio nella query:
Vendete computer portatili e unità disco Sony?
L'utente potrebbe o potrebbe non chiedere informazioni sulle unità disco Sony. Vedremo molti esempi di diversi tipi di ambiguità in queste lezioni.
image
Spesso gli umani hanno conoscenza del mondo che risolve una possibile ambiguità, probabilmente senza che chi parla o chi ascolta sia consapevole che esiste una potenziale ambiguità. Ma la codifica manuale di tale conoscenza nelle applicazioni di PNL è risultata essere incredibilmente difficile da fare per domini molto limitati: il termine AI-completo è talvolta usato (per analogia con NP-completo), il che significa che dovremmo risolvere l'intero problema di rappresentare il mondo e acquisire la conoscenza del mondo. Il termine AI-complete è inteso in modo un po' scherzoso, ma trasmette quello che è probabilmente il principio guida più importante nell'attuale PNL: stiamo cercando applicazioni che non richiedano soluzioni complete di AI: cioè quelle in cui possiamo lavorare con domini molto limitati o conoscenza approssimativa del mondo intero con tecniche relativamente semplici.
Alcune applicazioni di PNL
Il seguente elenco non è completo, ma sono stati creati sistemi utili per:
● controllo ortografico e grammaticale
● riconoscimento ottico dei caratteri (OCR)
● lettori di schermo per utenti ciechi e ipovedenti
In genere userò "ascoltatore" per indicare la persona che si trova sul lato ricevente, indipendentemente dalla modalità di trasmissione della lingua: cioè, indipendentemente dal fatto che sia parlato, firmato o scritto. Allo stesso modo, userò l' oratore per la persona che genera il discorso, il testo ecc. E l ' espressione per indicare il discorso o il testo stesso. Questa è la terminologia linguistica standard, che riconosce che la lingua parlata è primaria e i...

Table des matières