Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NLP basic of basic (in Japanese)
Search
FSCjJh3NeB
September 01, 2019
Technology
1
1.5k
NLP basic of basic (in Japanese)
(in Japanese)
Natural Language Processing basic Knowledges for non-engineer
FSCjJh3NeB
September 01, 2019
Tweet
Share
More Decks by FSCjJh3NeB
See All by FSCjJh3NeB
シリーズAI入門:13b 生成AI
2hz9qeedd
1
170
Stats of bioRxiv (2021)
2hz9qeedd
0
98
シリーズAI入門:1. ガイダンス・AIの概要
2hz9qeedd
0
210
シリーズAI入門:2. AI研究の歴史
2hz9qeedd
0
270
シリーズAI入門:3. 計算機の仕組み
2hz9qeedd
0
120
シリーズAI入門:4. 人間の情報処理の仕組み
2hz9qeedd
0
240
シリーズAI入門:5. 第1次AIブーム 探索
2hz9qeedd
0
190
シリーズAI入門:6. 第2次AIブーム 知識ベース
2hz9qeedd
0
200
シリーズAI入門:7. 第3次AIブーム パタン認識
2hz9qeedd
0
360
Other Decks in Technology
See All in Technology
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
270
IIWレポートからみるID業界で話題のMCP
fujie
0
580
原則から考える保守しやすいComposable関数設計
moriatsushi
3
480
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
480
Long journey of Continuous Delivery at Mercari
hisaharu
1
230
Nonaka Sensei
kawaguti
PRO
4
770
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
230
Model Mondays S2E01: Advanced Reasoning
nitya
0
420
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
320
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
790
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
130
Securing your Lambda 101
chillzprezi
0
300
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Thoughts on Productivity
jonyablonski
69
4.7k
Rails Girls Zürich Keynote
gr2m
94
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
46
14k
Agile that works and the tools we love
rasmusluckow
329
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Transcript
自然言語処理 NLP: Natural Language Processing 超基礎用語の簡易まとめ Public License
自然言語処理? n こんな感じで普通に書かれた文書を処理する技術 n 何が嬉しいのか? u センサなどから取得できる「数値データ」は 機械学習の手法をほぼそのまま適用することができる u 一般に人間が触れるデータはアンケートの自由記述,
営業日報など,自然言語で記述!(非定型データ) u 機械学習等のツールが使えない… 2 自然言語処理の出番! 自然言語処理:Natural Language Processing; NLP
概要 n 自然言語処理 u 自然言語を,計算機でうまく処理・解釈できるように なんやかんやするような技術 n テキストマイニング u 計算機を用いて(自然言語で記述された)テキストから,
何らかの知見・知識を得ようとする試み n テキストマイニングの流れ u 1.形態素解析により単語に分割 u 2.単語の出現頻度をカウント(数値データ化) u 3.機械学習の手法を用いて分析 3
なにができるの? n 似た文書を見付ける u 数万件のアンケート自由記述データのなかから, 似た記述内容のモノを見付けてくる…とか p cf. cos類似度,分散表現 n
文書にどんな話題が含まれているかを見付ける u 数万件のアンケート自由記述に,どんな話題が 含まれていそうかを見付けてくる…とか p cf. トピックモデル,階層クラスタリング 4
n 遺伝性自己免疫疾患 u 「遺伝性」「自己免疫」「疾患」? n すもももももももものうち u 「すもももももももも」「の」「うち(家)」? n 仲里依紗
u 「仲里」「依紗」? 形態素解析 n 日本語は切れ目がないので,文章をどこで切り分けるか 別途考える必要がある 5 形態素解析 けいたいそかいせき 単語 分割 すもももももももも? 代表的ツール;MeCab, Juman, Chasen
MeCab(めかぶ) による形態素解析の例 6
係り受け解析 n 黒い目の大きな女の子 u 「色黒で,目が大きい,女性」の「子供」? u 「目が黒くて」「大きな女性」の「子供」? u 「黒目が大きい」「女子」? u
「目が黒くて」「大きな女子」? n 各単語がどこに結びつくかで意味が異なる u 単語の間の関係性=係り受け関係 代表的ツール;Cabocha 7
CaboCha (かぼちゃ) による係り受け解析の例 8
cos(コサイン) 類似度の考え方 n NLPの基本戦略 u 単語それぞれを“次元”として捉えることで,数学の世界に持ってくる u 自然言語に対してもいろいろな数値解析手法が適用可能に! 9 みかん
りんご 文書1 文書2 ここの角度=類似度! cosを取ったら,0(直行)〜1(一致)にできて&多次元でもいけて便利 0 or 正の値しか取らないので,ベクトルは第1象限のみ=0-90度までしかない 文書1 文書2 み,み,み,り み,み,り,り,り
分散表現 n 深層学習で用いられる技術(※ニューラルネット)を用い, 言葉の「意味」的な近さを表現できる技術 u 従来の手法では,「みかん」と「ミカン」は独立したものとして 扱うか,人力で辞書を作って近さを表現する必要 u 分散表現を使うと,大量のデータから「みかん」と「ミカン」 「オレンジ」「柑橘類」を似たようなものとして学習し,
数値的に表現可能 n 考え方 u 有る単語の周りに出てくる単語を学習して穴埋め問題を解く p 「大学の構内に入るとXXが歩いてきたので,声をかけてみた。」 p XX= 友達 30%,女の子 30%,先生 20%,猫 10%,机 0%… 10 代表的ツール;Word2Vec, FastText
分散表現+cos類似度 n 分散表現では単語を300次元などの高次元空間にマップ u 似てそうな単語は近くに配置 n 単語それぞれを独立次元と考えず,分散表現の空間で COS類似度を取ると,より良い感じに類似度が出せる 11 みかん
オレンジ 従来手法 分散表現 みかん オレンジ ぜんぜん違う 無関係 似ていそう 関係がある
トピックモデルによる文書分類 n 沢山の文書があったときに,そのなかから 「内容(トピック)」を見つけ出す技術 n 同一のトピックは同一の単語で構成される n ひとつの文章では基本的にひとつの話題が扱われる u 野球のニュース記事には野球用語が多用される
u 政治のニュース記事では政治用語が多用される u 野球ニュースで急に政治関連の単語が出てくることは少ない u ひとつのニュース記事で野球と政治の両方を記述することは少ない n 似た単語が出てくる文章 = おそらく同じトピックを扱っている n 同じトピックっぽい章に出てくる単語 = そのトピックに関連するっぽい単語 12 代表的ツール;LDA (Latent Dirichlet Allocation)
トピックモデルのイメージ n 大量の文書(単語の固まり)を与えると,トピック(話題)を自動的に抽 出し,各文書にどのトピックが紐付いているか教えてくれるような手法 13 大量のニュース記事(文書) 投球,バッター, 盗塁,イチロー, メジャーリーグ, ドラフト,…
イベント, コンサート, アイドル,テレビ, ドラマ,… 選挙,投票, 演説,国会, 遊説,党,大統領 予算,法律,… 野球? 芸能? 政治? Topic Model Topic 0 Topic 1 Topic 2 ※ トピックの名前(ラベル)はキーワードを見て人間が付与 トピック抽出のイメージ トピック推定のイメージ X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. ニュース記事例(文書) X日,アイドルグループの総選挙が行われ, 事前予測とは異なり,XXさんが1位を取得した. XXさんは,この逆転ホームランを受けて, 「驚いているが,いまはとにかく 主演しているドラマと舞台を頑張りたい」 との談話を発表した. 10% 45% 45% 野球 芸能 政治 トピック推定結果 野球 政治 芸能 Topic Model
TF-IDFの考え方 n 単語の“重み”(重要度)を考える指標 u どの文章にも登場する単語の情報量は小さい u 滅多に出てこない単語の情報量は大きい u 単純に登場回数少ないものが重要とすると,S/N比悪化 u
特定の文章によく出てくるものが大事 n TF:Term Frequency u 単語の出現頻度 n DF:Document Frequency u ある単語を含む文書の数 n IDF:Inverse DF 14
TF-IDFの考え方 ある文書内の全単語数 ある単語 i の数 ある単語を含む文書数 文書の数 15
形態素解析の実施 @ paiza.io 16
形態素解析の実施 n ネイティブ(自分のPCにインストール)のpythonの 場合はライブラリが利用できるため,もう少し楽 n 今回の例は外部のプログラムを呼び出して使うための 汎用性の高い技のひとつ 17
COS類似度の算出にチャレンジ 18
COS類似度の算出にチャレンジ 2次元の場合 3次元の場合 19
考え方 n 文章に出てくる単語を列挙する(次元数の確定) u 文章1 p こおり,りんご,りんご,ごりら u 文章2 p
すいか,ごりら,らっぱ,ぱんだ p こおり,りんご,ごりら,すいか,らっぱ,ぱんだ 元の数式に忠実に実装する場合の例 20
考え方 n 単語の数をかぞえる u 文章1 p こおり,りんご,りんご,ごりら p こおり:1,りんご:2,ごりら1:,すいか:0,らっぱ:0,ぱんだ:0 u
文章2 p すいか,ごりら,らっぱ,ぱんだ p こおり:0,りんご:0,ごりら:1,すいか:1,らっぱ:1,ぱんだ:1 元の数式に忠実に実装する場合の例 21
考え方 n かけたり,足したり 元の数式に忠実に実装する場合の例 完成! 22
考え方 n 文章1 u こおり,りんご,りんご,ごりら n 文章2 u すいか,ごりら,らっぱ,ぱんだ u
類似度はおおよそ, 0.204 23
類似度と距離 n 類似度と距離は類似する概念 n 距離にも様々な定義 u ユークリッド(L2)距離 u マハラノビス距離 u
マンハッタン(L1)距離 u チェビシェフ距離 u ミンコフスキー距離 u ハミング距離 u … 24
自然言語処理のその他の話題 n 機械翻訳 u 日英,英露など,異なる言語を翻訳する n 文書要約 u ながーい文章からポイントを抽出してまとめる n
文章生成(質問応答) u 要求に対して,適切で自然な文章を作成する …などなどなど 25
自然言語処理のトレンド(2019) n NLPにおいても深層学習(DL)がブーム u とにかく,大量のデータを使って,DLでモデルを作り それをつかってなんやかんやする u 従来の手法に比べると精度が高く,実用的 u 一方で,モデル生成には時間がかかりがち
n ツール類も戦国時代に? u 例えば日本語の形態素解析と言えば近年は MeCab 一択だったが, 国産でも Juman++ が出てきたり,海外のライブラリ(spaCy)を 応用した GiNZA など選択肢いろいろ u API形式で自然言語処理をおこなってくれるサービスも充実 26