東京工科大学 コンピュータサイエンス学部 亀田弘之

Slides:



Advertisements
Similar presentations
自然言語処理 平成 24 年 11 月 5 日 (No5)- 東京工科大学 コンピュータサイエンス学部 亀田弘之.
Advertisements

東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理:第3回 1.前回の確認 2.構文解析 3.格文法.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語体系とコンピュータ 第6回.
東京工科大学 コンピュータサイエンス学部 亀田弘之
1.自然言語処理システム 2.単語と形態素 3.文節と係り受け
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2014(3回目) Natural Language Processing 2014
自然言語処理2012(3回目) Natural Language Processing 2012
自然言語処理及び実習 第11回 形態素解析.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2016 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2016 -平成28年11月7日・14日(No.6&7)-
自然言語処理2011(3回目) Natural Language Processing 2011
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2013(3回目) Natural Language Processing 2013
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2015(3回目) Natural Language Processing 2015
言語プロセッサ ー第9回目ー 構文解析(続き).
自然言語処理2010(3回目) Natural Language Processing 2010
東京工科大学 コンピュータサイエンス学部 亀田弘之
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ~第10日目(形式文法2回目)~
自然言語処理2016(3回目) Natural Language Processing 2016
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2015 Natural Language Processing 2015
東京工科大学 コンピュータサイエンス学部 亀田 弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語プロセッサ ー第9回目ー 構文解析(続き).
東京工科大学 コンピュータサイエンス学部 亀田 弘之
東京工科大学 コンピュータサイエンス学部 亀田 弘之
形態素解析と構文解析 金子邦彦.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第5日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2016 Natural Language Processing 2016
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
Presentation transcript:

東京工科大学 コンピュータサイエンス学部 亀田弘之 自然言語処理2012 -平成24年11月26日(No7)- 東京工科大学 コンピュータサイエンス学部 亀田弘之

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 復習 (英文の場合の復習&確認) (今日の授業でもさっと眺めるだけにしますが、不安な人は後でじっくり読んでください。) 今日は、復習と日本語 処理の場合の話しです。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) NLPのプログラムを書いてみよう! Prologのインストール(www.swi-prolog.org) プログラム作成手順 (言語データの収集) 言語分析 <= 対象言語の知識が必要 形式文法の設定 <= 形式言語の知識が必要 Prolog形式への書き換え <= Prologの知識が必要 NLPプログラムの実行(英文処理) <=演習 構文木を出力するプログラム (draw_term/1) 動作の理解(自分で実行トレースができる) NLPプログラムの実行(日本語文処理) <=演習 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) [手順1]:言語データの収集 Tom broke the cup. 検討事項: 処理対象の文をどのようにして集めればよいのか? Webから集める? 文法書の例文を集める? 語学の教科書(例:中学校3年間の英語の教科書)の例文? 適切な例文を自分で作成? それとも... Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) [手順2]:言語分析 Tom broke the cup. 検討事項: 文法の枠組みを決めておく必要がある。 伝統的な文法に従うのか? 日本語の場合、 学校文法(大槻文法・橋本文法)? 新たに自作? それとも... Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) [手順3]:文法の設定 例 文法G=<Vn, Vt, σ, P> ここで、 ・非終端記号の集合: Vt={s, vp, np, n, v, d} ・終端記号の集合: Vn={tom, cup, broke,the} ・開始記号σ=s ・書き換え規則群P:右記の通り。 { s → n,vp. vp → v,np. np → d,n. n → tom. n → cup. v → broke. d → the. } 統語規則 単語辞書 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 例 [手順3]:Prolog形式へ変換 s(A,C):-n(A,B),vp(B,C). vp(A,C):-v(A,B),np(B,C). np(A,C):-d(A,B),n(B,C). n([tom|T],T). n([cup|T],T). v([broke|T],T). d([the|T],T). Version1(Prog1.pl) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) Version2(Prog2.pl) 例 s(A,C,s(_n,_vp)):- n(A,B,_n),vp(B,C,_vp). vp(A,C,vp(_v,_np)):- v(A,B,_v),np(B,C,_np). np(A,C,np(_d,_n)):- d(A,B,_d),n(B,C,_n). n([tom|T],T,n(tom)). n([cup|T],T,n(cup)). v([broke|T],T,v(broke)). d([the|T],T,d(the)). 確認: 前頁のversion1との      違いは何? Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 動作確認 実際にswi-Prologで実行してみよう! drawterm.pl を使うと、木構造(構文構造)を図として表示することができる。 ?- s([tom,broke,the,cup],[],P),draw_term(P). P = s(n(tom), vp(v(broke), np(d(the), n(cup)))) http://www.swi-prolog.org/ Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 今日の内容 構文解析プログラムを自作し、 作成手法を再確認する。 構文解析プログラム(英文)を自力で作成する。 構文解析プログラム(和文)を自力で作成する。 木構造表示プログラム(draw_term/1)が使える。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

