投稿

Pythonで遊ぼう!英字新聞の難解度検証

僕がMBA受験をしていた当時から、英字新聞は英文読解力向上によい、という言説があった。当時、自分も仕事の関係でかなりの英文を読んでいたので、大量に英文を読むというのが英語力向上に寄与する感覚は確かにあったのだが、英字新聞に関しては難しいものも多く、教材として考えるのに適切なのかは多少疑問があった。 疑問ならば分析すればいいじゃない、という声が聞こえてきたので、Pythonで遊びがてら、分析してみることにする。尚、統計的に全く有意でない、所謂Spot Check的な分析なので、参考程度にお考え願いたい。また、Codeも書き散らし気味なので、有識者の皆様におかれては是非コメント欄でご指摘願いたい。 さて、まずは準備である。大きくくくって、必要なFunctionalityは二つ。一つはニュース記事をデータとして一括して収集できること、そして、もう一つはそのニュース記事の難易度を言語学的に判断することである。前者について、僕はスクレイピングは余り経験がないのでどうしようか少し調べたところ、newspaper、というドンピシャなパッケージがPythonであることを発見した(詳細のリンクは こちら )。詳細についての検証はしていないが、いくつかためしに動かしてみて、手作業との違いを確認したところ、かなりいい感じに動いているので、こちらを使うことにする。後者については、textstatというProjectがあり、これまたこういう分析をしようとした場合に定番のようであるので、これを採用する(詳細へのリンクは こちら )。Pythonが素晴らしい点の一つは、言語の使用者が多いため、こういったパッケージが大量に用意されていることにある。 さて、用意ができたらとりあえずCodeを書き始める。パッケージのおかげで特にデザインをする必要すらないので、パッケージのインポート -> ニュース記事の分析 -> アウトプットをCSVで作成、という手順だけざくっと決めて書き始める。尚、実装はJupyter Notebookでやった。 まずパッケージのインストールが必要だ。newspaperとtextstatはないようだったので、pipを使ってインストールした。 pip install newspaper pip install textstat では早速使うものについてインポートしていこう...

MBAの受験のちょっとしたコツの話

僕は今までの人生で受験というものに苦労したことがない。自慢ではないと書くと厭味ったらしいので、ここで宣言しておこう、自慢である。中学受験も大学受験も、模試は何を受けてもずっとA判定で、僕も周りも受かるだろうと思っていた通り、志望校に受かった。MBAの受験も、三か月弱くらいでスコアが出て、あとは仕事の空き時間にせっせとエッセイを書き、結果として第一志望の学校に受かった。かなり楽に受験を終えた方だと思う。最終的なスコアは、GMAT 730でTOEFL 111だったので、当時としてはかなり高得点だったはずだ。因みに、予備校もカウンセラーも僕は使っていない。従って、かかった費用は受験料と参考書代くらいである。 勉強にはコツがある。おそらく中学受験や大学受験を潜り抜けてきた人であれば、無意識のうちに体得しているようなものである。僕はMBA受験を始める時に、これらの経験を棚卸しした上で攻略のための作戦をたてた。詰まるところ、勉強や受験というのは、現在地の把握 -> 弱点の分析 -> 弱点の克服 -> 現在地の把握(以下、延々と続く)、というプロセスを回すことである。予備校に通う最大のメリットは、この弱点の分析及び弱点の克服、という点においてプロの意見を聞けることだと僕は思う。従って、現在通っている予備校が、貴方の弱点分野に効果的な対策を示すことができないのであれば、それはお金をどぶに捨てているのと同じだ。 以下、これから受験を始められる方のために、参考程度に私が立てた作戦をシェアしてみたいと思う。尚、私が受験したのは遠い昔なので、問題の傾向等が変わっているであろうことを踏まえ、テクニック等の詳細には立ち入らない。 0. スコアの目標をたてる 当たり前だが目標なき作戦は当然失敗する。従って目標を立てることが必要である。US MBAトップ校であれば、TOEFL 110点 + GMAT 730点、というのが一つの目標になるだろう。今のトレンドは分からないが、僕が在校生と接点のあったころの経験からすると、スコアが足を引っ張らない最低ラインはTOEFL 105点 + GMAT 700点くらいかなと思う。これを下回ってくると、それを覆せるだけの職務経験や社費という葵の御紋が必要になってくるだろう。 1. なるべくアメリカの参考書やサイトを参考にする(特にGMAT) 日本人...

