We already have a tool for that: it's called "code written by a programmer." Being human-like is the exact opposite of being computer-like, and I really fear that handling language properly either requires human-likeness or requires a lot of manual effort to put into code. Perhaps there's an algorithm that will be able to replace that manual work, but we're unlikely to discover it unless the real world gives us a hint.
We already have a tool for that: it's called "code written by a programmer." Being human-like is the exact opposite of being computer-like, and I really fear that handling language properly either requires human-likeness or requires a lot of manual effort to put into code. Perhaps there's an algorithm that will be able to replace that manual work, but we're unlikely to discover it unless the real world gives us a hint.