From fe6e6c9c177af4084f65a1680792ebdb180de1cf Mon Sep 17 00:00:00 2001 From: Kevin Brubeck Unhammer Date: Wed, 27 Aug 2008 21:51:43 +0200 Subject: [PATCH] loc_h_dmv reestimation conforms to formulas.pdf, but cnf_ version still differs somehow --- DMVCCM.html | 91 +++++++-------- DMVCCM.org | 55 +++++---- src/cnf_dmv.py | 29 +++-- src/common_dmv.py | 3 + src/io.py | 3 + src/io.pyc | Bin 7292 -> 7426 bytes src/loc_h_dmv.py | 335 ++++++++++++++++++++++++++++++++++++++++++++--------- src/loc_h_dmv.pyc | Bin 27894 -> 35279 bytes src/main.py | 71 +++++++----- tex/compile.sh.~1~ | 2 - tex/formulas.pdf | Bin 110246 -> 115789 bytes tex/formulas.skim | Bin 1665 -> 1717 bytes tex/formulas.tex | 225 +++++++++++++++++------------------ 13 files changed, 528 insertions(+), 286 deletions(-) delete mode 100755 tex/compile.sh.~1~ rewrite tex/formulas.pdf (82%) diff --git a/DMVCCM.html b/DMVCCM.html index 63b658b..d3f6766 100755 --- a/DMVCCM.html +++ b/DMVCCM.html @@ -6,26 +6,11 @@ lang="en" xml:lang="en"> DMV/CCM – todo-list / progress - + - -

DMV/CCM – todo-list / progress

