はじめに
~~さんといえば、よく震えている人なんて言われていますが、
人工知能に例の歌詞を要約させて本当に震えているかを検証したいと思います。
きっと震えてる部分が要約されるはず!
環境
- python3.7.3
- COTOHA API (https://api.ce-cotoha.com/)
実際にやってみる
今回はCOTOHA APIの要約(β)を利用して歌詞を要約させてみたいと思います。
機能概要
参照元:https://api.ce-cotoha.com/contents/reference/apireference.html
要約APIは、入力として日本語で記述された複数文で構成された文章を受け取り、これを文単位で重要度を算出し、スコアを付与します。そして、入力時に指定された要約文数に応じ、重要文を返します。
本APIはベータ版として提供させていただきます。
なるほど。。?
サンプルを確認すると
前線が太平洋上に停滞しています。一方、高気圧が千島近海にあって、北日本から東日本をゆるやかに覆っています。関東地方は、晴れ時々曇り、ところにより雨となっています。東京は、湿った空気や前線の影響により、晴れ後曇りで、夜は雨となるでしょう。
これが
東京は、湿った空気や前線の影響により、晴れ後曇りで、夜は雨となるでしょう。
こうなるらしい。
なんかすごそう、
プログラム
初心者なので大目に見てください。。。
# coding: UTF-8
import requests
import json
class Common:
def __init__(self):
self.base_url = <<APIのbaseURLを入れる!!>>
self.token_url = <<APIのToken取得用URLを入れる!!>>
self.token = <<繰り返し実行するときはTokenを入れる!!>>
class Tokens(Common):
def main(self):
cid = <<Client IDをいれる!!>>
secret = <<Client secretを入れる!!>>
headers = {"Content-Type": "application/json; charset=UTF-8"}
payload = {"grantType": "client_credentials", "clientId": cid, "clientSecret": secret}
r = requests.post(self.token_url, headers=headers, data=json.dumps(payload))
self.token = r.json().get("access_token")
print(self.token)
class Summary(Common):
def main(self):
url = '/nlp/beta/summary'
document = '''<<要約したい文章を入れる!!!>>'''
sent_len = '1'
headers = {"Authorization": "Bearer " + self.token, "Content-Type": "application/json; charset=UTF-8"}
payload = {"document": document, "sent_len": sent_len}
r = requests.post(self.base_url + url, headers=headers, data=json.dumps(payload))
print(r.text)
if __name__ == '__main__':
T = Tokens()
T.main()
#S = Summary()
#S.main()
input情報
西野カナ "会いたくて 会いたくて" の歌詞
結果...
西野カナ "会いたくて 会いたくて" の歌詞がそのまま返ってきた
。。。あれ?
どうやら単語とかフレーズを集めた歌詞は文章として扱われず、1文として処理されたみたい。。。ぴえん👼
もう1回
"会いたくて 会いたくて" に(私の解釈でそれっぽいところに)句点を入れてもう1回リクエストを飛ばす。
結果は。。。
君想うほど遠く感じて
震えてなかった
おまけ
西野カナ "トリセツ"
いろいろ説明してるけど、結局どう扱えばいいのだろうか
結果は。。。
こんな私だけど笑って許してね
最後に
APIリクエストするだけで簡単に使用できて面白いですね。
この後いろいろ試して気づいた点等を別な記事で紹介したいと思います。
それでは。