[PYTHON] De l'introduction de l'API GoogleCloudPlatform Natural Language à son utilisation

De l'introduction de l'API GoogleCloudPlatform Natural Language à son utilisation

Télécharger le SDK

https://cloud.google.com/sdk/docs/quickstart-mac-os-x?hl=ja

https://cloud.google.com/natural-language/docs/common/auth?hl=ja#set_up_a_service_account

export GOOGLE_APPLICATION_CREDENTIALS="/Users/users/hoge/key.json"

Préparation de l'API Google Cloud Natural Language

https://cloud.google.com/natural-language/docs/getting-started?hl=ja

liaison python

https://github.com/GoogleCloudPlatform/google-cloud-python python3.6 est également pris en charge


pip install --upgrade google-cloud
gcloud auth application-default login

https://googlecloudplatform.github.io/google-cloud-python/stable/language-responses.html#google.cloud.language.entity.Entity

https://googlecloudplatform.github.io/google-cloud-python/stable/language-usage.html Créez une classe pratique comme suit, en vous référant à:

from google.cloud import language
class GCNaturalLanguage(object):
    def __init__(self, upper=10000):
        # Instantiates a client
        self.client = language.Client()
        self.upper = upper

    def get_entity(self, text):
        length = len(text)

        if length > self.upper:
            print("{} .. too long".format(length))
            return {}

        document = self.client.document_from_text(text, language='ja')

        # Detects the sentiment of the text
        res = document.analyze_entities()
        print("{} characters => done!".format(len(text)))
        dic = {}
        for entity in res.entities:

            for m in entity.mentions:
                dic.update({m.text.begin_offset: m.text.content})

        return dic

Exemple)

import GCNaturalLanguage
gcn = GCNaturalLanguage()
dic = gcn.get_entity("J'ai essayé de définir un domaine croisé dans l'analyse d'accès")
print(dic)
# 21 characters => done!
# {0: 'analyse d'accès', 7: 'Domaine croisé'}

Au fait, dans MeCab,

#Mecab, qui est populaire en tant que dictionnaire étendu-ipadic-J'utilise neologd
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
J'ai essayé de définir un domaine croisé dans l'analyse d'accès
Nomenclature d'analyse d'accès,Nom propre,Général,*,*,*,analyse d'accès,Accéder à Kaiseki,Accéder à Kaiseki
Auxiliaire,Assistant de cas,Général,*,*,*,alors,De,De
Croix substantif,Changer de connexion,*,*,*,*,traverser,traverser,traverser
Nomenclature de domaine,Général,*,*,*,*,domaine,domaine,domaine
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Définition du nom,Changer de connexion,*,*,*,*,Réglage,Réglage,Réglage
Verbe shi,Indépendance,*,*,Sahen / Suru,Type continu,Faire,Shi,Shi
Te assistant,Assistant de connexion,*,*,*,*,main,Te,Te
Verbe mi,Non indépendant,*,*,Un pas,Type continu,Vue,Mi,Mi
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
EOS

est devenu. Vous pouvez voir que «l'analyse d'accès» est bien dite à la fois pour la première et la seconde. (Au fait, si vous effectuez une analyse morphologique directement en tant que mecab sans prendre mecab-ipadic-neologd comme argument," accès "et" analyse "seront séparés.)

Cependant, par exemple, si vous souhaitez extraire le terme technique "cross-domain", vous ne pouvez pas l'extraire directement avec MeCab, donc l'utilisation de l'outil externe GCP Natural Language API permettra d'atteindre l'objectif. Afin de l'utiliser à l'avenir, il est bon d'enregistrer celui extrait par GCP en tant que nouveau mot dans le dictionnaire utilisateur, puis de l'utiliser comme si vous vouliez à nouveau utiliser MeCab [^ add].

[^ add]: J'ai écrit les détails sur http://qiita.com/knknkn1162/items/8c12f42dd167aae01c02#_reference-aa421a94c959d84ff7fb.

Recommended Posts

De l'introduction de l'API GoogleCloudPlatform Natural Language à son utilisation
Comment utiliser Python Kivy (référence) -J'ai traduit le langage Kivy de la référence API-
Comment utiliser l'API Google Cloud Translation
Comment utiliser l'API du guide des programmes NHK
De l'introduction de pyethapp à l'exécution du contrat
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
[Introduction à Udemy Python3 + Application] 30. Comment utiliser l'ensemble
Comment publier un ticket depuis l'API Shogun
Comment utiliser le générateur
Comment utiliser le décorateur
[Introduction] Comment utiliser open3d
Résumé du début au chapitre 1 de l'introduction aux modèles de conception appris en langage Java
Comment limiter la publication de l'API dans la bibliothèque partagée en langage C de Linux
Comment calculer la quantité de calcul appris de ABC134-D
Introduction de DataLiner ver.1.3 et comment utiliser Union Append
Comment utiliser la fonction zip
Comment utiliser le module optparse
Comment utiliser SWIG de WAF
Résumé de l'utilisation de pandas.DataFrame.loc
Résumé de l'utilisation de pyenv-virtualenv
Comment utiliser lentement le langage informatique 2
Comment utiliser l'API Python d'OpenPose
Utilisez l'API Flickr de Python
Comment utiliser l'API Bing Search
Comment utiliser lentement le langage informatique
Résumé de l'utilisation de csvkit
Comment utiliser le module ConfigParser
[Python] Comment utiliser l'API Typetalk
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment utiliser Jupyter sur le frontal de Spacon ITO
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
Résumez comment prétraiter le texte (traitement du langage naturel) avec l'api tf.data.Dataset
[Introduction à Python] Comment utiliser l'opérateur booléen (et ・ ou ・ non)
L'ordre des likes (LGTM) a disparu de Ma page, utilisez donc l'API Qiita pour l'obtenir.
[Python] Résumé de l'utilisation des pandas
[Introduction à Python] Comment utiliser la classe en Python?
Comment utiliser le pipeline Spark ML
Comment vérifier la version de Django
[TF] Comment utiliser Tensorboard de Keras
[Linux] Comment utiliser la commande echo
Comment calculer Utiliser% de la commande df
[Python2.7] Résumé de l'utilisation d'unittest
Comment faire fonctionner Linux depuis la console
Jupyter Notebook Principes d'utilisation
Bases de PyTorch (1) -Comment utiliser Tensor-
Comment accéder à la banque de données de l'extérieur
Comment utiliser le débogueur IPython (ipdb)
Résumé de l'utilisation de la liste Python
Comment utiliser l'API Cloud Vision de GCP
[Python2.7] Résumé de l'utilisation du sous-processus
Introduction à Scapy ① (De l'installation à l'exécution de Scapy)
[Question] Comment utiliser plot_surface de python
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
Introduction du cadre de cybersécurité "MITRE CALDERA": utilisation et formation
[Langage C] Comment utiliser la fonction crypt sous Linux [Hachage de mot de passe]
Comment calculer la volatilité d'une marque
Comment utiliser la bibliothèque C en Python