Open abhasinat opened 5 hours ago
I think framing of this ticket is a little off. we should use the same threshold value as the web
- there is no "threshold" used on the web. I'll attempt to explain what I think the issue is. On the web, if an observation has a location, the CV results always factor in that location in the scoring. By default, the web only shows results of the CV API response that are "expected nearby". Those are results where frequency_score
== 1. The web provides the user the option to "include results not expected nearby", and if a user clicks that then all results are shown. It is possible none of the results are "expected nearby" in which case all results are shown (all not expected nearby) and the toggle option is not displayed.
iNatNext seems to make an initial call that includes location (same as web), but it appears to render all returned results (different from web). The web filters by "expected nearby" by default, i.e. where frequency_score
== 1. iNatNext also has an additional feature that is unique to iNatNext and not a feature on the web, which is "Ignore Location". I believe this makes a second API request that does not include location information, therefore all results are based on visual information only, and none of them can be marked as "expected nearby" because location was not given.
It sounds like this ticket was created because the expectation is that by default iNatNext should behave like the web and only show "expected nearby" results initially, which it is not doing. It can do that by only showing results where frequency_score
== 1.
When an observation has a location but none of the results are expected nearby, the order of results still factors in location. The iNatNext feature of "Ignore location" would still produce a different set of results and could still be offered as that feature makes it so location is not a factoring in ordering results.
If iNatNext wants to mirror the web exactly, it should first remove the "Ignore Location" feature which does not exist on the web. Then based on the nature of results it should do one of two things:
Now I'm not suggesting iNatNext needs to remove its unique feature of "Ignore Location". There is value to that. But if it wants to preserve that feature and mirror all features of the web, it may need two buttons: "Include suggestions not seen nearby" and "Ignore location" which will do two different things.
Right now, suggestions shows all results that the CV model outputs, without a threshold cutoff, leading to a lot of potential mis-IDs. We should add in a threshold to show only CV suggestions above a certain cutoff point so that a user can see more accurate IDs.
Ideally, we should use the same threshold value as the web, though it may require some testing. @pleary may be able to help with that.