かばやん's だいありー

かばやん's だいありー

学んだことをゆるゆるアウトプットしていきたいです。

【2019年】おすすめ書籍10選【振り返り】

はじめに

今年読んだ本の中で、特に良かった10冊を、ジャンル問わず紹介したいと思います。 昨年やって良かったなと思ったので、今年もやります! 私が今年読んだ本なので、出版年は関係ありません。

2019年、現時点で読んだ本は合計109冊でした!(マンガは含みません。) 今読んでいるものも含めて、あと5冊くらいは読みそうです。昨年は83冊でした。

2018年の記事はこちら↓ kabayan55.hatenablog.com

技術関連書籍

機械学習のための特徴量エンジニアリング

books.rakuten.co.jp

1回目に読んだのは今年前半ですが、今でも辞書的な感じで業務中に読んでます。特徴量エンジニアリングについて一通りまとまってるのでお勧めです。

仕事ではじめる機械学習

books.rakuten.co.jp

2019年の初めに、「機械学習プロジェクトは新卒入社時からずっとやってきたはずなのによくわからない!」と感じていて、家に本書を積んでいたことを思い出して読みました。積んでいたことを後悔した本、堂々の第1位です。第I部の一般的な話が書いてある部分も好きですが、「第II部 7章 映画の推薦システムをつくる」も、推薦システムについて考える際に重宝しました。

Kaggleで勝つデータ分析の技術

books.rakuten.co.jp

最近よく読んでいるのは、「第3章 特徴量の生成」です。早く本書の内容全部マスターしたい......!!

ビジネス書

どこでも誰とでも働ける――12の会社で学んだ“これから"の仕事と転職のルール(尾原和啓)

詳しい感想は下の記事に書いてます。 ↓ kabayan55.hatenablog.com

2019年に読んだ中で一番良かったです!全章について感想書きたくなりましたが、完全にネタバレになってしまうので、がんばって一部ピックアップして書いたのが上の記事です。

機械学習エンジニアになりたい人のための本 AIを天職にする (AI&TECHNOLOGY)

books.rakuten.co.jp

機械学習エンジニア界隈からすると、ああそうだよねということがいっぱい書いてありますが、私たちの感覚に近いことが言語化されて書いてあるのは素晴らしいと思います。 私たちがなんとなく持ってる感覚を、本書を読むことによって、すぐキャッチアップできるようになるかと思うとすごいです。 自分の言葉で、「機械学習エンジニアになりたいけど、どうしたらいい?」という質問に答えるのは難しいので、本書を推薦するだけの人になりました。(丸投げ)

最高の結果を出すKPIマネジメント

books.rakuten.co.jp

私が社会人になって初めて覚えた単語がKPIでした。しかし、一度でも理解のためにきちんと勉強したかと言われればNOで、2019年になって本書を手に取りました。新卒や、実はKPIよくわかっていないかも、という人におすすめです。社会人1年めで読むべきだったと思う本です。

FACTFULNESS

books.rakuten.co.jp

データサイエンティストなんだし、ある程度世の中のことを正しく見れていると思っていましたが、完全に自信を無くしました。かなり流行っていた本なので、読んんだ人も多いかとは思うが、まだの方にはぜひ一度手に取ってほしいです。

クイズもあるので是非やってみてください!

交渉の武器

books.rakuten.co.jp

交渉のことがまるでわからなかったので手に取った本です。

【基本】

  • 交渉とは、自分の目的を達成するための手段

  • 合意のために不本意な譲歩をしない

  • 交渉決裂は「交渉の終わり」ではない

【コツ】

  • 交渉決裂ラインを決める、死守する

  • 嘘はリスク大NG

【実践できそうなもの】

  • 弱者の交渉戦略 上司の許可を取った上で)上司のせいにする 事前調査をしっかり行い相手の弱みを利用する

  • 謝罪はタイミングと範囲が大事。こちらに過失がある場合はすぐ謝る方がいいが、範囲は気をつける。

小説

かがみの孤城

books.rakuten.co.jp

昨年からずっとオススメされていましたが、2019年になってから読みました。2018年の本屋大賞です。 文句無しにオススメです。

同人誌

現場の「ズレ」を解消するコミュニケーションメソッド

この1年を通して一番お世話になった本です!詳しい感想は以下の記事で書いています。 ↓ kabayan55.hatenablog.com

おまけ

2018年に、記事を書いたあとに出会った本を1冊だけ紹介します!

かなり面白かったので一気に読めました。

  • アウトプットは、ただ感情を垂れ流すのは良くなくて、わかりやすく説明するのが重要
  • アウトプットを通して作られる信頼関係が大事

アウトプットをしたい人、アウトプットを始めたけどどうしたら続けられるかわからない人にオススメの1冊です。

books.rakuten.co.jp

おわりに

今年もたくさんの素晴らしい本と出会えました!来年も読書を楽しもうと思います。 他の書籍の感想はぜひ読書メーターを見てください。フォローもお気軽にどうぞ!

bookmeter.com

#LAPRAS伸びしろ選手権 をきっかけに、teratailを始めてみました

はじめに

私はプログラミングのQ&Aサイトは基本的にStackOverflow*1しか見ていなかったのですが、 LAPRAS*2 に登録したことをきっかけに、teratail*3に興味を持ち、登録してみました。

