Che cos'è la PNL in Python?

L'intelligenza artificiale si è evoluta enormemente nell'ultimo decennio, così come uno dei suoi sottocampi: l'elaborazione del linguaggio naturale. Il progresso nell'intelligenza artificiale è il risultato dell'enorme capacità computazionale dei sistemi moderni e dei grandi volumi di dati non strutturati che vengono generati da una pletora di fonti. Natural Language Processing o NLP è lo studio dell'intelligenza artificiale che consente ai computer di elaborare dati testuali non strutturati grezzi ed estrarre informazioni nascoste da esso.

Definizione

A differenza degli umani, i computer non sono abbastanza intelligenti da elaborare dati non strutturati. Gli esseri umani potevano derivare significati da tali dati mentre i computer potevano farlo solo con i dati strutturati archiviati nei database. Per trovare modelli e ricavare significato dai dati naturali, i computer utilizzano gli strumenti e le tecniche coinvolti nella PNL per elaborare tali dati.

Come funziona la PNL in Python?

È molto complesso leggere e comprendere l'inglese. La frase che segue è un esempio in cui è davvero difficile per il computer comprendere il pensiero reale dietro la frase.

In Machine Learning, viene creata una pipeline per ogni problema in cui ogni parte di un problema viene risolta separatamente utilizzando ML. Il risultato finale sarebbe la combinazione di diversi modelli di apprendimento automatico incatenati insieme. L'elaborazione del linguaggio naturale funziona in modo simile a quella in cui la frase inglese è divisa in blocchi.

Ci sono diversi fatti presenti in questo paragrafo. Le cose sarebbero state facili se i computer stessi fossero in grado di capire cosa fosse Londra, ma per farlo, i computer devono essere addestrati con concetti di base in lingua scritta.

1. Segmentazione delle frasi - Il corpus è suddiviso in diverse frasi come di seguito.

Ciò renderebbe la nostra vita più semplice in quanto è meglio elaborare una singola frase piuttosto che un paragrafo nel suo insieme. La suddivisione potrebbe essere fatta in base a punteggiatura o ad altre tecniche complicate che funzionano anche su dati non ripuliti.

2. Tokenizzazione delle parole : una frase potrebbe essere ulteriormente suddivisa in token di parole come mostrato di seguito.

Dopo la tokenizzazione, la frase sopra è suddivisa in -

3. Previsione delle parti del discorso - Questo processo riguarda la generazione delle parti del discorso per ciascun token. Ciò ci consentirebbe di comprendere il significato della frase e l'argomento di cui si parla nella frase.

4. Lemmatizzazione - Una parola in una frase potrebbe apparire in diverse forme. La Lemmatizzazione rintraccia una parola alla radice, ovvero il lemma di ogni parola.

5. Interrompi l'identificazione delle parole - Ci sono molte parole di riempimento come 'la', 'a', in una frase. Queste parole agiscono come rumore in un testo di cui stiamo cercando di estrarre il significato. Pertanto è necessario filtrare quelle parole stop per costruire un modello migliore.

In base all'applicazione, le parole di arresto potrebbero variare. Tuttavia, esiste un elenco predefinito di lavori di arresto a cui si potrebbe fare riferimento.

6. Riconoscimento delle entità nominate - NER è il processo di ricerca di entità come nome, luogo, persona, organizzazione, ecc. Da una frase.

Qui viene utilizzato il contesto dell'aspetto di una parola in una frase. Per estrarre dati strutturati da un testo, i sistemi NER hanno molti usi.

Esempio di PNL in Python

La maggior parte delle aziende è ora disposta a elaborare dati non strutturati per la crescita della propria attività. La PNL ha una vasta gamma di usi, e dei casi d'uso più comuni è la classificazione del testo.

La classificazione del testo in diverse categorie viene automaticamente definita classificazione del testo. Il rilevamento di spam o ham in un'e-mail, la categorizzazione di articoli di notizie, sono alcuni degli esempi comuni di classificazione del testo. I dati utilizzati a tale scopo devono essere etichettati.

