I'm interested in implementing a program for natural language processing (aka ELIZA).
Assuming that I'm already storing semantic-lexical connections between the words and its strength.
What are the methods of dealing with words which have very distinct meaning?
Few examples:
'Are we on the same page?'
The 'page' in this context isn't a document page, but it's part of the phrase.
'I'm living in Reading.'
The 'Reading' is a city (noun), so it's not a verb. Otherwise it doesn't make any sense. Checking for the capital letter would work in that specific example, but it won't work for other (like 'make' can be either verb or noun).
'I've read something on the Facebook wall, do you want to know what?'
The 'Facebook wall' has nothing to do with wall at all.
In general, how algorithm should distinguish the word meaning and recognise the word within the context?
For example:
- Detecting the word for different type of speech, so it should recognise whether it's a verb or noun.
- Detecting whether the word is part of phrase.
- Detecting word for multiple meaning.
What are the possible approaches to solve that problem in order to identify the correct sense of a word with the context?