Human word reader

CM cmpython at gmail.com
Sun May 16 15:08:13 EDT 2010


On May 16, 2:57 pm, CM <cmpyt... at gmail.com> wrote:
> > > I need help with getting the useful information how do I get the place
> > > if I don't now how long the string is?
>
> >         And is it supposed to handle
>
> >         for london give the weather to me
> >         for the london weather give me
>
> > ...
>
> >         Do a search on "natural language processing"... You are at the level
> > of algorithms, and algorithms are not limited to Python...
>
> Yes, this is a major field of research.  For basic purposes in Python,
> maybe just try to trigger off the presence of the word "weather" and
> the presence of a particular city's name.  It will not work if the
> user tries to trick it ("Don't give me the weather in London"), but,
> like a search engine, it will more or less give what people want for
> common queries.  Like:
>
> list_of_cities = ['london', 'moscow', 'new york', 'paris']
> user_string = 'Give me the weather for London please.'
> user_word_list = user_string.split()  #if they put a comma after city,
> this will be a problem
> for word in user_word_list:
>     period_free_word = word.rstrip('.') #strips trailing period for
> final word, in case there
>     lowered_word = period_free_word.lower()  #makes it case
> insensitive
>     if lowered_word in list_of_cities:
>          print 'The city is: ' + lowered_word
>          DoSomething(lowered_word)  #go and get the weather data for
> that city I guess
>
> Che

I forgot to split on two delimiters (a space and a comma).  See here:
http://mail.python.org/pipermail/tutor/2008-August/063570.html

Anyway, you get the idea...



More information about the Python-list mailing list