見出し画像

書籍「BERT入門」で"改めて学ぶ"自然言語処理

#PR

そもそも「BERT」とは?

2022年8月においてもAIは進化を続けており、SNSではAIが特定の単語や文章によって、それらしい絵を描く技術が話題になっている。そのような状況で今回紹介する「BERT」は2018年に発表されており、既に後継となる技術も登場する中で「古い」と感じる方もいるだろう。しかし、現在の技術はBERTを基礎としており、BERTを学ぶことで現在の自然言語処理を理解することもできる。その点が改めて今の時代にBERTを学ぶ意義があると言えるだろう。

対象読者と前提スキル

前提としては自然言語処理、機械学習、プログラミング(Python)について入門書レベルの内容を把握している読者が対象となる。また、ビジネス向けに活用したい場合は、本書内で課題なども言及されている部分を参考にすると良いだろう。一方で、ビジネス側で企画立案などを担当する立場にあって、自然言語処理や機械学習に関する知識が十分ではない方にとっては、少々難しい内容になるだろう。その点は留意して欲しい。

各章の概要と読み進め方

本書では章ごとにNLPの基礎や技術解説という基本的な解説に始まり、BERTに使われる技術解説から環境構築、練習問題などを説明している。しかしBERTの仕組みなどは初学者にとっては難しいためそこは飛ばしつつ、実際に動くサンプルコードや練習問題を解いていくのが良いだろう(サンプルコードはダウンロード可能)。また、解説の合間にあるコラムにより補足説明も入っており、読み進めながら理解を高められる構成となっている。そして本書を通読しながら実践することで、「BERTを中心とした近年の自然言語処理技術における動向を理解できる」「実行環境を構築して基本的なタスクの実装や検証ができる」などの成果が期待できるだろう。次から、各章の解説に移っていく。

第1章 NLPの基礎知識

NLP(自然言語処理)を紹介しつつ、形態素解析のJanomeにおけるチュートリアルとなる。また、単語の出現頻度をカウントする(defaultdict)などを解説している。ここで日本語特有の事情なども含めて、基本的な内容について把握していこう。

第2章 NLPの技術解説

NLPで使われる技術において、Bag of Words、Word2vec、回帰型ニューラルネットワーク(Recurrent neural network / RNN)などを紹介している。併せてBERTも該当する事前学習モデルも紹介しており、無料公開されることで技術進化を発展させる経緯についても把握が出来る。

第3章 BERTの技術解説

BERTの基礎になったAttention(アテンション)について解説されているが、初学者には難易度が高いので読み飛ばしても良い(ただし理解度が深まったら改めて読み直そう)。概要としては深層学習モデルが入力されたデータのどの部分に注目するかを学習して利用する仕組みであり、従来の手法と比較してどのような点が画期的だったのかを説明している。

Attentionの概念を説明する図

本書では技術解説において図解を積極的に用いつつ、数式は極力使わずに解説されている。このような初学者向けの配慮においても、注目したい。同様にTransformerについても、図を交えて解説している。

Transformerのエンコーダー部分について説明する図

これらの手法によってBERTが画期的な技術として確立されて、GPT-3などの後継技術につながっていく。また、計算量の削減や精度の向上といったメリットから計算コストが削減されることで、一般の企業やエンジニアでも利用できるようになることから、技術が普及に重要だとわかる。本書はあくまで入門書という位置づけであるが、内部処理についても細かく解説している点は、書籍と執筆者を信頼できる要因でもある。

第4章 BERTの環境構築

ここから実際にBERTを試すべく、PythonとColaboratoryによる環境構築について解説している。同様に画面キャプチャーなどを交えてライブラリのインストールやデータセットの準備などを確認しつつ、学習を進める上で知っていると便利なサイトも紹介されているのもありがたい。基本的なプログラミング知識や開発経験があれば理解できる内容であり、初学者にとっても順を追った丁寧な説明で安心できる構成と言える。

第5章 代表タスクを通じて理解する

ここはBERTを活用しながら実務に役立てる章となっている。例として文章がどんなジャンルに該当するかを推定する「文書分類タスク」、文章から人名や地名を抽出する「NER(固有表現抽出タスク)」、質問に対して回答する「質問応答タスク」などが紹介されている。作業の流れとして使用するライブラリのインストールやデータセットの整形、モデルの定義と学習など、サンプルコードを掲載しながら各手順を試していこう。具体的な目的や用途に応じて実際にBERTを動かしながら、理解を深めていきたい。

サンプルコードはもちろんダウンロード可能

第6章 練習問題

NLPの基礎からBERTの実装について一通り学んだので、次は自分の手で練習問題を解いてみよう。問題は文章分類タスクと情報抽出タスクの二つとなり、ここまでに学んだ内容を実践したい。もちろん回答と解説はあるが、まずは自力で解いてみることをお勧めする。                                                                                                                                                                                                              

第7章 ビジネス適用における課題と解決

BERTの技術解説から少し離れて、機械学習におけるビジネス適用で発生する課題と解決策について紹介している。本章の解説はエンジニアはもちろん、開発全体を統括するプロジェクトマネージャーや、導入を提案するITコンサルタントなどの職種の方もチェックして欲しい。特にデータアセスメント(データ診断)における品質チェックは、完成したモデルの精度に影響を及ぼすので注意したい。また、根拠抽出では説明可能なAIとしての理由付けを解説している。この点はXAI(説明可能なAI)--そのとき人工知能はどう考えたのか?などの書籍に詳しい。ビジネスにおける課題は本書でも1章分を割いて解説されているが、同様の課題を他の書籍でも掘り下げてをいくと良いだろう。

まとめ:今からBERTを学ぶ理由

現時点でBERTは最新の技術ではないが、最近の自然言語処理モデルの多くはBERTの仕組みがベースになっている。GPT-3など最新の技術を学ぶ前に、BERTを理解する意味は大きい。新しい技術に対して「使ってみたら動いた」と「理解した上で使いこなす」はまったく異なるのだ。昨今では技術書に対する信頼性に懸念を抱く方もいるが、本書はNTTデータにおいて自然言語処理技術のR&D(研究開発)に従事する5名による共著である。NLPにおける信頼はもちろん、共著にありがちな文体の不統一や表現のズレといった読みにくさもない。ネット上にもBERTを解説する記事や動画などもあるが、書籍では一貫した解説のみならず環境構築や練習問題まで一冊にまとまっている。そして「BERTを何となく知っている」という人が、きちんと内部の仕組みを理解して実装まで経験することは、最新のNLPについて学ぶ上で十分に意義がある。NLPは翻訳や分析などの一般的な用途のみならず、今後も幅広い展開が期待できる分野である。そのための第一歩として、本書でBERTを学んではいかがだろうか。

購入はこちらから(アフィリエイトはありません)
電子書籍版も配信中です

note記事が気に入ったら、Twitterアカウントをフォローしてください! Twitter : https://twitter.com/maskedanl