@@ -41,11 +26,12 @@ function toggleSemester (semID) {
  • 4 [#C] Alternative CNF for DMV
  • 5 Combine CCM with DMV
  • @@ -92,16 +78,18 @@ function toggleSemester (semID) { DMV-formulas.pdfclear information =D
  • -main.py – evaluation +main.py – evaluation, corpus likelihoods
  • wsjdep.py – corpus +
  • loc_h_dmv.py – DMV-IO and reestimation
  • loc_h_harmonic.py – DMV initialization +
  • common_dmv.py – various functions used by loc_h_dmv and others @@ -109,6 +97,12 @@ DMV-formulas.pdfclear informatio
  • io.py – non-DMV IO +
  • +
  • +cnf_dmv.py – cnf-like implementation of DMV +
  • +
  • +cnf_harmonic.py – initialization for cnf_dmv
  • @@ -216,66 +210,59 @@ ROOT --> STOP _h_ [1.00]

    -
    -

    4.1 TOGROK Do we use special P_ROOT rules?

    +

    4.1 TODO [#A] Make and implement an equivalent grammar that's really CNF

    -

    PROOT doesn't care about adjacency anyway, so I guess it doesn't -matter if we just sum over all head types in a sentence. -

    -

    -Or? +

    …since I'm not sure about my unary reestimation rules (section 5 of +formulas).

    -

    4.2 TODO complete programming the dmv2cnf versions of dmv.py and harmonic.py

    +

    4.2 TOGROK [#A] convert L&Y-based reestimation into P_ATTACH and P_STOP values

    -
    +

    Sum over the various rules? Or something? Must think of this. +

    -

    4.3 TODO move as much as possible into common_dmv.py

    +

    4.3 TODO [#C] move as much as possible into common_dmv.py

    common_dmv.py -

    -

    -…and improve cnf vs loc_h classes (at least give them different names)

    -

    4.4 TODO dmv2cnf re-estimation formulas

    +

    4.4 DONE L&Y-based reestimation for cnf_dmv

    -

    tex -

    -

    -The reestimation function still has to sum over the various -possibilities of N's and A's; but it seems to be simpler than the -loc_h-method altogether. -

    -

    -Question: Would it be the same thing to reestimate using completely -regular IO reestimation? +

    CLOSED: 2008-08-21 Thu 16:35

    -

    4.5 DONE dmv2cnf IO formulas

    +

    4.5 DONE dmv2cnf re-estimation formulas

    -

    CLOSED: 2008-07-30 Wed 00:40
    +

    CLOSED: 2008-08-21 Thu 16:36

    + +
    + +
    +

    4.6 DONE inner and outer for cnf_dmv.py, also cnf_harmonic.py

    +
    + +
    @@ -637,6 +624,10 @@ Good tutorial:

    Author: Kevin Brubeck Unhammer <K.BrubeckUnhammer at student uva nl >

    -

    Date: 2008/08/01 21:56:44

    -
    Skrive vha. emacs + org-mode
    +

    Date: 2008/08/21 16:39:45

    +
    +Skrive vha. emacs + org-mode +
    + diff --git a/DMVCCM.org b/DMVCCM.org index 776eaa7..edbe3d8 100755 --- a/DMVCCM.org +++ b/DMVCCM.org @@ -15,22 +15,26 @@ [[file:src/loc_h_dmv.py][loc_h_dmv.py]] Meta-todo: -- make test battery -- change the h's to h_l in [[file:tex/formulas.pdf][formulas.pdf]] +- debug reestimate2 which stores charts for all sentences and has + arguments as the outer loop + - have to fix the lack of attachment probabilities... +- fix cnf outer [[file:DMVCCM.html][DMVCCM.html]] * DMV/CCM report and project - DMV-[[file:tex/formulas.pdf][formulas.pdf]] -- /clear/ information =D -- [[file:src/main.py][main.py]] -- evaluation +- [[file:src/main.py][main.py]] -- evaluation, corpus likelihoods - [[file:src/wsjdep.py][wsjdep.py]] -- corpus + - [[file:src/loc_h_dmv.py][loc_h_dmv.py]] -- DMV-IO and reestimation - [[file:src/loc_h_harmonic.py][loc_h_harmonic.py]] -- DMV initialization + - [[file:src/common_dmv.py][common_dmv.py]] -- various functions used by loc_h_dmv and others - [[file:src/io.py][io.py]] -- non-DMV IO -# - [[file:src/cnf_harmonic.py][cnf_harmonic.py]] -# - [[file:src/cnf_dmv.py][cnf_dmv.py]] +- [[file:src/cnf_dmv.py][cnf_dmv.py]] -- cnf-like implementation of DMV +- [[file:src/cnf_harmonic.py][cnf_harmonic.py]] -- initialization for cnf_dmv [[http://www.student.uib.no/~kun041/dmvccm/DMVCCM_archive.html][Archived entries]] from this file. * Notation @@ -123,24 +127,31 @@ Given a grammar with certain p_ATTACH, p_STOP and p_ROOT, we get: : < --> _h_ < [0.60] :ROOT --> STOP _h_ [1.00] - -** TODO program reestimation for cnf_dmv -Not sure how this should be done; we could either do it the way it's -done in Klein and Manning, or take it all the way into Lari & -Young. Possibly do both, to find this stupid bug... -** TODO dmv2cnf re-estimation formulas -[[file:tex/formulas.tex][tex]] - -The reestimation function still has to sum over the various -possibilities of N's and A's; but it seems to be simpler than the -loc_h-method altogether. - -Question: Would it be the same thing to reestimate using completely -regular IO reestimation? -** TODO move as much as possible into common_dmv.py +** TODO [#A] Make and implement an equivalent grammar that's /pure/ CNF +...since I'm not sure about my unary reestimation rules (section 5 of +[[file:tex/formulas.pdf][formulas]]). + +: h>< --> h> STOP +: h>< --> >h> STOP +: _h_ --> STOP h>< +: _h_ --> STOP < +: >h> --> h> _a_ +: >h> --> >h> _a_ +: < --> _a_ h>< +: < --> _a_ < +: ROOT --> _a_ < p_ROOT(h) * p_ATTACH(a|h,L) +: ROOT --> _a_ h> p_ROOT(h) * p_ATTACH(a|h,R) +: ROOT --> h p_ROOT(h) + + +** TOGROK [#A] convert L&Y-based reestimation into P_ATTACH and P_STOP values +Sum over the various rules? Or something? Must think of this. +** TODO [#C] move as much as possible into common_dmv.py [[file:src/common_dmv.py][common_dmv.py]] - -...and improve cnf vs loc_h classes (at /least/ give them different names) +** DONE L&Y-based reestimation for cnf_dmv + CLOSED: [2008-08-21 Thu 16:35] +** DONE dmv2cnf re-estimation formulas + CLOSED: [2008-08-21 Thu 16:36] ** DONE inner and outer for cnf_dmv.py, also cnf_harmonic.py * TOGROK Combine CCM with DMV diff --git a/src/cnf_dmv.py b/src/cnf_dmv.py index d596dec..6627d87 100755 --- a/src/cnf_dmv.py +++ b/src/cnf_dmv.py @@ -54,6 +54,7 @@ class CNF_DMV_Grammar(io.Grammar): self.__mothersR[w_node] = [r for LHS in self.LHSs() for r in self.rules(LHS) if r.R() == w_node] + argnums.append(POS(STOP)) return [r for r in self.__mothersR[w_node] if POS(r.L()) in argnums] @@ -63,6 +64,7 @@ class CNF_DMV_Grammar(io.Grammar): self.__mothersL[w_node] = [r for LHS in self.LHSs() for r in self.rules(LHS) if r.L() == w_node] + argnums.append(POS(STOP)) return [r for r in self.__mothersL[w_node] if POS(r.R()) in argnums] @@ -315,7 +317,7 @@ def outer(i,j,w_node, g, sent, ichart={}, ochart={}): # reestimation, todo: # ############################## def reest_zeros(rules): - f = {} + f = { ('den',ROOT) : 0.0 } for r in rules: for nd in ['num','den']: f[nd, r.LHS(), r.L(), r.R()] = 0.0 @@ -371,8 +373,8 @@ def reest_freq(g, corpus): else: return inner(i,j,LHS,g,sent,ichart) - for sn,sent in enumerate(corpus): - if sn%1==0: print "sentence number %d"%sn + for s_num,sent in enumerate(corpus): + if s_num%5==0: print "s.num %d"%s_num, if 'REEST' in DEBUG: print sent ichart = {} ochart = {} @@ -383,12 +385,11 @@ def reest_freq(g, corpus): sent_nums = g.sent_nums(sent) sent_rules = g.sent_rules(sent_nums) for r in sent_rules: - print r LHS, L, R = r.LHS(), r.L(), r.R() if 'REEST' in DEBUG: print r if LHS == ROOT: f['num',LHS,L,R] += r.p() * e_g(0, len(sent), R, sent) - f['den',LHS,L,R] += p_sent + f['den',ROOT] += p_sent continue # !!! o/w we add wrong values to it below if L == STOP or R == STOP: w = w1_g @@ -397,21 +398,25 @@ def reest_freq(g, corpus): for i in xlt(len(sent)): for j in xgt(i, sent): f['num',LHS,L,R] += w(i,j, r, sent) - f['den',LHS,L,R] += c_g(i,j, LHS, sent) + f['den',LHS,L,R] += c_g(i,j, LHS, sent) # v_q + print "" return f def reestimate(g, corpus): f = reest_freq(g, corpus) print "applying f to rules" for r in g.all_rules(): - r.prob = f['den',r.LHS(),r.L(),r.R()] + if r.LHS() == ROOT: + r.prob = f['den',ROOT] + else: + r.prob = f['den',r.LHS(),r.L(),r.R()] if r.prob > 0.0: r.prob = f['num',r.LHS(),r.L(),r.R()] / r.prob - return f + return g ############################## -# testing functions: # +# Testing functions: # ############################## def testgrammar(): # make sure we use the same data: @@ -424,8 +429,8 @@ def testgrammar(): def testreestimation(): from loc_h_dmv import testcorpus g = testgrammar() - f = reestimate(g, testcorpus[0:4]) - return (f,g) + g = reestimate(g, testcorpus[0:4]) + return g def testgrammar_a(): # Non, Adj _h_ = CNF_DMV_Rule((SEAL,0), STOP, ( RGOL,0), 1.0, 1.0) # LSTOP @@ -512,4 +517,4 @@ if __name__ == "__main__": regression_tests() # g = testgrammar() # print g - print "TODO!!!! fix outer (also, make mothersL and R faster somehow)" + diff --git a/src/common_dmv.py b/src/common_dmv.py index 92fddb9..2490962 100644 --- a/src/common_dmv.py +++ b/src/common_dmv.py @@ -48,6 +48,9 @@ def xgt(gt, sent): lt = len(sent) + 1 return xrange(gt+1, lt) +def xeq(eq, sent=[]): + return [eq] + def xgteq(gteq, sent): '''Include the position "behind" the last word, ie. len(sent).''' lt = len(sent) + 1 diff --git a/src/io.py b/src/io.py index 7eec28f..0853544 100644 --- a/src/io.py +++ b/src/io.py @@ -50,6 +50,9 @@ class Grammar(): else: return self.__tagnum[tag] + def get_nums_tags(self): + return (self.__numtag,self.__tagnum) + def __init__(self, numtag, tagnum, p_rules=[], p_terminals=[]): '''rules and p_terminals should be arrays, where p_terminals are of the form [preterminal, terminal], and rules are CNF_Rule's.''' diff --git a/src/io.pyc b/src/io.pyc index d9d4fe68687facbe73fb0b43d5f870df4099c988..d85f16d8b87152f74a372738a24eaff64873f3b0 100644 GIT binary patch delta 871 zcwS{vOKTHR6ux(+(>RmnRTG*=(??o$Qf)_5G^tc#Z9yz0>J6dD-+A;fbMn-$|{6r@%V;O($}>1Ka)-BX?bOad~1V*nj6)18?a|F_ZE zgEA$|6?ZGLDbuF=G5SefOM?+Sz;!T7YrSFBJS80)W+wrsdcv5Q1rDUKG5$MlBywIg zacs!cx96I>EDx72Cl=^Dzn{4K;2$ykM>Y&tKzY=wHyX8;*=%iZurb8&Qg%Gq&ZhId zJfyH(SD|0jo1!CwcoeyjkQ~npQ*I}#X^d6}$9nn%=Vj6Q@E&Kc$QJpJ*;#9(VTdo)*0BzkvVi!}mwt zPZ~Ypsy5xSE`)lY`NV-oEcu0;b4>SElSg+C%`qaIPyCtaZ6U;tUqNUlnbfa7$Kt#- zL+$)6l1%C9Bm$pi1;b~MsWl$MG~BB7m*^4y^4c5=wDRx3ShP!d%5DY61Ir8a@H?xO zU;A`k2^uucYr$;;F0zY%26HsQ*FtYo4r261jCHOfYl@DNXw%!3ImO>YJLK?GI75snA_?Pot83rL6z8>LdQvQn;Wt;!_!NMR3Y>J!a1;t(PS`AghZzsaBY zE~R-nk)UCIk=Rb(7xin~(BO8lY!daMoGojb!yK~4@jLSUX>$QKLAFt39-F$ PR_6JYJxc?8Y-j%i{`7TV diff --git a/src/loc_h_dmv.py b/src/loc_h_dmv.py index 52620fd..1319783 100644 --- a/src/loc_h_dmv.py +++ b/src/loc_h_dmv.py @@ -2,8 +2,16 @@ # # dmv reestimation and inside-outside probabilities using loc_h, and # no CNF-style rules +# +# Table of Contents: +# 1. Grammar-class and related functions +# 2. P_INSIDE / inner() and inner_sent() +# 3. P_OUTSIDE / outer() +# 4. Reestimation v.1: sentences as outer loop +# 5. Reestimation v.2: head-types as outer loop +# 6. Most Probable Parse +# 7. Testing functions -#import numpy # numpy provides Fast Arrays, for future optimization import io from common_dmv import * @@ -68,7 +76,29 @@ class DMV_Grammar(io.Grammar): self.p_ATTACH = p_ATTACH # p_ATTACH[a, h, LEFT] = p (etc. for R) # p_GO_AT[a, h, LEFT, NON] = p (etc. for LA,RN,RA) self.p_GO_AT = make_GO_AT(self.p_STOP, self.p_ATTACH) - + # these are used in reestimate2(): + self.reset_iocharts() + + def get_iochart(self, sent_nums): + ch_key = tuple(sent_nums) + try: + ichart = self._icharts[ch_key] + except: + ichart = {} + try: + ochart = self._ocharts[ch_key] + except: + ochart = {} + return (ichart, ochart) + + def set_iochart(self, sent_nums, ichart, ochart): + self._icharts[tuple(sent_nums)] = ichart + self._ocharts[tuple(sent_nums)] = ochart + + def reset_iocharts(self): + self._icharts = {} + self._ocharts = {} + def p_GO_AT_or0(self, a, h, dir, adj): try: return self.p_GO_AT[a, h, dir, adj] @@ -307,14 +337,10 @@ def outer(i,j,w_node,loc_w, g, sent, ichart={}, ochart={}): ################################################### -# Reestimation: # +# Reestimation v.1: # +# Sentences as outer loop # ################################################### -# todo: it seems we have to rewrite attachment reestimation so that we -# have 'a´ as the outer loop, then sentences... but this means running -# through sentences several times, and that would require storing -# inner probabilites...agh! - def reest_zeros(h_nums): '''A dict to hold numerators and denominators for our 6+ reestimation formulas. ''' @@ -332,6 +358,7 @@ formulas. ''' fr['STOP',nd,x,adj] = 0.0 return fr + def reest_freq(g, corpus): fr = reest_zeros(g.headnums()) ichart = {} @@ -483,28 +510,27 @@ def reest_freq(g, corpus): if 'REEST_ATTACH' in DEBUG: print "\tfor j > %s"%sent[loc_h:len(sent)] for j in xgt(loc_r_h, sent): # j > loc_r(h) - fr['hat_a','den',x] += c(i,j, x,loc_h, sent) # v_q in L&Y + fr['hat_a','den',x] += c(i,j, x,loc_h, sent) # v_q in L&Y if 'REEST_ATTACH' in DEBUG: print "\t\tc( %d , %d, %s, %s, sent)=%.4f"%(loc_h,j,node_str(x),loc_h,fr['hat_a','den',x]) - w_right(loc_l_h,j, x,loc_h, sent,sent_nums) # compute w for all a in sent - + w_right(i,j, x,loc_h, sent,sent_nums) # compute w for all a in sent # end for loc_h,h # end for sent return fr -def reestimate(g, corpus): - fr = reest_freq(g, corpus) +def reestimate(old_g, corpus): + fr = reest_freq(old_g, corpus) p_ROOT, p_STOP, p_ATTACH = {},{},{} - for h in g.headnums(): - reest_head(h, fr, g, p_ROOT, p_STOP, p_ATTACH) + for h in old_g.headnums(): + # reest_head changes p_ROOT, p_STOP, p_ATTACH + reest_head(h, fr, old_g, p_ROOT, p_STOP, p_ATTACH) + p_ORDER = old_g.p_ORDER + numtag, tagnum = old_g.get_nums_tags() - g.p_STOP = p_STOP - g.p_ATTACH = p_ATTACH - g.p_GO_AT = make_GO_AT(p_STOP,p_ATTACH) - g.p_ROOT = p_ROOT - return fr + new_g = DMV_Grammar(numtag, tagnum, p_ROOT, p_STOP, p_ATTACH, p_ORDER) + return new_g def reest_head(h, fr, g, p_ROOT, p_STOP, p_ATTACH): @@ -530,12 +556,13 @@ def reest_head(h, fr, g, p_ROOT, p_STOP, p_ATTACH): hat_a = {} p_c = fr['hat_a','den',x] - for a in g.headnums(): + for w in g.headnums(): try: - hat_a[a,x] = fr['hat_a','num',a,x] / p_c + hat_a[w,x] = fr['hat_a','num',w,x] / p_c except: pass - + + # this has to happen after all_w hat_a[w,x] are done: sum_hat_a = sum([hat_a[w,x] for w in g.headnums() if (w,x) in hat_a]) @@ -551,7 +578,209 @@ def reest_head(h, fr, g, p_ROOT, p_STOP, p_ATTACH): +################################################### +# Reestimation v.2: # +# Heads as outer loop # +################################################### + +def locs_h(h, sent_nums): + '''Return the between-word locations of all tokens of h in sent.''' + return [loc_w for loc_w,w in locs(sent_nums, 0, len(sent_nums)) + if w == h] + +def locs_a(a, sent_nums, start, stop): + '''Return the between-word locations of all tokens of h in some + fragment of sent. We make sure to offset the locations correctly + so that for any w in the returned list, sent[w]==loc_w. + + start is inclusive, stop is exclusive, as in klein-thesis and + Python's list-slicing (eg. return left-loc).''' + return [loc_w for loc_w,w in locs(sent_nums, start, stop) + if w == a] + +def inner2(i, j, node, loc_h, g, sent): + ichart,ochart = g.get_iochart(s_n) + try: p = ichart[i,j,x,loc_h] + except: p = inner(i,j,x,loc_h,g,sent,ichart) + g.set_iochart(s_n,ichart,ochart) + return p + +def inner_sent2(g, sent): + ichart,ochart = g.get_iochart(s_n) + p = inner_sent(g,sent,ichart) + g.set_iochart(s_n,ichart,ochart) + return p + +def outer2(i, j,w_node,loc_w, g, sent): + ichart,ochart = g.get_iochart(s_n) + try: p = ochart[i,j,w_node,loc_w] + except: p = inner(i,j,w_node,loc_w,g,sent,ichart,ochart) + g.set_iochart(s_n,ichart,ochart) + return p + +def reestimate2(old_g, corpus): + p_ROOT, p_STOP, p_ATTACH = {},{},{} + + for h in old_g.headnums(): + # reest_head changes p_ROOT, p_STOP, p_ATTACH + reest_head2(h, old_g, corpus, p_ROOT, p_STOP, p_ATTACH) + p_ORDER = old_g.p_ORDER + numtag, tagnum = old_g.get_nums_tags() + + new_g = DMV_Grammar(numtag, tagnum, p_ROOT, p_STOP, p_ATTACH, p_ORDER) + return new_g + +def hat_d2(xbar, x, xi, xj, g, corpus): # stop helper + def c(x,loc_x,i,j): return c2(x,loc_x,i,j,g,s_n,sent) + + h = POS(x) + if h != POS(xbar): raise ValueError + + num, den = 0.0, 0.0 + for s_n,sent in [(g.sent_nums(sent),sent) for sent in corpus]: + for loc_h in locs_h(h,s_n): + loc_l_h, loc_r_h = loc_h, loc_h + 1 + for i in xi(loc_l_h): + for j in xj(loc_r_h, s_n): +# print "s:%s %d,%d"%(sent,i,j) + num += c(xbar,loc_h,i,j) + den += c(x,loc_h,i,j) + if den == 0.0: + return den + return num/den # eg. SEAL/RGOL, xbar/x + + +def c2(x,loc_h,i,j,g,s_n,sent): + ichart,ochart = g.get_iochart(s_n) + + def f(i,j,x,loc_h): # P_{OUTSIDE} + try: return ochart[i,j,x,loc_h] + except: return outer(i,j,x,loc_h,g,sent,ichart,ochart) + def e(i,j,x,loc_h): # P_{INSIDE} + try: return ichart[i,j,x,loc_h] + except: return inner(i,j,x,loc_h,g,sent,ichart) + + p_sent = inner_sent(g, sent, ichart) + if not p_sent > 0.0: + return p_sent + + p_in = e(i,j, x,loc_h) + if not p_in > 0.0: + return p_in + + p_out = f(i,j, x,loc_h) + g.set_iochart(s_n,ichart,ochart) + return p_in * p_out / p_sent + +def w2(a, x,loc_h, dir, i, j, g, s_n,sent): + ichart,ochart = g.get_iochart(s_n) + + def f(i,j,x,loc_h): # P_{OUTSIDE} + try: return ochart[i,j,x,loc_h] + except: return outer(i,j,x,loc_h,g,sent,ichart,ochart) + def e(i,j,x,loc_h): # P_{INSIDE} + try: return ichart[i,j,x,loc_h] + except: return inner(i,j,x,loc_h,g,sent,ichart) + + h = POS(x) + p_sent = inner_sent(g, sent, ichart) + + if dir == LEFT: + L, R = (SEAL,a),x + else: + L, R = x,(SEAL,a) + w_sum = 0.0 + + for k in xtween(i,j): + if dir == LEFT: + start, stop = i, k + else: + start, stop = k, j + for loc_a in locs_a(a, s_n, start, stop): + if dir == LEFT: + loc_L, loc_R = loc_a, loc_h + else: + loc_L, loc_R = loc_h, loc_a + p = g.p_GO_AT_or0(a,h,dir,adj(k,loc_h)) + in_L = e(i,k,L,loc_L) + in_R = e(k,j,R,loc_R) + out = f(i,j,x,loc_h) + w_sum += p * in_L * in_R * out + + g.set_iochart(s_n,ichart,ochart) + return w_sum/p_sent + +def hat_a2(a, x, dir, g, corpus): # attachment helper + def w(a,x,loc_x,dir,i,j): return w2(a,x,loc_x,dir,i,j,g,s_n,sent) + def c(x,loc_x,i,j): return c2(x,loc_x,i,j,g,s_n,sent) + + h = POS(x) + if dir == LEFT: + xi, xj = xlt, xgteq + else: + xi, xj = xlteq, xgt + den, num = 0.0, 0.0 + + for s_n,sent in [(g.sent_nums(sent),sent) for sent in corpus]: + for loc_h in locs_h(h,s_n): + loc_l_h, loc_r_h = loc_h, loc_h + 1 + for i in xi(loc_l_h): + for j in xj(loc_r_h,sent): + num += w(a, x,loc_h, dir, i,j) + den += c(x,loc_h, i,j) + if den == 0.0: + return den + return num/den + +def reest_root2(h,g,corpus): + num, den = 0.0, 0.0 + for s_n,sent in [(g.sent_nums(sent),sent) for sent in corpus]: + ichart, ochart = g.get_iochart(s_n) + den += inner_sent(g, sent, ichart) + for loc_h in locs_h(h,s_n): + num += \ + g.p_ROOT[h] * \ + inner(0, len(s_n), (SEAL,h), loc_h, g, sent, ichart) + g.set_iochart(s_n, ichart, ochart) + return num / den + +def reest_head2(h, g, corpus, p_ROOT, p_STOP, p_ATTACH): + def hat_d(xbar,x,xi,xj): return hat_d2(xbar,x,xi,xj, g, corpus) + def hat_a(a, x, dir ): return hat_a2(a, x, dir, g, corpus) + def div(num,den): + if den > 0.0: return num / den + else: return den + + p_STOP[h, LEFT,NON] = \ + hat_d((SEAL,h),(RGOL,h),xlt, xgteq) + \ + hat_d((LGOR,h),( GOL,h),xlt, xeq) + p_STOP[h, LEFT,ADJ] = \ + hat_d((SEAL,h),(RGOL,h),xeq, xgteq) + \ + hat_d((LGOR,h),( GOL,h),xeq, xeq) + p_STOP[h,RIGHT,NON] = \ + hat_d((RGOL,h),( GOR,h),xeq, xgt) + \ + hat_d((SEAL,h),(LGOR,h),xlteq,xgt) + p_STOP[h,RIGHT,ADJ] = \ + hat_d((RGOL,h),( GOR,h),xeq, xeq) + \ + hat_d((SEAL,h),(LGOR,h),xlteq,xeq) + + p_ROOT[h] = reest_root2(h,g,corpus) + + for a in g.headnums(): + p_ATTACH[a,h,LEFT] = \ + div( hat_a(a, (GOL,h),LEFT), + sum([hat_a(w, (GOL,h),LEFT) for w in g.headnums()]) ) + \ + div( hat_a(a,(RGOL,h),LEFT), + sum([hat_a(w,(RGOL,h),LEFT) for w in g.headnums()]) ) + p_ATTACH[a,h,RIGHT] = \ + div( hat_a(a, (GOR,h),RIGHT), + sum([hat_a(w, (GOR,h),RIGHT) for w in g.headnums()]) ) + \ + div( hat_a(a,(LGOR,h),RIGHT), + sum([hat_a(w,(LGOR,h),RIGHT) for w in g.headnums()]) ) + + + ################################################### @@ -656,27 +885,16 @@ def testgrammar(): return loc_h_harmonic.initialize(testcorpus) -def ig(s,t,LHS,loc_h): - return inner(s,t,LHS,loc_h,testgrammar(),'det nn vbd'.split(),{}) +def testreestimation2(): + g2 = testgrammar() + reestimate2(g2, testcorpus) + return g2 def testreestimation(): g = testgrammar() - print g -# DEBUG.add('REEST_ATTACH') - f = reestimate(g, testcorpus) - print g - testreestimation_regression(f) - return f - -def testreestimation_regression(fr): - f_stops = {('STOP', 'den', (RGOL,3),NON): 12.212773236178391, ('STOP', 'den', (GOR,2),ADJ): 4.0, ('STOP', 'num', (GOR,4),NON): 2.5553487221351365, ('STOP', 'den', (RGOL,2),NON): 1.274904052793207, ('STOP', 'num', (RGOL,1),ADJ): 14.999999999999995, ('STOP', 'den', (GOR,3),ADJ): 15.0, ('STOP', 'num', (RGOL,4),ADJ): 16.65701084787457, ('STOP', 'num', (RGOL,0),ADJ): 4.1600647714443468, ('STOP', 'den', (RGOL,4),NON): 6.0170669155897105, ('STOP', 'num', (RGOL,3),ADJ): 2.7872267638216113, ('STOP', 'num', (RGOL,2),ADJ): 2.9723139990470515, ('STOP', 'den', (RGOL,2),ADJ): 4.0, ('STOP', 'den', (GOR,3),NON): 12.945787931730905, ('STOP', 'den', (RGOL,3),ADJ): 14.999999999999996, ('STOP', 'den', (GOR,2),NON): 0.0, ('STOP', 'den', (RGOL,0),ADJ): 8.0, ('STOP', 'num', (GOR,4),ADJ): 19.44465127786486, ('STOP', 'den', (GOR,1),NON): 3.1966410324085777, ('STOP', 'den', (RGOL,1),ADJ): 14.999999999999995, ('STOP', 'num', (GOR,3),ADJ): 4.1061665495365558, ('STOP', 'den', (GOR,0),NON): 4.8282499043902476, ('STOP', 'num', (RGOL,4),NON): 5.3429891521254289, ('STOP', 'num', (GOR,2),ADJ): 4.0, ('STOP', 'den', (RGOL,4),ADJ): 22.0, ('STOP', 'num', (GOR,1),ADJ): 12.400273895299103, ('STOP', 'num', (RGOL,2),NON): 1.0276860009529487, ('STOP', 'num', (GOR,0),ADJ): 3.1717500956097533, ('STOP', 'num', (RGOL,3),NON): 12.212773236178391, ('STOP', 'den', (GOR,4),ADJ): 22.0, ('STOP', 'den', (GOR,4),NON): 2.8705211946979836, ('STOP', 'num', (RGOL,0),NON): 3.8399352285556518, ('STOP', 'num', (RGOL,1),NON): 0.0, ('STOP', 'num', (GOR,0),NON): 4.8282499043902476, ('STOP', 'num', (GOR,1),NON): 2.5997261047008959, ('STOP', 'den', (RGOL,1),NON): 0.0, ('STOP', 'den', (GOR,0),ADJ): 8.0, ('STOP', 'num', (GOR,2),NON): 0.0, ('STOP', 'den', (RGOL,0),NON): 4.6540557322109795, ('STOP', 'den', (GOR,1),ADJ): 15.0, ('STOP', 'num', (GOR,3),NON): 10.893833450463443} - for k,v in f_stops.iteritems(): - if not k in fr: - print '''Regression in P_STOP reestimation, should be fr[%s]=%.4f, -but %s not in fr'''%(k,v,k) - elif not "%.10f"%fr[k] == "%.10f"%v: - print '''Regression in P_STOP reestimation, should be fr[%s]=%.4f, -got fr[%s]=%.4f.'''%(k,v,k,fr[k]) + g = reestimate(g, testcorpus) + return g + def testmpp_regression(mpptree,k_n): mpp = {ROOTKEY: (2.877072116829971e-05, STOPKEY, (0, 3, (2, 3), 1)), @@ -815,6 +1033,27 @@ def regression_tests(): "%.4f" % outer(0, 3, (GOR,h), 0,testgrammar_a(),'h a'.split(),{},{})) # todo: add more of these tests... + + + +def compare_grammars(g1,g2): + result = "" + for d1,d2 in [(g1.p_ATTACH,g2.p_ATTACH),(g1.p_STOP,g2.p_STOP), + (g1.p_ORDER, g2.p_ORDER), (g1.p_ROOT,g2.p_ROOT) ]: + for k,v in d1.iteritems(): + if k not in d2: + result += "\nreestimate1[%s]=%s missing from reestimate2"%(k,v) + elif "%s"%d2[k] != "%s"%v: + result += "\nreestimate1[%s]=%s while \nreestimate2[%s]=%s."%(k,v,k,d2[k]) + for k,v in d2.iteritems(): + if k not in d1: + result += "\nreestimate2[%s]=%s missing from reestimate1"%(k,v) + return result + +def testIO(): + g = testgrammar() + inners = [(sent, inner_sent(g, sent, {})) for sent in testcorpus] + return inners if __name__ == "__main__": DEBUG.clear() @@ -833,15 +1072,7 @@ if __name__ == "__main__": # for s in testcorpus: # print "sent:%s\nparse:set(\n%s)"%(s,pprint.pformat(list(mpp(testgrammar(), s)), # width=40)) - - -# import pprint -# pprint.pprint( testreestimation()) - - - -def testIO(): - g = testgrammar() - inners = [(sent, inner_sent(g, sent, {})) for sent in testcorpus] - return inners + g1 = testreestimation() + g2 = testreestimation2() + print compare_grammars(g1,g2) diff --git a/src/loc_h_dmv.pyc b/src/loc_h_dmv.pyc index 4ca3600c723526ff5ce04f5d4aff8f37b83a2760..1d73c10ab8941c4ddbc9629976b54e1d033a3a3e 100644 GIT binary patch literal 35279 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≷}L@add;Y(MCX9+1)9*7(VQb+95Ne7 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 Xh@zM$R*KD{TeNctO%9qT<`@10^3A#q diff --git a/src/main.py b/src/main.py index b843739..b4058f6 100644 --- a/src/main.py +++ b/src/main.py @@ -24,38 +24,41 @@ def initialize_cnf(tagonlys): return cnf_harmonic.initialize(tagonlys) -def test_likelihood(reestimate, initialize, inner_sent): - def run_IO(iterations, tagonlys, tags_and_parses): +def test_likelihood(reestimate, initialize, inner_sent, corpus_size=20, corpus_offset=1000): + def run_IO(g, iterations, tagonlys, tags_and_parses): print corpus_likelihood(g, tagonlys) - #print evaluate(g, tags_and_parses) + # print evaluate(g, tags_and_parses) # for i in range(iterations): - f = reestimate(g, tagonlys) + g = reestimate(g, tagonlys) print "reestimation number %d done"%i - #print evaluate(g, tags_and_parses) - print corpus_likelihood(g, tagonlys) + # print evaluate(g, tags_and_parses) # + print corpus_likelihood(g, tagonlys) + return g def corpus_likelihood(g, tagsonly): from math import log sumlog = 0.0 for sent in tagsonly: - p_sent = inner_sent(g, sent) + p_sent = inner_sent(g, sent, {}) if p_sent == 0.0: print "%s had zero probability!"%sent else: sumlog += log(p_sent) - return "Sum of log P_{sentence}: %.4f\n"%sumlog + return "Sum of log P_{sentence}: %.4f (should move towards 0)\n"%sumlog reader = WSJDepCorpusReader(None) - corpus_size = 100 - tagonlys = reader.tagonly_sents()[1000:1000+corpus_size] - tags_and_parses = reader.tagged_and_parsed_sents()[1000:1000+corpus_size] + tagonlys = reader.tagonly_sents()[corpus_offset:corpus_offset+corpus_size] + tags_and_parses = reader.tagged_and_parsed_sents()[corpus_offset:corpus_offset+corpus_size] - print "initializing %d sentences"%corpus_size +# from loc_h_dmv import testcorpus +# tagonlys = testcorpus + + print "initializing %d sentences..." % corpus_size, g = initialize(tagonlys) print "initialized" - run_IO(4, tagonlys, tags_and_parses) - + g = run_IO(g, 4, tagonlys, tags_and_parses) + return g def evaluate(g, tagged_and_parsed_sents): @@ -110,7 +113,8 @@ F1: \t\t%.4f'''%(recall_num,recall_den,recall,precision_num,precision_den, preci def compare_loc_h_cnf(): reader = WSJDepCorpusReader(None) corpus_size = 200 - tagonlys = reader.tagonly_sents()[1000:1000+corpus_size] + corpus_offset = 1000 + tagonlys = reader.tagonly_sents()[corpus_offset:corpus_offset+corpus_size] import loc_h_harmonic, cnf_harmonic g_l = loc_h_harmonic.initialize(tagonlys) @@ -131,14 +135,15 @@ def compare_loc_h_cnf(): import loc_h_dmv, cnf_dmv for sent in tagonlys: - i_l = loc_h_dmv.inner_sent(g_l, sent, {}) - i_c = cnf_dmv.inner_sent(g_c, sent, {}) + ochart_l, ochart_c, ichart_l, ichart_c = {},{},{},{} + i_l = loc_h_dmv.inner_sent(g_l, sent, ichart_l) + i_c = cnf_dmv.inner_sent(g_c, sent, ichart_c) test( "%s"%i_l, "%s"%i_c, "i_l","i_c") for loc_w,w in enumerate(sent): w_node = (GOR, g_l.tagnum(w)) - o_l = loc_h_dmv.outer(loc_w,loc_w+1,w_node,loc_w, g_l, sent, {},{}) - o_c = cnf_dmv.outer(loc_w,loc_w+1,w_node, g_c, sent, {},{}) + o_l = loc_h_dmv.outer(loc_w,loc_w+1,w_node,loc_w, g_l, sent, ichart_l,ochart_l) + o_c = cnf_dmv.outer(loc_w,loc_w+1,w_node, g_c, sent, ichart_c,ochart_c) print "%s, %s, %s"%(sent,node_str(w_node),loc_w) test("%s"%o_l, "%s"%o_c, "o_l(0,1,(GOR,%s),%d,...)"%(w,loc_w),"o_c") @@ -146,13 +151,25 @@ def compare_loc_h_cnf(): if __name__ == "__main__": print "main.py:" - #compare_loc_h_cnf() +# compare_loc_h_cnf() + import cnf_dmv - test_likelihood(cnf_dmv.reestimate, - initialize_cnf, - cnf_dmv.inner_sent) -# import loc_h_dmv -# test_likelihood(loc_h_dmv.reestimate, -# initialize_loc_h, -# loc_h_dmv.inner_sent) + print "\ntrying cnf-reestimate ##############################" + g = test_likelihood(cnf_dmv.reestimate, + initialize_cnf, + cnf_dmv.inner_sent, + corpus_size=20) + + import loc_h_dmv + print "\ntrying reestimate v.1 ##############################" + g = test_likelihood(loc_h_dmv.reestimate, + initialize_loc_h, + loc_h_dmv.inner_sent, + corpus_size=20) + print "\ntrying reestimate v.2 ##############################" + g = test_likelihood(loc_h_dmv.reestimate2, + initialize_loc_h, + loc_h_dmv.inner_sent, + corpus_size=20) + print "main.py: done" diff --git a/tex/compile.sh.~1~ b/tex/compile.sh.~1~ deleted file mode 100755 index 8a2dfd9..0000000 --- a/tex/compile.sh.~1~ +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -latex DMVCCM && pdflatex DMVCCM && open DMVCCM.pdf diff --git a/tex/formulas.pdf b/tex/formulas.pdf dissimilarity index 82% index fe1901c80ae889d8d088dc45ca04ec5862f85ab9..0ead8c740087339a91bc5813e71983ed81097d22 100644 GIT binary patch literal 115789 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�V{aGtq$PmTVZW93+E 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 i|6fG;ePO24MdJ@{W~*m49*~n;a9XAOKE5J2L

    j} ~ \sum_{h:j\leq loc_l(h) j} ~ \sum_{\LOC{h}:j\leq loc_l(\LOC{h}) j} ~ \sum_{a:j\leq loc_l(a) j} ~ \sum_{\LOC{a}:j\leq loc_l(\LOC{a}) j} ~ \sum_{a:j\leq loc_l(a) j} ~ \sum_{\LOC{a}:j\leq loc_l(\LOC{a})loc_r(h)$ since we want at least one attachment: +Here $j>loc_r(\SMTR{\LOC{h}})$ since we want at least one attachment: \begin{align*} - \hat{a} (a | x, right) = \frac - { \sum_{s \in S} \sum_{h \in s} \sum_{i\leq loc_l(h)} \sum_{j>loc_r(h)} w_s(\SEAL{a} : x, right, i, j) } - { \sum_{s \in S} \sum_{h \in s} \sum_{i\leq loc_l(h)} \sum_{j>loc_r(h)} c_s(x : i, j) } + \hat{a} (a | \SMTR{h}, right) = \frac + { \sum_{s \in S} \sum_{\SMTR{\LOC{h}}:\LOC{h} \in s} \sum_{i\leq loc_l(\LOC{h})} \sum_{j>loc_r(\LOC{h})} w_s(\SEAL{a} : \SMTR{\LOC{h}}, right, i, j) } + { \sum_{s \in S} \sum_{\SMTR{\LOC{h}}:\LOC{h} \in s} \sum_{i\leq loc_l(\LOC{h})} \sum_{j>loc_r(\LOC{h})} c_s(\SMTR{\LOC{h}} : i, j) } \end{align*} -For the first/lowest attachments, $w$ and $c$ have zero probability -where $iloc_r(h)$ (for $\GOL{h}$), +For the first/lowest attachments, $w_s$ and $c_s$ have zero probability +where $iloc_r(\LOC{h})$ (for $\GOL{h}$), this is implicit in $P_{INSIDE}$. @@ -230,65 +239,39 @@ this is implicit in $P_{INSIDE}$. \subsection{Stop reestimation} The following is based on \citet[p.~88]{klein-thesis}. For the -non-adjacent rules, $iloc_r(h)$ on the +non-adjacent rules, $iloc_r(\LOC{h})$ on the right, while for the adjacent rules these are equal (respectively). To avoid some redundancy below, define a helper function $\hat{d}$ as follows: \begin{align*} - \hat{d}(x,left,non\text{-}adj) = { \sum_{s \in S} \sum_{h \in s} \sum_{i loc_r(h)} c_s(x : i, j) } -\end{align*} -\begin{align*} - \hat{d}(x,right, adj) = { \sum_{s \in S} \sum_{h \in s} \sum_{i\leq loc_l(h)} c_s(x : i, loc_r(h)) } + \hat{d}(\SMTR{h},\SDTR{h},\XI,\XJ) = \frac + { \sum_{s \in S} \sum_{\SMTR{\LOC{h}}:\LOC{h} \in s} \sum_{i:i \XI loc_l(\LOC{h})} \sum_{j:j \XJ loc_r(\LOC{h})} c_s(\SMTR{\LOC{h}} : i, j) } + { \sum_{s \in S} \sum_{\SDTR{\LOC{h}}:\LOC{h} \in s} \sum_{i:i \XI loc_l(\LOC{h})} \sum_{j:j \XJ loc_r(\LOC{h})} c_s(\SDTR{\LOC{h}} : i, j) } \end{align*} +Then these are our reestimated stop probabilities: \begin{align*} \hat{P}_{STOP} (STOP|h, left, non\text{-}adj) = - \frac - { \hat{d}(\SEAL{h},left,non\text{-}adj) } - { \hat{d}(\RGOL{h},left,non\text{-}adj) } - + - \frac - { \hat{d}(\LGOR{h},left,non\text{-}adj) } - { \hat{d}(\GOL{h},left,non\text{-}adj) } + \hat{d}(\SEAL{h}, \RGOL{h},<,\geq) + + \hat{d}(\LGOR{h}, \GOL{h},<,=) \end{align*} \begin{align*} - \hat{P}_{STOP} (STOP|h, left, adj) = - \frac - { \hat{d}(\SEAL{h},left,adj) } - { \hat{d}(\RGOL{h},left,adj) } - + - \frac - { \hat{d}(\LGOR{h},left,adj) } - { \hat{d}(\GOL{h},left,adj) } + \hat{P}_{STOP} (STOP|h, left, adj) = + \hat{d}(\SEAL{h}, \RGOL{h},=,\geq) + + \hat{d}(\LGOR{h}, \GOL{h},=,=) \end{align*} \begin{align*} - \hat{P}_{STOP} (STOP|h, right, non\text{-}adj) = - \frac - { \hat{d}(\RGOL{h},right,non\text{-}adj) } - { \hat{d}(\GOR{h},right,non\text{-}adj) } - + - \frac - { \hat{d}(\SEAL{h},right,non\text{-}adj) } - { \hat{d}(\LGOR{h},right,non\text{-}adj) } + \hat{P}_{STOP} (STOP|h, right, non\text{-}adj) = + \hat{d}(\RGOL{h}, \GOR{h},=,>) + + \hat{d}(\SEAL{h}, \LGOR{h},\leq,>) \end{align*} \begin{align*} - \hat{P}_{STOP} (STOP|h, right, adj) = - \frac - { \hat{d}(\RGOL{h},right,adj) } - { \hat{d}(\GOR{h},right,adj) } - + - \frac - { \hat{d}(\SEAL{h},right,adj) } - { \hat{d}(\LGOR{h},right,adj) } + \hat{P}_{STOP} (STOP|h, right, adj) = + \hat{d}(\RGOL{h}, \GOR{h},=,=) + + \hat{d}(\SEAL{h}, \LGOR{h},\leq,=) \end{align*} @@ -340,10 +323,10 @@ not yet generalized to include left-first attachment. The inside probabilities are the same as those given in \citet{lari-csl90}, with the following exceptions: -When calculating $P_{INSIDE}(x, i, j)$ and summing through possible -rules which rewrite $x$, if a rule is of the form $x \rightarrow -STOP ~ x'$ or $x \rightarrow x' ~ STOP$, we add $P_{RULE}\cdot -P_{INSIDE}(x', i, j)$ (that is, rewrite for the same sentence range); +When calculating $P_{INSIDE}(\SMTR{h}, i, j)$ and summing through possible +rules which rewrite $\SMTR{h}$, if a rule is of the form $\SMTR{h} \rightarrow +STOP ~ \SDTR{h}$ or $\SMTR{h} \rightarrow \SDTR{h} ~ STOP$, we add $P_{RULE}\cdot +P_{INSIDE}(\SDTR{h}, i, j)$ (that is, rewrite for the same sentence range); and, as a consequence of these unary rules: for ``terminal rules'' ($P_{ORDER}$) to be applicable, not only must $i = j-1$, but also the left-hand side symbol of the rule must be of the form $\GOR{h}$. @@ -352,21 +335,21 @@ Similarly, the outside probabilities are the same as those for pure CNF rules, with the exception that we add the unary rewrite probabilities \begin{align*} - \sum_{x'} [&P_{OUTSIDE}(x,i,j)\cdot P_{RULE}(x' \rightarrow x ~ STOP) \\ - + &P_{OUTSIDE}(x,i,j)\cdot P_{RULE}(x' \rightarrow STOP ~ x)] + \sum_{\SMTR{h}} [&P_{OUTSIDE}(\SMTR{h},i,j)\cdot P_{RULE}(\SMTR{h} \rightarrow \SDTR{h} ~ STOP) \\ + + &P_{OUTSIDE}(\SMTR{h},i,j)\cdot P_{RULE}(\SMTR{h} \rightarrow STOP ~ \SDTR{h})] \end{align*} -to $P_{OUTSIDE}(x,i,j)$ (eg. $f(s,t,i)$). +to $P_{OUTSIDE}(\SDTR{h},i,j)$ (eg. $f(s,t,i)$). The reestimation just needs to be expanded to allow unary stop rules, this is similar to the formula for binary rules in \citet[p.~41]{lari-csl90}: \begin{align*} - \hat{P}_{RULE}(x' \rightarrow x) = \frac - { \sum_{s\in S} \sum_{ii} 1/P_s \cdot P_{RULE}(x'\rightarrow x)P_{INSIDE}(x, i, j)P_{OUTSIDE}(x', i, j) } - { \sum_{s\in S} \sum_{ii} c_s(x', i, j) } + \hat{P}_{RULE}(\SMTR{h} \rightarrow \SDTR{h}) = \frac + { \sum_{s\in S} \sum_{ii} 1/P_s \cdot P_{RULE}(\SMTR{h}\rightarrow \SDTR{h})P_{INSIDE}(\SDTR{h}, i, j)P_{OUTSIDE}(\SMTR{h}, i, j) } + { \sum_{s\in S} \sum_{ii} c_s(\SMTR{h}, i, j) } \end{align*} (the denominator is unchanged, but the numerator sums $w_s$ defined -for unary rules; $x'\rightarrow x$ is meant to include both left and +for unary rules; $\SMTR{h}\rightarrow \SDTR{h}$ is meant to include both left and right stop rules). % todo: add ROOT rule to CNF grammar? -- 2.11.4.GIT