Technologische Neuigkeiten, Bewertungen und Tipps!

Semantische Analyse mit Python verstehen – NLP

Hinweis: Der folgende Artikel hilft Ihnen dabei: Semantische Analyse mit Python verstehen – NLP

Wie verstehen Maschinen unsere Sprache? Dieses Tutorial befasst sich mit der semantischen Analyse, einem wichtigen Bereich der Verarbeitung natürlicher Sprache (NLP).

13 Min. Lektüre

·

13. Mai 2021

Autor(en): Daksh Trehan, Roberto Iriondo

Wir leben in einer Welt, die zunehmend von Maschinen abhängig wird. Ob Siri, Alexa oder Google, sie alle können (meistens) die menschliche Sprache verstehen. Aber wie machen sie das? Heute werden wir untersuchen, wie einige der neuesten Entwicklungen im Bereich NLP (Natural Language Processing) es uns erleichtern können, Texte zu verarbeiten und zu analysieren.

Können Computer menschliche Sprache verstehen und darauf reagieren? Eine der grundlegendsten Fragen der Informatik. Seit vielen Jahrhunderten diskutieren Menschen über dieses Thema: Können Maschinen „denken“, „fühlen“ sie, wie nah sind wir dran? eine Denkmaschine erschaffen?

Für viele von uns sind Maschinen und Computer ein Rätsel. Sie tun das, worauf wir sie programmieren, aber sie lernen ständig und passen sich an (was in manchen Fällen beängstigend ist). Das Faszinierende an Computern und künstlicher Intelligenz ist, wie sie menschliche Sprache verstehen können. Wie sind sie so hell geworden? Was macht unsere Sprache eigentlich so intelligent, dass sie in so wenigen Worten so viel Bedeutung vermitteln kann? Das Verständnis dieser Konzepte ist entscheidend, wenn wir eine nahtlose Kommunikation zwischen Menschen und Computern wollen. In diesem Artikel wird erläutert, wie die semantische Analyse funktioniert, und die Grundlagen von Python zum Aufbau NLP-bezogener Systeme unter Verwendung einer der wichtigsten NLP-Techniken dargelegt: semantische Analyse.

NLP oder Natural Language Processing gibt es schon seit Jahrzehnten. Als Entwickler ist es faszinierend zu sehen, wie Maschinen viele Wörter in aussagekräftige Daten umwandeln können. Das nimmt etwas, das wir täglich verwenden, die Sprache, und verwandelt es in etwas, das für viele Zwecke verwendet werden kann. Schauen wir uns einige Beispiele an, wie dieser Prozess aussieht und wie wir ihn in unserem täglichen Leben nutzen können.

Wir haben zuvor ein ausführliches Tutorial dazu veröffentlicht Verarbeitung natürlicher Sprache mit Python. Dieses Mal wollten wir die semantische Analyse genauer untersuchen und erklären, was eigentlich mit den Algorithmen passiert, die unser Problem lösen. Die Begleitressourcen zu diesem Tutorial sind verfügbar unter Github und auch dessen vollständige Umsetzung Google Colab.

Experten definieren natürliche Sprache als die Art und Weise, wie wir mit unseren Mitmenschen kommunizieren. Von der Sprache bis zum Text sind alle Teil der natürlichen Sprache. Schauen Sie sich um und wir werden Tausende von Beispielen natürlicher Sprache finden, von Zeitungen bis hin zu unerwünschten Ratschlägen eines besten Freundes.

Für eine Maschine ist der Umgang mit natürlicher Sprache schwierig, da ihre Regeln chaotisch und nicht definiert sind. Stellen Sie sich vor, wie ein Kind Jahre seiner Ausbildung damit verbringt, die Sprache zu lernen und zu verstehen, und wir erwarten, dass die Maschine sie innerhalb von Sekunden versteht. Um mit solchen Textdaten umzugehen, verwenden wir Verarbeitung natürlicher Sprachedas für die Interaktion zwischen Benutzern und Maschinen mithilfe natürlicher Sprache verantwortlich ist.

Algorithmen für maschinelles Lernen basieren größtenteils auf Statistiken und verarbeiten Zahlen und Ziffern, was die eigentliche Herausforderung natürlicher Sprache darstellt. Damit die Maschine unser Motiv mithilfe natürlicher Sprache verstehen kann, müssen wir unsere Textdaten in eine maschinenverständliche Form umwandeln, in diesem Fall also in Zahlen. Eine weitere Herausforderung unserer Textmodelle besteht darin, unserem Modell unser Motiv verständlich zu machen. Wie bereits erwähnt, sind die Regeln für natürliche Sprache chaotisch und locker, und die Übertragung unserer Ideen auf eine Maschine mithilfe der Verarbeitung natürlicher Sprache ist eine ziemlich schwierige Aufgabe. Um den Prozess zu vereinfachen, haben wir ein vordefiniertes Regelwerk zusammengestellt:

Abbildung 1: Arten der Analyse der Verarbeitung natürlicher Sprache.

