-
Notifications
You must be signed in to change notification settings - Fork 322
Subliminal score system with conceptual error. #656
Description
After using subliminal for sometime, I get a glimpse of a conceptual error in score system that gives me a lot of false positives, since then I've been using it with a new score that is more effective, so I'd like to share this with you to discuss about changing it. Here is the examples:
Imagine this is my release: New.Amsterdam.2018.S02E06.1080p.WEB-DL.x264-KILLERS
With the subliminal standard score system, I get this two real subtitles:
- New.Amsterdam.2018.S02E06.1080p.WEB-DL.x264-NTb
- New.Amsterdam.2018.S02E06.720p.HDTV.x264-KILLERS
For humans, it's clear that the first one is the a positive match, but for the subliminal score system, it gets like this:
New.Amsterdam.2018.S02E06.1080p.WEB-DL.x264-NTb
=180(series)+90(year)+30(season)+30(episode)+7(format)+2(resolution)+2(video_codec)=341 (94,9% of match)
New.Amsterdam.2018.S02E06.720p.HDTV.x264-KILLERS
=180(series)+90(year)+30(season)+30(episode)+15(release_group)+2(video_codec)=347 (96,6% of match)
This happens because the release_group has a score that just is bigger than format, resolution and video_codec together.
Here is how my new score works and seems to me more realistic:
New.Amsterdam.2018.S02E06.1080p.WEB-DL.x264-NTb
=180 (series)+90(year)+30(season)+30(episode)+17(format)+2(resolution)+8(video_codec)=357 (98,6% of match)
New.Amsterdam.2018.S02E06.720p.HDTV.x264-KILLERS
=180(series)+90(year)+30(season)+30(episode)+2(release_group)+8(video_codec)=340 (93,9% of match)
Here is how I changed the code in score.py :
#: Scores for episodes
episode_scores = {'hash': 362, 'series': 180, 'year': 90, 'season': 30, 'episode': 30, 'release_group': 2,
'format': 17, 'audio_codec': 3, 'resolution': 2, 'video_codec': 8, 'hearing_impaired': 1}
#: Scores for movies
movie_scores = {'hash': 120, 'title': 60, 'year': 30, 'release_group': 2,
'format': 17, 'audio_codec': 3, 'resolution': 2, 'video_codec': 8, 'hearing_impaired': 1}