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
自然言語処理の概要・アルゴリズムの基礎
Search
Ayumu
January 11, 2019
Technology
0
170
自然言語処理の概要・アルゴリズムの基礎
長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩
Ayumu
January 11, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
170
マルチモーダル学習
ayumum
0
170
B3ゼミ 自然言語処理におけるCNN
ayumum
0
110
言語処理年次大会報告
ayumum
0
110
ニューラルネット4
ayumum
0
120
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
180
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
180
ニューラルネット実践
ayumum
0
130
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
200
Other Decks in Technology
See All in Technology
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
330
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
210
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
130
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
130
ソースを読むプロセスの例
sat
PRO
15
9.9k
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
4.8k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
270
Digitization部 紹介資料
sansan33
PRO
1
5.7k
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
150
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
210
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
120
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4k
Code Reviewing Like a Champion
maltzj
526
40k
Code Review Best Practice
trishagee
72
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Scaling GitHub
holman
463
140k
Side Projects
sachag
455
43k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
A designer walks into a library…
pauljervisheath
209
24k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Transcript
自然言語処理と アルゴリズム 2019/1/11 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 「自然言語処理の概要/アルゴリズムの基礎」
参考図書 黒橋貞夫 (2015)『自然言語処理』放送大学教育 振興会 George T. Heineman & Gary Pollice
& Stanley Selkow (2016)『アルゴリズムクイックリファレンス第2 版』 黒川利明、黒川洋訳 オライリー・ジャパン
内容説明 第1回 自然言語処理の概要説明(2分) 自然言語処理とは 文章の段階的な処理の例 コーパスに基づく言語処理(7分) コーパスとは 言語モデル 分類問題 アルゴリズムの考え方(6分)
問題理解 非効率な素朴解 様々な手法 自然言語処理について(9分) アルゴリズムついて(6分)
自然言語処理の概要 自然言語とは 我々が日常的に使う言語。コンピュータに指令を与える機械語とは異なる 自然言語処理とは 自然言語をコンピュータで処理するための学問である。 コンピュータで処理するためには自然言語を解析する必要性がある。
文章の基礎解析の処理例 系列解析 ➢形態素解析、固有名解析 マリオ<人名>は<助詞>フランス<地名> 語<名詞>も<助詞>話せる<動詞>。 <句点> 構文解析 ➢構文解析 マリオは フランス語も
話せる。 意味解析 ➢格解析 マリオは<ガ格>フランス語も<ヲ格>話せる。 文脈解析 ➢照応・省略解析 マリオは フランス語も 話せる。フランスに(Φガ)留 学していたからだ。 ➢談話構造解析 マリオはフランス語も話せる。<理由>フランスに留 学していたからだ。
コーパスとは コーパスとは 「栄養学」に関する論文集、「太宰治」の書いた本など、ある主題に関 する文書のデータ集 生コーパス、注釈付与コーパス ➢生コーパス 例として(「太宰治」の書いた本そのまま)のように、後付けで情報が付与されていな いコーパス 中でも翻訳関係にある2言語の文書の対を収集したものを対訳コーパスやパラレル コーパスと呼ぶ。
翻訳関係にないが同じトピックを扱っているコーパスをコンパラブルコーパスと呼ぶ ➢注釈付与コーパス(タグ付きコーパス) 生コーパスに形態素や語の意味などを加えたものなど、言語処理を行うにあたって情報が 付け足されているコーパス。
言語モデル マルコフモデル 言語モデルとは 文や表現の出現確率を与えてくれるものである。この言語モデルは生コーパスにより抽出できる。 マルコフモデルとは 例として今日の体調が風邪であるとき明日が元気である確率次のようになる。 +1 = 元気 =
風邪 この時、自分の体調は過去m日に依存する性質(マルコフ性)があるとする。このようなモデルをm階マ ルコフモデルといい、先ほどの式は今日という1日分の過去データがあるため1階マルコフモデルで考 えられたものである。 例えば1年間分の体調のデータがあるとすると最尤推定によって次の式となる。 (元気|風邪)= 風邪, 元気 風邪 この時C(風邪),C(風邪,元気)が1年間の体調の回数だとする。すると風邪の日が20日、風邪の次の日 に元気である日数が10日であるとするとP(元気|風邪)=10/20=0.5より50%の確率で明日は元気になる ことがわかる。
言語モデル N-gram言語モデル N-gram 言語モデルとは マルコフモデルの考え方を単語の並びに対して行ったもの。 Bi-gram(1階マルコフモデル)の例 ( |−1 ) =
−1 , −1 C(wi-1,wi)などは生コーパスのデータから計算ができる。※日本語や中国語は英語のように単語間にス ペースがないため、単語分割を行う。 bi-gram言語モデルのK個の単語からできる文の出現確率は 1 , … = ෑ =1 ( |−1 ) より算出される。例として「ペンは剣よりも強し」といった文の出現確率は次のように計算される。 ペンは剣よりも強し = ペン|文頭 ∗ は|ペン ∗ 剣|は ∗ よりも|剣 ∗ (強し|よりも)
分類問題としての自然言語処理 機械学習の分類問題(毒キノコ) 右図の「黄:〇:短:地:?」の毒が無の状態について考える。 ナイーブベイズ 入力の素性ベクトルをx、ラベルをyとしたとき、最大確率のラベルをY とすることを考える。 = arg max (|)
ここに数式を入力します。 また上記式をベイズの定理によって変形してこの時argmaxに関係し ないP(x)を削除、各素性xiが独立であると考える。 = arg max ෑ () よってラベル:無について考えると次のようになる。 黄|無 〇|無 短|無 地|無 無 = 1 3 ∗ 2 3 ∗ 1 3 ∗ 1 3 ∗ 5 8 = 5 324 よって毒がない確率はかなり低いことがわかる。 色 笠の形 柄の長さ 場所 毒 赤 〇 長 地 無 赤 〇 短 樹 無 青 〇 長 樹 有 赤 □ 長 樹 無 黄 □ 短 地 有 青 □ 長 樹 無 黄 □ 短 地 有 黄 □ 長 樹 無 黄 〇 短 地 ?
アルゴリズムの考え方 なぜ自然言語処理をするにあたってアルゴリズムを学ぶ か コーパスの処理をするにもアルゴリズムが必要。 言語情報はデータ数が多いため、高速な処理が必要。 Word2Vecなど数値で言語を扱う際にアルゴリズムを使う
例題 ある8個の点Pの集合の周りを輪ゴムで囲んで離したとき にどのような形になるか?
非効率な素朴解
貪欲法(greedy algorithm)
分割統治法
その他の解決手法 並列法 近似法 一般化(ボロノイ図)