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

Slides:



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

和田俊和 資料保存場所 /2/26 文法と言語 ー正規表現とオートマトンー 和田俊和 資料保存場所
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理:第3回 1.前回の確認 2.構文解析 3.格文法.
東京工科大学 コンピュータサイエンス学部 亀田弘之
確率と統計 平成23年12月8日 (徐々に統計へ戻ります).
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語体系とコンピュータ 第6回.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
第12回  自然言語処理.
自然言語処理2014(3回目) Natural Language Processing 2014
自然言語処理2012(3回目) Natural Language Processing 2012
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2016 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2016 -平成28年11月7日・14日(No.6&7)-
Prolog入門 ーIT中級者用ー.
自然言語処理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日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2016(3回目) Natural Language Processing 2016
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンパイラ 2011年10月20日
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理2015 Natural Language Processing 2015
東京工科大学 コンピュータサイエンス学部 亀田 弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語プロセッサ ー第9回目ー 構文解析(続き).
東京工科大学 コンピュータサイエンス学部 亀田 弘之
東京工科大学 コンピュータサイエンス学部 亀田 弘之
形式言語とオートマトン Formal Languages and Automata 第5日目
自然言語処理2016 Natural Language Processing 2016
1.2 言語処理の諸観点 (1)言語処理の利用分野
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
Presentation transcript:

東京工科大学 コンピュータサイエンス学部 亀田弘之 自然言語処理2016 -平成28年10月31日(No5)- 東京工科大学 コンピュータサイエンス学部 亀田弘之

© Natural Language Processing 2016(Tokyo University of Technology) 前回の復習から 今日の課題  先週授業までであなたは何を学びましたか?列挙しなさい。 解答例)      1.○○を学んだ。      2.○○のインストール手順      3.○○の定義      4.○○という用語 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) NLPのプログラムを書いてみよう! 学習目標 Prologのインストール プログラム作成手順 解析対象テキストの収集 IC分析(直接構成素分析, Immediate Constitutent Analysis) 形式文法の設定 Prolog形式への書き換え NLPプログラムの実行・確認(その1) 構文木を出力するプログラムへの拡張 NLPプログラムの実行・確認(その2) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) NLPのプログラムを書いてみよう! 学習目標 Prologのインストール プログラム作成手順 解析対象テキストの収集 IC分析(直接構成素分析, Immediate Constitutent Analysis) 形式文法の設定 Prolog形式への書き換え NLPプログラムの実行・確認(その1) 構文木を出力するプログラムへの拡張 NLPプログラムの実行・確認(その2) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) I.Prologのインストール (再確認) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) Prologの種類 Swi-prolog SICStus-Prolog I/F-Prolog K-Prolog Minerva Arity/Prolog RUN/Prolog C-Prolog Gnu Prolog Open Prolog YAP Prolog など © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 自由課題(提出の必要性なし) どんなProlog処理系があるのか調べてみよう。 それぞれのWeb Siteを見つけてみよう。 どれか1つdownloadして使ってみよう。 各Prologの特徴を比較し、一覧表に整理してみよう。 (注)本授業ではswi-prologを使います。    なぜでしょうか?    理由を考えてみてください。 © Natural Language Processing 2016(Tokyo University of Technology)

II. Prologによる構文解析プログラム 処理対象(1. 解析対象テキストの収集): Tom broke the cup. © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 2. IC分析 Tom broke the cup       文  __ _____  名詞句  動詞句 ___ __ __     名詞  動詞 名詞句           __ ___ 限定詞 名詞 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 3. 形式文法の設定 開始記号=s 終端記号={ tom, broke, the, cup } 非終端記号={ s, n, v, d, np, vp } 書き換え規則={ s → np + vp. np → n. np→d+n. vp→v+np. n→tom. n→cup. v→broke. d→the. } © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 4. Prolog形式への書き換え s :- np, vp. np :- n. np:-d,n. vp:-v,np. n:-tom. n:-cup. v:-broke. d:-the. © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) Prog1.pl 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). © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 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)). © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 今日の内容 Prologにおけるユニフィケーションを理解する. Prologの動作を理解する. 構文解析プログラムの動作を理解する. 構文解析プログラムを自分で書いてみる. その結果、先週までの内容の理解を深める. © Natural Language Processing 2016(Tokyo University of Technology)

1.Prologにおける ユニフィケーションを理解する 定数と定数 定数と変数 変数と変数 リスト 述語 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 定数と定数 unifyする(同一視可) unifyしない(同一視不可) 2013  2013 3.14159  3.14159 abcd  abcd 2013 × 1986 3 × 3.0 abcd × xyz © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 定数と変数 unifyする(同一視可) unifyしない(同一視不可) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 変数と変数 unifyする(同一視可) unifyしない(同一視不可) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) リストおよび述語 unifyする(同一視可) unifyしない(同一視不可) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 実際の例 unifyする(同一視可) unifyしない(同一視不可) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) コメント ここまでの話が分かれば、Proloの基本はほぼ抑えたことになります。 Prolog言語は、JavaやCよりも簡単ですよね! (本当?) 重要な概念と記号:  ・ユニフィケーション  ・リスト [a, b, c, d | Z] バー記号(縦棒記号) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 3.構文解析プログラムの動作を理解 (例文) Tom broke the cup. © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 4.構文解析プログラムを自分で書く 作成手順は? (これも復習事項です。思い出せますか?   前回のパワポ資料も参考にしてください。) © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 作成手順の概要 処理対象を決める 処理対象の各文に対して、統語構造の分析を行う 上記の分析結果をもとに、文法を書き下す 上記で得られた文法を、Prologの形式に書きかえる 動作を確認する © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 自習問題(提出の必要性なし) 例文)   Time flies like an arrow. (アドバイス)参考書 “自然言語処理”, 天野 他, オーム社(2007).         第3章の3.2を参考にすると良いと思います。 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 3.その他 知っていると便利な概念・用語を紹介します。 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 構文解析の種類 分類1 トップダウン解析方式(Topdown) ボトムアップ解析方式(Bottom-up) 分類2 縦型解析方式 横型解析方式 © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 確認問題 下記の用語を自分の言葉で説明しなさい。 構文解析 トップダウン解析方式とボトムアップ解析方式 縦型解析方式と横型解析方式 バックトラック プログラミング言語Prolog © Natural Language Processing 2016(Tokyo University of Technology)

© Natural Language Processing 2016(Tokyo University of Technology) 次回(11/7)の予告 日本語を対象とするプログラムを一緒に作成します。 PCを忘れないように。 Swi-Prologが動くこと、UTF-8コードで保存できるエディターが必要です。メモ帳でもOKです。 必要なら、日本語の文法書や辞書を持参してください(たぶん要らないと思いますが...)。 © Natural Language Processing 2016(Tokyo University of Technology)