18
自自自自自自 2011 - 自自 23 自 11 自 7 自 (No5)- 自自自自自自 自自自自自自自自自自自自自 自自自自

自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

  • Upload
    tamal

  • View
    41

  • Download
    5

Embed Size (px)

DESCRIPTION

自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-. 東京工科大学 コンピュータサイエンス学部 亀田弘之. 前回の復習から. NLP のプログラムを書いてみよう!. Prolog のインストール プログラム作成手順 IC 分析 形式文法の設定 Prolog 形式への書き換え NLP プログラムの実行 ( その1 ) 構文木を出力するプログラムへの拡張 NLP プログラムの実行 ( その2 ) 対話プログラム (Eliza) の紹介. 1. Prolog のインストール. Prolog の種類. Swi-prolog - PowerPoint PPT Presentation

Citation preview

Page 1: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

自然言語処理 2011-平成 23年 11月 7日 (No5)-

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

亀田弘之

Page 2: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

前回の復習から

2Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 3: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

NLPのプログラムを書いてみよう!

1. Prologのインストール2. プログラム作成手順

1. IC分析2. 形式文法の設定3. Prolog形式への書き換え4. NLPプログラムの実行 (その1 )5. 構文木を出力するプログラムへの拡張6. NLPプログラムの実行 (その2 )

3. 対話プログラム (Eliza)の紹介

3Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 4: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

1. Prologのインストール

4Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 5: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

Prologの種類

• Swi-prolog• SICStus-Prolog• I/F-Prolog• K-Prolog• Minerva• Arity/Prolog• RUN/Prolog

• C-Prolog• Gnu Prolog• Open Prolog• YAP Prolog など

5Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 6: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

自由課題

• どんな Prologがあるのか調べてみよう。• それぞれのWeb Siteを見つけてみよう。• どれか1つ downloadして使ってみよう。• 各 Prologの特徴を比較し、一覧表を作ってみよう。

(注)本授業では swi-prologを使います。   なぜでしょうか?   理由を考えてみてください。

6Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 7: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

Prologによる構文解析プログラム

• 処理対象:Tom broke the cup.

Natural Language Processing 2009 (Tokyo Univ. of Tech.) 7

Page 8: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

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).

8Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 9: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

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)).

9Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 10: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

今日の内容

1. 構文解析プログラムの動作を知る2. 構文解析プログラムを書いてみる3. その他

10Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 11: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

1.構文解析プログラムの動作を知る

11Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 12: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

2.構文解析プログラムを書いてみる

12Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 13: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

作成手順の概要

1. 処理対象を決める2. 処理対象の各文に対して、統語構造の分析を行う

3. 上記の分析結果をもとに、文法を書き下す

4. 上記で得られた文法を、 Prologの形式に書きかえる

5. 動作を確認する

Natural Language Processing 2009 (Tokyo Univ. of Tech.) 13

Page 14: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

処理対象文

• Time flies like an arrow.

Natural Language Processing 2009 (Tokyo Univ. of Tech.) 14

Page 15: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

3.その他

15Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 16: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

構文解析の種類

• 分類1–トップダウン解析方式 (Topdown)–ボトムアップ解析方式 (Bottom-up)

• 分類2–縦型解析方式–横型解析方式

16Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 17: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

確認問題

• 下記の用語を自分の言葉で説明しなさい。

–構文解析–トップダウン解析方式とボトムアップ解析方式

–縦型解析方式と横型解析方式–バックトラック–プログラミング言語 Prolog

17Natural Language Processing 2009 (Tokyo Univ. of Tech.)

Page 18: 自然言語処理 2011 - 平成 23 年 11 月 7 日 (No5)-

次回の予告

• 日本語を対象とするプログラムを一緒に作成します。

• PCを忘れないように。• Swi-Prologが動くこと、 UTF-8コードで保存できるエディターが必要です。メモ帳でもOKです。

• 必要なら、日本語の文法書や辞書を持参してください(たぶん要らないと思いますが...)。

Natural Language Processing 2009 (Tokyo Univ. of Tech.) 18