ことばとコンピュータ 第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
© Copyright 2024 ExpyDoc