IM@S Engineer Talks 2019 クール編


イベント概要

発表

データサイエンスアイドル「小日向美穂」と考える「つながり」

スライド資料
動画 4:48~

  • 小日向美穂と言えば、データサイエンスアイドル
    • 「何つながりなのかな?」
    • もしかして:機械学習
  • 機械学習でアイドルの共通の特徴を探る方法
    • 教師あり学習と教師なし学習
    • 線形回帰による回帰・ロジステック回帰による分類・単純パーセプトロン
    • im@sparql)からアイドルを観測事象とする整然データを作成
      • 名義尺度を定量データに変換、正規化、欠損値補完
    • 教師データの作成。学習、回帰係数
    • 例えばこんな予測ができる:MillionStarsメンバーのU149所属確率
      • 馬場このみは39人中12位
  • 小日向美穂と言えば、自然言語処理アイドル
    • 自然言語(熊本弁&標準語に詳しい)
  • 自然言語処理で「何つながりなのかな?」を探る
    • TF-IDF重み付け
    • TF:Term Frequency=テキストにおける単語の出現頻度
    • IDF:Inverted Document Frequency:語句がどのくらいのテキストに出現しているかの度合い
    • TF-IDFの例:「放課後クライマックスガールズ」を題材にTF-IDFを計算
    • アイドルを説明するテキストを用意 → テキストを語句に分かち書き → TFを計算 → TF-IDFを計算
  • 単語の分散表現
    • 単語の意味をベクトルで表現したもの
    • 単語同士の数値的な比較・加減算が可能になる
    • 1-of-N と bag-of-words表現
    • スライド窓による単語列の分割
    • skip-gram表現
    • 分散表現によるTF-IDFの次元削減、分散表現による回帰係数
    • 分析の例:「七尾百合子と誰かの『何つながりなのかな?』」をWordCloudで表示する
  • アイドル同士がどんなテーマで話してそうかを機械学習である程度探ることができる

Ut Video Codec Suite 高速化の11年

スライド資料
動画40:05~

  • 作者による発表。
  • Ut Video Codec Suiteとは
    • 映像キャプチャ向け可逆圧縮コーデック。
    • ニコマス方面・MMD方面などいろんなところで使われている。
    • ニコニコ動画で「神画質」と言われているものはこのソフトが使われている。
  • 作り始めたきっかけ
    • エースコンバット6をキャプりたかった
  • 高速化の歴史
    • 圧縮手法(ハフマン符号・フレーム内予測・planer変換)
    • マルチスレッド化、SIMD
    • ハフマン符号化でループ間のMOV命令を1個削減
    • 部分レジスタトール回避
    • predict gradient フレーム内予測の追加
    • ... etc
    • 結果的に60倍高速化

小鳥さんとKotlinを勉強できるサイトを100%Kotlinで作る

スライド資料
自作コミュ 1:46:20~
動画 1:52:57~

  • スライドでの発表前に小鳥さんの自作コミュ再生(発表者による生フルボイス付き)
  • Kotlinはいいぞ
    • SAM変換(インターフェース定義をラムダで書ける)
    • Null許容・非許容を「?」で明示。null許容型の場合、直接アクセスするとコンパイルエラーになるので安全。
  • 小鳥さんとKotlinを学べるサイト 小鳥さんの自習室 を作った。
    • Kotlinの基礎的な文法解説
    • Web上で小鳥さんとペアプログラミングしながらKotlinを勉強できる!
    • Kotlinを勉強したい小鳥さんとのコミュを楽しめる!
  • Ktor + Kotlin + React
    • Kotlin/JS: KotlinをJavaScriptに変換するトランスパイラ
    • @JsModuleアノテーションを使って、JSをKotlinにインポート
    • この仕組みにはdynamic型が使われており、JSオブジェクトをそのまま扱える
    • js() メソッド:Kotlin中に生のJSをそのまま書ける
    • JSに近い文法でそのまま操作できる=気づいたらJSを書いている罠
  • Kotlin/JS はKotlinに慣れてから触るとたくさんの発見がある

LT第一部

iOSDCの技術パッション枠でiOS関係なくIM@Studyの話がしたい!

スライド資料
動画 2:53:13~

  • きのこるFM
  • iOSエンジニアとアイマスのつながりと言えばリンゴ。
  • LoveLiver:デレステMV→ライブフォト切り出し生成。GUIで操作できるものはこちら
  • ライブ+心拍数。iOS13 + watchOS 6で騒音レベルのデータもグラフ化できそう
  • ライトニングキャプチャー&クロマキー:PhotoStudioPlayer

音無小鳥は無能なの!?765プロの経営管理をハックしてみた

