I received a question by email a couple of days ago:

I'd like to understand an aspect of the returned data if I may, before seriously considering purchase. I'm interested in the 'score' value returned - what does mean? Considering it is returned as a '1' in both the track and artist documentation examples on your website, I suspect it is something to do with the quality of the data returned from the query, nothing to do with review score?

My correspondent is referring to the score attribute:


[
    {
        "title": "The Abbey Road EP",
        "artist": "Spiritualized",
        ...
        "score": 0.9611344537815126
    },
    {
        "title": "The Abbey Road EP",
        "artist": "Spiritualized",
        ...
        "score": 0.9611344537815126
    },
    {
        "title": "The Abbey Road EP",
        "artist": "Spiritualized",
        ...
        "score": 0.9611344537815126
    },
    ...
]

The score attribute is a relevance score determined by matching the input parameters to the data in our database. It is a value between 0 and 1.

For releases, for example, input parameters can include release title, artist name, track names and positions, audio fingerprints and more. The data you supply for these parameters is often not 100% accurate, for example in a tagging application where your user has supplied their own tags for music. By providing a level of fuzzy matching and returning a score based on the inputs, we can allow some leeway in returning more results than would otherwise be returned if all parameters had to match exactly.

Of course, these results are only revealed once minCertainty is set to something lower than "1" (the default).

You might ask "what do the values really mean though?" Good question. The answer is that you will have to work out for your own use case what score you require. A general guide is:

Score Meaning
>=0.95 Almost definitely the correct data, suitable for automated tasks.
>=0.75 Probably the correct data, worth presenting to a user.
>=0.5 Possibly the correct data, possibly worth presenting to a user depending on the context.

Hopefully this might help in choosing a correct minCertainty parameter!

Thanks to o.tacke who made the the image above available for sharing.
comments powered by Disqus
© 2012-2024 elsten software limited, Unit 4934, PO Box 6945, London, W1A 6US, UK | terms and conditions | privacy policy