2006 no 2 19 10 3
Download
1 / 103

言語プロセッサ 2006 -No.2( 平成 19 年 10 月 3 日 )- - PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on

言語プロセッサ 2006 -No.2( 平成 19 年 10 月 3 日 )-. 東京工科大学 コンピュータサイエンス学部 亀田弘之. 数式の例. A = B*3.14 + C/A Area = 2*3.14*R*R. 数式の解析. kingaku = teika + teika * shouhizei. =. kingaku. +. teika. *. teika. shouhizei. 数式の解析. 読み込み(文字列として) “ kingaku = teika + teika * shouhizei”

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 言語プロセッサ 2006 -No.2( 平成 19 年 10 月 3 日 )-' - eugenia-weber


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
2006 no 2 19 10 3

言語プロセッサ2006-No.2(平成19年10月3日)-

東京工科大学

コンピュータサイエンス学部

亀田弘之


数式の例

  • A = B*3.14 + C/A

  • Area = 2*3.14*R*R


数式の解析

  • kingaku = teika + teika * shouhizei


kingaku

+

teika

*

teika

shouhizei

数式の解析

  • 読み込み(文字列として)“kingaku = teika + teika * shouhizei”

  • 要素(token)の切り出し“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”

  • 要素の相互関係の分析


ソース言語

読み込み

字句解析

分析

構文解析

中間語生成

合成

コード生成

目的言語


kingaku

+

teika

*

teika

shouhizei

数式の解析

  • 読み込み(文字列として)“kingaku = teika + teika * shouhizei”

  • 要素(token)の切り出し“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”

  • 要素の相互関係の分析


kingaku

+

teika

*

teika

shouhizei

数式の解析

  • 読み込み(文字列として)“kingaku = teika + teika * shouhizei”

  • 要素(token)の切り出し“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”

  • 要素の相互関係の分析


kingaku

+

teika

*

teika

shouhizei

数式の解析

  • 読み込み(文字列として)“kingaku = teika + teika * shouhizei”

  • 要素(token)の切り出し“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”

  • 要素の相互関係の分析


kingaku

+

teika

*

teika

shouhizei

数式の解析

  • 読み込み(文字列として) 読み込み“kingaku = teika + teika * shouhizei”

  • 要素(token)の切り出し  語句解析“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”

  • 要素の相互関係の分析 構文解析


数式の解析

  • 読み込み

    • ファイルからの入力技法

  • 語句解析

    • 有限オートマトンの理論

    • 正規文法

    • 正規表現

  • 構文解析

    • 線形有界オートマトン理論

    • 文脈自由文法


前提知識

  • 言語理論とオートマトン

    • 前期科目「言語理論とオートマトン」(横井教授)

    • 抽象的・論理的な思考への慣れ

  • プログラミング技法

    • 今までいろいろと習ってきましたよね!

    • 基本的な知識があれば一応OK

    • ファイルの入出力が難しい人もいるかも…


学んで得られるもの

  • 言語理論とオートマトン

    • 抽象的・論理的な思考への慣れ

    • ソフトウェア分野における基本的概念

      • 正規表現 etc.

      • プログラミング言語へのより深い理解

  • プログラミング技法

    • プログラミング力(知識)アップ

    • 洗練されたアルゴリズムの理解  などなど



それでは基礎知識の話から言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

(今日の本題です。)


そもそも言語とはなにか?言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!(CSでは言語をどうとらえるのか?)=>言語理論


言語理論とオートマトンの授業を言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!覗いてみよう


Automaton languages

オートマトンと言語言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!Automaton & Languages

平成16年度開講科目


オートマトンとは言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • Automaton (pl. automata)

  • Αυτοματον(ギリシア語)

    (pl. Αυτοματα)

  • 自動機械


!言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

?

I have a book.

英語だ!


Tut mir Leid.言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

???!


Automaton言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

記号列

Aha!


一般化言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 単語の一般化

    I ⇔x1, have ⇔x2, a ⇔ x3, book ⇔ x4,

    . ⇔ x5, ・・・, kanete ⇔ xn-1, ;⇔ xn


