こんにちは。研究開発チームインターンの北田 (shunk031) です。今回は可愛い我が子(研究のことです)について書きます。
この度、私と研究開発チームの関さんで取り組んでいた研究がデータマイニングに関する国際会議KDD2019のApplied Data Science Trackにて採択されました。
発表した論文は "Conversion Prediction Using Multi-task Conditional Attention Networks to Support the Creation of Effective Ad Creatives"というタイトルで、テキストにフォーカスした広告クリエイティブ作成支援のためのコンバージョン予測がメインの研究です。
今回はこうした研究がスタートしたきっかけや、インターン中にどのように研究を進めていって論文を執筆したか、振り返っていこうと思います。
- 最初にお知らせ
- 研究がスタートしたきっかけ
- 研究を進める上でのマイルストーン
- トップカンファレンスへの論文投稿
- リサーチインターンでの論文執筆
- リサーチインターンで研究を進める楽しさや苦労
- まとめ
- 最後にもう一度
最初にお知らせ
この度Gunosyにおいて論文執筆・投稿を目的として研究に全力で取り組むリサーチインターンシップの募集が公開されました! 研究と論文執筆にコミットできるインターンは国内ではめちゃめちゃ貴重だと思いますし、 Gunosyのデータは研究をするのにものすごく良いです。 このブログを読んで興味を持った方はぜひ応募してみてください。
研究がスタートしたきっかけ
私がGunosyで研究を始めたのが2018年の7月頃で、今から約1年前になります。当時ちょうどサマーインターンが始まる季節で、ありがたいことに複数社から魅力的なサマーインターンのお誘いを受けておりました。私はR&Dの、特にリサーチ領域がとても好きだったため、インターンでも研究に近いことが出来て、成果を論文にしたり学会発表したいなと考えておりました。
リサーチがメインのインターンというのは海外のテック企業では当たり前になってきていますが、日本ではまだ少ないのが現状です。今回声を掛けてくださったサマーインターンの内容も、どちらかというと開発に近い立ち位置でした。
そこで無理を承知で研究開発チームの関さんを含めたGunosyの方と相談をさせていただいた結果、ちょうど研究できそうな課題があるとのことで始めたのがきっかけでした。 そもそもこのようなリサーチインターンの募集がない中でポジションを作っていただけたのが驚きでした。
研究課題としては、配信効果の高い広告クリエイティブの自動生成を目標とした周辺技術の研究がありました。私自身これまで自然言語処理の分野で研究を進めてきた背景や、広告クリエティブにおいてテキストの入れ替えが頻繁に行われるなどの理由から、テキストにフォーカスした広告クリエイティブの評価予測という問題について考えていくことになりました。
研究を進める上でのマイルストーン
こうした課題感を元にリサーチインターンの研究を進める上で、明確なマイルストーンは必須です。短期的・中長期的な目標を次のように決め、研究を進めました。
短期的なところでは毎日やったことをslackや社内wikiにまとめ、メンターである関さんや他の社員さんからアドバイスをもらい、研究のPDCAサイクルを高速に回すことを意識していました。広告分野のデータを触ることは始めてだったので、slackの分報チャンネルに疑問点をたくさん挙げていたのを覚えています。
中長期的なマイルストーンとしては、自然言語処理分野では有名な以下の2つの国内学会を目安に、結果を纏めて発表するという計画を立てました。
NLP若手の会 (YANS) シンポジウム
8月後半から9月前半に、YANSと呼ばれる自然言語処理関連の若手研究者・若手技術者の集まるシンポジウムがあります。まずはこのYANSに向けて研究を進めていく方向で進みました。研究をスタートさせたのが夏休みとあって、ほぼ毎日オフィスで研究させていただいていたと記憶しております。(研究室よりも快適だったり?)YANSはポスター発表のみで予稿の提出が必要ないので、開催日のギリギリまで研究を進めていました。
以下はリサーチインターンでの初手の成果で、コンバージョンされるような広告クリエイティブにおける単語はどういうものがいいのか?というリサーチクエスチョンに対する研究を発表したときの様子です。とても濃密なディスカッションをさせていただき、研究に磨きがかかりました。
言語処理学会 全国大会
YANSの次に目指したのが1月に4ページの予稿の締切がある言語処理学会です。国際学会用の予稿を作ることも考慮して、10ページ程度書いてみてそこから4ページにまとめるイメージで執筆を行いました。同時期に全く別分野の話で情報処理学会の予稿も書いていたのでとても辛かったのを覚えています。論文のクオリティを上げきれなかったことに少し後悔もあります。
以下はマルチタスク学習の導入とconditional attentionの提案により、広告クリエイティブのコンバージョン予測精度の向上を確認した研究を発表したときの様子です。先行研究ではなかったクリックとコンバージョンを同時に予測するフレームワークや、自然言語処理界隈では一般的となったattention機構を広告分野に応用し、広告属性に応じた重要語の可視化を可能としたものです。口頭発表時には満席になりまして、注目していただけるレベルの研究ができたかなと感じました。
トップカンファレンスへの論文投稿
10月後半の時点で国際学会に出そうという雰囲気になっていました。言語処理学会の予稿をベースに、英訳して投稿しようという感じです。学会の候補としてはACLとKDDが挙がっていましたが、広告分野の研究も受け入れてくれそうなKDDに出したいね、という話をしていました。トップカンファレンスに論文を投稿できるものなら投稿してみたいと思っていたので、こうした提案をしてくれた関さんに感謝です。
論文投稿に向けての困難と解決方法の思案
YANSで発表した内容は私自身初めて広告分野のデータを用いた研究であり、納得の行く結果が出せなかったのが現実です。特に広告分野ではコンバージョンがほぼゼロという、データの不均衡さが大きな問題です。YANSでの発表はこうしたコンバージョン予測の難しさに対して具体的な解決策を提示している訳ではなく、機械学習や自然言語処理で用いられるモデルの可視化手法を試して比較するのみにとどまりました。また予測モデルには コンバージョンが多いクリエイティブはコンバージョンが多いと正しく予測してほしい
という目的があり、こうした目的を達成できるモデルを構築すべきことにも注意しました。
そこでYANS終わりの9月から言語処理学会の予稿締切の前の12月の間、以下の点に着目して研究を進めることにしました。
- 広告分野のデータ特有の データの不均衡性に対する予測精度向上
- クリエイティブ評価に対する 従来用いられてきた評価指標の再検討
- クリエイティブ作成支援に向けた 属性値を考慮した予測モデルの解釈性向上
データの不均衡性に対する精度向上
広告クリエティブの殆どがコンバージョン数ゼロというデータの不均衡さがモデルの学習に悪影響を及ぼすため、こうしたデータの不均衡さに対して、自然言語処理やコンピュータビジョンの分野等で導入されているマルチタスク学習*1を取り入れました。コンバージョン行動の前段階にあるクリック行動も同時に学習するというものです。こうすることで、クリックされやすく、なおかつコンバージョンされやすいクリエイティブのパターンを学習可能であり、予測精度向上に大きく寄与する事がわかりました。
従来用いられてきた評価指標の再検討
本研究では従来用いられてきた評価指標についても再検討を行いました。効果の高いクリエイティブ作成支援のためのコンバージョン予測を行うにあたり、 「コンバージョンが多い広告クリエイティブをコンバージョンが多いと正しく予測する」という目的を達成するためには、先行研究で用いられてきた評価指標では不十分でした。コンバージョン数の予測誤差を指標とするmean squared error (平均二乗誤差: MSE) では、大部分がゼロを占めるコンバージョン予測の評価指標として用いるのは不適切だと考えました。頑張って学習させたモデルの予測結果と、すべてコンバージョン数ゼロと予測したモデルとの差はとても小さく、私達の目的に対して提案モデルを正しく評価するのは困難でした。
そこで私達はランキングの評価指標であるNDCG (Normalized Discounted Cumulative Gain) *2とMAP (Mean Average Precision) を用いました。こうしたランキングの評価指標を用いて評価することにより、コンバージョン数が多い予測を多いと正確に予測できたかどうか評価することができ、MSEよりも私達の目的に沿った評価を行うことが出来ました。結果的に提案手法はコンバージョンの多いクリエイティブを適切に予測できることを確認し、コンバージョン数をすべてゼロと予測するモデルのスコアは低下しました。
属性値考慮した予測モデルの解釈性向上
自然言語処理の分野において、attention機構*3は広く一般的に使われている技術です。広告クリエイティブには配信対象の性別や地域、クリエイティブのジャンル等が設定されており、このような属性値によってユーザーの行動は変わってくるはずです。こうしたユーザー行動を捉えるため、広告の属性値を考慮したattentionであるconditonal attentionを新たに提案しました。
提案するconditional attentionを導入することにより、配信対象の属性を考慮した粒度の細かい予測が可能になり、結果的に予測精度向上に寄与しました。また広告の属性を変えることで動的なattentionの可視化が可能となり、広告の属性に設定したターゲット層に対して効果的なクリエイティブテキストの作成やその支援が可能になると考えています。
論文の投稿準備
1月17日に言語処理学会の予稿を提出してから、2月3日締切のKDDの論文執筆をスタートさせました。松尾ぐみの論文の書き方:英語論文にしたがって、ひたすら英訳をして埋めました。KDDはsig-confフォーマットで9ページ程度必要だったので、分量を確保するのがとても大変でした。関さんと分担して英訳をして、一緒に読み合わせて主張の齟齬をなくすことを繰り返しました。複数人で論文を書くことがはじめてだったので、リアルタイムでディスカッションしながら論文を修正し、クオリティを上げていく過程はとてもエキサイティングでした。
リサーチインターンでの論文執筆
所属研究室での研究と並行してリサーチインターンでの研究を進めるを進めるためには、効率的な執筆ツールとプロによる英文校正が必須です。今回論文執筆にあたり活用したツールや特に気をつけたことを挙げます。
ツール
- Overleaf
- もうこれがないと論文が書けないと思うレベルです。今すぐ導入しましょう。
- コメント機能や複数人でリアルタイムで加筆修正可能です。
- オフィスにいなくても、slackやコメント機能でやり取りしながら複数人で論文を加筆・修正していました。
- 大きな学会の締め切り前にサービスが落ちがちなので注意しましょう。
英文校正
僕たちは雰囲気で英語を書いているため、英文校正は必須です(雰囲気で英語を書いてない方のほうが多いと思いますが…)。研究開発チームの方針では複数回英文校正をお願いする形をとっていました。初稿から推敲を重ねた上で満を持して英文校正に出したのですが、最初のお直しで無限に修正が入り、PDFリーダーがフリーズしました。
今回は締切3日前と1日前にそれぞれ24時間で結果を返却していただけるコースで英文校正をお願いしました。2回目の校正は論文締切当日の朝に返却されたので、結果を反映してメンターさんと読み合わせて修正を繰り返しました。
気をつけたところ
論文執筆を行う上で気をつけることは山ほどありますが、特に今回気をつけたことをやメンターさんに指摘いただいたところを挙げます。
- 用語の選び方や統一すること
- (あたりまえですが)論文に出てくる言葉は論文中ですべて説明されるべきです。もしくは適切に引用を交えて補足されるように記述すべきです。
- 実はこうした説明の抜けがあり、出来てないことが多かったです。
- パラグラフの分け方とトピックセンテンス
- 何も説明できてないトピックセンテンスを大量に生成しており、また無意味なパラグラフが多かったです。分量を確保しようと無駄な文がたくさん生えてしまっていました。
- こちらはメンターさんの圧倒的編集力でどうにかなりました。執筆経験豊富な方にリアルタイムでフィードバックをいただけるのはありがたいですね。
参考にした資料
トップカンファレンスに通るような論文の書き方はフレームワーク化されており、以下の記事で紹介されているフレームワークに乗ることで、普段読むようなトップカンファレンスに通るような論文が出来上がるようです。
松尾ぐみの論文の書き方:英語論文
基本的にこの記事で紹介されている執筆方法を参考に実行しました。常にこの記事を振り返り、自分たちが執筆している論文はどの状態にあるのかを確認していました。
もってる結果すべて詰め込んで初稿を作る
この時点で規定のページ数から±2ページぐらいになるとよい
- すべて詰め込んだ結果11ページ(規定+2ページ)程度まで書きました。
推敲が最も重要で、かつおろそかになりがち
- 推敲の段階で自身の論文が何稿目に当たるのかを確認し、どのように修正すればいいかを把握して修正を行っていました。
最後は一字一句の修正
ページ数の遷移です。完成度の高い論文は、例えば、10ページの原稿であれば、一時的に12ページくらいまで膨らんで、その後、不必要なところを削除、不十分なところを追加する過程を経て、10ページぎりぎりに持っていきます。
- 最初は2ページオーバーしていたところから、終盤では引用一つはみ出てしまう状況でしたが、一字一句の修正を行い、スペースの修正等を行っていました。
CMU教授直伝の論文の書き方
こちらの記事では、主に論文の体裁について参考にさせていただきました。特に (MUST)
と書かれている項目は論文執筆でチェックすべき項目を的確に捉えられており、修正時にとても参考になりました。
Crown jewel
(メインの図を1ページ目の上に乗せる)- キャプションにはタイトルをつけてそれを説明する。当たり前だけどできてないことが多い。
List your contributions in introduction
これをやらないとリジェクト
、と書いてあるぐらい強力で、コントリビューションを列挙することで読者に伝えたいことをちゃんと伝える必要があります。- レビュワーのコメントもここをベースにコメントを書いてくれたように見えます。
その他
関連研究をを書く上でGunosyアドベントカレンダーの関さんの記事に救われました。(論文執筆を見込んでの記事だったのでは?という感じですね)
リサーチインターンで研究を進める楽しさや苦労
研究が好きな僕がGunosyでリサーチインターンをやってきたときに感じた楽しさや苦労を箇条書きで挙げます。
- 自身の持つ専門性を生かし、企業の持つ多様なデータに触れながら問題解決のための研究を行うのはなかなか出来ない経験です。特に実世界のデータは普段研究で触れるトイデータやコーパスにはない性質があり、一筋縄ではいかない難しさがありました。こうした困難に対してどう解決していくか、メンターさんとリアルタイムでディスカッションしながら手を動かし、結果を見て、一緒に一喜一憂できたので、研究特有の孤独感がまったくなかったです。
- インターンでも研究活動するにあたり、所属研究室や指導教員との兼ね合いがあると思います。私の指導教員は圧倒的仏なので私のチャレンジに全肯定していただけたので、その点においても幸せだったと思います。私自身リサーチインターン中に所属研究室でも論文を国内外で3本程度書いていたので、上手に両立してあげれば咎められないと思います。
- リサーチインターンを通して複数回学会に参加させてもらい、8月にはアラスカ州アンカレッジへ渡航する予定です。こうした費用はすべてGunosyから出してもらえるため、圧倒的なモチベーションで研究を遂行できました。大学では必要な煩雑な書類作成等もリサーチインターンではほぼゼロで、ホテルや新幹線、飛行機の予約も社員さんが手配してくれるため、ストレスフリーでした。本当に感謝です。論文執筆中にはメンターの関さんから適切な報酬(高級焼肉・高級寿司などなど!)が与えられ、
Deep 人間 Q Network
モデルな私としては最適な方策を学習することが出来ました。
私自身はとても楽しく研究活動に勤しむことが出来ましたが、こうして自由にやらせていただける裏でメンターさんや社員さんがさまざまな調整をしてくださったり、時間を割いていただいているので、そういったところで苦労や負担をおかけしてしまっているかもしれません。今回のKDDの採択で恩返しできればよいなと考えております。
まとめ
Gunosyでリサーチインターンを始めたきっかけや、インターン中にどのように研究を進めていったかについて書きました。学会では活発なディスカッションをさせていただいたことで、研究に磨きがかかりました。こうして発表できた研究は自然言語処理コミュニティのみなさまが育ててくださったおかげだと思っています。ありがとうございました!
我が子(私は自身の研究を我が子のように扱っています)がたくさんの方に見てもらえるようになり、とてもうれしく思います。引き続きリサーチの方面から課題解決ができれば良いなと考えておりますし、ご興味ある方はぜひ一緒盛り上げてほしいと思います。
最後にもう一度
このブログを読んで、自分もと思った方は是非インターンに応募してみてください。 私もこのインターンの前までは査読付き本会議論文の採録経験はなかったので、いい成長の機会になると思います!
*1:Caruana, Rich. "Multitask learning." Machine learning 28.1 (1997): 41-75.
*2:Järvelin, Kalervo, and Jaana Kekäläinen. "Cumulated gain-based evaluation of IR techniques." ACM Transactions on Information Systems (TOIS) 20.4 (2002): 422-446.
*3:Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. "Neural machine translation by jointly learning to align and translate." arXiv preprint arXiv:1409.0473 (2014).