[MWForum]movie recommender

mwforum@lists.mathcats.com mwforum@lists.mathcats.com
Tue, 20 Apr 2004 20:43:24 -0400 (EDT)


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