[PYTHON] 100 Sprachverarbeitung Knock-20 (unter Verwendung von Pandas): Lesen von JSON-Daten

Sprachverarbeitung 100 Schläge 2015 ["Kapitel 3: Reguläre Ausdrücke"](http: //www.cl.ecei.tohoku) Dies ist der Datensatz von 20. "Lesen von JSON-Daten" von .ac.jp / nlp100 / # ch3). Es war eine Überprüfung dessen, was ich vor über einem Jahr getan habe, aber ich erinnerte mich kaum daran. Ich habe jedes Mal, wenn ich sie brauchte, reguläre Ausdrücke googelt, aber mir wurde klar, dass es für mich bedeutungslos wäre, wenn ich sie nicht zumindest in Artikeln ausgeben würde. Der 20. ist sehr einfach, eine JSON-Datei zu lesen, um sich auf eine Aufgabe mit regulären Ausdrücken vorzubereiten. Ich lade mit "Pandas", aber ich erkenne wieder die Bequemlichkeit von "Pandas".

Referenzlink

Verknüpfung Bemerkungen
020.JSON-Daten lesen.ipynb Antwortprogramm GitHub Link
100 Klicks Amateur-Sprachverarbeitung:20 Kopieren Sie die Quelle vieler Quellteile und fügen Sie sie ein
Lernen Sie die Grundlagen und Tipps der kanonischen Python-Ausdrücke von Grund auf neu Ich habe organisiert, was ich in diesem Klopfen gelernt habe
Regulärer Ausdruck HOWTO Python offizieller regulärer Ausdruck How To
re ---Operation mit regulären Ausdrücken Python offizielle Re-Paketbeschreibung

Umgebung

Art Ausführung Inhalt
OS Ubuntu18.04.01 LTS Es läuft virtuell
pyenv 1.2.15 Ich benutze pyenv, weil ich manchmal mehrere Python-Umgebungen benutze
Python 3.6.9 python3 auf pyenv.6.Ich benutze 9
3.7 oder 3.Es gibt keinen tiefen Grund, keine 8er-Serie zu verwenden
Pakete werden mit venv verwaltet

In der obigen Umgebung verwende ich die folgenden zusätzlichen Python-Pakete. Einfach mit normalem Pip installieren.

Art Ausführung
pandas 0.25.3

Kapitel 3: Reguläre Ausdrücke

Inhalt des Studiums

Verschiedene Informationen und Kenntnisse können extrahiert werden, indem reguläre Ausdrücke auf die Markup-Beschreibung auf der Wikipedia-Seite angewendet werden.

Reguläre Ausdrücke, JSON, Wikipedia, InfoBox, Webdienste

Inhalt anklopfen

Eine Datei jawiki-country.json.gz, die Wikipedia-Artikel im folgenden Format exportiert Es gibt.

  • Eine Artikelinformation pro Zeile wird im JSON-Format gespeichert
  • In jeder Zeile wird der Artikelname im Schlüssel "title" und der Artikelkörper im Wörterbuchobjekt mit dem Schlüssel "text" gespeichert, und dieses Objekt wird im JSON-Format ausgeschrieben.
  • Die gesamte Datei wird komprimiert

Erstellen Sie ein Programm, das die folgende Verarbeitung ausführt.

20. JSON-Daten lesen

Lesen Sie die JSON-Datei des Wikipedia-Artikels und zeigen Sie den Artikeltext zu "UK" an. Führen Sie in den Problemen 21-29 den hier extrahierten Artikeltext aus.

Antworten

Antwortprogramm [020.Read JSON data.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/03.%E6%AD%A3%E8%A6%8F%E8%A1%A8% E7% 8F% BE / 020.JSON% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 81% AE% E8% AA% AD% E3% 81% BF% E8% BE% BC% E3% 81% BF.ipynb)

from pprint import pprint

import pandas as pd

df_wiki = pd.read_json('./jawiki-country.json', lines=True)
pprint(df_wiki[(df_wiki['title'] == 'England')]['text'].values.item())

Kommentar beantworten

Die JSON-Datei wird von der Funktion "read_json" gelesen. Sie können das Format JSON-Zeilen laden, indem Sie True an den Parameter lines übergeben.

df_wiki = pd.read_json('./jawiki-country.json', lines=True)

Der geladene DataFrame sieht so aus. Der Ländername ist in "Titel" enthalten. image.png

Das Ergebnis wird am Ende ausgegeben. Ich benutze die Funktion "pprint", weil ich eine Linie brechen wollte.

pprint(df_wiki[(df_wiki['title'] == 'England')]['text'].values.item())

Ausgabeergebnis


('{{redirect|UK}}\n'
 '{{Grundlegende Informationen Land\n'
 '|Kurzbezeichnung=England\n'

Unterlassung

 '[[Category:Souveränes Land]]\n'
 '[[Category:Inselstaat|Kureito Furiten]]\n'
 '[[Category:Staat / Region gegründet 1801]]')

Recommended Posts

100 Sprachverarbeitung Knock-20 (unter Verwendung von Pandas): Lesen von JSON-Daten
Sprachverarbeitung 100 Knocks-31 (mit Pandas): Verben
100 Sprachverarbeitung Knock-38 (mit Pandas): Histogramm
100 Sprachverarbeitung Knock-30 (unter Verwendung von Pandas): Lesen der Ergebnisse der morphologischen Analyse
100 Sprachverarbeitung Knock-33 (mit Pandas): Sahen Nomen
100 Sprachverarbeitung Knock-35 (mit Pandas): Nomenklatur
100 Sprachverarbeitung Knock-39 (mit Pandas): Zipf-Gesetz
100 Sprachverarbeitung Knock-34 (mit Pandas): "B von A"
100 Sprachverarbeitung Knock-32 (mit Pandas): Prototyp des Verbs
100-Sprach-Verarbeitung Knock-98 (unter Verwendung von Pandas): Clustering nach Ward-Methode
100 Sprachverarbeitung Knock-99 (mit Pandas): Visualisierung durch t-SNE
100 Sprachverarbeitung Knock-95 (mit Pandas): Bewertung mit WordSimilarity-353
100 Sprachverarbeitung Knock-92 (mit Gensim): Anwendung auf Analogiedaten
100 Sprachverarbeitung Knock-36 (unter Verwendung von Pandas): Häufigkeit des Auftretens von Wörtern
100 Sprachverarbeitung Knock: Kapitel 2 UNIX-Befehlsgrundlagen (mit Pandas)
100 Sprachverarbeitung Knock-83 (mit Pandas): Messung der Wort- / Kontexthäufigkeit
100 Sprachverarbeitung Knock-76 (mit Scicit-Learn): Beschriftung
100 Sprachverarbeitung Knock-73 (mit Scikit-Learn): Lernen
100 Sprachverarbeitung Knock-74 (mit Scicit-Learn): Vorhersage
100 Sprachverarbeitung Knock-84 (mit Pandas): Erstellen einer Wortkontextmatrix
Knock-70 mit 100 Sprachverarbeitung (unter Verwendung von Stanford NLP): Abrufen und Formatieren von Daten
100 Sprachverarbeitungsklopfen (2020): 28
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitung klopfen 00 ~ 02
100 Sprachverarbeitung Knock-97 (mit Scicit-Learn): k-bedeutet Clustering
100 Sprachverarbeitung Knock-91: Vorbereitung von Analogiedaten
100 Sprachverarbeitung Knock-71 (mit Stanford NLP): Stoppwort
100 Sprachverarbeitung klopfen 2020 [00 ~ 39 Antwort]
100 Sprachverarbeitung klopfen 2020 [00-79 Antwort]
100 Sprachverarbeitung Knock-90 (mit Gensim): Lernen mit word2vec
100 Sprachverarbeitung Knock 2020 Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 17
100 Sprachverarbeitung klopfen 2020 [00 ~ 49 Antwort]
100 Sprachverarbeitung Knock-93 (unter Verwendung von Pandas): Berechnung der Genauigkeitsrate der Analogie-Aufgabe
100 Sprachverarbeitung Knock-52: Stemming
100-Sprach-Verarbeitung Knock-79 (mit Scikit-Learn): Präzisions-Recall-Grafikzeichnung
100 Sprachverarbeitung Knock Kapitel 1
100 Sprachverarbeitung Knock-41: Lesen des Abhängigkeitsanalyseergebnisses (Phrase / Abhängigkeit)
100 Amateur-Sprachverarbeitungsklopfen: 07
[Pandas] Grundlagen der Verarbeitung von Datumsdaten mit dt
100 Sprachverarbeitung Knock 2020 Kapitel 3
100 Sprachverarbeitung Knock 2020 Kapitel 2
100 Sprachverarbeitung Knock-75 (mit Scicit-Learn): Gewicht der Identität
100 Amateur-Sprachverarbeitungsklopfen: 09
100 Amateur-Sprachverarbeitungsklopfen: 47
100 Sprachverarbeitung Knock-53: Tokenisierung
100 Amateur-Sprachverarbeitungsklopfen: 97
100 Sprachverarbeitung klopfen 2020 [00 ~ 59 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 67
100 Sprachverarbeitung Knock-72 (unter Verwendung von Stanford NLP): Identitätsextraktion
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
100 Sprachverarbeitung Knock-94 (mit Gensim): Ähnlichkeitsberechnung mit WordSimilarity-353
100 Sprachverarbeitung Knock-37 (mit Pandas): Top 10 der häufigsten Wörter
100 Sprachverarbeitungsklopfen mit Python 2015
100 Sprachverarbeitung Knock-51: Wortausschnitt
100 Sprachverarbeitung Knock-58: Extraktion von Taple
100 Sprachverarbeitung Knock-57: Abhängigkeitsanalyse
100 Sprachverarbeitung Knock-50: Satzumbruch
100 Sprachverarbeitung Knock Kapitel 1 (Python)
100 Sprachverarbeitung Knock Kapitel 2 (Python)
100 Sprachverarbeitung Knock-25: Vorlagenextraktion