CCG に基づく時間解析の実装に向けて
大西 舞子 (指導教員:戸次 大介)

1

はじめに(3)

自然言語処理では、イベントの前後関係など時間情報が付与されたコーパス (Timebank [1]) の開発、及び、それに基づく時間情報解析が盛んに研究されている [2, 3]。一方、組合せ範疇文法 (CCG) [4] に基づく構文解析・意味解析の発展によって、論理式による意味表現や含意関係認識の研究が進んでいる。CCG に基づく意味解析・自動推論システ
ム ccg2lambda [5] では、高階論理 (HOL) による意味表示を用いて論理推論を扱う含意関係認識で高い精度を達成している。しかし、現在のところ、ccg2lambda を含めて、CCGに基づく意味解析に時間情報を組み込む研究は十分に進展していない。
英語を対象とする ccg2lambda の解析では、現在や過去、未来、過去完了などの時制は十分に捉えられていない。例
えば、表 1 の前提 1 と前提 2 から結論を導く推論は、人間にとっては容易であるが、現在のシステムでは含意関係の成立を予測することはできない。その原因は、動詞が表す出来事 (eventuality) の位置付けにある。特に、動詞 met やlived が表す event と state という出来事タイプの区別、並びに、in や during が表す時間関係を捉えることが必要となる。
表 1: event と state の関係性の推論の例
前提 1 Bob met Mary in 1993.
前提 2 Bob lived in Paris during 1993.
結論
Bob lived in Paris when he met Mary.

ここで、φ(n, dur(e), t, r) は、束縛変数 e, t, r と定数 now で構成される論理式の表記とする。(3a) の意味表示を (3b) のように、ある evetuality が成立する時間区間は、now, dur(e), t, r間の関係を表す条件の連言で表す。

時制の分析

3Kamp and Reyle [6] に基づいて、英語の時制を表 2 に示す 8 種類に分類する。それぞれの時制は 4 つの素性で表現できる。素性の役割は表 3 に示す。
表 2: 時制と素性の関係
時制
presentfuturesimple past

past future
present perfect
future perfect
past perfect

past future perfect

参照位置−PAST−PAST−PAST+PAST+PAST−PAST−PAST+PAST−PAST+PAST+PASTe の位置
presfutpastpres
futpresfut
pastpastpres
fut

e の性質
+STAT+/−STAT+/−STAT+STAT+/−STAT+STAT+STAT+/−STAT+STAT+STAT+STAT

完了
−PERF
−PERF
−PERF
−PERF
−PERF
+PERF
+PERF
−PERF
+PERF
+PERF+PERF

表 3: 素性が与える意味表示
素性+PAST
presfut+STAT+PERF

そこで本研究では、こうした時間推論と時間表現の意味解析を実現可能とするために、Kamp and Reyle [6] に基づ
く eventuality の分析と ccg2lambda で用いられていた意味表示を踏まえて、CCG の枠組みに時間に関する推論を扱える機構を組み込む手法を提案する。具体的には、CCG に基づく意味解析・含意関係認識の自動システムに、時制の区別を考慮した動詞の意味割り当てを行い、それに付随する型や述語の定義、推論に必要な公理を導入する。
本稿では、2 節で eventuality を紹介し、文全体の意味表示を用意する。3.1 節で eventuality が state の場合、3.2 節
で event の場合を Kamp に基づき説明し、3.3 節で 3.1,2 節の分析を踏まえて、推論を行える意味表示を提案する。3.4節で、2 節と 3.3 節の意味表示から、表 1 の推論が導出可能であることを示す。

2a. Bob had lived in Paris.
b. ∃e∃t∃r. (live(e) ∧ Subj(e) = bob∧ in(e, P aris) ∧ φhad (now, dur(e), t, r) ∧φlived (now, dur(e), t, r))

意味表示r < nowt=rr<tdur(e) # t∃e′ . ∃t′ . end(dur(e)) ⊃⊂ dur(e′ )∧ dur(e′ ) # t′

素性−PASTpast

意味表示
now = rt<r−STAT−PERFdur(e) ⊆ t—以下では、それぞれの時制に対する文を構成的に導出する方法についてその概略を述べる。

3.1

