Le traitement du langage naturel (anglais: traitement du langage naturel, abréviation: NLP) est une série de technologies permettant à un ordinateur de traiter le langage naturel que les humains utilisent au quotidien, et est utilisé en intelligence artificielle et en linguistique. C'est un champ.
[Traitement du langage naturel de Wikipedia](https://ja.wikipedia.org/wiki/natural language processing)
Au cours des dernières années (plus tôt?), Lorsque j'ai effectué une recherche sur Google La description Wikipédia est maintenant affichée dans un cadre carré, Cela signifie également "extraire des parties importantes de Wikipedia" Il est considéré comme un type de traitement du langage naturel. (En passant, "extraire la première phrase d'une phrase" est C'est une règle empirique bien connue pour résumer des tâches telles que les actualités et les reportages. )
API Le traitement du langage naturel est profond et il est amusant de mettre en œuvre un traitement concret par vous-même, Il semble y avoir une API qui peut être utilisée facilement même si ce n'est pas le cas Cette fois, je vais le présenter.
Il y a plusieurs choses.
On m'a dit d'envoyer une demande POST, donc Peu importe comment vous le faites, mais cette fois je vais l'essayer avec python.
python
# -*- coding: utf-8 -*-
import json
import requests
# goo
# Overview: Japanese Word Similarity API
app_id = #ID you get when registration
url_shortsum = "https://labs.goo.ne.jp/api/shortsum"
url_entity = "https://labs.goo.ne.jp/api/entity"
url_similarity = "https://labs.goo.ne.jp/api/similarity"
def shortsum(length, review_list, request_id="record001"):
# shortsum API interface: https://labs.goo.ne.jp/api/2015/1150/
payload = {"app_id": app_id, "request_id": request_id, "length": length, "review_list": review_list}
headers = {'content-type': 'application/json'}
r = requests.post(url_shortsum, data=json.dumps(payload), headers=headers)
print r.text
def entity(sentence, class_filter, request_id="record002"):
# entity API interface: https://labs.goo.ne.jp/api/2015/336/
# “ORG”(organization name), “PSN”(person name), “LOC”(location name), “DAT”(date expression) and “TIM”(time expression)
payload = {"app_id": app_id, "request_id": request_id, "sentence": sentence, "class_filter": class_filter}
headers = {'content-type': 'application/json'}
r = requests.post(url_entity, data=json.dumps(payload), headers=headers)
print r.text
def similarity(word1, word2, request_id="record003"):
# similarity API interface: https://labs.goo.ne.jp/api/2015/330/
payload = {"app_id": app_id, "request_id": request_id, "query_pair": [word1, word2]}
headers = {'content-type': 'application/json'}
r = requests.post(url_similarity, data=json.dumps(payload), headers=headers)
print r.text
if __name__ == '__main__':
shortsum(120, [
"Je l'ai déjà acheté, donc ce smoothie a un goût fruité et est très délicieux. C'était une bonne affaire car j'ai pu l'acheter à bas prix cette fois-ci. Ce smoothie est facile à boire et le goût de mangue est rafraîchissant sans me fatiguer, alors j'aimerais le répéter.",
"Le smoothie vert tant attendu est arrivé. Je n'aime pas le lait ou le lait de soja, alors je l'ai divisé avec 180 cc d'eau et je l'ai bu. Il ne sentait pas aussi vert que prévu, et le goût de la mangue était faible et pas délicieux. J'ai imaginé quelque chose de plus riche, mais c'est assez mince probablement à cause de l'eau. Il semble préférable de boire à température ambiante, mais je voulais le casser avec de la glace. Peut-être à cause de l'eau, je n'ai pas faim et il semble impossible de remplacer un repas. Personnellement, je voulais incorporer des enzymes dans mon corps ... Quand j'ai dit à ma connaissance que je l'avais acheté, j'ai reçu les avis suivants. "Les enzymes de métabolisation et de digestion sont complètement différentes. Les smoothies peuvent aider à la digestion, mais ils ne sont pas comme des enzymes métaboliques. Ils sont d'abord décomposés dans l'estomac, donc ils ne vont pas là où ils en ont besoin." Maintenant, qu'en est-il de l'effet? Je veux prendre des enzymes."
]
)
entity("M. Yamashita se rendra à Niigata demain à 10 h 30.", "ORG|PSN|LOC|DAT")
similarity("Bonne volonté", "vendeur")
Envoyez une requête POST avec requests.post (argument). Dans l'API de résumé de la réputation des produits, je vais mettre environ deux critiques de produits sur un certain site de vente par correspondance.
python
(agile_env)nlp $ python test.py
{"request_id":"record001","length":60,"summary":"Je l'ai déjà acheté, donc ce smoothie a un goût fruité et est très délicieux. C'était une bonne affaire car j'ai pu l'acheter à bas prix cette fois-ci."}
{"request_id":"record002","class_filter":"ORG|PSN|LOC|DAT","ne_list":[["Yamashita","PSN"],["demain","DAT"],["Niigata","LOC"]]}
{"request_id":"record003","score":0.4345982085070782}
(agile_env)nlp $
(agile_env)nlp $
(agile_env)nlp $
(agile_env)nlp $ python test.py
{"request_id":"record001","length":120,"summary":"C'était une bonne affaire car j'ai pu l'acheter à bas prix cette fois-ci. Je n'aime pas le lait ou le lait de soja, alors je l'ai divisé avec 180 cm3 d'eau et je l'ai bu. Il semble préférable de boire à température ambiante, mais je voulais le casser avec de la glace."}
{"request_id":"record002","class_filter":"ORG|PSN|LOC|DAT","ne_list":[["Yamashita","PSN"],["demain","DAT"],["Niigata","LOC"]]}
{"request_id":"record003","score":0.4345982085070782}
"length":60 Est la longueur (caractères) du résumé que vous créez à partir de la révision. Je n'ai pas l'impression de voir des tendances dans les deux cas, À mesure que vous augmentez le nombre de caractères, vous pouvez voir que les détails sont inclus en conséquence. Après cela, vous pouvez ressentir le "rapport qualité-prix" avec 60 ou 120 caractères.
«Goodwill» et «Salesman» Il semble intéressant de voir la similitude entre les deux mots utilisés dans le mystère.
Possibilités d'extension de la "Recherche en temps réel Yahoo" à partir de "l'analyse émotionnelle" - Demandez à l'équipe de développement Comme vous pouvez le voir dans l'article
Pour un mot clé donné Juger le genre de sentiments que vous ressentez par positif / négatif (positif / négatif) Une telle analyse semble être le courant dominant.
Ce tweet concerne le mot clé "Anitube fermé" Est-ce «positif» ou «négatif»?
Récemment, Google a introduit une technologie qui élargit vos rêves. Computer, respond to this email.
Et plus récemment, les algorithmes qui sous-tendent ce développement technologique Publié comme OSS pour pouvoir être utilisé de l'extérieur. Google releases TensorFlow: Search giant makes its artificial intelligence software available to the public