I pochi passaggi di una pipeline di classificazione del testo che devono essere seguiti sono:

  • Il caricamento e la pre-elaborazione dei dati è il primo passo, quindi verrà suddiviso in treno e set di convalida.
  • La fase di ingegneria delle caratteristiche prevede l'estrazione delle funzionalità utili o la creazione di funzionalità significative aggiuntive che aiuterebbero a sviluppare un modello predittivo migliore.
  • Per creare il modello, il set di dati con etichetta viene utilizzato per addestrare il modello.

Panda, Scikit-learn, XGBoost, TextBlog, Keras sono alcune delle librerie necessarie che dobbiamo installare. Quindi importiamo le librerie per la preparazione del set di dati, l'ingegnerizzazione delle funzionalità, ecc.

I dati sono enormi con quasi 3, 6 milioni di recensioni che possono essere scaricate da qui. Viene utilizzata una frazione dei dati. Viene scaricato e letto in un frame di dati Pandas.

La variabile target viene codificata e i dati vengono suddivisi in treno e set di test.

L'ingegnerizzazione delle caratteristiche viene eseguita utilizzando i seguenti metodi diversi.

1. Vettori di conteggio : la rappresentazione di un documento, un termine e la sua frequenza da un corpus sono raggiunti dai vettori di conteggio.

2. Vettori TF-IDF - In un documento, l'importanza relativa di un termine è rappresentata dal punteggio Frequenza termine (TF) e dal punteggio Frequenza documento inversa (IDF). Il TF-IDF potrebbe essere calcolato da -

I vettori TF-IDF potrebbero essere generati dal livello Word che presenta il punteggio di ogni termine e dal livello N-grammo che è la combinazione di n-termini.

3. Incorporamento di parole : la rappresentazione di documenti e parole sotto forma di un vettore denso è nota come incorporamento di parole. Esistono incorporamenti pre-addestrati come Glove, Word2Vec che potrebbero essere utilizzati o anche addestrati.

4. Modelli di argomento : è il gruppo di parole di un documento che contiene la maggior parte delle informazioni. L'allocazione di Dirichlet latente viene utilizzata qui per la modellazione degli argomenti.

La modalità viene creata al termine dell'ingegnerizzazione delle funzionalità e sono state estratte le funzionalità pertinenti.

5. Naïve Bayes : si basa sul teorema di Bayes e l'algoritmo ritiene che non vi sia alcuna relazione tra le funzionalità di un set di dati.


6. Regressione logistica : misura la relazione lineare tra le caratteristiche e la variabile target viene misurata in base a una funzione sigmoide che stima le probabilità.


7. Support Vector Machine : un hyperplane separa due classi in un SVM.


8. Modello di foresta casuale - Un modello di ensemble in cui riduce la varianza e raggruppa più alberi decisionali.


9. XG Boost : il pregiudizio viene ridotto e gli studenti deboli vengono convertiti in studenti forti.

In che modo la PNL potrebbe aiutarti nella tua carriera?

L'elaborazione del linguaggio naturale è un settore in forte espansione nel mercato e quasi ogni organizzazione ha bisogno di un ingegnere della PNL per aiutarli a elaborare i dati grezzi. Pertanto è indispensabile padroneggiare le competenze richieste in quanto non vi sarebbe carenza di posti di lavoro sul mercato.

Conclusione: PNL in Python

In questo articolo, abbiamo iniziato con un'introduzione a NLP in Python e quindi implementato un caso d'uso in Python per mostrare come lavorare con NLP in Python.

Articoli consigliati

Questa è stata una guida alla PNL in Python. Qui abbiamo discusso dell'esempio, dei casi d'uso e di come lavorare con la PNL in Python. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Usi di Python
  2. Che cos'è WBS?
  3. Python vs Scala
  4. Che cos'è il tableau?

Categoria: