東京工科大学 コンピュータサイエンス学部 亀田弘之 今日はたくさ
ん演習します
。
(先週のレポートを踏まえて)
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 2
形態素解析ツール( MeCab, Chasen, Juman の どれか1つ)を利用して、学長挨拶 (
http://www.teu.ac.jp/gaiyou/006488.html) を 形態素解析しなさい。
提出日は、次回 (10/29) の授業の時とします。
表紙等もいつも通りとします。
Natural Language Processing 2012 (Tokyo University of
Technology) 3
東京工科大学は1986 年に工学系単科大学としてスタートしました。以来、日本 初のメディア学部の設置など、常に社会のニーズを読みながら進化を続け、現在 では 5 学部と大学院を擁し、蒲田と八王子の 2 キャンパスを有する総合大学へと 発展しています。
本学は、新しい大学です。伝統校のような長い歴史はありませんが、新しい大学 には、時代に即応した革命や新たな試みに挑戦できる柔軟な態勢がありま
す。 2012 年度も新しい試みを実行します。それが「教養学環」の設置です。こ れにより、今までの教養教育を改革・充実させ、社会で必要とされる社会人基礎 力、東京工科大学の学生として身につけてほしい教養を学部横断教育として行っ ていきます。しっかりとした教養を備えるということは、発展著しい社会の変化 に適応できる普遍的な知識を身につけること。これを「東京工科大学教養スタン ダード」とし、その後の専門教育の充実や学生の就業力向上をめざします。
東京工科大学の教育の根幹にある考えは「実学主義」です。「実学主義」とは
「実社会で役立つ専門的な知識や技術、加えてその基盤となる人間としての適応 力を高めるための教育」です。これは単に学問を修めるためだけでなく、卒業後
、一人ひとりがそれぞれの分野で学んできたことを活かして、社会で活躍できる 実践力を磨くことです。そのために、入学から就職・進学まで、一貫したサポー ト体制でみなさんの夢の実現を応援します。ぜひ東京工科大学の門を叩いて、飛 び込んで来てください。
Natural Language Processing 2012 (Tokyo University of
Technology) 4
学習目標
◦ 形態素解析ツールの使い方を覚える (自分で使えることが目標)
◦ 余力のある人は、各ツールの使い道を考えるとともに、
限界についても考えてみてください。
(つまり、当該ツールの得意とするところ、不得意とす るところ、対応できていないところ など)
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 5
1. Prolog のインストール
2. プログラム作成手順
1. IC 分析 (Immediate Constitutes Analysis
by Leonard Bloomfield) 2. 形式文法の設定
3. Prolog 形式への書き換え
4. NLP プログラムの実行 (その1 )
5. 構文木を出力するプログラムへの拡張 6. NLP プログラムの実行 (その2 )
3. 対話プログラム (Eliza) の紹介(次回の予告)
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 6
作業1: 検索エンジンで swi-prolog と入力し て検索
Swi-prolog のページを見つける。
作業2: ダウンロードページへ行く。
作業3: インストールする。
作業4: 起動するか確認。
(注)終了のさせ方
?- halt. と入力する。
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 7
実際に動かしながら身に着けよう!
ポイントは、...
◦ ユニフィケーション (unification) という概念
◦ リスト形式における縦棒記号の取り扱い (この2点が学習目標です!)
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 8
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 9
予習問題 (前回のパワポより複写)
英文
Tom broke the big cup.
に対して以下のことを行え。
1.
この構造を分析せよ。
2.
この文を処理するための文法 G
1を書け
。
3.
G
1を基に Prolog プログラムを作成せよ。
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 10
文法(復習)
G = { Vn, Vt, σ, P }
– Vn :非終端記号 – Vt :終端記号
– σ :開始記号
– P :書き換え規則
11 Natural Language Processing 2012 (Tokyo University of Technology)
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).
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 12
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)).
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 13
I have a book.
You have a book.
I need the beautiful book.
You throw a ball.
上記の英文を処理することのできる文法を設定 し、それに基づき構文解析プログラムを作成しな さい。
自然言語処理2012 (H. Kameda) Tokyo Univ. of Tech. 14