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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

Avatar for Faisal Ibrahim Hadiputra

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