I migliori progetti NLP su Github che dovresti mettere in pratica [2022]

Pubblicato: 2021-01-01

L'intelligenza artificiale ha molteplici rami, di cui l'elaborazione del linguaggio naturale (NLP) è emersa come un potente strumento new age. La PNL risale agli anni '50, quando Alan Turing pubblicò un articolo - " Computing Machinery and Intelligence " - che proponeva un test (ora noto come test di Turing ) che coinvolgeva l'interpretazione automatizzata e la generazione di linguaggi umani naturali. Anche così, solo di recente la PNL ha ottenuto riconoscimenti e popolarità a livello mondiale.

Sommario

Che cos'è l'elaborazione del linguaggio naturale?

L'elaborazione del linguaggio naturale mira a facilitare le comunicazioni da uomo a macchina. Ha lo scopo di addestrare i computer a comprendere, interpretare e manipolare i linguaggi umani naturali. La PNL trae ispirazione da molteplici discipline come l'Intelligenza Artificiale, l'Informatica e la Linguistica Computazionale.

Gli esseri umani comunicano nelle loro lingue native come inglese, giapponese, spagnolo, ecc., mentre i computer parlano nella loro lingua madre, che è la lingua binaria. Sebbene i computer non siano in grado di capire i nostri linguaggi umani naturali, il linguaggio macchina è per lo più incomprensibile per la maggior parte delle persone.

È qui che entra in gioco la PNL per colmare il divario tra la comunicazione umana e la comprensione del computer. L'elaborazione del linguaggio naturale consente e addestra i computer a comunicare con gli esseri umani nella loro lingua madre, aiutandoli a leggere testi, ascoltare il parlato, interpretare messaggi audio/di testo, misurare i sentimenti e molto altro.

Con l'esplosione di dati causata dalle interazioni e dalle transazioni quotidiane nel mondo digitale, l'elaborazione del linguaggio naturale è diventata più cruciale per le aziende. Grazie alla NLP, le aziende possono sfruttare grandi volumi di dati aziendali grezzi, chiacchiere sui social media, ecc., per dare un senso ai dati e prendere decisioni orientate ai dati.

In questo articolo, elencheremo 12 progetti di PNL su GitHub per ispirarti! Lavorare su questi progetti ti aiuterà ad arricchire le tue conoscenze di dominio e ad affinare le tue abilità nel mondo reale.

I migliori progetti GitHub NLP

1. Identificazione della parafrasi

Il rilevamento della parafrasi è un'applicazione NLP che rileva se due frasi diverse hanno o meno lo stesso significato. È ampiamente utilizzato nella traduzione automatica, nella risposta alle domande, nell'estrazione/recupero di informazioni, nella sintesi di testi e nella generazione del linguaggio naturale.

Questo è un progetto adatto ai principianti in cui costruirai un sistema di identificazione della parafrasi in grado di identificare accuratamente le somiglianze e le differenze tra due entità testuali (ad esempio, frasi) applicando analisi sintattiche e semantiche su di esse.

2. Documento di somiglianza

Questo è un altro progetto adatto ai principianti che mira a quantificare le somiglianze tra due documenti utilizzando il metodo della somiglianza del coseno. Trovando le somiglianze tra i due documenti, questo progetto metterà in evidenza gli argomenti comuni di discussione.

La somiglianza del coseno converte due documenti in vettori per calcolare la somiglianza tra quei vettori. Calcola le somiglianze del documento prendendo lo spazio interno del prodotto che misura l'angolo del coseno tra di loro.

3. Predizione del testo

In questo progetto creerai un'applicazione in grado di prevedere la parola successiva mentre scrivi le parole. Gli strumenti utilizzati per creare questo progetto di previsione del testo includono l'elaborazione del linguaggio naturale, l'estrazione di testo e la suite di strumenti di R.

Il progetto utilizza uno stimatore di massima verosimiglianza con Kneser Ney Smoothing come modello di previsione. La previsione è progettata sulla raccolta di parole memorizzate nel database utilizzato per l'addestramento del modello. Puoi trovare il set completo di risorse per questo progetto su GitHub.

4. La scienza del genio

