Slide 1

Slide 1 text

フォーサイトAI講座 ⾃然⾔語処理 ⾸都⼤学東京 システムデザイン学部 ⼩町守 [email protected] Twitter: mamoruk 2019/04

Slide 2

Slide 2 text

⾃然⾔語処理とは • ⼈⼯的に設計された (プログラミング)⾔語 • HTML, XML • C, Java, Python • ⼈間が書いたり喋ったりする ⾔語 • ⽇本語, 英語 • ⼿話 2

Slide 3

Slide 3 text

⾃然⾔語処理の応⽤ • 機械翻訳 • 対話 3

Slide 4

Slide 4 text

⾃然⾔語処理の歴史 機械翻訳の 登場・発展 ⼈⼯知能へ の応⽤ 統計的⼿法 の発展 ELIZA (イライザ) 4

Slide 5

Slide 5 text

⾃然⾔語処理の参考書籍 • 萩原正⼈・グラム=ニュービッグ・奥野陽 「⾃然⾔語処理の基本と技術」(翔泳社 2016) • 極⼒数式を⽤いずに解説 • 最先端に⾄るまでの実⽤的な話をもれなくカバー • ⿊橋禎夫 「⾃然⾔語処理」(放送⼤学教育振興会 2019) • 最先端のアルゴリズムも含め、詳しい数式も載っている • ラジオを無料で視聴できる 5

Slide 6

Slide 6 text

⾃然⾔語処理の基礎知識 6

Slide 7

Slide 7 text

コーパスと辞書: データに基づく処理 • コーパス ことばがどのように使われて いるのかを記録した⽂書集合 • 辞書 何らかの⽬的を持って集めら れた語句のリスト 7

Slide 8

Slide 8 text

コーパスからの知識獲得: ⽂脈の利⽤ 分布類似度 • “同じ⽂脈で出てくる単語の意味は似ている” J.R. Firth (1890-1960) https://en.wikipedia.org/wiki/John_Rupert_Firth 「X を浴びるようになった」 → 脚光 ≒ 注⽬ 8 http://www.kotonoha.gr.jp/shonagon/

Slide 9

Slide 9 text

情報抽出: データベースの⾃動構築 スロットつきのテンプレート 「X(企業)が Y(⽇付)に Z(企業) を買収する」 構造化データ 買収先 Treasure Data 買収元 Arm ⽇付 2018/08/02 ⾦額 6億ドル 必要な技術 • 固有表現認識 • 関係抽出 • イベント情報抽出 9

Slide 10

Slide 10 text

テキストマイニング: ⽂書から知⾒を得る コールセンターのログ ⼝コミのレビュー ソーシャルメディア 10

Slide 11

Slide 11 text

形態素解析: 単語分割して品詞をつける 11 Web茶まめ http://chamame.ninjal.ac.jp/

Slide 12

Slide 12 text

構造解析の技術: ⽂の構造の曖昧性 「プーと⼤⼈になった僕」 • http://id.fnshr.info/2018/08/16/pooh-boku/ 12

Slide 13

Slide 13 text

情報検索 13

Slide 14

Slide 14 text

情報検索システム: 調べることのサポート 情報要求 適合⽂書 啓発 🔍 クエリ(検索質問) ⽂書集合 14

Slide 15

Slide 15 text

情報検索の基礎: 索引付けと検索モデル 索引付け クエリ 適合⽂書 検索処理 15

Slide 16

Slide 16 text

索引付け: ⾼速に検索するためのデータ構造 ⽂書1 迷ったら、⼈と違う⽅を選ぶ ⽂書2 迷ったら、得しそう、ではなく、楽しそう、を選ぶ ⽂書3 迷ったら、より難しそうな⽅を選ぶ ⼈ 得 ⽅ する 迷う 違う 選ぶ 楽しい 難しい ⽂書1 1 1 1 1 1 ⽂書2 1 1 1 1 1 ⽂書3 1 1 1 1 内容語(名詞・動詞・形容詞)の抽出 による⽂書索引語⾏列(転置索引)作成 16

