An abbreviated word must end with a period ("."), and the longer the word, the more the possible abbreviations it can have, for this reason, it is not possible to provide a list of all possible abbreviations. Below are two examples:
But I think this is problematic. You will remove many false positives, but you are going to cause false negatives (undetected spelling errors).
You should try to determine if there is really a sentence ending (improving segment.rsx). For example, if after the period there is a lower-case word (and it is not an error itself), then probably it is not a sentence ending.
Anyway, if you cannot provide a list of abbreviations, the problem is really hard. You can try to check if exists some word in the dictionary that can complete the abbreviation (to be done in Java).
A period is most of the time a sentence ending. So it is a good general rule. You should try to add exceptions to this rule (i.e. expand the list of abbreviations). There is no silver bullet.
You can refine the rules depending on the context: abbreviations that can/cannot finish a sentence, abbreviations followed/preceded by numbers, etc. Take a look at other languages.