AIのBert(バート)と聞くとなんだか難しく感じませんか?
筆者は、日本語BertとTwitterのツイートのデータセットを使って感情分析(ネガの判別)をしましたが、transformersライブラリのおかげで楽(短いコード)に実装できたと思います!
この記事では、日本語Bertを使って感情分析(ネガの判別)をする例を解説します。
いますぐにでもAI(機械学習)が学べるプログラミングスクールを検討している方へ! [afTag id=2402] [template id="10277"] 筆者について 筆者は、AIプログラミン[…]
概要
初心者メイド |
自然言語の世界でBertが有名だけど、難しそうだね〜。
Attentionやtransformers、さらにRNN、LSTMとか意味不明な横文字ばかりでよくわからないな。
Bertに強いメイド |
RNNやLSTMは、Bertが登場する前に自然言語の機械学習(深層学習)で使われていたんだけど、長い文章に弱い(記憶力が弱い)という欠点があったんだ。
記憶力が弱いを解決するために生まれたのがBert(厳密には、Attention機構が入ったRNN)と理解していればよいよ。
だから、RNNやLSTMを知らなくても、この記事を読む分には大丈夫。
ライブラリーのおかげでBertが大変使いやすくなっているんだ。
このあとBertの実装例でもRNNやLSTMなどの横文字が一切出てこないから安心してな
筆者は、Twitterのツイートのデータセットを使って感情分析(ネガの判別)をしました。感情分析には、日本語のBertを使用しました。
今回紹介するものでBertを試しに動かすのであれば、GPUも使えるGoogle Colaboratoryで十分です。
データセットは、以下の場所からダウンロードが可能です。
すでに、ラベル付けもされているので、まずは分類問題を試してみたい人にオススメです。
この記事を読む上で最低限知っておいてほしい知識があります
- ニューラルネットワークの概念
- ニューラルネットワークを使った機械学習手法
- pytorchの簡単な使用方法
上記の知識は、Bertに限らず、ディープラーニングでは必ず使うので抑えておくべきものです。
Bert実装の流れ
ここからは、日本語Bertを使った実装方法について解説します。
実装の流れは以下の通りです。
- mecabなどの形態素のライブラリーをダウンロードする。
- transformersをインストールする
- 教師データを読み込む(読み込み後は、前処理が必要だが省いている)
- 日本語の事前学習モデルを読み込む
- pytorchにて訓練モードに切り替える
- GPUモードに切り替える
- 最適化アルゴリズムをAdamWに設定する
- 教師データをpythochで使えるようにtensor型に変換する
- 教師データから、訓練用データとテスト(評価)データと分ける
- 訓練する(訓練のところでデータをcpuからgpuで扱えるように変換している)
- 作成したモデルを使ってテスト(評価)する
- 作成したモデルを保存する
上記の流れで、ツイートの分類問題(ツイートが「ネガ」「それ以外」)を解きました。
教師データは、約2千件ほどでしたが、分類精度としては8割ほどでした。
具体的なコードについては、colabに載せました。
データセットを読み込むところは、そのまま公開できなかったため、ダミーデータで対応しています。
日本語Bertの実装例
huggingfaceが日本語の事前学習モデルを反映させてくれました。
そのおかげもあり、transformersライブラリを使えば日本語の分類問題が簡単に扱えるようになりました。
実装例を示します。
さらに、colobにもあるので、試してみたい人はすぐに動かせるはずです。
まとめ
いかがですか?
Bertは難しいイメージがありますが、ライブラリーを使って2値分類程度であれば、
比較的簡単に扱えるのではないでしょうか?
\IT未経験者からのサポートあり!転職サービス3選!!/
サービス名 | |||
---|---|---|---|
未経験 | 未経験OK | 未経験の転職専用 | 経験者向け |
公開の求人数 | ITエンジニア全体で1万件以上 ITエンジニア未経験で600件以上 |
未公開 | 5,000件以上 |
利用対象 | 全職種 | IT特化 | IT特化 |
特徴 | ✓誰もが知る転職サービス ✓経歴を登録しておくとオファーが来る |
✓企業担当者と条件交渉 ✓スキルの身につく企業を紹介 |
✓IT専門のエージェントが対応 ✓転職成功すると年収200万円以上の大幅アップがある |
転職サポート内容 |
|
|
|
公式サイト | リクナビネクスト | テックゲート | レバテックキャリア |
付録:独学で挫折した人向け・AI(機械学習)を短期間で学ぶ方法
独学で挫折してしまった人向けに、PythonとAI(機械学習)について、短期間で効率的に学ぶ方法を紹介します。
それは、以下のようなサービス、プログラミングスクールを利用することです。
プログラミングスキルを習得している人でも機械学習の習得は、難しいため、独学で迷うよりは、プロに教えてもらったほうが遥かに最短経路で身につけることができます。
- 👑👑Aidemy Premium Plan・AIを基礎から学ぶPython特化型プログラミングスクール
受講期間中ならAI、WEB開発、データサイエンスなどの多くの技術を身につけられる!
開発環境がすでに用意されているから、すぐに学習に取り組める! - テックアカデミー・最短4週間から学べるスクール
週2回のメンタリングでモチベーションを持続できる
受講料が10万円台からとお財布に優しい! - 侍エンジニア・専属メンターと二人三脚でオリジナルサービス開発を実現
オリジナルカリキュラムであなたの目的にあった技術を学べる!
あなた専属のメンターが、入学から卒業まで学習をサポート
>>より詳しく5つのスクールについて知りたい方は、以下をクリック!