こんにちは!
今回もDI(データインテリジェンス)事業部の取り組みをご紹介します。
以前の記事で、自主勉強会を開催していることをご紹介いたしました。そのメンバーでGW期間中にKaggleのコンペに参加したとのことで、社内優勝者にインタビューしました!
Kaggleコンペ
Kaggleコンペ参加の背景
毎週末に開催している自主勉強会で学んだ知識を実践的に使うために参加しました。今年のGWは外出も難しかったため、休暇も有効活用できました。
Kaggleとは
世界中の機械学習・データサイエンスに携わっている人々が集まり、最適モデルの構築を競い合うプラットフォームです。企業や政府はデータと課題を提供し、Kaggle参加者はデータを分析・モデル構築し、予測結果を出します。最も最適な手法を企業が買い取るCompetition (コンペ)を開催する場がKaggleです。
Kaggleに参加することで世界中の企業のデータに触れることができたり、他の参加者の解答の解説をみることができたり、自分の予測結果を採点してもらい、世界の中でのランクがわかるなどのメリットがあります。
課題内容
Real or Not? NLP with Disaster Tweets (本当?嘘?災害ツイートのNLP)
Twitterは緊急時における重要なコミュニケーションツールとなっており、Twitterでリアルタイムに災害の発生を発信・受信することが可能になりました。しかし、残念ながら、Tweetされている情報の全てが実際に発生している災害であるとは言い切れません。
このコンペでは、どのTweetが実際に発生している災害のものかを予測する機械学習モデルを構築することが課題です。
コンペ結果
インターン生のOさんが社内で優勝しました!全世界での順位は約2200人中350番台でした!Oさんは積極的に新しい技術を活用した案件に取り組んでくださっていて、どんどん吸収・成長しているところが、今回の結果につながったと思います!
優勝したインターン生へのインタビュー
工夫した点
文書中に出現する単語の重要度を評価するTF-IDF、 事前学習モデルのBERT、XLNetによる結果をアンサンブルしました。
BERT: Googleが開発したNLP(自然言語処理)の事前学習のための技術。Google検索エンジンに導入されている。
XLNet: BERTの問題点を解消し、より高い精度を持つ自己回帰言語モデル
苦労した点
XLNetの実装が初めてでなかなか参考にするものが見つからず、中国語のドキュメントを見ながら実装しました。
面白いと感じた点
以前、業務でBERTを利用した際はTensorFlowで実装したのですが、今回はTransformersを用いてPytorchで実装したので、コンパクトに実装できた感じがしてとても面白かったです。
TensorFlow: 機械学習向けに開発されたエンドツーエンドのオープンソースプラットフォーム
Transformers: NLP(自然言語処理)用のライブラリ
Pytorch: Pythonのオープンソースの機械学習ライブラリ
その他所感など
実行するので手一杯で、前処理やfine-tuning(微調整)にあまり時間をかけられなかったので、次回開催されれば、その点に力を入れたいです。今後、こうしたコンペでの経験を実務に還元していきたいです。
最後に
弊社DI事業部では4名のインターン生が実践力として、業務に取り組んでいただいています。4名全員が意欲的に自主学習して、業務で実践し、どんどん経験を積んでいます。また、弊社社長はバリバリのエンジニアでもあり、ビジネスマンでもあり、常に新しいアイデア、案件が生まれており、今後もそれらに積極的にチャレンジして、活躍してくれることを期待しております!
アンド・ディではデータエンジニアのインターン生を募集しています。
・自分で習得した知識・経験を活かしていろいろなことにチャレンジしていきたい!
・こんなことやあんなこともやってみたい!
そんな想いを持ち、チャレンジする場を求めている方は、ぜひこちらよりご応募ください。(現在5/18現在、新型コロナウイルスの影響で採用活動は休止中ですが、再開の目処が立ち次第ご連絡いたします。)