文法再入門

Download Report

Transcript 文法再入門

修正版
自然言語処理2013
No.13
東京工科大学
コンピュータサイエンス学部
亀田弘之
今日の内容
• 文法再入門
今日はお話しが中心です.
へーそうなんだ,といった興味本位で聞いてください.
2
いろいろな文法理論
• 日本語文法の現状
• 構造主義的文法理論
• ソシュールの文法理論
• チョムスキーの文法理論
• 結合価文法
• (依存関係文法)
• その他
3
日本語文法の現状
• 大槻文彦文法
• 山田孝雄文法(“最後の国学者”)
• 松下大三郎文法
• 橋本進吉文法(文節,学校文法のもとになったもの)
• 時枝文法(詞と辞,言語過程説,事としての言語観)
• 学校文法(日本の小学校・中学校で習う文法)
• 宣教師たちの文法
• Chamberlainの文法(近代的日本語研究の先駆者)
• 本居春庭(宣長の子供)の動詞活用研究(詞の八衢)
• その他(三上文法)
様々な提案がなされているが,決定版はまだない
4
日本語研究の現状
• 言語学の流派
• 明治以降,海外の言語学研究に影響されたもの
• 国語学の流派
• 江戸時代の国学の流れを受け継いでいるもの
• 日本語学の流派
• 外国語教育を目的としているもの
• その他
(注)文法研究が不十分な言語は,日本語だけではなく,
英語文法の場合もまだまだ発展途上である.
5
考察・検討
(事実)日本語の文法は現在もなお未解決問題であ
る(解明されていない).“日本語”という言語には,
何らかの制約・規則・規約(constraint, rule, protocol)
としての文法があることは事実として認めて良いであ
ろう.
例えば,
「長岡半太郎は日本の物理学者である」
「onakaga suitayo.」
は日本語として正しい(意味が取れる)が,
「は物理学者である日本長岡半太郎の」
「 Es war ein König in Thule.」
は正しくない(意味が取れない).
6
問題提起
事実(日本語とは,あるいは,文法とは何か?)を
我々が認識できたとする.それを表現化(言語化・
文字化・記号化)するためには,表現方法自体が問
題となる.
例で考えてみる.
7
設問 3の倍数は何個あるか?
• 設定: N=10とし,N以下の場合を考える.
• 事実: N以下の3の倍数(正数のみで考える)は,
3,6,9 の3個.
8
解答例
1. 3, 6, 9 の3個.
2. 集合S={ n | n <=10, 3|n } として,#S個.
3. C/C++言語プログラム(その1):
for(int n = 1; I < 10; n++ ){
if(n%3 == 0) count = count + 1;
}
printf(“%d個ある\n”, count);
4. C/C++言語プログラム(その2):
N = 10;
printf(“%d個ある\n”, N/3);
5. その他
9
問題:どれが正しい解答(=知識の記述)?
解答例
1. 3, 6, 9 の3個.
2. 集合S={ n | n <=10 } として,#S個.
3. C/C++言語プログラム(その1):
for(int n = 1; I < 10; n++ ){
if(n%3 == 0) count = count + 1;
}
printf(“%d個ある\n”, count);
4. C/C++言語プログラム(その2):
N = 10;
printf(“%d個ある\n”, N/3);
5. その他
10
人間の理解モデル
考察対象
(言語,文法)
認知
(認識×理解)
(直観・発見)
概念
記号化
実験・観察・分析
発見・認知・表現
体系化
11
得られた知見
• 1つのものに対する表現方法は複数あり得る.
(当たり前?)
int factorial(int N){
int i;
int fact = 1;
if( N == 0 ) return 1;
for( i = 1; i <= N; i++ ){
fact = fact * i;
}
return( fact );
}
function fact N
integer fact
fact=1
if(N eq 0) then
return 1
do 1000 i=1,N
fact = fact*I
1000 continue
end.
(defun fact (N)
(if (= N 0)
1
(* (fact (- N 1)) N))
)
12
文法の様々な側面
• 規範文法(prescriptive grammar)
• 言語のあるべき姿を規定する文法
• 記述文法(descriptive grammar)
• 言語のあるがままの姿を書き下す文法
13
結局,そもそも“文法”とは何?
(自分の答えを書いてください)
“文法”とは,...
(ヒント) 説明するために役立つ用語を書き出してみよう!
14
文法理論体系
• 音韻論
• 語彙論
• 形態論
• 統語論
• 意味論
• 語用論
15
文法理論体系
• 音韻論(音素,音韻,音声など)
• 語彙論(単語など)
• 形態論(語構成論など)
• 統語論(統語構造)
• 意味論(意味(semantics))
• 語用論(言語表現とその使用者・文脈との関係)
16
言語について語るとき,
避けて通ることのできない人たち
• Ferdinand de Saussure(構造主義の創始者)
• Norm Chomsky(オートマトンと言語理論)
• J-P. Sartre
• J. Derrida’ 脱構築(desconstruction)
• R. Jakobson(言語学)
• S. Freud(心理学) など
17
チョムスキー(1人目)
• 形式言語理論を確立
• 形式言語の処理装置(automaton)を明らかにした
• 形式言語と処理装置の関係を明らかにした
18
文法
• 文法G=( Vn, Vt, P, S ):
• ただし、
•
•
•
•
Vn:
Vt:
P:
S:
非終端記号の集合
<= 構文木構成要素の集合
終端記号の集合 <= 単語の集合
書き換え規則の集合
開始記号
19
事実
1. 文は無限個存在する。
• (注)単語は有限個ではある.
2. 意味のある文をすべて集めた集合は、
1つの言語を定める。
• これはチョムスキーの定義(思想)
• 任意の単語列(形式的な文,無意味な文も含まれる)に
対して,意味があるものとないものとを区別したい。
• つまり、任意の文に対して、それが言語Lの文か否かを
判定したい。
• そんなことできるのだろうか?
(事実:我々はできている.)
20
アイデア1)
• 我々はすべての文を事前に知っている.
つまり,自分の母語に関する文(意味のある文)は
すべて知っている(記憶されている).
文S1
オートマトン
S1は言語Lの
文だよ!
S1 S2 S3
… Sn
図.意味ある文とそうでない文とを識別するシステム
21
問題点
1. すべての文を知ることはできるのか?
会話文の単語数:10個程度
人の発話速度:1分当たり:10文程度
一日(8時間)に接する文の総数(延べ):
10[文/分]×60[分]×24[時間]×365[日]×10年
=約 5.3107 個
(注)意味ある文の個数は実質有限個?
2. 識別処理動作が止まらないことがある.我々人
間は有限時間に処理を終えるのに...
22
アイデア2)
• 文は無限個.
• これを有限の記述(規則)で捉えたい.
• これを文法と呼ぼう!(チョムスキーの思想)
• 文法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
23
結論
言語と文法の関係
---------------------------------------------------------------言語 (languages)
文法(grammar)
---------------------------------------------------------------• 句構造言語(PSL)
⇔
句構造文法(PSG)
• 文脈依存言語(CSL)
⇔
文脈依存文法(CSG)
• 文脈自由言語(CFL)
⇔
文脈自由文法(CFG)
• 正規言語(RL)
⇔
正規文法(RG)
---------------------------------------------------------------計算モデルやプログラミング言語設計に
深くかかわっています。
24
結論
言語とオートマトンの関係
---------------------------------------------------------------言語 (languages)
処理装置 (devices)
---------------------------------------------------------------• 句構造言語(PSL)
⇔
チューリングマシン
• 文脈依存言語(CSL)
⇔
線形有界オートマトン
• 文脈自由言語(CFL)
⇔
プッシュダウンオートマトン
• 正規言語(RL)
⇔
有限オートマトン
---------------------------------------------------------------計算モデルやプログラミング言語設計に
深くかかわっています。
25
その後の発展
言語理論
オートマトン
• 正規文法
→ 正規表現
• 文脈自由文法
→ プログラミング言語
→ Bakus-Naur Form
• その他
弱文脈依存文法
• チューリングマシン
→ 計算論
計算の概念,計算可能性,
計算量,計算効率(データ
構造とアルゴリズム)など
• その他
(mildly context-sensitive
grammar), GPSGなど
26
考察
• チョムスキーは,アメリカの構造主義者とみなされ
ている.
• アメリカの構造主義とは,スキナーらの心理学(行
動主義, Behaviorism)の思想であり,atomism(ア・
プリオリ(a priori)に個々の実体があり,それらの
総和が全体を創るという要素主義).
• チョムスキーも,原子的なもの(終端記号や非終端
記号)からすべてが構成されている,と考えている
ことにもなる.それらに,生成規則(書き換え規則)
が適用されている.生成規則は自然物理解におけ
る“法則”に相当?
27
ソシュール(2人目)
• 欧州を中心とする“構造主義”の創始者
• 科学的パラダイム転換*に寄与
• そもそも“言語学”は科学的研究ではなかった.
• 言語の研究を科学的なものにしたのがソシュール.
• そもそも“科学的(scientific)”とはどういうことなのか?
(注)パラダイムシフト: Thomas Kuhnの提唱した理論.
28
• Epistemology((科学的)認識論)
何が科学的か?
例:言語学は科学的か?
科学的真理とは何か?
科学的とは何か?
 思想の側からの科学批判(Wertkritik) ← M. Weber
