Die besten NLP-Projekte auf Github, die Sie selbst ausprobieren sollten [2022]

Veröffentlicht: 2021-01-01

Künstliche Intelligenz hat mehrere Zweige, von denen sich die Verarbeitung natürlicher Sprache (NLP) zu einem leistungsstarken New-Age-Tool entwickelt hat. NLP geht auf die 1950er Jahre zurück, als Alan Turing einen Artikel – „ Computing Machinery and Intelligence “ – veröffentlichte, der einen Test (heute bekannt als Turing-Test ) vorschlug, der eine automatisierte Interpretation und Generierung natürlicher menschlicher Sprachen beinhaltete. Trotzdem hat NLP erst vor kurzem weltweite Anerkennung und Popularität erlangt.

Inhaltsverzeichnis

Was ist Natural Language Processing?

Bei der Verarbeitung natürlicher Sprache geht es darum, die Kommunikation zwischen Mensch und Maschine zu erleichtern. Ziel ist es, Computer darin zu trainieren, natürliche menschliche Sprachen zu verstehen, zu interpretieren und zu manipulieren. NLP lässt sich von verschiedenen Disziplinen wie Künstlicher Intelligenz, Informatik und Computerlinguistik inspirieren.

Menschen kommunizieren in ihrer Muttersprache wie Englisch, Japanisch, Spanisch usw., während Computer in ihrer Muttersprache sprechen, die eine binäre Sprache ist. Während Computer unsere natürliche menschliche Sprache nicht verstehen können, ist Maschinensprache für die meisten Menschen meist unverständlich.

Hier setzt NLP an, um die Lücke zwischen menschlicher Kommunikation und Computerverständnis zu schließen. Die Verarbeitung natürlicher Sprache befähigt und trainiert Computer, mit Menschen in ihrer Muttersprache zu kommunizieren, indem sie ihnen helfen, Texte zu lesen, Sprache zu hören, Audio-/Textnachrichten zu interpretieren, Stimmungen zu messen und vieles mehr.

Mit der Explosion von Daten, die durch die alltäglichen Interaktionen und Transaktionen in der digitalen Welt verursacht wird, ist die Verarbeitung natürlicher Sprache für Unternehmen immer wichtiger geworden. Dank NLP können Unternehmen riesige Mengen an rohen Geschäftsdaten, Social-Media-Geschwätz usw. nutzen, um Daten zu verstehen und datenorientierte Entscheidungen zu treffen.

In diesem Artikel listen wir 12 NLP-Projekte auf GitHub auf, um Sie zu inspirieren! Die Arbeit an diesen Projekten wird dazu beitragen, Ihr Domänenwissen zu erweitern und Ihre praktischen Fähigkeiten zu schärfen.

Top GitHub NLP-Projekte

1. Paraphrasenidentifikation

Die Paraphrasenerkennung ist eine NLP-Anwendung, die erkennt, ob zwei verschiedene Sätze dieselbe Bedeutung haben oder nicht. Es wird häufig in der maschinellen Übersetzung, der Beantwortung von Fragen, der Informationsextraktion/-abfrage, der Textzusammenfassung und der Generierung natürlicher Sprache verwendet.

Dies ist ein anfängerfreundliches Projekt, bei dem Sie ein Paraphrasen-Identifizierungssystem aufbauen, das die Ähnlichkeiten und Unterschiede zwischen zwei Texteinheiten (z. B. Sätzen) genau identifizieren kann, indem Sie syntaktische und semantische Analysen darauf anwenden.

2. Dokumentenähnlichkeit

Dies ist ein weiteres anfängerfreundliches Projekt, das darauf abzielt, die Ähnlichkeiten zwischen zwei Dokumenten mithilfe der Cosinus-Ähnlichkeitsmethode zu quantifizieren. Durch das Auffinden der Ähnlichkeiten zwischen den beiden Papieren wird dieses Projekt die gemeinsamen Diskussionsthemen hervorheben.

Kosinusähnlichkeit wandelt zwei Dokumente in Vektoren um, um die Ähnlichkeit zwischen diesen Vektoren zu berechnen. Es berechnet die Dokumentähnlichkeiten, indem es den inneren Produktraum nimmt, der den Kosinuswinkel zwischen ihnen misst.

3. Textvorhersage

In diesem Projekt erstellen Sie eine Anwendung, die das nächste Wort vorhersagen kann, während Sie Wörter eingeben. Zu den Tools, die zum Erstellen dieses Textvorhersageprojekts verwendet wurden, gehören Natural Language Processing, Text Mining und die Tool-Suite von R.

Das Projekt verwendet einen Maximum-Likelihood-Schätzer mit Kneser-Ney-Glättung als Vorhersagemodell. Die Vorhersage basiert auf der Sammlung von Wörtern, die in der zum Trainieren des Modells verwendeten Datenbank gespeichert sind. Den vollständigen Satz an Ressourcen für dieses Projekt finden Sie auf GitHub.

4. Die Wissenschaft des Genies