LAPRAS とは

GitHub, Twitter, Facebook, Qiita, Connpass, SpeakerDeck, teratailなどの外部サービスの情報を連携することができ、そこから「技術力」、「ビジネス力」、「影響力」を自動的にスコア化してくれるサービスです。 例として、私のページを載せます。

lapras.com

#LAPRAS伸びしろ選手権 とは

LAPRASでの11月17日時点の技術力スコアと12月15日時点の技術力スコアの伸びを競うプレゼントキャンペーンです。

twitter.com

teratail とは

プログラミングに関する日本語のQ&Aサイトです。 3分でわかるteratail|teratail(テラテイル) を読むのが一番わかりやすいと思います。

teratail に対する印象

私は回答しかしていないので、回答者としての所感を書きます。

質問に関するガイドラインがきちんとしている

全エンジニアに読んでほしいです。私自身も参考にして良い質問を心がけたいと思います!

びっくりするくらい質問が来る

タグを登録することができ、「無し」「緩い」「厳密」でタイムラインの質問をしぼることができます。 私は答えられそうな質問しか見ないようにしているので、「厳密」に設定しています。 それでも1日に何問も質問が投稿されています!

すぐ回答がつく

スピード感がすごいです。早く解決できることはいいことですよね! 回答は1つついた時点で解決済みになるケースが多いなと思いました。 いろんな人の回答がつくようになった方が面白そうだなとは思うのですが、私は未回答の質問ばかり選んで回答するようにしていたので、他の回答者もそうなのかもしれないと感じました。

日本語でコミュニケーションができる

特に英語に対して苦手意識を持った人にとっては良いのではないでしょうか。日本語で質問できるサイトがあるというのは、「プログラミングがわからないのか、英語がわからないのかわからない」という状態を防げていいと思います。

ちょっとこわい?

正直な第一印象は「治安悪い......」でした。 質問や回答に関しては高評価・低評価をつける項目があるのですが、評価のつかない「質問への追記・修正、ベストアンサー選択の依頼」という項目があって、特に質問修正依頼がタメ語のものや高圧的な態度のものを見てしまい、怖いという印象を受けました。言葉遣いが汚い人も見受けられます。ただ、これはごく一部のユーザーです。単純に私自身が普段良質な質問の場しか見る機会がなく、ちょっと面食らってしまっただけかもしれません。個人的には「質問する人はみんな偉い!」と思っているので、質問をすることに対して臆病になってしまう人が出ないことを願うばかりです。回答者一人一人がきちんと意識して、良くしていくのが一番良いのかなと思います。

話が逸れますが、個人的に質問しやすいと思っている良質なSlackコミュニティが2つあるので紹介します。

r-wakalangR言語のSlackコミュニティ、kaggler-ja*4は日本kaggler(kaggle*5をやっている人)のSlackコミュニティです。 どちらも短時間で有識者から質問に対する回答を得られます。説明も丁寧でわかりやすいものばかりですし、複数人の意見が集まることも少なくないです。 質問の仕方が最初はうまくいかないこともありますが、そういった場合は「〜のような書き方をすると回答を得られやすくなると思います!」といった優しいコメントが来るので極めて治安は良いです。 私はROM専でたまにリアクションするくらいですが、それでも得られるものは大きいと思っています。

teratail を始めて良かったこと

私にも回答できる質問があるんだ!と少し自信になりました。 また、私は普段あまり人に教える機会がないので、どう説明すれば伝わるかを意識するきっかけになりました。 ただ、質問 → 回答 → ベストアンサー のスピードがはやいので、「〇〇の単語で検索してみると実現したいことに近づけるかも」といった今後自力で解決に近づけるようなアドバイスのみの回答はteratailではしにくい印象です。「これ使えばいいよ!」みたいなものになりがちです。実現する方法はもちろんですが、理由についてはきちんと明記するように心がけてました。

結構楽しい!

週間27位になる程度にはハマりました。ほぼ土日。

f:id:kabayan55:20191229222637p:plain:w150

これからもteratailを続けるか

人の役に立つことは好きなので、暇を見つけて回答していければなと思います。ずっとフルコミットは多分キツいので、簡単に回答できそうなものは回答するようにしようかなと思っています。

LAPRASの技術スコアにはどう反映されたか

teratailを始める前、LAPRAS伸びしろ選手権開始日の11/17の時点の技術スコアは3.42でした。現在3.60なので、約0.18全体の技術スコアに反映されていると思います。この期間connpassのイベントに1つ参加したのと、GitHubレポジトリにStarをいくつかした記憶があるので、もちろんそれも含まれているとは思います。

f:id:kabayan55:20191215142118p:plain

おわりに

LAPRASをきっかけにteratailを知ることができたので、良かったと思います。
teratail、もし良かったらフォローしてください!
kabayan55のQAプラットフォーム|teratail(テラテイル)
この記事ではあまり紹介できませんでしたが、LAPRASはスコアを出すだけでも楽しいので是非やってみてください!私のように、新しいサービスとの出会いもあるかもしれません。

おまけ