例:演繹推論だけが科学的なのか?
データ・経験に基づく帰納推論は科学的なのか?
理論に基づくものだけが科学的なのか?
• 価値批判(Wertkritik)  Epistemology
発展課題 “科学的” とはどういうことを意味するのか? 考えてみよう!
29
ソシュールの理論(一部)
• ラング(langue,体系としての言語)
• パロール(parole,個々の発話や書かれた文)
• ランガージュ(langage,言語能力)
• シニフィエ(signifié)とシニフィアン(signfiant)
イヌ
30
ソシュールの理論(一部)
• ラング(langue,体系としての言語)
• パロール(parole,個々の発話や書かれた文)
• ランガージュ(langage,言語能力)
• シニフィエ(signifié)とシニフィアン(signfiant)
イヌ
シニフィアン
シニフィエ
31
結合価理論(Valency theory)
• テニエールが(依存関係文法を)提唱
• 日本語における結合価文法研究(西野)
• 日本語動詞の結合価(三省堂)
• ドイツ語文法版
• ドイツ語辞書,ドイツ語文法(Duden)
(参考)似たものとして,依存関係文法というのもある.
32
今日のまとめ
• 文法って色々あり,まだまだ研究しなければならない.
• ではどうやって?
1.
2.
3.
4.
5.
6.
7.
用例を一所懸命手作業で集める?
プログラムを作ってデータを集めたり分析する.
データマイニングツールやシステムを作る.
既存の機械学習(人工知能理論,統計理論)を駆使する.
新たな機械学習理論を構築し,システムとして実現する.
脳科学や心理学の研究(ヒト自体の研究)を頑張る.
それとも...
(連絡事項)次回は1月20日(月),次々回は1月22日(水)です.
33