[PYTHON] Traitement du langage naturel pour les personnes occupées

Vue d'ensemble pour les personnes occupées

Inspiré de l'article Ore Program Ugokas Omae Genshijin Naru, j'ai essayé le traitement du langage. J'aime l'histoire ancienne "Série pour les gens occupés" [^ 1], j'ai donc utilisé l'API de résumé de l 'API COTOHA pour la rendre célèbre. J'ai essayé de faire des chansons pour les gens occupés.

Exemple: "Neige poudreuse" pour les gens occupés [^ 2]

$ python3 youyaku.py < konayuki.txt
Lalarai. Poudreuse. Si votre cœur est teint en blanc.

Ça n'a pas l'air de "je ne viens pas", mais je suis convaincu (?) Qu'il y a des endroits où ça apparaît fréquemment!

environnement

Python 3.6.9

la mise en oeuvre

Résumez en 3 lignes à l'aide de l'API COTOHA Summary API. La plupart du code est écrit en référence à l'article de Genshijin, mais BASE_URL est réécrit et les paramètres sont modifiés pour la récapitulation. De plus, si je donnais les paroles telles qu'elles étaient, elles ne les résumeraient pas du tout, alors j'ai mis "."

code

<détails>

Cliquez ici pour développer. </ résumé>

youyaku.py



import requests
import json
import sys

BASE_URL = "https://api.ce-cotoha.com/api/dev/"
CLIENT_ID = "Saisissez l'ID obtenu avec l'API COTOHA"
CLIENT_SECRET = "Entrez le mot de passe obtenu par l'API COTOHA"


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"]


def summary(document, access_token, sent_len):
    base_url = BASE_URL
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8",
        "Authorization": "Bearer {}".format(access_token)
    }
    data = {
        "document": document,
        "sent_len": sent_len
    }
    r = requests.post(base_url + "nlp/beta/summary",
                      headers=headers,
                      data=json.dumps(data))
    return r.json()


if __name__ == "__main__":
    document = "Les paroles sont listées ici"
    args = sys.argv
    if len(args) >= 2:
        document = str(args[1])

    access_token = auth(CLIENT_ID, CLIENT_SECRET)
    summary_document = summary(document, access_token, 3)
    result_list = list()
    for chunks in summary_document['result']:
      result_list.append(chunks)

    print(''.join(result_list))

résultat

"Ondo" Mito Komon "Ah, il y a des larmes dans la vie" [^ 3]

$ python3 youyaku.py < mitokomon.txt
Si vous n'aimez pas pleurer, marchez maintenant. Il y a des larmes et des sourires dans ma vie. Vivons à la recherche de quelque chose.

"Doraemon no Uta" [^ 4]

$ python3 youyaku.py < doraemon.txt
Tout le monde, tout le monde, se réalisera. Ann An Ann. J'aime vraiment Doraemon.

"C'est important" [^ 5]

$ python3 youyaku.py < soregadaiji.txt
Ne perdez pas, ne jetez pas, ne fuyez pas, croyez. Quand il semble être ruiné. C'est le plus important.

"La chanson de Gatchaman" [^ 6]

$ python3 youyaku.py < gachaman.txt
Gatchaman. mouche. aller.

"Aventure mystérieuse" [^ 7]

$ python3 youyaku.py < makafushigi.txt
DRAGONBALL。try。fly。

"Naissance du roi héros!" [^ 8]

$ python3 youyaku.py < yushaou.txt
Gagagatsu. Gaogaigar!.. Gagagaga.

Résumé

J'ai essayé de résumer divers chefs-d'œuvre. Les bonnes chansons sont courtes mais profondes

