VTuber 츠키노 미토시의 명언에서 대사를 자동 생성 (마르코프 체인)

개요



난 네, 이미 프로그램이라도 괜찮아 너를 좋아하지만, 그, 그, 그러니까 마우스를 잡는 것이 아니고, 너의 손을 잡고 싶지만, 하지만, 어쨌든, 나는 이제, 이렇게 코드를 써서, 너에게 말을 전하는 그 수술밖에 없기 때문에, 나는 너를 위해서, 프로그램을 만드는, 도, 보, 나를 위해서 만들고 싶어요!

※유럽 기획씨의 사랑의 노래가 넘쳐 나와서 멈추지 마라!의 X copipe 의 개변

개요(성실)



최근 가상 Youtuber가 굉장히 인기군요. 자신이 좋아하는 VTuber는 츠키노 미토키 씨입니다.

평소에는 빌어 먹을이라든지 말해 버리는 주제에, 호라게에서 쿵쿵 비비거나 시청자에게 들어 올리자마자 상태를 타 버리거나 거물 Vtuber에는 헤코 헤코하고 있거나하는 곳. 진정한 사랑에 빠지는 위험한 위험
츠키노 미토키 씨라고 하면 압도적인 명언의 여러가지가 있습니다만, 이것들을 학습시켜 새로운 명언 만들 수 있겠지? 그렇다면 문장의 자동 생성을 해보겠습니다. 이미 누군가가 하고 그런 느낌도 있습니다만 용서해.

구성



Python3+mecab에서 마르코프 체인을 사용합니다. 마르코프 연쇄는 twitter의 bot등에서 자주 이용되고 있는 녀석이군요. 【에반게리온】아스카 같은 대사를 DeepLearning으로 자동 생성해 본다 에서 시도한 방법과 동일합니다.
프로그램은 카라 아게 씨의 마르코프 연쇄 프로그램 를 거의 그대로 사용하고 있습니다. 고맙습니다 ...!
다만, Python2계는 이제 사용하는 것을 그만두고 싶으므로, Python3를 사용해 봅시다.

준비



Python3과 mecab을 설치합니다. 다음은 Homebrew를 사용한 예입니다.

명령
# mecabインストール
$ brew install mecab
$ brew install mecab-ipadic

# Pythonインストール。pyenvを使う場合は他の記事を見てください。
$ brew install python3
$ pip install mecab-python3

프로그램



여기 하지만 Python2 계열의 프로그램입니다. encode/decode를 소거, xrange→range로 변환, 등을 실시합니다.
있는지 여부는 알 수 없지만 프로그램도 up할지도.

데이터 정보



10분으로 아는 츠키노 미토키【니지산지 공식】
10분으로 아는 츠키노 미토모 *2【니지산지 공식】
등에서 적당하게 모입니다.
제대로 한다면 음성 추출 → 텍스트 변환이 좋지만 이번에는 맛있는 발언만 살짝 모으고 싶기 때문에 수작업으로. 누군가 데이터베이스화는 좋다.

tsukinomito.txt
きりーつ!気をつけ!
こんにちは、月ノ美兎です。
ムカデ人間観ましたね。
ムカデ人間分からない方の為に説明させて頂きますと、人が3人拉致されて口と肛門を繋げられるっていう…
ニワトリ並みの脳味噌されてますけど大丈夫なんですか?この人は。
クソ雑魚パンチやめてくださいちょっとw
(以下略)

실행



명령
# ここで学習
$ python PrepareChain.py tsukinomito.txt 
# ここで文章生成。10個作る場合
$ python GenerateText.py 10

결과



여러 번 실행하여 좋은 결과를 모았습니다.
ラブプラスをやったのは高橋真麻さんをスマホの待ち受けにして並べて井の頭公園で展示とかですか?
もうさぁ!ガチャガチャガチャ!みたいなコスプレですね…もみじ。
ヨーロッパ企画さん以外のゲームをやるだなんて、もう音楽なんかどうでも良くて君の手を握りたいけど、だけれども、だけれでも、あの、その中でいいのがね、誰が得するの?みたいな感じで雑草食べてましたよ〜
でももみじは本当に人が食べるものじゃないんですか、それの延長みたいな音でこっちはさぁ、心肺停止するんですか!ちょっと…
洗濯機の上でやってるんですか、それの延長みたいな音でこっちはさぁ、心肺停止するんだよコイツら…いい加減にしてくrあっそんなこと言ってはいけない…コココココココンじゃないですか?わたくしの顔を写しています
わたくし、成績優秀容姿端麗なんちゃらかんちゃらなんかポケモンマスターみたいな感じで雑草食べてましたね

이 녀석 숨을 쉬도록 잡초 먹고 있구나.
샘플이 적은(100행 정도)이므로, 좀더 유럽 기획 요소라든지 넣는 편이 좋을지도 모른다.

결론



이번에는 데이터 수가 적었기 때문에 마르코프 연쇄로 시험해 보았습니다만, 의외로 재미있는 결과를 얻을 수 있었습니다. 원래의 발언이 혼란스러운 놈뿐인데, 생성문이 그다지 붕괴하지 않은 것이 대단하다.
좀 더 데이터가 모이면 Keras의 LSTM 근처에서 시도해도 좋을 것 같다.

참고 자료



츠키노 미토키 (공식 채널)
【에반게리온】아스카 같은 대사를 DeepLearning으로 자동 생성해 본다
마르코프 체인을 사용하여 블로그 기사를 자동 생성했습니다.

좋은 웹페이지 즐겨찾기