eventuality が state の例

表 2 で分類した時制に対する単純な例を (4)–(11) に示す。

(4)(5)
(6)
(7)
(8)
(9)
(10)
(11)

出来事の追加Kamp and Reyle [6] に よ る と 、eventuality は(state/event) に 区 別 さ れ 、様々な 時 間 区 間 と 比 較 す ることで位置付けられる。そこで時間区間を意味する Time型を導入する。eventuality を Event 型を持つ項 e として、Time に写像する dur 関数を用いることで時間区間を dur(e) と表す。発言時を Time 型の定項 now で表す。
e が生じる location time を Time 型を持つ項 t とする。
参照時を Time 型を持つ項 r とする。e が state の場合、dur(e) # t、event の場合、dur(e) ⊆ t という関係を持つ。
つまり、state の例である 1 では、t は 1993 年にあたり、dur(e) は Bob が Paris に住んでいる期間にあたり、t とdur(e) が重複する期間が存在することを意味する。eventの例である 2 では、t は 1993 年にあたり、dur(e) は Bob が大統領に会う時点が 1993 年に含まれることを意味する。

Bob lives in Paris.
present
Bob will live in Paris.
futureBob lived1 in Paris.
simple past
Bob would live in Paris.
past future
Bob has lived2 in Paris.
present perfect
Bob will have lived2 in Paris.
future perfectBob had lived2 in Paris.
past perfect
Bob would have lived2 in Paris. past future perfect

これらの文の意味表示を導出するのに必要な時制に関わる CCG の語彙項目を表 4 に示し、素性を割り振る。統語
範疇は、C&C パーザ [7] など現在の CCG パーザの出力に基づくものである。lived1 と lived2 の区別は、動詞の過去形と過去分詞形に対応する。統語範疇に含まれる base は、その語彙が原形であることを表し、pp は、過去分詞形であることを表す。また、VB、VBP、VBD は、CCG パーザがサポートする POS タグであり、表中の「—」は、その語彙では関係を決定できないことを指す。
(8) の 意 味 表 示 の 構 成 を 例 に 挙 げ る と 、2 つ のφ(now, dur(e), t, r) に 入 る 意 味 表 示 が 、has と lived2 の意味表示であり、それらは表 4 の項目 6,4 が満たす素性の意味表示を連言で結合したものである。

(1) Bob lived in Amsterdam in 1993.
(2) Bob met the president in 1993.
ccg2lambda の意味表示に、eventuality を位置付ける条件を加える。その図式を以下に示す。
25

表 4: CCG と Kamp の素性の対応
項目
123

語彙項目
livelives
lived1

統語範疇
VB, Sbase \N P
VBP S\N P
VBD S\N P456
7

lived2havehashadSpp \N P(Sbase \N P )/(Spp \N P )(S\N P )/(Spp \N P )(S\N P )/(Spp \N P )89willwould(S\N P )/(Sbase \N P )(S\N P )/(Sbase \N P )

3.2

参照位置
—−PAST−PAST+PAST——−PAST+PAST−PAST+PAST−PAST+PASTe の位置—
prespastpres——prespastpast
presfutfut

表 10: state の意味表示

e の性質+STAT+STAT+STAT+STAT+STAT
—
———
—
—
—完了
−PERF
−PERF
−PERF
−PERF
−PERF
+PERF
+PERF
−PERF
+PERF
+PERF
−PERF
−PERF

live
lives
lived1
lived2
have
has
had

eventuality が event の例

willwould

表 2 の −STAT に対する時制の例 (12)–(15) に示す。

(12)
(13)
(14)
(15)

Bob will meet Mary.
Bob met1 Mary.
Bob would meet Mary.
Bob had met2 Mary.

表 11: event の意味表示

futuremeetmetmet
hadsimple past
past futurepast perfectstate の場合と同様の手順を踏み、表 5 の対応を取る。
will,would の意味表示には state/event の区別がなく、表 4のものと同一である。
表 5: CCG と Kamp の素性の対応項目
12
34

3.3

語彙項目
meet
met1
met2
had

統語範疇
VB, Sbase \N P /N P
VBD S\N P /N P
Spp \N P /N P
(S\N P )/(Spp \N P )参照位置—−PAST—
+PAST

