仕事を辞めたニートがAI人材になるまで(3)

昨日のnoteの更新を忘れてしまいましたが、今日は更新していきます。今は仕事をしていない代わりにPython、機械学習、AI技術の勉強に没頭しながら、それを毎日記録することで頭の整理や復習にも役立てられたらいいなと思います。

今日は成人の日で祝日だったので、午前は同居している父とお買い物にいきました。

父は健康オタクで、発酵食品を常に家にストックしており今日はザワークラウトを買うために少し遠いところにある大型ショッピングモールに行きました。

同居の私はというと、父があれこれ提案する健康メニューに反発して自分だけ健康に悪いものも食べています。中高生の頃に全く反抗期がなかった反動で、大人になってからささやかに反抗をしています。笑

さて、ここからは今日の勉強について書いていきます。

今日(と昨日)勉強したこと

毎度ですが、私はキカガクさんとDataCampのコースを同時並行に行っているのでそれぞれ別に記載していきます。

昨日は更新できなかったので、昨日の分も書いていきます。

キカガク

昨日〜今日は「自然言語処理基礎」の授業とテストを完了しました。

自然言語処理には以前からすごく興味があり、今日も偶然ラムダ技術部さんの自然言語処理に関するYouTube動画を見ていました。

以下にリンクを貼っておきます。面白くて何度か声を出して笑いました。

授業では、MeCabというツールを使って文章に形態素解析の処理を加えて(スペースで区切られた単語のリストに変換)、名詞を抽出した後にsklearnのCountVectorizerでベクトル化する処理を行いました。

自然言語処理の基礎をこなしていく中で、名詞抽出を行う際に関数を作る部分で少し躓いてしまいました。

mecab.parse()に文章を与えた後にsplit() メソッドで「\n」を抜いたりする作業を関数に渡すだけだったのですが、出来上がった関数に3つの文章を引数として与えたら、そのうち2つは縦長のリストを生成していました。

何かコードを間違えたかなと思い、少しずつ改変したり調べ物をしたりして唸っていました。

当初は「なんで同じ関数から次元の違うアウトプットが出るんだ?」と、悩んでいたのですが最後は.reshape()で揃えてみようとしたところ、そもそも得られたアウトプットは一次元のリストでなので縦長表記でも関係なかったことに気がつきました。

DataCamp

  • Introduction to Numpy 

  • Data Science Toolbox (part 1) 

昨日やったNumpyのコースでは、今までも触ってきたNumpyについてより詳しく学ぶことができました。特にvectorize関数でPythonに元々装備されている関数などをnp.arrayにブロードキャストして適用できることに驚きました。

また、今調べてみたらvextorize関数適用後でも元の関数のdocstringが保存されているみたいです。

Toolboxのコースでは関数の作り方やエラーメッセージの設定について学びました。

基本的な「def~~」というような関数は以前から何度も作っているので特に難しくはありませんでしたが、多数の引数を取れる関数や、柔軟な数の引数を取れる関数、キーとアイテムのセットを引数として取れる関数の作り方を新しく学びました。

また、エラーメッセージについては「try」と「except」や「if … raise」というという新しい表記を習得しました。

今まで、ユーザー側がこちらの想定外の値の引数を渡してきた時のための処理を行うことの大切さについて考えたことがありませんでした。

確かに関数を使ってみて、エラーが出てきたらユーザーとしては「なんで思うようにいかないんだろう」という感じでしょう。

そこで、if構文とraise構文を使って関数に与えられた引数を正しく渡してくださいというメッセージを表示させたり、try構文を用いて正しい型のデータが引数として与えられた時だけ関数を適用させたりするとユーザーにとっても使いやすい関数になるんだな、と感じました。

おわりに

昨日今日で行った勉強は以上です。

実は私はお酒が大好きで、同じく酒好きの父と毎日欠かさず晩酌しながらアニメを見る習慣があります。ちなみに、父のお気に入りはチェーンソーマンとワールドトリガーです。私もチェーンソーマンは面白くてすごく気に入ったのですが、酔っ払った父がネタバラシをちょいちょいしてきてうざいのです。

(好きなアニメからもわかるかもしれないのですが父娘揃ってジャンプっ子で毎週欠かさず読んでいます。今日もファミリーマートにジャンプを買いに行ったのですが沖縄は月曜の夜中に入荷するかしないで、今日は買えませんでした。)

しかし、無職で勉強をしながら未経験からデータサイエンティストとしての就職を目指すならお酒もゆくゆくは完全にやめて夜も勉強に回した方が良いのではないかとという懸念が出てきました。

やめたくはないけど、仕方がない気がします。

ひとまず、明日も元気にガリ勉します。


いいなと思ったら応援しよう!