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

シリーズAI入門:13a.自然言語処理入門

FSCjJh3NeB
February 03, 2021

 シリーズAI入門:13a.自然言語処理入門

自然言語処理の概観について眺めます。

FSCjJh3NeB

February 03, 2021
Tweet

More Decks by FSCjJh3NeB

Other Decks in Education

Transcript

  1. n ここまで,NNを含む機械学習を見てきた u 機械学習は結局,数値化された入力(特徴量)を うまく分離したり学習する仕組みだった p 基本的には 距離や誤差を最小化する,というもの u 知能の本質が「ことば」にあるとする

    p 「ことば」=記号とは,同値類での世界の分類だった p ∴ “うまく分類できているのだから,知能です”とは言える u でも,もう少し「ことば」を直接扱えないのか? これは果たして知能なのか??? ことば を 扱う技術: 自然言語処理 2
  2. 自然言語処理: Natural Language Processing; NLP n こんな感じで普通に書かれた文書を処理する技術 n 何が嬉しいのか? u

    センサ などから取得できる “数値データ” は 機械学習の手法をほぼそのまま適用することができる u 一般に人間が触れるデータはアンケートの自由記述, 営業日報など,自然言語で記述!(非定型データ) u 機械学習等のツールが使えない… 3 自然言語処理の出番!
  3. 自然言語処理の様々な技術 n 形態素解析 :文章を単語レベルに分解する n 固有表現抽出 :固有名詞などを取り出す n トピック抽出 :文書群から話題(トピック)を取り出す

    n 構文解析 :係り受けなどの構文を解析する n 文章要約 :長い文章から重要そうなものを取り出す n 機械翻訳 :ある文章を他言語等に自動翻訳する n 情報検索 :情報を検索する… n 質問応答 :質問文に対応する答えを検索等して返す n 文章生成 :任意の単語等に関連する文章を生成する n 音声認識 :発話内容を文字に書き起こす などなど… 4
  4. NLPの基本戦略 n ことば を 数値 に置き換える u 機械学習 や NN

    の回を通じて,便利な手法を見てきた p 特徴量として数値を受け取り,あとは誤差を最小化するよう調整 u ことば を 数値 に置き換えられれば,同じようにいける p 単語それぞれを“次元”として捉えることで,数値化 p 自然言語に対してもいろいろな数値解析手法が適用可能に! 6 文書1 文書2 み,み,み,り み,み,り,り,り みかん りんご 文書1 文書2 “みかん” と “りんご” の2語で構成される 文書があったとすると…
  5. n 遺伝性自己免疫疾患 u 「遺伝性」「自己免疫」「疾患」? n すもももももももものうち u 「すもももももももも」「の」「うち(家)」? n 仲里依紗

    u 「仲里」「依紗」? 形態素解析 n 日本語は切れ目がないので,文章をどこで切り分けるか 別途考える必要がある 形態素解析 けいたいそかいせき 7 単語 分割 すもももももももも? 代表的ツール;MeCab, Juman, Chasen
  6. 係り受け解析 n 黒い目の大きな女の子 u 「色黒で,目が大きい,女性」の「子供」? u 「目が黒くて」「大きな女性」の「子供」? u 「黒目が大きい」「女子」? u

    「目が黒くて」「大きな女子」? n 各単語がどこに結びつくかで意味が異なる u 単語の間の関係性=係り受け関係 代表的ツール;Cabocha 9
  7. 文章の類似度 n 文書間の類似度をどう測るか u 数値に変換できたので距離も計算できるが,問題も p 論理的には 0 から 無限

    の範囲の値になる,など 12 ここの角度=類似度! cosを取ったら,0(直行)〜1(一致)にできて&多次元でもいけて便利 実数値しか取らないので,ベクトルは第1象限のみ=0-90度までしかない 文書1 文書2 み,み,み,り み,み,り,り,り みかん りんご 文書1 文書2 cos類似度 という
  8. 分散表現 n 深層学習の自己符号化学習を活用して, 言葉の「意味」的な近さを表現できる技術 u 従来の手法では,「みかん」と「ミカン」は独立したものとして 扱うか,人力で辞書を作って近さを表現する必要 u 分散表現を使うと,「みかん」と「ミカン」「オレンジ」「柑橘 類」を似たようなものとして学習し,数値的に表現可能

    n 考え方 u ある単語の周りに出てくる単語を学習して穴埋め問題を解く p 「大学の構内に入るとXXが歩いてきたので,声をかけてみた。」 p XX= 友達 30%,女の子 30%,先生 20%,猫 10%,机 0%… 14 代表的ツール;Ward2Vec, FastText,BERT
  9. 分散表現の計算方法 n 前頁では “穴埋め問題を解く” とのみ説明 u 実際には,CBOW,Skip-gram の2種類 u CBOW:

    Continuous Bag of Words p 与えられた 単語セット に 関連する単語 を探す • 朝,ご飯,XXXX,食べる ← XXX を探す u Skip-gram p 与えられた 単語 に 関連する単語セット を探す • サンドイッチ ← 関連しそうなあれこれを探す 15
  10. 単語 から 文書 へ n 文書についても分散表現の算出手法がいくつか存在 n 単純なのは “単語の分散表現” を

    平均化したもの u 文書中の単語数が同程度で,似た単語が使われる文章であれば, その単語分散表現の平均も似ていて,近くに配置されるはず 16 ミカン,ミカン, リンゴ,スイカ みかん,みかん, りんご,バナナ 似ていない 分散表現を⽤いない場合 (共通する記号がない) ミカン,ミカン, リンゴ,スイカ みかん,みかん, りんご,バナナ 似ている 分散表現を⽤いた場合 ミカン と みかん, リンゴ と りんご は 似た概念
  11. 分散表現を用いた分析プロセス例 17 動物 会議 計算機 1. 対象文書の収集 2. 対象文書の数値化 3.

    クラスタリング 4. クラスタごとの頻出語抽出 5. クラスタの解釈(ラベリング) 6. 文書へのラベリング (クラスタ数は人間が指定) (本作業は人間が実施) (類似するものを近くに配置) fasttext k-means ─ 分散表現と類似度を用いたクラスタリング ─
  12. この類似度でもダメな例 n 犬が人を噛む u 犬,人,噛む n 人が犬を噛む u 人,犬,噛む 19

    類似は100%! 順序,コンテキストで 意味は変わる コンテキストを どう捉えるか???
  13. 分散表現 (進化版) n 分散表現により,「みかん」と「ミカン」は同じようなもの …という表現は可能に u 「みかん」「ミカン」それぞれの座標を設定 n 細胞核,原子核,話の核心,核の傘… u

    おなじ「核」だが,座標値は一つで良いか? u 同じ語でも文脈に応じて,座標(意味)が異なるはず n 同じ単語でも,文脈によって異なる座標 u 文脈(コンテキスト)も考慮した,頭の良い表現に 20 具体的な手法は,Word2Vec や fastText 具体的な手法は,GloVe や BERT 将来補足
  14. 類似度計算の課題 n “この論文と似たのを探してきてちょうだい” u そう言って,教授が 101本の論文 を渡してきた… p 1本が探す元になる論文,残り100本が対象 u

    どうやって,課題をこなす??? n 当然だが,100本全部見ないといけない u フレーム問題と同じく,“関係ない” かどうかは, 比べてみるまで分からないので,総当たりの必要 21
  15. 類似度計算の課題 n 特定の1件と似たものを探すならまだしも… u 類似する論文のクラスタを作成しよう,と思ったら… p 論文が100件あったら,100^2/2 回 位の類似度算出 p

    1,000 なら 1,000^2 の規模,10,000 だったら… n 分散表現を活用するとこの問題も対処できる u そもそも,似たものは空間上で近くにある p 類似度計算なしに,クラスタリング手法が適用可能 u 類似度計算をショートカットもできる p 高次元ベクトル近傍探索 という技術との組み合わせ • あらかじめ,空間的に近くにありそうなものを探す技術 p 100件なら100件全部見ずに,近くの数件と比較でOK 22
  16. 参考資料 n このあたりを もう少し知りたいヒトは… u 大阪大学 荒瀬 先生 による 解説資料

    が オススメです https://www.slideshare.net/yukiarase/ss-239499604 クリップアート選びのセンスが素晴らしいです J 23 https://www.slideshare.net/yukiarase/jsai2018-101054060
  17. トピックモデルによる文書分類 n 沢山の文書があったときに,そのなかから 「内容(トピック)」を見つけ出す技術 n 同一のトピックは同一の単語で構成される n ひとつの文章では基本的にひとつの話題が扱われる u 野球のニュース記事には野球用語が多用される

    u 政治のニュース記事では政治用語が多用される u 野球ニュースで急に政治関連の単語が出てくることは少ない u ひとつのニュース記事で野球と政治の両方を記述することは少ない n 似た単語が出てくる文章 = おそらく同じトピックを扱っている n 同じトピックっぽい章に出てくる単語 = そのトピックに関連するっぽい単語 25 代表的ツール;LDA (Latent Dirichlet Allocation)
  18. トピックモデルのイメージ n 大量の文書(単語の固まり)を与えると,トピック(話題)を自動的に 抽出し,各文書にどのトピックが紐付いているか教えてくれるような手法 26 大量のニュース記事(文書) 投球,バッター, 盗塁,イチロー, メジャーリーグ, ドラフト,…

    アイドルグループ, イベント, コンサート, アイドル,テレビ, ドラマ,… 選挙,投票, 演説,国会, 遊説,党,大統領 予算,法律,… 野球? 芸能? 政治? Topic Model Topic 0 Topic 1 Topic 2 ※ トピックの名前(ラベル)はキーワードを見て人間が付与 トピック抽出のイメージ トピック推定のイメージ X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. ニュース記事例(文書) X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. 10% 45% 45% 野球 芸能 政治 トピック推定結果 野球 政治 芸能 Topic Model
  19. トピックモデル は 生成モデル n 深層学習の後編の回で生成モデルの話をした u 何かの確率分布から世界ができるいると考えて u ある事柄に関する出来事の生起確率を学習させて u

    その確率に基づいて,新しい何かを生成 n トピックモデル は 上記の2番目の結果 u ごちゃっとした 文書 はトピックの混合 u トピック は 何らかの単語の塊 u ごちゃっと した 文章 からトピックを分離 p トピック = 一緒によく出てくる 単語 のセット 27
  20. トピックモデルのイメージ 別解 n LEGO® を想像してみると良い u お城シリーズ や 警察シリーズ みたいな

    キット がある p お城シリーズ には 兵士 や お城の窓 など 特殊パーツ p 警察シリーズ には 警官 や パトカー用 の 特殊パーツ p 両方で 共通するパーツ も当然ある u 2つ以上のキットを掛け合わせて作ったらしい “何か” が 今,自分の手元に… u この “何か” を分解して,ブロックを色々と選り分けて 元のキットを推定する作業 が トピックモデル 28
  21. 単語 の 重要度を考える n Breakfast とは u 朝に食べるご飯,朝食のことである。 u 例えば,白米やパン,芋,麵

    などを主体として, 汁物や副菜などがセットで供されることが多い。 u アジアの多くの国では,屋台で朝食を食べることも多い。 u 含まれる名詞句 p 朝 ご飯 朝食 白米 パン 芋 麵 主体 汁物 副菜 セット アジア 国 屋台 31 全ての単語が同じ重み(重要度)ということはあり得るか?? 重要な単語と,そうでもない単語があるのでは?
  22. TF-IDFの考え方 n 単語の“重み”(重要度)を考える指標 u どの文章にも登場する単語の情報量は小さい u 滅多に出てこない単語の情報量は大きい u 単純に登場回数少ないものが重要とすると,S/N比悪化 u

    特定の文章によく出てくるものが大事 n TF:Term Frequency u 単語の出現頻度 n DF:Document Frequency u ある単語を含む文書の数 n IDF:Inverse DF 32
  23. 考え方 n 文章に出てくる単語を列挙する(次元数の確定) u 文章1 p こおり,りんご,りんご,ごりら u 文章2 p

    すいか,ごりら,らっぱ,ぱんだ p こおり,りんご,ごりら,すいか,らっぱ,ぱんだ 元の数式に忠実に実装する場合の例 37
  24. 考え方 n 単語の数をかぞえる u 文章1 p こおり,りんご,りんご,ごりら p こおり:1,りんご:2,ごりら1:,すいか:0,らっぱ:0,ぱんだ:0 u

    文章2 p すいか,ごりら,らっぱ,ぱんだ p こおり:0,りんご:0,ごりら:1,すいか:1,らっぱ:1,ぱんだ:1 元の数式に忠実に実装する場合の例 38