Natural Language Processing mit PyTorch (eBook)
250 Seiten
O'Reilly Verlag
978-3-96010-325-7 (ISBN)
Delip Rao ist der Gründer von Joostware, einem in San Francisco ansässigen Beratungsunternehmen, das sich auf maschinelles Lernen und NLP-Forschung spezialisiert hat. Er ist auch Mitbegründer der Fake News Challenge, einer Initiative, die Hacker und KI-Forscher zusammenbringt, um Probleme bei der Überprüfung von Fakten in Nachrichten zu lösen. Delip hat zuvor in der NLP-Forschung und an Produkten bei Twitter und Amazon (Alexa) gearbeitet. Brian McMahan ist Forscher bei Wells Fargo mit dem Schwerpunkt NLP. Zuvor hat er bei Joostware in der NLP-Forschung gearbeitet.
Delip Rao ist der Gründer von Joostware, einem in San Francisco ansässigen Beratungsunternehmen, das sich auf maschinelles Lernen und NLP-Forschung spezialisiert hat. Er ist auch Mitbegründer der Fake News Challenge, einer Initiative, die Hacker und KI-Forscher zusammenbringt, um Probleme bei der Überprüfung von Fakten in Nachrichten zu lösen. Delip hat zuvor in der NLP-Forschung und an Produkten bei Twitter und Amazon (Alexa) gearbeitet. Brian McMahan ist Forscher bei Wells Fargo mit dem Schwerpunkt NLP. Zuvor hat er bei Joostware in der NLP-Forschung gearbeitet.
KAPITEL 2
Kurzer Abriss des traditionellen NLP
Die Verarbeitung natürlicher Sprache (NLP von engl. Natural Language Processing; eingeführt im vorherigen Kapitel) und die Computerlinguistik (CL) sind zwei Bereiche der computergestützten Untersuchung menschlicher Sprache. NLP zielt darauf ab, Methoden zu entwickeln, mit denen sich praktische Probleme lösen lassen, wie zum Beispiel Informationsextraktion, automatische Spracherkennung, maschinelle Übersetzung, Meinungsanalyse, Beantwortung von Fragen und Zusammenfassungen. CL dagegen bedient sich rechentechnischer Methoden, um Eigenschaften menschlicher Sprache zu verstehen. Wie verstehen wir Sprache? Wie erzeugen wir Sprache? Wie lernen wir Sprachen? Welche Beziehungen haben Sprachen untereinander?
In der Literatur ist üblicherweise ein Übergang der Methoden und Forscher von CL nach NLP und umgekehrt festzustellen. Lektionen von CL über Sprache bieten sich an, um Vorgesetzte in NLP zu informieren, und statistische und maschinelle Lernmethoden von NLP lassen sich auf Fragen anwenden, die die CL zu beantworten versucht. In der Tat sind aus einigen dieser Fragen eigenständige Disziplinen entstanden, wie zum Beispiel Phonologie, Morphologie, Syntax, Semantik und Pragmatik.
In diesem Buch konzentrieren wir uns auf NLP, borgen uns aber nach Lust und Laune regelmäßig Ideen bei CL aus. Bevor wir uns selbst vollkommen den Methoden mit neuronalen Netzen für NLP verschreiben – dem Schwerpunkt im übrigen Buch –, lohnt es sich, einige herkömmliche NLP-Konzepte und -Methoden aufzufrischen. Damit ist das Ziel dieses Kapitels umrissen.
Wenn Sie schon etwas Hintergrundwissen zu NLP mitbringen, können Sie dieses Kapitel überspringen. Doch vielleicht bleiben Sie auch aus Nostalgie dabei und um ein gemeinsames Vokabular für die Zukunft aufzubauen.
Korpora, Token und Typen
Alle NLP-Methoden, seien es klassische oder moderne, beginnen mit einer Textdatenmenge, dem sogenannten Korpus (Plural: Korpora). In der Regel enthält ein Korpus reinen, unformatierten Text (in ASCII- oder UTF-8-Codierung) und alle Metadaten, die dem Text zugeordnet sind. Der reine Text ist eine Folge von Zeichen (Bytes), wobei es meistens zweckmäßig ist, diese Zeichen in zusammenhängende Einheiten – die sogenannten Token – zu gliedern. Im Englischen entsprechen Token Wörtern und numerischen Folgen, die durch Whitespace-Zeichen oder Satzzeichen voneinander getrennt sind.
Als Metadaten kommen alle Hilfsinformationen infrage, die mit dem Text verbunden sind, wie zum Beispiel Identifizierer, Beschriftungen und Zeitstempel. Im Sprachgebrauch des maschinellen Lernens wird der Text zusammen mit seinen Metadaten als Instanz oder Datenpunkt bezeichnet. Beim Korpus (Abbildung 2-1), einer Sammlung von Instanzen, spricht man auch von einem Dataset. Da der Fokus dieses Buchs stark auf maschinelles Lernen ausgerichtet ist, verwenden wir die Begriffe Korpus und Dataset durchweg gleichbedeutend.
Abbildung 2-1: Der Korpus: der Ausgangspunkt von NLP-Aufgaben
Das Zerlegen von Text in Token wird als Tokenisierung bezeichnet. Zum Beispiel lässt sich der Esperanto-Satz »Maria frapis la verda sorĉistino.«1 in sechs Token zerlegen. Tokenisierung kann komplizierter werden, als den Text einfach auf Basis von nicht-alphanumerischen Zeichen aufzuteilen, wie es Abbildung 2-2 demonstriert. Für agglutinierende Sprachen wie Türkisch ist eine Trennung durch Whitespace- und Satzzeichen möglicherweise nicht ausreichend, und speziellere Techniken könnten gerechtfertigt sein. Wie die Kapitel 4 und 6 zeigen, ist es durchaus möglich, das Problem der Tokenisierung gänzlich zu umgehen, indem man Text als Stream von Bytes darstellt; für agglutinierende Sprachen wird dies sehr wichtig.
Turkish | English |
kork(-mak) | (to) fear |
korku | fear |
korkusuz | fearless |
korkusuzlaş (-mak) | (to) become fearless |
korkusuzlaşmış | One who has become fearless |
korkusuzlaştır(-mak) | (to) make one fearless |
korkusuzlaşstırıl(-mak) | (to) be made fearless |
korkusuzlaştırılmış | One who has been made fearless |
korkusuzlaştırılabil(-mek) | (to) be able to be made fearless |
korkusuzlaştırılabilecek | One who will be able to be made fearless |
korkusuzlaştırabileceklerimiz | Ones who we can make fearless |
korkusuzlaştırabileceklerimizden | From the ones who we can make fearless |
korkusuzlaştırabileceklerimizdenmiş | I gather that one is one of those we can make fearless |
korkusuzlaştırabileceklerimizdenmişçesine | As if that one is one of those we can make fearless |
korkusuzlaştırabileceklerimizdenmişçesineyken | when it seems like that one is one of those we can make fearless |
Abbildung 2-2: Tokenisierung in Sprachen wie Türkisch kann schnell kompliziert werden.
Sehen Sie sich schließlich den folgenden Tweet an:
Um Tweets zu tokenisieren, sind Hashtags und @Handles zu bewahren und Smileys wie zum Beispiel :-) und URLs als eine Einheit zu segmentieren. Sollte der Hashtag #MakeAMovieCold in ein Token oder in vier Tokens zerlegt werden? Die meisten Forscher berücksichtigen solche Dinge nur oberflächlich, und in der Tat sind viele der Entscheidungen bei der Tokenisierung willkürlich – doch diese Entscheidungen können die Genauigkeit in der Praxis deutlich mehr beeinflussen als angenommen. Oft als die Routinearbeit der Vorverarbeitung angesehen, bieten die meisten Open-Source-NLP-Pakete zum Einstieg eine vernünftige Unterstützung für die Tokenisierung. Beispiel 2-1 zeigt Beispiele von NLTK (http://www.nltk.org/) und spaCy (https://spacy.io/), zwei häufig eingesetzten Paketen für die Textverarbeitung.
Beispiel 2-1: Text tokenisieren
Input[0]
import spacy
nlp = spacy.load('en')
text = "Mary, don't slap the green witch"
print([str(token) for token in nlp(text.lower())])
Output[0]
['mary', ',', 'do', "n't", 'slap', 'the', 'green', 'witch', '.']
Input[1]
from nltk.tokenize import TweetTokenizer
tweet=u"Snow White and the Seven Degrees
#MakeAMovieCold@midnight:-)"
tokenizer = TweetTokenizer()
print(tokenizer.tokenize(tweet.lower()))
Output[1]
['snow', 'white', 'and', 'the', 'seven', 'degrees',
'#makeamoviecold', '@midnight', ':-)']
Bei Typen handelt es sich um eindeutige Token, die in einem Korpus vorhanden sind. Die Menge aller Typen ist sein Vokabular oder Lexikon. Wörter lassen sich unterscheiden in Inhaltswörter und Stoppwörter. Stoppwörter wie Artikel und Präpositionen dienen vorrangig einem grammatischen Zweck, wie Füllwörter, die die Aussage von Inhaltswörtern unterstreichen.
Feature Engineering
Die Linguistik einer Sprache zu verstehen und dieses Verständnis auf das Lösen von NLP-Problemen anzuwenden, bezeichnet man als Feature Engineering oder Merkmalskonstruktion. Das ist etwas, das wir hier minimal halten wollen, und zwar der Einfachheit halber und wegen der sprachübergreifenden Portabilität von Modellen. Doch wenn man echte Produktionssysteme aufbaut und bereitstellt, ist Feature Engineering unverzichtbar, auch wenn in jüngster Zeit das Gegenteil behauptet wurde. Für eine Einführung in Feature Engineering im Allgemeinen empfehlen wir das Buch von Zheng und Casari (2016).
Monogramme, Bigramme, Trigramme, …, N-Gramme
N-Gramme sind aufeinanderfolgende Token-Sequenzen fester Länge (N), die im Text auftreten. Ein Bigramm umfasst zwei Token, ein Monogramm besteht aus nur einem Token. Wie Beispiel 2-2 zeigt, ist es ohnehin einfach, N-Gramme aus einem Text zu generieren, doch bieten Pakete wie...
Erscheint lt. Verlag | 27.11.2019 |
---|---|
Übersetzer | Frank Langenau |
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | AI • Artificial Intelligence • CL • Computerlinguistik • Deep learning • Google Translate • KI • Künstlichen Intelligenz • Linguistischen Datenverarbeitung • Neuronale Netze • NLP • Python • Siri • Spracherkennung • Text Mining. Alexa |
ISBN-10 | 3-96010-325-5 / 3960103255 |
ISBN-13 | 978-3-96010-325-7 / 9783960103257 |
Haben Sie eine Frage zum Produkt? |
Größe: 4,0 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich