[PYTHON] J'ai essayé de toucher l'API COTOHA

introduction

Articles utilisant l 'API COTOHA, y compris Kotoha Api J'ai beaucoup vu, alors j'ai décidé de le toucher en y faisant référence. Vous avez besoin d'un compte pour utiliser l'API, donc si vous êtes intéressé, veuillez en créer un. (J'ai pu commencer à l'utiliser en moins de temps.) Dans cet article, nous utiliserons cette API pour obtenir le résultat de l'analyse morphologique.

Tout d'abord, l'authentification

import requests
import json

BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "CLIENT_ID" #Entrez l'ID émis
CLIENT_SECRET = "CLIENT_SECRET" #Entrez le secret émis


#Obtenez un jeton d'accès
def auth(client_id, client_secret):
    token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8"
    }
    data = {
        "grantType": "client_credentials",
        "clientId": client_id,
        "clientSecret": client_secret
    }
    r = requests.post(token_url,
                      headers=headers,
                      data=json.dumps(data))
    return r.json()["access_token"]


if __name__ == "__main__":
    access_token = auth(CLIENT_ID, CLIENT_SECRET)
    # print(access_token)

Je me demande si vous souhaitez sortir le jeton d'accès (commenté pour le moment), mais vous pouvez appeler l'API en authentifiant et en obtenant le jeton.

Analyse morphologique (analyse syntaxique)

import requests
import json
import sys

BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "CLIENT_ID"  #Entrez l'ID émis
CLIENT_SECRET = "CLIENT_SECRET"  #Entrez le secret émis


#Obtenez un jeton d'accès
def auth(client_id, client_secret):
    token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8"
    }
    data = {
        "grantType": "client_credentials",
        "clientId": client_id,
        "clientSecret": client_secret
    }
    r = requests.post(token_url,
                      headers=headers,
                      data=json.dumps(data))
    return r.json()["access_token"]


#Analyse morphologique
def parse(sentence, access_token):
    base_url = BASE_URL
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8",
        "Authorization": "Bearer {}".format(access_token)
    }
    data = {
        "sentence": sentence,
        "type": "default"
    }
    r = requests.post(base_url + "v1/parse",
                      headers=headers,
                      data=json.dumps(data))
    return r.json()


if __name__ == "__main__":
    document = "tester"
    args = sys.argv
    if len(args) >= 2:
        document = str(args[1])

    access_token = auth(CLIENT_ID, CLIENT_SECRET)
    parse_document = parse(document, access_token)
    print(parse_document)

Cette fois, j'ai utilisé l'API d'analyse de syntaxe, mais si elle est disponible sur ici, vous pouvez l'utiliser immédiatement. Je vais.

Courir

python parse.py je suis un oiseau

résultat

{'result': [{'chunk_info': {'id': 0, 'head': 1, 'dep': 'D', 'chunk_head': 0, 'chunk_func': 1, 'links': []}, 'tokens': [{'id': 0, 'form': 'je', 'kana': 'je', 'lemma': 'je', 'pos': 'nom', 'features': ['代nom'], 'dependency_labels': [{'token_id': 1, 'label': 'case'}], 'attributes': {}}, {'id': 1, 'form': 'Est', 'kana': 'C', 'lemma': 'Est', 'pos': 'Mots auxiliaires consécutifs', 'features': [], 'attributes': {}}]}, {'chunk_info': {'id': 1, 'head': -1, 'dep': 'O', 'chunk_head': 0, 'chunk_func': 1, 'links': [{'link': 0, 'label': 'aobject'}], 'predicate': []}, 'tokens': [{'id': 2, 'form': 'oiseau', 'kana': 'oiseau', 'lemma': 'oiseau', 'pos': 'nom', 'features': [], 'dependency_labels': [{'token_id': 0, 'label': 'nmod'}, {'token_id': 3, 'label': 'cop'}], 'attributes': {}}, {'id': 3, 'form': 'est', 'kana': 'mort', 'lemma': 'est', 'pos': 'Jugement', 'features': ['Arrêtez'], 'attributes': {}}]}], 'status': 0, 'message': ''}

en conclusion

L'obtention d'un compte s'est déroulée en douceur et il était pratique à utiliser immédiatement. L'analyse morphologique est un domaine d'intérêt personnel que j'ai l'occasion de toucher dans un travail réel. Actuellement, je m'inscris gratuitement, donc c'est pour les développeurs, mais je suis également intéressé par le dictionnaire des termes techniques et les extensions de pour Enterprise, donc j'aimerais y toucher s'il y a une opportunité. J'aimerais faire quelque chose avec l'API COTOHA, mais je ne peux pas trouver d'idées car je n'ai pas la créativité ... J'aimerais publier quelque chose dès que j'y pense.

Recommended Posts

J'ai essayé de toucher l'API COTOHA
J'ai touché l'API de Tesla
[Première API COTOHA] J'ai essayé de résumer l'ancienne histoire
jupyter je l'ai touché
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de créer l'API Quip
J'ai essayé le roman Naro API 2
J'ai essayé de toucher Python (installation)
J'ai essayé l'API du roman Naruro
J'ai essayé de déplacer le ballon
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'estimer la section.
J'ai essayé de toucher l'API COTOHA
Jouez avec Dajare en utilisant l'API COTOHA
J'ai essayé d'obtenir diverses informations de l'API codeforces
J'ai essayé de reconnaître le mot de réveil
J'ai essayé de noter la syntaxe trop humoristique et humoristique en utilisant l'API COTOHA.
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai créé une API Web
J'ai essayé de toucher Python (syntaxe de base)
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai essayé d'utiliser l'API COTOHA (il y a aussi du code sur GitHub)
J'ai essayé de déboguer.
J'ai essayé d'accéder à l'API Qiita depuis le début
J'ai essayé d'optimiser le séchage du linge
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de toucher la bibliothèque GUI de Python "PySimple GUI"
Qiita Job J'ai essayé d'analyser le travail
LeetCode j'ai essayé de résumer les plus simples
J'ai essayé de mettre en œuvre le problème du voyageur de commerce
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
En utilisant COTOHA, j'ai essayé de suivre le cours émotionnel de la course aux meros.
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé d'apprendre PredNet
J'ai essayé de détecter l'iris à partir de l'image de la caméra
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé de prédire le match de la J League (analyse des données)
J'ai essayé d'organiser SVM.
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé d'implémenter PCANet
J'ai essayé de toucher l'API Qiita
J'ai essayé d'approcher la fonction sin en utilisant le chainer
J'ai essayé la bibliothèque changefinder!
J'ai essayé de découvrir notre obscurité avec l'API Chatwork
J'ai essayé de mettre Pytest dans la bataille réelle
[Python] J'ai essayé de représenter graphiquement le top 10 des ombres à paupières
J'ai essayé de réintroduire Linux
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé de présenter Pylint
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de résumer SparseMatrix