Upgrade to Pro — share decks privately, control downloads, hide ads and more …

深層学習による自然言語処理

 深層学習による自然言語処理

Faisal Ibrahim Hadiputra

September 29, 2021
Tweet

Other Decks in Technology

Transcript

  1. 深 層 学 習 に よ る ⾃ 然 ⾔

    語 処 理 株式会社電通国際情報サービス ファイサル・ハディプトラ 2021/09/29
  2. アジェンダ 1. はじめに • 自然言語処理の概要 • 自然言語処理の難しさ • 最新のトレンド 2.

    ⾃然⾔語処理におけるアプローチ 3. 深層学習による⾃然⾔語処理 4. TexAIntelligence 5. まとめ
  3. • 違う表現で、同じ意味(=同義)が表されることがある • 東京⼤学 = 東⼤、購⼊ = 買う、渡⽶ = アメリカに⾏く

    • 同じ表現が、違う意味(=多義)を表すこともある • マック: マックドナルド or マッキントッシュ • かける: (橋を)かける or (ソースを)かける ... • 階層的な系列をどう扱うか、考える必要がある • ⽂字 → 単語 → ⽂ → ⽂章 • そもそも計算機が⾔語を理解することはどういうことなのか︖ ⾃然⾔語処理の難しさ 6
  4. GLUE(⾔語理解タスク)[Wang+ 18] ポジネガ判定 [positive] itʼs charming and often affecting journey.

    [negative] a sometimes tedious film. 2⽂が同じ意味かどうか [同じ] The bird is bathing in the sink. Birdie is washing itself in the water basin. [異なる] The black dog is running through the snow. A race car driver is driving his car through the mud. https://gluebenchmark.com/leaderboard モデルの性能を計るため、英語の⾔語理解タスクのデータセットが⽤意されている。 9
  5. • ⽇本語は、GLUEのようなベンチマークが存在しないが、2020年には、AI王と いう質問応答コンペが開催された。 • URL: https://www.nlp.ecei.tohoku.ac.jp/projects/aio/ AI王 〜クイズAI⽇本⼀決定戦〜(1/2) 質問例 選択肢/

    回答例 童謡『たなばた さま』の歌詞で,「さ らさら」と歌われる 植物は何の葉? 1:"サ サ", 2:"チシマザサ", 3:"クマザサ", 4:"ア ダ ン", 5:"チ ガ ヤ", ... 20:"オオウバユリ" 10
  6. • パターン照合や構⽂解析によって欲しい 情報を抽出。 • 代表的⼿法 • 正規表現 • ⽂脈⾃由⽂法(Context-free Grammar)

    • 利点 • 場合によって特定のユースケースで精度が⾼い • 適合率が⾼い • 学習データが不要 • 説明性が⾼い • ⽋点 • ルール数が多ければ多いほど、計算コストが⾼くなる • 再現率が低い • ルールを作成するに⼿間がかかる ルールベースの⾃然⾔語処理 [start] => [users] $1 [users] => my friend friends(me) [users] => friends of [users] friends($1) [users] => {user} $1 [start] => [photos] $1 [photos] => photos of [users] photos($1) https://engineering.fb.com/2013/04/29/web/under-the-hood-the- natural-language-interface-of-graph-search/ 2013年にFacebookグラフ検索で使った⽂脈⾃由⽂法 ⼊⼒ 出⼒ 基礎解析 タスク特有 ルール + 13
  7. • 基本的な流れ • 最初に、⽣⽂章に対して基礎解析(形態素解析、構 ⽂解析、意味解析)を事前に⾏う • 基礎解析の結果から特徴ベクトルを作成 • 古典的機械学習アルゴリズム(SVM、NaiveBayes 、RandomForestなど)を⽤いて、モデル学習

    • 利点 • 推論時、計算コストは学習データ数に依存しない( スケーラブル) • データから学習できる • データがあれば、開発速度が速い • ルールベースと⽐べて再現率が⾼い • ある程度まで説明できる • ⽋点 • 学習データが必要 • デバッグが難しい • 特徴量抽出を考える必要がある 古典的機械学習による⾃然⾔語処理 ⼊⼒ 特徴 出⼒ 特徴抽出 (基礎解析) モデル 学習 特徴量抽出のために基礎解析を⾏う 14
  8. • 古典的機械学習と異なる部分 • 特徴量ベクトルも学習される(表現学習) • 基礎解析は不要(トークナイザーだけ) • 利点 • スケーラブル

    • データから学習できる • データがあれば開発速度が速い • 古典的機械学習に⽐べて、精度が⾼い • 特徴量抽出が不要 • ⽋点 • デバッグが難しい • ⼤規模な学習データが必要 • 説明性が低い 深層学習による⾃然⾔語処理 ⼊⼒ 出⼒ 表現学習 モデル 学習 + https://mobilus.co.jp/lab/chat-support/nlp/ ⾃然⾔語処理における深層学習モデル 15
  9. • 分布仮説 [Firth+ 1957] • 単語の意味はその単語の⽂脈によって特徴つけられる • =似た⽂脈で出現する単語は意味が似ている • 共起に基づくベクトル表現

    [Lin 2002] 古典的な単語表現についてのアイデア 昨⽇、りんごを⾷べた。 りんごジュースを飲んだ。 りんごの⽪を剥いた 昨⽇、オレンジを⾷べた。 オレンジジュースを買った。 オレンジの⽪を剥いた 昨⽇、⾞に乗った。 ⾞のタイヤを交換した。 ⾞を買った。 りんご オレンジ ⾞ (0 0 1 0 0 0 0 1 0 0 0 … … … …) (0 0 1 0 0 0 0 1 0 0 0 … … … …) (0 0 0 0 0 0 0 0 0 0 1 … … … …) ⾷べる ジュース タイヤ 似ている 似ていない 「りんご」と 「⾷べる」が テキスト中のある⽂ で共起 数万〜数⼗万次元の疎なベクトル 18
  10. • ニューラルネットワークで対象の単語 から周囲単語(⽂脈語)を予測するタ スク • 低次元(例えば300次元)で、要素は 実数値 • word embeddingまたは分散表現と呼

    ばれる • 特徴 • 単語の「意味」をベクトル表現で学習できる • 単純な⼿法で⼤規模な⽂書(コーパス)でも少ない 時間で学習が可能 • 同義語が定量的に表現できる • 多義語が同じベクトルで表現されてしまう → これ は、次に説明する⾔語モデルで解決できる。 ニューラルネットワークを使った単語表現 りんご オレンジ ⾞ (0.82 -1.18 0.74 …) (0.86 -1.23 0.54 …) (0.15 1.18 -0.34 …) 似ている 似ていない 数百次元の密なベクトル 昨⽇ は ⾷べた 0.82 1.21 … -1.51 0 1 0 0 0 0 … 0 0 1 … 0 0 1 … 0 を 0 1 … 0 0 1 … 0 word2vec [Mikolov+ 13] 19
  11. • ある⽂が出現する確率を表現したもの • P(”佐藤さんはご飯を⾷べた”)>P(”ご飯は佐藤さんを⾷べた”) • P(”佐藤さんはご飯を⾷べた”)>P(”佐藤さんはご飯を飲んだ”) • 確率の連鎖律 → 次の単語を予測するタスク

    • P(“佐藤さんはご飯を⾷べた”)= P(”⾷べた”|”佐藤さんはご飯を”)・P(“を”|”佐藤さんはご飯”) ・P(“ご飯”|”佐藤さんは”) ・P(“は”|”佐藤さん”) ・P(”佐藤さん”) • 確率の推定⽅法 • 古典的な⼿法だと、頻度ベースのn-gramなどが使⽤されたが、最近ニューラルネットワークが使⽤されている。 • 応⽤例 • 検索エンジン(クエリの⾃動補完) • ⽂の⾃動⽣成 • 機械翻訳 21 ⾔語モデル(Language Model)とは︖
  12. • RNN(Recurent Neural Network)再起的ニューラルネットワーク。 • 次の単語を予測するタスク(Next Word Prediction) • 次々と単語を予測していくことで、最終的に⽂を⽣成する

    22 RNN⾔語モデル 私 は 学⽣ は 学⽣ です 「私 は」の ベクトル U U U W W W 0.1 ... 0.2 ... P(学⽣|私, は) ⼤規模なラベルなし テキストから学習
  13. • ⾔語モデルタスクを学習することで、⽂脈付き単語ベクトル及び⽂書ベクトルを習得させる • ⽂脈付きベクトルを習得することで、多義語の問題を解決できる。 23 RNN⾔語モデル: ⽂脈付き単語ベクトル 私 は 学⽣

    W W W です <EOS> W ⽂脈付き「学⽣」のベクトル 「私は学⽣です」の⽂書ベクトル 「今⽇のお昼ご飯はマックのフライポテトです。」 「WWDC 2020で発表された新しいマックを買いました。」 「マック」 の ⽂脈付きベクトルが異なる
  14. • ⽂脈を拡張するという意味で、後⽅向⾔語モデルを採⽤する。 • 前⽅向⾔語モデル + 後⽅向⾔語モデル = 双⽅向⾔語モデル 24 RNN⾔語モデル:

    前⽅向⾔語モデル、後⽅向⾔語モデル 私 は 学⽣ は 学⽣ です U U U W W W は 学⽣ です 私 は 学⽣ U U U W W ⽂脈付き「学⽣」のベクトル 後⽅向⾔語モデル 前⽅向⾔語モデル W
  15. • 機械翻訳タスクから⽣まれたモデル • 基本的な流れ • Encoderは⼊⼒⽂を⽂書ベクトルに変換し、 Decoderに渡す。 • Decoderは⽂書ベクトルを元に、1単語ずつ⽂書を ⽣成する。

    • 最初はRNN⾔語モデルが使われた • Encoder = 双⽅向⾔語モデル • Decoder = 前⽅向⾔語モデル • 最近は、RNNの代わりにTransformers が採⽤される。 Encoder-Decoderモデルの概要 私は学⽣です。 I am a student. エンコーダー (Encoder) デコーダー (Decoder) ⽂書ベクトル 両⽅とも⾔語モデル 26
  16. • Transformersでは、RNNの代わりに Multi-headed Self-attentionを使⽤す る • “Attention is all you

    need”というタイ トルで有名 • 特徴 • RNN系とは違い、並列処理が可能になる • Attention機構は、単語の順番を無視しているので、 距離の遠い単語でも考慮できる • パラメータ数が多く、計算コストが⾼い 28 Transformer 私は学⽣です。 I am a student. エンコーダー (Encoder) Multi-headed Self- attention デコーダー (Decoder) Multi-headed Self- attention ⽂書ベクトル https://papers.nips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf
  17. • TransformersのEncoderを複数組み ⽴てる • 基本的な流れ • Encoderは⽂書ベクトルを抽出する • ⽂書ベクトルを⽤いてタスク特有モデルが学習す る

    • 転移学習を有効にする • Wikipediaで⾃⼰教師あり学習 • 特定なタスクでファインチューニング BERT 素晴らしい映画 だった。 positive 複数のエンコーダー (MultipleEncoder) タスク特有の モデル 線形モデルなど ⽂書ベクトル 33
  18. 1. Wikipediaで⾃⼰教師あり学習(Next Sentence Prediction, Masked⾔語モデル) 2. Encoderの部分のみ再利⽤して、特定のタスクでファインチューニングする BERTの転移学習 (事前学習+ファインチューニング) 複数のエンコーダー

    (MultipleEncoder) MLM分類器 NSP分類器 複数のエンコーダー (MultipleEncoder) 分類器 ⾃⼰教師あり学習 (事前学習) ファインチューニング Wikipediaデータ 対象データ Encoderのみ 再利⽤ 34
  19. • GPT(Generative Pre-Training) • TransformersのDecoderのみを複数組 み⽴てる。ハイパーパラメーターを⼤ きくする。 • 極端に⼤規模な⾔語モデル •

    GPT-1: 1.3Bパラメーター • GPT-2: 13B パラメーター • GPT-3: 175B パラメーター GPT-3 デコーダー (Decoder) Multi-headed Self-attention I am a am a student 36
  20. 38 ⾃然⾔語処理において深層学習が変えたこと • 単語の意味を定量的に表現できる(分散表現) • ⾔語モデルにより、系列の扱いは良くなった • 単語ベクトル表現 → ⽂書ベクトル表現

    • End-to-endの学習 • ⼊⼒と出⼒例だけを⽤意して、直接モデルに学習させる • システムをモジュールに分割する必要がなくなる • 転移学習(事前学習 + ファインチューニング)は主な⼿段になった • 事前学習モデルやライブラリの整備は進んだ • ⽇本語のBERTモデルの公開(NICT、京都⼤学、東北⼤学) • ユーザーが各コードがかなり少なくなった • BERTで基本的なタスクを解く場合、コマンドを動かすだけで実⾏できる • 代表ライブラリ: HuggingfaceのTransformers
  21. ⽂書活⽤AIソリューション: TexAIntelligence ⽂章⾃動分類 (教師あり分類) 意味的類似検索 ⽂章要約 (教師なし分類×要約) https://isid-ai.jp/products/texa.html • 深層学習による⾃然⾔語処理を利⽤したサー

    ビスを開発している。 • BERT、GPT等の深層学習モデルは巨⼤で、 実際に運⽤するのは⼤変という課題があった。 • BERTの軽量版であるISID-BERTを開発した。 • ISID-BERTの特徴 • 標準のBERTに⽐べて、2倍ほど⻑い⽂章が扱 える。 • 標準のBERTに⽐べて、モデルサイズが10分 の1圧縮されている。 • トークナイザーで使っている辞書は⽐較的新 しい。 40
  22. 41 ニュース分類タスクにより性能評価 ※記事タイトルを使⽤しない モデル accuracy 学習時間 (1枚K80) 推論時間 (1500件) alinear-corp/albert-japanese

    89.27% 57分 3分50秒 yoheikikuta/bert-japanese 94.16% 1時間20分 4分10秒 cl-tohoku/bert-base-japanese-whole- word-masking 93.21% 1時間20分 4分15秒 albert-sudachi(ISIDオリジナル) 94.30% 1時間5分 4分3秒 ISID-BERT • ⽇本語で有名なLivedoorニュースの分類タスクに適⽤ した結果
  23. • ⾃然⾔語処理におけるアプローチ • ルールーベース、古典的機械学習、深層学習 • 深層学習による⾃然⾔語処理 • Word2vec、Transformer、BERT、GPT-3 • ISID-BERTの紹介

    • ISID-BERTではBERT軽量版(ALBERT)を使⽤。 • 精度を⾼めるために、ALBERTモデルを改良。 • TexAIntelligenceの検索機能で教師なしのアプローチを有効化するためにさらに改良。 まとめ 43