How to compile ERG for ACE to enable ubertagging?

The option to run the ERG with ubertagging is ubertagging=0.001, according to the docs. But I am assuming first I have to compile the grammar properly, giving it a path to the pretrained model? Since when I use the default supplied config.tdl and then run ACE with the ubertagging=0.001 option (what does 0.001 stand for, btw?), then I get a

WARNING: cannot enable übertagging; no model present in this grammar image.

I see the models are stored in the ut folder in the ERG releases, but what is the correct way of including them?

After looking in the source code, I have tried the following in the cofig:

übertag-emission-path	  := "/Users/olzama/Research/ERG/2020/ut/nanc_wsj_redwoods_noaffix.ex.gz"
übertag-transition-path   := "/Users/olzama/Research/ERG/2020/ut/nanc_wsj_redwoods_noaffix.tx.gz"
übertag-generic-map-path  := "/Users/olzama/Research/ERG/2020/ut/generics.cfg"
übertag-whitelist-path    := "/Users/olzama/Research/ERG/2020/ut/whitelist.cfg"

and then tried to recompile ACE, but I am getting “loading ubertagger: FAIL”:

processing lexicon...       2.42 sec
simple lexemes              27092 / 43474 = 62.32%
11110 types (4380 glb), 43474 lexemes, 363 rules, 48 orules, 108 instances, 53462 strings, 243 features
reading trigger-rule        from `./../trigger.mtr'
reading idiom-rule          from `./../idioms.mtr'
loading maxent model        2.64 sec
reading tree labels         from `./../parse-nodes.tdl'
loading tree-node-labels
rule filter...              85.3% blocked (49.9% ss)
rule filter...              85.3% blocked (45.9% ss)
rule filter...              85.3% blocked (45.9% ss)
rf-transitive closure...    68 ms
loading übertagger         FAIL

OK I found the following at the very end of the file, and uncommenting those leads to a successful loading the of the ubertagger:

;; Standard model
;; DPF 2019-11-20 - These next four should be uncommented for release
übertag-emission-path := "../ut/nanc_wsj_redwoods_noaffix.ex.gz".
übertag-transition-path := "../ut/nanc_wsj_redwoods_noaffix.tx.gz".
übertag-generic-map-path := "../ut/generics.cfg".
übertag-whitelist-path := "../ut/whitelist.cfg".

I am not sure what the difference is; perhaps just mistake in the paths in my above example (though I think the patsh are good), or maybe the order of the config lines matters. I might check later.

1 Like