Dieses Projekt ist Teil des Science of Success-Projekts . Das Ziel hier ist festzustellen, ob bestimmte lexikalische Faktoren die Aufmerksamkeit anzeigen können, die ein Artikel erhalten hat, gemessen durch normalisierte Zitationsindizes, unter Verwendung einer Vielzahl von Datenwissenschafts- und NLP-Analysewerkzeugen.

In der Anfangsphase konzentriert sich dieses Projekt auf die Untersuchung der zeitlichen und disziplinären Varianz in der Länge und den syntaktischen Merkmalen von Artikeltiteln im Web of Science – einem Datensatz mit über 50 Millionen seit 1900 veröffentlichten Artikeln. Das Gesamtbild ist die Erstellung eines quantitativen Modells die die Auswirkungen einer wissenschaftlichen Arbeit auf die Gemeinschaft genau abschätzen können.

5. Extrahieren Sie die Aktienstimmung aus den Schlagzeilen

Wie der Titel schon sagt, werden Sie Stimmungsanalysen zu Finanznachrichten-Schlagzeilen von Finviz verwenden, um Einblicke in Investitionen in dieses Projekt zu gewinnen. Die Stimmungsanalysetechnik hilft Ihnen, die Emotionen hinter den Schlagzeilen zu verstehen und zu interpretieren und vorherzusagen, ob die aktuelle Marktsituation für eine bestimmte Aktie günstig ist oder nicht.

6. Intelligenter Bot

Dieses Projekt beinhaltet den Aufbau eines intelligenten Bots, der Ergebnisse aus einem bestimmten Repository analysieren und abgleichen kann, um Fragen zu beantworten. Der Bot verwendet WordNet für diesen Vorgang. Es gewichtet den Kontext einer Frage bezüglich der Tags in strukturierten Dokumenten (wie Kopfzeilen, fettgedruckte Titel usw.). Da der Kontext erhalten bleibt, können Sie verwandte Fragen zum selben Thema stellen.

Wenn Sie beispielsweise einen Wikipedia-Artikel abfragen möchten, können Sie die Vorlage „Erzählen Sie mir von XYZ“ verwenden und ähnliche Fragen stellen, sobald der Kontext hergestellt ist. Auch hier können Sie eine Webseite abfragen, indem Sie die URL der Seite als Quelle angeben, z. B. „ https://www.microsoft.com/en-us/software-download/faq “. Dies funktioniert hervorragend mit FAQ- und Q&A-Seiten.

7. Zitiert CyVerse

Das CitesCyVerse-Projekt basiert auf The Science Citation Knowledge Extractor . CitesCyVerse ist ein Open-Source-Tool, das maschinelles Lernen und NLP nutzt, um biomedizinischen Forschern dabei zu helfen, zu verstehen, wie andere ihre Arbeit nutzen, indem der Inhalt in Artikeln analysiert wird, in denen sie zitiert werden. Durch die Verwendung von ML und NLP extrahiert CitesCyVerse die wichtigsten Themen und Konzepte, die in den zitierenden Dokumenten diskutiert werden. Dadurch können Forscher besser verstehen, wie ihre Arbeit andere in der wissenschaftlichen Gemeinschaft beeinflusst.

CitesCyVerse enthält WordClouds, die neue Wolken aus ähnlichen Wörtern erzeugen, die in zitierenden Artikeln erwähnt werden. Außerdem enthält es Themen, mit denen Sie beliebte Themen für Artikel und Veröffentlichungen erkunden können, die CyVerse zitieren.

8. Data Science Capstone – Datenverarbeitungsskripte

In diesem datenwissenschaftlichen Abschlussprojekt verwenden Sie Datenverarbeitungsskripts, um Data Engineering zu demonstrieren, anstatt ein N-Gramm-Modell zu erstellen. Diese Skripte können den gesamten Korpus verarbeiten, um die N-Gramme und ihre Zählwerte zu erzeugen. Sie können diese Daten verwenden, um prädiktive Textalgorithmen zu entwickeln.

Um dieses Projekt zu erstellen, benötigen Sie ein Dual-Core-System (da die meisten Skripts Single-Threaded sind) mit mindestens 16 GB RAM. Was die Softwareanforderungen betrifft, benötigen Sie – Linux (am besten getestet auf Ubuntu 14.04), Python (Version 2.7), NLTK (Version 3.0) und NumPy.

Lesen Sie: Projektideen und -themen zur Verarbeitung natürlicher Sprache

9. Skriptgenerator

Dies ist ein spannendes Projekt, bei dem Sie RNNs erstellen, um TV-Drehbücher für die beliebte Serie Die Simpsons basierend auf einem Drehbuchdatensatz aller 27 Staffeln der Serie zu erstellen. Die RNNs erstellen ein neues Drehbuch für eine bestimmte Szene, die in Moe's Tavern gedreht wurde.

Das Script-Generator-Projekt ist Teil von Udacitys Deep Learning Nanodegree. Die Projektimplementierung ist enthalten in: dlnd_tv_script_generation.ipynb

10. Reddit-Aktienvorhersage

