Skip to content

Database (PyODBC, Names from Amazon, Posters and Overviews from TMDb)

Manuel Valle Torre edited this page Jan 8, 2018 · 1 revision

Since the beginning of this project, we had in mind a functional application in the (distant?) future, and we considered a Relational Database to be the appropriate storage system for this. The idea is to have something that works, it doesn't have to be strictly updated to the last review introduced, and it's not a big deal if a user gets slightly different performance than someone else. In addition, once the Shared Perspectives are constructed, a working implementation only needs the Shared Perspective Tuples of every movie to find the similar ones, this data volume is not something that today's systems can't easily handle.

The database is present all along the process:

  1. Once we extract the feature values from the reviews, they are introduced into the database as Perceptual Tuples
  2. To construct the Shared Perspectives, the Perceptual Tuples are clustered into groups that would reach consensus in their perception of the movie. Then the center of each Shared Perspective is stored in the database as one of the Shared Perspective Tuples(SPT) of a movie. In this implementation, there are 3 SPTs per movie.
  3. Then in the Evaluation, with a User Simulation the simulation reaches to the database to obtain the SPTs of the movies and perform the calculations required.
  4. Same thing for the evaluation of the semantic quality of Shared Perspectives, where we asked people to rate this quality for some SPs, so we could then model it and predict the quality for all.
  5. Finally, in the Prototype, the idea is that anyone can have their database (or connect to one) and an application to find new movies by their perception.