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
260
探索アルゴリズムと派生文法について
長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩
Ayumu
January 17, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
170
マルチモーダル学習
ayumum
0
160
B3ゼミ 自然言語処理におけるCNN
ayumum
0
100
言語処理年次大会報告
ayumum
0
100
ニューラルネット4
ayumum
0
110
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
170
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
170
ニューラルネット実践
ayumum
0
120
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
190
Other Decks in Technology
See All in Technology
Expertise as a Service via MCP
yodakeisuke
1
160
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
280
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
190
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
1
330
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
1.6k
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
610
【2025 Japan AWS Jr. Champions Ignition】点から線、線から面へ〜僕たちが起こすコラボレーション・ムーブメント〜
amixedcolor
1
110
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
330
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
4
1.8k
ML Pipelineの開発と運用を OpenTelemetryで繋ぐ @ OpenTelemetry Meetup 2025-07
getty708
0
320
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
3
160
人と生成AIの協調意思決定/Co‑decision making by people and generative AI
moriyuya
0
170
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How STYLIGHT went responsive
nonsquared
100
5.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Unsuck your backbone
ammeep
671
58k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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(だけ|後置詞) このスコアが いいっぽい