追記(2019/12/17)
LAPRASを活用した、私と似たような取り組みの記事です。 現在人事部門でこの技術スコアの高さは目を見張るものがあります。
LAPRAS/teratail でレベルアップ!採用担当は候補者に負けないスキルを維持せよ - Qiita

「Python3 エンジニア認定基礎試験」 に合格しました

Python3 エンジニア認定基礎試験とは

一般社団法人Pythonエンジニア育成推進協会が行っている試験です。

www.pythonic-exam.com

受けようと思った理由

受けている人を見て、私も受けてみようかなという軽いノリでした。 もう少しちゃんとした理由を書くと、Python3をちゃんと書きはじめて半年くらいだったので、腕試しをしようと思いました。Python2系は5年以上書いていたと思います。 Python(2系も含む) の勉強をきちんと一通り勉強したことはなく、学生時代に研究や、NLPプログラミングチュートリアル*1 の演習をしながら、わからない箇所を調べながら実装していくスタイルだったので、一度基礎的な部分が抜けていないか確認しようと思い、受験しました。 ちなみに、私の場合は、Pythonを書き始めるよりも前に、C言語JavaOCaml*2の勉強を終えています。

どんな勉強をしたか

以下のサイトで模擬試験を3回解きました。

exam.diveintocode.jp

模擬試験1回目は合格点に届きませんでした。 普段実装する上で覚えていなくても調べればなんとかなってしまうこともあるし、結構覚えてないことも多いなという印象でした。ただ、覚えておくべきかどうかはまた別の話だとは思います。 この検定を受けるまで知らなかったけど便利だなと思ったのは、ビルドイン関数dir()*3です。 ひっかけっぽい問題もあります。雰囲気で解かず、きちんと変数を追いかけていれば解けると思います。私は見事にほぼ全部ひっかかりました。

どんな人にオススメか

プログラミングをはじめたばかりの人向けですかね......?? ただ、模擬試験を解けば実力の把握はできると思うので、腕試しをしたいだけなら受けなくてもいいかなという印象です。 資格ドリブンで勉強するタイプの人にはいいかもしれません。受験してから書くのもなんですが、Not for meだった気がします。

申し込み方法

全国のオデッセイコミュニケーションズCBTテストセンターで受験が可能で、Odyssey CBTのサイトから申し込みができます。 試験会場を検索して、会場に直接申し込みます。

cbt.odyssey-com.co.jp

会場によっては受験可能日のカレンダーがあったり無かったりしたので、受験可能日が載っている会場を選択しました。
受験可能日を聞くところから始めるのはめんどくさいと感じました。
どう申し込むのかは結構とまどったのですが、私が申し込みをした施設では、 「問い合わせをする」のフォームから「受験について」の項目を選んだ上で、受験希望日と受験したい資格試験の名前を添えて受験したい旨をお伝えしました。 お問い合わせの回答は、メールにていただきました。 ちなみに、Odysseyのページでは、受験可能日はたくさんあったのに、12月中の土日の開催日は1日しかないと言われました。笑
受験者が少なければ開催日を減らした方が合理的なのは百も承知ですが、お問い合わせをする前にわかった方が嬉しいなと思いました。 まあお問い合わせをすれば解決する問題なので、私が単純に面倒くさがり屋なのがいけないのかもしれません。でも世の中には私のような面倒くさがり屋さんは結構たくさんいるんじゃないかと思っています。

当日困ったこと

試験官の方が用意してくださったページがOdysseyのページで無かったハプニングが。 別の試験用のアプリ(?)だったことに気づかず、OdysseyのID登録していったのになぜかログインできないな〜とか思いながら、登録を0からやって、受験する試験を選ぶ画面で違うことに気づきました。 Odysseyの画面からIDとパスワードを入力して試験が始まります。Odysseyという文字が見当たらなければ、試験官に言いましょう。

おわりに

私は実務でPythonを使っており、絶対合格したいと思っていたので、無事に合格できて良かったと思います。

【Merpay x M3 x PFN 共催】Machine Learning Night に参加してきました

はじめに

本日2019/12/10(火)に行われた、【Merpay x M3 x PFN 共催】 Machine Learning Night に参加してきました。本勉強会は、Machine Learning Production Pitch*1 番外編です。

machine-learning-pitch.connpass.com

当日の様子は、Twitterハッシュタグ#mlppでもわかります。

LT

田中 龍亮さん (エムスリー株式会社)

資料

私のメモ
各発表に対して「私のメモ」という項目で書きますが、概要ではありません。文字通りメモです。

  • embeddingで情報を密にしてあげてる
  • 希少疾患・希少薬剤とかにグラフラプラシアン効く
  • タグ付の方と、両方が相互で良くなっていく

大垣 慶介さん (エムスリー株式会社)

資料

私のメモ

  • 10月入社で1つ目のプロダクト
  • アンケート分析して終わりじゃもったいない!!!
  • レコメンドとかパーソナライズに使いたい

  • 性格の計画が分かるタイプのアンケート

  • 予測できるというか傾向がつかめる、ログを使ってアンケート結果の予測ができる

www.m3tech.blog

所感
アンケートってみんなが答えてくれるわけではないし、アンケートのデータ取れるユーザだけ使うと「アンケートに答えるようなユーザ」のバイアスがかかってしまうので、確かに予測するのは良さそうだなと思いました!

