PyCon mini Shizuoka 2021
2021/11/20 nikkie
※変なテンションで「お前、誰よ」(自己紹介)をお送りします
PyCon JP 2021 座長でした。ご参加ありがとうございました
PyCon JP 2021インタビュー動画公開 (寺田さん、ありがとうございました!)
PyCon JP 2021 Advent Calendar、やりますよーー!!(参加者募集中🙏): #pyconjp 皆さん、こんにちは。 PyCon JP 2021 座長のnikkieです。 今回はPyCon JP 2021… https://t.co/kD37moCApr
— PyCon JP (@pyconjapan) November 9, 2021
PyCon JP 2021にちなんだアウトプット募集中
小さなアウトプット大歓迎。チケット買ってなくても、資料やアーカイブ見て参加して大丈夫です!
アイの歌声を聴かせて、めっちゃよかったです👏
— nikkie 📣PyCon JP 2021 ありがとうございました (@ftnext) October 30, 2021
予告で聞いた「秘密はね、最後に明かされるんだよ」という言の通りで、AIに関わっている立場からはいいなと思わされる希望のフィルムでした
叶わないですが記憶消して何周もしたいです。
今後スタッフトークショー楽しみ!https://t.co/WsA2nv6TY6
アイの歌声を聴かせてにどハマりしちゃったんですが、これは座長業などの締切に追われていないこの時期だからこそできるんですよね。
— nikkie 📣PyCon JP 2021 ありがとうございました (@ftnext) November 11, 2021
観た方とTwitterでいいよねーって語れるのがもう最高で
こういう、今を楽しめるって幸せもあるんだなあ(これまでが不幸せだったと思ってるわけじゃないですよ。為念
#アイの歌声を聴かせて 私にできる応援ということでプログラミングと絡めます。
— nikkie 📣PyCon JP 2021 ありがとうございました (@ftnext) November 9, 2021
先日のスタッフトーク音楽篇で1曲め「ユー・ニード・ア・フレンド」には「友達」という語が頻出とのこと。
パンフレット収録の歌詞には6回出てきてました。
ではここで問題(たたーん♪)、友達の次に出てくる語は?
公開から何日目?
劇中のシーンを再現(目覚まし)
劇中歌の歌詞分析
公開から何日目?
劇中のシーンを再現(目覚まし)
劇中歌の歌詞分析
$ python3.10 x-days-anniversary/main.py
『アイの歌声を聴かせて』公開から23日目です
>>> from datetime import date
>>> AINOUTA_DAY = date(2021, 10, 29)
>>> date.today() - AINOUTA_DAY
datetime.timedelta(days=22)
>>> (date.today() - AINOUTA_DAY).days + 1 # 10/29を1日目とする
23
公開から何日目?
劇中のシーンを再現(目覚まし)
劇中歌の歌詞分析
#アイの歌声を聴かせて
— nikkie 📣PyCon JP 2021 ありがとうございました (@ftnext) November 13, 2021
気付いてしまいましたよ、https://t.co/5KHa4xqMzt を決まった時間に流せれば、サトミとお揃い!
ちょっと実装試みてみます
(もしかしてトウマ先生、実装済みだったりする?)
目覚ましの曲はYouTubeで流せる
指定した時間に目覚ましの曲を流す=目覚ましのシーン再現!
要は「YouTubeの動画を自動で流す」を実装
# 『アイの歌声を聴かせて』の目覚ましを2分後にかけるコマンド
$ python3.10 after_x_minutes.py 2
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
height: "315",
width: "560",
videoId: "BVJhS-cXhOc",
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange,
},
});
}
webbrowser
でHTMLを開けば、自動再生始まる
$ python3 -m webbrowser -t "autoplay.html"
# 先のデモスクリプトでは webbrowser.open_new_tab を呼んでいます
公開から何日目?
劇中のシーンを再現(目覚まし)
劇中歌の歌詞分析
数え方にもよるかもしれませんが、「欲しい」でした。
— nikkie 📣PyCon JP 2021 ありがとうございました (@ftnext) November 9, 2021
友達欲しいって連呼する曲なだけありますね
ちなみに1回以上は
[('友達', 6), ('欲しい', 3), ('幸せ', 2), ('ひとりぼっち', 2), ('歌う', 2)]
といったラインナップで、ここを見るだけでも曲の意図が伝わってきますね #アイの歌声を聴かせて
歌でありセリフでもある
作詞のこだわりを知ったのをきっかけに、歌詞の 単語を数えて みました
spaCyの素振りも兼ねてます(都合により2系 2.3.7
です。Pythonは3.9系です)
$ python word_counter.py you_need_a_friend.txt
友達 [6] # 友達友達と連呼する曲です
欲しい [3]
幸せ [2]
ひとりぼっち [2]
歌う [2]
$ python word_counter.py youve_got_friends.txt
あなた [3]
光 [3]
幸せ [2]
月 [2] # 月や光に関連する語が多い曲です
照らす [2]
明かり [2]
誰 [2]
空 [2]
友達 [2]
>>> # 前提: pip install 'spacy[ja]<3'
>>> from spacy.lang.ja import Japanese
>>> nlp = Japanese()
>>> doc = nlp("あなたには友達が要る")
>>> for token in doc:
... print(token.lemma_) # 辞書の見出し語
...
あなた
に
は
友達
が
要る
>>> EXCLUDED_POS_SET = set(["ADP"]) # に、は、が などの助詞を除く
>>> for token in doc:
... # こと、するなど日本語のstop wordsは is_stop=True になることを使って除く
... if token.pos_ not in EXCLUDED_POS_SET and not token.is_stop:
... print(token.lemma_)
...
あなた
友達
要る
先の2スライドのコードを使って、歌詞から単語を取り出す
collections.Counter
を使って計数し、 most_common
で登場回数順にする
『アイの歌声を聴かせて』はいいぞ!
好きな作品を題材にPython{を使った,で素振りした}3例を紹介しました
示した例自体は再利用できなくても、 裏の考え方 は再利用できるかも
「自分も やってみたい」「参考 にしてこういうことができるかも」の気持ちを大切に
このLTが手を動かすきっかけやアウトプットのきっかけになったら嬉しいです✌️
Happy hacking👋
自動再生に使った iFrame Player API のリファレンス
spaCy(v2のチュートリアル) 第1章: 単語やフレーズ、名前、概念の検索
『アイの歌声を聴かせて』の歌詞は パンフレット を参照しました
劇中で流れる部分限定です(フルではありません)
作品に興味持った方へ「SNSで広がる『アイの歌声を聴かせて』の感動!ミュージカルアニメ映画史上最高の名作を絶対に今週末に観てほしい理由」