スライド資料
動画 2:59:40~

  • 765プロの経営管理の現状、アイドルの契約体系といった生々しい話から経営管理をGSuiteを使って効率化する話。
  • プロデューサーや事務員は雇用契約。アイドルは委任契約。
  • 小鳥さん仕事多すぎ。
  • 解決のための手段
    • 基幹システムとしてGoogleDriveを採用することによる情報集約
    • 一部手動オペレーションについてはGoogle App Scriptによる業務の自動化で省略可
      • Gmailから添付ファイルを取得してSlackに自動通知
      • 会計ソフトから情報を自動取得して経営分析を自動で行う
      • 取引を販売管理ソフトから集計して会計ソフトに記録する
      • 経費申請リマインド など
    • クラウド系SaaSを活用して遠方の士業に情報共有
    • GSuite×freeeで無限の効率化
  • クラウド化は情報共有の始まり

続・Pのための名刺管理サービス

動画 3:12:25~

  • THE NAMECARDM@STER
  • アイマスP向けの名刺管理・交換サービス
  • AWS EC2 t3.microでつつがなくサービス中

じじいにゃつらいよ デレステ フォトスタジオ-ポーズ検索を作った話

スライド資料
動画 3:18:47~

  • デレステ フォトスタジオ ポーズ検索
  • フォトスタジオに「○○ちゃんっぽく!」機能が追加。
    • 似ているポーズもあり、どれがどのアイドルのポーズか探すのが困難
  • どこかにまとめサイトあるっしょ… → ない
  • 仕方ないので作った。
  • 画像をまとめるのが大変だるかった。

im@sparqlでプレイリストを作る

スライド資料
動画 3:24:04~

  • 曲が多い。聴く曲が偏っている。
  • プレイリストを自動生成したい
  • Node-RED + Audio Station + Docker
  • しんどいポイント:Audio Station APIリファレンスがない
  • 詳細は「週刊 iM@Study」誌面で。

プロデューサーさん、わたし、Metalデビューしたいですっ!

動画 3:29:50~

  • うづコイン
  • Metal: iOSデバイスなどのGPUにほぼ直接アクセスできるグラフィックスAPI

LT第二部

IM@Study at 尾張だよ~(o・∇・o)

スライド資料
動画 3:36:13~

  • 4月に行われたハンズオン・ハッカソンの活動報告
  • 「SPARQLを広めていきたいんですね~」「せっかくim@sparkqlあるし、愛知でハンズオンやっていきましょ!」→「LODチャレンジで一緒だった、名工大の白松研に協力いただきました!」
  • アイマスハッカソン in 名古屋
    • よかったこと
      • 大学内の宣伝ポスター。いつもとは違う層への宣伝効果◎
      • デジタルサイネージ「メイ&タクミ」:正門前で「アイマス」と聞くだけでハッカソンの詳細を教えてくれる
    • 改善点
      • 大学内なので飲酒できない → LT大会などは2次会に併設
      • LT大会を2次会で → お店の中なので配信できない

ナターリアとAkashic Engine

動画 3:45:21~

  1. Akashic Engineをインストール
  2. ダイマしたいアイドルのゲームを作る(公式チュートリアル参照)
  3. RPGアツマールにアップロード
  4. ハッシュタグ付きでゲームのURLツイート
  • akashic-contents にオープンソースのゲームがいくつかある。
  • それをダウンロードして画像を差し替えることで、手軽に改造できる。もちろんソースコード自体の編集も可能。
  • アップロードすれば簡単にダイマ可能。

「MVが3人な曲の一覧」って取得できます? (デレステ・ミリシタ・Mステ)

スライド資料
動画 4:00:43~

  • 一覧表 - Googleスプレッドシート
  • デレステやミリシタのMVで楽しむ
  • 編成を決めてから、それに合うMVを探す
    • 例えば3人編成 → そもそも3人だけ登場するMVって何があるんだっけ?
  • 手作業で確認
    • ミリシタ・デレステ:編成画面でわかる(例外あり)
    • Mステ:MVを実際に再生するまでわからない(歌唱3人 MV5人、歌唱3人 MV3人)
  • とりあえず一覧表を作った。
    • 今後は歌唱メンバー、難易度・ノーツ数などを追加したい。
    • 更新頻度が高い情報(月数回)のため、自分一人だと多分気力が持たない。他人が編集できる形にしていきたい。

アイドルと幼馴染になるにはどの県に生まれるべきか。

動画 4:07:13~

  • 統計資料(平成17年人口統計)とアイドルの出身地情報を基に指標を作成し、地図に表示
    • 約15年前の国勢調査資料を基に、アイドルの幼少時代の日本の都道府県人口を調査。
    • 海外及びウサミン星は除外
  • 各都道府県別の出身アイドル数・アイドル密度・アイドル率を地図表示
  • アイドル密度・アイドル率の地図を重ねることで、アイドル密度アイドル数相関を表示。
  • 結論:東京がおすすめ(身も蓋もないが)
  • 地方だと石川県、香川県、京都府、長崎県がおすすめ

