Hi all, I'm adding some features to moses (both statelles and stateful) and I'm following the tutorial on the manual (btw, great stuff! Thanks for putting all the info together).
I have two questions and a comment. One question would be: When I am implementing a stateful feature I have to implement *const FFState* EmptyHypothesisState() const*. What is this method expected to return? I don't quite get "return the state associated with the empty hypothesis for a given sentence", if someone could please give me a little more insight on that I'd be grateful. The comment (not a complaint!) would be: The code that handles feature functions (or score producers) is rather not object-oriented, I say that because although there is a hierarchy of classes (at some extent), along the code this hierarchy is not exploited. For instance, at some point I had to dig into the code and force my score producers to be given a chance to do some pre-processing just before a sentence is decoded. I cannot rewrite it all right now, but I planning (and would like) to. For the time being I made it in away that new score producers can use an API that eases integration, but left the traditional score producers unchanged. Also, things seem a bit too decoupled, at some point a TranslationSystem might know of a ScoreProducer that is actually not ready to run or the Manager knows the producer while the System doesn't. We could use some factories and control how score producers get created. Finally, there are null pointers around at running time. It seems Moses was first written using a JavaBeans-like pattern, where we build objects and later set them to valid states, whereas nowadays we should (as the code grows) probably use safer patterns making sure objects are always in valid states (from the moment they are built) , being most of them immutable whenever possible. The second question (actually 2 in 1) would be: Is there anything like a "Moses re-factoring team" and may I sign up to it? Best regards, -- Wilker Aziz http://pers-www.wlv.ac.uk/~in1676/
_______________________________________________ Moses-support mailing list Moses-support@mit.edu http://mailman.mit.edu/mailman/listinfo/moses-support