Upgrade to Pro — share decks privately, control downloads, hide ads and more …

探索アルゴリズムと派生文法について

Ayumu
January 17, 2019

 探索アルゴリズムと派生文法について

長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩

Ayumu

January 17, 2019
Tweet

More Decks by Ayumu

Other Decks in Technology

Transcript

  1. 派生文法と
    探索アルゴリズム
    2019/01/17
    長岡技術科学大学 自然言語処理研究室
    学部3年 守谷 歩
    派生文法とは/「深さ優先探索、幅優先探索、
    ビームサーチ、グリーディサーチ」

    View Slide

  2. 派生文法とは
    動詞の語形変化について

    View Slide

  3. 派生文法とは
    日本語は活用していないといった考えの文法。
    ひらがなやカタカナを文字単位でなく音素単位で日本語の変化を考える。
    学校文法では動詞の「書く」の語幹は「書」としているが、派生文法では「kak」
    を語幹として見て、未然形、連用形、終止形、連体形、仮定形、命令形にして
    いる。
    学校文法 派生文法
    未然形 書か・ない Kak-(a)na-I
    連用形 書き・ます Kak-imas-u
    終止形 書く Kak-(r)u
    連体形 書く Kak-(r)u
    仮定形 書け・ば Kak-eba
    命令形 書け Kak-e

    View Slide

  4. Kak:書k (r)are:受動・可能・尊厳 (r)u:非完了態
    語幹 派生接尾辞 終止形、連体形の統語接尾辞
    派生文法での動詞の形状変化
    Tabe:食べ (i)mas:丁寧 (i)ta:完了態

    View Slide

  5. 探索アルゴリズム
    探索アルゴリズムの基礎と言語処理への展開

    View Slide

  6. 幅優先探索
    ノードの深さが同じものを優先的に探索する探索手法
    1
    3 2
    5 4
    9
    10
    6
    7
    8

    View Slide

  7. ビームサーチ
    B個の仮説からなるビームを使った探索方法
    ビタビアルゴリズムを行うが格ノードでB個の仮説しか展開しない
    Bがすべての仮説を包括するばあい幅優先探索と同じになる。

    View Slide

  8. ビームサーチ
    例 「彼 だけ が 走った 」で考える B=2の場合
    名詞
    動詞
    前置詞
    彼 だけ が 走った
    後置詞



    名詞
    動詞
    前置詞
    後置詞



    名詞
    動詞
    前置詞
    後置詞



    名詞
    動詞
    前置詞
    後置詞




    View Slide

  9. ビームサーチ
    例 「彼 だけ が 走った 」で考える B=2の場合
    名詞
    動詞
    前置詞

    後置詞



    1文字目が彼である点数
    Score[“1 名詞”] =−(名詞|)+ -logP(彼|名詞)
    Score[“1 動詞”] =−(動詞|)+ -logP(彼|動詞)
    Score[“1 前置詞”] =−(名詞|)+ -logP(彼|前置詞)
    Score[“1 後置詞”] =−(名詞|)+ -logP(彼|後置詞)
    この2つのスコア
    がいいっぽい

    View Slide

  10. ビームサーチ
    例 「彼 だけ が 走った 」で考える 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(
    ・・・
    名詞
    動詞
    前置詞
    だけ
    後置詞



    View Slide

  11. 深さ優先探索
    ノードを進める深さまで進み、最大の深さになったら1つ戻りまた探
    索を始める手法
    1
    8 2
    6 3
    5
    7
    9
    10
    4

    View Slide

  12. グリーディサーチ
    あるノードの深さでの点数が一番大きい仮説だけを選択していく
    手法
    ノード深さを考えずに点数が大きい仮説を探索することで深さ優先
    探索と同じような処理を行うことができる。

    View Slide

  13. グリーディサーチ
    例 「彼 だけ が 走った 」で考える
    名詞
    動詞
    前置詞
    彼 だけ が 走った
    後置詞



    名詞
    動詞
    前置詞
    後置詞



    名詞
    動詞
    前置詞
    後置詞



    名詞
    動詞
    前置詞
    後置詞




    View Slide

  14. グリーディサーチ
    例 「彼 だけ が 走った 」で考える
    名詞
    動詞
    前置詞

    後置詞



    1文字目が彼である点数
    Score[“1 名詞”] =−(名詞|)+ -logP(彼|名詞)
    Score[“1 動詞”] =−(動詞|)+ -logP(彼|動詞)
    Score[“1 前置詞”] =−(名詞|)+ -logP(彼|前置詞)
    Score[“1 後置詞”] =−(名詞|)+ -logP(彼|後置詞)
    このスコアが
    いいっぽい

    View Slide

  15. グリーディサーチ
    例 「彼 だけ が 走った 」で考える
    名詞
    動詞
    前置詞

    後置詞



    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(だけ|後置詞)
    このスコアが
    いいっぽい

    View Slide