ことばとコンピュータ

ことばとコンピュータ
第6回
本日の内容
• 前回のおさらい
– 文がどんな構造をしているか決める
• アルゴリズム(CKY法)を使った文構造の解析
• 意味を決める(単語編)
– (文の中の)単語の意味,解説編
• 選択制約,意味的整合性
• 格文法,格フレーム,意味素
2
CKY法(Cocke-Kasami-Younger法)
• 制約:
– ボトムアップ型...右辺から左辺への書き換え
– 文法はチョムスキー標準形(結構きつい制約)
• チョムスキー標準形
(右辺が必ず非終端か前終端記号2つ)
A→B C A∈Vx, B,C∈(Vc ∪ Vx)
Vx 非終端記号,Vc前終端記号
3
CKY法(2)
• 文法
句構造規則PP
辞書規則PD
(1)S→NP VP
(5) VP→VP NP
(2) NP→NP PP
(6) VP→VP PP
(3) NP→DET N
(7) PP→Prep NP
(4) VP→V NP
N → I, apples, garden
V → eat
NP→ I, apples, garden
Det → the
VP→ eat
Prep→ in
NP, VPはチョムスキー標準形への対応
4
CKY法(4c)
2.辞書規則を元にa1,1から a7,7まで記入
1
2
3
4 i=1 5to n 6do
7
for
N1,NP1
(iを1から始めて,nまで以下を
1 I
繰り返す)
V1,VP1
2 eat
ai,i ={A|A→wi∈ PD}
i=1
Det1
3 the
a1,1
i=2
a2,2 i=3
a3,3
N2,NP2
4
a4,4
apples
5
a5,5
Prep1
in
6
a6,6
i=7
a7,7
Det2
the
7
N3,NP3
garden
5
CKY法(5)
3.句構造規則を適用
1
2
N1,NP1
1 II
3
4
5
6
7
V1,VP1
2
for (d=1 to n-1) {
for (i=1 to n-d) {
j=i+d
for (k=i to j-1) {
ai,j= ai,j∪
{A|A→BC∈PD,
B∈ai,k, C∈ak+i,j}
}}
eat
Det1
3
the
N2,NP2
4 apples
5
Prep1
in
6
Det2
the
N3,NP3
7 garden
6
CKY法(5d)
3.句構造規則を適用
1
2
3
N1,NP1 S1(NP1 VP1)
1 II
4
5
6
7
V1,VP1
2
for (d=1 to n-1) {
for (i=1 to n-d) {
j=i+d
for (k=i to j-1) {
eat
(1)S→NP VP
Det1
3
the
N2,NP2
4 apples
5
Prep1
in
ai,j= ai,j∪
d=1D,
{A|A→BC∈P
B∈ai,k, C∈
}
ai,j=aak+i,j
1,2U(A|A→BC∈Pp,B∈a1,1, C∈a2,2)
6
Det2
the
N3,NP3
7 garden
}}
7
CKY法(5i)
3.句構造規則を適用
1
2 d=2 3
4
5
6
7
N1,NP1 S1(NP1 VP1)
ai,j=a1,3U(A|A→BC∈Pp,B∈a1,1,C∈a2,3)
1 II
2
for (d=1 to n-1) {
for (i=1 to n-d) {
j=i+d
for (k=i to j-1) {
ai,j= ai,j∪
{A|A→BC∈PD,
B∈ai,k, C∈ak+i,j}
}}
V1,VP1
eat i,j= 1,3U(A|A→BC∈Pp,B∈ 1,2,
a a
a C∈a3,3)
Det1 NP4(Det1 N2)
ai,j=athe
2,4U(A|A→BC
∈Pp,B∈a2,2, C∈a3,4)
3
N2,NP2
ai,j=a2,4U(A|A→BC
∈Pp,B∈a2,3, C∈a4,4)
4 apples
ai,j=a3,5U(A|A→BC∈PpPrep1
,B∈a3,3, C∈a4,5)
in
5
ai,j=a3,5U(A|A→BC∈Pp,B∈a3,4, C
∈a5,5NP5(Det2
)
Det2
N3)
the
ai,j=a4,6U(A|A→BC∈Pp,B∈6a4,4, C∈a5,6N3,NP3
)
garden
ai,j=a4,6U(A|A→BC∈Pp,B∈a4,5, C∈7a6,6
)
ai,j=a5,7U(A|A→BC∈Pp,B∈a5,5, C∈a6,7)
ai,j=a5,7U(A|A→BC∈Pp,B∈a5,6, C∈a7,7)
8
CKY法(5m) d=5
3.句構造規則を適用
1
2
3
N1,NP1 S1(NP1 VP1)
1 II
4
V1,VP1
2
for (d=1 to n-1) {
for (i=1 to n-d) {
j=i+d
for (k=i to j-1) {
ai,j= ai,j∪
{A|A→BC∈PD,
B∈ai,k, C∈ak+i,j}
}}
5
6
7
VP2(VP1 NP4)
eat
Det1
3
the
NP4(Det1 N2)
N2,NP2
4 apples
d=3
5
Prep1
in
6
d=4
Det2
NP5(Det2 N3)
the
N3,NP3
7 garden
d=n-1=6
9
CKY法(5n)
3.句構造規則を適用
1
2
3
N1,NP1 S1(NP1 VP1)
1 II
4
V1,VP1
2
for (d=1 to n-1) {
for (i=1 to n-d) {
j=i+d
for (k=i to j-1) {
5
7
VP2(VP1 NP4)
eat
Det1
3
the
NP4(Det1 N2)
N2,NP2
4 apples
5
Prep1
in
6
ai,j= ai,j∪
{A|A→BC∈PD,
B∈ai,k, C∈ak+i,j}
}}
6
Det2
NP5(Det2 N3)
the
N3,NP3
(1)S → NP VP
7 garden
がここで適合するはず
10
CKY法(6)
4.できあがった状態から構文木を作る
1
2
3
4
5
N1,NP1 S1(NP1 VP1)
1 II
V1,VP1
2
6
7
VP2(VP1 NP4)
eat
Det1
3
Sx(NPy VPz)
NPy(? ?) VPz(? ?)
the
NP4(Det1 N2)
N2,NP2
4 apples
5
Prep1
in
6
Det2
NP5(Det2 N3)
the
N3,NP3
7 garden
11
意味を決める-単語編(1)
• 文と文でないものの区別がついたとして,
– 同じ単語でもいろんな意味がある.
• 酒のさかな
• 海のさかな
– おなじ構文でもいろいろ解釈がある.
• 黒い瞳の大きな女の子
• Time flies like an arrow.
12
意味を決める-単語編(2)
• 文と文でないものの区別がついたとして,
自然言語は
– 同じ単語でもいろんな意味がある.
• 酒のさかな
• 海のさかな
かなり,曖昧
– おなじ構文でもいろいろ解釈がある.
• 黒い瞳の大きな女の子
• Time flies like an arrow.
13
意味を決める-単語編(3)
• 曖昧な部分を解く鍵の1つは
– 意味を知ること
単語の意味 ← 今日はこちら
文の意味
14
単語の意味(1)
• 単語
– なんらかの意味を持つ(通常は複数ある)
• 単語の意味を決めるとは
– 文中の単語の意味が,複数の意味の内のどの
意味であるかを決定すること
15
単語の意味(2)
• 単語
– 通常: 意味1,意味2,意味3,...
例: 単語 「やま」
意味1:周りの土地より著しく高くなった所
意味2:量の多い様子
意味3:重要なポイント,クライマックス
意味4:象徴的な巨大な組織
...
その単語だけを見ていてもどれかはわからない.
16
単語の意味(3)
• その単語だけを見ていてもわからない.
• どうやったら意味がわかるか?
– 人はどうやっているか?
→複数の語でみているのでは?
17
単語の意味(4)
• その単語だけを見ていてもわからない.
• どうやったら意味がわかるか?
– 人はどうやっているか?
→複数の語でみているのでは?
山 動く
山 芝刈り 行く
←これでどうか?
話 山 向かえる
18
単語の意味(5)
• その単語だけを見ていてもわからない.
• どうやったら意味がわかるか?
– 人はどうやっているか?
→複数の語でみているのでは?
山 動く
→ 巨大な組織
山 芝刈り 行く
→ 周りより高くなった陸地
話 山 向かえる → クライマックス
19
単語の意味(6)
• その単語だけを見ていてもわからない.
• どうやったら意味がわかるか?
– 人はどうやっているか?
→複数の語でみているのでは?
太郎 山 眺める
書類 山 抱える
←これはどうか?
事件 山 越す
20
単語の意味(7)
• その単語だけを見ていてもわからない.
• どうやったら意味がわかるか?
– 人はどうやっているか?
→複数の語でみているのでは?
太郎 山 眺める → 周りより高くなった陸地
書類 山 抱える → 量の多い様子
事件 山 越す
→ クライマックス
21
単語の意味(8)
• どうやったら意味がわかるか?
→複数の語だけか?
山 動く
→ 巨大な組織
山 芝刈り 行く
→ 周りより高くなった陸地
話 山 向かえる → クライマックス
太郎 山 眺める
→ 周りより高くなった陸地
書類 山 抱える → 量の多い様子
事件 山 越す
→ クライマックス
22
単語の意味(9)
• どうやったら意味がわかるか?
少なくとも「語」だけでなく文
→複数の語だけか? を作成しているはず
山 動く
→ 巨大な組織
山 芝刈り 行く
→ 周りより高くなった陸地
話 山 向かえる → クライマックス
太郎 山 眺める → 周りより高くなった陸地
書類 山 抱える → 量の多い様子
事件 山 越す
→ クライマックス
23
単語の意味(10)
少なくとも「語」だけでなく文
を作成しているはず
• どうやったら意味がわかるか?
→複数の語+統語構造も利用しているはず
山が動く
→ 巨大な組織
山へ芝刈りに行く
→ 周りより高くなった陸地
話の山を向かえる → クライマックス
太郎が山を眺める → 周りより高くなった陸地
書類の山を抱える → 量の多い様子
事件が山を越す
→ クライマックス
24
単語の意味(11)
「語」と統語構造で意味は解決するか?
• どうやったら意味がわかるか?
→複数の語+統語構造も利用しているはず
山が動く
→ 巨大な組織
山へ芝刈りに行く
→ 周りより高くなった陸地
話の山を向かえる → クライマックス
太郎が山を眺める
→ 周りより高くなった陸地
書類の山を抱える → 量の多い様子
事件が山を越す
→ クライマックス
25
単語の意味(12)
表層的な統語構造が一致するのに
• どうやったら意味がわかるか?
→複数の語+統語構造も利用しているはず
意味が異なることもある:曖昧
山が[どうする]
→ 巨大な組織
山へ[ ]に[どうする] → 周りより高くなった陸地
[ ]の山を[どうなる] → クライマックス
[ ]が山を[どうする] → 周りより高くなった陸地
[ ]の山を[どうする] → 量の多い様子
[ ]が山を[どうする] → クライマックス
26
単語の意味(13)
• どうやったら意味がわかるか?
文の中の複数の語と統語情報を利用している
しかし,完全ではない
→同じ表層的構造でも意味が違うことがある
太郎が山を眺める/事件が山を越える
日本の山に登る/話の山に差し掛かる
27
単語の意味(14)
• 例:「A の B」はいろんな意味関係で使用
– 言語の理解 :
– 太郎の親戚 :
– 日産の自動車 :
木の家
– 東外大の望月 :
花子の鉛筆
– 美人の妻
:
日課の体操
Bが事象を表す
Bが関係を表す
AがBの属性
所属・所有
AであるB
などなど
28
単語の意味(15)
• 例:「A の B」はいろんな意味関係で使用
– 言語の理解
: Bが事象を表す
表層上は同じ「AのB」という形の
– 太郎の親戚 : Bが関係を表す
表現だが意味関係はたくさんの
– 日産の自動車 : AがBの属性
曖昧性がありうる
木の家
– 東外大の望月 : 所属・所有
表層の形だけでは,
花子の鉛筆
– 美人の妻
: AであるB
一意には決まらないことが多い
日課の体操
などなど
29
単語の意味(16)
• ある単語の意味を一意に決めるには
– 文脈の情報がなければわからないもの
– 文脈があってもよくわからないも
こういうものもある.計算は非常に難しい.
→ここではとりあげない.
1文を読んで人間が一意に意味を決められるもの
→何か,なぞを解く鍵が1文の中で見つけられる
鍵:意味的整合性
30
単語の意味を決める(1)
• 鍵:意味的整合性
– 1文を持ってくると,その中の単語間の意味的な
整合性をどうにかして計算
– 意味的に矛盾のない(整合性のある)組み合わ
せを,各単語の意味として導き出す
• 核となる考え方,材料,道具
選択制限,格フレーム,意味素,用例,連想関係
31
単語の意味を決める(2)
• かいつまんで言うと...
例: 職場の花を食事に誘う.
花 (1)植物の花 (2)美しい人
– (1)では,植物を食事に誘うことになる
→意味的におかしい
– (2)では,意味的に整合性がとれる
→この意味に決定する
32
単語の意味を決める(3)
• 大事な役割をするのは動詞
– 例: 職場の花を食事に誘う.
植物ではおかしいのは「誘う」に合わないから
動詞を中心に文中の各語の意味を考える
→格文法(フィルモアの格文法)
33
単語の意味を決める(4)
• (フィルモアの)格文法 case grammar
– 語と語の間の意味的関係を動詞を中心に捉える
表層格:主格(he),目的格(him),所有格(his)
ガ格(彼が),ヲ格(彼を),ニ格(彼に)
深層格:文中の動詞に対し,どの単語がどのような
役割を持つか
動作主格(A),経験者格(E),道具格(I),対象格(O),
源泉格(S),目標格(G),場所格(L),時間格(T)
34
単語の意味を決める(5)
• 深層格に基づく文の意味表現(格構造表現)
break
break
O
the window
the window broke.
A
John
(I)
O
(with a hammer)
the window
John broke the window (with a hammer).
break
I
O
a hammer the window
a hammer broke the window
35
単語の意味を決める(6)
• 各構造表現は複雑→格フレームで表現
break1 - subject:O
(the window broke.)
break2 - subject:A object:O (with:I)
(John broke the window with a hammer. )
break3 - subject: I object:O
(A hammer broke the window.)
36
単語の意味を決める(7)
• 格フレームは以下のようにもあらわされる
break1
break2
break3
subject
subject
subject
O: ...
A: ...
I: ...
object
object
O: ...
O: ...
(with
I : ...
)
37
単語の意味を決める(8)
• 格フレームは以下のようにもあらわされる
break1
break2
break3
subject
subject
subject
O: ...
A: ...
I: ...
object
object
格スロット
O: ...
O: ...
入りうる単語に共通
の属性を定義
I : ...
(with
)
格スロット
38
単語の意味を決める(9)
• 格スロット:
– 入りうる単語に共通の属性を定義
– 属性が合わない単語(の意味)は入らない
– 入れると意味的整合性があわないので
→意味的に矛盾しない解釈だけが選択される
39
単語の意味を決める(10)
• 格スロット:共通の属性を定義
• 属性として利用する情報 (いろいろ)
– 意味素:名詞を意味によって分類
– シソーラス:類似語,類義語の分類
– 用例:同じ用法で使用される語のまとまり
• 単語の意味を決める
→格フレームと選択制限によって決める
• 入力文 ~ 適切な格フレームを選択
40
単語の意味を決める(11)
• 格スロットの要素(意味素,シソーラス,用例)
• 意味素の例:IPAL (Web上で)
concrete, animal, organization,...
– 意味素(意味素性)を階層構造化
– 通常,重複ありの分類
41
単語の意味を決める(12)
• 意味素と格フレームの組み合わせ
「かける」
1. <HUM/ORG>ガ <HUM>ニ<MEN>ヲ
2. <HUM>ガ<LOC/PRO>ニ<CON>ヲ
3. <HUM/ANI>ガ<CON>ニ<CON>ヲ
42
単語の意味を決める(12)
• 意味素と格フレームの組み合わせ
「かける」
1. <HUM/ORG>ガ <HUM>ニ<MEN>ヲ
2. <HUM>ガ<LOC/PRO>ニ<CON>ヲ
3. <HUM/ANI>ガ<CON>ニ<CON>ヲ
彼が姉に希望をかける
会社が彼に期待をかける
姉がハンガーにタオルをかける
犬が電柱におしっこをかける
43