言語の形式的定義言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 単語w: X1, X2, X3, ・・・, Xn (はじめに単語ありき)

  • 語彙V (Vocabulary) : 単語の集合

    V = { X1, X2, X3, ・・・, Xn } (有限集合)

  • 文(sentence): 単語の並び(単語の列)

    (注)

    • Vの要素( X1や X2など)は単語

    • S1 = Xa Xb Xc Xdなど

    • でも何でも良いわけではない。


言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 語彙V={ birds, fly }

  • 文:={ birds, fly,

    birds birds, birds fly, fly birds, fly fly,

    birds birds birds, birds birds fly,

    birds fly birds, fly birds birds,

    birds fly fly, fly birds fly, fly fly birds,

    … }

    (無限個存在する!)


考察言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 文は無限個存在する。

    (単語は有限個)

  • 英語として意味のあるものとそうでないものとが混ざっている。

    ⇒ 英語として意味のある文をすべて集めた集合は、 1つの言語L(今の場合は英語)を定める。

    ⇒ 意味があるものとないものとを区別したい。

    つまり、任意の文に対して、それが言語Lの文か 否かを判定したい。


  • そんなことできるのだろうか?言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

    でも、人間はやっているよ!

    じゃあ、できるんだね!(信念)

    自動機械(オートマトン)を作ってみよう!


作成のためのアイデア言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • はじめに言語Lの文すべてを知っているならば、下記のような機械ができる。

S1は言語Lの文だよ!

文S1

オートマトン

S1S2S3

… Sn


問題点1言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • でも、

    「言語Lの文すべてを知っている」

    なんて、不可能だよ!

  • 例:「2006年10月4日は、言語プロセッサの授業が、講A202教室で、パワーポイントを用いて行われた。」 という文をあなたは事前に知っていましたか?


問題点2言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • もし何らかの方法により、事前に言語Lのすべての文を知っていたとしても...

    Lの文の集合が無限集合のときは、このプログラムは

    停止しないことがある!!!

s = get_sentence();

if ( s ∈ Lの文の集合 ) then

s は Lの文である

else

s は Lの文ではない

end if


それではどうしようか?!言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!


ここまでのまとめ言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 言語

    • 意味のある文の集合

  • 文法の必要性

    • ある言語(例えば日本語)の文すべてをあらかじめ知っているなんてことは不可能!

  • オートマトン

    • ある文が対象としている言語Lの文なのかを自動判定する装置


どうも文法が大切らしい。言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!もう少し文法について学んでみよう!


Automaton languages1

オートマトンと言語言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!Automaton & Languages

平成16年度開講科目

2回目


文法とは?言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 一般的な定義:

    • 規範としての文法

    • 言語現象記述のための文法


規範としての文法(1)言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 「何々でなければならない」規則集

  • 「ら抜きことば」は間違っている

  • 若者語はけしからん!

  • この考え方の根底には、「言語とは社会的なものであり、みながその規約を守らなければ、言語は適切に機能しない。」という思想がある。

  • 従って、「この事実と言語(文法)そのものを、規範として学校で教えるべきである。」という具合になる。


規範としての文法(2)言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 規範文法とは:

    • その言語を使用する人たちが皆で守り従わなければならない言語に関する規則の総体。


規範文法への批判(1)言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • でも、ら抜き言葉は多くの人に使われていますよ!

  • これって、もう“日本語”ではないの?

  • 今の日本語の中には、かつての日本語では使われていないものもありますよね。

  • 言語は変化しますよね。


規範文法への批判(2)言語プロセッサ関連は、コンピュータサイエンスの英知が集積されている!

  • 言語変化の実例:

    • 「進歩する」(100年ほど前は「進歩をする」)

    • 「更なる進化」(20年ぐらい前は「更に進歩する」)

    • It’s bad! It’s cool.

      など



  • さらにもう一歩考えをすすめて...規範文法も「言語政策」・「言語教育」のために重要だが、現在使われている日本語に関する言語規則はどうなっているのか?

  • 「あらゆる言語に共通の言語規則はあるの?」と考えるのが、「一般普遍文法」である。

  • これについて、少し詳しく話すと...


