PDA

View Full Version : Show correlation database like tivo suggestions



jorm
2005-01-05, 07:26 PM
I am running through some thoughts in my head about building a correlation database like tivo that offer show suggestions based on your recording habits.

I wanted to start a discussion and run some thoughts and questions to my peers.

--What we have--
We have a list of shows a user recorded or plans on recording.
I know for zap2it users we have a database that lists the categories associated with a show.

So we can then associated shows like user X watches Stargate, Stargate Atlantis. We can use categories to build these associations.

Battlestar Galatica is a new show that the user is not recording. It is on the same channel and in the same categories as Stargate. We can then automatically record it.

We can also have logic that determines what actors are in the shows you like and then any show that might have those actors in it.

Now the list of things we would need

1. a database that the different users can connect to and upload their lists of recordings, and future recordings too.

I imaging an exe that would run nightly (or weekly) sending a list of shows you watch. Downloading possible associations.
Filtering out the shows you have said you do not want ever recorded again.

2. Some database structure that would show relationship between shows. (I am not sure how this would be done.)

I am not a db guy. Would we want a table of shows. That would then link to a foreign key to a table for the shows associated with this one.

How many users would have to have both shows before the correlation kicks in? 20%? Maybe the user would specify this.

Strong Correlation 60%
Moderate Correlation 40%
Week Correlation 20%

Any thoughts on how we would do this? Should the correlation be in generes only.

I know that zap2it has actor information and genere information. I would like other users to be able to use this as well. So actors and genere would be optional checks we could do.

Jorm

KingArgyle
2005-01-05, 07:52 PM
Actually, Jorm, simpliest method and most universal would be to screen scrape information from either IMDB, Amazon.com, or RatingZone.com, as they have already developed this logic. At least for Movies, and TV Shows on DVD you could probably use an Amazon.com webservice to get this information.

The only information you would need to include localy would be the preferences of what categories they like, and what they don't like.

We can probably combine this with a couple of plugins that want to store show information so that we have a consistent interface instead of each of us coming up with our own information.

I see the following being needed if we go a db route:

1. Archived Program Information
2. Movie Information
3. Shows Recorded
4. Watch Preferences
5. Never Record

Watch preferences would keep track by Category the types of shows a picture likes to watch (Sci-Fi, Drama, Action, Comedy)

Never Record contains a list of shows or movies that a person never wants to see. This would be used to filter out the Suggestions.

Shows Recorded - Something I'm going to use for the External Recording Manager that will contain information detailing what shows were recorded, and when. Would have a link back to the Archived Program Information table.

The Archived Program Information table would contain the details for a program that had been recorded in the past.

If we can come up with one common databae I think it'll help everybody in the long run, otherwise we'll have users having to keep 3 or 4 different databases on the system.

cginzel
2005-01-05, 08:05 PM
tvtome.com could be useful...

jrockintuitive
2005-01-05, 09:07 PM
I have to ask, but are aware that someone started a thread similiar to this:
http://gbpvr.com/cgi-bin....;t=2981 (http://gbpvr.com/cgi-bin/ikonboard.cgi?act=ST;f=4;t=2981)

I think for this system to work you would have to require some sort of rating system, or at least seperate what is recorded based on a person.

Let's say I watch stargate sg1 and stargate atlantis *as well as other sci-fi shows (which I do) but some girl that has access to my pvr system and records some crap like sex in the city rerurns, then all cool guys like me would get a high rating on sex in the city because others have access to my pvr. - I hope you followed my runon sentence.

As a good first cut of this program could be captured based on other viewing habits. If you record these 5 shows and x users also record these 5 shows and y of those users also records a show then you should record that show.

Also... is the zap2it guide have strong enough categories to assume that if you watch stargate you will like battlestart gallatica. Although I watch almost anything sci fi, but I wouldn't want to record any sci fi show.

If we maintain a seperate DB, then we need to decide if the system will be based on ratings or viewing habits.

I can help with the data model if needed.

I think the first step to decide to integrate with one of the aforementioned web sites or maintain a seperated DB.

Jorm, do you think we can integrate with one of these aformentioned web sites? The largest hurdle I see is how do you tell these sites what your viewing habbits are.

aegisx
2005-01-05, 09:10 PM
Kings DB idea sounds good. Although I don't think screen scraping will be a very reliable/robust way of getting information. But if its the only way....

Sounds like with zap2it, we can do genre recommendations? Might be ok, but i think you end up recording alot of things. Tivo managed not to swamp you with recordings.

KingArgyle
2005-01-05, 09:19 PM
Jrock, if you interfaced with Amazon.com, and used a web service, then you could configure the plugin to use that person's userid and password. The same thing for any site that required a login the site (i..e RatingZone.com). That way, the site would know who was logged in.

As for telling the site what you liked or didn't like. That could be done programmicly or manually by having the user go and rate the shows. Based off your ratings, you get a list of suggested shows.

Ideally, if the site had some form of Web Service or API interface, it would be ideal. Otherwise, parsing the pages is about your only way of getting and entering the information.

I've sent an inquiry to RatingZone.com to see if they have any Web Services that could be used to interface with their system.

jorm
2005-01-05, 09:31 PM
We should switch to the other thread that jrock pointed out.

posting comments on that thread.