I'm sure Fragment Matching is a very complex beast and on the whole, it's not bad. But thing it fails miserably on - which I find baffling because it seems an easy thing to check for, even for a computer - is ending punctuation. I often get 99% fragment matches which differ only in ending punctuation but Fragment Matching can't get the hang of ending punctuation. If my TM has these:
Open this file.
Open this {0} file.
And I get new segments which are
Open this file
Open this {0} file
The common scenarios are the following:
Open this file. [i.e. Fragment Matching realizes there's no ending fullstop but doesn't remove it]
Open this file [yes, sometimes Fragment Matching correctly removes it]
Open this {0 file. [i.e. Fragment Matching removes the first bit of punctuation it can find even though it was the ending . that changed, not the bracket]
Suggestion: make Fragment Matching a little bit smarter and consistent in recognizing and applying changes to ending punctuation. Something that specifically checks the end of a unit for ? ) ! . : and matches that in the proposed match cannot be that hard to implement.