Slide 1

Slide 1 text

自然言語処理 NLP: Natural Language Processing 超基礎用語の簡易まとめ Public License

Slide 2

Slide 2 text

自然言語処理? n こんな感じで普通に書かれた文書を処理する技術 n 何が嬉しいのか? u センサなどから取得できる「数値データ」は 機械学習の手法をほぼそのまま適用することができる u 一般に人間が触れるデータはアンケートの自由記述, 営業日報など,自然言語で記述!(非定型データ) u 機械学習等のツールが使えない… 2 自然言語処理の出番! 自然言語処理:Natural Language Processing; NLP

Slide 3

Slide 3 text

概要 n 自然言語処理 u 自然言語を,計算機でうまく処理・解釈できるように なんやかんやするような技術 n テキストマイニング u 計算機を用いて(自然言語で記述された)テキストから, 何らかの知見・知識を得ようとする試み n テキストマイニングの流れ u 1.形態素解析により単語に分割 u 2.単語の出現頻度をカウント(数値データ化) u 3.機械学習の手法を用いて分析 3

Slide 4

Slide 4 text

なにができるの? n 似た文書を見付ける u 数万件のアンケート自由記述データのなかから, 似た記述内容のモノを見付けてくる…とか p cf. cos類似度,分散表現 n 文書にどんな話題が含まれているかを見付ける u 数万件のアンケート自由記述に,どんな話題が 含まれていそうかを見付けてくる…とか p cf. トピックモデル,階層クラスタリング 4

Slide 5

Slide 5 text

n 遺伝性自己免疫疾患 u 「遺伝性」「自己免疫」「疾患」? n すもももももももものうち u 「すもももももももも」「の」「うち(家)」? n 仲里依紗 u 「仲里」「依紗」? 形態素解析 n 日本語は切れ目がないので,文章をどこで切り分けるか 別途考える必要がある 5 形態素解析 けいたいそかいせき 単語 分割 すもももももももも? 代表的ツール;MeCab, Juman, Chasen

Slide 6

Slide 6 text

MeCab(めかぶ) による形態素解析の例 6

Slide 7

Slide 7 text

係り受け解析 n 黒い目の大きな女の子 u 「色黒で,目が大きい,女性」の「子供」? u 「目が黒くて」「大きな女性」の「子供」? u 「黒目が大きい」「女子」? u 「目が黒くて」「大きな女子」? n 各単語がどこに結びつくかで意味が異なる u 単語の間の関係性=係り受け関係 代表的ツール;Cabocha 7

Slide 8

Slide 8 text

CaboCha (かぼちゃ) による係り受け解析の例 8

Slide 9

Slide 9 text

cos(コサイン) 類似度の考え方 n NLPの基本戦略 u 単語それぞれを“次元”として捉えることで,数学の世界に持ってくる u 自然言語に対してもいろいろな数値解析手法が適用可能に! 9 みかん りんご 文書1 文書2 ここの角度=類似度! cosを取ったら,0(直行)〜1(一致)にできて&多次元でもいけて便利 0 or 正の値しか取らないので,ベクトルは第1象限のみ=0-90度までしかない 文書1 文書2 み,み,み,り み,み,り,り,り

Slide 10

Slide 10 text

分散表現 n 深層学習で用いられる技術(※ニューラルネット)を用い, 言葉の「意味」的な近さを表現できる技術 u 従来の手法では,「みかん」と「ミカン」は独立したものとして 扱うか,人力で辞書を作って近さを表現する必要 u 分散表現を使うと,大量のデータから「みかん」と「ミカン」 「オレンジ」「柑橘類」を似たようなものとして学習し, 数値的に表現可能 n 考え方 u 有る単語の周りに出てくる単語を学習して穴埋め問題を解く p 「大学の構内に入るとXXが歩いてきたので,声をかけてみた。」 p XX= 友達 30%,女の子 30%,先生 20%,猫 10%,机 0%… 10 代表的ツール;Word2Vec, FastText

Slide 11

Slide 11 text

分散表現+cos類似度 n 分散表現では単語を300次元などの高次元空間にマップ u 似てそうな単語は近くに配置 n 単語それぞれを独立次元と考えず,分散表現の空間で COS類似度を取ると,より良い感じに類似度が出せる 11 みかん オレンジ 従来手法 分散表現 みかん オレンジ ぜんぜん違う 無関係 似ていそう 関係がある

Slide 12

Slide 12 text

