Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Verarbeitung natürlicher Sprachen umfasst viele Anwendungen, z. B. Stimmungsanalyse, Themenerkennung, Spracherkennung, Extraktion von Schlüsselbegriffen und Dokumentkategorisierung.
Insbesondere können Sie die Verarbeitung natürlicher Sprachen verwenden, um:
- Klassifizieren von Dokumenten. Sie können sie z. B. als vertraulich oder spam kennzeichnen.
- Führen Sie nachfolgende Verarbeitungen oder Suchen durch, indem Sie die Ausgaben der linguistischen Datenverarbeitung verwenden.
- Fassen Sie Text zusammen, indem Sie Entitäten im Dokument identifizieren.
- Markieren Sie Dokumente mit Schlüsselwörtern mithilfe von identifizierten Entitäten.
- Führen Sie inhaltsbasierte Suche und Abruf mithilfe von Tags durch.
- Fassen Sie die wichtigsten Themen eines Dokuments mithilfe identifizierter Entitäten zusammen.
- Kategorisieren Sie Dokumente für die Navigation mithilfe erkannter Themen.
- Zählen Sie verwandte Dokumente basierend auf einem ausgewählten Thema auf.
- Bewerten Sie die Textstimmung, um ihren positiven oder negativen Ton zu verstehen.
Da die Technologie voranschreitet, können Sie die Verarbeitung natürlicher Sprachen verwenden, um Textdaten zu kategorisieren und zu analysieren. Sie können sie auch verwenden, um interpretierbare KI-Funktionen in verschiedenen Bereichen zu verbessern. Durch die Integration von Sprachmodellen werden die Funktionen der Verarbeitung natürlicher Sprachen erheblich verbessert. Sprachmodelle wie GPT und BERT können menschenähnlichen, kontextbezogenen Text generieren. Diese Funktion macht sie für komplexe Sprachverarbeitungsaufgaben sehr effektiv. Sie ergänzen bestehende Techniken zur Verarbeitung natürlicher Sprachen durch die Behandlung umfassenderer kognitiver Aufgaben, die Unterhaltungssysteme und Kundenbindung verbessern, insbesondere mit Modellen wie Databricks'Dolly 2.0.
Beziehung und Unterschiede zwischen Sprachmodellen und natürlicher Sprachverarbeitung
Die Verarbeitung natürlicher Sprachen ist ein umfassendes Feld, das verschiedene Techniken zur Verarbeitung der menschlichen Sprache umfasst. Im Gegensatz dazu sind Sprachmodelle eine bestimmte Teilmenge der Verarbeitung natürlicher Sprachen. Sie konzentrieren sich auf deep learning, um allgemeine Sprachaufgaben auszuführen. Sprachmodelle verbessern die Verarbeitung natürlicher Sprachen, indem erweiterte Funktionen für die Textgenerierung und das Verständnis bereitgestellt werden, aber sie sind nicht gleichbedeutend mit der Verarbeitung natürlicher Sprachen. Stattdessen dienen sie als leistungsstarke Tools in der umfassenderen Domäne für die Verarbeitung natürlicher Sprachen, indem sie komplexere Sprachverarbeitung ermöglichen.
Hinweis
Dieser Artikel konzentriert sich auf die Verarbeitung natürlicher Sprachen. Die Beziehung zwischen verarbeitung natürlicher Sprache und Sprachmodellen zeigt, dass Sprachmodelle Die Verarbeitungsprozesse natürlicher Sprachen durch überlegene Sprachverständnis- und Generierungsfunktionen verbessern.
Potenzielle Anwendungsfälle
Geschäftsszenarien, die von der benutzerdefinierten Verarbeitung natürlicher Sprachen profitieren können, umfassen:
Dokumentintelligenz für handschriftliche oder maschinengestützte Dokumente in Finanz-, Gesundheits-, Einzelhandels-, Regierungs- und anderen Sektoren.
Branchenunabhängige Verarbeitungsaufgaben für natürliche Sprachen für die Textverarbeitung, z. B. benannte Entitätserkennung (NER), Klassifizierung, Zusammenfassung und Beziehungsextraktion.
Mit diesen Aufgaben können Sie Dokumentinformationen wie Text und unstrukturierte Daten automatisch abrufen, identifizieren und analysieren. Beispiele für diese Aufgaben sind Risikoschichtmodelle, Ontologieklassifizierung und Einzelhandelszusammenfassungen.
Informationsabruf und Wissensdiagrammerstellung für die semantische Suche. Diese Funktionalität ermöglicht es, medizinische Wissensdiagramme zu erstellen, die die Arzneimittelermittlung und klinische Studien unterstützen.
Textübersetzung für Unterhaltungs-KI-Systeme in kundenbezogenen Anwendungen in Einzelhandels-, Finanz-, Reise- und anderen Branchen.
Stimmung und verbesserte emotionale Intelligenz in der Analyse, insbesondere zur Überwachung der Markenwahrnehmung und Kundenfeedbackanalysen.
Automatische Berichterstellung. Synthetisieren und generieren Sie umfassende Textberichte aus strukturierten Dateneingaben. Diese Aufgaben helfen Sektoren wie Finanzen und Compliance, bei denen eine gründliche Dokumentation erforderlich ist.
Sprachaktive Schnittstellen, die die Verarbeitung natürlicher Sprachen für spracherkennung und natürliche Unterhaltungsfunktionen integrieren. Diese Integration verbessert die Benutzerinteraktionen in Internet of Things-Anwendungen und Smart Device-Anwendungen.
Adaptive Sprachmodelle, die die Sprachausgabe dynamisch an verschiedene Benutzergruppenverständnisebenen anpassen können. Diese Funktion ist für Bildungsinhalte und Verbesserungen der Barrierefreiheit von entscheidender Bedeutung.
Cybersicherheitstextanalyse zur Analyse von Kommunikationsmustern und Sprachnutzung in Echtzeit. Diese Analyse hilft Ihnen, potenzielle Sicherheitsbedrohungen in der digitalen Kommunikation zu erkennen und die Erkennung von Phishingversuchen oder Fehlinformationen zu verbessern.
Apache Spark als angepasstes Framework für die Verarbeitung natürlicher Sprachen
Apache Spark ist ein leistungsfähiges Parallelverarbeitungsframework, das die Leistung von Big Data-Analyseanwendungen mithilfe der Speicherverarbeitung verbessert. Azure Synapse Analytics, Azure HDInsightund Azure Databricks einen robusten Zugriff auf die Verarbeitungsfunktionen von Spark bieten. Dieser Zugriff hilft Ihnen, umfangreiche Datenvorgänge nahtlos auszuführen.
Spark NLP ist ein effizientes Framework, das große Textmengen für angepasste Verarbeitungsworkloads für natürliche Sprachen verarbeiten kann. Diese Open-Source-Bibliothek bietet umfangreiche Funktionen mithilfe von Python-, Java- und Scala-Bibliotheken. Diese Bibliotheken bieten die Raffinesse, die Sie in prominenten Bibliotheken für die Verarbeitung natürlicher Sprachen wie spaCy und Natural Language Toolkit finden können. Spark NLP umfasst erweiterte Features wie Rechtschreibprüfung, Stimmungsanalyse und Dokumentklassifizierung. Diese Features helfen Ihnen dabei, eine optimale Genauigkeit und Skalierbarkeit zu gewährleisten.
Apache®, Apache Spark und das Flammenlogo sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern. Es wird nicht impliziert, dass eine Unterstützung der Apache Software Foundation vorliegt, wenn diese Marken verwendet werden.
Aktuelle öffentliche Benchmarks heben die Leistung von Spark NLP hervor. Diese Benchmarks zeigen erhebliche Geschwindigkeitsverbesserungen gegenüber anderen Bibliotheken. Spark NLP behält auch eine vergleichbare Genauigkeit für die Schulung von benutzerdefinierten Modellen bei. Insbesondere verbessert die Integration der Llama 2-Modelle und OpenAI Whisper Unterhaltungsschnittstellen und mehrsprachige Spracherkennung. Diese Funktionen weisen erhebliche Fortschritte bei optimierten Verarbeitungsfunktionen auf.
Spark NLP nutzt effektiv einen verteilten Spark-Cluster, der als systemeigene Erweiterung von Spark ML funktioniert und direkt auf Datenframes arbeitet. Diese Integration unterstützt verbesserte Leistungssteigerungen auf Clustern, wodurch die Erstellung einheitlicher Verarbeitungs- und Machine Learning-Pipelines für Aufgaben wie Dokumentklassifizierung und Risikovorhersage erleichtert wird. MPNet-Einbettungen und umfangreiche ONNX-Unterstützung erweitern diese Funktionen weiter und ermöglichen eine präzise und kontextabhängige Verarbeitung.
Spark NLP liefert hochgenaue Ergebnisse in einem erweiterten Array natürlicher Sprachverarbeitungsaufgaben. Die Bibliothek verfügt über vorgefertigte Deep Learning-Modelle für benannte Entitätserkennung, Dokumentklassifizierung und Stimmungserkennung. Das funktionsreiche Design umfasst vortrainierte Sprachmodelle, die Wort-, Block-, Satz- und Dokumenteinbettungen unterstützen.
Die Infrastruktur von Spark NLP skaliert, indem optimierte Builds für CPUs, GPUs und die neuesten Intel Xeon-Chips verwendet werden, die es ermöglichen, Trainings- und Inferenzprozesse voll auszuschöpfen, um die Spark-Cluster vollständig auszunutzen. Diese Funktion trägt dazu bei, die effiziente Handhabung von Verarbeitungsaufgaben in natürlicher Sprache in verschiedenen Umgebungen und Anwendungen sicherzustellen.
Herausforderungen
Ressourcenverarbeitung: Die Verarbeitung einer Sammlung von Freiformtextdokumenten erfordert eine erhebliche Menge rechenintensiver Ressourcen. Die Verarbeitung ist auch zeitintensiv. Diese Art von Verarbeitung umfasst häufig die Bereitstellung von GPU-Rechenleistungen. Aktuelle Fortschritte, die die Quantisierung unterstützen, z. B. Optimierungen in Spark NLP-Architekturen wie Llama 2, helfen, diese intensiven Aufgaben zu optimieren, indem Ressourcen effizienter zugeordnet werden.
Standardisierung: Ohne standardisiertes Dokumentformat kann es schwierig sein, konsistente Ergebnisse zu erzielen, wenn Sie die Freiformtextverarbeitung verwenden, um bestimmte Fakten aus einem Dokument zu extrahieren. Beispielsweise stellt das Extrahieren der Rechnungsnummer und des Datums aus verschiedenen Rechnungen Herausforderungen dar. Die Integration anpassbarer Modelle für die Verarbeitung natürlicher Sprachen wie M2M100 verbessert die Verarbeitungsgenauigkeit in mehreren Sprachen und Formaten. Diese verbesserte Genauigkeit führt zu konsistenteren Ergebnissen.
Datenvielfalt und Komplexität: Die Behandlung der Vielfalt der Dokumentstrukturen und sprachlichen Nuancen bleibt komplex. Innovationen wie MPNet-Einbettungen bieten ein verbessertes kontextbezogenes Verständnis, was zu einer intuitiveren Handhabung verschiedener Textformate und zuverlässigerer Datenverarbeitung führt.
Wichtige Auswahlkriterien
In Azure bieten Spark-Dienste wie Azure Databricks, Microsoft Fabric und HDInsight Funktionen für die Verarbeitung natürlicher Sprachen, wenn Sie sie mit Spark NLP verwenden. Azure AI-Dienste sind eine weitere Option für die Verarbeitung natürlicher Sprachen. Berücksichtigen Sie die folgenden Aspekte, damit Sie entscheiden können, welcher Dienst verwendet werden soll:
Wenn Sie vorgefertigte oder vortrainierte Modelle verwenden möchten, sollten Sie die APIs verwenden, die KI-Dienste bereitstellen. Oder Sie können Ihr Modell ihrer Wahl über Spark NLP herunterladen, das erweiterte Modelle wie Llama 2 und MPNet für erweiterte Funktionen enthält.
Wenn Sie benutzerdefinierte Modelle für eine große Sammlung von Textdaten trainieren müssen, sollten Sie Azure Databricks, Fabric oder HDInsight mit Spark NLP verwenden. Diese Plattformen bieten die Rechenleistung und Flexibilität, die Sie für umfangreiche Modellschulungen benötigen.
Wenn Sie Funktionen für die Verarbeitung natürlicher Sprachen auf niedriger Ebene benötigen, z. B. Tokenisierung, Stemming, Lemmatisierung und Ausdruckshäufigkeit/Umgekehrte Dokumenthäufigkeit (TF/IDF), sollten Sie Azure Databricks, Fabric oder HDInsight mit Spark NLP verwenden. Alternativ können Sie eine Open-Source-Softwarebibliothek in Ihrem Auswahltool verwenden.
Wenn Sie einfache, allgemeine Funktionen für die Verarbeitung natürlicher Sprachen wie Entitäts- und Absichtserkennung, Themenerkennung, Rechtschreibprüfung oder Stimmungsanalyse benötigen, sollten Sie die APIs verwenden, die KI-Dienste bereitstellen. Oder laden Sie Ihr Modell ihrer Wahl über Spark NLP herunter, um vordefinierte Funktionen für diese Aufgaben zu verwenden.
Funktionsmatrix
In den folgenden Tabellen sind die wichtigsten Unterschiede bei den Funktionen von Sprachverarbeitungsdiensten zusammengefasst.
Allgemeine Funktionen
Annotatorfunktionen
Fähigkeit | Spark-Dienst (Azure Databricks, Fabric, HDInsight) mit Spark NLP | KI-Dienste |
---|---|---|
Satzerkennung | Ja | Nein |
Tiefe Satzerkennung | Ja | Ja |
Tokenisierer | Ja | Ja |
N-Gramm-Generator | Ja | Nein |
Wortsegmentierung | Ja | Ja |
Wortstammerkennung | Ja | Nein |
Lemmatisierung | Ja | Nein |
Satzteilmarkierung | Ja | Nein |
Abhängigkeitsparser | Ja | Nein |
Übersetzung | Ja | Nein |
Stoppwortbereinigung | Ja | Nein |
Rechtschreibkorrektur | Ja | Nein |
Normalisator | Ja | Ja |
Textabgleich | Ja | Nein |
TF/IDF | Ja | Nein |
Abgleich regulärer Ausdrücke | Ja | Eingebettet in das Feature "Conversational Language Understanding" (CLU) |
Datumsabgleich | Ja | Möglich in CLU durch DateTime-Erkenner |
Chunker | Ja | Nein |
Hinweis
Language Understanding (LUIS) wird am 1. Oktober 2025 eingestellt. Sie sollten vorhandene LUIS-Anwendungen in das Feature "Conversational Language Understanding" (CLU) von Azure AI Language migrieren, das die Sprachverständnisfunktionen verbessert und neue Features bereitstellt.
Hochentwickelte Verarbeitungsfunktionen für natürliche Sprache
Fähigkeit | Spark-Dienst (Azure Databricks, Fabric, HDInsight) mit Spark NLP | KI-Dienste |
---|---|---|
Rechtschreibprüfung | Ja | Nein |
Zusammenfassung | Ja | Ja |
Fragenbeantwortung | Ja | Ja |
Stimmungserkennung | Ja | Ja |
Emotionserkennung | Ja | Unterstützt Opinion Mining |
Tokenklassifizierung | Ja | Ja, über benutzerdefinierte Modelle |
Textklassifizierung | Ja | Ja, über benutzerdefinierte Modelle |
Textdarstellung | Ja | Nein |
NER | Ja | Ja, Textanalyse bietet einen Satz von NER |
Entitätserkennung | Ja | Ja, über benutzerdefinierte Modelle |
Spracherkennung | Ja | Ja |
Unterstützt neben Englisch noch andere Sprachen | Ja, unterstützt mehr als 200 Sprachen | Ja, unterstützt mehr als 97 Sprachen |
Einrichten von Spark NLP in Azure
Um Spark NLP zu installieren, verwenden Sie den folgenden Code, ersetzen sie jedoch <version>
durch die neueste Versionsnummer. Weitere Informationen finden Sie in Spark NLP-Dokumentation.
# Install Spark NLP from PyPI.
pip install spark-natural language processing==<version>
# Install Spark NLP from Anaconda or Conda.
conda install -c johnsnowlabs spark-natural language processing
# Load Spark NLP with Spark Shell.
spark-shell --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP with PySpark.
pyspark --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP with Spark Submit.
spark-submit --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP as an external JAR after compiling and building Spark NLP by using SBT assembly.
spark-shell --jars spark-natural language processing-assembly-3 <version>.jar
Entwickeln von Pipelines für die Verarbeitung natürlicher Sprachen
Spark NLP folgt dem gleichen Entwicklungskonzept wie herkömmliche Spark ML Machine Learning-Modelle, wenn sie eine Verarbeitungspipeline für natürliche Sprachen ausführt. Es wendet auch spezielle Techniken für die Verarbeitung natürlicher Sprachen an.
Eine Spark NLP-Pipeline umfasst die folgenden Kernkomponenten:
DocumentAssembler ist ein Transformator, der Daten vorbereitet, indem sie in ein Format konvertiert wird, das Spark NLP verarbeiten kann. Diese Phase ist der Einstiegspunkt für jede Spark NLP-Pipeline. DocumentAssembler liest entweder eine
String
Spalte oder eineArray[String]
und kann den Text mithilfe vonsetCleanupMode
vorverarbeiten, die standardmäßig deaktiviert ist.SentenceDetector ist ein Annotator, der Satzbegrenzungen mithilfe vordefinierter Ansätze identifiziert. Sie kann jeden erkannten Satz in einem
Array
oder in separaten Zeilen zurückgeben, wennexplodeSentences
auf "true" festgelegt ist.Tokenizer ist ein Annotator, der unformatierten Text in diskrete Token aufteilt, z. B. Wörter, Zahlen und Symbole, und gibt sie als
TokenizedSentence
aus. Tokenizer ist nicht angepasst und verwendet innerhalb vonRuleFactory
die Eingabekonfiguration, um Tokenisierungsregeln zu erstellen. Sie können benutzerdefinierte Regeln hinzufügen, wenn die Standardregeln nicht ausreichen.Normalizer- ist ein Annotator, der mit der Verfeinerung von Tokens beauftragt ist. Normalizer wendet reguläre Ausdrücke und Wörterbuchtransformationen auf reinen Text an und entfernt überflüssige Zeichen.
WordEmbeddings sind Lookup-Annotatoren, die Token zu Vektoren zuordnen und die semantische Verarbeitung erleichtern.a Sie können ein benutzerdefiniertes Einbettungswörterbuch mithilfe von
setStoragePath
angeben, wobei jede Zeile ein Token und dessen Vektor enthält, getrennt durch Leerzeichen. Nicht aufgelöste Token werden standardmäßig auf Nullvektoren festgelegt.
Spark NLP verwendet Spark MLlib-Pipelines, die systemeigene Unterstützung von MLflowhaben, einer Open-Source-Plattform, die den Lebenszyklus des maschinellen Lernens verwaltet. MLflow verfügt über die folgenden Schlüsselkomponenten:
MLflow Tracking zeichnet experimentelle Durchläufe auf und bietet robuste Abfragefunktionen, um Ergebnisse zu analysieren.
mit MLflow Projects können Sie Data Science-Code auf verschiedenen Plattformen ausführen. Diese Funktion verbessert die Portabilität und Reproduzierbarkeit.
MLflow-Modelle unterstützen die vielseitige Bereitstellung von Modellen in verschiedenen Umgebungen durch ein konsistentes Framework.
Modellregistrierung bietet umfassende Modellverwaltung durch zentrales Speichern von Versionen für optimierte Zugriff und Bereitstellung. Dieser Schritt erleichtert die Produktionsbereitschaft.
MLflow ist in Plattformen wie Azure Databricks integriert, Sie können ihn aber auch in anderen Spark-basierten Umgebungen installieren, um Ihre Experimente zu verwalten und nachzuverfolgen. Mit dieser Integration können Sie die MLflow-Modellregistrierung verwenden, um Modelle für Produktionszwecke zur Verfügung zu stellen. Sie können den Bereitstellungsprozess optimieren und die Modell-Governance aufrechterhalten.
Mithilfe von MLflow neben Spark NLP können Sie eine effizientere Verwaltung und Bereitstellung von Pipelines für die Verarbeitung natürlicher Sprachen sicherstellen. Sie können auch moderne Anforderungen an Skalierbarkeit und Integration erfüllen und erweiterte Techniken wie Worteinbettungen und Sprachmodellanpassungen unterstützen.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautoren:
- Freddy Ayala | Cloud-Lösungsarchitekt
- Moritz Steller | Senior Cloud Solution Architect
Um nichtöffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
Spark NLP-Dokumentation:
Azure-Komponenten:
Lernressourcen: