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 17, 2019
Technology
1
230
探索アルゴリズムと派生文法について
長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩
Ayumu
January 17, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
150
マルチモーダル学習
ayumum
0
140
B3ゼミ 自然言語処理におけるCNN
ayumum
0
90
言語処理年次大会報告
ayumum
0
82
ニューラルネット4
ayumum
0
100
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
150
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
160
ニューラルネット実践
ayumum
0
110
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
170
Other Decks in Technology
See All in Technology
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
110
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
180
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.2k
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
kargoの魅力について伝える
magisystem0408
0
200
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
66
4.5k
Mobile First: as difficult as doing things right
swwweet
222
9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Into the Great Unknown - MozCon
thekraken
33
1.5k
We Have a Design System, Now What?
morganepeng
51
7.3k
Making Projects Easy
brettharned
116
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Scaling GitHub
holman
458
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Designing for humans not robots
tammielis
250
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Transcript
派生文法と 探索アルゴリズム 2019/01/17 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 派生文法とは/「深さ優先探索、幅優先探索、 ビームサーチ、グリーディサーチ」
派生文法とは 動詞の語形変化について
派生文法とは 日本語は活用していないといった考えの文法。 ひらがなやカタカナを文字単位でなく音素単位で日本語の変化を考える。 学校文法では動詞の「書く」の語幹は「書」としているが、派生文法では「kak」 を語幹として見て、未然形、連用形、終止形、連体形、仮定形、命令形にして いる。 学校文法 派生文法 未然形 書か・ない
Kak-(a)na-I 連用形 書き・ます Kak-imas-u 終止形 書く Kak-(r)u 連体形 書く Kak-(r)u 仮定形 書け・ば Kak-eba 命令形 書け Kak-e
Kak:書k (r)are:受動・可能・尊厳 (r)u:非完了態 語幹 派生接尾辞 終止形、連体形の統語接尾辞 派生文法での動詞の形状変化 Tabe:食べ (i)mas:丁寧 (i)ta:完了態
探索アルゴリズム 探索アルゴリズムの基礎と言語処理への展開
幅優先探索 ノードの深さが同じものを優先的に探索する探索手法 1 3 2 5 4 9 10 6
7 8
ビームサーチ B個の仮説からなるビームを使った探索方法 ビタビアルゴリズムを行うが格ノードでB個の仮説しか展開しない Bがすべての仮説を包括するばあい幅優先探索と同じになる。
ビームサーチ 例 「彼 だけ が 走った 」で考える B=2の場合 <S> 名詞
動詞 前置詞 彼 だけ が 走った 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ </S>
ビームサーチ 例 「彼 だけ が 走った 」で考える B=2の場合 <S> 名詞
動詞 前置詞 彼 後置詞 ・ ・ ・ 1文字目が彼である点数 Score[“1 名詞”] =−(名詞|<S>)+ -logP(彼|名詞) Score[“1 動詞”] =−(動詞|<S>)+ -logP(彼|動詞) Score[“1 前置詞”] =−(名詞|<S>)+ -logP(彼|前置詞) Score[“1 後置詞”] =−(名詞|<S>)+ -logP(彼|後置詞) この2つのスコア がいいっぽい
ビームサーチ 例 「彼 だけ が 走った 」で考える B=2の場合 名詞 動詞
前置詞 彼 後置詞 ・ ・ ・ 2文字目が「だけ」である点数 Score[“2 名詞”] = min( Score[“1 名詞”] + -logP(名詞|名詞) + -log P(だけ|名詞), Score[“1 動詞”] + -logP(名詞|動詞) + -log P(だけ|名詞), Score[“1 前置詞”] + -logP(名詞|前置詞) + -log P(だけ|名詞), Score[“1 後置詞”] + -logP(名詞|後置詞) + -log P(だけ|名詞), ・・・ ) Score[“2 動詞”] =min( ・・・ 名詞 動詞 前置詞 だけ 後置詞 ・ ・ ・
深さ優先探索 ノードを進める深さまで進み、最大の深さになったら1つ戻りまた探 索を始める手法 1 8 2 6 3 5 7
9 10 4
グリーディサーチ あるノードの深さでの点数が一番大きい仮説だけを選択していく 手法 ノード深さを考えずに点数が大きい仮説を探索することで深さ優先 探索と同じような処理を行うことができる。
グリーディサーチ 例 「彼 だけ が 走った 」で考える <S> 名詞 動詞
前置詞 彼 だけ が 走った 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ 名詞 動詞 前置詞 後置詞 ・ ・ ・ </S>
グリーディサーチ 例 「彼 だけ が 走った 」で考える <S> 名詞 動詞
前置詞 彼 後置詞 ・ ・ ・ 1文字目が彼である点数 Score[“1 名詞”] =−(名詞|<S>)+ -logP(彼|名詞) Score[“1 動詞”] =−(動詞|<S>)+ -logP(彼|動詞) Score[“1 前置詞”] =−(名詞|<S>)+ -logP(彼|前置詞) Score[“1 後置詞”] =−(名詞|<S>)+ -logP(彼|後置詞) このスコアが いいっぽい
グリーディサーチ 例 「彼 だけ が 走った 」で考える 名詞 動詞 前置詞
彼 後置詞 ・ ・ ・ 2文字目が「だけ」である点数 Score[“2 名詞”] = Score[“1 名詞”] + -logP(名詞|名詞) + -log P(だけ|名詞) 名詞 動詞 前置詞 だけ 後置詞 ・ ・ ・ Score[“2 動詞”] = Score[“1 動詞”] + -logP(動詞|名詞) + -log P(だけ|動詞) Score[“2前置詞”] = Score[“1 前置詞”] + -logP(前置詞|名詞) + -log P(だけ|前置詞) Score[“2 後置詞”] = Score[“1後置詞”] + -logP(後置詞|名詞) + -log P(だけ|後置詞) このスコアが いいっぽい