
In den letzten Jahren hat die natürliche Sprachverarbeitung (NLP) in Bezug auf Qualität und Benutzerfreundlichkeit eine schnelle Wachstum von künstlicher Intelligenz (KI) -Lösungen verzeichnet. In den letzten Jahren haben Forscher neuere Deep -Learning -Methoden auf NLP angewendet. Datenwissenschaftler wechselten von traditionellen Methoden zu hochmodernen Algorithmen (SOTA) Deep Neural Network (DNN), die Sprachmodelle verwenden, die auf großen Textkorpora vorbereitet sind.
Dieses Repository enthält Beispiele und Best Practices für den Aufbau von NLP -Systemen, die als Jupyter -Notizbücher und Dienstprogrammfunktionen bereitgestellt werden. Der Schwerpunkt des Repositorys liegt auf modernsten Methoden und gemeinsamen Szenarien, die bei Forschern und Praktikern beliebt sind, die an Problemen mit Text und Sprache arbeiten.
Ziel dieses Repositorys ist es, umfassende Tools und Beispiele zu erstellen, die die jüngsten Fortschritte in NLP -Algorithmen, neuronalen Architekturen und verteilten maschinellen Lernsystemen nutzen. Der Inhalt basiert auf unseren vergangenen und potenziellen zukünftigen Engagements mit Kunden sowie in Zusammenarbeit mit Partnern, Forschern und der Open -Source -Community.
Wir hoffen, dass die Tools die „Zeit für den Markt“ erheblich verkürzen können, indem die Erfahrung durch die Definition des Geschäftsproblems bis zur Entwicklung der Lösung durch Größenordnungen vereinfacht wird. Darüber hinaus würden die Beispielbücher als Richtlinien dienen und Best Practices und Verwendung der Tools in einer Vielzahl von Sprachen präsentieren.
In einer Ära des Transferlernens, der Transformatoren und der tiefen Architekturen glauben wir, dass vorbereitete Modelle eine einheitliche Lösung für viele Probleme mit der realen Welt bieten und die Umgang mit unterschiedlichen Aufgaben und Sprachen leicht ermöglichen. Wir werden daher solche Modelle priorisieren, da sie hochmoderne Ergebnisse bei mehreren NLP-Benchmarks wie Klebstoff- und Kader- und Kader- Bestenlisten erzielen. Die Modelle können in einer Reihe von Anwendungen verwendet werden, die von der einfachen Textklassifizierung bis hin zu ausgeklügelten intelligenten Chat -Bots reichen.
Beachten Sie, dass Sie für bestimmte Art von NLP -Problemen möglicherweise nicht Ihre eigenen Modelle erstellen müssen. Stattdessen existieren vorgefertigte oder leicht anpassbare Lösungen, für die keine benutzerdefinierte Codierung oder maschinelles Lernen Expertise erforderlich ist. Wir empfehlen dringend, zu bewerten, ob diese Ihr Problem ausreichend lösen können. Wenn diese Lösungen nicht anwendbar sind oder die Genauigkeit dieser Lösungen nicht ausreicht, können möglicherweise komplexere und zeitaufwändigere benutzerdefinierte Ansätze erforderlich sein. Die folgenden kognitiven Dienste bieten einfache Lösungen, um gemeinsame NLP -Aufgaben zu beheben:
Textanalysen sind eine Reihe von vorgebildeten REST-APIs, die für die Stimmungsanalyse, die Schlüsselphrase-Extraktion, die Spracherkennung und die benannte Entitätserkennung und vieles mehr gefordert werden können. Diese APIs funktionieren außerhalb des Boxs und erfordern minimales Fachwissen im maschinellen Lernen, verfügen jedoch über begrenzte Anpassungsfunktionen.
QNA Maker ist ein Cloud-basierter API-Dienst, mit dem Sie eine Konversationsfragen-und-Antwort-Ebene über Ihre vorhandenen Daten erstellen können. Verwenden Sie es, um eine Wissensbasis zu erstellen, indem Sie Fragen und Antworten aus Ihrem halbstrukturierten Inhalt extrahieren, einschließlich FAQs, Handbüchern und Dokumenten.
Sprachverständnis ist ein SaaS-Dienst, um ein Modell als REST-API mit einem von Benutzer bereitgestellten Schulungssatz zu trainieren und bereitzustellen. Sie können eine Absichtserklärung sowie die genannte Entitätsextraktion durchführen, indem Sie einfache Schritte zur Bereitstellung von Beispielleitungen und Kennzeichnungen durchführen. Es unterstützt aktives Lernen, sodass Ihr Modell immer weiter lernt und verbessert.
Für dieses Repository umfasst unsere Zielgruppe Datenwissenschaftler und Ingenieure für maschinelles Lernen mit unterschiedlichem NLP-Wissen, da unser Inhalt nur Quellen ist, und zielt auf benutzerdefinierte maschinelle Lernmodellierung ab. Die bereitgestellten Versorgungsunternehmen und Beispiele sollen Lösungsbeschleuniger für NLP-Probleme in der realen Welt sein.
Das Repository zielt darauf ab, die NLP -Funktionen entlang von drei separaten Dimensionen zu erweitern
Wir wollen End-to-End-Beispiele für gemeinsame Aufgaben und Szenarien wie die Textklassifizierung, die Erkennung von Entität usw.
Wir möchten mehrere Modelle für jedes der unterstützten Szenarien unterstützen. Derzeit werden transformatorbasierte Modelle in den meisten Szenarien unterstützt. Wir haben daran gearbeitet, das Transformers-Paket aus dem Umarmungsgesicht zu integrieren, mit dem Benutzer problemlos vorbereitete Modelle laden und sie für verschiedene Aufgaben optimieren können.
Wir abonnieren die von "Emily Bender" festgelegten mehrsprachigen Prinzipien für mehrsprachige Prinzipien nachdrücklich
Das Repository zielt darauf ab, nicht englische Sprachen in allen Szenarien zu unterstützen. Im Repository wie Bert, FastText, unterstützte vorgebrachte Modelle unterstützt mehr als 100 Sprachen außerhalb des Box. Unser Ziel ist es, End-to-End-Beispiele in so vielen Sprachen wie möglich anzugeben. Wir ermutigen Community -Beiträge in diesem Bereich.
Das Folgende ist eine Zusammenfassung der häufig verwendeten NLP -Szenarien, die im Repository behandelt werden. Jedes Szenario wird in einem oder mehreren Jupyter -Notebook -Beispielen demonstriert, die die Kerncode -Basis von Modellen und Repository -Dienstprogrammen verwenden.
| Szenario | Modelle | Beschreibung | Sprachen |
|---|---|---|---|
| Textklassifizierung | Bert, Distillbert, XLnet, Roberta, Albert, XLM | Die Textklassifizierung ist eine überwachte Lernmethode zum Lernen und Vorhersagen der Kategorie oder der Klasse eines Dokuments, das in seinem Textinhalt angegeben ist. | Englisch, Chinesisch, Hindi, Arabisch, Deutsch, Französisch, Japanisch, Spanisch, Niederländisch |
| Genannte Entitätserkennung | Bert | Die genannte Entitätserkennung (NER) ist die Aufgabe, Wörter oder Schlüsselphrasen eines Textes in vordefinierte Interessensunternehmen zu klassifizieren. | Englisch |
| Textübersicht | Bertsumext Bertsumabs Unilm (S2S-FT) Minilm | Die Textübersicht ist eine Aufgabe der Sprachgenerierung, um den Eingabetxt in einen kürzeren Textabsatz zusammenzufassen. | Englisch |
| Mit sich bringen | Bert, Xlnet, Roberta | Textualbeschaffung ist die Aufgabe, die binäre Beziehung zwischen zwei natürlichen Texten, Text und Hypothese zu klassifizieren, um festzustellen, ob der Text mit der Hypothese übereinstimmt oder nicht. | Englisch |
| Frage Beantwortung | BIDAF, Bert, xlnet | Fragenbeantwortung (QA) ist die Aufgabe, eine gültige Antwort für eine bestimmte Abfrage in der natürlichen Sprache abzurufen oder zu generieren, die mit einer Passage zur Abfrage versorgt wird. | Englisch |
| Satz Ähnlichkeit | Bert, Gensen | Satzähnlichkeit ist der Prozess der Berechnung einer Ähnlichkeitsbewertung bei einem Textpaar. | Englisch |
| Einbettungen | Word2Vec FastText Handschuh | Das Einbetten ist der Prozess der Umwandlung eines Wortes oder eines Textstücks in einen kontinuierlichen Vektorraum der reellen Anzahl, normalerweise in geringer Dimension. | Englisch |
| Stimmungsanalyse | Abhängigkeitsparser Handschuh | Bietet ein Beispiel für Zug- und Aspekt -Aspekt -Stimmungsanalyse mit Azure ML und Intel NLP Architect. | Englisch |
Bei der Lösung von NLP -Problemen ist es immer gut, mit den vorgebauten kognitiven Diensten zu beginnen. Wenn die Anforderungen über die Grenzen des vorgebauten kognitiven Dienstes hinausgehen und wenn Sie nach benutzerdefinierten Methoden für maschinelles Lernen suchen möchten, finden Sie dieses Repository sehr nützlich. Navigieren Sie zum Einrichten zum Setup -Handbuch, in dem Anweisungen zum Einrichten Ihrer Umgebung und der Abhängigkeiten aufgeführt sind.
Der Azure Machine Learning Service ist ein Cloud -Dienst, der zum Training, Bereitstellen, Automatisieren und Verwalten von Modellen für maschinelles Lernen verwendet wird, alles in der umfassenden Skala, die die Cloud bietet. Azureml wird in Notizbüchern in verschiedenen Szenarien präsentiert, um die Effizienz der Entwicklung von natürlichen Sprachsystemen im Maßstab und für verschiedene Aufgaben der KI -Modellentwicklung zu verbessern wie:
Um diese Notizbücher erfolgreich auszuführen, benötigen Sie ein Azure -Abonnement oder können Azure kostenlos versuchen . Es kann andere Azure -Dienstleistungen oder Produkte geben, die in den Notebooks verwendet werden. Einführung und/oder Referenz auf diese werden in den Notizbüchern selbst bereitgestellt.
Wir hoffen, dass die Open -Source -Community zum Inhalt beitragen und den neuesten SOTA -Algorithmus einbringen würde. Dieses Projekt begrüßt Beiträge und Vorschläge. Bevor Sie einen Beitrag leisten, finden Sie in unseren Beitragsrichtlinien.
Bootstrap Ihre Textübersichtslösung mit der neuesten Version von NLP-Recipes
Textanmerkungen, die mit Doccano einfach gemacht wurden
Jumpstart analysieren Sie Ihre Hindi -Textdaten mit dem NLP -Repository
Beschleunigung der Entwicklung natürlicher Sprachverarbeitungslösungen mit Azure maschinellem Lernen
Das Folgende ist eine Liste verwandter Repositorys, die wir mögen und deren, dass sie für NLP -Aufgaben nützlich sind.
| Repository | Beschreibung |
|---|---|
| Transformatoren | Eine großartige Pytorch-Bibliothek, die das Gesicht mit Implementierungen beliebter transformatorischer Modelle umarmt. Wir haben ihr Paket ausgiebig in diesem Repo verwendet und ihre Bemühungen sehr zu schätzen. |
| Azure maschinelles Lernen Notizbücher | Beispiele für ML und Deep Learning mit Azure -maschinellem Lernen. |
| Azureml-Bert | End-to-End-Rezepte für Bert vor dem Training und für die Feinabstimmung mithilfe von Azure Machine Learning Service. |
| MASSE | Masse: Maskierte Sequenz zur Sequenz vor dem Training für die Sprachgenerierung. |
| MT-DNN | Multi-Task-tiefe neuronale Netzwerke für das Verständnis der natürlichen Sprache. |
| Unilm | Einheitliches Sprachmodell vor dem Training. |
| Dialogpt | Dialogpt: großräumige generative Vorausbildung für die Erzeugung der Konversationsantwort |
| Bauen | Zweig | Status |
|---|---|---|
| Linux CPU | Master | |
| Linux CPU | Inszenierung | |
| Linux GPU | Master | |
| Linux GPU | Inszenierung |