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
140
自然言語処理の概要・アルゴリズムの基礎
長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩
Ayumu
January 11, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
140
マルチモーダル学習
ayumum
0
120
B3ゼミ 自然言語処理におけるCNN
ayumum
0
86
言語処理年次大会報告
ayumum
0
72
ニューラルネット4
ayumum
0
95
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
130
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
160
ニューラルネット実践
ayumum
0
97
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
150
Other Decks in Technology
See All in Technology
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
競技としてのKaggle、役に立つKaggle
yu4u
3
1.9k
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
260
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
Cypress or Playwright?
rainerhahnekamp
0
110
Databricks における 『MLOps』
databricksjapan
2
170
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.8k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
780
本当のAWS基礎
toru_kubota
0
530
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
The Invisible Side of Design
smashingmag
294
49k
Practical Orchestrator
shlominoach
182
9.7k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
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)
分割統治法
その他の解決手法 並列法 近似法 一般化(ボロノイ図)