Questo progetto fa parte del progetto Science of Success . L'obiettivo qui è determinare se specifici fattori lessicali possono indicare l'attenzione che un articolo ha ricevuto, misurata da indici di citazione normalizzati, utilizzando una serie di strumenti di analisi della scienza dei dati e della PNL.

Nelle fasi iniziali, questo progetto si concentra sullo studio della varianza temporale e disciplinare nella lunghezza e nelle caratteristiche sintattiche dei titoli degli articoli nel Web of Science , un set di dati contenente oltre 50 milioni di articoli pubblicati dal 1900. Il quadro più ampio è creare un modello quantitativo in grado di stimare con precisione l'impatto di un articolo scientifico sulla comunità.

5. Estrarre il sentimento azionario dai titoli delle notizie

Come suggerisce il titolo, utilizzerai l'analisi del sentiment sui titoli delle notizie finanziarie di Finviz per produrre approfondimenti sugli investimenti in questo progetto. La tecnica dell'analisi del sentimento ti aiuterà a comprendere e interpretare l'emozione dietro i titoli dei giornali e a prevedere se l'attuale situazione del mercato è a favore di un determinato titolo o meno.

6. Robot intelligente

Questo progetto prevede la creazione di un bot intelligente in grado di analizzare e abbinare i risultati di un repository specifico per rispondere alle domande. Il bot usa WordNet per questa operazione. Valuta il contesto di una domanda riguardante i tag nei documenti strutturati (come intestazioni, titoli in grassetto, ecc.). Poiché mantiene il contesto, puoi porre domande correlate sullo stesso argomento.

Ad esempio, se desideri interrogare un articolo di Wikipedia, puoi utilizzare il modello "Dimmi di XYZ" e continuare a porre domande simili una volta stabilito il contesto. Anche in questo caso, puoi eseguire query su una pagina Web citando l'URL della pagina come fonte come " https://www.microsoft.com/en-us/software-download/faq ." Funziona eccezionalmente bene con le pagine FAQ e Domande e risposte.

7. CitesCyVerse

Il progetto CitesCyVerse è progettato su The Science Citation Knowledge Extractor . CitesCyVerse è uno strumento open source che sfrutta Machine Learning e NLP per aiutare i ricercatori biomedici a capire come gli altri usano il loro lavoro analizzando il contenuto negli articoli che li citano. Utilizzando ML e NLP, CitesCyVerse estrae i temi e i concetti principali discussi nei documenti di citazione. Ciò consente ai ricercatori di comprendere meglio come il loro lavoro influenza gli altri nella comunità scientifica.

CitesCyVerse include WordClouds che genera nuovi cloud da parole simili menzionate nei documenti di citazione. Inoltre, ha argomenti che ti consentono di esplorare argomenti popolari per articoli e pubblicazioni che citano CyVerse.

8. Data Science Capstone – Script di elaborazione dati

In questo progetto capstone di Data Science, utilizzerai gli script di elaborazione dei dati per dimostrare l'ingegneria dei dati invece di creare un modello n-gram. Questi script possono elaborare l'intero corpus per produrre gli n-grammi ei loro conteggi. È possibile utilizzare questi dati per sviluppare algoritmi di testo predittivo.

Per creare questo progetto, avrai bisogno di un sistema dual-core (poiché la maggior parte degli script sono a thread singolo) con almeno 16 GB di RAM. Per quanto riguarda i requisiti software, sono necessari: Linux (meglio se testato su Ubuntu 14.04), Python (versione 2.7), NLTK (versione 3.0) e NumPy.

Leggi: Idee e argomenti per progetti di elaborazione del linguaggio naturale

9. Generatore di script

Questo è un progetto entusiasmante in cui creerai RNN per generare sceneggiature TV per il popolare show The Simpsons sulla base di un set di dati di script di tutte le 27 stagioni dello show. Gli RNN genereranno una nuova sceneggiatura per una scena specifica girata alla Moe's Tavern.

Il progetto del generatore di script fa parte del Deep Learning Nanodegree di Udacity. L'implementazione del progetto è contenuta in: dlnd_tv_script_generation.ipynb

10. Previsione delle azioni Reddit

Questo progetto cerca di capire in che modo i post sui social media influiscono sui prezzi futuri dei singoli titoli. Qui, studieremo l'impatto dei post sui social media su Reddit, in particolare subreddit/forum focalizzati sugli investimenti, utilizzando metodi di analisi del testo.