Lexikalische Analyse: Dabei geht es darum, die Struktur von Wörtern zu analysieren, also den Textblock in Absätze, Sätze und Wörter zu zerlegen.

Die beiden am weitesten verbreiteten Techniken sind:

  • Lemmatisierung: Hierfür benötigen wir den vorherigen Wortteil, auf dessen Grundlage wir das nächste Wort in seine Stammform umwandeln.
Abbildung 2: Ein Beispiel für Lemmatisierung.
  • Stemmen: Es handelt sich um eine regelbasierte Konvertierung von Wörtern, die ohne jeglichen Kontext funktioniert, um eine generische Form zu erhalten.
Abbildung 3: Ein Beispiel für Stemming.

Syntaktische Analyse: Das Motiv besteht darin, die grammatikalische Syntax des Satzes zu überprüfen. zB: „Ein Junge ist ein Er.“ Der Parser würde diesen Satz ablehnen, weil die Wörter gemischt sind. Auch wenn der Satz die richtige Bedeutung hat, ist die grammatikalische Struktur fehlerhaft.

Die syntaktische Analyse umfasst die Analyse der grammatikalischen Beziehung zwischen Wörtern und die Überprüfung ihrer Anordnung im Satz. Wortart-Tags und Abhängigkeitsgrammatik spielen in diesem Schritt eine wesentliche Rolle.

Semantische Analyse: Dieser Schritt ist dafür verantwortlich, die mögliche Bedeutung des Satzes zu generieren, indem Bedeutungen auf Wortebene miteinander verbunden werden. Es hilft, die Textelemente zu identifizieren und ihre logische Bedeutung zu finden.

Beispielsweise mag „buntes Rot“ grammatikalisch korrekt erscheinen, aber logisch ist es irrelevant, sodass der Semantic Analyzer es verwirft.

Offenlegungsintegration: Es konzentriert sich auf die vorherige und nächste Aussage, um die Bedeutung der aktuellen Aussage zu generieren. Es folgt einem organisierten, regelbasierten Ansatz.

z. B. „Tom hatte einen Unfall, weil er zu schnell gefahren ist.“ Anhand dieses Satzes können wir schließen, dass Tom einen Unfall hatte und es seine Schuld war, aber wenn wir einige Phrasen entfernen oder nur einige wenige Phrasen berücksichtigen, könnte sich die Bedeutung ändern.

Pragmatische Analyse: Es hilft, die zusätzliche ungerichtete Bedeutung im Text aufzudecken, die umfassende Weltkenntnisse und Kontextverständnis erfordert.

B.: „Die Bank hat ihnen den Kredit verweigert, weil sie keine gute Kreditwürdigkeit hatten.“

„Die Bank lehnte ihnen den Kredit ab, weil sie befürchteten, dass sie ihn nicht zurückzahlen würden.“

Die Bedeutung von „sie“ in den beiden Sätzen ist völlig unterschiedlich, und um den Unterschied herauszufinden, benötigen wir Weltwissen und den Kontext, in dem Sätze gebildet werden.

Semantische Analyse kann als ein Prozess bezeichnet werden, bei dem Bedeutungen aus dem Text herausgefunden werden. Text ist ein integraler Bestandteil der Kommunikation, und es ist unerlässlich, zu verstehen, was der Text vermittelt, und zwar auch im großen Maßstab. Als Menschen trainieren wir jahrelang, um die Sprache zu verstehen, es ist also kein langwieriger Prozess. Allerdings benötigt die Maschine hierfür eine Reihe vordefinierter Regeln.

Semantische Analyse ist die Technik, mit der wir von unserer Maschine erwarten, dass sie die logische Bedeutung aus unserem Text extrahiert. Es ermöglicht dem Computer, die Sprachstruktur und das grammatikalische Format zu interpretieren, die Beziehung zwischen Wörtern zu identifizieren und so eine Bedeutung zu schaffen.

Es verarbeitet die logische Struktur und versucht, die optimalen Elemente im Text und die Beziehung zwischen verschiedenen Konzepten zu identifizieren. Beispielsweise kann das Modell das Konzept des Textes über „Fußball“ leicht verstehen, auch wenn dieser keine tatsächlichen Wörter, sondern verwandten Text wie „Messi“, „Ronaldo“, „Serie-A“, „BRFootball“ enthält.

Es ist die treibende Kraft hinter vielen Anwendungsfällen des maschinellen Lernens wie Chatbots, Suchmaschinen und NLP-basierten Cloud-Diensten. Da die semantische Analyse hilft, die wahre Bedeutung hinter dem Satz zu verstehen, wird sie von Informationsgiganten häufig verwendet, um potenziell Kunden auf das Unternehmen aufmerksam zu machen, indem sie aussagekräftige Informationen aus unstrukturierten Daten wie E-Mails, Tweets, Support-Tickets und Bewertungen extrahieren Schritte zur Verbesserung des Feedbacks.

Table of Contents