デレマス呼称表から見えるアイドルの関係

スライド資料
動画 4:15:01

  • 呼称表からアイドルの関係性を見てみる
  • 呼称データがあるアイドルは交流があると考える
    • 「頂点=アイドル」「辺=呼称」のネットワークを分析
  • 分析に使ったもの:NetworkX
    • 最短経路検索
    • グラフ同士の類似度算出:グラフ同士がどれだけ似ているか
    • 中心性算出:各点を特徴づける指標を算出
  • 中心人物は誰か?
    • ネットワークから中心性を算出
    • デレマスコミュニティのコア人物を見つける
  • 中心性:次数中心性、近接中心性、媒介中心性
  • 結果:本田未央ぶっちぎり…だったが、元データを見てみると、未央から他アイドルへの呼称がほぼ全員分あることが判明。
  • 調整後:諸星きらり、川島瑞樹、堀裕子、大槻唯が浮上
  • 辻野あかりが夢見りあむと他メンバーの橋渡しになっている
  • 結果を見ると、コミュ力が高そうなアイドルが上位に来ていた

ジェバンニの佐久間まゆ講座

動画 4:26:11~

  • 佐久間まゆはヤンデレではない
  • 周りとのコミュニケーションを重んじている
  • 編み物や料理が得意=普通の女の子と同じ
  • 我々に深い愛情を伝えてくれる健気な女の子である
  • 発表中に言及している小説のリンクはこちら

サーバーレスアプリケーションでサクッと始めたいアイマスbot

スライド資料
動画 4:32:46~

  1. SlackでBotを用意する
  2. AWS Toolkit導入済みのIntelliJでAWS Serverless Applicationのプロジェクト作成
  3. Botのエンドポイント等AWS環境の定義をtemplate.yamlに記述
  4. Botで動かすプログラムとユニットテストを書く
  5. AWS Toolkitを使ってデプロイ

未来ちゃんでもわかる?デザインパターン入門 memento pattern ~望月杏奈を再現してみたい~

スライド資料
動画 4:39:01~

  • 望月杏奈
    • ONモード / OFFモード で性格が切り替わる
      • アイドルの姿:元気いっぱいで活発
      • 普段の姿:引っ込み思案で大人しめ
    • 望月杏奈を再現したい!
  • ランダムに切り替える?
    • テンションを記憶させたい
  • どうやるか?
    • Memento Pattern
    • Mement: 形見
    • Mement Moment:この瞬間を忘れない
  • データ構造に対する状態を記憶しておき、以前の状態への復帰を行えるようにする
    • Originator(作成者):作成・状態を表す
    • Memento(形見):内部情報を保持する
    • Caretaker(世話人):作成者に指示を出す・履歴を保持する

idol2vec アイドル紹介記事の分散表現によりキャラクター性を定量的に扱う試み

スライド資料
動画 4:48:54~

  • idol2vec - サンプルコード&モデル
    • Python3.7環境
    • WordVec2モデル添付
  • アイドルのキャラクター性を定量的に扱いたい
    • アイドルの性格・位置づけをグラフ上に表したい
    • 「島村卯月とキャラクター性が近いのは誰?」
    • 「『クール属性の佐久間まゆ』は誰に相当する?」
    • 「卯月と凛を足して2で割ると誰に近い?」
    • これらの疑問に主観的でなく定量的に回答したい
  • 文書の分散表現で実現できる?
    • アイドルの人となりについて記述された文書があれば、それを分散表現化(ベクトル化)することで定量的に扱える(仮説)
    • ソース候補はピクシブ百科事典やニコニコ大百科
    • 前処理:タグ、数字の桁区切り、余白、固有名詞(姓名、愛称やユニット名)の除去
    • 単語の分散表現モデル:シンデレラガールズSSコーパスから作成
    • アルゴリズム:SWEM-aver
    • ベクトルの類似度計算:NGT(Yahoo Japan)を使用
  • ベクトル化減算の例
    • 佐久間まゆ-島村卯月+渋谷凛 → 三船美優
    • 島村卯月-水本ゆかり+北条花蓮 → 双葉杏
    • 諸星きらり-野々村そら+渋谷凛 → 神崎蘭子
    • (島村卯月+渋谷凛)/ 2 → 多田李衣菜
  • TensorBoardによる可視化
  • まとめ
    • 結果の解釈は主観的にならざるを得なかった
    • 文書の前処理・文書の分散表現手法の選択によって、結果が大きく変わる
    • メタな位置づけ、記事執筆の癖にも影響されている可能性がある
    • 「任意の評価軸」を設定することは難しい
    • 改善案:ニコニコ大百科とPixiv百科事典の結合、前処理の強化、別の分散表現手法の採用、大規模なコーパスから取得したW2Vモデルの使用

関連