何故アメリカの就職活動に挑戦したのかという話

日本人同級生が、やれボスキャリでいくつ内定を取ったという景気の良い話をしている中、僕は沈黙を守っていた。夏は某外資系企業の東京オフィスで働く予定だという同級生のヒロに、同じく昨年東京でインターンした先輩が、六本木のナイトスポットについて熱弁を揮っている。同じMBAに在籍する日本人の会合で行った中華料理屋で、浮かれた話には耳を貸さず、僕は真摯にジャージャー麺と向き合っていた。驚くべきことに、それは僕が日本で食べていたジャージャー麺とは全く別物であった。一緒に頼んだチンタオビールがみるみる減っていく。僕がビールのお替りを頼もうと思っていると、一学年上のジュンが隣に座った。先輩とは言え、同じ年で横顔の綺麗な彼女は、人生の大部分をイギリスとアメリカで過ごした帰国子女であり、夏のインターンをしたアメリカの大企業に卒業後も進むことを決めているらしい。 「ここのジャージャー麺美味しいよね」 そういいながら彼女はジャージャー麺を目の前のだれも使っていない小皿に取り分けた。 「美味しい。日本で食べているものとは全く違くない?」 僕がそういうと彼女はにこっと笑った。 「日本の中華は日本人向けにアレンジされているものが多いんじゃない?私は日本の料理がやっぱり世界で一番美味しいと思うな」 そういって彼女はジャージャー麺を上品に食べた。僕は小さく頷く。彼女は小学校から高校までイギリスで過ごし、その後アメリカの大学に進学。卒業後、日本で就職し、MBAを取りにまたアメリカに戻ってきたそうだ。 「ビール飲む?」 ジュンは麺を口に運びながら小さく頷く。僕は丁度こちらに向かってきたサーバーにビールを二つ頼んだ。 「夏のインターン、アメリカでやる予定なんだっけ?」 「まだ決めていないけどね。日本でやらない方向では考えている。シンガポールとか、アジア圏にも興味があるから」 当時、僕は オードリー のおかげでアメリカ就職に本腰を入れ始めてからしばらくたっていた。スケールの大きな話に圧倒され、最先端のイノベーションを追求しつつ、プライベートと仕事のバランスを重視する米国テクノロジー企業へのあこがれは日に日に募っていった。しかしながら、コーヒーチャットやネットワーキングイベントに積極的に参加をするも、全く存在感が示せず、薄ら笑いを浮かべながら相手の話に相槌をうち、撤退を余儀なくされることも多かった。打ちひしがれ...

実際にどうやってSQLとPythonを勉強するかという話

