Download presentation
Presentation is loading. Please wait.
1
東京工科大学 コンピュータサイエンス学部 亀田弘之
今日はたくさん演習します。 自然言語処理2016 -平成28年10月17日(No.4)- 東京工科大学 コンピュータサイエンス学部 亀田弘之
2
連絡事項 定期試験を定期試験の時期に実施します。
創立30周年記念講演 「AI(人工知能)とこれからの社会」 (注)概要と申し込みはこちらから。 その他 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
3
まずは形態素解析の続きから (先週の話題を踏まえて) 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
4
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
レポート課題2 形態素解析ツール(Wincha,MeCab, Chasen, Jumanのどれか1つ)を利用して、学長挨拶( 提出日は、次回の授業の時とします。 表紙等もいつも通りとします。 (2日目のレポート課題1を参照のこと) 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
5
WinChaで形態素解析をしてみる Let’s try!
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
6
今日の学習目標 形態素解析ツールの使い方を覚える Prolog言語を知る 統語解析プログラムの作り方を知る (自分で使えることが目標)
(自分で使えることが目標) 日本語の文法に馴れる 余力のある人は、各ツールの使い道を考えるとともに、限界 についても考えてみてください。 (つまり、当該ツールの得意とするところ、不得意とするとこ ろ、対応できていないところ など) Prolog言語を知る 統語解析プログラムの作り方を知る 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
7
演習1 Winchaで以下の文を解析する 5分で実行 漱石の小説嫌いが問題になっている。 今日もしなければあとで困りますよ。
ここではきものを脱いでください。 5分で実行 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
8
NLPのプログラムに挑戦! Prologのインストール プログラム作成手順 対話プログラム(Eliza)の紹介(次回の予告)
IC分析(Immediate Constitutes Analysis by Leonard Bloomfield) 形式文法の設定 Prolog形式への書き換え NLPプログラムの実行(その1) 構文木を出力するプログラムへの拡張 NLPプログラムの実行(その2) 対話プログラム(Eliza)の紹介(次回の予告) 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
9
Swi-Prologのインストール 作業1: 検索エンジンで swi-prolog と入力して検索
作業2: ダウンロードページへ行く。 作業3: インストールする。 作業4: 起動するか確認。 (注)終了のさせ方 ?- halt. と入力する。 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
10
Prolog入門 実際に動かしながら身に着けよう! ポイントは、... ユニフィケーション(unification)という概念
リスト形式における縦棒記号の取り扱い (この2点が学習目標です!) 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
11
統語解析プログラムを書いてみよう! (まずは動かしてみよう!)
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
12
練習2 Prologシステムを起動 Prologシステムの終了 Swi-prologのアイコンをダブルクリック halt.
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
13
練習3 unificationの確認 Porlogの起動 1 = 1. 3.14159 = 3.14159. 2.0 = 2.
Prologの終了 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
14
論理学の例から %Prologのプログラム mortal(X) :- human(X). human(Socrates).
B: ソクラテスは人間である. 小前提 C: ソクラテスは死ぬ. 帰結 %Prologのプログラム mortal(X) :- human(X). human(Socrates). (注)ファイル名は、たとえば abc.pl 。 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
15
練習4 簡単な統語解析器作成 対象言語L = { “John walks.”} ヒント 言語の各文を分析(I.C.分析) 文法を設定
練習4 簡単な統語解析器作成 対象言語L = { “John walks.”} ヒント 言語の各文を分析(I.C.分析) 文法を設定 Prolog言語で記述 いっしょに、作って行きましょう。 今日は、概要(手順と方法)の理解を目指してください。 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
16
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
予習問題 (前回のパワポより) 英文 Tom broke the big cup. に対して以下のことを行え。 この構造を分析せよ。 この文を処理するための文法G1を書け。 G1を基にPrologプログラムを作成せよ。 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
17
自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
文法(復習) G = { Vn, Vt, σ, P } Vn:非終端記号 Vt:終端記号 σ:開始記号 P:書き換え規則 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
18
統語チェックプログラムの実装例 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). 今日のポイント: このプログラムは、どんな手順で作成されたのか? 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
19
統語解析プログラムの実装例 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)). 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
20
練習問題(次回までにやっておくこと) I have a book. You have a book.
I need the beautiful book. You throw a ball. 上記の英文を処理することのできる文法を設定し、そ れに基づき統語解析プログラムを作成しなさい。 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
21
今後の予定 Prolog言語のより詳細な説明 英文を対象とする統語解析プログラム作成演習 日本語を対象とする統語解析プログラムの作成演習
日本語を対象とする形態素解析+統語解析プログラ ムの作成演習 そして、… 自然言語処理2016 (H. Kameda) Tokyo Univ. of Tech.
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.