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
250
探索アルゴリズムと派生文法について
長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩
Ayumu
January 17, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
160
マルチモーダル学習
ayumum
0
150
B3ゼミ 自然言語処理におけるCNN
ayumum
0
100
言語処理年次大会報告
ayumum
0
97
ニューラルネット4
ayumum
0
110
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
160
ニューラルネット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
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
160
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
ローカルLLMでファインチューニング
knishioka
0
150
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
360
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.1k
Welcome to the LLM Club
koic
0
170
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
3
1.1k
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
230
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
210
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
The World Runs on Bad Software
bkeepers
PRO
69
11k
How to Ace a Technical Interview
jacobian
277
23k
How STYLIGHT went responsive
nonsquared
100
5.6k
Practical Orchestrator
shlominoach
188
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Being A Developer After 40
akosma
90
590k
It's Worth the Effort
3n
185
28k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
We Have a Design System, Now What?
morganepeng
53
7.7k
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(だけ|後置詞) このスコアが いいっぽい