[New: Alpha version] A learning personal EPG (1 Viewer)

tomtom21000

Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    ok; i had a short chat about this today with Bavarian. We haven´t come up with much yet, but afterwards, besides watching Schalke vs. Mailand in the champions league, I have tried to come up with a formula for the algorythm:

    So, we have three parameters for the calculation:

    S = Number of times you have seen a certain show, genre, etc. on live tv
    R = Number of times you have recorded a certain show, genre, etc.
    W = weight that you have given to a keyword on your "Wishlist" (Range 1 to 5)

    Points a show, genre, actor scores:

    10 Points x ( 1 + W / 10) x ( 2 - (S + 2R) / (S + 2R)² )


    What does this formula do?

    ( 1 + W / 10) is the weight on you put on the different keywords which you entered in the list manually. With every entry you can specify the importance of the keyword, let´s say from 1 to 5.

    So if a show with your keyword, like "Simpsons" is on and you gave this keyword the maximum weight of "5", the show will earn 10 points x (1 + 5/10) = 10 points x 1,5 = 15 points. Plus it is multiplicated with the rest of the formula which represents how often you watched and/or recorded such a show.

    ( 2 - (S + 2R) / (S + 2R)² ) is how often you have seen (S) and/or recorded (R) a show. Why is the formula so complicated? it is a hyperbolic function, that means that with the first couple of times you watch a show, the score increases much, later it still increases but less. And this part of the formula has a maximum of 2, which is important.
    Example: If you have seen a show
    1x the result is (2 - (1 + 2x0)/(1 + 2x0)²) = (2 - 1 / 1) = 1,0
    2x the result is (2 - (2 + 2x0)/(2 + 2x0)²) = (2 - 2 / 4) = 1,5
    4x the result is (2 - (4 + 2x0)/(4 + 2x0)²) = (2 - 4 / 16) = 1,75
    20x the result is (2 - (20 + 2x0)/(20 + 2x0)²) = (2 - 20 / 400) = 1,95
    100x the result is (2 - (100 + 2x0)/(100 + 2x0)²) = (2 - 100 / 10000) = 1,99

    The example is without recordings, but as you see in the (S+2R)-expression, a recording is valued twice in comparison to a watched show.

    So, the maximum that can be reached with watching and recording shows is 2. In this way the weight is a bit dependend on the times you have seen it, but it does not overweigh your preferences from the keywords.

    Another point is, if how often you have seen a show would result in ever rising scores, you would not get a tv program of your liking: Example: If you watch everyday "the night news" from the genre "news", news shows would have an immense high score and the whole personal epg would consist of news shows.

    And finally keyword weight and watching and recording shows containing the keywords multiply. So the maximum is 10 points x 1,5 (weight 5) x 2 (seen/recorded it very often). So this show would have 30 points.

    You will have to catch the case that S and R equal Zero, so that the expression doesn´t get invalid.

    The relations between keyword weight, seen and recorded shows can easily be changed, but I think the basic formula could be a start.

    Uuuhhh, certainly not a post for everyone, but somehow the logic has to be programmed :shock:

    tomtom
     

    tomtom21000

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    tomtom21000 said:
    Another point is, if how often you have seen a show would result in ever rising scores, you would not get a tv program of your liking: Example: If you watch everyday "the night news" from the genre "news", news shows would have an immense high score and the whole personal epg would consist of news shows.

    tomtom

    Quoting myself :wink: :

    You could easily avoid this by entering the exact news show title you like to see, like "Tagesschau"
    But if the genre is taken into the scoring model, the problem rises with many genres, like Thriller, documentation

    also the genre show s up in mp like show/music/xy
    So how is this to be handled? Take a score for the lowest level/subgenre
     

    tomtom21000

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    Another point:

    How to deal with actors?
    Give the score to every actor listed in the epg description of the watched/recorded show?
    Allow actors to be scored only if they are mentioned as a keyword? Maybe the easiest way?

    tomtom
     

    tomtom21000

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    yazybones said:
    Hi,

    TiVo basically had a voting mechanism where you could rate shows by giving them a thumbs up (i.e good), or a thumbs down (bad). The more thumbs up (1 - 3) the more you liked the show, and vice-versa.

    Yazybones.

    This may be a good addition. Allthough I would prefer a system that learns by itsself and the less user action is needed, the better.

    yazybones said:
    Hi,

    Using these ratings TiVo would learn your viewing preferences and
    automatically record shows it felt you'd like. This feature was great as it meant you didn't need to scour the epg yourself looking for interesting shows, it was all done automatically by TiVo.

    Yazybones.

    the automatic recording of shows is a logical step, but one of the last, I should think. I just learned today that the "competitor" Sceneo, which is a Meedio deviant with a different tv engine, has come up with exactly the same idea. It is more like a personal tv channel than a personal tv guide. So, it records interesting shows for you as long as no manual recording conflicts with it.

    It is fairly new in Sceneo and has some flaws which caused quite some emotions on their forums. If and when this can be added it
    #should be optional
    #have a limit of diskspace and or recording time per day
    #have interaction with wake from hibernate/hibernate in mind

    people over at Sceneo complained:
    that it recorded mostly shows which did not interest them
    that it woke the pc and put it back to sleep all day long
    by default the option was "on"

    Other than that a personal tv channel has some charm, but many people have little time for tv anyway, take 2 hours on the evening to zap through all their channels, I mean all the shows I have recorded manually put a stress on me already, because I haven´t watched them yet ;)

    yazybones said:
    Hi,

    I've been looking for something to develop for MediaPortal and would be very interested in helping code this.

    Yazybones.

    Great if you want to help out. Maybe come to irc channel to talk about it. But if you are from the U.S. we might have a little time zone problem

    Greetz

    tomtom
     

    tomtom21000

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    Last post for tonight, promise!
    But it is probably better to split the different thoughts.

    What about DVB users. As I understand, they have hundreds of channels. Often, there are special interest channels like "nature" "Science fiction"

    Now, as I think about it, we have 2 music channels, 4 news channels, 2 sports channels even on cable. Have to look at the genres. Do we need to score the channels, too?

    Late! I´m off to bed now.

    tomtom
     

    AllenConquest

    Portal Pro
    January 9, 2005
    232
    0
    London, UK
    This looks like a really good idea. I'd love a new project to get back into some MP programming. I've done a bit, but this sounds like it would be more challenging. If you want any help...

    Allen
     

    rtv

    Retired Team Member
  • Premium Supporter
  • April 7, 2005
    3,622
    301
    Osnabruck
    Home Country
    Germany Germany
    Since I know this kind of service from some TV guide websites (e.g tv-info.de) I really like this idea!
     

    tomtom21000

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    Talked to Bavarian on irc yesterday about the conceptional things. He already started on this and here an update on the status/plans as of Sun, Dec, 11th, 2005:

    1) The learning EPG is still in the conceptional phase.
    2) Bavarian has done some work on the concept.
    3) The project will have a couple of milestones
    4) The first beta1 will include the wishlist and may also contain already the gathering of information from live_tv, recorded_tv
    5) As Bavarian is on a business trip for the whole next week, don´t expect the beta1 before christmas.
    6) After the beta1, the next milestone will be the scoring model
    7) With beta1 coding help, gui help etc. will be appreciated.
    8 ) Feel free to post further ideas/comments on the concept.

    tomtom

    (Bavarian: Hope I put everything right. Feel free to complete/correct)
     

    Ralph

    Retired Team Member
  • Premium Supporter
  • May 13, 2005
    692
    8
    Germany
    Home Country
    Germany Germany
    Very good idea and thumbs up that soemone goes along creating this.
    Maybe you could take a look at the parameters other HTPC-Programs use for this?
    I saw the new version of Sceneo/TVCentral has something like this called MyTV.

    Regards
    Ralph
     

    Jetboy

    Portal Pro
    April 15, 2005
    187
    1
    Stockholm
    Home Country
    Sweden Sweden
    Cool idea! I think it's usable, and I have a few thoughts:

    1. I like the weighting system, but I have a thought. Let's say I watch the first in a series of documentaries, because the subject of that one program interests me. The personal EPG will then think that I like this series and record the other episodes for me, although it was only the first program I was interested in. An ideal system would note that I don't watch the following episodes and thus "downgrade" the score of the series.

    2. Different people have different taste, even if they're all using the same HTPC. This system would note that I like Simpsons and Family Guy, and suggest them to me, but it would also suggest that I watch Sex and the City since my girlfriend likes it. In a family several people of different ages share the same system, the personal EPG than gets bloated with lots of shows that someone else likes. In a situation like that, there's also the issue of privacy - I might not want the family to know what I watch. Maybe some kind of user profile system could be implemented (in the distant, distant future). Then again, no plugin suits every need, and if it gives me problems, there's also the option of not using it.


    I hope I don't sound too negative, I'm just addressing a few issues. You're sitting on a cool idea and I'd sure like to see it in action. Good luck, guys!
     

    Users who are viewing this thread

    Top Bottom