[PYTHON] Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung

Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung

Laden Sie das SDK herunter

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"

Vorbereiten der Google Cloud Natural Language API

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

Python-Bindung

https://github.com/GoogleCloudPlatform/google-cloud-python python3.6 wird ebenfalls unterstützt


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 Erstellen Sie eine praktische Klasse wie folgt:

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

Beispiel)

import GCNaturalLanguage
gcn = GCNaturalLanguage()
dic = gcn.get_entity("Ich habe versucht, in der Zugriffsanalyse eine domänenübergreifende Einstellung festzulegen")
print(dic)
# 21 characters => done!
# {0: 'Zugriffsanalyse', 7: 'Domänenübergreifend'}

Übrigens in MeCab,

#Mecab, das als erweitertes Wörterbuch beliebt ist-ipadic-Ich benutze neologd
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
Ich habe versucht, in der Zugriffsanalyse eine domänenübergreifende Einstellung festzulegen
Nomenklatur der Zugriffsanalyse,Proprietäre Nomenklatur,Allgemeines,*,*,*,Zugriffsanalyse,Zugang zu Kaiseki,Zugang zu Kaiseki
Hilfs,Fallassistent,Allgemeines,*,*,*,damit,De,De
Kreuz Nomen,Verbindung ändern,*,*,*,*,Kreuz,Kreuz,Kreuz
Domain-Nomenklatur,Allgemeines,*,*,*,*,Domain,Domain,Domain
Hilfs,Fallassistent,Allgemeines,*,*,*,Zu,Wo,Wo
Substantiv einstellen,Verbindung ändern,*,*,*,*,Aufbau,Rahmen,Rahmen
Shi Verb,Unabhängigkeit,*,*,Sahen / Suru,Kontinuierlicher Typ,Machen,Shi,Shi
Der Assistent,Verb verbinden,*,*,*,*,Hand,Te,Te
Mi Verb,Nicht unabhängig,*,*,Ein Schritt,Kontinuierlicher Typ,Aussicht,Mi.,Mi.
Hilfsverb,*,*,*,Besondere,Grundform,Ta,Ta,Ta
EOS

ist geworden. Sie können sehen, dass "Zugriffsanalyse" sowohl für die erstere als auch für die letztere gut gesagt wird. (Übrigens, wenn Sie die morphologische Analyse direkt als "Mecab" durchführen, ohne "Mecab-ipadic-neologd" als Argument zu verwenden, werden "Zugriff" und "Analyse" getrennt.)

Wenn Sie beispielsweise den Fachbegriff "domänenübergreifend" extrahieren möchten, können Sie ihn nicht direkt mit MeCab extrahieren. Wenn Sie also das externe Tool GCP Natural Language API verwenden, wird der Zweck erreicht. Um es in Zukunft verwenden zu können, empfiehlt es sich, das von GCP extrahierte Wort als neues Wort im Benutzerwörterbuch zu registrieren und es so zu verwenden, als ob Sie MeCab erneut verwenden möchten [^ add].

[^ add]: Ich habe die Details unter http://qiita.com/knknkn1162/items/8c12f42dd167aae01c02#_reference-aa421a94c959d84ff7fb geschrieben.

Recommended Posts

Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
Verwendung von Python Kivy (Referenz) -Ich habe die Kivy-Sprache der API-Referenz übersetzt-
Verwendung der Google Cloud Translation API
Verwendung der NHK-Programmführer-API
Von der Einführung von Pyethapp bis zur Vertragsabwicklung
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
[Einführung in die Udemy Python3 + -Anwendung] 30. Verwendung des Sets
So veröffentlichen Sie ein Ticket über die Shogun-API
Verwendung des Generators
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Zusammenfassung von Anfang bis Kapitel 1 der Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden
So beschränken Sie die API, die in der gemeinsam genutzten Linux-Bibliothek in C-Sprache veröffentlicht werden soll
Berechnen des aus ABC134-D gelernten Rechenaufwands
Einführung von DataLiner Version 1.3 und Verwendung von Union Append
Verwendung der Zip-Funktion
Verwendung des optparse-Moduls
Wie man SWIG von waf benutzt
Zusammenfassung der Verwendung von pandas.DataFrame.loc
Zusammenfassung der Verwendung von pyenv-virtualenv
Langsame Verwendung der Computersprache 2
Verwendung der Python-API von OpenPose
Verwenden Sie die Flickr-API von Python
Wie benutzt man Bing Search API?
Wie man die Computersprache langsam benutzt
Zusammenfassung der Verwendung von csvkit
Verwendung des ConfigParser-Moduls
[Python] Verwendung der Typetalk-API
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Verwendung von Jupyter am Frontend von Spacon ITO
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Fassen Sie mit tf.data.Dataset api zusammen, wie Text (Verarbeitung natürlicher Sprache) vorverarbeitet wird
[Einführung in Python] Verwendung des Booleschen Operators (und ・ oder ・ nicht)
Die Reihenfolge der Likes (LGTM) ist von "Meine Seite" verschwunden. Verwenden Sie daher die Qiita-API, um sie abzurufen.
[Python] Zusammenfassung der Verwendung von Pandas
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Verwendung der Spark ML-Pipeline
So überprüfen Sie die Version von Django
[TF] Verwendung von Tensorboard von Keras
[Linux] Verwendung des Befehls echo
Berechnen Verwenden Sie% des Befehls df
[Python2.7] Zusammenfassung der Verwendung von unittest
So bedienen Sie Linux von der Konsole aus
Jupyter Notebook Grundlagen der Verwendung
Grundlagen von PyTorch (1) - Verwendung von Tensor-
So greifen Sie von außen auf den Datenspeicher zu
Verwendung des IPython-Debuggers (ipdb)
Zusammenfassung der Verwendung der Python-Liste
Verwendung der Cloud Vision API von GCP
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Einführung in Scapy ① (Von der Installation bis zur Ausführung von Scapy)
[Frage] Wie verwende ich plot_surface von Python?
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Einführung des Cyber-Sicherheits-Frameworks "MITRE CALDERA": Verwendung und Schulung
[C-Sprache] Verwendung der Krypta-Funktion unter Linux [Passwort-Hashing]
So berechnen Sie die Volatilität einer Marke
Verwendung der C-Bibliothek in Python