本編

MerpayにおけるML活用のポイント 竹原 一彰さん @_zak3 (株式会社メルペイ)

資料
12/11時点では公開を確認できていません。

私のメモ

  • MLチーム 、8人
  • 課題発見からモデリング、マイクロサービスの提供まで
  • pjo*2-tl*3-em*4体制
  • Go言語
  • GCP縛り

メルペイ
今3年目、2019年2月にローンチ

  • メルカリスマート払い*5の与信枠は機械学習で決めている
  • AML (Anti-Money Laundering) マネーロンダリング対策
  • 疑わしい取引を検知して人がチェック

  • チームの3年ロードマップ

  • A4 2枚程度でミッション、取り組むべき重要案件

  • ソフトウェアエンジニアとして課題を解く

  • 精度の良いモデルだけでは不十分

  • Data Validation

  • 各マイクロサービスがアグレッシブに変えてしまう。モデル動かせなくて検知

  • 8人しかいないので解くべき課題にフォーカス

  • 相談された時に安易に受けない

  • 1-3ヶ月で1st version

  • 問題に適した技術

  • いきなりディープラーニングとかしない

  • レビュープロセス等いろいろ改善、ルールの追加だけでなくて廃止も

所感
解くべき課題にフォーカスすることを徹底されているのが特に素晴らしいと感じました!

Preferred Networksの顧客向けプロダクト開発 谷脇 大輔さん (株式会社Preferred Networks)

資料

