インターンシップ参加報告

9月初週にあったモノタロウのインターンに参加させていただいた井上です。所属は電気通信大学 情報学専攻M1で、専門は自然言語処理です。専門分野が活かせそうなインターンシップをWantedlyで探したところ、モノタロウが目についたので応募しました。

 

モノタロウについては実家ぐらしのときテレビCMを頻繁に見かけていたので、有名な会社という認識を昔から持っていました。そのためてっきり最初は東京にも大きい拠点があってそこに行くのかなと思い込んでいたのですが、応募したあとで尼崎の本社に行くと分かってびっくりしました。東京オフィスは最近できたばかりでまだ人が少ないようです。ある程度大きいIT系でそういう会社は珍しいので意外でした。

 

データ分析グループ

私が配属されたデータ分析グループはかなり少数精鋭で、東京オフィス含めても10人いませんでした。ECサイトということもあり、データまわりはサービスの中核でヘビーなところだと思うのですが、どうやらこの人数で回っているようです。最初のほうに別グループの社員さんから「データ分析グループは強い人が集まっている」という話も聞いたりしていました。実際どう強いかというと、分かりやすい指標を出せば、10人もいないグループでph.Dが何人もいます。モノタロウがデータ分析に非常に力を入れていることがよく分かりました。

 

そういうわけで5日間のインターンでメンバーと話したり自分の課題をしたりしていて、研究機関に近い雰囲気を感じました。グループ長は組織紹介のときデータ分析について「大学でやってることと全然変わらないですよ」と話されていたので、実際そうなのだと思います。

 

インターンの内容

検索キーワードがスペース区切りされているかどうかで検索結果が変わる現象があります。今回のインターンでは、スペース区切りしたほうが良い検索結果が得られるかどうかを予測するタスクに取り組みました。検索結果の良さを測る指標としてクリック率やカートイン率が利用できるというのは企業ならではだと思いました。あとで調べると情報検索の評価でクリック率を見るのは一般的な手法なようで、そのあたりの知識の無さに気付かされました。

 

この課題に対してインターン期間中の5日間でしたことは大きく2つで、BigQuery上でのデータ分析・機械学習のための教師データ作成、そしてPythonによる機械学習モデルの実装・評価です。

 

まずBigQuery上でSQLを使って1年間の検索ログから必要な部分を切り出し、自分の目でデータを眺めて主観的にどういう傾向がありそうか分析しました。次に機械学習のための教師データとして使いやすいよう整形する作業をしました。SQLは学部のときの授業で少し触れた程度で、ほとんど未経験のようなものでしたが、インターンを通じてぼんやりとですがSQLで何ができるかが分かりました。具体的に知れて良かったのは、SQLは正規表現が使えて簡単なテキスト処理くらいならできるということです。数値の並んだテーブルデータに対してあれこれする印象が強かったので、正規表現で文字列の一部を置換したりなどの操作が可能とは思っていませんでした。

 

教師データを作った後はPythonで機械学習モデルを書きました。もう少し細かく言うと、深層学習フレームワークを使って、「スペース区切りありのほうが良いか、なしのほうが良いか」を分類するモデルを実装しました。この手のモデル実装については大学で何度もしているようなことで、フレームワークも充実しているので問題なくできました。ただ、やはり大学での研究と同じですが、細かい実験設定が難しかったです。頻度いくつ以下の事例は足切りするべきか、ハイパーパラメーターはどうするか、などなど。このあたりの試行錯誤をするには5日間のインターンシップでは時間が足りませんでした。

 

インターン最終日には成果報告会がありました。データ分析グループからの報告は、内容的に「もはや国内学会の口頭発表では?」という雰囲気でした。質疑応答では今回のような課題では検索システム自体にもある程度立ち入る必要があり、可能であればグループ横断で問題解決に取り組むべきだと思わされました。

 

f:id:t_aoyama:20191010162036j:plain

成果発表の様子

学んだこと

実用的にはBigQuery上でのSQLの扱い方が学べました。SQLについては扱えないといけないなぁと思っていたのですが、これまで必要には駆られず、ずるずるやらないままでいたので、単純にそれを学べただけでもインターンシップに参加して良かったです。

 

情報検索まわりの知識も増やせました。情報検索は自然言語処理と分野として重なっている部分は多いものの、まだまだ知らないことが多かったので良い機会になりました。

それに加えてビジネス寄りのデータ分析の知識はまったくと言っていいほど無かったのですが、インターンを通じて用語(CTRとかCVRとか)を知れました。自然言語処理/機械学習まわりだとまず出てこない単語なので、ビジネス寄りデータ分析の知識も意識的に増やすべきだとも感じました。

 

感想&まとめ

課題で用いた検索ログは機密性の高いデータのはずですが、それを5日間のインターンのために利用させていただけたのは非常に良かったです。実データや実際の環境でインターン課題に取り組ませてくれる企業は少ないよねという話はインターン生間の会話でもされました。

 

ちなみに途中から「もう少し丁寧に実験すれば論文になるよなぁ……」と取り組んでいましたが、データを公開できないので論文として出すことは難しいようです。企業には表に出ないがすごい人がいるとは聞いていましたが、その理由を体感できました。

 

短い期間でしたが貴重な体験ができました。「練習になるから」と不慣れなことにも色々と取り組ませていただけたのは本当にありがたかったです。