歌声合成をやりたくて(再)勉強しはじめたディープラーニングですが、 全然歌声に辿り着く気配がありません。
あまりにもアウトプットがなく、やる気がなくなってしまいそうなので、 情報が豊富な自然言語処理をやってみようと思います。
題材としてQiitaのLGTM数を使って「タイトルが受けそうか」を予測してみます。
まずはベースづくりです。
データ
- 2019-01-01〜2020-05-31のデータを収集
- 10以下・10より大きい・100より大きいの3カテゴリに分類
- カテゴリごとの記事数が同じになるように、最も少ないカテゴリに合わせたデータ数とする(各カテゴリ約2500件)
学習
- タイトルをMeCab(ipadic)で分かち書き
- CountVectorizerでベクトル化
- 隠れ層32の2層パーセプトロンで処理(活性化関数はReLU)
- エポック数10
結果
スコア(正解率)
0.5211024978466839
サンプル (学習データ)
タイトル | 予測 | 正解 | LGTM数 | 判定 — | — | — | — | — [ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた | 2 | 2 | 2424 | OK Laravelでクリーンアーキテクチャ | 2 | 2 | 126 | OK AWS Amplify ConsoleでCIを頑張った話 | 0 | 0 | 5 | OK Gatsby.js を完全TypeScript化する | 2 | 2 | 162 | OK 500ページ超えの新刊『わかりみSQL』を支える技術 | 2 | 2 | 590 | OK
サンプル (テストデータ)
タイトル | 予測 | 正解 | LGTM数 | 判定 — | — | — | — | — Flutter の状態管理についてお絵かきアプリ作りながら勉強した | 2 | 1 | 18 | NG Intel SGX入門 - SGX基礎知識編 | 0 | 1 | 38 | NG 新卒のトレーナーをするときの個人的まとめ | 2 | 2 | 1521 | OK 【Nuxt.js】Modal実践編:QueryでModalを管理する① | 1 | 0 | 1 | NG 元号対応に関するまとめ | 0 | 1 | 37 | NG
何も工夫してないので当然と言えば当然ですが、50%程度の正解率です。 そして、学習データは全問正解という過学習感。
これを徐々に改善していこうと思います。 (データ数が足りるのか心配ですが)