私のメモ

  • 国内最大級のGPU!!

  • 今年からプロダクト開発チームができた!

  • 優れた研究成果を世に広めるために将来のスケーラビリティを考慮したアプリケーション開発を高品質かつ高速に行う

  • 顧客ごとにプロジェクトがある

  • インフラは本番環境は顧客ごと、devは共通だがアプリは分ける
  • プライバシー

  • アプリ、micro service

  • ドメインが同じ場合は、共通ロジックを再利用できる。マイクロサービスはいい
  • 研究者のjupyterのやつを上げるためにpythonの推論サーバ(言語依存内容に

  • 今までは研究で注目されてきたけど、それをどうやって活かしていくかというところを最近頑張っている、アプリケーションエンジニア採用中

preferred.jp

所感
元々研究でかなり成果を出していらっしゃるPFNさんが、研究を実際に活かしていくことにも最近は注力しているとのことなので、今後どんどんビジネスに活かしていかれるかと思うと楽しみです!

sansan紹介(Sansan株式会社 執行役員/CTO)

今月テック系のTwitterをはじめたみたいです! twitter.com

パネルディスカッション

モデレータ:藤倉成太さん(Sansan株式会社 執行役員/CTO) パネラー:谷脇 大輔さん(株式会社Preferred Networks), 西場 正浩さん(エムスリー株式会社) , 竹原 一彰さん(株式会社メルペイ)

Q 事業を形にできている成功している企業だと思うが、どう事業化に結びつけてきたのか?
PFN

  • 研究で成果ができたらどう活かしていこうか?ってなって企業とやる
  • 予算、費用を担保
  • 開発を続ける

メルペイ

  • データプラットフォームは初期初からあった
  • ビジネスのコアを見極めて提案するのはmLエンジニアから
  • お問い合わせは断りつつ、MLエンジニアから提案を徹底

M3

  • そもそもプロダクトからチームスタート
  • 2年半か3年前から。機械学習素人でルールベースとかから頑張った
  • ルールベースで他のとこがやってるのを横展開にするとすんなりいく

メルペイ

  • MLエンジニアは新しい物好きなのでほっとくとR&D的になってるから縛りは強くしている
  • 解釈性

Q PFNさんは事業化の道が見つからないことはあるのか?
PFN

  • ないわけじゃない
  • 共同研究先が大企業だから、大企業のやりたいことを研究するから闇雲にやってるわけではない

Q PFNさんに クライアントさんが先に問題設定してるってことはある?
PFN

  • 結構ある
  • プロダクト開発チームが早い段階で入って、もった方がいい観点をサポート

Q M3は?
M3

  • 今は目の前のできることを一個一個やる

Q どこまでカバーしますか?
M3

  • 障害起きたらMLエンジニアもいく 
  • サクッと作って出してるのでAPI落ちてカバーできなかった時は、何かしらフロントが表示してくれている
  • 晦日に出勤したこともある

メルペイ

  • フロントはしないが、バッチシステム
  • SLO*6を高くしすぎない
  • 夜間バッチをなくす、週次バッチ、など工夫

PFN

  • プロダクト開発チームが発足して早いので、24時間365日対応のプロダクトは今はない
  • AWS上でCICD、アプリ監視も自分たち
  • 運用はミッションではない、研究を世のニーズにマッチしていることを示す

Q コード書くとこまでやりたがるのか?採用とかの時にそこまでやりたくないって人もいるのか?
PFN

  • 研究系は本当に研究でアプリは一切やらないけど一点突破って感じの強い人、
  • プロダクト開発チームは機械学習に強い人はそこまでいない
  • キャッチアップは重要

メルペイ

  • 運の良いことに、モデルだけやりたいみたいな人はいない
  • 得手不得手はあるが、チームのアサインで工夫

  • モデルだけだと厳しい時がある、仕事がなくなってしまう

  • 採用時にマッチングを意識的にやっている
  • 会社ではビジネスコミットしてプライベートでは大学院とか

M3

  • 採用時にプロダクションコードまでやるって言ってて、チャレンジしたいならOK
  • docker作ってインフラにはdockerで渡す

Q ML系の周辺のサービスやツールは助けになってる?
メルペイ

  • 昔ほどネットワーク設定やサーバ構築からしなくていい
  • 専門性は必要だし難しいので補いながら

M3

PFN

  • モデルはリアルタイムに更新するのは今ない
  • AWS SageMaker*8とかは使ってない
  • モデルはS3にアップロードしてロードして使ってる

Q 課題
PFN

  • 解決しつつある課題
  • 推論サーバをどう作るか
  • 研究者がjupyterで描いたやつをプロダクションで使えるように

メルペイ

  • 与信枠、完全MLではない、ビジネスロジックでフィルター
  • うまい融合は難しい
  • 自動化の範囲を広げればいい?

M3

  • 解決すべき課題は正しいのか?

Q これからのチャレンジは?
M3

  • 新しいプロダクトの発見をグローバルにしたい
  • 医療に貢献したい、40兆円くらいを10兆円くらい減らしたい
  • ミッション高く仲間が欲しいかつ腕に自信がある人腕を磨いていきたい人と働きたい

メルペイ

  • 与信続ける
  • お金の流動性が上げていきたい
  • お金を滑らかにしている
  • 欲求を満たすような推薦、検索
  • MLは手段の一つでミッションを実現する人と働きたい

PFN

  • 新しい事業を作っていくフェーズ
  • 周りと協力しながら働く人
  • 専門分野以外のキャッチアップに会社が協力的
  • 特許・論文の勉強会も社内にある

sansan

  • まだ人力も結構ある
  • クラウドワーカーさん数十万人!!!

  • 100%ソフトウェアに可能なら変えたい、まだまだチャレンジの領域はある

  • 機械学習は、今までできなかったことをできるようにする領域

PFN

  • 研究で終わらず事業化していくか考えるのはチャレンジ

おわりに

各社のチームのこと、課題、どういった感じで仕事しているかを知ることができて良かったです。 懇親会も盛り上がって楽しかったです!ありがとうございました。

本イベントの、他の参加者の記事

tenajima.hatenablog.com

yhiss.hatenablog.com

過去に私が参加したMLPPの記事

kabayan55.hatenablog.com

私がエンジニアにオススメする英語ツールまとめ

はじめに

2019年12月6日(金)に、サポーターズCoLab女子会*1にて、今年の推しツールについてLTをしました。 せっかくの機会なので、このLTで紹介したツールと、普段使ってる英語ツールについてこの記事で紹介したいと思います。「エンジニアに」とタイトルに入れましたが、エンジニア以外の方にもオススメなツールも多いと思います。

発表資料

Read Aloud

Read Aloudは、Text-to-Speech(テキストの読み上げ機能)のChrome Extensionです。 同様の機能を持つChrome Extentionはいくつかありますが、いくつか試して一番使いやすかったのでRead Aloudがお気に入りです。 Voice, Speed, Pitch, Volume, Text Highlightingの機能があります。 声が200以上はあるので苦手な声でイライラすることもないですし、スピード調節は重宝しますし、テキストハイライトはどこの部分を読んでいるかがすぐにわかるので便利です。私自身は英語しか使っていませんが、40ヶ国語以上サポートされているようです。

chrome.google.com

Read Aloudを使う場面

長文を読むとき
私の場合、英語の長文を読む時は、普通に上から読んで、わからない単語を調べつつ読むというスタイルです。 読んだ内容を日本語で説明する必要がある場合は、全文翻訳で概要を掴んでから読み始めることもありますが、読んだ内容を英語でシェアする機会の方が多いので、基本的にはそのまま英語で読み始めます。 ただ、日本語の文を読んでいる時と比べて、私の場合は集中力が切れてしまうことが多いので、このツールをたまに使います。 どうしても集中力が続かないときや他の考え事をしてしまう時に、目と耳から同じ情報を入れることによって、意識を文を読むことに集中させています。私としては、目と耳からインプットをした方が、理解が早まるように思います。

語学学習
中学・高校の英語の授業で使用していたテキストは、教科書とCDがセットになったものが多かったように思います。 大学受験の際は、ニュース記事とそれに対応したCDの教材を買って学習していました。似たような教材で語学を勉強した、あるいはしている方も多いのではないかと思います。 このツールがあれば、ネット上の記事全てが語学学習教材に様変わりです! もしツールで間違った発音があって間違えたまま覚えてしまうと問題かとは思うのですが、かなり音声生成技術は高いと思うので、そんなに気にならないかと思います。 また、英語だけでもUS English, British English, Australian Englishがあるので、聞き比べをすることができます!

余談:わたしと音声コンテンツ

読み上げ機能のツールを紹介しているので音声好きなのかなと思われそうだと思ったのですが、音声のみのコンテンツは苦手です。動画は好きです。

どのくらい苦手かというと、2019年に最初から最後まで聞いたPodCastは現時点で以下の3本しかありません。 しがないラジオ*2白金鉱業.FM*3も "Show notes" があって、音声だけのコンテンツが苦手な私のような人にもとっつきやすくなっています。本当にありがたい......!! 白金鉱業.FMの方は、"Episode WordCloud" もあります。

私は利用したことないんですが、Voicy*4 はラジオやPodCastと比べて1つ1つが短いものが多いみたいなので、ちょっと聞いてみたいなーなんて思っています。

Grammarly

Grammarlyはスペルチェックをしてくれるツールです。 私はChrome Extension版を使っています。

chrome.google.com

↑ スペル間違っていますが笑

英語で

  • メールを書くとき
  • ドキュメントを書くとき
  • JIRAチケットを書くとき
  • pull-request にコメントを書くとき

本当に毎日お世話になっています。

どこでも翻訳 Translate Anywhere

こちらもChrome Extensionです。

f:id:kabayan55:20191229223611p:plain:w300

Google翻訳を用いたページダイレクト翻訳もできますし、自分の書いた文を翻訳することもできます。 コピペで一部翻訳もどんとこいです。

codic

codicは、プログラマーのためのネーミング辞書です。変数名や関数名を考えるとき、英語でどの単語を使うべきかを考える必要が出てくると思うのですが、そういった時に便利です。ただ、codicに与える日本語がよくないと良いネーミングはできません。

codic.jp

lyricstraining

lyricstraining.com

これはおまけです。仕事で使うツールではありません。 流行の洋楽の知識を入れて、コミュニケーションを円滑にするのに最適です。 単純に楽しいので、一時期かなり夢中でやっていました。

Mouse Dictionary

qiita.com

KaggleでもMouse Dictionaryを使えるようにする - Qiita

英語辞書ツールのChrome Extensionです。Firefox版もあります。つい最近入れて、まだそんなに使っておらずあまりわからないのですが、評判はかなり良さそうです。 複数単語から成る熟語やイディオムの意味も自動的に表示してくれるところと、camelCaseとかsnake_caseみたいな表現も単語にバラして個々の意味を表示ところが特に良さそうです。

まとめ

私が使っている英語ツールの紹介をしました!どのツールもいろいろと使ってみた上で選んでいるので、ぜひ参考にしてみてください。

「自然言語処理の勉強をしたい人」を対象に登壇した話

はじめに

この記事は、自然言語処理 Advent Calendar 2019 - Qiita の3日目の記事 兼 サポーターズCoLab Advent Calendar 2019 - Adventar 3日目の記事です。

qiita.com

自然言語処理 Advent Calendarは、自然言語処理に関するテーマであれば何でもOKとあったので、このタイトルで記事を書くことにしたのですが、クオリティの高い技術系の記事ばかり出て来そうな雰囲気を感じているので、ちょっとドキドキしながら書きました。

本記事では、自然言語処理を勉強したい人向けに、サポーターズCoLabで講師をした際に得た気づきを共有したいと思います。

アドベントカレンダー2つ兼用と欲張りな感じにしてしまいましたが(実は会社の同期アドベントカレンダーとも兼用)、以下のように考えています。

  • サポーターズCoLab講師の方やサポーターズ講師をしてみたいと考えている方、自然言語処理を勉強する人に対してアドバイスをすることに関心ののある方には、知見をお伝えしたい!
  • 自然言語処理界隈のプロの皆様にはオススメの勉強法があれば教えて欲しい!
  • 自然言語処理を勉強したいと考えている方には、発表資料+私のオススメする理由を読んで欲しい!

軽く自己紹介

サポーターズCoLabとは

supporterzcolab.com

supporterz-seminar.connpass.com

ざっくり一言でいうと、株式会社サポーターズが若手エンジニア向けに勉強会やミートアップを開催しているコミュニティです。

追記(2020/04/07):
サポーターズCoLabは2020/04/16にてサービス終了です。

私が講師をした勉強会

supporterzcolab.com

「はじめてみよう!自然言語処理」という名前の勉強会で、自然言語処理の概要と勉強方法についてお話しいたしました。 講師と書かれていますが、形式としては登壇の方が近いと感じました。

発表資料

発表当時はうさぎのアイコンを使っていました。デフォルメ似顔絵アイコンに変えたのは最近です。

講師をすることになった背景

  • サポーターズCoLabの方に、「講師やってみない?」と聞かれ、特に話したい内容は決めていなかったが「やってみたいです!」と即答した結果、決まった
  • サポーターズCoLabの方に、「機械学習自然言語処理あたりで何か話せればと考えています〜」と話した結果、「自然言語処理の勉強法とか需要ありそう」とアドバイスをいただいたので、そのままその案を採用

初心者向け勉強会は、機械学習やデータ分析がテーマのものは見聞きしますが、自然言語処理のものはあまり見聞きしない上に単発のものが多い印象です。私が知らないだけである可能性は大いにあるので、ご存じの方はぜひ教えて下さい!

こういった勉強会の需要はあるのか

講師をする前
私「正直な話、自然言語処理の勉強法は、小町先生のページに全てまとまっているし、私に話せることなんて存在するのか?」

cl.sd.tmu.ac.jp

cl.sd.tmu.ac.jp

自然言語処理を勉強した方々、あるいはこれからしようと考えている方々はおそらく一度とは言わず何度も見たことのあるページかと思います。 学び方が多くあって人それぞれである分野は多いと思うのですが、自然言語処理においてはそんなに人によって勉強法に差が無いのかなと感じました。

講師をした後

  • 「検索すれば出てくるような内容しか無かった」という意見と「検索しただけではよくわからなかったので参考になった」という意見があった
  • そもそもこの勉強会の対象者は「検索したけどよくわからない」という人向けのつもりだった
  • 各勉強教材の感想を生で聞きたいという需要はありそうだったので、こういった勉強会の需要はあると感じた

どんな人が勉強会に参加していたか

非エンジニアから自然言語処理エンジニアに、といった方には私の記憶が正しければお会いしませんでした。

本当にこの勉強法が初学者にとっていいのか?

基本的には、私が実際に勉強する際に使用していた教材を紹介しています。登壇の直前に読んで良いと思って紹介したものもあります。自分が使用していないものは紹介することができないので、それは当然かもしれません。「この書籍良いらしいよ」と語っても、自分の言葉では無いので刺さりません。

私自身のスライドではDeep Learningの話はしていないのですが、『ゼロから作るDeep Learning ❷ ―自然言語処理編』をオススメしている方もお見かけしたことがあります。『ゼロから作るDeep Learning ❷ ―自然言語処理編』は、『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』を読んだ上で読んだ方がいいと思うので、初学者にオススメして自然言語処理編までたどり着かない場合もありそうだなと思い、スライドでは取り上げませんでした。 取り上げなかった一番の理由は、私自身が読み込めていないからです。

私のスライドは、勉強例のうちの1つくらいに思っていただければと思います。新しい書籍もどんどん出ていますし、私がまだ読めていない書籍もたくさんありますので、正直紹介できてないものも多いです。

オススメした教材と、紹介した背景

言語処理100本ノック

www.cl.ecei.tohoku.ac.jp

学生時代にPython 2.7でやったので、Python 3でコードも綺麗に書くようにしてやり直したいとずっと思いつつ、まだできていません。 自然言語処理に関する基本的な実装がカバーされていて無駄がないこと、他の人のコードと比較できること、取り掛かりやすいこと、がオススメ理由です。

追記(2020/04/07):
言語処理100本ノック 2020が最新です。 nlp100.github.io

NLP プログラミングチュートリアル

www.phontron.com 3周しました。 研究室のゼミで教わる側として1回、教える側として1回行いました。 社会人になってから、会社の同期勉強会で自然言語処理を勉強したいとの声があったので、本教材を選んで輪講を行いました。 参加者は、エンジニアあるいはCS専攻出身のPDMだったので、擬似コードがあったり演習が付いていたりする本教材は良かったように思います。 プログラミングから理解するタイプの人にはオススメですが、数式から理解する方が好きな人には他の教材の方が良かったかもとは思いました。

長岡技術科学大学 自然言語処理研究室

www.youtube.com

あまりこのチャンネルの話を他の人としたことがないのですが、チャンネル登録者数が1,000人以上いるので、結構人気のあるチャンネルだと感じています。初学者はなかなかこのチャンネルにたどり着けそうだなと思って紹介しました。文献紹介の動画がたくさん上がっていて、素晴らしいチャンネルだと思っています。初学者向きなのは「3年勉強会」だと思ってスライドにはそう書いています。

追記(2020/04/07):
2020年3月に研究室閉鎖とのことなので、おそらく今後の更新はないと思われます。チャンネル自体は残っており、動画の閲覧は可能です。

『言語処理のための機械学習入門』

books.rakuten.co.jp

口頭で紹介しました。研究室ゼミで3周しました。勉強しやすい良書ですが、数式に苦手意識があるとキツいかもと判断した上でスライドには載せていませんでした。

Kaggle

www.kaggle.com

Kaggle は、機械学習コンペティションのプラットフォームです。 Kaggleについては、以下のスライド資料の説明がわかりやすいと思います。

Kaggleは教材としてオススメしたというよりは、勉強を始めてどんどん実装して見たいとなった時に、挑戦する場としては良いと思うという話をしました。ほぼ口頭で話してしまったので、もう少しKaggle自体の説明やどうやって取り組めば良さそうかといったこともスライドに含めた方が良かったかもしれません。私はテーブルコンペにしかsubmitしたことがないNovice*1なので、これは私の経験に基づく提案ではありません。
発表数日前にちょうど目にした以下の転職エントリに感動して、どうしてもKaggleの話を入れたくなって入れました。

kaeru-nantoka.hatenablog.com

今の私から当時の私へ一言「この転職エントリ記事自体を紹介すべきだったと思う」

機械学習エンジニアになりたい人のための本』

books.rakuten.co.jp

実はこの登壇の前に読んだ本です。勉強教材ではなくて、タイトル通りどうやったら機械学習エンジニアになれるかという内容です。

おわりに

登壇した上で一番実感したことは、体験をともなわないアドバイスはできないということです。 また、勉強法はベースは変わらないにしろ、新しい本が出るのでどんどん読んでいかないと、比較した上でアドバイスをするのは難しいと感じました。 登壇駆動で何冊か新たに本を読んだので、良い機会になったと思います。 個人的には、今度はハンズオンをしてみたいなと思っています。まずはネタを考えるところからですけどね!

*1:Kaggleにはランクが5つあり、上からGrand Master, Master, Expert, Contributor, Noviceです。Competitions, Datasets, Kernels, Discussionそれぞれにおいてランクがつきます。

推し本『現場の「ズレ」を解消するコミュニケーションメソッド』と出会ってからの私

はじめに

この記事は「【推し祭り】技術書典で出会った良書 Advent Calendar 2019 」 の2日目の記事です。 タイトルの通り、『現場の「ズレ」を解消するコミュニケーションメソッド』について書きます。

adventar.org

今年購入した技術同人誌

技術書典は6と7、両方行きました!
以下に今年購入した技術同人誌全てを載せます。 買った技術書は全て読んだので、積ん読無しです!!
推しの1冊を選ぶのは結構迷いました。読みなおした回数の多さで決めました。

技術書典6

技術書典7

BOOTHで購入した技術同人誌

『現場の「ズレ」を解消するコミュニケーションメソッド』はどういう本?

この本は、マネージャー(部長など)とメンバーとの現場に焦点をあて、メンバー側とどういった「ズレ」が発生しているかの原因と、「どういったアプローチがあるか」を書いた本となります。
(『現場の「ズレ」を解消するコミュニケーションメソッド』はじめに より引用)

構成は、現場あるある(困りごと)、原因観点リスト(どう解決するか)、メンバーへのチェックリスト、原因観点リスト説明、失敗しがちな判断、コラム、もっと深めたい方への紹介、となっています。

BOOTHで買うことができます。

Twitterハッシュタグ#ズレコミュ で他の人の感想も見れます。

本書との出会い

技術書典6で見かけて購入しました。この日は、元々は業務(機械学習)に関係ある本のみ買う予定だったのですが、タイトルを見て、当時の自分にとって必要だと感じたので購入しました。ちょうどプロジェクトもチームも新しくなり、良いチームにしていきたいという意思を強く持っていた時期でした。 即買いしたかというとそうでもなくて、表紙に「マネージャーのための」とあったので、私マネージャーじゃないしな......と少し迷いました。見本誌を手にとって、対象読者の項目に、「マネージャー、部長のみなさんをメインターゲットとしていますが、メンバー側からなぜすれ違うのかを見ていただく上でも参考になるのではないかと考えます。」とあったので、購入を決意しました。実際、メンバー側から見ても役立つ本だと今思っているので、購入を決めた当時の私に拍手を送りたいです。

本書を1回目に読んだ時の感想

実際に本書を読んで、仕事にどう活かせたか

1回目に読んだ時期の私自身の状況

  • 私はマネジメントをする側ではない
  • 新しいプロジェクト、新しいチーム、新しいチームのリーダーと 1 on 1 ミーティング開始
  • 1 on 1 ミーティング の議題を出すのは基本的にメンバー側だと思うが、何の話をしていいのか悩む
  • 自分のスキルアップのために 1 on 1 ミーティング を有効活用したいという意思はある
  • チーム内に「ズレ」があることは認識しているが、何をどう改善していくべきかはわからない状況
  • 報連相は完璧にこなしていると思っていたが、実はできていないかもと気づき始めた時期

メンバーとしての本書の使い方(私の場合)

  1. 自分が置かれている状況に近い「現場あるある」を探す
  2. 「原因観点リスト」を確認
  3. 「メンバーへのチェックポイント」にある質問に自分で答えてみる
  4. 必要であれば、回答にあたる部分をマネージャーに伝える

1 on 1 ミーティングでやったこと

1 on 1 ミーティングは自分自身のスキルアップの機会にしたいと考えて様々なトピックの話をしますが、本書に関係する部分はチームワークのスキルだと思っています。 「ズレ」を解消するために、自分の現状を伝えた上でフィードバックをもらい、不定期に 1 on 1 ミーティング中に同じ話題を出して改善しているかをトラッキングしてもらいました。

例)

  • 初回の1 on 1 ミーティングで、自分が相談と質問が苦手かもしれないと伝えた
  • 「相談フォーマット」にそってやってみようと考えているという話をした
  • 相談/質問すべき時にできていなかったり、相談/質問の仕方が下手だったりする場合には、率直なフィードバックをしてほしいとお願いした

日々心がけたこと

  • 本書p.17にある相談フォーマットを仕事用ノートの1ページ目に書いて、それに沿って説明できるようにしてから相談するようになった
  • 相談や質問の回数を増やすように心がけた

約半年でどうなったか

  • タスクの手戻りが以前より減った

おわりに

私自身は、良いチームを作るのは、マネージャーの努力ももちろんあるとは思うのですが、チームメンバー全員の気持ちも大切だと思っています。本書の「メンバーへのチェックポイント」がたくさんあるのを見て、マネージャーに逐一質問させるのではなく、聞かれる前にメンバー側から伝えることで、マネージャーの負担を減らせるのではないかと考えて、この半年行動してきました。マネージャーかメンバーか関係なく、良いチームを作りたいと考える人たちが、一人でも多く『現場の「ズレ」を解消するコミュニケーションメソッド』を手にとって良いチームが増えたら良いなと思って本書を推させていただきました。ぜひ読んでください!