一般普遍文法(1)規範文法も「言語政策」・「言語教育」のために重要だが、現在使われている日本語に関する言語規則はどうなっているのか?

  • 前回のオートマトンの説明を思い起こすと…

  • すべての子供はやがて言葉を話しはじめる。

  • 日本人のこどもも、エスキモーのこどもも、

    エジプトのこどもも…

  • 人種・民族にかかわらず話し始める。

  • でも、日本人は日本語、エスキモー人はエスキモー語をしゃべり始める。Why?


Because
Because規範文法も「言語政策」・「言語教育」のために重要だが、現在使われている日本語に関する言語規則はどうなっているのか?…

  • その言語をしゃべる環境で育ったから?

  • 環境が習得言語を決める?

  • でも、なぜ基本的に人は皆しゃべり始めるの?

  • ミミズはしゃべらないのに?(ホント?)

  • それは、...


ホントにしゃべれるようになるのかなぁ規範文法も「言語政策」・「言語教育」のために重要だが、現在使われている日本語に関する言語規則はどうなっているのか?

これが私の基本的考えです。

僕にもこんな装置がほしいなぁ…

  • すべてのヒトは、

    • 言語に依存しない普遍的な処理能力をもった装置(device)を生得的に持っており、

    • 個別言語に関する知識は後天的に獲得されるからだ。



ここからが大切その知識は、「文法」という形で獲得される。


文法の定義その知識は、「文法」という形で獲得される。

  • 文法G=( Vn, Vt, P, S ):

    • ただし、

      • Vn: 非終端記号の集合

      • Vt: 終端記号の集合

      • P: 書き換え規則の集合

      • S: 開始記号


文法その知識は、「文法」という形で獲得される。

  • 文法G=( Vn, Vt, P, S ):

    • ただし、

      • Vn: 非終端記号の集合 <= 構文木構成要素の集合

      • Vt: 終端記号の集合 <= 単語の集合

      • P: 書き換え規則の集合

      • S: 開始記号


例1その知識は、「文法」という形で獲得される。-1

  • G=(Vn, Vt, P, S)

    • Vn = { S, NPs, NPo, VP, PN, DET, N }

    • Vt = { I, You, have, throw, a, the, book, ball }

    • P = { ①:S → NPs VP, ②:NPs → PN,

      ③:PN → I, ④:PN → You,

      ⑤:NPo → DET N, ⑥:VP → V NPo,

      ⑦:DET → a, ⑧:DET → the,

      ⑨:N → book, ⑩:N → ball,

      ⑪:V → have, ⑫:V → throw }


例1その知識は、「文法」という形で獲得される。-2

  • S => NPs VP by ①

    => PN VP by ②

    => I VP by ③

    => I V NPo by ⑥

    => I throw NPo by ⑫

    => I throw DET N by ⑤

    => I throw a N by ⑦

    => I throw a ball by ⑩


例1その知識は、「文法」という形で獲得される。-2

開始記号

適応規則

非終端記号

  • S => NPs VP by ①

    => PN VP by ②

    => I VP by ③

    => I V NPo by ⑥

    => I throw NPo by ⑫

    => I throw DET N by ⑤

    => I throw a N by ⑦

    => I throw a ball by ⑩

終端記号


例1その知識は、「文法」という形で獲得される。-2

  • S => NPs VP by ①

    => PN VP by ②

    => I VP by ③

    => I V NPo by ⑥

    => I throw NPo by ⑫

    => I throw DET N by ⑤

    => I throw a N by ⑦

    => I throw a ball by ⑩

終端記号のみの列


例1その知識は、「文法」という形で獲得される。-2に対する問題

  • これを木(tree)として記述せよ。

  • この文法Gにより生成される文をすべて列挙せよ。


言語の定義その知識は、「文法」という形で獲得される。

  • 言語Lとは、文法Gにより生成されるあらゆる文の集合のこと。

  • つまり、L=L(G)。