Slide 17

Slide 17 text

ブーリアンモデル: 適合するしないの2値 ⼈ 得 ⽅ する 迷う 違う 選ぶ 楽しい 難しい ⽂書1 1 1 1 1 1 ⽂書2 1 1 1 1 1 ⽂書3 1 1 1 1 違う OR 難しい ↓ ⽂書1, ⽂書3 楽しい AND 得 ↓ ⽂書2 ⽅ NOT 難しい ↓ ⽂書1 17

Slide 18

Slide 18 text

ベクトル空間モデル: 適合度を連続値で表現 • TF: 単語頻度; IDF: 逆⽂書頻度 2つのベクトルのなす⾓度がθ → cos θ を類似度に⽤いる ⼈ 得 ⽅ する 迷う 違う 選ぶ 楽しい 難しい ⽂書1 0.22 0.08 0 0.22 0 ⽂書2 0.22 0.22 0 0 0.22 ⽂書3 0.10 0 0 0.27 クエリ 0.22 0.10 クエリ「得する⽅」 cos(⽂書1, クエリ) = 0.10 cos(⽂書2, クエリ) = 0.53 → ⽂書2が近い cos(⽂書3, クエリ) = 0.14 18

Slide 19

Slide 19 text

ランキング: 順番をつけるアルゴリズム 適合性フィードバック →ランキング学習 リンク解析 https://en.wikipedia.org/wiki/PageRank 19

Slide 20

Slide 20 text

情報検索の評価: いいシステムとは何か 適合率(precision) 正解適合⽂書数➗適合⽂書数 再現率(recall) 正解適合⽂書数➗正解⽂書数 適合率 再現率 20

Slide 21

Slide 21 text

Web⾃然⾔語処理 21

Slide 22

Slide 22 text

Web検索: 様々なクエリの種類がある 情報型クエリ 「都⽴⼤」 案内型クエリ 「ANA」 取引型クエリ 「シリコンバレー 動画」 クエリ推薦 タイトルとスニペット 22

Slide 23

Slide 23 text

⽂書分類: テキストを分類する 23

Slide 24

Slide 24 text

k近傍法: 「学習」しない機械学習 24 ラベルが既知のk個の近傍事例のラベル によって未知の事例を分類する

Slide 25

Slide 25 text

類似⽂書検索: 似ているものを⾒つけ出す 25

Slide 26

Slide 26 text

クラスタリング: 似ているものをまとめる • k平均(k-means)法: ランダムに割り当てた初期値から、クラ スタの平均の計算と、クラスタの割り当てを繰り返す。 26

Slide 27

Slide 27 text

深層学習による⾃然⾔語処理 27

Slide 28

Slide 28 text

深層学習(ニューラルネットワーク)の 登場による⾔語⽣成のパラダイムシフト 28 https://ai.googleblog.com/2016/09/a-neural-network-for-machine.html 翻訳モデル 翻訳品質 中英翻訳でもバイ リンガル翻訳者と 区別がつかない翻 訳品質を達成 (Microsoft 2018)

Slide 29

Slide 29 text

