【AI】日本語Bertでファインチューニングしてツイートの感情の分類を解く!

初心者メイド

自然言語の世界でBertが有名だけど、難しそうだね〜。
Attentionやtransformers、さらにRNN、LSTMとか意味不明な横文字ばかりでよくわからないな。

 

Bertに強いメイド

RNNやLSTMは、Bertが登場する前に自然言語の機械学習(深層学習)で使われていたんだけど、長い文章に弱い(記憶力が弱い)という欠点があったんだ。
記憶力が弱いを解決するために生まれたのがBert(厳密には、Attention機構が入ったRNN)と理解していればよいよ。

 

だから、RNNやLSTMを知らなくても、この記事を読む分には大丈夫。
ライブラリーのおかげでBertが大変使いやすくなっているんだ。
このあとBertの実装例でもRNNやLSTMなどの横文字が一切出てこないから安心してな

 

関連記事

いますぐにでもAI(機械学習)が学べるプログラミングスクールを検討している方へ! [afTag id=2402]   筆者について 筆者は、AIプログラミングスクールに通っていた経験がある現役エンジニアです[…]

 

概要

筆者は、Twitterのツイートのデータセットを使って感情分析(ネガの判別)をしました。感情分析には、日本語のBertを使用しました。

今回紹介するものでBertを試しに動かすのであれば、GPUも使えるGoogle Colaboratoryで十分です。

 

データセットは、以下の場所からダウンロードが可能です。

すでに、ラベル付けもされているので、まずは分類問題を試してみたい人にオススメです。

 

Twitter日本語評判分析データセット

 

この記事を読む上で最低限知っておいてほしい知識があります

  1. ニューラルネットワークの概念
  2. ニューラルネットワークを使った機械学習手法
  3. pytorchの簡単な使用方法

 

上記の知識は、Bertに限らず、ディープラーニングでは必ず使うので抑えておくべきものです。

 

Bert実装の流れ

ここからは、日本語Bertを使った実装方法について解説します。

実装の流れは以下の通りです。

 

  1. mecabなどの形態素のライブラリーをダウンロードする。
  2. transformersをインストールする
  3. 教師データを読み込む(読み込み後は、前処理が必要だが省いている)
  4. 日本語の事前学習モデルを読み込む
  5. pytorchにて訓練モードに切り替える
  6. GPUモードに切り替える
  7. 最適化アルゴリズムをAdamWに設定する
  8. 教師データをpythochで使えるようにtensor型に変換する
  9. 教師データから、訓練用データとテスト(評価)データと分ける
  10. 訓練する(訓練のところでデータをcpuからgpuで扱えるように変換している)
  11. 作成したモデルを使ってテスト(評価)する
  12. 作成したモデルを保存する

 

上記の流れで、ツイートの分類問題(ツイートが「ネガ」「それ以外」)を解きました。

教師データは、約2千件ほどでしたが、分類精度としては8割ほどでした。

具体的なコードについては、colabに載せました。

データセットを読み込むところは、そのまま公開できなかったため、ダミーデータで対応しています。

 

日本語Bertの実装例

huggingfaceが日本語の事前学習モデルを反映させてくれました。

そのおかげもあり、transformersライブラリを使えば日本語の分類問題が簡単に扱えるようになりました。

実装例を示します。

 

さらに、colobにもあるので、試してみたい人はすぐに動かせるはずです。

colob

 

まとめ

いかがですか?

Bertは難しいイメージがありますが、ライブラリーを使って2値分類程度であれば、

比較的簡単に扱えるのではないでしょうか?

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

 

付録:独学で挫折した人向け・AI(機械学習)を短期間で学ぶ方法

独学で挫折してしまった
本買ったり、YoutubeでAIを勉強していたんだけど、結局から何を勉強してよいかわからず挫折してしまったんだ。どうしたら解消できる?

独学で挫折してしまった人向けに、PythonとAI(機械学習)について、短期間で効率的に学ぶ方法を紹介します。

それは、以下のようなサービス、プログラミングスクールを利用することです。

プログラミングスキルを習得している人でも機械学習の習得は、難しいため、独学で迷うよりは、プロに教えてもらったほうが遥かに最短経路で身につけることができます。

入会するか悩むのは無料カウンセリング後で十分間に合います!無料カウンセリングは、スクール名のリンクから申し込みできます。

>>より詳しく5つのスクールについて知りたい方は、以下をクリック!

 

 

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG