A naive approach, to use multiple feature functions, one with each pattern, does not work, since the decoder is using a (log-)linear model, in which costs are additive.
a pattern that matches one pattern, but not another, will still have high cost, perhaps as high as a pattern that partially matches both.