[Thread Prev] [Thread Next]
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 |
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
|
Previous by thread:
building a movie recommending system
Next by thread:
movie recommender
To save an attachment to your computer, PC users should right-click (Mac users, click and hold the mouse button) on the link and then choose 'save target as' from the pop-up menu. A window will then pop up in which you can choose a location for the file.
|