background-eyecatch

【発展編】BERTによるQAチャットボットの学習モデル作成レシピ

3.8(8)
0

メニュー

概要

このレシピは、BERTによる日本語QAの発話応答モデル作成レシピの発展編として、前回はBERTによるチャットボットの学習済みモデルをダウンロードして推論しましたが、今回は学習モデルの作り方を解説します。

学べること

このレシピは以下の手法を学ぶことができます。

  • BERTによる自然言語処理
  • Transformerによる自然言語処理
  • 日本語対話モデルの作成
  • Pytorchによる自然言語処理
  • GoogleDriveの共有リンクからGoogleColabへのダウンロード

始める前のスキルセット

実務活用例

BERTは自然言語処理の精度向上が望めるだけでなく、学習が容易という利点があり、金融業界を中心に各社が注目しています。
コールセンターにおける応対支援、操作マニュアルや日報からの情報抽出、稟議書の内容確認、契約書等の関連文書の要約といった業務に、BERTを活用した自然言語処理手法が応用されています。

<活用例>
https://xtech.nikkei.com/atcl/nxt/column/18/00001/05247/

キッチン

開発環境

  • Google Colaboratory

ツール

  • Python (3.6以上)
  • PyTorch
  • transformers
  • BERT
  • MeCab

ここで、主なツールについて説明します。

  • Pytorchとは、Pythonのオープンソース機械学習ライブラリ(Deep Learningライブラリ)です。Pytorchと書いて「パイトーチ」と読み、Facebookの人工知能研究グループにより初期開発されました。現在ではPythonの機械学習ライブラリとして高い人気を誇ります。Pythonインターフェイスが中心ですが、C++インターフェイスも存在します。

  • Transformersとは、米国のHugging Face社が提供している、自然言語処理に特化したディープラーニングのフレームワークです。ソースコードは全てGitHub上で公開されており、誰でも無料で使うことができます。

  • BERTとは、Bidirectional Encoder Representations from Transformers の略で、「Transformerによる双方向のエンコード表現」と訳され、2018年10月にGoogleのJacob Devlinらの論文で発表された自然言語処理モデルです。翻訳、文書分類、質問応答など自然言語処理の分野で、BERTは多様なタスクにおいて当時の最高スコアを叩き出しました。BERTの特徴として「文脈を読むことが可能になった」ことを挙げられます。BERTにはTransformerというアーキテクチャ(構造)が組み込まれており、文章を双方向(文頭と文末)から学習することによって「文脈を読むこと」が実現しました。

BERTのAttention分析手法の理論についてはAI-SCHOLAR記事をご参照ください。
BERTのAttentionは何を見ているのか?

  • MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓によって開発されています。名称は開発者の好物「和布蕪(めかぶ)」から取られました。

調理

テスト

テストを受けてみよう

Facebookの人工知能研究グループにより初期開発され、現在ではPythonの機械学習ライブラリとして高い人気を得ているものはどれですか?

「Transformerによる双方向のエンコード表現」と訳され、「文脈を読むことが可能になった」ものはどれですか?

pytorchの主な処理の順序で最後に実行する関数はどれですか?

勾配爆発を抑制するための対策はどれですか?

pytorchの場合に、torch.saveで保存するよりも無駄な情報を削れてファイルサイズを小さくできる方法はどれですか?