[MWForum]movie recommender
Jeff Knope
mwforum@lists.mathcats.com
Tue, 20 Apr 2004 18:25:49 -0700
Vasant -
Well, I'm busted! I'm entirely self-taught in MicroWorlds (and other LOGOs),
and other than some experience with AutoLISP, I know no other programming
languages. If you use your knowledge of Lisp, you should have no trouble
doing whatever you want in MicroWorlds.
In more direct answer to your question, you use list structure (lists of
lists of lists...) to define, or more accurately create, your data type.
There is no prior declaration. At least, that's how I've figured out how to
do it.
-Jeff
----- Original Message -----
From: <vdhar@stern.nyu.edu>
To: <mwforum@lists.mathcats.com>
Sent: Tuesday, April 20, 2004 5:43 PM
Subject: Re: [MWForum]movie recommender
> Jeff, I've programmed extensively in Lisp, including my Ph.D thesis. My
area of
> research is AI!
>
> I gather from your comments that there's no way to define a structured
data type
> in MW? As in CLOS, for example?
>
> Vasant
>
> On Tue, Apr 20 2004 15:49:00 , Jeff Knope <jknope@asis.com> sent:
>
> >
> >
> >
> >
> > Atmail Takeout -->
> >
> >
> >Vasant Dhar wrote:
> >
> >I am trying to build a very simple recommender system for movies
> >in
> >Microworlds. It will work as follows:
> >
> >1. System asks user to
> >specify GENRE of interest, i.e. comedy, thriller,
> >etc.
> >2. System searches
> >through a table of past movies (HISTORICAL_MOVIES)
> >corresponding to the
> >specified GENRE. Call this subset SUBSET.
> >3. System presents user with SUBSET
> >and asks which movies user liked (or it
> >can ask for a ranking, which is
> >preferable). Let's call this LIKED_SUBSET.
> >4. System matches attributes of
> >LIKED_SUBSET with a table of CURRENT_MOVIES
> >to determine SUGGESTED_SUBSET
> >which consists of ranked movies.
> >5. If user is satisfies, quit, otherwise go
> >to step 1.
> >
> >This is a pretty simple problem, easily solvable in BASIC. How
> >do I do it in
> >MW? The way I see it, it involves creating a tables of movies
> >(historical
> >and current), which should be sets of structured objects
> >whose
> >attribute-values can be accessed and matched. And the results should
> >be
> >assigned via some kind of assignment statement to variables
> >etc.
> >
> >
> >Dear
> >Vasant,
> >
> >MicroWorlds uses a different data structure
> >paradigm than BASIC. MicroWorlds is a dialect of the artificial
intelligence
> >language LISP, whose name is derived from exactly this
> >difference. It stands for "LISt Processing." The fundamental data
structure
> >is a list, not a table. Data is evaluated by recursively examining the
> >elements of a list.
> >
> >A list may me a list of lists. This
> >statement is the key to complexity of data structure in MicroWorlds.
> >
> >
> >It takes a little practice to wrap your mind around
> >this difference. It takes quite a bit of practice to become facile with
writing
> >procedures for building lists, and then writing other procedures
> >for analyzing and comparing them.
> >
> >If you're in a hurry, you probably ought to just do
> >it in BASIC. Otherwise, your project makes a nearly ideal problem for
learning
> >list processing. Perhaps other forum members can point you toward the
best
> >materials for building skills to do this.
> >
> >Please believe me, these comments are more helpful
> >than they may at first sound.
> >
> >Good Luck,
> >Jeff
>
>
>
> _______________________________________________
> MWForum mailing list
> MWForum@lists.mathcats.com
> http://lists.mathcats.com/mailman/listinfo/mwforum
> Attachments archived at:
> http://www.mathcats.com/mwforum/attachments.html
> To unsubscribe or for administrative questions contact
> mailto:mwforum-admin@lists.mathcats.com
>
>