Artikel mit COTOHA API, einschließlich Kotoha Api Ich habe viel gesehen, also habe ich beschlossen, es zu berühren, während ich mich darauf bezog. Sie benötigen ein Konto, um die API verwenden zu können. Wenn Sie interessiert sind, erstellen Sie bitte eines. (Ich konnte es in kürzerer Zeit verwenden.) In diesem Artikel verwenden wir diese API, um das Ergebnis der morphologischen Analyse zu erhalten.
import requests
import json
BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "CLIENT_ID" #Geben Sie die ausgestellte ID ein
CLIENT_SECRET = "CLIENT_SECRET" #Geben Sie das ausgegebene Geheimnis ein
#Zugriffstoken erhalten
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)
Ich frage mich, ob Sie das Zugriffstoken ausgeben möchten (vorerst auskommentiert), aber Sie können die API aufrufen, indem Sie das Token authentifizieren und abrufen.
import requests
import json
import sys
BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "CLIENT_ID" #Geben Sie die ausgestellte ID ein
CLIENT_SECRET = "CLIENT_SECRET" #Geben Sie das ausgegebene Geheimnis ein
#Zugriffstoken erhalten
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"]
#Morphologische Analyse
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 = "Prüfung"
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)
Diesmal habe ich die Syntaxanalyse-API verwendet, aber wenn sie unter [hier] verfügbar ist (https://api.ce-cotoha.com/contents/reference/apireference.html#parsing), können Sie sie sofort verwenden. Ich werde.
python parse.py ich bin ein Vogel
{'result': [{'chunk_info': {'id': 0, 'head': 1, 'dep': 'D', 'chunk_head': 0, 'chunk_func': 1, 'links': []}, 'tokens': [{'id': 0, 'form': 'ich', 'kana': 'ich', 'lemma': 'ich', 'pos': 'Substantiv', 'features': ['代Substantiv'], 'dependency_labels': [{'token_id': 1, 'label': 'case'}], 'attributes': {}}, {'id': 1, 'form': 'Ist', 'kana': 'C.', 'lemma': 'Ist', 'pos': 'Konsekutivassistent', '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': 'Vogel', 'kana': 'Vogel', 'lemma': 'Vogel', 'pos': 'Substantiv', 'features': [], 'dependency_labels': [{'token_id': 0, 'label': 'nmod'}, {'token_id': 3, 'label': 'cop'}], 'attributes': {}}, {'id': 3, 'form': 'ist', 'kana': 'Tod', 'lemma': 'ist', 'pos': 'Beurteilung', 'features': ['halt'], 'attributes': {}}]}], 'status': 0, 'message': ''}
Das Erhalten eines Kontos verlief reibungslos und es war bequem, es sofort zu verwenden. Die morphologische Analyse ist ein Bereich von persönlichem Interesse, den ich in der tatsächlichen Arbeit erleben kann. Derzeit registriere ich mich kostenlos, also für Entwickler, aber ich interessiere mich auch für das Fachbegriff-Wörterbuch und die Erweiterungen von für Enterprise. Daher möchte ich es gerne berühren, wenn sich eine Gelegenheit ergibt. Ich würde gerne etwas mit der COTOHA-API machen, aber ich kann mir keine Ideen einfallen lassen, weil ich nicht die Kreativität habe ... Ich möchte etwas posten, sobald ich daran denken kann.
Recommended Posts