ニューラル機械翻訳による流暢な翻訳 ⼊⼒ Google ニューラル 機械翻訳 Google フレーズベース 統計的機械翻訳 私は悲しい映画は嫌い だ。 I dislike sad movies. I am sad movie hate. 彼は刑事だ。 He is a detective. He is a criminal. 彼が来ようが来まいが、 私は⾏く。 I will go whether he will come or not. He will Koyo but come Mai, but I go. 彼は⽬をとしてそこに 座りました。 He sat there with his eyes wide open. He sat there as the eye. 29 OpenNMT-py によるニューラル機械翻訳演習 (https://goo.gl/KmQFLM)

Slide 30

Slide 30 text

エンコーダ・デコーダモデルによる ニューラル機械翻訳 今⽇ 暑い です ね it is today hot ⼊⼒および出⼒の両⽅をベクトル化→⽂脈を考慮して1単語ずつ⽣成 エンコーダ デコーダ アテンション 単語分散表現 30

Slide 31

Slide 31 text

word2vec: ベクトル空間モデルの発展 31 empire king man queen rule woman empire 545 512 195 276 374 king 545 2330 689 799 1100 man 512 2330 915 593 2620 queen 195 689 915 448 708 rule 276 799 593 448 1170 woman 374 1100 2620 708 1170 She was the mother of Queen Elizabeth II . 周辺の⽂脈を予測するようなニューラルネットワークを学習することで、 単語ベクトルを学習する

Slide 32

Slide 32 text

word2vec で意味の演算ができる 32 word2vec で学習した単語ベクトルは、国と⾸都の関係が ベクトル空間上で保存されている (Mikolov+, 2013) →king ‒ man + woman = queen といったような、意味の計算ができる

Slide 33

Slide 33 text

単語ベクトルを組み合わせて系列変換 (sequence to sequence) で翻訳 • エンコーダ(符号化器)・デコーダ(復号器)アプローチ 33 深層学習 マジ やばい DL is DL is really cool really cool エ ン コ $ ダ デ コ $ ダ 原⾔語の単語ベク トルから⽂ベクト ルをエンコード

Slide 34

Slide 34 text

ニューラル機械翻訳に並べ替えモデルは不要: 注意 (attention) しつつデコードする • エンコーダ側の隠れ層(ベクトル)の重み付き和 34 深層学習 マジ やばい DL is is really cool really cool ⽂ベクトルを1つ に圧縮せず、どの 部分を使うかを 「注意」する DL

Slide 35

Slide 35 text

ニューラル翻訳の弱点: 流暢性が⾼くても妥当性が低い • 消失 under-translation • ⼊⼒: ホームベーカリーの⽣地作りコースで⽣地を作る。 • NMT: Make the dough using the dough setting. • 挿⼊ over-translation • ⼊⼒: 紙に包んで • NMT: Wrap the cake in the cake paper • 重複 repetition • ⼊⼒: 2時間程度圧⼒をかけて炊きましたら、⼀度、鍋を開け て中を確認します。 • NMT: If you have time , eave to steam for about 2 hours, and open the pot, and open the pot to make sure theyʼre done. 35

Slide 36

Slide 36 text

⾃然⾔語処理のこれから 36

Slide 37

Slide 37 text

⽂の意味を知る技術: 述語項構造解析と語義曖昧性解消 「娘が⺟に花をあげた。」 • 「あげる」→述語項構造解析 • 項(ガ格≒主体): 娘 • 項(ヲ格≒対象): 花 • 項(ニ格≒相⼿): ⺟ • 「花」→語義曖昧性解消 1. はな。花がさく。 2. ⼈名。 37

Slide 38

Slide 38 text

⽂を超えたつながりを知る技術: 照応省略解析と含意関係認識 「娘が⺟に花をあげた。」 • 「⺟」→ゼロ照応(省略)解析 • (娘の)⺟ • (話者の)⺟ • 「⺟が娘から花をもらった。」 →含意関係認識 38

Slide 39

Slide 39 text

⾃然⾔語処理の限界・課題 • 未知語 • 少量のデータからの学習 39 「チュパカブラ」 擬似正解データ作成 再学習

Slide 40

Slide 40 text

まとめ 40

Slide 41

Slide 41 text

⾃然⾔語処理は⾔語を⽤いて⼈間と知識 をつなぐインタフェースです ⾃然⾔語処理の基礎知識と応⽤ • コーパスと辞書 • 形態素解析 • 情報検索: ベクトル空間モデルとランキング • Web ⾃然⾔語処理: 機械学習を⽤いたアプリケーション 深層学習による⾃然⾔語処理 • word2vec • エンコーダ・デコーダモデル 41