e の位置
—
past—
past

e の性質
−STAT−STAT−STAT—

3.4

during(dur(e), t) ∨ equal(dur(e), t)equal(now, r) ∧ before(t, r) ∧ (during(dur(e), t) ∨ equal(dur(e), t))during(dur(e), t) ∨ equal(dur(e), t)
before(r, now) ∧ before(t, r)

state/event 間の関係の推論

以上の定義を用いて、異なる時制をもつ文間に成り立つ推論を検討した。state に関する (4)–(11) の異なる 2 文を前提と結論をとすると、過去完了から過去のみ可能である。
event に関する (12)–(15) も同様である。event と state を組み合わせた推論の例として、表 1 の前提 1 と前提 2 から、結論を導くことができる。3 節の分析に基づいて、前提 1、前提 2、結論の意味表示として以下のものが導出可能であり、前提から結論への含意関係が成立することが証明可能である。

完了
−PERF
−PERF
−PERF
−PERF

state/event の意味表示

前提に存在する時間区間同士の関係性の推論を行うために、Allen [8] の区間算法の合成テーブルに示される多くの性質を少ない定義と公理で示すことを提案する。Kamp による意味表示と Allen の記述形式との対応を表 6 に示す。
ccg2lambda の記述形式との対応を表 7 に示す。
表 6: Kamp と Allen の対応
Kamp
Allen
i = i′
i = i′′i#i¬(i < i′∨ i > i′ )i < i′i < i′i ⊆ i′i d i′ ∨i = i′end(i)
iendbegin(i)istart′end(i) ⊃⊂ i i m i′¬(before(dur(e), t) ∨ before(t, dur(e)))
equal(now, r) ∧ equal(t, r) ∧ ¬(before(dur(e), t) ∨ before(t, dur(e)))(equal(now, r) ∧ before(t, r) ∧ ¬(before(dur(e), t) ∨ before(t, dur(e)))) ∨(before(r, now) ∧ equal(t, r) ∧ ¬(before(dur(e), t) ∨ before(t, dur(e))))¬(before(dur(e), t) ∨ before(t, dur(e)))∃e′ . ∃t′ . meet(dur(e), dur(e′ )) ∧ ¬(before(dur(e′ ), t′ ) ∨ before(t′ , dur(e′ )))∃e′ . ∃t′ . ∃r′ . equal(now, r′ ) ∧ equal(t′ , r′ ) ∧meet(dur(e),dur(e′ )) ∧ ¬(before(dur(e′ ), t′ ) ∨ before(t′ , dur(e′ )))(before(r, now) ∧ before(t, r)) ∨(∃e′ . ∃t′ . ∃r′ . equal(now, r′ ) ∧ before(t′ , r′ ) ∧ meet(dur(e), dur(e′ ))∧ ¬(before(dur(e′ ), t′ ) ∨ before(t′ , dur(e′ )))) ∨(∃e′ . ∃t′ . ∃r′ . before(r′ , now) ∧ equal(t′ , r′ ) ∧ meet(dur(e), dur(e′ ))¬(before(dur(e′ ), t′ ) ∨ before(t′ , dur(e′ ))))
equal(now, r) ∧ before(r, t)
before(r, now) ∧ before(r, t)

前提 1 ∃e∃t∃r.(meet(e, bob, mary) ∧ (now = r) ∧ t < r ∧ dur(e) ⊆t ∧ t ⊆ 1993)

表 7: Allen と ccg2lambda の対応
Allen ccg2lambda Allen ccg2lambda=equal(t, t′ )<before(t, t′ )>before(t′ , t)
mmeet(t, t′ )mimeet(t′ , t)ooverlap(t, t′ ) oi
overlap(t′ , t)sstart(t, t′ )sistart(t′ , t)ffinish(t, t′ )fifinish(t′ , t)dduring(t, t′ )diduring(t′ , t)iendend(t)
istart begin(t)新たに導入した 2 項述語の定義を表 8 に示す。
表 8: 時間区間を引数に取る 2 項述語の定義
defequal(i, i′ ) ≡ equal(begin(i), begin(i′ )) ∧ equal(end(i), end(i′ ))defbefore(i, i′ ) ≡ before(end(i), begin(i′ ))def