Dieses Projekt versucht zu verstehen, wie sich Social-Media-Beiträge auf die zukünftigen Kurse einzelner Aktien auswirken. Hier untersuchen wir die Auswirkungen von Social-Media-Beiträgen auf Reddit, insbesondere investitionsorientierte Subreddits/Foren, mithilfe von Textanalysemethoden.

Sie können die GitHub-Repository-Dateien verwenden, um Sentimentanalysen auf Reddit-Posts/Kommentare zu bereinigen und anzuwenden, und diese Daten verwenden, um Regressionsmodelle zu erstellen. Das Repository enthält auch den Code, den Sie für die interaktive Webanwendung verwenden können, die zur Visualisierung der Stimmung für bestimmte Börsenticker in Echtzeit verwendet wird, und treffen Sie relevante Vorhersagen.

11. Me_Bot

Dies ist ein lustiges NLP-Projekt, bei dem Sie einen Bot namens Me_Bot entwickeln, der Ihre WhatsApp-Gespräche nutzt, daraus lernt und sich mit Ihnen genauso unterhält, wie Sie es mit einer anderen Person tun würden. Im Wesentlichen geht es darum, einen Bot zu erstellen, der wie Sie spricht.

Sie müssen Ihre WhatsApp-Chats von Ihrem Telefon exportieren und den Bot mit diesen Daten trainieren. Dazu müssen Sie auf Ihrem Telefon zu WhatsApp gehen, eine Konversation auswählen und sie aus den Einstellungen der App exportieren. Dann können Sie die generierte „.txt“-Datei in den Me_Bot-Ordner verschieben.

12. Sprach-Emotions-Analysator

Dieses Projekt dreht sich um die Erstellung eines ML-Modells, das Emotionen aus den Gesprächen erkennen kann, die wir üblicherweise in unserem täglichen Leben führen. Das ML-Modell kann bis zu fünf verschiedene Emotionen erkennen und personalisierte Empfehlungen basierend auf Ihrer aktuellen Stimmung anbieten.

Diese auf Emotionen basierende Empfehlungsmaschine ist für viele Branchen von immensem Wert, da sie damit an sehr gezielte Zielgruppen und Käuferpersönlichkeiten verkaufen können. Beispielsweise können Streaming-Plattformen für Online-Inhalte dieses Tool verwenden, um Einzelpersonen maßgeschneiderte Inhaltsvorschläge anzubieten, indem sie ihre aktuelle Stimmung und Vorliebe lesen.

Lesen Sie auch: Deep Learning vs. NLP

Fazit

Damit sind wir am Ende unserer Liste angelangt. Diese 12 NLP-Projekte auf GitHub eignen sich hervorragend, um Ihre Programmier- und Projektentwicklungsfähigkeiten zu verbessern. Am wichtigsten ist, dass die Projekterstellung Ihnen hilft, die Nuancen der Verarbeitung natürlicher Sprache zu beherrschen und dadurch Ihr Domänenwissen zu stärken.

Wenn Sie Ihre NLP-Fähigkeiten verbessern möchten, müssen Sie sich diese NLP-Projekte aneignen. Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Was sind die größten Herausforderungen bei der Verarbeitung natürlicher Sprache?

Die Verarbeitung natürlicher Sprache ist mit vielen Herausforderungen verbunden. Das Hauptproblem ist die mangelnde Verfügbarkeit von Rechenleistung. Die aktuellen Algorithmen sind so konzipiert, dass sie in Offline-Systemen laufen, die eine enorme Rechenleistung benötigen und mehr Zeit in Anspruch nehmen können, um die Verarbeitung abzuschließen. Das andere Problem sind die verfügbaren Ressourcen. Das Erstellen eines Algorithmus, der mit einer kleinen Datenmenge arbeiten kann, ist nicht einfach und zeitaufwändiger. Eine weitere Herausforderung ist die Verfügbarkeit riesiger Datenmengen, die wir verarbeiten müssen.

Welches NLP-Modell bietet die beste Genauigkeit?

Die beste Genauigkeit für NLP-Modelle wird erreicht, indem der Text durch eine Reihe immer ausgefeilterer Filter geleitet wird. Die erste Ebene besteht darin, Stoppwörter, Satzzeichen und Zahlen zu entfernen. Danach sollte der gesamte Text mit einem Porter-Stemmer gestemmt werden, dann sollten alle Wörter durch ihre lemmatisierten Formen ersetzt werden. Der letzte Schritt besteht dann darin, alle Wörter zu entfernen, die in einem Vokabular von 200.000 Wörtern nicht vorhanden sind.

Was ist Tokenisierung im NLP?

Tokenisierung ist ein Prozess, bei dem ein Satz in seine Bestandteile zerlegt wird, die Token genannt werden. Nach der Anwendung des Prozesses können wir die Bedeutung oder Absicht eines Satzes leicht extrahieren. Die Tokenisierung erfolgt nach der Satzaufteilung. Im NLP werden die Tokens zur weiteren Verarbeitung, Klassifizierung und Darstellung des Satzes verwendet. Einige der NLP-Aufgaben, die Tokenisierung beinhalten, sind Spracherkennung, POS-Tagging und Parsing.