LINE FukuokaでiOS開発を担当しているha1fです。10月20日に開催いたしました、LINE Developer Meetup in Kyoto #21の参加レポートをお送りします。
LINE京都オフィスの立ち上げを前にして、今回初めて京都でLINE Developer Meetupを開催いたしました。134名の方がご参加くださり、非常に盛大なイベントになりました。ありがとうございました。
当日は18:00に開場してからセッション開始の19:00までの間も、ビールを飲みながら普段の開発や京都についてお話ししまして、場も温まったところでセッション開始となりました。
AIプラットホームClovaについて
LINEでは、新たなプラットフォーム戦略の一環として、クラウド型AIプラットフォーム「Clova(クローバ)」を開発しています。そのClovaのアーキテクチャと難しさについての、橋本泰一によるセッションです。
Clovaアーキテクチャ
Clovaの音声認識、言語理解、機械学習などのコンポーネントは、すべて自社で開発されています。
Clovaの頭脳に当たるClova Brainと端末の間やClova Brainとサービスの間は、Clova Interface Connect(CIC)とClova Extension Kit(CEK)というインターフェイスを用いて接続されます。このようなアーキテクチャにすることで、Clovaを利用できる端末とClovaから利用できるサービスを追加できるようになっています。これらのインターフェイスは、開発者にも順次解放予定とのことです。
より詳しいアーキテクチャについては、LINE DEVELOPER DAY 2017での【A-2】The Technologies in Clovaの資料をご参照ください。
Clova開発の難しさ
Clovaの開発には、いろいろな難しさがあります。
音声認識や、同音異義語などの複雑な言語理解の難しさだけでなく、読み上げの難しさ(例:「晴一時雨」は「セイ イチジ ウ」ではなく「ハレ イチジ アメ」)や、応答の曖昧性(例:「こんにちは」に対して「こんにちは」と返すべきなのか、「こんばんは」と返すべきなのか)などの課題もあります。
挑戦しがいのある課題がまだまだありそうです。
京都オフィスでのClova開発
京都オフィスでのClova開発チームの立ち上げが、京都までの新幹線の中で決まったそうです。
その発表で会場がどよめく中、このセッションは締めくくられました。
機械学習を始めるための第一歩
後半は、先日発売された『やさしく学ぶ 機械学習を理解するためのきほん』の著者でありLINE Fukuokaで働くエンジニアでもある立石賢吾による、機械学習入門のセッションです。
機械学習というと難しそうなイメージがありますが、そのイメージを払拭し、いかに学んでいけばよいのかを、以下の3つの段階に分けて紹介しました。
機械学習を始める
自分たちがプログラミングを始めたときの体験に重ねての説明でした。
プログラミングを始めたときに、いきなりメモリ管理、ガベージコレクションといった理論的なことを理解できたわけではありません。機械学習も同じで、理論も実装も、すべてを一度に理解するのは難しいけれども、どちらか一方からでも、楽しさを原動力に学んでいけばよいとのことでした。
機械学習を理解する
機械学習を学ぶにあたって、まず「ルールを見つけている」という本質を意識することが大切で、数学はルールを見つけるための手法だと思うと、理解しやすいとのことです。
機械学習を実装する
いよいよ実装についてです。実装と理論には以下のようなギャップがあります。
- 細かい理論は実装せず、パッケージなどを使うことが多い。
- 欠損値処理、正規化などの必要な前処理を行う。
- 実運用においては、テストやドキュメントなども整備する。
そして、理論だけでは不十分で手も動かさないといけないこと、実際は失敗が多く、実験・改善の繰り返しでもあることなど、tkengoの実務での経験を感じるセッションでした。
詳しくは、上記のスライドを御覧ください。
懇親会
セッションの後は、ビールを片手に楽しむ懇親会が開かれ、社員と参加者はもちろん、参加者同士でもかなり話が盛り上がっていました。懇親会中は寿司職人による寿司が振る舞われたり、WAVEのプレゼント抽選があったり、技術的な話以外でも楽しんでいただけたのではないかな、と思っております。
閉会後も、近隣店舗で二次会を行いましたが、そちらも50名以上の皆さんに参加いただき、大いに交流できて、大変良い会になりました!
お知らせ
Meetupの最後でも発表しましたが、12月1日(金)に次回LINE Developer Meetup in Kyoto#23を開催いたします。今後は、京都でもさまざまな技術イベントへの協賛や登壇などを行っていく予定です。
また、LINE京都オフィスの立ち上げにあたり、京都で働くエンジニアも募集しております。ご興味がある方は、ぜひご応募ください。
京都採用情報:https://linecorp.com/ja/career/kyoto
Kyoto Career Information:https://linecorp.com/en/career/kyoto