前提 2 ∃e∃t∃r. (live(e, bob) ∧ in(e, paris) ∧ (now = r) ∧ t < r ∧dur(e) # t ∧ 1993 ⊆ t ∧ t ⊆ dur(e))
結論 ∃e∃t∃r.(live(e, bob) ∧ in(e, paris) ∧ (now = r) ∧ t < r ∧dur(e) # t ∧∃e′ ∃t′ ∃r′ .(meet(e′ , bob, mary) ∧ (now = r) ∧ t′ < r ∧ dur(e′ ) ⊆t′ ∧ t′ ⊆ t ∧ t ⊆ dur(e)))

4

今後の課題

本稿では、eventuality の分類として event/state を採用した が 、States/Activities/Accomplishments/Achievementsに分類する方法もある。さらに、evetuality の決定に関して、接続詞・前置詞句・主語・目的語が影響を与えるため、文レベル以下では決定されないものがある。今後の分析の試みとして、時間副詞の意味表示の決定と、ccg2lambdaでの実装を進めていく予定である。

参考文献

meet(i, i′ ) ≡ equal(end(i), begin(i′ ))defoverlap(i, i′ ) ≡before(begin(i), begin(i′ )) ∧ before(begin(i′ ), end(i))∧ before(end(i), end(i′ ))[1] James Pustejovsky, Patrick Hanks, Roser Sauri, Andrew See,
Robert Gaizauskas, Andrea Setzer, Dragomir Radev, Beth Sundheim, David Day, Lisa Ferro, et al. The TimeBank corpus. InCorpus linguistics, p. 40. Lancaster, UK., 2003.
[2] Fei Cheng and Yusuke Miyao. Classifying temporal relations
by bidirectional lstm over dependency paths. In Proceedings ofthe 55th Annual Meeting of the Association for Computational
Linguistics (Volume 2: Short Papers), Vol. 2, pp. 1–6, 2017.
[3] Tomohiro Sakaguchi, Daisuke Kawahara, and Sadao Kurohashi.
comprehensive annotation of various types of temporal information on the time axis.
[4] Mark J. Steedman. The Syntactic Process. The MIT Press, 2000.
[5] Pascual Martı́nez-Gómez, Koji Mineshima, YusukeMiyao, andDaisuke Bekki. ccg2lambda: A CompositionalSemantics System.
In Proceedings of ACL 2016 SystemDemonstrations, pp. 85–90,2016.
[6] Hans Kamp and Uwe Reyle. From Discourse to Logic: Introduction to Model-theoretic Semantics of Natural Language, FormalLogic and Discourse Representation Theory. Springer, 1993.
[7] Stephen Clark and James R. Curran. Wide-coverage eﬃcient statistical parsing with CCG and log-linear models. Computational
Linguistics, Vol. 33, pp. 493–552, 2007.
[8] James F. Allen. Maintaining Knowledge about Temporal Intervals. Commun. ACM, Vol. 26, pp. 832–843, 1983.

defstart(i, i′ ) ≡ equal(begin(i), begin(i′ )) ∧ before(end(i), end(i′ ))deffinish(i, i′ ) ≡ before(begin(i′ ), begin(i)) ∧ equal(end(i), end(i′ ))defduring(i, i′ ) ≡ before(begin(i′ ), begin(i)) ∧ before(end(i), end(i′ ))表 9 にこの表記を用いた推論のための公理を示す。
表 9: 時間区間に関する公理
i, begin(i), end(i) : Timeψ(i, i′ ) : Time → Time → Prop
before(begin(i), end(i))
before(i, i′ ) ∨ equal(i, i′ ) ∨ before(i′ , i)¬before(i, i)
before(i, i′ ) ∧ before(i′ , i′′ ) → before(i, i′′ )equal(i, i)
equal(i, i′ ) → equal(i′ , i)equal(i, i′ ) ∧ equal(i′ , i′′ ) → equal(i, i′′ )equal(i, i′ ) ∧ ψ → ψ[i′ /i]以上を用いて、state は表 10、event は表 11 のように意
味表示を変換される。

26