Puoi utilizzare i file del repository GitHub per pulire e applicare l'analisi del sentiment ai post/commenti di Reddit e utilizzare questi dati per creare modelli di regressione. Il repository include anche il codice che puoi utilizzare per l'applicazione Web interattiva utilizzata per visualizzare il sentiment in tempo reale per specifici ticker di azioni e fare previsioni pertinenti.

11. Io_bot

Questo è un divertente progetto NLP in cui svilupperai un bot chiamato Me_Bot che sfrutterà le tue conversazioni WhatsApp, imparerà da esse e converserà con te proprio come faresti con un'altra persona. In sostanza, l'idea è quella di creare un bot che parli come te.

Devi esportare le tue chat WhatsApp dal tuo telefono e addestrare il bot su questi dati. Per farlo, devi andare su WhatsApp sul tuo telefono, scegliere una conversazione qualsiasi ed esportarla dalle impostazioni dell'app. Quindi puoi spostare il file ".txt" generato nella cartella Me_Bot.

12. Analizzatore di emozioni vocali

Questo progetto ruota attorno alla creazione di un modello ML in grado di rilevare le emozioni dalle conversazioni che abbiamo comunemente nella nostra vita quotidiana. Il modello ML può rilevare fino a cinque diverse emozioni e offrire consigli personalizzati in base al tuo stato d'animo attuale.

Questo motore di raccomandazione basato sulle emozioni è di immenso valore per molti settori in quanto possono utilizzarlo per vendere a un pubblico altamente mirato e ad acquirenti. Ad esempio, le piattaforme di streaming di contenuti online possono utilizzare questo strumento per offrire suggerimenti di contenuti personalizzati alle persone leggendo il loro stato d'animo e le preferenze attuali.

Leggi anche: Deep Learning vs NLP

Conclusione

Con questo, siamo arrivati ​​alla fine della nostra lista. Questi 12 progetti NLP su GitHub sono eccellenti per affinare le tue capacità di programmazione e sviluppo di progetti. Soprattutto, la costruzione di progetti ti aiuterà a padroneggiare le sfumature dell'elaborazione del linguaggio naturale, rafforzando così la tua conoscenza del dominio.

Se desideri migliorare le tue capacità di PNL, devi mettere le mani su questi progetti di PNL. Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Status di Alumni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Quali sono le principali sfide dell'elaborazione del linguaggio naturale?

L'elaborazione del linguaggio naturale presenta molte sfide. Il problema principale è la mancanza di disponibilità di potenza di calcolo. Gli algoritmi attuali sono creati per essere eseguiti in sistemi off-line che richiedono un'enorme potenza di calcolo e potrebbero richiedere più tempo per completare l'elaborazione. L'altro problema sono le risorse disponibili. La creazione di un algoritmo in grado di funzionare con una piccola quantità di dati non è facile e richiede più tempo. Un'altra sfida è la disponibilità di enormi quantità di dati che dobbiamo elaborare.

Quale modello NLP offre la migliore precisione?

La migliore precisione per i modelli NLP si ottiene facendo passare il testo attraverso una serie di filtri sempre più sofisticati. Il primo livello consiste nel rimuovere le parole chiave, la punteggiatura e i numeri. Dopodiché, l'intero testo dovrebbe essere stemmer usando uno stemmer Porter, quindi tutte le parole dovrebbero essere sostituite dalle loro forme lemmatizzate. Quindi, il passaggio finale è rimuovere tutte le parole che non esistono in un vocabolario di 200.000 parole.

Che cos'è la tokenizzazione in NLP?

La tokenizzazione è un processo di scomposizione di una frase nelle sue parti costitutive, chiamate token. Dopo aver applicato il processo, possiamo facilmente estrarre il significato o l'intento di una frase. La tokenizzazione viene eseguita dopo aver eseguito la divisione delle frasi. In NLP, i token vengono utilizzati per l'ulteriore elaborazione, classificazione e rappresentazione della frase. Alcune delle attività NLP che coinvolgono la tokenizzazione sono il rilevamento della lingua, la codifica e l'analisi del POS.