(本稿はMBAに来ていてかつプログラミングの経験がない方を想定している。SQL黒魔術やベイジアンモデリングなどを日々使っている方は生暖かく見守って頂きたい) 何かを学ぶにあたっては、大きく分けて二つの作業が要求される。インプットとアウトプットである。インプットとは知識を学ぶことであり、アウトプットとは知識を使うことだ。インプットした知識をアウトプットし、自分がきちんと理解しているか、また、次に学習すべき課題を見つける、というサイクルを回していくのが、究極的には勉強する、ということだと僕は思っている(GMATやTOEFLでも同じで、延々とインプットばかりしてはだめで、定期的に自分の現在地や、弱み・強みを把握できるような模試やPrepを受ける必要がある)。SQLやPythonに限らず、コンピュータ言語を学ぶ際も、このインプットとアウトプットのバランスが極めて重要になる。コンピュータ言語の勉強においてやっかいなのは、インプット -> アウトプットという学習のループを回す際に、環境依存、というとても大きな変数があることだ。 コンピュータ言語、というのは、日々日々アップデートされ、移り変わっていくものだ。その動機は、コードを走らせた際の効率性であったり、セキュリティに関する脆弱性であったりするが、鴨長明が現代にいたら、世の中にある"人"と"住処"に、間違いなくコンピュータ言語を加えていたであろうくらい、久しくとどまりたるためしがない。従って、自分が書籍などをベースに学んだものが、実際の実務で使えるか、という点には極めて大きな注意を払う必要がある。実際、Pythonが出しているリリースのスケジュールを見ると、とてもアクティブに開発がなされていることがわかる。 https://www.python.org/doc/versions/ といっても、初めてコンピュータ言語を学ぶ諸子にとって、Python 3 対 Python 2 (これはもう決着がついているとは思うが)やOracle SQL 対 PostgreSQLといった論争に入ることにあまり意味はない。結局のところ、これらの環境変数は入社した先の会社のPolicyに大きく依存することになるし、会社毎に極めてローカルなルールを設定しているところだってたくさんある。気にかけておくべきなの...

データ分析とは何かという話

前回の記事では、データ分析をする際にSQLとPythonが如何に扱いやすくかつ有効なスキルか、ということを書いた。より具体的にSQLとPythonの要求水準や学び方に移る前に、私見ではあるが、データ分析とは、という点について述べてみたい。今回はとても短い投稿になるが、少しでもイメージがわけば幸いである。 僕の個人的な経験上、データを分析する、というのはだいたい三つくらいのパターンに分けられる。(1) 仮説検証、(2) 将来予測、そして(3) KPI管理(予実管理)、である。(3)については、(1)の仮説を元に求められた(2)に対して、実際の業績をトラックする、という形になることが多い(というよりそうでないとまずい)。また、今までは(2)の将来予想についてもそれこそエクセルに手入力でドライバーを設定していくことが多かったと思うのだが、これはMachine Learning / Deep LearningなどのよりObjectiveなものに置き換わっていくだろう。人類のトップ1~5%の人が手入力で作った将来予想モデルは、ML/DLで作ったものより優れたパフォーマンスを示すかもしれないが、多くの場合においてML/DLは手作業を凌駕するはずである(僕はML/DL関係の仕事が多いため、多少Biasがかかっているかもしれないが、僕は最早自分の知識をベースにした将来予測の係数は信用できない)。データ分析の肝は(1)の仮説検証、というところに尽きる、というのが私の意見である。 では、仮説検証とは何か。読んで字のごとく、仮説を検証することである。賢明な諸子はお気づきとは思われるが、先ずは仮説を立てる必要がある(個人的に、MBAなどで学ぶフレームワークは、カオスのようなデータを筋道をたてて整理し、仮説を立案するためのものだと思う)。仮説の立案・フレームワークについては、諸先輩方が有難い本を出してくださっているので、そちらに譲るとし、データ分析というとても実務的な観点から、どのような点に注目して仮説立案をするべきか、という点について考えてみたい。 僕が注目することをお勧めするのは、データの外れ値である。外れ値というのは、例えば正規分布を前提にした時に、裾野にあるようなデータポイントだ。そういったセグメントの行動をインタビューなどと組み合わせて分析することで、ビジネスアイデアが生まれてきた...

アメリカ就職で大事なデータ分析スキルの話(その1)

