Il y a un personnage appelé "Ikura-chan" parmi les personnages de l'anime "Sazae-san" qui est diffusé sur Fuji TV tous les dimanches à 6h30.
Ikura a environ un an et demi et ne peut parler que les trois mots suivants. [^ 1] [^ 2]
--Salut --Baratte --Babou
Alors, quels mots Ikura dit-il quand Ikura dit les mots que nous parlons habituellement? Cette fois, en tant que théorie, j'essaierai d'estimer en fonction du degré de similitude.
J'ai utilisé l 'API de calcul de similarité de API COTOHA. ..
Puisque cette API calcule le degré de similitude à l'aide des informations sémantiques des mots contenus dans le texte, il semble qu'il soit possible d'estimer la similitude entre des textes contenant des mots différents.
Par conséquent, il semble qu'Ikura puisse estimer le type de signification de chaque mot utilisé correctement.
import requests
import json
import numpy as np
BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = ""
CLIENT_SECRET = ""
def get_token(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"]
def similarity(s1, s2, access_token):
base_url = BASE_URL
headers = {
"Content-Type": "application/json",
"charset": "UTF-8",
"Authorization": "Bearer {}".format(access_token)
}
data = {
"s1": s1,
"s2": s2,
"type": "kuzure"
}
r = requests.post(base_url + "v1/similarity",
headers=headers,
data=json.dumps(data))
return r.json()["result"]["score"]
def said_ikurachan(sentence):
access_token = get_token(CLIENT_ID, CLIENT_SECRET)
ikurachan_words = ["salut", "Baratte", "Baboo"]
similarity_arr = []
for word in ikurachan_words:
similarity_arr.append(similarity(sentence, word, access_token))
return ikurachan_words[np.argmax(np.array(similarity_arr))]
Tout d'abord, depuis le système d'accueil
said_ikurachan("Bonjour", access_token)
# => 'salut'
said_ikurachan("Bonjour", access_token)
# => 'salut'
said_ikurachan("Bonsoir", access_token)
# => 'salut'
La salutation semble bonne avec "Salut".
Ensuite, voyons à quoi ressemble la citation.
said_ikurachan("Qu'est-ce qu'un génie 1%Inspiration et 99%Est un effort", access_token)
# => 'Baratte'
said_ikurachan("Stay hungry, stay foolish", access_token)
# => 'Baratte'
said_ikurachan("La terre était bleue", access_token)
# => 'Baratte'
La citation peut être "churn".
Enfin, voyons quel sera le mécontentement.
said_ikurachan("Pourquoi dois-je lutter pour lui")
# => 'Baboo'
said_ikurachan("Est-ce vraiment significatif de faire cela?")
# => 'Baboo'
said_ikurachan("Pourquoi dois-je rencontrer ce genre de chose?")
# => 'Baboo'
L'insatisfaction semble être "Baboo".
Baratte. Baratte.
(Cette fois, j'ai utilisé l'API de calcul de similarité de l'API COTOHA pour estimer quel mot nous dirions si Ikura-chan était celui que nous disions. C'est juste une théorie, donc je ne sais pas si c'est vrai ou non. , Je suis heureux que vous puissiez l'utiliser comme référence.)
Survivez à l'ère SNS avec les filtres sociaux
[^ 1]: De la section d'Ikura Hano sur le Site officiel [^ 2]: Il semble qu'il y ait eu des moments où les numéros d'oeuvre n ° 2433 à n ° 3991 ont prononcé des mots différents.