Meros: Es passiert nicht!
Ich würde gerne über "Running Melos" mit der emotionalen Analyse von COTOHA lesen.
Klonen Sie die Blue Sky-Bibliothek
!git clone --branch master --depth 1 https://github.com/aozorabunko/aozorabunko.git
Erhielt den vollständigen Text von "Run Meros" von Aozora Bunko
from bs4 import BeautifulSoup
def get_word():
#Geben Sie den Pfad aus dem geklonten HTML an(Führen Sie meros aus)
path_to_html='aozorabunko/cards/000035/files/1567_14913.html'
#HTML-Analyse mit schöner Suppe
with open(path_to_html, 'rb') as html:
soup = BeautifulSoup(html, 'lxml')
main_text = soup.find("div", class_='main_text')
for yomigana in main_text.find_all(["rp","h4","rt"]):
yomigana.decompose()
sentences = [line.strip() for line in main_text.text.strip().splitlines()]
aozora_text=','.join(sentences)
aozora_text_list = aozora_text.split("。")
return aozora_text_list
Führen Sie den Meros-Volltext COTOHA aus(Emotionsanalyse)Ich werde gehen zu.
mport os
import urllib.request
import json
import configparser
import codecs
import sys
import time
client_id = "Ihre Kunden-ID"
client_secret = "Dein eigener geheimer Schlüssel"
developer_api_base_url = "https://api.ce-cotoha.com/api/dev/nlp/"
access_token_publish_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
def cotoha_call(sentence_1,api_type):
#Zugriffstoken erhalten
def getAccessToken():
url = access_token_publish_url
headers={
"Content-Type": "application/json;charset=UTF-8"
}
data = {
"grantType": "client_credentials",
"clientId": client_id,
"clientSecret": client_secret
}
data = json.dumps(data).encode()
req = urllib.request.Request(url, data, headers)
res = urllib.request.urlopen(req)
res_body = res.read()
res_body = json.loads(res_body)
access_token = res_body["access_token"]
return access_token
#API-URL-Spezifikation(Einzigartige Ausdrucksextraktion)
base_url_footer = "v1/" + api_type
url = developer_api_base_url + base_url_footer
headers={
"Authorization": "Bearer " + getAccessToken(), #access_token,
"Content-Type": "application/json;charset=UTF-8",
}
data = {
"sentence": sentence_1
}
data = json.dumps(data).encode()
time.sleep(0.5)
req = urllib.request.Request(url, data, headers)
try:
res = urllib.request.urlopen(req)
#Was tun, wenn in der Anforderung ein Fehler auftritt?
except urllib.request.HTTPError as e:
#Wenn der Statuscode 401 Unauthorized oder 500 Internal Server Error lautet, fordern Sie das Zugriffstoken erneut an und fordern Sie es erneut an
if e.code == 401 or 500:
access_token = getAccessToken()
headers["Authorization"] = "Bearer " + access_token
time.sleep(0.5)
req = urllib.request.Request(url, data, headers)
res = urllib.request.urlopen(req)
#Wenn der Fehler nicht 401 oder 500 ist, wird die Ursache angezeigt.
else:
print ("<Error> " + e.reason)
#sys.exit()
res_body = res.read()
res_body = json.loads(res_body)
return res_body
sentence = get_word()
end = len(a)
full_text = len(''.join(sentence))
sentiment_list = []
cnt = 0
wcnt = 0
for i in a:
cnt+=1
print(str(cnt)+ "/" + str(end))
b = cotoha_call(i,"sentiment")
sentiment_list.append([b['result']['sentiment'],b['result']['score'],i,wcnt])
wcnt+=len(i)
Stellen Sie die Zahlen grafisch dar.
#Bibliothek zur numerischen Berechnung
import numpy as np
import pandas as pd
import seaborn as sns
#Bibliothek zum Zeichnen von Grafiken
from matplotlib import pyplot as plt
#Spezifikation für die Anzeige des Diagramms in colab
%matplotlib inline
#Passen Sie die Werte für das Diagramm an
graph_x = []
graph_y = []
for i in sentiment_list:
graph_x.append(i[3])
if(i[0] == 'Negative'):
tmp_y = (i[1] * -1) + (-1)
graph_y.append(tmp_y)
if(i[0] == 'Positive'):
tmp_y = i[1]+1
graph_y.append(tmp_y)
if(i[0] == 'Neutral'):
graph_y.append(i[1])
sns.set()
#plt.plot(x, y, color = 'black')
plt.figure(figsize=(40, 8), dpi=100)
plt.plot(graph_x, graph_y, color = 'red', marker = 'o', linestyle = '-', label = 'Sensor1')
#plt.xlim([0,5000])
plt.title("Run, Melos,")
plt.xlabel("Sentence")
plt.ylabel("Emotion")
Liniendiagramm
Die vertikale Achse ist Emotion und die horizontale Achse ist die Textposition jeder Phrase. Es gibt eine ganze Reihe emotionaler Schwankungen.
Top positive Sätze Nr. 1 ~ 3
[1.8126587191707609, 'Ich habe auch ein schönes Kostüm gekauft']
[1.6346889479386029, 'Dein Leben ist jetzt wichtig'],
[1.633215237292569, 'Der junge Maurer schrie ebenfalls und rannte Meros hinterher.']
Der positivste Satz ist ** "Ich habe ein wunderschönes Kostüm gekauft" **, mit einem großen Unterschied in der Punktzahl zwischen dem 2. und 3. Platz.
Dies ist ein Satz im Gespräch zwischen "Meros" und "Schwester", als "Meros" ins Dorf zurückkehrte. Ich glaube, ich war sehr froh, dass ich den ganzen Weg vom Dorf in die Stadt laufen und die Kostüme, die ich gekauft habe, meiner Schwester übergeben konnte. (Es ist in erster Linie der ursprüngliche Zweck von Meros.)
Sätze vor und nach dem Satz, der am positivsten zu sein scheint(Referenz)
Ich war überrascht, das erschöpfte Aussehen meines Bruders zu finden, der taumelte und ging. Dann stellte ich meinem lauten Bruder eine Frage.
„Nichts.“ Melos versuchte ihn zum Lachen zu zwingen. "Ich habe einen Auftrag in der Stadt hinterlassen. Ich muss bald wieder in die Stadt. Morgen werde ich deine Hochzeit haben. Es ist besser, früh zu sein."
Meine Schwester hob die Wangen.
"Ich bin glücklich. Ich habe ein wunderschönes Kostüm gekauft. Jetzt geh und lass es die Dorfbewohner wissen. Die Hochzeit ist morgen."
Meros taumelte ebenfalls, kehrte nach Hause zurück, um den Altar der Götter zu schmücken, veranstaltete ein Festmahl und fiel bald zu Boden und fiel in einen tiefen Schlaf, der nicht atmen konnte.
Negativste Phrase Top No1 ~ 3
[-1.9459608426670426, 'Lass den Mann nicht sterben']
[-1.939408157054805, 'Selbst wenn es ein Moment ist, kann es nicht verschwendet werden']
[-1.8666593927565555, 'Oh, die Sonne geht unter']
Der 1. und 2. Platz sehen nicht wie negative Sätze aus, daher sehen sie nicht richtig aus. ("Die", "Waste" Dieses Wort scheint die Ursache zu sein.)
Also, ist nicht die praktisch negativste Phrase ** "Oh, die Sonne geht unter" **?
Es ist ein Satz, während ich mit aller Kraft in die Stadt zurückkehre, um meinen Freund Serinuntius, der eine Geisel ist, freizulassen.
Vor Meros stehen mehrere Schwierigkeiten, aber wir werden sie durchbrechen Obwohl ich endlich einmal niederknie, gehen verschiedene Gedanken herum und in der Darstellung, die wieder aufsteht Es ist eine Darstellung des Teils, in dem dabei jeden Moment die Zeit vergeht.
Sätze vor und nach dem Satz, der am negativsten zu sein scheint(Referenz)
Lauf! Meros.
Mir wird vertraut. Mir wird vertraut. Das Flüstern dieses Teufels war früher ein Traum. Es ist ein böser Traum. Vergiss es.
Wenn die fünf Organe müde sind, haben sie so einen schlechten Traum. Meros, es ist nicht deine Schande.
Immerhin bist du ein wahrer Held. Ist es nicht möglich wieder zu stehen und zu rennen? Vielen Dank!
Ich kann als Gerechtigkeitskämpfer sterben. Oh, die Sonne geht unter. Es sinkt stetig. Warte, Zeus.
Ich bin seit meiner Geburt ein ehrlicher Mann. Lass es als ehrlicher Mann und lass ihn sterben.
Das Negative und Positive des emotionalen Wertes, der Teil, in dem jeder organisiert ist, ist wie folgt.
Streukartenanzeige
#plt.plot(graph_x, graph_y, color = 'red', marker = 'o', linestyle = '-', label = 'Sensor1')
plt.scatter(graph_x, graph_y, color = 'red', marker = 'o', linestyle = '-', label = 'Sensor1')
python
Ich hoffe, die Verpflichtung zu erfüllen.
Ich hoffe, mich umzubringen und meine Ehre zu schützen.
Der Sonnenschein wirft rotes Licht auf die Blätter der Bäume, und die Blätter und Zweige leuchten, wenn sie brennen.
Es ist noch Zeit vor Sonnenuntergang. Jemand wartet auf mich.
Es gibt Leute, die mich ohne Zweifel ruhig erwarten.
Ich werde geglaubt. Mein Lebensgeheimnis spielt keine Rolle. Ich kann nichts Nettes darüber sagen, tot zu sein und mich zu entschuldigen.
Ich muss mein Vertrauen belohnen. Das ist jetzt nur eine Sache.
Lauf! Meros.
Mir wird vertraut. Mir wird vertraut. Das Flüstern dieses Teufels war früher ein Traum. Es ist ein böser Traum. Vergiss es.
Wenn die fünf Organe müde sind, haben sie so einen schlechten Traum. Meros, es ist nicht deine Schande.
Immerhin bist du ein wahrer Held. Ist es nicht möglich wieder zu stehen und zu rennen?
Vielen Dank! Ich kann als Gerechtigkeitskämpfer sterben.
Es ist eine Darstellung von Melos, der einmal niederkniete, als er wieder aufsteht. Sie können die erhöhten Emotionen lesen. (Übrigens ist es der Satz unmittelbar vor dem oben beschriebenen negativsten Satz.)
python
Wenn das passiert, werde ich schwerer sein als zu sterben. Ich bin für immer ein Verräter. Die schändlichste Rasse der Welt.
Serinuntius, ich werde auch sterben. Lass mich mit dir sterben. Nur du musst mir glauben.
Nein, ist das auch meine Selbstsucht? Ah, lass uns als Bösewicht überleben.
Mein Haus ist im Dorf. Es gibt auch Schafe. Meine Schwester und ihr Mann würden mich niemals aus dem Dorf vertreiben.
Es ist eine Darstellung, wenn man versucht, es aufzugeben, einem Freund Seriuntius zu helfen. Sicher ist es weggeworfen. (Danach werfe ich meine Glieder raus und werde endlich schläfrig.)
~~ Aufgrund des positiven emotionalen Wertes dachte ich, dass Melos ein Syscon ist. ~~
Es ist einfach, aber ich habe versucht, "Run Meros" mithilfe der Emotionsanalyse zu lesen. Es ist ziemlich interessant, die Sätze so zu lesen.
das ist alles. Vielen Dank, dass Sie so weit gelesen haben.
Recommended Posts