[PYTHON] Traitement de l'analyse japonaise à l'aide de Janome part1

Cet article est le 7ème jour du calendrier de l'Avent Cloud Analytics.

Ici, en utilisant les données Cloudant préparées le Jour 3, en utilisant le Notebook on the Data Science Experience, la gestion RDD de Spark et les articles Les phrases japonaises incluses dans le titre sont gérées par un simple traitement d'agrégation à l'aide de Janome. * L'article est devenu long, je vais donc le diviser ...

Veuillez vous référer à Article sur le 3ème jour pour la préparation de Node-RED et Cloudant et les données utilisées cette fois. De plus, l'environnement de ce notebook utilise DataScienceExperience. Pour plus de détails sur DSX, reportez-vous à Article sur le jour 1.

Se préparer à se connecter avec Cloudant

Créez une connexion au Cloudant préparée à partir de l'ajout d'actifs de données dans la figure ci-dessous.

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

Lorsque le panneau de droite s'ouvre, sélectionnez l'onglet Connexions et Créez une nouvelle connexion à partir de Créer une connexion. スクリーンショット 2016-12-12 10.58.54.png

Ouvrez l'écran Créer une connexion et définissez les éléments requis.

Réglage de chaque élément 1 スクリーンショット 2016-12-12 11.02.19.png

Réglage de chaque élément 2 スクリーンショット 2016-12-12 11.05.19.png

Si vous appuyez sur le bouton Créer, une connexion à la base de données rss de Cloudant sera créée comme indiqué ci-dessous.

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

Cloudant est maintenant prêt. C'est très facile.

Créer un cahier

Ensuite, créez un nouveau bloc-notes pour l'analyse. Sélectionnez ajouter des blocs-notes dans l'écran du projet pour ajouter un nouveau bloc-notes. スクリーンショット 2016-12-12 11.12.16.png

Il chevauche le contenu expliqué dans Jour 1, mais c'est facile.

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

Dans Language, vous pouvez également sélectionner le système Python 2, Cette fois, nous allons gérer le japonais, nous avons donc sélectionné 3,5, qui est facile à utiliser.

Pour l'expérience de la science des données, veuillez consulter Article sur le jour 1.

Préparer Janome

Le bloc-notes s'ouvre automatiquement lorsque vous le créez. Pour effectuer une analyse morphologique japonaise, installez Janome, un analyseur morphologique disponible en Python.

HP de Janome

Vous pouvez utiliser pip sur Data Science Experience. Entrez le code ci-dessous dans la première cellule et exécutez

!pip install janome

Pour l'utilisation de base de Jupyter telle que l'exécution de code, reportez-vous à l'article du premier jour.

Exécutez-le pour installer Janome. スクリーンショット 2016-12-12 11.27.57.png

Après avoir installé Janome, faisons un simple test pour voir si Janome peut être utilisé normalement. Entrez le code d'écriture dans une nouvelle cellule et exécutez-le.

from janome.tokenizer import Tokenizer
t = Tokenizer()
tokens = t.tokenize("Des cuisses et des cuisses")
for token in tokens:
    print(token)

Faites attention à l'indentation lors de la copie. C'est OK si le résultat de l'analyse morphologique normale est sorti. スクリーンショット 2016-12-12 11.32.43.png

Code de connexion Cloudant

Lorsque Janome sera prêt, nous écrirons le code pour obtenir les données de Cloudant. Tout d'abord, remplissez la cellule avec les données d'authentification Cloudant. Appelez les informations Cloudant que vous avez enregistrées précédemment. Ouvrez le menu Rechercher et ajouter des données en haut à droite et ouvrez Trouvez le news_rss que vous venez de vous inscrire sur Connections. スクリーンショット 2016-12-12 11.36.16.png

Si vous appuyez sur insérer pour coder avec une nouvelle cellule sélectionnée, la cellule remplira automatiquement les informations requises. スクリーンショット 2016-12-12 11.48.50.png

Exécute la cellule saisie et rend disponible la variable credentials_1. Ensuite, créez un DataFrame à l'aide de SparkSQL. Entrez le code suivant dans une nouvelle cellule et exécutez-le.

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")

Spécifiez le format Cloudant dans sqlContext, spécifiez le nom d'hôte, l'utilisateur connecté et le mot de passe à partir des informations d'identification ci-dessus, puis chargez les données à partir de la table rss.

Si l'exception de Une autre instance de Derby peut avoir déjà démarré la base de données ... se produit ici, redémarrez le noyau du notebook et réexécutez le code à partir de la première cellule. Il semble qu'apache Derby soit utilisé en interne, mais il semble y avoir un cas où la gestion de la connexion ne se passe pas bien ...

Exécutez le code suivant pour voir le schéma des données chargées.

rss.printSchema()

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

Enfin, vérifions le contenu des données. Exécutez le code suivant pour afficher les données.

rss.show()

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

C'est la fin de la partie 1. J'exploiterai le japonais en utilisant PySpark et Janome de part2.

Recommended Posts

Traitement de l'analyse japonaise à l'aide de Janome part1
Analyse morphologique japonaise avec Janome
Traitement du langage naturel japonais utilisant Python3 (4) Analyse des émotions par régression logistique
Traitement et jugement de la collecte du plan d'analyse des données (partie 1)
Traitement et jugement de la collecte du plan d'analyse des données (partie 2)
Analyse des données à l'aide de xarray
Explication du concept d'analyse de régression à l'aide de python Partie 2
Kaggle ~ Analyse du logement ③ ~ Part1
Traitement de type dictionnaire à l'aide d'éléments ()
Explication du concept d'analyse de régression à l'aide de Python Partie 1
100 Language Processing Knock-30 (en utilisant des pandas): lecture des résultats de l'analyse morphologique
Analyse en composantes principales Analyser les nombres manuscrits à l'aide de l'ACP. Partie 1
Analyse orthologue à l'aide d'OrthoFinder
■ [Google Colaboratory] Prétraitement du traitement du langage naturel et janome
Python: texte japonais: analyse morphologique
100 Language Processing Knock-57: Analyse des dépendances
Traitement du langage naturel 1 Analyse morphologique
Essayez d'utiliser SQLAlchemy + MySQL (partie 1)
PNL japonais @ janome / spaCy / Python
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Analyse des séries chronologiques partie 4 VAR
Analyse morphologique japonaise avec Python
Wrap Analysis part1 (préparation des données)
100 Language Processing Knock-56: analyse de co-référence
Implémenter le traitement de l'inversion à l'aide de BitBoard
Analyse de séries chronologiques Partie 1 Autocorrélation
Analyse de données à l'aide de pandas python
Utilisation du mode Python dans le traitement