[PYTHON] Japanische Analyseverarbeitung mit Janome Teil1

Dieser Artikel ist der 7. Tag des Adventskalenders von Cloud Analytics.

Verwenden Sie hier die Cloudant-Daten, die am [Tag 3] erstellt wurden (http://qiita.com/y_t_p/items/ea2fbb60677b11b44399), das Notebook zur Data Science Experience, die RDD-Behandlung von Spark und Artikel Die im Titel enthaltenen japanischen Sätze werden durch einfache Aggregationsverarbeitung mit Janome behandelt. * Der Artikel ist lang geworden, also werde ich ihn teilen ...

Informationen zur Vorbereitung von Node-RED und Cloudant sowie zu den diesmal verwendeten Daten finden Sie in Artikel am 3. Tag. Darüber hinaus verwendet die Umgebung dieses Notebooks DataScienceExperience. Einzelheiten zu DSX finden Sie unter Artikel am ersten Tag.

Vorbereiten der Verbindung mit Cloudant

Erstellen Sie eine Verbindung zum Cloudant, die aus dem Hinzufügen von Datenbeständen in der folgenden Abbildung erstellt wurde.

スクリーンショット 2016-12-12 10.54.18.png

Wenn das rechte Fenster geöffnet wird, wählen Sie die Registerkarte Verbindungen und Erstellen Sie eine neue Verbindung über Verbindung erstellen. スクリーンショット 2016-12-12 10.58.54.png

Öffnen Sie den Bildschirm Verbindung erstellen und legen Sie die erforderlichen Elemente fest.

Einstellung jedes Elements 1 スクリーンショット 2016-12-12 11.02.19.png

Einstellung jedes Punktes 2 スクリーンショット 2016-12-12 11.05.19.png

Wenn Sie auf die Schaltfläche Erstellen klicken, wird eine Verbindung zur RSS-Datenbank von Cloudant hergestellt (siehe unten).

スクリーンショット 2016-12-12 11.08.11.png

Cloudant ist jetzt bereit. Es ist sehr leicht.

Notizbuch erstellen

Erstellen Sie als Nächstes ein neues Notizbuch zur Analyse. Wählen Sie im Projektbildschirm Notizbücher hinzufügen aus, um ein neues Notizbuch hinzuzufügen. スクリーンショット 2016-12-12 11.12.16.png

Es überschneidet sich mit dem in [Tag 1] erläuterten Inhalt (http://qiita.com/y_t_p/items/1781dc5b6fc6eb470582), ist aber einfach.

スクリーンショット 2016-12-12 11.17.23.png

In Sprache können Sie auch das Python 2-System auswählen. Dieses Mal werden wir uns mit Japanisch befassen, daher haben wir 3.5 ausgewählt, das einfach zu bedienen ist.

Informationen zur Data Science-Erfahrung finden Sie in Artikel am ersten Tag.

Janome vorbereiten

Das Notizbuch wird beim Erstellen automatisch geöffnet. Installieren Sie Janome, einen in Python verfügbaren morphologischen Analysator, um eine japanische morphologische Analyse durchzuführen.

Janomes HP

Sie können pip on Data Science Experience verwenden. Geben Sie den folgenden Code in die erste Zelle ein und führen Sie ihn aus

!pip install janome

Informationen zur grundlegenden Verwendung von Jupyter, z. B. zur Codeausführung, finden Sie im Artikel am ersten Tag.

Führen Sie es aus, um Janome zu installieren. スクリーンショット 2016-12-12 11.27.57.png

Lassen Sie uns nach der Installation von Janome einen einfachen Test durchführen, um festzustellen, ob Janome normal verwendet werden kann. Geben Sie den Schreibcode in eine neue Zelle ein und führen Sie ihn aus.

from janome.tokenizer import Tokenizer
t = Tokenizer()
tokens = t.tokenize("Von den Oberschenkeln und Oberschenkeln")
for token in tokens:
    print(token)

Achten Sie beim Kopieren auf Einrückungen. Es ist in Ordnung, wenn das Ergebnis einer normalen morphologischen Analyse ausgegeben wird. スクリーンショット 2016-12-12 11.32.43.png

Cloudanter Verbindungscode

Wenn Janome fertig ist, schreiben wir den Code, um die Daten von Cloudant zu erhalten. Füllen Sie zunächst die Zelle mit Cloudant-Authentifizierungsdaten. Rufen Sie die Cloudant-Informationen auf, die Sie zuvor registriert haben. Öffnen Sie das Menü zum Suchen und Hinzufügen von Daten oben rechts und öffnen Sie es Suchen Sie die Nachrichten, die Sie gerade bei Connections registriert haben. スクリーンショット 2016-12-12 11.36.16.png

Wenn Sie Einfügen drücken, um mit einer neuen ausgewählten Zelle zu codieren, füllt die Zelle automatisch die erforderlichen Informationen aus. スクリーンショット 2016-12-12 11.48.50.png

Führt die eingegebene Zelle aus und stellt die Variable credentials_1 zur Verfügung. Erstellen Sie als Nächstes einen DataFrame mit SparkSQL. Geben Sie den folgenden Code in eine neue Zelle ein und führen Sie ihn aus.

from pyspark.sql import SQLContext
#SQLContext
sqlContext = SQLContext(sc)
#load rss from cloudant
rss = sqlContext.read.format("com.cloudant.spark").\
option("cloudant.host",credentials_1["host"]).\
option("cloudant.username", credentials_1["username"]).\
option("cloudant.password",credentials_1["password"]).\
load("rss")

Geben Sie das Cloudant-Format in sqlContext an, geben Sie den Hostnamen, den verbundenen Benutzer und das Kennwort aus den obigen Anmeldeinformationen an und laden Sie die Daten aus der RSS-Tabelle.

Wenn hier die Ausnahme einer anderen Derby-Instanz möglicherweise bereits gestartet wurde, starten Sie den Notebook-Kernel neu und führen Sie den Code aus der ersten Zelle erneut aus. Es scheint, dass Apache Derby intern verwendet wird, aber es scheint einen Fall zu geben, in dem die Handhabung der Verbindung nicht gut läuft ...

Führen Sie den folgenden Code aus, um das Schema der geladenen Daten anzuzeigen.

rss.printSchema()

スクリーンショット 2016-12-12 12.01.28.png

Lassen Sie uns abschließend den Inhalt der Daten überprüfen. Führen Sie den folgenden Code aus, um die Daten anzuzeigen.

rss.show()

スクリーンショット 2016-12-12 12.10.46.png

Dies ist das Ende von Teil 1. Ab Teil 2 werde ich PySpark und Janome verwenden, um Japanisch zu betreiben.

Recommended Posts

Japanische Analyseverarbeitung mit Janome Teil1
Japanische morphologische Analyse mit Janome
Japanische Verarbeitung natürlicher Sprache mit Python3 (4) Emotionsanalyse durch logistische Regression
Verarbeitung und Beurteilung des Datenanalyseplans (Teil 1)
Verarbeitung und Beurteilung des Datenanalyseplans (Teil 2)
Datenanalyse mit xarray
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 2
Kaggle ~ Gehäuseanalyse Part ~ Teil1
Wörterbuchverarbeitung mit items ()
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 1
100 Sprachverarbeitung Knock-30 (unter Verwendung von Pandas): Lesen der Ergebnisse der morphologischen Analyse
Hauptkomponentenanalyse Analysieren Sie handschriftliche Zahlen mit PCA. Teil 1
Orthologe Analyse mit OrthoFinder
■ [Google Colaboratory] Vorverarbeitung der Verarbeitung natürlicher Sprache & Janome
Python: Japanischer Text: Morphologische Analyse
100 Sprachverarbeitung Knock-57: Abhängigkeitsanalyse
Verarbeitung natürlicher Sprache 1 Morphologische Analyse
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Japanisches NLP @ janome / spaCy / Python
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Zeitreihenanalyse Teil 4 VAR
Japanische morphologische Analyse mit Python
Wrap-Analyse Teil1 (Datenaufbereitung)
100 Sprachverarbeitung Knock-56: Co-Referenz-Analyse
Implementieren Sie die Umkehrumkehrverarbeitung mit BitBoard
Zeitreihenanalyse Teil 1 Autokorrelation
Datenanalyse mit Python-Pandas
Verwenden des Python-Modus in der Verarbeitung