[^ 1]: [Encyclopédie Nikoniko: Série pour les personnes occupées](https://dic.nicovideo.jp/a/%E5%BF%99%E3%81%97%E3%81%84%E4%BA % BA% E5% 90% 91% E3% 81% 91% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA) [^ 2]: Paroles "Powder Snow": Ryota Fujimaki [^ 3]: "Otodo" Mito Komon "Ah, il y a des larmes dans la vie" Paroles: Michio Yamagami [^ 4]: "Doraemon no Uta" Paroles: Kusube Ko [^ 5]: "C'est important" Paroles: Toshiyuki Tachikawa [^ 6]: "Gatchaman no Uta" Paroles: Ryuko Production Literary Club [^ 7]: "Maya Mysterious Adventure" Paroles: Yuriko Mori [^ 8]: "Naissance du roi héros!" Paroles: Yoshitomo Yone

Recommended Posts

Traitement du langage naturel pour les personnes occupées
Python: traitement du langage naturel
RNN_LSTM2 Traitement du langage naturel
Traitement du langage naturel 1 Analyse morphologique
Traitement du langage naturel 3 Continuité des mots
Traitement du langage naturel 2 similitude de mots
Mettre en place un environnement de développement pour le traitement du langage naturel
Créer un environnement pour le traitement du langage naturel avec Python
100 traitements du langage naturel frappent le chapitre 4 Commentaire
[Traitement du langage naturel] Prétraitement avec le japonais
Logivan du langage artificiel et traitement du langage naturel (traitement du langage artificiel)
100 langues de traitement frappent 2020 "pour Google Colaboratory"
Se préparer à démarrer le traitement du langage naturel
Résumé de l'installation de l'analyseur de traitement du langage naturel
Dockerfile avec les bibliothèques nécessaires pour le traitement du langage naturel avec python
Articles en vrac pour ceux qui veulent commencer le traitement du langage naturel
Pourquoi l'expression distribuée des mots est-elle importante pour le traitement du langage naturel?
Traiter le nom de la carte Yugioh en langage naturel --Yugiou Data Science 2. PNL
100 Knocking Natural Language Processing Chapitre 1 (Mouvement préparatoire)
3. Traitement du langage naturel par Python 2-1. Réseau de co-occurrence
[WIP] Pré-traitement des notes dans le traitement du langage naturel
3. Traitement du langage naturel par Python 1-1. Word N-gram
J'ai essayé le traitement du langage naturel avec des transformateurs.
Mémo de produits pratique autour du traitement du langage naturel
100 traitements linguistiques frappent 03 ~ 05
100 coups de traitement linguistique (2020): 40
100 coups de traitement linguistique (2020): 35
100 coups de traitement linguistique (2020): 47
100 coups de traitement linguistique (2020): 39
100 coups de traitement linguistique (2020): 22
100 coups de traitement linguistique (2020): 26
100 coups de traitement linguistique (2020): 34
100 coups de traitement linguistique (2020): 28
100 coups de traitement linguistique (2020): 42
100 coups de traitement linguistique (2020): 29
100 coups de traitement linguistique (2020): 49
Le traitement de 100 langues frappe 06 ~ 09
100 coups de traitement linguistique (2020): 43
100 coups de traitement linguistique (2020): 24
100 coups de traitement linguistique (2020): 45
100 coups de traitement linguistique (2020): 10-19
100 coups de traitement linguistique (2020): 30
100 coups de traitement linguistique (2020): 00-09
100 coups de traitement linguistique (2020): 31
100 coups de traitement linguistique (2020): 38
100 coups de traitement linguistique (2020): 48
100 coups de traitement linguistique (2020): 44
100 coups de traitement linguistique (2020): 41
100 coups de traitement linguistique (2020): 37
100 traitement de la langue frapper 00 ~ 02
100 coups de traitement linguistique (2020): 25
100 coups de traitement linguistique (2020): 23
100 coups de traitement linguistique (2020): 33
100 coups de traitement linguistique (2020): 20
100 coups de traitement linguistique (2020): 27
100 coups de traitement linguistique (2020): 46
100 coups de traitement linguistique (2020): 21
100 coups de traitement linguistique (2020): 36
3. Traitement du langage naturel par Python 2-2. Réseau de co-occurrence [mecab-ipadic-NEologd]
[Python] J'ai joué avec le traitement du langage naturel ~ transformers ~