It's not just the confusability between "possessive 's vs. contracted 's", but also confusability between "'s contracted from is vs. 's contracted from has" -- for example:
in reply to Re^2: Lingua: Transform "wasn't" into "was not"
in thread Lingua: Transform "wasn't" into "was not"
There's also some possible ambiguity with 'd, although this is relatively rare:
- John's father is old. (possessive)
- John's old. (contracted from "John is")
- John's been sick. (contracted from "John has")
- He'd never done that before. (contracted from "He had")
- He'd never do that again. (contracted from "He would")
Apart from those cases, every other English contraction has a distinct full form.
If you're just trying to see whether two strings are identical except for contracted vs. uncontracted forms, it should work if you normalize both strings by applying contraction wherever possible, then seeing if they match.
I suppose there's a way to do it by expanding the contractions instead, but that's a lot more complicated.