Description of need: Describe the iNaturalist community need that your requested feature addresses. Include screenshots, URLs, and other details to help us all understand the issue.
In the above observation, the Aves ID which is an ancestor disagreement to Turdoides hartlaubii has been interpreted as an ancestor disagreement to Passeriformes and all its descendants too. I think that given the significant proportion (46%) of non-Turdoides hartlaubii Aves observations that are Passeriformes, it shouldnât be counted this way.
Feature request details: In detail, describe the feature you are requesting. This includes its functionality, where the feature is implemented, and what it might look like. Screenshots or mock-ups are helpful. The idea is to have a concrete and actionable request which the community can discuss and vote on. It might change through discussion, but itâs much easier to iterate and talk about something specific.
The rule should be that the an ancestor disagreement should disagree with the child taxon (e.g. Passeriformes) unless at least a third (or possibly a similar proportion, but I think 5% is definitely too low and 40% definitely too high) of observations of the ancestor (e.g. Aves) that arenât of the descendant (e.g. Turdoides hartlaubii) are of the child. If this is the case, do the same with the grandchild (e.g. Leiothrichidae), and so on.
Under this proposal, Iâm pretty sure that if an observation is IDed as a particular passerine species, and then someone adds a disagreeing Aves ID, the observation taxon would become Passeriformes, as the Aves ID would be an ancestor disagreement to the family but not to Passeriformes.
However, if a species (e.g. Opisthocomus hoazin) belongs to a monotypic taxon (e.g. Opisthocomiformes), the disagreeing ancestor ID (e.g. Aves) will be treated as disagreeing with the monotypic taxon, as there are very few observations of the monotypic taxon that arenât the species.
We are requested to ID at the finest possible rank, and the ancestor disagreement principle assumes we always do. To avoid the issue, the disagreeing ID should have been Passeriformes instead of Aves, in the case the identifier does not disagree with Passeriformes. But if the identifier doesnât know if this bird is, or is not, Passeriformes, then either they ID as Aves without disagreement, or the need is to be able to disagree in a different way, but the âgoodâ resulting Community Taxon is not a matter of 5% or 40%. It is Passeriformes or it is not, and the identifier is expected either to answer the question or to say they donât know, but I think percentages should not decide for them. The question about this bird being one of the Passeriformes or not is not a question about how many species there are in the Passeriformes.
We could be more precise when disagreeing, like this: I agree with Aves and I disagree with Family Leiothrichidae (I donât disagree with Passeriformes). This would be reliable and would depend only on the choice of the identifier. It would require to choose 2 IDs when disagreeing, the finest ID we agree with and the coarser ID we disagree with. Presently, what the identifier precisely disagrees with is determined by iNatâs algorithm.
Another example. If I agree with the ID class and disagree with all orders except 2 orders, then my agreeing ID should be the parent taxon (the class), and in that case I simply ID at the rank class without disagreement. (Just as if I were the first identifier, the observation has no ID and I ID it as Aves, because I canât choose between 2 orders in the class).
My suggestion is that the identifier chooses their disagreeing ID together with their agreeing ID (presently the system determines automatically what the identifier disagrees with). I think it is consistent but I donât know if we need a feature request for it. Too complicated? Not more complicated in principle than ancestor disagreement, but the identifier would have to choose, a choice possibly different from the current algorithm choice. I think it would be better than an hidden agreeing ID (Passeriformes) choosen by the system on the basis of the number of species in the taxon.
I struggle with 3 things here (as on most Ancestor Disagreements)
iNat will not let us simply disagree. What that identifier intends is what iNat writes in the small print below their ID - jasperix1 disagrees this is Turdoides hartlaubii
iNat insists that we MUST add an ID. Any ID! So we get - itâs A Bird.
Ancestor Disagreement is a logic fail. It is hidden behind a link to break down the Community Taxon. There is no âjasper disagreesâ small print visible for any subsequent IDs - but iNat does not forgive or forget.
Yesterday I had a similar issue with nathan and Euphorbia.
It embarasses me to explain iNatâs logic fail to taxon specialists.
This is not A Bird, that is not A Flowering Plant.
I canât say I agree with this proposed change. The onus is on the identifier to identify as precisely as they can. If someone adds an ID of âBirdâ, theyâre claiming they know itâs a bird and nothing more. If someone says a blob is an American Robin, and I say âall you can tell is that itâs a birdâ and disagree back to Aves, I would certainly not want the ID to stay at âPasseriformesâ on the grounds that more Passeriforms are posted than other birds. If I hard disagree back to Aves, it means I canât say anything beyond âitâs a birdâ.
I like that iNat requires you to add an ID of some sort, rather than just say âI disagreeâ. If âjust disagreeingâ were an option, the unknown photos wouldnât be sorted in any logical way at all. If I want to ID plants, I search for things labeled âPlantâ. If I want to ID beetles, I search for things labeled âBeetleâ. Iâd much rather have a 700,000th photo stuck at âPlantsâ or âPerching Birdsâ than have a âRosy Maple Moth? No.â series of IDs result in an observation getting thrown all the way back to âUnknownâ.
But the linked example is a clear picture of a bird, not a blob. First ID is the wrong sp. 3 agree on the right sp. But iNat counts - It is a bird - as disagreement with the right sp. Why?
Well i think the system in iNat actually works as intented. A diagreeing identification should usually come with an improved ID. And when this is the case, the current system works perfectly well.
Yes identification requires some work, and the identifier in the example was simply typing in a hard disagreeing ID. Either not able or not willing to put in the research necessary to improve the ID.
What we can learn from this is that identifiers should be more aware of what they actually know. And they should avoid hard disagreeing IDs, at least when they donât know what they are identifying.
The only case i put in such hard disagreeing iDs is when i see a researchgrade observation wrongly identified. And even then i try my best to stay updated on the identification process and take my disagreement back as soon as other IDs are coming in.
Some relevant background for this issue is the Clarifying Ancestor Disagreements blog post linked by @DianaStuder above (which describes the difference between âleading disagreementâ and âbranch disagreementâ) and perhaps the (long!) discussion in this feature request about changing the wording surrounding ancestor disagreements.
In the example cited in the original post, what I take to be the problem is that the initial (ancestor) disagreement of âAvesâ doesnât only disagree with the inital ID of Turdoides hartlaubii (which it clearly was meant to do), but also disagrees with the three new âcorrectâ IDs of Pycnonotus cafer (and in fact with any subsequent ID within âPasseriformesâ, which I donât think the IDer who put âAvesâ intended). Because of this, it will now take 5(!) IDs of Pycnonotus cafer to get this observation to RG (rather than the usual 3), if neither of the first two IDers change their initial IDs.
The reason for this is that the wording of the âorange optionâ in the âPotential Disagreementâ popup that appears (âIs the evidence provided enough to confirm this is [X}?â⌠âNo, but it is a member of [Y]â) makes it seem as if one is making a âleading disagreementâ (âI know itâs not X, but I can only say that itâs Yâ) when one in fact is making a âbranch disagreementâ (âI know itâs not X, and I know itâs not any taxa on the branch between X and Yâ).
I donât agree with this proposed feature request, but I would support one that either
changes the current wording of the âorange optionâ to make it clear that one is making a branch disagreement and not a leading disagreement
adds a third option to the âPotential Disagreementâ popup, so that one can make either a leading or a branch disagreement (or no disagreement), or
changes how the âorange optionâ functions from branch to leading disagreement, without changing the wording.
I donât really know which of those I prefer (I think itâs kind of a thorny problem, actually), but I do feel that the current wording of the âorange optionâ is misleading in that it describes a leading disagreement while in fact producing a branch disagreement.
I disagree with this. If someone is an expert on a particular taxon they will be identifying things in that taxon. For example, I do a lot of IDs of the genus oxalis (woodsorrels). If something has been IDed as oxalis that shouldnât be there then I am likely to bump it back to a higher taxon such as flowering plants. I am not necessarily going to know whether the observation actually belonged in the same class or order as oxalis since the observation isnât of a taxon that I am knowledgeable on.
iNat punishes identifiers for taxon specialists who disagree. Treats taxon specialists with disrespect.
Wrong oxalis + angiosperm + 3 right = angiosperm. Unless we get 5 right. Why??
3 right against 1 wrong oxalis = RG
And that angiosperm ID should NOT count in the 3 against 1.
Wrong oxalis + angiosperm should give us a neutral start at angiosperm, and cancel out the wrong ID. Or a fair fight between the 2 IDs to decide which is wrong and which is right - as on any obs without âAncestor Disagreementâ.
Yes, it would improve the process significantly, and itâs better than my suggestion (simpler for the identifier). The wording should encourage the identifier to prefer the least strong disagreement (better choice for identifiers who are not well aware of the consequences) rather than the strongest, otherwise it wonât work as intended.
Even simpler, and still improving the process as intended.
Below is a proposal:
to make the Community Taxon âsimply consistentâ with what the identifier intends and with what iNat writes, and
to allow us to âsimply disagreeâ with an ID (without heavy consequences).
Principle: alternative Community Taxon algorithm, based on a single identification count attached to every taxon. An identifier has 1 vote for an ID and optionally 1 vote for disagreeing with the current CT. Every vote counts for +1 or -1 for the target taxon and all its ancestors. The 2/3 rule determining the CT is unchanged, but it applies on a different taxon score, computed from these counts.
Details:
the current Community Taxon is Taxon-A,
John adds an ID Taxon-B,
the tile says John suggested an ID Taxon-B,
increment the count for Taxon-B and all its ancestors,
and, only if Taxon-B is an ancestor of Taxon-A and John chooses to disagree:
the small print says John disagrees this is Taxon-A,
decrement the count for Taxon-A and all its ancestors,
â the ID Taxon-A is simply canceled out.
then:
compute the score of every Taxon-X as the count for Taxon-X divided by the highest count found (the divisor is not anymore the total number of identifiers),
determine the new Community Taxon from the new scores, choose the taxon with a score more than 2/3 at the finest taxonomic rank (this step is unchanged, only the scores are different).
Example 1:
add an ID Fabaceae, CT is Fabaceae, because itâs the finest rank with score 1 = count 1 / highest count 1,
add an ID Magnoliopsida without disagreement, CT is Magnoliopsida, finest rank with score 1 = count 2 / highest count 2,
add an ID Fabaceae, CT is Fabaceae, finest rank with score 0.67 = count 2 / highest count 3.
Example 2:
add an ID Fabaceae, CT is Fabaceae,
add an ID Magnoliopsida with disagreement, CT is Magnoliopsida, finest rank with score 1 = count 1 / highest count 1,
â the first ID is simply canceled out,
add an ID Fabaceae, CT is Magnoliopsida, finest rank with score 1 = count 2 / highest count 2,
add an ID Fabaceae, CT is Fabaceae, finest rank with score 0.67 = count 2 / highest count 3,
From now on, this example 2 will remain equivalent to example 1 (every taxon has the same score in both examples). Whatever IDs are added later, the Community Taxon will be the same in both examples.
Example 3:
add an ID Fabaceae, CT is Fabaceae,
add an ID Bignoniaceae, CT is Magnoliopsida, the finest rank with score 1 = count 2 / highest count 2,
add an ID Bignoniaceae, CT is Bignoniaceae, the finest rank with score 0.67 = count 2 / highest count 3,
âŚand determine when to mark the first ID as a Maverick (right now or after a 3rd ID Bignoniaceae?), thatâs another question.
Itâs good to switch sooner the CT to Bignoniaceae (even if the first ID is not yet marked as Maverick), so that reviewers of Bignoniaceae can find this observation. This helps identifiers.
Example 4 (presently a case of ancestor disagreement, discussed here in comparison with another very similar case that is not an ancestor disagreement):
add an ID Allophylus africanus,
add an ID Angiospermae with disagreement,
â the first ID is simply canceled out,
add an ID Genus Serjania, CT is Angiospermae, finest rank with score 1 = count 2 / highest count 2,
add an ID Genus Serjania, CT is Serjania, the finest rank with score 0.67 = count 2 / highest count 3,
âŚand determine when to mark the first ID as a Maverick (right now or after a 3rd ID Genus Serjania?).
Example 5 (showing what happens after adding a coarse ID with disagreement with the CT that is none of the previous IDs, and after removing one of the previous IDs):
add an ID Acacia,
add an ID Mimosa, CT is Mimosoideae,
add an ID Angiospermae with disagreement, CT is Angiospermae, the finest rank with score 1 = count 2 / highest count 2,
â the small print says John disagrees this is Mimosoideae,
add an ID Delonix regia, CT is Fabaceae, the finest rank with score 0.67 = count 2 / highest count 3,
â OK, John didnât disagree with Fabaceae (according to the small print),
add an ID Delonix regia, CT is Fabaceae, the finest rank with score 0.75 = count 3 / highest count 4,
withdraw the first ID Acacia, CT is Delonix regia, the finest rank with score 0.67 = count 2 / highest count 3.
In this example 5, we had 5 IDs, minus 1 disagreement, minus 1 ID withdrawn. As a consequence, the taxon Life has an identification count 3, and this count 3 is the highest count among all taxa. This highest count is the divisor for computing the scores (with the present iNat algorithm, the divisor would the number of active IDs, so it would be 4). Delonix regia has an identification count 2, providing a score 2/3 and making it the CT (with the present iNat algorithm, its score would be 2/4, insufficient for the CT).
Contrary to the present iNat algorithm, the suggestion above does not make anything special or complex with disagreements. Disagreements are treated in the same way as identifications, simply counting for -1 instead of +1.
Itâs possible to âsimply disagreeâ with this alternative algorithm above: add an ID Life with disagreement. The effect is equivalent to the cancelation of one ID equal to the previous CT, and thatâs it.
You need not know what the organism is for disagreeing. Saying itâs Life is neutral, itâs not identifying the observation. Itâs only disagreeing with the CT without heavy consequences.
I like the sound of this, but a couple of questions:
When you say âthe first ID is just cancelled outâ, I assume the ID sits at whatever level is disagreed to, so that:
isnât quite true, in that the observation ID will be Life, which presumably makes it harder to find. Or does âcancelled outâ mean itâs Unknown?
Your examples all cover the case where only the first ID is wrong. What happens if the observation is RG with 2, 3 or more IDs? At present, a disagreeing ID on an RG observation with 2 species-level IDs would push it back to whatever level the disagreement is (or higher if a different branch), but if a disagreement is merely cancelling out one ID does that mean it stays as the species-level ID Needs ID?
Sorry, your examples are good but somehow understanding the numbers seems to be something I struggle with - which is odd as Iâve never really had trouble understanding how things work in individual observations (as long as I donât look at the âAboutâ - it does my head in!).
I mean there are no other consequences. Itâs just as if the disagreement in example 2 had removed 1 of the 3 IDs Fabaceae, with regard to determining the Community Taxon.
The effect of the disagreement in example 2 makes its situation identical to example 1, because all counts and scores are now identical in both examples :
example 1 is about 1 ID Magnoliopsida and 2 IDs Fabaceae,
example 2 is about 1 ID Magnoliopsida and 3 IDs Fabaceae, with 1 disagreement with Fabaceae.
For both examples:
taxon Magnoliopsida and all its ancestors have an identification count 3,
taxa Fabaceae and Fabales have an identification count 2,
Fabaceae is the taxon with score 2/3 at the finest rank, making it the CT.
Whatever comes next in the future (IDs and/or disagreements), both examples will have identical counts, scores and CT, and thatâs why I say everything is as if the disagreement in example 2 had removed 1 of the 3 IDs Fabaceae.
Indeed, I agree, it will be Life, not much different from âUnknownâ (without ID). With the present iNat algorithm, itâs Life either. So, the alternative algorithm is neither better or worse, to this point.
But it becomes different when more IDs are added.
Itâs illustrated in example 4 (with this observation). With the present iNat algorithm, the resulting CT is Family Sapindaceae, but with the alternative algorithm the resulting CT would be Genus Serjania. For reviewers of Sapindaceae, the observation would be as easy to find. For reviewers of Serjania, the observation would be easier to find.
With the present iNat algorithm and the effect of ancestor disagreement, even with 2 more IDs Genus Serjania, the CT is still Family Sapindaceae:
I said nothing about other disagreements (hence your question), because with regard to the algorithm itâs just about adding an ID in conflict with the previous ID, and this is treated exactly in the same way as adding an ID in agreement with the previous ID.
Apart from a case of explicit disagreement, whether 2 IDs agree or not does not count when computing the CT: each ID contributes as +1 for a taxon and for all its ancestors, and thatâs it. The small print saying itâs a disagreement is just an extra reminder. The CT is computed without considering if the 2 IDs agree or disagree.
Illustration. We say that Acacia and Mimosa disagree. We say that Acacia and Mimosoideae agree. But for computing the CT, itâs just the same, just 2 IDs, each with +1 contributions:
Acacia + Mimosa result in count 1 for Acacia, Mimosa, Mimoseae, and count 2 for Mimosoideae and all its ancestors,
Acacia + Mimosoideae result in count 1 for Acacia and count 2 for Mimosoideae and all its ancestors,
no need to consider that Acacia and Mimosa disagree, or to consider that Acacia and Mimosoideae agree to perform the computation, we simply count +1 for each taxon and all its ancestors, in all these cases.
Illustration with explicit disagreement. Alice says itâs Acacia. Bob says itâs Mimosoidea but also that itâs not Acacia. For computing the CT, itâs not the same as just 2 IDs, because the disagreement is an additional input from the identifier and the algorithm has to deal with it. It results in count 0 for Acacia, and count 1 for Mimosoideae and all its ancestors. The disagreement here is computed explicitely: +1 for Acacia and all its ancestors, +1 for Mimosoideae and all its ancestors but also -1 for Acacia and all its ancestors.
Example 6 (RG observation receiving a 3rd different ID):
add an ID Senna tora,
add an ID Senna tora,
add an ID Senna obtusifolia, count 2 for Senna tora, count 1 for Senna obtusifolia, count 3 for Genus Senna and all its ancestors, so CT is Senna tora, finest rank with score 0.67 = count 2 / highest count 3,
but if we prefer more than 2/3 as the rule, CT would be Genus Senna, finest rank with score 1 = count 3 / highest count 3.
Example 7 (with different ranks):
add an ID Senna tora,
add an ID Senna tora,
add an ID Genus Chamaecrista, count 2 for Senna tora and Genus Senna, count 1 for Genus Chamaecrista, count 3 for Subtribe Cassiinae and all its ancestors, so CT is Senna tora, finest rank with score 0.67 = count 2 / highest count 3,
but if we prefer more than 2/3 as the rule, CT would be Subtribe Cassiinae, finest rank with score 1 = count 3 / highest count 3.
Example 8 (with more agreeing IDs):
add an ID Senna tora,
add an ID Senna tora,
add an ID Senna tora,
add an ID Genus Chamaecrista (Maverick), count 3 for Senna tora and Genus Senna, count 1 for Genus Chamaecrista, count 4 for Subtribe Cassiinae and all its ancestors, so CT is Senna tora, finest rank with score 0.75 = count 3 / highest count 4.
Itâs possible to tune the algorithm by changing the score threshold that determines the CT. I suggested at least 2/3 (by inattention, and I regret this unnecessary change) instead of more than 2/3 as it is in the present iNat algorithm. I am OK with the common ancestor being the CT of 2 + 1 IDs, no need to change that.
My intention is to change the behavior in case of explicit disagreement, in order to make the observation easier to find and to reduce the identifiers workload before the CT reaches the rank species.
We should keep in mind that there is an Observation Taxon and a Community Taxon.
Identifier in search for observations to ID:
When I search for Fabaceae observations with the URL https://www.inaturalist.org/observations?taxon_id=47122 I target the Observation Taxon (not the Community Taxon) (see here). So, my true target (attempting to help identifiers find observations) is the Observation Taxon. But iNatâs detailed explanations in the popup âWhatâs this?â are about the Community Taxon, so I talked about the Community Taxon in my proposal.
Identification work completed (provided the ID is correct):
When an observation becomes RG, are the Observation Taxon and the Community Taxon the same?
Iâve changed my mind. I now think youâre right. It would be best for the person making an ancestor identification to choose which taxon to disagree with. Meanwhile, existing ancestor disagreements should count as only disagreeing with the taxon of the identification. This means disagreeing with a particular passerine species, IDing as Aves, should bump the observation to genus-level, not order, as I proposed, or class as it does currently.
https://www.inaturalist.org/observations/179754599
If the algorithm I suggested in this feature request was implemented, it wouldnât affect this observation (I mean that it would be the same as currently). However, if I had a choice of which taxon to disagree with, I would choose to only disagree with the species.
However, my requested feature uses observation count, not species count.
I think I understand. My views have been colored by seeing too many obvious flowering plants knocked back to âPlants,â as if the reviewer doesnât know whether those might be conifer flowers, fern flowers, or moss flowers.
The IDer may not be aware that their disagreement counts against not just the taxon of the ID they are disagreeing with, but also against all ancestor taxa. If that is the case, there is no obvious advantage to choosing âdicotsâ rather than âplantsâ.
Or they may not be familiar enough with taxonomy to consider that it is relevant to distinguish between conifers, ferns, and flowering plants, or know what taxon they should choose if they wish to do so. It is possible to be familiar with nature and know common local species well enough to know that it is not that species without necessarily thinking about this knowledge in terms of taxonomic hierarchies. When I was new to iNat I probably disagreed at least a few times to a higher level than necessary for wildly mis-IDâd photos of dry seed stands and similar because I was still figuring out what categories to apply.