[PYTHON] Créez une application qui fonctionne bien avec les rapports des utilisateurs à l'aide de l'API COTOHA

Une personne qui fréquente une université à Tokyo. Cela fait un an que je suis entré à l'université et sept mois se sont écoulés depuis que j'ai commencé à programmer. Je crée généralement des applications avec mes amis et je participe à des concours d'apprentissage automatique. J'ai appris hier un événement appelé [Qiita x COTOHA API present plan]. Je veux un Mac, je vais donc écrire mon premier article dans le but de gagner un prix. : fist: (Aujourd'hui est la date limite ...: angel_tone2 :)

Le rapport universitaire est ennuyeux

L'université impose de nombreux rapports. C'est un événement très douloureux. : froncer les sourcils2:

Pouvez-vous bien glisser?

Une façon de faciliter les choses est de presser les rapports des gens. Cependant, si vous serrez chaque mot, vous serez déçu. Par conséquent, je me suis demandé si je pouvais changer l'expression tout en conservant le contenu du rapport.

Matière

Cette fois, je vais écrire le texte suivant (une partie du rapport que j'ai rédigé le mois dernier).

Ce n'est pas une bonne phrase que je veux serrer ... Il y en a beaucoup de "encore" ...: sueur:

règle

  1. Ne modifiez pas les mots entre "". (Parce que c'est le nom d'un livre ou d'une page d'accueil)
  2. Ne modifiez pas le nom de lieu, le nom de la personne ou le nom de l'organisation.
  3. Ne modifiez pas les chiffres.

Faire de la logique comme ça

Utilisez un dictionnaire de synonymes ou GCP pour jouer petit à petit avec l'expression originale. Le résultat est le suivant.

L'expression a changé à certains endroits. La troisième règle est suivie, mais l '«Institut national de la sécurité sociale et des questions de population» est devenu l' «Institut national de la population et de la sécurité sociale». Il ne correspond pas au nom de la personne ou au nom de l'organisation.

Utilisez l'API COTOHA.

Avec pleine satisfaction, l'API COTOHA est là. Lien API COTOHA L'API COTOHA est un service qui fournit diverses API de traitement du langage naturel / traitement de la parole telles que l'analyse syntaxique, l'analyse de correspondance, l'extraction de mots-clés, la reconnaissance vocale et la synthèse. Le dictionnaire japonais, qui est le résultat de 40 ans de recherche par le groupe NTT. Vous pouvez facilement utiliser l'analyse avancée avec l'API en utilisant la technologie pour classer la signification de plus de 3000 types de mots et de mots. " Parmi cette excellente API, nous utiliserons cette fois l'API d'extraction d'expression unique pour déterminer le nom de la personne et le nom de l'organisation.

Inscrivez-vous au niveau gratuit de l'API COTOHA

D'ici Vous pouvez facilement vous inscrire. Après vous être enregistré, vérifiez ici l'URL DE BASE de l'API, l'ID CLIENT et le secret CLIENT.

get_token.py


data = {
    "grantType": "client_credentials",
    "clientId": "Your CLIENT ID",
    "clientSecret": "Your CLIENT secret"
    }
str_json = json.dumps(data)

url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
headers={
    "Content-Type": "application/json"
    }


result=requests.post(url,headers=headers,data=str_json)
print(result.text)

Vous pouvez maintenant voir le jeton d'accès.

get_koyu.py


def get_koyu_(text, token):
    data = {
    "sentence":text,
    "type": "default"
    }
    headers = {
        "Content-Type":"application/json",
        "Authorization":"Bearer " + token
    }

    str_json = json.dumps(data)

    url = "https://api.ce-cotoha.com/api/dev/nlp/v1/ne"
    rr=requests.post(url,headers=headers,data=str_json)
    result = json.loads(rr.text)["result"]

Vous pouvez extraire l'expression unique dans la phrase avec le code ci-dessus. [{'begin_pos': 3, 'end_pos': 8, 'form': 'Ministry of Health and Labour', 'std_form': 'Ministry of Health and Labour', 'class': 'ORG', 'extended_class': '', 'source ':' basic '}, {' begin_pos ': 42,' end_pos ': 47,' form ':' 2017 ',' std_form ':' 2017 ',' class ':' DAT ',' extended_class ':' ',' source ':' basic '}, {' begin_pos ': 84,' end_pos ': 88,' form ':' 50 ans plus tard ',' std_form ':' 50 ans plus tard ',' class ' : 'DAT', 'extended_class': '', 'source': 'basic'}, {'begin_pos': 156, 'end_pos': 170, 'form': 'Institut national de la sécurité sociale et des problèmes de population', ' std_form ':' Institut national de la sécurité sociale et des problèmes de population ',' class ':' ORG ',' extended_class ':' ',' source ':' basic '}, ... Il existe des catégories telles que le nom de lieu, le nom de la personne et le nom de l'organisation, de sorte que vous pouvez vous fier à celles-ci pour déterminer le nom de lieu, le nom de la personne et le nom de l'organisation.

Après cela, réécrivez le code pour ne pas modifier ces expressions uniques.

Achevée

Avant de plisser

Après avoir plissé

Les mots entre "" et le nom de l'organisation restent les mêmes, mais seules les expressions ont changé. Il y a quelques subtilités, mais je vais le faire pour le moment.

L'application réellement terminée est ici.

Recommended Posts

Créez une application qui fonctionne bien avec les rapports des utilisateurs à l'aide de l'API COTOHA
Créer une application à l'aide de l'API Spotify
Jouez avec Dajare en utilisant l'API COTOHA
Créez une application qui recherche uniquement à l'aide de l'API de recherche personnalisée Google avec Python 3.3.1 dans Bottle
Créez une application qui devine les étudiants avec Python
Créez une application qui devine les étudiants avec la version python-GUI
Créer une API avec Django
Créons une application qui authentifie OIDC avec Azure AD
Créez une API en utilisant hug avec mod_wsgi
Créer une API qui renvoie les données d'un modèle à l'aide de turicreate
Créez un alias pour Route53 vers CloudFront avec l'API AWS
Créez une application qui informe LINE de la météo tous les matins
[Python] Créez rapidement une API avec Flask
Créez une application de mots anglais avec python
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Créez un pdf facile à lire des lois et ordonnances gouvernementales à l'aide de l'API Law
Avec LINEBot, j'ai fait une application qui m'informe de "l'heure du bus"
Pour envoyer automatiquement des e-mails avec des pièces jointes à l'aide de l'API Gmail en Python
Créez une application de composition d'images avec Flask + Pillow
Créez rapidement un serveur API avec Python + Falcon
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Essayez de créer une application Todo avec le framework Django REST
Créez une carte thermique de tweet avec l'API Google Maps
Création d'une API qui renvoie des résultats d'inférence négatifs-positifs à l'aide de BERT dans le framework Django REST
Un script qui facilite la création de menus riches avec l'API de messagerie LINE
Une histoire que j'ai eu du mal en essayant de créer une "application qui convertit des images comme des peintures" avec la première application Web
Créez un exemple de scène semblable à un jeu avec juste le script Blender 2.80
Créez un robot de réponse automatique en temps réel à l'aide de l'API Twitter Streaming
Donnez des rendez-vous à d'autres avec l'API de calendrier LINE WORKS
Tornado - Créons une API Web qui renvoie facilement JSON avec JSON
Créez une API Web capable de fournir des images avec Django
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
J'ai créé un guide de programme original en utilisant l'API de guide de programme NHK.