Palindrome
問題(その知識は、「文法」という形で獲得される。Palindrome)

  • Palindromeのみを生成する文法を示せ。

    ただし、

    G=( Vn, Vt, P, S )

    Vn = { S }, Vt = { a, b, c }

    とする。


ヒントその知識は、「文法」という形で獲得される。

  • Palidromeの性質

    • ε, a, b, c はPalindrome。

    • wがPalindromeならば、

      xwx (x ∈ Vt)

      もPalindrome。

      3. 上記1と2のもののみがPalindrome。


文法の分類その知識は、「文法」という形で獲得される。

  • 文法にはいくつかの種類がある。

  • それに応じて、処理装置・処理方法が異なってくる。


ここまでのまとめその知識は、「文法」という形で獲得される。

  • 文法 :G=( Vn, Vt, P, S ):

    • ただし、

      • Vn: 非終端記号の集合 <= 構文木構成要素の集合

      • Vt: 終端記号の集合 <= 単語の集合

      • P: 書き換え規則の集合

      • S: 開始記号

  • 言語 :L=L(G)


Automaton languages2

オートマトンと言語その知識は、「文法」という形で獲得される。Automaton & Languages

平成16年度開講科目

3回目


前回までの復習その知識は、「文法」という形で獲得される。

  • 人間の頭の中には、言語処理装置がある。

  • すべての文を記憶しているわけではない。

  • 文法として記憶している。

  • 文法とは何か?

    • 規範文法(Prescriptive Grammar)

    • 記述文法(Descriptive Grammar)

  • 形式文法と形式言語


形式文法と形式言語その知識は、「文法」という形で獲得される。

  • 文法G = ( Vn, Vt, P, S ):

    • ただし、

      • Vn(非終端記号の集合): 0 < #Vn < +∞

      • Vt: 終端記号の集合: 0 < #Vt < +∞

      • P: 書き換え規則の集合

        {α→β| α, β ∈ (Vn∪Vt)*}

      • S: 開始記号(S∈Vn)

  • 言語L = L(G) = { x | S =*> x }

    • ただし、S => ・・・ => x ∈ Vt


形式文法と形式言語(例)その知識は、「文法」という形で獲得される。

  • 文法G = ( Vn, Vt, P, S ):

    • Vn ={S}, Vt={}

    • P={ }

  • 言語L = L(G) = { x | S =*> x }


言語の階層(重要)その知識は、「文法」という形で獲得される。

  • 言語は文法の種類に応じて、階層構造をなしている。

    • 句構造言語 ⇔ 句構造文法

    • 文脈依存言語 ⇔ 文脈依存文法

    • 文脈自由言語 ⇔ 文脈自由文法

    • 正規言語 ⇔ 正規文法

一般的

特殊的

Chomsky階層(Chomsky Hierarchy)とも言う。


