自然言語処理2009 -平成21年10月26日(No4)-

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