トピックモデルによる文書分類 n 沢山の文書があったときに,そのなかから 「内容(トピック)」を見つけ出す技術 n 同一のトピックは同一の単語で構成される n ひとつの文章では基本的にひとつの話題が扱われる u 野球のニュース記事には野球用語が多用される u 政治のニュース記事では政治用語が多用される u 野球ニュースで急に政治関連の単語が出てくることは少ない u ひとつのニュース記事で野球と政治の両方を記述することは少ない n 似た単語が出てくる文章 = おそらく同じトピックを扱っている n 同じトピックっぽい章に出てくる単語 = そのトピックに関連するっぽい単語 12 代表的ツール;LDA (Latent Dirichlet Allocation)

Slide 13

Slide 13 text

トピックモデルのイメージ n 大量の文書(単語の固まり)を与えると,トピック(話題)を自動的に抽 出し,各文書にどのトピックが紐付いているか教えてくれるような手法 13 大量のニュース記事(文書) 投球,バッター, 盗塁,イチロー, メジャーリーグ, ドラフト,… イベント, コンサート, アイドル,テレビ, ドラマ,… 選挙,投票, 演説,国会, 遊説,党,大統領 予算,法律,… 野球? 芸能? 政治? Topic Model Topic 0 Topic 1 Topic 2 ※ トピックの名前(ラベル)はキーワードを見て人間が付与 トピック抽出のイメージ トピック推定のイメージ X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. ニュース記事例(文書) X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. 10% 45% 45% 野球 芸能 政治 トピック推定結果 野球 政治 芸能 Topic Model

Slide 14

Slide 14 text

TF-IDFの考え方 n 単語の“重み”(重要度)を考える指標 u どの文章にも登場する単語の情報量は小さい u 滅多に出てこない単語の情報量は大きい u 単純に登場回数少ないものが重要とすると,S/N比悪化 u 特定の文章によく出てくるものが大事 n TF:Term Frequency u 単語の出現頻度 n DF:Document Frequency u ある単語を含む文書の数 n IDF:Inverse DF 14

Slide 15

Slide 15 text

TF-IDFの考え方 ある文書内の全単語数 ある単語 i の数 ある単語を含む文書数 文書の数 15

Slide 16

Slide 16 text

形態素解析の実施 @ paiza.io 16

Slide 17

Slide 17 text

形態素解析の実施 n ネイティブ(自分のPCにインストール)のpythonの 場合はライブラリが利用できるため,もう少し楽 n 今回の例は外部のプログラムを呼び出して使うための 汎用性の高い技のひとつ 17

Slide 18

Slide 18 text

COS類似度の算出にチャレンジ 18

Slide 19

Slide 19 text

COS類似度の算出にチャレンジ 2次元の場合 3次元の場合 19

Slide 20

Slide 20 text

考え方 n 文章に出てくる単語を列挙する(次元数の確定) u 文章1 p こおり,りんご,りんご,ごりら u 文章2 p すいか,ごりら,らっぱ,ぱんだ p こおり,りんご,ごりら,すいか,らっぱ,ぱんだ 元の数式に忠実に実装する場合の例 20

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

考え方 n かけたり,足したり 元の数式に忠実に実装する場合の例 完成! 22

Slide 23

Slide 23 text

考え方 n 文章1 u こおり,りんご,りんご,ごりら n 文章2 u すいか,ごりら,らっぱ,ぱんだ u 類似度はおおよそ, 0.204 23

Slide 24

Slide 24 text

類似度と距離 n 類似度と距離は類似する概念 n 距離にも様々な定義 u ユークリッド(L2)距離 u マハラノビス距離 u マンハッタン(L1)距離 u チェビシェフ距離 u ミンコフスキー距離 u ハミング距離 u … 24

Slide 25

Slide 25 text

自然言語処理のその他の話題 n 機械翻訳 u 日英,英露など,異なる言語を翻訳する n 文書要約 u ながーい文章からポイントを抽出してまとめる n 文章生成(質問応答) u 要求に対して,適切で自然な文章を作成する …などなどなど 25

Slide 26

Slide 26 text

自然言語処理のトレンド(2019) n NLPにおいても深層学習(DL)がブーム u とにかく,大量のデータを使って,DLでモデルを作り それをつかってなんやかんやする u 従来の手法に比べると精度が高く,実用的 u 一方で,モデル生成には時間がかかりがち n ツール類も戦国時代に? u 例えば日本語の形態素解析と言えば近年は MeCab 一択だったが, 国産でも Juman++ が出てきたり,海外のライブラリ(spaCy)を 応用した GiNZA など選択肢いろいろ u API形式で自然言語処理をおこなってくれるサービスも充実 26