1.構文解析プログラムを自作し、 作成手法を再確認する。 まずは一緒に作成してみよう。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 分析対象英文の決定 課題1:  John ran fast. (参考) 名詞(noun), 動詞(verb), 副詞(adverb) 動詞句( adverbal phrase) 文(sentence) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

2.構文解析プログラム(英文)を 自力で作成する (やってみよう)(5分) Let’s challenge! Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) ソースコードの例(未記入) 自分で書き込んでください。 統語規則部分 単語辞書部分 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 動作のトレース (黒板で説明) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 補足問題:他の処理対象文 Tom went to a park. Time flies like an arrow. Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 英文はまずはここまで 以下では、日本語処理について考えましょう。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 日本語処理 処理対象 例: 衝撃が走る 言語要素分析   衝撃   が   走る (   )  (  ) (   ) (   )     (  ) (  ) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 日本語処理 処理対象 例: 衝撃が走る 言語要素分析  衝撃   が   走る (名詞) (助詞) (動詞) (主語)     (述語) (文) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 形式文法の設定 文法 G = < Vn, Vt, σ, P > ただし、 Vn = { 文, 主語, 述語, 名詞, 助詞, 動詞 } Vt = { メロス, が, 走る } σ=文 P = { 文→主語+述語, 主語→名詞助詞,    述語→動詞} Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 形式文法の設定 文法 G = < Vn, Vt, σ, P > ただし、 Vn = { 文, 主語, 述語, 名詞, 助詞, 動詞 } Vt = { 衝撃, が, 走る } σ=文 P = { 文→主語+述語, 主語→名詞+助詞,    述語→動詞} Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) (参考メモ1) Prolog形式への書き換え 文 :- 主語, 述語. 主語 :- 名詞, 助詞. 述語 :- 動詞. 名詞(メロス). 助詞(が). 動詞(走る). Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) (参考メモ2) Prolog形式への書き換え(2) 文(A,C) :- 主語(A,B), 述語(B,C). 主語(A,C) :- 名詞(A,B), 助詞(B,C). 述語(A,B) :- 動詞(A,B). 名詞([メロス|T],T). 助詞([が|T],T). 動詞([走る|T],T). Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) (参考メモ3) Prolog形式への書き換え(3) 文(A,C,文(_主語,_述語)) :- 主語(A,B,_主語), 述語(B,C,_述語). 主語(A,C,主語(_名詞,_助詞)) :- 名詞(A,B,_名詞), 助詞(B,C,_助詞). 述語(A,B,述語(_動詞)) :- 動詞(A,B,_動詞). 名詞([メロス|T],T,名詞(メロス)). 助詞([が|T],T,助詞(が)). 動詞([走る|T],T,動詞(走る)). Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 動作の確認(動作のトレース) -? 文([メロス,が,走る],[],X). 文( A ,B, 文(_主部, _述部) Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 統語解析+形態素解析の版 今までの例は統語解析だけを行うものであった。英文ではまだしも、日本語の場合は形態素解析を避けて通ることはできない。 どうすればいいのだろうか? Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 形態素解析も合わせてできる版 文(A,C,文(_主語,_述語)) :- 主語(A,B,_主語), 述語(B,C,_述語). 主語(A,C,主語(_名詞,_助詞)) :- 名詞(A,B,_名詞), 助詞(B,C,_助詞). 述語(A,B,述語(_動詞)) :- 動詞(A,B,_動詞). 名詞([メ,ロ,ス|T],T,名詞(メロス)). 助詞([が|T],T,助詞(が)). 動詞([走,る|T],T,動詞(走る)). Natural Language Processing 2012 (Tokyo Univ. of Tech.)

次回は、ここまでの手法の 有効性や限界について考えます 次週は、これに関連して未知語処理の話しをします。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)

Natural Language Processing 2012 (Tokyo Univ. of Tech.) 自宅での課題 今日までやった内容を、自分なりにまとめ、「自然言語処理プログラムの書き方」というマニュアルを充実させなさい。 さし当って、提出は必要ありません。 Natural Language Processing 2012 (Tokyo Univ. of Tech.)