Les mots ne sont-ils pas difficiles? Si vous le recevez littéralement, vous pouvez être blessé ou passer sans remarquer l'intention cachée et être dit naturel. Par exemple, même si on vous dit soudain que la lune est belle, vous pouvez obtenir une réponse comme un bon public, disant «Oui». C'est une tâche difficile de comprendre le sens de Je t'aime.
Cette fois, je voudrais appliquer les mots difficiles à l'analyse des émotions de l 'API COTOHA pour confirmer "Pouvez-vous trouver le vrai sens?"
L'API COTOHA elle-même est très facile à utiliser une fois que vous vous inscrivez Le code à exécuter cette fois ressemble à ceci
import os
import urllib.request
import json
def get_sentiment(txt):
token = get_cotoha_token()
url = os.environ['COTOHA_URL'] + 'nlp/v1/sentiment'
header_with_token = {
"Content-Type": "application/json",
"Authorization": "Bearer " + token
}
obj = {"sentence": txt}
json_data = json.dumps(obj).encode("utf-8")
request = urllib.request.Request(
url, data=json_data, method="POST", headers=header_with_token
)
with urllib.request.urlopen(request) as response:
response_body = response.read().decode("utf-8")
result_objs = json.loads(response_body)
res = result_objs['result']
emotion = ''
for emo in res['emotional_phrase']:
emotion += emo['form'] + ': ' + emo['emotion'] + ', '
print(txt, res['sentiment'], res['score'], emotion)
def get_cotoha_token():
#Authentification API COTOHA
headers = {"Content-Type": "application/json"}
auth_url = os.environ['COTOHA_TOKEN_URL']
auth_obj = {
"grantType": "client_credentials",
"clientId": os.environ['COTOHA_ID'],
"clientSecret": os.environ['COTOHA_SECRET']
}
auth_json = json.dumps(auth_obj).encode("utf-8")
auth_request = urllib.request.Request(
auth_url, data=auth_json, method="POST", headers=headers
)
with urllib.request.urlopen(auth_request) as response:
auth_body = response.read().decode("utf-8")
auth_res = json.loads(auth_body)
token = auth_res['access_token']
return token
if __name__ == '__main__':
print('======Entrez le texte que vous souhaitez analyser les émotions=====')
txt = input('> ')
get_sentiment(txt)
Cette fois, c'est simple, il suffit de saisir un jeton et de l'utiliser pour demander le texte que vous souhaitez analyser. Essayons en fait divers textes
>La lune est belle
La lune est belle Positive 0.9111066300514463 C'est beau: P
Il semble que cela ait été jugé positif d'après l'expression «c'est beau» À propos, la partie de «0.9111066300514463» est appelée score de sentiment et cela semble être la fiabilité du jugement. Si je n'avais aucune idée de ce qu'était le score de sentiment, je l'ai découvert dans la communauté COTOHA API Slack. Communauté Slack Pratique
Au fait Je comprends «positif», mais je n'ai pas compris des sentiments concrets comme dans la référence: penser: penser: Ce serait parfait s'il était étiqueté comme "favorable"
>J'ai dit que j'y réfléchissais, mais j'y réfléchis. Cependant, je pense que c'est mon problème, mais je ne vois pas la couleur du reflet en disant que je réfléchis. Je regrette que ce soit mon propre problème.
J'ai dit que j'y réfléchissais, mais j'y réfléchis. Cependant, je pense que c'est mon problème, mais je ne vois pas la couleur du reflet en disant que j'y réfléchis. Je regrette que ce soit mon propre problème. Neutre 0.3498954942284627 Réflexion: PN
Que pensez-vous de cette ligne? Je l'ai essayé par curiosité, mais il semble être «positif et négatif» parce que c'est «PN». Je pense que c'était un sentiment très compliqué Je ne sais pas
C'est une phrase qu'une femme incroyablement en colère pourrait dire, mais ...
>Je ne suis pas du tout en colère, alors va à une fête
Je ne suis pas du tout en colère, alors allez à une soirée potable Positive 0.48899415008698344 Je ne suis pas du tout en colère: P
Ah, c'est mauvais Je le juge positif et participe à la soirée à boire Si vous allez à la fête comme elle est, vous ne pourrez pas entrer dans la maison.
C'est un modèle de Tundele COTOHA peut-il récupérer le drapeau? ??
>Je ne t'aime pas vraiment
Je ne t'aime pas vraiment, Négatif 0.5125582125328727 Je n'aime pas ça: N
Ohh... Concasseur de drapeau triste COTOHA semble être préférable pour capturer un personnage d'ami d'enfance doux et facile à comprendre
Analysons les fameuses lignes de Kanon Je ne crois toujours pas que cela fait plus de 20 ans depuis Kanon! !!
>Oublie moi
Oublie-moi Neutre 0.2972851940620987 Oublier: PN
N'est-ce pas mauvais? je pense Je pense qu'il est assez précis de juger le sens du mot «oublier» comme positif et négatif.
J'ai osé analyser uniquement des phrases difficiles, mais je pense que c'était assez intéressant. J'avais l'impression que des mots comme «Je ne suis pas du tout en colère» seraient jugés de cette façon par écrit, mais d'un autre côté, j'étais personnellement convaincu que «Oubliez-moi» était jugé comme un PN. fait Celles que j'ai essayées cette fois n'avaient que les étiquettes «P» et «N», mais par exemple, si vous jetez le texte dans la référence
>Profiter du printemps de la vie
Profiter du printemps de la vie Positive 0.19562121911742972 Chanson:le soulagement,Réjouir
De cette manière, des étiquettes telles que «sécurité» et «agréable» sont également apposées. Tout en pensant que ce serait bien d'avoir plus d'étiquettes ici
Je pense que c'est merveilleux de pouvoir analyser les émotions d'une phrase simplement en la lançant si facilement. Il existe de nombreuses autres fonctionnalités intéressantes dans l'API COTOHA, je voudrais donc les essayer à nouveau.
Recommended Posts