Here is a post to familiarize yourselves a bit with some communication concepts that you may find helpful if you are introducing a computer into the equation: How do you communicate with a machine?
Bear in mind that the article is strong when it gives you examples to ponder, such as the case of failed communication being part of communication. It is less strong in extrapolating sound theoretical concepts from the observations it makes, but perhaps that is just the linguist in me talking. I would still say that there is a communication threshold that a computer cannot cross and only approximate by faking it: The co-constructive nature of coming to an understanding. This is where disambiguation is more than weeding out competing semiotic tokens, it is the process of ascribing new meaning to them.
None the less, getting a hold on the semiotic tokens first is something you will need to do when working with content and computers, so do go ahead and check the article out. It may be really helpful in that regard. Meaning in communication and how to mimic it in artificial settings sure is one huge area to explore.
First Principle: Disambiguation