backstage

合唱音源の新着情報の舞台裏

【機械学習】AzureMLで合唱音楽レコメンドシステムTwitter Librarian作ってみた

Microsoft Azure Machine Learning(Azure ML)を使って、

以上を組み合わせて、RTを評点としてAzure Match Box Recommender モジュールに突っ込むことで、おすすめのツイートを取得するシステムTwitter Librarianを作りました。

f:id:s2terminal:20160410194651p:plain

現在はサービスとして公開はしておりません。 ローカルで調整中の段階ですが、 約3,000件のリツイート情報、約800件のツイート投稿データ、約1,500件のツイート詳細データ(タグ情報)を用いることで、指定したTwitterユーザに対するおすすめツイートを取得できるようになっています。

作曲者や演奏者情報がツイート詳細データとして入力されて学習に用いられるので、好きな作曲家や合唱団の傾向が反映されるのではないかと思います。

APIを叩くソースコード

f:id:s2terminal:20160410203902p:plain

Azure ML上でWeb APIにデプロイすると C#PythonR言語の3種類のクライアント用サンプルコードを提供してもらえます。 しかしRubyは無かったので自前で書きました。

その他の技術的な詳細は多分そのうち書きます。

課題

f:id:s2terminal:20160410200810p:plain

RTが多いツイートのレコメンドに偏ってしまう

普段2,3RTしかされないアカウントの中に極稀に70RTとかの投稿があるので、誰に対してもそういう特定のツイートばかりレコメンドされてしまいます。言われてみればそうなのですが、人によって様々な結果が返ってこないと面白くありません。

知らない曲を発掘してくれるようなシステムでないとあまり意味がありません。 RT数が少ないツイートに対して高い評点を付けるよう調整することで対策を予定しています。

データを増やしたい

現状TwitterのRT情報しか取れていません。 いいね(お気に入り)も取りたいのですが、Twitter APIが存在しません。

Facebookのお気に入り/シェア情報も、数が増えてきたら付け加えようと思います。

料金が難解

azure.microsoft.com

上記によると、たとえばスタジオ実験時間で時間割り102円?とあります。 実験時間が何を指しているのか不明ですが万が一実験しっぱなしだったとして1日2,400円??1ヶ月で7万5千円???となると恐ろしいです。iPadが買えます。

しばらく運用してみないとよく分かりません。 課金アラートを厳重に設定して、あとは様子を見てみます。

blogs.msdn.microsoft.com

参考文献

追記

喋りました↓

www.slideshare.net