最終更新日:
【NLP講座体験記前半】自然言語処理の知識がない私が、2日で前処理から機械学習までの流れを掴むまで
こんにちは、スキルアップAIの五十嵐です。AIブームが始まって以降、日々様々なAI技術に関するニュースが報道されていますが、なかでも急速に注目され始めているのが「自然言語処理」に関するものです!
近年、時系列解析にtransformerが利用され始めてから、一気に自然言語処理に関するニュースが増えました。特に、AIの書いたフェイク記事が人気記事ランキング1位になってしまったニュースなどは衝撃的でした。
そこで、本ブログでは、これから伸びてくるであろう分野、自然言語処理について実践的に学べる「現場で使える自然言語処理 実践講座」(以下NLP講座)の受講レポートを前半、後半の2回にわたってお伝えしたいと思います!
自然言語処理の初学者の方に向けて、「自然言語処理(NLP)とは」で概要や仕組み、できることなどを解説してるので、こちらもぜひ参考にしてください。
1.講座受講の経緯
現在、私は大学院で医療画像に関する機械学習を用いた応用研究を行っています。主に画像データを研究で扱っております。医療データには様々なデータがあり、その1つが電子カルテなどに記録された診断データです。電子カルテに記載されている情報を活用することによって、従来の診断精度の向上や、新たな診断への応用など、様々な恩恵が受けられます。
また、自然言語は最も身近に存在するデータの1つであり、応用範囲も広いため、この講座を受講して実際の処理方法を学ぼうと決意しました。
参考までに、簡単に私の受講前の知識をまとめます。
Python:機械学習のためのPython講座を受講済、日々利用している
機械学習:機械学習講座受講済み
深層学習:ディープラーニング講座受講済み (画像中心だが、研究でも利用)
自然言語処理:経験なし
NLP講座は1回につき4時間の講座で、ディープラーニング講座と同じ長さです。全4回ですので、全講座通算で16時間講義を聞くことになります。
講座1・2回目に前処理と基本的なモデルの構築を行い機械学習による自然言語処理を学び、講座3・4回目で深層学習による自然言語処理を学ぶような構成になっています。
ディープラーニング講座では自然言語処理には少ししか触れられていませんでしたので、これだけ時間をかけて自然言語処理に触れることができるというのは非常に楽しみでした!
2.Dockerで簡単に環境構築ができるという驚き
初心者にとって、1番大変なのは環境構築です。画像処理を行う際にも、面倒な環境構築を何度も経験しました。ましてや、今回は何も知識の無い自然言語処理で、環境構築に時間を多く割かねばならないのではないかと心配していたのですが、驚くほど簡単に環境構築ができました!
簡単に環境構築ができたのは、Dockerのおかげでした。Dockerはコンテナと呼ばれる技術で、Dockerさえインストールすれば、講師が構築した環境と同じ環境を簡単に再現できてしまいます。
これは、実際の環境構築の様子です。これだけのコマンドで環境構築できるので環境構築に全く時間を取られることはありませんでした。
もちろん、どうやって環境構築を行ったのかについても、Dockerのコマンドを紐解いていけば分かるようになっています。環境構築に手間取らずに、すぐに勉強を始めることができるのは非常にありがたかったです。
3.GPUを使った大規模演算が、誰でも可能
講座では、学習などに際してGPUを用いた計算を行います。私が普段使用しているデスクトップPCにはGPUがついているものの、講座のために持参したラップトップにはGPUがついていません。受講を検討されている方の多くは、PCにGPUがついていないという方も多いのではないでしょうか?
しかし、この講座ではGPUを用いた計算は全てGCP(Google Cloud Platform)を用いるため、GPUがついたPCを持っていない、という方でも安心して講座に参加できるようになっていました!(※編集部注:GCPの利用は、別途GCPの利用料金が発生する場合がございます)
4.知っていてもできない・・・。理論と実践のギャップを実感
NLP講座の受講を通して、とにかく「実際に自分で動かしてみる」ことの重要さに気付きました。
この講座では実際に現場で使われているライブラリを用いて、基本的な前処理(DAY1)や、機械学習モデルを用いた文章の分類(DAY2)を行います。毎講座課題が設定されているのですが、どの課題も講座内容の確認のような課題だったので、私はこの課題が簡単にできるだろうとタカを括っていました・・・。
しかし、実際にはなかなか課題の精度が向上せず、自分で様々な試行錯誤をする必要がありました。このように知識を実戦に生かすことの難しさを実感できたのは、非常に良い体験でした。
特に、形態要素解析のアルゴリズムは、実際に分類などを行ってみて初めてその奥深さを理解できます。課題とそのフィードバックは講座内容と深くリンクしており、課題にチャレンジしていくと自然と実戦に近い経験を得られるような内容になっています。
ディープラーニング基礎講座が主にnumpyを用いて各手法を実装していく「仕組みを理解するための講座」だったのに対して、NLP講座は「具体的な使用方法を理解するための講座」と言えるでしょう。
5.プロからフィードバックが得られる実践的グループワーク
また、通し課題やグループワークでは、実際にNLPを業務などで利用しているプロの講師からのフィードバックを得ることができます。
加えて、他の受講者の方々の精度を向上させるためのアプローチや、それに対するフィードバックも聞けるので、1人で学習する何倍もの効率で勉強できました。(※編集部注:現在はオンライン講座のみの提供となっておりますので、他の受講者の発言やそれに対するフィードバックは含まれません。)
(↑講座中の走り書きを清書。講座で用いている現状の構成と実際に講師が利用している構成を比較して開設)
6.まとめ
まとめると、前半2回の講座で、自然言語処理の知識が無い状態の私が、前処理から機械学習までの大まかな流れを掴むことができました。配布されるノートブックや取り組んだ課題から、とにかく「動かしてみて慣れる」ことが重視されている講座であると実感しました。
後半からはついに深層学習のモデルを動かす段階に入りますので、次回からはより一層気合を入れて講座に取り組みたいと思います!
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: