BERTを用いた自然言語処理
自然言語処理分科会
© INTAGE TECHNOSPHERE Inc
自然言語処理の紹介
BERTの紹介
BERT活用例
まとめ
© INTAGE TECHNOSPHERE Inc
自然言語処理の紹介
© INTAGE TECHNOSPHERE Inc
自然言語処理
自然言語(人間の言葉)をコンピュータで処理する技術。
活用例
観光地レビューからネガティブなレビューを抽出し、観光地環境の改善に役立てる。
現在、情報検索やソーシャルメディアの解析、音声認識システムなど、
幅広い分野で自然言語処理の技術が利用されている。
自然言語処理の概要
4
レビュー例:観光地Aは、夜になると真っ暗になるので、一人で歩くのは怖かった。
対策例:街灯の設置
© INTAGE TECHNOSPHERE Inc
私たちが日常的に使用している「言葉」をコンピュータで処理することは容易ではない。
形態素解析
英語では各単語の間に空白があるが、日本語は単語を区切る場所があいまい。
(例1)I have a pen.
(例2)外国人参政権 → 外国人参政権
外国 人 参政 権
言葉の数値化
コンピュータで処理するためには、言葉を数値に変換する必要があり。
複数の意味で使用される単語
ドライバー(工具、運転手)、大丈夫、あめ(雨、飴)
…
自然言語処理の難しさ
5
© INTAGE TECHNOSPHERE Inc
オンライン上のテキストデータが増え、かつ機械学習や深層学習が普及。
→様々なタスクで、高い精度を実現する自然言語処理技術が誕生。
単語や文書の数値化
• Word2Vec[Mikolov 2013]
• Doc2Vec[Le 2014]
ニューラルネットワークの技術を用い、単語や文書をベクトルに変換することが可能に。
単語ベクトル同士の足し算や引き算を行い、人の感覚と近い結果を確認。
(例)王様 - 男性 + 女性 ≒ 女王
Word2Vecでは各単語に対して一つずつベクトルが割り当てられることになるが、
BERTでは、文脈を考慮した単語・文書ベクトルを抽出することが可能。
自然言語処理技術の進化
6
© INTAGE TECHNOSPHERE Inc
Word2Vecのモデル
chiVe: SudachiとNWJCによる日本語単語ベクトル(v1.2 mc5)
https://github.com/WorksApplications/chiVe
類似度計算の例
【参考】Word2Vecのベクトル類似度計算例
7
© INTAGE TECHNOSPHERE Inc
BERTの紹介
Bidirectional Encoder Representations from Transformers
© INTAGE TECHNOSPHERE Inc
BERTの概要
9
BERTとは
 双方向のTransformer構造を用い、汎用的な言語モデル(事前学習モデル)を作成する手法。
 大量のテキストデータが必要。(数十GB~)
事前学習の内容(詳細については10ページに記載)
 Masked Language Model
 Next Sentence Prediction
BERTの特徴
 事前学習モデルを用い、解きたいタスクで再度学習(fine-tuning)を行うことで、少ないデー
タ量で高精度なモデルが構築可能。
 fine-tuningは、画像処理の分野でも用いられる。
※fine-tuningについては11ページに記載。
© INTAGE TECHNOSPHERE Inc
BERTの事前学習
10
①Masked Language Model:隠された単語を予測。
MASK
吾輩 は ある
で
②Next Sentence Prediction:文章がつながるかどうかを判定。
昨日はカレーを食べた。
今日は何食べよう。 だから、明日は出社だ。
© INTAGE TECHNOSPHERE Inc
fine-tuning
11
あらかじめ大規模なデータセットで事前学習を行うことで、
データの特徴をある程度捉えた状態の重みを目的のタスクの学習に利用することが可能。
出力層
中間層
入力層
…
中間層
入力層
…
出力層
事前学習 fine-tuning
© INTAGE TECHNOSPHERE Inc
BERT活用例
© INTAGE TECHNOSPHERE Inc
BERTの主な活用例
13
テキスト分類
 ポジティブ・ネガティブの判定
 ニュース記事のトピック分類
文書の検索
単語や文書を同一空間ベクトルに表現することで、ベクトル同士の類似度算出が可能。
 請求書や見積書などの社内資料の検索システム
(例)「自然言語処理 プロジェクト 見積書」などで検索すると、
関連のある文書を推薦するシステム
要約
BERTSUM[Liu 2019]が有名。
重要と思われる文章を抽出する抽出型要約。
※次ページにBERTSUMの例を記載
© INTAGE TECHNOSPHERE Inc
BERTSUMの例(要約文3つを抽出する場合)
14
https://www.intage-technosphere.co.jp/company/news/2021/20211208-001/
1. ~Snowflakeを用いたDX支援「データ活用プラットフォームソリューション」を開始~株式会社インテージテクノス
フィア(本社:東京都西東京市、代表取締役:饗庭 忍)は、Snowflake株式会社(本社:東京都渋谷区、社⾧執行役
員:東條 英俊)のデータクラウド「Snowflake」を用い、データ分析の基盤を構築できる「データ活用プラットフォー
ムソリューション」の提供を開始します。
2. 組織の縦割り構造などによってサイロ化(孤立化)しているデータを一元的に管理。
3. 企業のデータ活用基盤の構築をSnowflakeで身近に
BERTSUMによる要約
© INTAGE TECHNOSPHERE Inc
BERT活用の際に考慮すべき点①
15
BERTに関わるコスト
事前学習モデルを一から作成することは、大きなコストが必要。
 計算機の準備
 テキストデータの収集
入力に用いる単語数
BERTの入力に用いる最大単語数(トークンの数)は事前学習モデルの作成時点で決定。
(例)512単語
公開されている事前学習モデルを利用すれば、容易にBERTを扱うことは可能。
⇔タスクに合ったテキストデータで事前学習モデルを作成すれば、より高精度
なモデルの構築が期待できる。
© INTAGE TECHNOSPHERE Inc
BERT活用の際に考慮すべき点②
16
単語(トークン)への分割方法
公開されている事前学習モデルを用いる場合は、単語への分割方法も要確認。
 形態素解析
MeCab、Juman、Sudachi
 BPE(Byte Pair Encoding)
SentencePiece
正解データの収集・準備
fine-tuningを用いることで、少量の正解データであっても高精度モデルを構築することが可能。
しかし、少量とは言ってもある程度は必要。
MeCab: https://taku910.github.io/mecab/
Juman: https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN
Sudachi: https://github.com/WorksApplications/Sudachi
SentencePiece: https://github.com/google/sentencepiece
© INTAGE TECHNOSPHERE Inc
自然言語処理
 自然言語(人間の言葉)をコンピュータで処理する技術
 ニューラルネットワークの技術を用い、単語や文書をベクトルに変換することが可能に。
BERT
 事前学習モデルの作成には数十GBといった大量のテキストデータが必要。
 fine-tuningによって少量の訓練データで高精度なモデル作成が可能。
 文脈を考慮した単語や文書のベクトルを獲得することが可能。
BERT活用例
 分類タスクや文書要約など、BERTを活用できるシーンは様々。
 事前学習モデルを用いる際もある程度正解データが必要。
 公開されている事前学習モデルを利用する際は、形態素解析の方法や1入力あたりの最大単
語数は要確認。
まとめ
17
© INTAGE TECHNOSPHERE Inc
参考文献
18
[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova, “BERT: Pre-
training of Deep Bidirectional Transformers for Language Understanding”, arXiv:1810.04805
[cs.CL], 2018.
[2] 我妻幸長,“BERTによる自然言語処理を学ぼう! -Attention、Transformerから
BERTへとつながるNLP技術-”, udemy.
[3] 坂本俊之,“作ってわかる! 自然言語処理AI〜BERT・GPT2・NLPプログラミング
入門”, シーアンドアール研究所, 2022.
BERTを用いた自然言語処理.pdf

BERTを用いた自然言語処理.pdf

  • 1.
  • 2.
    © INTAGE TECHNOSPHEREInc 自然言語処理の紹介 BERTの紹介 BERT活用例 まとめ
  • 3.
    © INTAGE TECHNOSPHEREInc 自然言語処理の紹介
  • 4.
    © INTAGE TECHNOSPHEREInc 自然言語処理 自然言語(人間の言葉)をコンピュータで処理する技術。 活用例 観光地レビューからネガティブなレビューを抽出し、観光地環境の改善に役立てる。 現在、情報検索やソーシャルメディアの解析、音声認識システムなど、 幅広い分野で自然言語処理の技術が利用されている。 自然言語処理の概要 4 レビュー例:観光地Aは、夜になると真っ暗になるので、一人で歩くのは怖かった。 対策例:街灯の設置
  • 5.
    © INTAGE TECHNOSPHEREInc 私たちが日常的に使用している「言葉」をコンピュータで処理することは容易ではない。 形態素解析 英語では各単語の間に空白があるが、日本語は単語を区切る場所があいまい。 (例1)I have a pen. (例2)外国人参政権 → 外国人参政権 外国 人 参政 権 言葉の数値化 コンピュータで処理するためには、言葉を数値に変換する必要があり。 複数の意味で使用される単語 ドライバー(工具、運転手)、大丈夫、あめ(雨、飴) … 自然言語処理の難しさ 5
  • 6.
    © INTAGE TECHNOSPHEREInc オンライン上のテキストデータが増え、かつ機械学習や深層学習が普及。 →様々なタスクで、高い精度を実現する自然言語処理技術が誕生。 単語や文書の数値化 • Word2Vec[Mikolov 2013] • Doc2Vec[Le 2014] ニューラルネットワークの技術を用い、単語や文書をベクトルに変換することが可能に。 単語ベクトル同士の足し算や引き算を行い、人の感覚と近い結果を確認。 (例)王様 - 男性 + 女性 ≒ 女王 Word2Vecでは各単語に対して一つずつベクトルが割り当てられることになるが、 BERTでは、文脈を考慮した単語・文書ベクトルを抽出することが可能。 自然言語処理技術の進化 6
  • 7.
    © INTAGE TECHNOSPHEREInc Word2Vecのモデル chiVe: SudachiとNWJCによる日本語単語ベクトル(v1.2 mc5) https://github.com/WorksApplications/chiVe 類似度計算の例 【参考】Word2Vecのベクトル類似度計算例 7
  • 8.
    © INTAGE TECHNOSPHEREInc BERTの紹介 Bidirectional Encoder Representations from Transformers
  • 9.
    © INTAGE TECHNOSPHEREInc BERTの概要 9 BERTとは  双方向のTransformer構造を用い、汎用的な言語モデル(事前学習モデル)を作成する手法。  大量のテキストデータが必要。(数十GB~) 事前学習の内容(詳細については10ページに記載)  Masked Language Model  Next Sentence Prediction BERTの特徴  事前学習モデルを用い、解きたいタスクで再度学習(fine-tuning)を行うことで、少ないデー タ量で高精度なモデルが構築可能。  fine-tuningは、画像処理の分野でも用いられる。 ※fine-tuningについては11ページに記載。
  • 10.
    © INTAGE TECHNOSPHEREInc BERTの事前学習 10 ①Masked Language Model:隠された単語を予測。 MASK 吾輩 は ある で ②Next Sentence Prediction:文章がつながるかどうかを判定。 昨日はカレーを食べた。 今日は何食べよう。 だから、明日は出社だ。
  • 11.
    © INTAGE TECHNOSPHEREInc fine-tuning 11 あらかじめ大規模なデータセットで事前学習を行うことで、 データの特徴をある程度捉えた状態の重みを目的のタスクの学習に利用することが可能。 出力層 中間層 入力層 … 中間層 入力層 … 出力層 事前学習 fine-tuning
  • 12.
    © INTAGE TECHNOSPHEREInc BERT活用例
  • 13.
    © INTAGE TECHNOSPHEREInc BERTの主な活用例 13 テキスト分類  ポジティブ・ネガティブの判定  ニュース記事のトピック分類 文書の検索 単語や文書を同一空間ベクトルに表現することで、ベクトル同士の類似度算出が可能。  請求書や見積書などの社内資料の検索システム (例)「自然言語処理 プロジェクト 見積書」などで検索すると、 関連のある文書を推薦するシステム 要約 BERTSUM[Liu 2019]が有名。 重要と思われる文章を抽出する抽出型要約。 ※次ページにBERTSUMの例を記載
  • 14.
    © INTAGE TECHNOSPHEREInc BERTSUMの例(要約文3つを抽出する場合) 14 https://www.intage-technosphere.co.jp/company/news/2021/20211208-001/ 1. ~Snowflakeを用いたDX支援「データ活用プラットフォームソリューション」を開始~株式会社インテージテクノス フィア(本社:東京都西東京市、代表取締役:饗庭 忍)は、Snowflake株式会社(本社:東京都渋谷区、社⾧執行役 員:東條 英俊)のデータクラウド「Snowflake」を用い、データ分析の基盤を構築できる「データ活用プラットフォー ムソリューション」の提供を開始します。 2. 組織の縦割り構造などによってサイロ化(孤立化)しているデータを一元的に管理。 3. 企業のデータ活用基盤の構築をSnowflakeで身近に BERTSUMによる要約
  • 15.
    © INTAGE TECHNOSPHEREInc BERT活用の際に考慮すべき点① 15 BERTに関わるコスト 事前学習モデルを一から作成することは、大きなコストが必要。  計算機の準備  テキストデータの収集 入力に用いる単語数 BERTの入力に用いる最大単語数(トークンの数)は事前学習モデルの作成時点で決定。 (例)512単語 公開されている事前学習モデルを利用すれば、容易にBERTを扱うことは可能。 ⇔タスクに合ったテキストデータで事前学習モデルを作成すれば、より高精度 なモデルの構築が期待できる。
  • 16.
    © INTAGE TECHNOSPHEREInc BERT活用の際に考慮すべき点② 16 単語(トークン)への分割方法 公開されている事前学習モデルを用いる場合は、単語への分割方法も要確認。  形態素解析 MeCab、Juman、Sudachi  BPE(Byte Pair Encoding) SentencePiece 正解データの収集・準備 fine-tuningを用いることで、少量の正解データであっても高精度モデルを構築することが可能。 しかし、少量とは言ってもある程度は必要。 MeCab: https://taku910.github.io/mecab/ Juman: https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN Sudachi: https://github.com/WorksApplications/Sudachi SentencePiece: https://github.com/google/sentencepiece
  • 17.
    © INTAGE TECHNOSPHEREInc 自然言語処理  自然言語(人間の言葉)をコンピュータで処理する技術  ニューラルネットワークの技術を用い、単語や文書をベクトルに変換することが可能に。 BERT  事前学習モデルの作成には数十GBといった大量のテキストデータが必要。  fine-tuningによって少量の訓練データで高精度なモデル作成が可能。  文脈を考慮した単語や文書のベクトルを獲得することが可能。 BERT活用例  分類タスクや文書要約など、BERTを活用できるシーンは様々。  事前学習モデルを用いる際もある程度正解データが必要。  公開されている事前学習モデルを利用する際は、形態素解析の方法や1入力あたりの最大単 語数は要確認。 まとめ 17
  • 18.
    © INTAGE TECHNOSPHEREInc 参考文献 18 [1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova, “BERT: Pre- training of Deep Bidirectional Transformers for Language Understanding”, arXiv:1810.04805 [cs.CL], 2018. [2] 我妻幸長,“BERTによる自然言語処理を学ぼう! -Attention、Transformerから BERTへとつながるNLP技術-”, udemy. [3] 坂本俊之,“作ってわかる! 自然言語処理AI〜BERT・GPT2・NLPプログラミング 入門”, シーアンドアール研究所, 2022.