Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wenn du wie wir im Bereich Analytik oder Data Science arbeitest, bist du mit der Tatsache vertraut, dass immer mehr Daten in immer schnellerem Tempo erzeugt werden. (Vielleicht bist du sogar ein bisschen müde von den Leuten, die über diese Tatsache schwadronieren.) Analytiker/innen sind oft darauf trainiert, mit tabellarischen oder rechteckigen Daten umzugehen, die meist numerisch sind, aber ein Großteil der Daten, die heute in Umlauf sind, ist unstrukturiert und textlastig. Viele von uns, die in analytischen Bereichen arbeiten, sind nicht einmal in der einfachen Interpretation von natürlicher Sprache ausgebildet.
Wir haben das R-Paket tidytext (Silge und Robinson 2016) entwickelt, weil wir mit vielen Methoden zur Datenaufbereitung und -visualisierung vertraut waren, diese aber nicht ohne Weiteres auf Text anwenden konnten. Wir haben festgestellt, dass die Anwendung der Tidy-Data-Prinzipien viele Text-Mining-Aufgaben einfacher und effektiver machen kann und mit den bereits weit verbreiteten Tools vereinbar ist. Indem wir Text als Datenrahmen aus einzelnen Wörtern behandeln, können wir die Eigenschaften von Text leicht manipulieren, zusammenfassen und visualisieren und die Verarbeitung natürlicher Sprache in effektive Arbeitsabläufe integrieren, die wir bereits nutzen.
Dieses Buch dient als Einführung in das Textmining mit dem tidytext-Paket und anderen tidy-Tools in R. Die Funktionen des tidytext-Pakets sind relativ einfach; wichtig sind die Anwendungsmöglichkeiten. Daher bietet dieses Buch überzeugende Beispiele für echte Textmining-Probleme.
Gliederung
Wir beginnen mit einer Einführung in das Tidy-Text-Format und einige der Möglichkeiten, wie dplyr, tidyr und tidytext informative Analysen dieser Struktur ermöglichen:
-
In Kapitel 1 werden das Format tidy text und die Funktion
unnest_tokens()
beschrieben. Außerdem werden die Pakete gutenbergr und janeaustenr vorgestellt, die nützliche Datensätze für literarische Texte bereitstellen, die wir im Laufe dieses Buches verwenden werden. -
Kapitel 2 zeigt, wie man mit dem
sentiments
Datensatz von tidytext undinner_join()
von dplyr eine Stimmungsanalyse auf einem Tidy-Text-Datensatz durchführt. -
Kapitel 3 beschreibt die tf-idf-Statistik (Termhäufigkeit mal inverse Dokumentenhäufigkeit), eine Größe zur Identifizierung von Begriffen, die für ein bestimmtes Dokument besonders wichtig sind.
-
In Kapitel 4 werden n-Gramme vorgestellt und es wird erklärt, wie man Wortnetzwerke in Texten mit den Paketen widyr und ggraph analysiert.
Text wird nicht in allen Phasen einer Analyse ordentlich sein, und es ist wichtig, dass du zwischen ordentlichen und unordentlichen Formaten hin- und herwechseln kannst:
-
In Kapitel 5 werden Methoden zum Aufräumen von Dokument-Term-Matrizen und Corpus-Objekten aus den Paketen tm und quanteda sowie zum Übertragen von aufgeräumten Textdatensätzen in diese Formate vorgestellt.
-
In Kapitel 6 wird das Konzept der Themenmodellierung untersucht und die Methode
tidy()
verwendet, um die Ergebnisse des topicmodels-Pakets zu interpretieren und zu visualisieren.
Wir schließen mit mehreren Fallstudien ab, die mehrere ordentliche Textmining-Ansätze zusammenbringen, die wir gelernt haben:
-
Kapitel 7 demonstriert eine Anwendung einer ordentlichen Textanalyse, indem es die eigenen Twitter-Archive der Autoren analysiert. Wie unterscheiden sich Daves und Julias Twitter-Gewohnheiten?
-
Kapitel 8 untersucht die Metadaten von über 32.000 NASA-Datensätzen (verfügbar in JSON), indem es untersucht, wie Schlüsselwörter aus den Datensätzen mit Titel- und Beschreibungsfeldern verbunden sind.
-
In Kapitel 9 wird ein Datensatz von Usenet-Nachrichten aus verschiedenen Newsgroups (zu Themen wie Politik, Eishockey, Technologie, Atheismus und mehr) analysiert, um Muster in den Gruppen zu erkennen.
Themen, die dieses Buch nicht behandelt
Dieses Buch dient als Einführung in das Tidy Text Mining Framework mit einer Sammlung von Beispielen, ist aber weit davon entfernt, eine vollständige Erkundung der natürlichen Sprachverarbeitung zu sein. DieCRAN Task View on Natural Language Processing enthält Details zu anderen Möglichkeiten, R für die Computerlinguistik zu nutzen. Es gibt mehrere Bereiche, die du je nach deinen Bedürfnissen genauer untersuchen solltest:
- Clustering, Klassifizierung und Vorhersage
-
Maschinelles Lernen auf Text ist ein umfangreiches Thema, das leicht einen eigenen Band füllen könnte. In Kapitel 6 stellen wir eine Methode des unüberwachten Clustering (Topic Modeling) vor, aber es gibt noch viele weitere Algorithmen für maschinelles Lernen, die im Umgang mit Text eingesetzt werden können.
- Wörter einbetten
-
Ein beliebter moderner Ansatz für die Textanalyse besteht darin, Wörter auf Vektordarstellungen abzubilden, die dann verwendet werden können, um linguistische Beziehungen zwischen Wörtern zu untersuchen und Texte zu klassifizieren. Solche Darstellungen von Wörtern sind nicht in dem Sinne aufgeräumt, wie wir sie hier betrachten, aber sie haben leistungsstarke Anwendungen in Algorithmen für maschinelles Lernen gefunden.
- Komplexere Tokenisierung
-
Das tidytext-Paket vertraut bei der Tokenisierung auf das Paket tokenizers (Mullen 2016), das selbst eine Vielzahl von Tokenizern mit einer einheitlichen Schnittstelle umhüllt, aber es gibt noch viele andere für spezielle Anwendungen.
- Andere Sprachen als Englisch
-
Einige unserer Nutzerinnen und Nutzer haben tidytext erfolgreich für ihre Textmining-Bedürfnisse in anderen Sprachen als Englisch eingesetzt, aber wir behandeln keine solchen Beispiele in diesem Buch.
Über dieses Buch
Dieses Buch konzentriert sich auf praktische Softwarebeispiele und Datenexplorationen. Es gibt nur wenige Gleichungen, dafür aber jede Menge Code. Wir konzentrieren uns besonders darauf, echte Erkenntnisse aus der Literatur, den Nachrichten und den sozialen Medien zu gewinnen, die wir analysieren.
Wir setzen keine Vorkenntnisse im Textmining voraus. Professionelle Linguistinnen und Linguisten sowie Textanalytikerinnen und Textanalytiker werden unsere Beispiele wahrscheinlich als elementar empfinden, aber wir sind zuversichtlich, dass sie für ihre eigenen Analysen auf diesem Rahmen aufbauen können.
Wir gehen davon aus, dass der Leser zumindest ein wenig mit dplyr, ggplot2 und dem %>%
"pipe"-Operator in R vertraut ist und daran interessiert ist, diese Werkzeuge auf Textdaten anzuwenden. Nutzern, die nicht über diesen Hintergrund verfügen, empfehlen wir Bücher wie R for Data Science von Hadley Wickham und Garrett Grolemund (O'Reilly). Wir sind der Meinung, dass mit einem grundlegenden Hintergrundwissen und Interesse an ordentlichen Daten auch ein Nutzer, der noch am Anfang seiner R-Karriere steht, unsere Beispiele verstehen und anwenden kann.
Hinweis
Wenn du ein gedrucktes Exemplar dieses Buches liest, wurden die Bilder nicht in Farbe, sondern in Graustufen wiedergegeben. Um die Farbversionen zu sehen, besuche die GitHub-Seite des Buches.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Obwohl wir den Code hinter den meisten Analysen zeigen, verzichten wir aus Platzgründen manchmal darauf, den Code für eine bestimmte Visualisierung zu zeigen, wenn wir bereits den Code für mehrere ähnliche Diagramme bereitgestellt haben. Wir hoffen, dass der Leser aus unseren Beispielen lernen und darauf aufbauen kann. Der Code, der für die Erstellung des Buches verwendet wurde, ist in unseremöffentlichen GitHub-Repository zu finden.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.
Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Text Mining with R von Julia Silge und David Robinson (O'Reilly). Copyright 2017 Julia Silge und David Robinson, 978-1-491-98165-8."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Safari
Hinweis
Safari (ehemals Safari Books Online) ist eine mitgliedschaftsbasierte Schulungs- und Nachschlageplattform für Unternehmen, Behörden, Lehrkräfte und Privatpersonen.
Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos, Lernpfaden, interaktiven Tutorials und kuratierten Playlists von über 250 Verlagen, darunter O'Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett und Course Technology, um nur einige zu nennen.
Weitere Informationen erhältst du unter http://oreilly.com/safari.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an bookquestions@oreilly.com.
Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagung
Wir sind so dankbar für die Beiträge, die Hilfe und die Perspektiven der Menschen, die uns bei diesem Projekt vorangebracht haben. Es gibt mehrere Personen und Organisationen, denen wir ganz besonders danken möchten.
Wir möchten Oliver Keyes und Gabriela de Queiroz für ihre Beiträge zum tidytext-Paket danken, Lincoln Mullen für seine Arbeit am tokenizers-Paket, Kenneth Benoit für seine Arbeit am quanteda-Paket, Thomas Pedersen für seine Arbeit amggraph-Paket und Hadley Wickham für seine Arbeit an der Formulierung der Grundsätze für aufgeräumte Daten und die Entwicklung von aufgeräumten Tools. Wir möchten uns auch bei Karthik Ram und rOpenSci bedanken, die uns auf der Unkonferenz, auf der wir unsere Arbeit begonnen haben, beherbergt haben, sowie beimNASA Datanauts-Programm für die Möglichkeiten und die Unterstützung, die Julia während ihrer Zeit bei ihnen erhalten hat.
Wir haben aufmerksame, gründliche technische Rezensionen erhalten, die die Qualität dieses Buches erheblich verbessert haben. Wir möchten Mara Averick, Carolyn Clayton, Simon Jackson, Sean Kross und Lincoln Mullen für ihre Zeit und Energie danken, die sie in diese technischen Überprüfungen investiert haben.
Dieses Buch wurde in der Öffentlichkeit geschrieben und mehrere Personen haben über Pull Requests oder Issues dazu beigetragen. Ein besonderer Dank geht an diejenigen, die über GitHub beigetragen haben: @ainilaha, Brian G. Barkley, Jon Calder, @eijoac, Marc Ferradou, Jonathan Gilligan, Matthew Henderson, Simon Jackson, @jedgore, @kanishkamisra, Josiah Parry, @suyi19890508, Stephen Turner, und Yihui Xie.
Zum Schluss möchten wir dieses Buch unseren Ehepartnern Robert und Dana widmen. Wir beide könnten noch viele sentimentale Texte zu diesem Thema verfassen, aber wir beschränken uns auf einen herzlichen Dank.
Get Text Mining mit R now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.