Phrase structure grammar psg
句構造文法その知識は、「文法」という形で獲得される。(Phrase-Structure Grammar; PSG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      {α→β| α, β ∈ (Vn∪Vt)*}

    • S: 開始記号(S∈Vn)


Phrase structure grammar psg1
句構造文法その知識は、「文法」という形で獲得される。(Phrase-Structure Grammar; PSG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      {α→β| α, β ∈ (Vn∪Vt)*}

    • S: 開始記号(S∈Vn)


Phrase structure grammar psg2
句構造文法その知識は、「文法」という形で獲得される。(Phrase-Structure Grammar; PSG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      {α→β| α, β ∈ (Vn∪Vt)*}

    • S: 開始記号(S∈Vn)

ここに制限が付くと他の文法になる。


Context sensitive grammar csg
文脈依存文法その知識は、「文法」という形で獲得される。(Context-Sensitive Grammar; CSG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      {αXβ→αγβ| α, β ∈ (Vn∪Vt)*, X∈Vn, γ∈ (Vn∪Vt)+ }

    • S: 開始記号(S∈Vn)


Context free grammar cfg
文脈自由文法その知識は、「文法」という形で獲得される。(Context-Free Grammar; CFG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      { X→α| α∈ (Vn∪Vt)*}

    • S: 開始記号(S∈Vn)


Regular grammar rg
正規文法その知識は、「文法」という形で獲得される。(Regular Grammar; RG)

  • 文法G = ( Vn, Vt, P, S ):

    • Vn(非終端記号の集合): 0 < #Vn < +∞

    • Vt: 終端記号の集合: 0 < #Vt < +∞

    • P: 書き換え規則の集合

      {X→aY, X→b| X,Y∈Vn, a,b ∈ Vt*}

    • S: 開始記号(S∈Vn)


生成規則部分の比較その知識は、「文法」という形で獲得される。

  • PSG: α→β

  • CSG: αXβ→αγβ

  • CFG: X→α

  • RG: X→aY, X→b

    • ただし、

      • α,β∈V* ・γ∈V+

      • X, Y∈Vn ・a, b∈Vt ・V=Vn∪Vt


生成規則部分の比較その知識は、「文法」という形で獲得される。

  • PSG: α→β

  • CSG: αXβ→αγβ

  • CFG: X→α

  • RG: X→aY, X→b

    • ただし、

      • α,β∈V* ・γ∈V+

      • X, Y∈Vn ・a, b∈Vt ・V=Vn∪Vt


生成規則部分の比較その知識は、「文法」という形で獲得される。

  • PSG: α→β

  • CSG: αXβ→αγβ

  • CFG: X→α

  • RG: X→aY, X→b

    • ただし、

      • α,β∈V* ・γ∈V+

      • X, Y∈Vn ・a, b∈Vt ・V=Vn∪Vt


生成規則部分の比較その知識は、「文法」という形で獲得される。

  • PSG: α→β

  • CSG: αXβ→αγβ

  • CFG: X→α

  • RG: X→aY, X→b

    • ただし、

      • α,β∈V* ・γ∈V+

      • X, Y∈Vn ・a, b∈Vt ・V=Vn∪Vt


生成規則部分の比較その知識は、「文法」という形で獲得される。

  • PSG: α→β

  • CSG: αXβ→αγβ

  • CFG: X→α

  • RG: X→aY, X→b

    • ただし、

      • α,β∈V* ・γ∈V+

      • X, Y∈Vn ・a, b∈Vt ・V=Vn∪Vt


重要その知識は、「文法」という形で獲得される。

Chomsky階層

PSG

CSG

CFG

RG


言語の包含関係その知識は、「文法」という形で獲得される。

L(PSG) ⊃ L(CSG) ⊃ L(CFG) ⊃ L(RG)

このうち、大切なのはCFGとRG。


Cfg rg
CFGその知識は、「文法」という形で獲得される。とRG

  • CFG(文脈自由文法):

    • プログラミング言語設計

    • コンパイラの構文解析

    • 自然言語処理(機械翻訳・仮名漢字変換)

  • RG(正規文法):

    • 正規表現(検索・コンパイラの語彙解析)


CFGその知識は、「文法」という形で獲得される。の特徴

  • CFGには標準形がある。

  • 導出の過程を木で表現できる(導出木の存在)。

  • 解析手法が豊富に知られている。

  • 自然言語処理に部分的に適用できる。

  • プログラミング言語設計に利用されている。


1.その知識は、「文法」という形で獲得される。CFGの標準形

  • Chomskyの標準形

  • Greibachの標準形


Chomsky
Chomskyその知識は、「文法」という形で獲得される。の標準形

  • 任意のCFGにおける書き換え規則群Pは、A→BC または A→a という形だけで表現できる。 


Greibach
Greibachその知識は、「文法」という形で獲得される。の標準形

  • 任意のCFGにおける書き換え規則群Pは、A→aα という形だけで表現できる。ただし、X∈Vn, a∈Vt, α∈Vn*。 


Chomsky1
Chomskyその知識は、「文法」という形で獲得される。の標準形への変換方法

(次回のお楽しみ。事前に予習すると理解しやすいですよ。)


2.導出木その知識は、「文法」という形で獲得される。

  • 導出木とは

    • 導出の過程を木構造で表現したもの。

  • 例:

    S => SJ VP

    => Tom V ADV

    => Tom ran fast

S

SJ

VP

ADV

V

Tom

ran

fast


3.解析手法その知識は、「文法」という形で獲得される。

  • CKY法(Cocke-Kasami-Youngermethod)

  • Early法(Early’s algorithm)

  • Chart法(Chart algorithm)

  • 優先順位文法法

  • LK ( R ) 法

  • LR( k ) 法

  • LALR( k ) 法

  • SLR( k ) 法

  • LL( k ) 法    などなど


解析手法は重要なので後日あらためて取り上げます。解析手法は重要なので後日あらためて取り上げます。

  • 機械翻訳・通訳電話などの自然言語処理

  • コンパイラ

    などで応用されている。


参考文献解析手法は重要なので後日あらためて取り上げます。

  • 文法:

    • 英語学概論 -三大文法の流れと特徴-,松井千枝,朝日出版(1980).


ここまでのまとめ解析手法は重要なので後日あらためて取り上げます。

  • 言語には階層がある(Chomsky階層)

  • 正規言語(正規文法)は語句解析に深い関係がある。

  • 文脈自由言語(文脈自由文法)は構文解析に深い関係がある。


もう少し話を進めましょう!解析手法は重要なので後日あらためて取り上げます。


文法と言語とオートマトン解析手法は重要なので後日あらためて取り上げます。

  • 句構造文法(PSG)

  • 文脈依存文法(CSG)

  • 文脈自由文法(CFG)

  • 正規文法(RG)


言語の階層(重要)解析手法は重要なので後日あらためて取り上げます。

  • 言語は文法の種類に応じて、階層構造をなしている。

    • 句構造言語 ⇔ 句構造文法

    • 文脈依存言語 ⇔ 文脈依存文法

    • 文脈自由言語 ⇔ 文脈自由文法

    • 正規言語 ⇔ 正規文法

一般的

特殊的

Chomsky階層(Chomsky Hierarchy)とも言う。


重要解析手法は重要なので後日あらためて取り上げます。

Chomsky階層

PSG

CSG

CFG

RG


文法と言語とオートマトン解析手法は重要なので後日あらためて取り上げます。

-----------------------------------------------------

文  法   処理装置

-----------------------------------------------------

  • 句構造文法(PSG) ⇔ ?

  • 文脈依存文法(CSG) ⇔ ?

  • 文脈自由文法(CFG) ⇔ ?

  • 正規文法(RG) ⇔ ?

    -----------------------------------------------------


文法と言語とオートマトン解析手法は重要なので後日あらためて取り上げます。

----------------------------------------------------------------

文  法   処理装置

----------------------------------------------------------------

  • 句構造文法(PSG) ⇔ Turing 機械

  • 文脈依存文法(CSG) ⇔ 線形有界オートマトン

  • 文脈自由文法(CFG) ⇔ プッシュダウンオートマトン

  • 正規文法(RG) ⇔ 有限オートマトン

    ----------------------------------------------------------------


まずは有限オートマトンから解析手法は重要なので後日あらためて取り上げます。


有限オートマトンのイメージ解析手法は重要なので後日あらためて取り上げます。

セル

  • FAの概観

入力記号

ai-1

a1

a2

ai

an

・・・

・・・

・・・

qk

入力テープ

ヘッド

内部状態


有限オートマトンの定義解析手法は重要なので後日あらためて取り上げます。

FA = ( K, Σ, δ, q0, F )

ただし、

K : 状態の集合( Kは有限集合)

Σ : 入力アルファベット(Σは有限集合)

δ : 状態遷移関数

δ: K×Σ∋( a, qi ) → qj ∈ K

q0: 初期状態

F : 最終状態の集合 ( F ⊆ K )


次回、この続きを話します。解析手法は重要なので後日あらためて取り上げます。

  • 有限オートマトン

    • 決定性有限オートマトン

    • 非決定性有限オートマトン

  • 正規表現

  • 正規表現から有限オートマトンの生成

  • 状態数最少有限オートマトン

  • 正規表現→非決定性有限オートマトン→決定性有限オートマトン→状態数最少有限オートマトン


ad