データ分析力、というのは帰国子女などでなく、英語が厳しい日本人留学生にとって、アメリカでの就職戦線で戦うための大きな武器になる(注: 2020年現在)。実際に自分が採用を担当するときも、ポジションがジュニアであればあるほど、こういったデータ分析のためのスキルセットを持っているか、というのが重要になってくる。ネイティブスピーカーのよう会議を上手にしきったり、格式の高い文章を書いたり、ということが難しい日本人留学生にとって、データが扱える、というのは大きな武器になるはずだ。 どの程度のスキルがあればよいのか、という質問をたまに受けるのだが、答えは、"凄ければ凄いに越したことはない"、という当たり前のものになってしまう。航空会社から、同じ値段でどこにでも座ってよい、と言われて、エコノミーを選ぶ人はいないだろう(中にはそういった奇特な諸子もいるかもしれないが、私は大手を振ってファーストクラスにどかっと座るタイプである)。従って、正しい問いは、"書類選考を突破するにあたってレジュメに書いておくべきスキルは何か"、"インタビューを突破するにあたって、最低どれくらいのスキル・実務経験が必要か"、という極めて具体的なものである必要がある。これからこのトピックについて数回に分けて掘り下げたい(気合が続けば)と思うのだが、本稿では一回目として、僕の独断と偏見に拠る、そもそもこのデータ分析スキルとは何ぞや、というところからスタートしたい。以下、少し長くなるので結論からのべると、今からスタートする人はとりあえずSQLとPythonをやるべきだ。 まずデータを分析するにはデータを引っ張ってこなければならない。コンサルや投資銀行出身の諸子におかれては、Due Diligenceの時に出てくるビジネスプランにくっついてくる、整理されていない元データを思いだしてみよう(トラウマがよみがえらないことを祈る)。僕も昔、データルームに上がっていた解読不能なデータ(おそらくPOSデータ)をみてため息をもらし、ストレスのあまりファミチキを爆食いした記憶がある。データの出し直しをお願いしたことがある人も多いはずだ。ここでのよいニュースは、自分でデータをデータベースから引っ張ってくることにより、(1) 何度も他の人にお願いしてデータを出...

アメリカの夏のインターンがイマイチだった話

いつもより少し早起きをして、コーヒーを淹れながら窓の外を見る。日に日に緑が濃くなっているのがわかる。朝食を終え、丁寧に歯磨きをした後、僕は久しぶりに少し伸びた髭を剃り、髪を整え(といっても整えるほどでもないくらい短いのだが)、日本から持ってきたチノパンを取り出し、綺麗にアイロンをかけたシャツを着て出かけた。夏の気配を近くに感じられる気持ちのよい朝だった。インターンの初日としては申し分のないスタートだ。インターンのオファーが出てからは、CPTの承認をとったり、Social Security Numberを申し込んだり(これがないと働けないのだがJob Offerがないと申請すらできないのだ)、授業の最終プロジェクトや試験に追われて、あっという間に一年目が終わってしまった。MBA留学まで一切海外で生活した経験のなかった僕としては、アメリカで働く、という事実自体にとても興奮していたし、とても高い期待を持っていた。 オフィスに入ると大きな部屋に誘導された。そこには、ここからしばらくの間、同僚として過ごすインターンのMBA Candidate達が座っていた。どこに座ろうか一瞬悩んだが、人のよさそうな顔をした若い男を見つけ、彼の隣の席を陣取ることにした。彼はジョンという名前で、MBBのうちの一社で3年ほど働いた後MBAに進学したそうで、そして母親が日本人だった。彼の母親は幼少期をアメリカで過ごしたため英語に全く不自由がなく、家族内の会話は全て英語であり、従ってジョンは殆ど日本語が話せないそうだ。同級生に日本人が結構いるから日本語を少しは勉強しておけばよかったよ、と彼は笑いながら話した。学部時代はコンピューターサイエンスを専攻しており、夏のインターンではなんだか小難しそうなモデルを作るチームに在籍するそうだ。ブラックボックスになっちゃうんだよね、と彼ははにかんだ。このモデルはDeep Learningを利用したテクノロジーだったのだが、それに僕が気づくのはMBAを卒業してだいぶ経ってからのことだ。 歳とバックグラウンドが近く、そして日本人という遺伝的な共通項のある僕たちは直ぐに意気投合した。インターン先の会社のMBA採用担当者によるプレゼンテーションを聞きながら、ジョンは小さな声で、Boring、と呟いた。僕は、One hundred percent、と言った。授業の最終...