[PYTHON] Erstellen Sie mithilfe der COTOHA-API eine App, die gut mit Berichten von Personen funktioniert

Eine Person, die eine Universität in Tokio besucht. Es ist ein Jahr her, seit ich an die Universität gekommen bin, und sieben Monate sind vergangen, seit ich angefangen habe zu programmieren. Normalerweise mache ich mit meinen Freunden Apps und nehme an maschinellen Lernwettbewerben teil. Ich habe gestern von einem Ereignis namens [Qiita x COTOHA API Present Plan] erfahren. Ich möchte einen Mac, also schreibe ich meinen ersten Artikel mit dem Ziel, einen Preis zu gewinnen. : fist: (Heute ist die Frist ...: angel_tone2 :)

Der Universitätsbericht ist nervig

Die Universität legt viele Berichte vor. Dies ist ein sehr schmerzhaftes Ereignis. : Stirnrunzeln2:

Kannst du gut durchrutschen?

Eine Möglichkeit, die Dinge zu vereinfachen, besteht darin, die Berichte der Leute zusammenzudrücken. Wenn Sie jedoch jedes Wort drücken, werden Sie enttäuscht sein. Daher fragte ich mich, ob ich den Ausdruck ändern könnte, während ich den Inhalt des Berichts behalte.

Gegenstand

Dieses Mal werde ich den folgenden Text schreiben (ein Teil des Berichts, den ich letzten Monat geschrieben habe).

Es ist kein guter Satz, den ich drücken möchte ... Es gibt viele "wieder" ...: Schweiß:

Regel

  1. Ändern Sie nicht die Wörter in "". (Weil es der Name eines Buches oder einer Homepage ist)
  2. Ändern Sie nicht den Ortsnamen, den Personennamen oder den Organisationsnamen.
  3. Ändern Sie die Nummern nicht.

Mach die Logik so

Verwenden Sie ein Synonymwörterbuch oder GCP, um nach und nach mit dem ursprünglichen Ausdruck zu spielen. Das Ergebnis ist dies.

Der Ausdruck hat sich an einigen Stellen geändert. Die dritte Regel wird befolgt, aber das "Nationale Institut für soziale Sicherheit und Bevölkerungsfragen" wurde in "Nationales Institut für Bevölkerung und soziale Sicherheit" geändert. Es entspricht nicht dem Namen der Person oder der Organisation.

Verwenden Sie die COTOHA-API.

Mit voller Zufriedenheit ist die COTOHA API hier. COTOHA API-Link Die COTOHA-API ist ein Dienst, der verschiedene APIs für die Verarbeitung natürlicher Sprache und die Sprachverarbeitung wie Syntaxanalyse, Korrespondenzanalyse, Schlüsselwortextraktion, Spracherkennung und Zusammenfassung bereitstellt. Das japanische Wörterbuch ist das Ergebnis von 40 Jahren Forschung der NTT Group. Sie können die erweiterte Analyse mit API problemlos verwenden, indem Sie mithilfe der Technologie die Bedeutung von mehr als 3000 Arten von Wörtern und Wörtern klassifizieren. " Unter dieser hervorragenden API werden wir dieses Mal die eindeutige Ausdrucksextraktions-API verwenden, um den Namen der Person und der Organisation zu bestimmen.

Registrieren Sie sich für die kostenlose Stufe der COTOHA-API

Von hier Sie können sich einfach registrieren. Überprüfen Sie nach der Registrierung hier die API-BASE-URL, die CLIENT-ID und das CLIENT-Geheimnis.

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)

Jetzt können Sie das Zugriffstoken sehen.

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

Sie können den eindeutigen Ausdruck im Satz mit dem obigen Code extrahieren. [{'begin_pos': 3, 'end_pos': 8, 'form': 'Ministerium für Gesundheit und Arbeit', 'std_form': 'Ministerium für Gesundheit und Arbeit', 'Klasse': 'ORG', 'erweiterte_Klasse': '', 'Quelle ':' 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 Jahre später', 'std_form': '50 Jahre später ',' class ' : 'DAT', 'extended_class': '', 'source': 'basic'}, {'begin_pos': 156, 'end_pos': 170, 'form': 'Nationales Institut für soziale Sicherheit und Bevölkerungsprobleme', ' std_form ':' Nationales Institut für soziale Sicherheit und Bevölkerungsprobleme ',' Klasse ':' ORG ',' erweiterte_Klasse ':' ',' Quelle ':' Basis '}, ... Es gibt Kategorien wie Ortsname, Personenname und Organisationsname, sodass Sie sich darauf verlassen können, um den Ortsnamen, den Personennamen und den Organisationsnamen zu bestimmen.

Schreiben Sie danach den Code neu, um diese eindeutigen Ausdrücke nicht zu ändern.

Komplett

Vor dem Pucken

Nach dem Pucken

Die Wörter in "" und der Organisationsname bleiben gleich, aber nur die Ausdrücke haben sich geändert. Es gibt einige Feinheiten, aber ich werde es vorerst tun.

Die tatsächlich abgeschlossene App ist hier.

Recommended Posts

Erstellen Sie mithilfe der COTOHA-API eine App, die gut mit Berichten von Personen funktioniert
Erstellen Sie eine Anwendung mit der Spotify-API
Spielen Sie mit Dajare mithilfe der COTOHA-API
Erstellen Sie eine Anwendung, die nur mit der Google Custom Search-API mit Python 3.3.1 in Bottle sucht
Erstellen Sie eine App, die Schüler mit Python errät
Erstellen Sie eine App, die Schüler mit der Python-GUI-Version errät
Erstellen Sie eine API mit Django
Erstellen wir eine App, die OIDC mit Azure AD authentifiziert
Erstellen Sie eine API mit hug mit mod_wsgi
Erstellen Sie mit turicreate eine API, die Daten aus einem Modell zurückgibt
Erstellen Sie mit der AWS-API einen Alias für Route53 zu CloudFront
Erstellen Sie eine App, die LINE jeden Morgen über das Wetter informiert
[Python] Erstellen Sie schnell eine API mit Flask
Erstellen Sie eine englische Wort-App mit Python
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Erstellen Sie mithilfe der Gesetzes-API ein einfach zu lesendes PDF mit Gesetzen und Regierungsverordnungen
Mit LINEBot habe ich eine Anwendung erstellt, die mich über die "Buszeit" informiert.
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python
Erstellen Sie eine Bildkompositions-App mit Flask + Pillow
Erstellen Sie schnell einen API-Server mit Python + Falcon
Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Erstellen Sie eine Tweet-Heatmap mit der Google Maps-API
Erstellen einer API, die mit BERT im Django REST-Framework negativ-positive Inferenzergebnisse zurückgibt
Ein Skript, mit dem Sie mit der LINE Messaging-API auf einfache Weise umfangreiche Menüs erstellen können
Eine Geschichte, bei der es mir schwer gefallen ist, mit der ersten Webanwendung eine "App zu erstellen, die Bilder wie Gemälde konvertiert"
Erstellen Sie mit dem Blender 2.80-Skript eine beispielhafte spielähnliche Phase
Erstellen Sie mithilfe der Twitter-Streaming-API einen Echtzeit-Bot für die automatische Antwort
Mit der LINE WORKS-Kalender-API können Sie Termine an andere Personen weitergeben
Tornado - Erstellen wir eine Web-API, die JSON problemlos mit JSON zurückgibt
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie mit AWS SAM schnell eine API mit Python, Lambda und API Gateway
Ich habe einen Original-Programmführer mit der NHK-Programmführer-API erstellt.