バーチャルYouTuberの配信内容を三行でまとめてみる記事

## へぇい

突然ですがみなさんはバーチャルYouTuberはご存知でしょうか?

![youtuber_virtual.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277804/f90a05dc-a5bf-e338-5889-62a92861c475.png)


バーチャルYouTuberとは, キャラクターを用いてYouTubeにて活動を行う人達のことで, いまでは[1万人を突破](https://headlines.yahoo.co.jp/article?a=20200116-00010000-kaiyou-ent)しています. 

特に最近では, 生放送を中心に行う方が多いため, 箱推しのような複数の推しを抱えるファンにとっては, 1日当たりに供給されるコンテンツの時間が24時間を超える人も中にはいるかもしれません. ここまでひどくなくとも, 新たな推しを探すのは難しいと感じている方は多いのではないでしょうか?

して.

## 矢木に 電流走る――！

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">素材です。どうぞ <a href="https://t.co/JnkVgq8jOF">pic.twitter.com/JnkVgq8jOF</a></p>&mdash; てち@ためにならない‼︎ (@Tiziano_Craft) <a href="https://twitter.com/Tiziano_Craft/status/1047839094498189314?ref_src=twsrc%5Etfw">October 4, 2018</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[COTOHA API](https://api.ce-cotoha.com/)　の要約機能を使ってみます. これは, 

> 構文解析、照応解析、キーワード抽出、音声認識、要約など、様々な**自然言語処理・音声処理API**を提供しているサービスです。**NTTグループの40年にわたる研究成果**である、日本語辞書や単語を3000種以上の意味性分類する技術などを活用し、高度な解析をAPIで手軽に利用できます。

テキスト解析ができるみたいです.

要約機能を使えば, きっと切り抜き動画のように面白いところだけ切り出してくれるに違いありません.

いざ.

## 制作

[まず](https://qiita.com/wagasa2/items/74d5f78d36c2e3599534#22-quick-start)

```shell
git clone https://github.com/tsuji-tomonori/cotohapy.git
cd cotohapy
pip install -r requirements.txt
# config.json の作成
python demo.py
```

```config.json
{
    "access_token_publish_url": "",
    "developer_api_base_url": "",
    "clientid": "",
    "clientsecret": ""
}
```

これで下準備は完璧です.

次に,

```python
import json

from cotohapy3 import CotohaAPI

# load config
with open("config.json") as f:
    d = json.load(f)

# auth
api = CotohaAPI(
    developer_api_base_url=d["developer_api_base_url"], 
    access_token_publish_url=d["access_token_publish_url"]
)
api.login(clientid=d["clientid"], clientsecret=d["clientsecret"])

# main
document = input()
print(api.summary(document, 3))
```

完成しました. 名前を「imakita3gyou.py」としています.

あとは, [字幕データを取得](https://www.youtube.com/watch?v=RGlpEoGmSgU) し, 改行を「。」にすべて置換したテキストファイルを作成すれば準備完了です.

## 実践

まずは キズナアイ から[あんな声やこんな声で話題の声ゲーに挑戦♡](https://www.youtube.com/watch?v=dwXOCqNWz4Q)

```shell
python imakita3gyou.py < kizuna_ai.txt
```

結果は

```
'♪ 秋冬で～ 恋をして～。わんっ わんわんっ。じゃかじゃかじゃかじゃか… じゃん！。'
```

なんかわかる気がする.

次は, 電脳少女シロ より[【神回】PUBGで女子が本気出したら奇跡が起きた！なんと‥！【PLAYERUNKNOWN'S BATTLEGROUNDS】](https://www.youtube.com/watch?v=iThw3Twk4RY)

```shell
python imakita3gyou.py < siro.txt
```

結果は

```
'やったね。何これ。いた!。'
```

これは確実に救済されるやつですね.

最後に, 月ノ美兎 より [10分で分かる月ノ美兎【にじさんじ公式】](https://www.youtube.com/watch?v=03H1qSot9_s)

```
python imakita3gyou.py < mitimito.txt
```

結果は

```
{'result': {}, 'message': 'An error has occurred.', 'status': 17001}
```

まさかのエラー. リファレンスにて確認したところ, 入力できる文章のサイズは5000までだそうです. 泣く泣く削ります. 

気を取り直して結果は

```
'月ノ美兎です （2018/02/10 Youtube Live 月ノ美兎、名探偵になるの巻）。「ビンタしてビンタ。実はわたくし、そんなことしたくないんですよ？。'
```

やっぱり委員長は委員長だった.

## いかがだったでしょうか

思っていたより雰囲気がでていてよかったです. でも今回は人間が字幕を付けていた動画を対象としているため, 実用的とは言い難いところがあります. 次回以降はGoogle によって自動で文字起こしされた文章でも対応できるようにしていきたいです.

それでは次回も, よろしやす.



## おまけ

紙木はさみ より [【生配信】#78 ただいま♡まったりおはなしするよ！【雑談】](https://www.youtube.com/watch?v=DhIT3CDKcR8) 

1時間20分ほどの生配信, 5000文字以内で終わるわけなく, 泣く泣く大半をカット.

```
python imakita3gyou.py < hasami.txt
```

結果は

```
'なんていうんだろう。すごいなんかすごいすごい。愛してる愛してる愛してる愛してる。'
```

なんかすまんかった.