スマホアプリでお馴染みのLINEさんと、医療系向けに機械学習サービスを提供しているエムスリーさんのエンジニア向け機械学習系イベントにお邪魔してきました。
machine learning production pitch
https://line.connpass.com/event/120518/
https://line.connpass.com/event/120518/
機械学習系の技術イベントだと、アルゴリズムや手法にフォーカスした勉強会的なものが多い印象ですが、こちらのイベントは機械学習サービスの企画や運営、メンテナンスなんかを主なトピックにしようとしているようです。
1人目 呂彩林さん
LINEでは色んなサービスから解析に使っても大丈夫なデータのみData Lake Hadoopに格納する仕組みをもっていて、これをZ-FEATUREという機械学習モジュールに放り込んで各サービスから横断的に使えるようにしている。個人情報を含んでるので各サービス担当から特定の人に限定して閲覧利用している。また、データがスパースなので利用しやすいようにSCDVを使って文書ベクトルにしたY-FEATUREに変換して利用している。ほとんどのデータで次元を大幅に減らす事が出来るけど、データサイズは大きくなっちゃうみたい。様々なサービスを提供する強みが生きる仕組みが作られていて流石です。
2人目 エムスリー 西場正浩さん @m_nishiba
リンク予測をしてリコメンデーションするサービスについてのお話。まずGCMCの論文を紹介してから記事のリコメンデーションについて紹介。週に1回20件の記事から5個の記事を紹介するけど、既読記事は紹介しちゃいけない、という課題。学習データとテストデータはランダムじゃなく、一部のユーザーのみの基準日以降のデータをテストデータにしている。IDを入れなくてもLDA+categoryで充分予測が出来るので過去の選択傾向から似たユーザーの行動が予測できている。既存のデータがランキングモデルで提供して得られたデータなのでランキングモデルに勝てないけど、これはデータそのもののバイアスによるもの。一応確認の為にランキングモデルとMCMCでアンサンブルすると、ランキングモデルに勝てるようになったので、正式リリースではアンサンブル比率を変えながらABテストしていく予定とのこと。元々のデータのバイアスを考慮しつつリリース時にどうするかまで含めて作戦を考えられていてとても参考になります。
3人目 LINE 的場勇樹さん
LINEのAIアシスタントClovaの仕組みを紹介。NLU発話の文字列を受け取って対応するシステムはユーザーが何を言うか分からないので、長さやコンテキストが無限の組み合わせをもってしまい、アルゴリズムが複雑になるし開発の影響範囲が複雑でリリース前のチェックが超大変だった。そこで天気情報やメール送信などのドメインごとにNLUを分けて、どのドメインに割り振るかを初段で判定して各ドメイン用NLUにより詳しい対応を任せる事で微調整がやりやすくなった。モデルの更新はRekcurdを使っていてGUIから操作してモデルのみバージョン2、他をバージョン1にするなどをコンソールから操作するだけでKubernetisのローリングアップデートまでもっていけてめっちゃ便利そう。PDCA早く回そうという強い意思が感じられて素晴らしい。
4人目 エムスリー 河合俊典さん(ばんくしさん) @vaaaaanquish
医師の興味ワード抽出しての医師紹介、広告やコンテンツの出し分け、時系列分析で販促をやろうとしていて、医師に疾患/薬剤を紐づける作業からはじめている。データにはレコメンドやサービス内ポイントによる強いバイアスがあるのでそのまま扱っちゃダメ。しかも医師が本当は何に興味があるのかは分からないので評価関数の設計が必要だし、データは疎行列だから辛い。最終的にgraph modelを採用。graphはユーザー、記事、興味の3つの要素に分けてlabel propagationで学習。クレンジングでは全く活動がないユーザー、逆に全部読んでるユーザーは除き、ポイント目当てのユーザーはクリック間隔から推定して除外。元々の記事の数が多いジャンルがあるのでpage view baseでリコメンドを算出すると記事数が多いものが上位に来てしまうし、ユーザーのpage viewが少ないと上手く行きにくいのをTriRankを使うと概ね上手くいくらしい。
こういう実際のビジネスに機械学習を使っていく為の話は書籍では得られないので、すごく勉強になりました。主催運営のLINE、エムスリーの2社の皆様ありがとうございました!
0コメント