Proceedings of the Workshop on BioNLP: Shared Task, pages 41–49,
Boulder, Colorado, June 2009.
c
2009 Association for Computational Linguistics
∗† ∗† ∗¶ †‡§
∗
†
¶
‡
§
{sebastian,chun,takagi}@dbcls.rois.ac.jp
41
eventType (e, t) ∧ role (e, a, r) ∧ event (a) ⇒
regT ype (t)
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
42
e
(i, t, A) i
e t e A
(a, r) a
r
a e
P L E
P =
{4, 7} , L = ∅ E = {e
13
, e
14
, e
15
}
e
15
= (5, , {(4, )})
e
14
= (2, , {(e
15
, ) , (7, )})
e
13
= (1, , {(e
14
, )})
E
E (L, C)
L
(i, j, r) C
(i, t)
P L E
E (L, C)
C = {(1, ) , (2, ) , (5, )}
/
*
returns all clues C and links L given
by the events in E
*
/
1 function eventsT oLinks (E):
2 C ← ∅, L ← ∅
3 for each event (i, t, A) ∈ E do
4 C ← C∪{(i, t)}
5 for each argument (a, r) ∈ A do
6 if a is an event (i
, t
, A
) do
7 L ← L∪{(i, i
, r)} with a = (i
, t
, A
)
8 else
9 L ← L ∪ {(i, a, r)}
10 return (C, L)
L = {(1, 2, ) , (2, 5, ) ,
(2, 7, ) , (5, 4, )} .
L
c
c
L c
c
C L
E
43
/
*
returns all events E specified
by clues C and links L
*
/
1 function linksT oEvents (C, L)
2 return
S
(i,t)∈C
resolve (i, C, L)
/
*
returns all events for
the given token i
*
/
1 function resolve (i, C, L)
2 if no t with (i, t) ∈ C return {i}
3 t ← type (i, C)
4 if t = binding return {(i, t, A)} with
5 A = {(a, r) | (i, a, r) ∈ L}
6 R
i
← {r
|∃a : (i, a, r) ∈ L}
7 for each role r ∈ R
i
do
8 A
r
← {a| (i, a, r) ∈ L}
9 B
r
←
S
a∈A
r
{(resolve (a) , r)}
10 return
S
A∈expand
(
B
r
1
, ,B
r
n
)
{(i, t, A)}
/
*
returns all possible argument
sets for B
r
1
, . . . , B
r
n
*
/
1 function expand (B
r
1
, . . . , B
r
n
)
2 if n = 1 return B
r
n
3 return
S
a∈B
r
1
S
A∈expand
(
B
r
2
, ,B
r
n
)
{(a, r
1
)} ∪ A
{word (1, ) , eventT ype (1, ) ,
role(1, 2, ), event(2), . . .}
{word (1, ) , eventT ype (1, ) ,
role(1, 2, ), event(2), . . .}
M
(φ, w) φ w
M
p (y) =
1
Z
exp
(φ,w)∈M
w
c∈C
φ
f
φ
c
(y)
y C
φ
φ
f
φ
c
y
φ
c Z
44
F P + αF N
α = 0.01
i
i t
i
i j
r
L
C
L
p i j
parser
↓ ↓
↓↓
i w
i s
i p
i w
i s
i d
i
p
i j
d
parser
parser
i j p
p
i j path
dep (1, 2, , ) ∧ word (1, ) ⇒
eventType (2, )
dep(h, i, d, parser) ∧ word (h, +w) ⇒
eventType(i, +t)
(w, t)
event (i)
45
T (i, +t) ⇒ event (i)
T
T
word (i, +t) ⇒ event (i)
genia (i, p) ⇒ event (i)
p
role (i, j, +r)
dict (i, +d
i
) ∧ dict (j, +d
j
) ⇒ role (i, j, +r)
path (i, j, +p, +parser) ⇒ role (i, j, +r)
i j j
i
P (i, j, +p, +parser) ∧ T (i, +t) ⇒
role (i, j, +r)
P T
T (i, +t) T (i)
46
event (i) ⇒ ∃t.eventT ype (i, t)
eventT y pe (i, t) ⇒ event (i)
eventT y pe (i, t) ∧ t = o ⇒ ¬eventT ype (i, o)
¬site (i) ∨ ¬event (i)
role (i, j, r) ⇒ event (i) j r i i
role (i, j, r
1
) ∧ r
1
= r
2
⇒ ¬role (i, j, r
2
)
eventT y pe (e, t) ∧ role (e, a, r) ∧ event (a) ⇒ regT ype (t)
role (i, j, r) ∧ taskOne (r) ⇒ event (j) ∨ protein (j)
role (i, j, r) ∧ taskTwo (r) ⇒ site (j)
site (j) ⇒ ∃i, r.role (i, j, r) ∧ taskTwo (r)
event (i) ⇒ ∃j.role (i, j, )
eventT y pe (i, t) ∧ ¬allowed (t, r) ⇒ ¬role (i, j, r)
role (i, j, r
1
) ∧ k = i ⇒ ¬r ole (k, j, r
2
)
j < k ∧ i < j ∧ role (i, j, r
1
) ⇒ ¬role (i, k, r
2
)
47
48
49